diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2015-12-20 09:00:55 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2015-12-20 09:00:55 +0100 |
commit | a2190ac74dd4d7080b12bab90e552d7aa81209ef (patch) | |
tree | 8b31f38de9882d18df54cf8d9e0de74167a094eb /vendor/oojs/oojs-ui/src/widgets/ActionWidget.js | |
parent | 15e69f7b20b6596b9148030acce5b59993b95a45 (diff) | |
parent | 257401d8b2cf661adf36c84b0e3fd1cf85e33c22 (diff) |
Merge branch 'mw-1.26'
Diffstat (limited to 'vendor/oojs/oojs-ui/src/widgets/ActionWidget.js')
-rw-r--r-- | vendor/oojs/oojs-ui/src/widgets/ActionWidget.js | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/vendor/oojs/oojs-ui/src/widgets/ActionWidget.js b/vendor/oojs/oojs-ui/src/widgets/ActionWidget.js deleted file mode 100644 index 789f04f1..00000000 --- a/vendor/oojs/oojs-ui/src/widgets/ActionWidget.js +++ /dev/null @@ -1,170 +0,0 @@ -/** - * An ActionWidget is a {@link OO.ui.ButtonWidget button widget} that executes an action. - * Action widgets are used with OO.ui.ActionSet, which manages the behavior and availability - * of the actions. - * - * Both actions and action sets are primarily used with {@link OO.ui.Dialog Dialogs}. - * Please see the [OOjs UI documentation on MediaWiki] [1] for more information - * and examples. - * - * [1]: https://www.mediawiki.org/wiki/OOjs_UI/Windows/Process_Dialogs#Action_sets - * - * @class - * @extends OO.ui.ButtonWidget - * @mixins OO.ui.PendingElement - * - * @constructor - * @param {Object} [config] Configuration options - * @cfg {string} [action] Symbolic name of the action (e.g., ‘continue’ or ‘cancel’). - * @cfg {string[]} [modes] Symbolic names of the modes (e.g., ‘edit’ or ‘read’) in which the action - * should be made available. See the action set's {@link OO.ui.ActionSet#setMode setMode} method - * for more information about setting modes. - * @cfg {boolean} [framed=false] Render the action button with a frame - */ -OO.ui.ActionWidget = function OoUiActionWidget( config ) { - // Configuration initialization - config = $.extend( { framed: false }, config ); - - // Parent constructor - OO.ui.ActionWidget.super.call( this, config ); - - // Mixin constructors - OO.ui.PendingElement.call( this, config ); - - // Properties - this.action = config.action || ''; - this.modes = config.modes || []; - this.width = 0; - this.height = 0; - - // Initialization - this.$element.addClass( 'oo-ui-actionWidget' ); -}; - -/* Setup */ - -OO.inheritClass( OO.ui.ActionWidget, OO.ui.ButtonWidget ); -OO.mixinClass( OO.ui.ActionWidget, OO.ui.PendingElement ); - -/* Events */ - -/** - * A resize event is emitted when the size of the widget changes. - * - * @event resize - */ - -/* Methods */ - -/** - * Check if the action is configured to be available in the specified `mode`. - * - * @param {string} mode Name of mode - * @return {boolean} The action is configured with the mode - */ -OO.ui.ActionWidget.prototype.hasMode = function ( mode ) { - return this.modes.indexOf( mode ) !== -1; -}; - -/** - * Get the symbolic name of the action (e.g., ‘continue’ or ‘cancel’). - * - * @return {string} - */ -OO.ui.ActionWidget.prototype.getAction = function () { - return this.action; -}; - -/** - * Get the symbolic name of the mode or modes for which the action is configured to be available. - * - * The current mode is set with the action set's {@link OO.ui.ActionSet#setMode setMode} method. - * Only actions that are configured to be avaiable in the current mode will be visible. All other actions - * are hidden. - * - * @return {string[]} - */ -OO.ui.ActionWidget.prototype.getModes = function () { - return this.modes.slice(); -}; - -/** - * Emit a resize event if the size has changed. - * - * @private - * @chainable - */ -OO.ui.ActionWidget.prototype.propagateResize = function () { - var width, height; - - if ( this.isElementAttached() ) { - width = this.$element.width(); - height = this.$element.height(); - - if ( width !== this.width || height !== this.height ) { - this.width = width; - this.height = height; - this.emit( 'resize' ); - } - } - - return this; -}; - -/** - * @inheritdoc - */ -OO.ui.ActionWidget.prototype.setIcon = function () { - // Mixin method - OO.ui.IconElement.prototype.setIcon.apply( this, arguments ); - this.propagateResize(); - - return this; -}; - -/** - * @inheritdoc - */ -OO.ui.ActionWidget.prototype.setLabel = function () { - // Mixin method - OO.ui.LabelElement.prototype.setLabel.apply( this, arguments ); - this.propagateResize(); - - return this; -}; - -/** - * @inheritdoc - */ -OO.ui.ActionWidget.prototype.setFlags = function () { - // Mixin method - OO.ui.FlaggedElement.prototype.setFlags.apply( this, arguments ); - this.propagateResize(); - - return this; -}; - -/** - * @inheritdoc - */ -OO.ui.ActionWidget.prototype.clearFlags = function () { - // Mixin method - OO.ui.FlaggedElement.prototype.clearFlags.apply( this, arguments ); - this.propagateResize(); - - return this; -}; - -/** - * Toggle the visibility of the action button. - * - * @param {boolean} [show] Show button, omit to toggle visibility - * @chainable - */ -OO.ui.ActionWidget.prototype.toggle = function () { - // Parent method - OO.ui.ActionWidget.super.prototype.toggle.apply( this, arguments ); - this.propagateResize(); - - return this; -}; |