diff options
Diffstat (limited to 'vendor/oojs/oojs-ui/src/elements/TitledElement.js')
-rw-r--r-- | vendor/oojs/oojs-ui/src/elements/TitledElement.js | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/vendor/oojs/oojs-ui/src/elements/TitledElement.js b/vendor/oojs/oojs-ui/src/elements/TitledElement.js deleted file mode 100644 index 905ec019..00000000 --- a/vendor/oojs/oojs-ui/src/elements/TitledElement.js +++ /dev/null @@ -1,106 +0,0 @@ -/** - * TitledElement is mixed into other classes to provide a `title` attribute. - * Titles are rendered by the browser and are made visible when the user moves - * the mouse over the element. Titles are not visible on touch devices. - * - * @example - * // TitledElement provides a 'title' attribute to the - * // ButtonWidget class - * var button = new OO.ui.ButtonWidget( { - * label: 'Button with Title', - * title: 'I am a button' - * } ); - * $( 'body' ).append( button.$element ); - * - * @abstract - * @class - * - * @constructor - * @param {Object} [config] Configuration options - * @cfg {jQuery} [$titled] The element to which the `title` attribute is applied. - * If this config is omitted, the title functionality is applied to $element, the - * element created by the class. - * @cfg {string|Function} [title] The title text or a function that returns text. If - * this config is omitted, the value of the {@link #static-title static title} property is used. - */ -OO.ui.TitledElement = function OoUiTitledElement( config ) { - // Configuration initialization - config = config || {}; - - // Properties - this.$titled = null; - this.title = null; - - // Initialization - this.setTitle( config.title || this.constructor.static.title ); - this.setTitledElement( config.$titled || this.$element ); -}; - -/* Setup */ - -OO.initClass( OO.ui.TitledElement ); - -/* Static Properties */ - -/** - * The title text, a function that returns text, or `null` for no title. The value of the static property - * is overridden if the #title config option is used. - * - * @static - * @inheritable - * @property {string|Function|null} - */ -OO.ui.TitledElement.static.title = null; - -/* Methods */ - -/** - * Set the titled element. - * - * This method is used to retarget a titledElement mixin so that its functionality applies to the specified element. - * If an element is already set, the mixin’s effect on that element is removed before the new element is set up. - * - * @param {jQuery} $titled Element that should use the 'titled' functionality - */ -OO.ui.TitledElement.prototype.setTitledElement = function ( $titled ) { - if ( this.$titled ) { - this.$titled.removeAttr( 'title' ); - } - - this.$titled = $titled; - if ( this.title ) { - this.$titled.attr( 'title', this.title ); - } -}; - -/** - * Set title. - * - * @param {string|Function|null} title Title text, a function that returns text, or `null` for no title - * @chainable - */ -OO.ui.TitledElement.prototype.setTitle = function ( title ) { - title = typeof title === 'string' ? OO.ui.resolveMsg( title ) : null; - - if ( this.title !== title ) { - if ( this.$titled ) { - if ( title !== null ) { - this.$titled.attr( 'title', title ); - } else { - this.$titled.removeAttr( 'title' ); - } - } - this.title = title; - } - - return this; -}; - -/** - * Get title. - * - * @return {string} Title string - */ -OO.ui.TitledElement.prototype.getTitle = function () { - return this.title; -}; |