mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-09-27 04:06:51 +00:00
b4de3ead08
Throwing strings is bad because it doesn't include a lot of important information that an error object does, such as a stack trace or where the error was actually thrown from. ve.Error inherits directly from Error. In the future we may create more specific subclasses and/or do custom stuff. Some interesting reading on the subject: * http://www.devthought.com/2011/12/22/a-string-is-not-an-error/ Change-Id: Ib7c568a1dcb98abac44c6c146e84dde5315b2826
36 lines
809 B
JavaScript
36 lines
809 B
JavaScript
/**
|
|
* VisualEditor user interface Tool class.
|
|
*
|
|
* @copyright 2011-2012 VisualEditor Team and others; see AUTHORS.txt
|
|
* @license The MIT License (MIT); see LICENSE.txt
|
|
*/
|
|
|
|
/**
|
|
* Creates an ve.ui.Tool object.
|
|
*
|
|
* @class
|
|
* @constructor
|
|
* @param {ve.ui.Toolbar} toolbar
|
|
* @param {String} name
|
|
*/
|
|
ve.ui.Tool = function ( toolbar, name, title ) {
|
|
this.toolbar = toolbar;
|
|
this.name = name;
|
|
this.title = title;
|
|
this.$ = $( '<div class="es-tool"></div>' ).attr( 'title', this.title );
|
|
};
|
|
|
|
/* Static Members */
|
|
|
|
ve.ui.Tool.tools = {};
|
|
|
|
/* Methods */
|
|
|
|
ve.ui.Tool.prototype.updateState = function () {
|
|
throw new ve.Error( 'Tool.updateState not implemented in this subclass:' + this.constructor );
|
|
};
|
|
|
|
ve.ui.Tool.prototype.clearState = function () {
|
|
this.$.removeClass( 'es-toolbarButtonTool-down' );
|
|
};
|