mediawiki-extensions-Visual.../modules/ve-mw/ui/tools/ve.ui.MWDialogTool.js
Trevor Parscal 6774cd74f3 Detangle triggers from OOUI
Changes:

* Pass toolGroup into tools instead of toolbar
* Split tool labels into title and accel
* Make toolbars provide accelerator labels
* Remove getLabelText method since it's not being used and is likely not useful
* Make tools update their own labels
* Only show accelerator information for triggers that are active in the surface
* Make surface toolbars listen to commands being added and update tools accordingly
* Introduce command object to encapsulate command info

Change-Id: Ieac4bfa63b63ac0a9dee154af3007a33b4d447ff
2013-10-29 05:50:30 +00:00

117 lines
4.5 KiB
JavaScript

/*!
* VisualEditor MediaWiki UserInterface dialog tool classes.
*
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
/**
* MediaWiki UserInterface media edit tool.
*
* @class
* @extends ve.ui.DialogTool
* @constructor
* @param {OO.ui.ToolGroup} toolGroup
* @param {Object} [config] Configuration options
*/
ve.ui.MWMediaEditDialogTool = function VeUiMWMediaEditDialogTool( toolGroup, config ) {
ve.ui.DialogTool.call( this, toolGroup, config );
};
OO.inheritClass( ve.ui.MWMediaEditDialogTool, ve.ui.DialogTool );
ve.ui.MWMediaEditDialogTool.static.name = 'mediaEdit';
ve.ui.MWMediaEditDialogTool.static.group = 'object';
ve.ui.MWMediaEditDialogTool.static.icon = 'picture';
ve.ui.MWMediaEditDialogTool.static.titleMessage = 'visualeditor-dialogbutton-media-tooltip';
ve.ui.MWMediaEditDialogTool.static.dialog = 'mediaEdit';
ve.ui.MWMediaEditDialogTool.static.modelClasses = [ ve.dm.MWBlockImageNode ];
ve.ui.MWMediaEditDialogTool.static.autoAdd = false;
ve.ui.toolFactory.register( ve.ui.MWMediaEditDialogTool );
/**
* MediaWiki UserInterface media insert tool.
*
* @class
* @extends ve.ui.DialogTool
*
* @constructor
* @param {OO.ui.ToolGroup} toolGroup
* @param {Object} [config] Configuration options
*/
ve.ui.MWMediaInsertDialogTool = function VeUiMWMediaInsertDialogTool( toolGroup, config ) {
ve.ui.DialogTool.call( this, toolGroup, config );
};
OO.inheritClass( ve.ui.MWMediaInsertDialogTool, ve.ui.DialogTool );
ve.ui.MWMediaInsertDialogTool.static.name = 'mediaInsert';
ve.ui.MWMediaInsertDialogTool.static.group = 'object';
ve.ui.MWMediaInsertDialogTool.static.icon = 'picture';
ve.ui.MWMediaInsertDialogTool.static.titleMessage = 'visualeditor-dialogbutton-media-tooltip';
ve.ui.MWMediaInsertDialogTool.static.dialog = 'mediaInsert';
ve.ui.toolFactory.register( ve.ui.MWMediaInsertDialogTool );
/**
* MediaWiki UserInterface reference tool.
*
* @class
* @extends ve.ui.DialogTool
*
* @constructor
* @param {OO.ui.ToolGroup} toolGroup
* @param {Object} [config] Configuration options
*/
ve.ui.MWReferenceDialogTool = function VeUiMWReferenceDialogTool( toolGroup, config ) {
ve.ui.DialogTool.call( this, toolGroup, config );
};
OO.inheritClass( ve.ui.MWReferenceDialogTool, ve.ui.DialogTool );
ve.ui.MWReferenceDialogTool.static.name = 'reference';
ve.ui.MWReferenceDialogTool.static.group = 'object';
ve.ui.MWReferenceDialogTool.static.icon = 'reference';
ve.ui.MWReferenceDialogTool.static.titleMessage = 'visualeditor-dialogbutton-reference-tooltip';
ve.ui.MWReferenceDialogTool.static.dialog = 'reference';
ve.ui.MWReferenceDialogTool.static.modelClasses = [ ve.dm.MWReferenceNode ];
ve.ui.toolFactory.register( ve.ui.MWReferenceDialogTool );
/**
* MediaWiki UserInterface reference list tool.
*
* @class
* @extends ve.ui.DialogTool
* @constructor
* @param {OO.ui.ToolGroup} toolGroup
* @param {Object} [config] Configuration options
*/
ve.ui.MWReferenceListDialogTool = function VeUiMWReferenceListDialogTool( toolGroup, config ) {
ve.ui.DialogTool.call( this, toolGroup, config );
};
OO.inheritClass( ve.ui.MWReferenceListDialogTool, ve.ui.DialogTool );
ve.ui.MWReferenceListDialogTool.static.name = 'referenceList';
ve.ui.MWReferenceListDialogTool.static.group = 'object';
ve.ui.MWReferenceListDialogTool.static.icon = 'references';
ve.ui.MWReferenceListDialogTool.static.titleMessage =
'visualeditor-dialogbutton-referencelist-tooltip';
ve.ui.MWReferenceListDialogTool.static.dialog = 'referenceList';
ve.ui.MWReferenceListDialogTool.static.modelClasses = [ ve.dm.MWReferenceListNode ];
ve.ui.toolFactory.register( ve.ui.MWReferenceListDialogTool );
/**
* MediaWiki UserInterface transclusion tool.
*
* @class
* @extends ve.ui.DialogTool
* @constructor
* @param {OO.ui.ToolGroup} toolGroup
* @param {Object} [config] Configuration options
*/
ve.ui.MWTransclusionDialogTool = function VeUiMWTransclusionDialogTool( toolGroup, config ) {
ve.ui.DialogTool.call( this, toolGroup, config );
};
OO.inheritClass( ve.ui.MWTransclusionDialogTool, ve.ui.DialogTool );
ve.ui.MWTransclusionDialogTool.static.name = 'transclusion';
ve.ui.MWTransclusionDialogTool.static.group = 'object';
ve.ui.MWTransclusionDialogTool.static.icon = 'template';
ve.ui.MWTransclusionDialogTool.static.titleMessage =
'visualeditor-dialogbutton-transclusion-tooltip';
ve.ui.MWTransclusionDialogTool.static.dialog = 'transclusion';
ve.ui.MWTransclusionDialogTool.static.modelClasses = [ ve.dm.MWTransclusionNode ];
ve.ui.toolFactory.register( ve.ui.MWTransclusionDialogTool );