mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-12-01 17:36:35 +00:00
bc3cc9bbdc
Now Ctrl+\ (Cmd+\ on Mac) will trigger the 'clear annotations' button on the current context. Ideally we'd also bond to the 'clear' keyboard button (ASCII 12) but it does not seem possible to do that yet. Bug: 51507 Change-Id: I300ec1ffa237e51418ec429be39001f820f053ae
69 lines
1.7 KiB
JavaScript
69 lines
1.7 KiB
JavaScript
/*!
|
|
* VisualEditor UserInterface ClearButtonTool class.
|
|
*
|
|
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
|
|
* @license The MIT License (MIT); see LICENSE.txt
|
|
*/
|
|
|
|
/**
|
|
* UserInterface clear button tool.
|
|
*
|
|
* @class
|
|
* @extends ve.ui.ButtonTool
|
|
* @constructor
|
|
* @param {ve.ui.Toolbar} toolbar
|
|
* @param {Object} [config] Config options
|
|
*/
|
|
ve.ui.ClearButtonTool = function VeUiClearButtonTool( toolbar, config ) {
|
|
// Parent constructor
|
|
ve.ui.ButtonTool.call( this, toolbar, config );
|
|
|
|
// Initialization
|
|
this.setDisabled( true );
|
|
};
|
|
|
|
/* Inheritance */
|
|
|
|
ve.inheritClass( ve.ui.ClearButtonTool, ve.ui.ButtonTool );
|
|
|
|
/* Static Properties */
|
|
|
|
ve.ui.ClearButtonTool.static.name = 'clear';
|
|
|
|
ve.ui.ClearButtonTool.static.icon = 'clear';
|
|
|
|
ve.ui.ClearButtonTool.static.titleMessage = 'visualeditor-clearbutton-tooltip';
|
|
|
|
/* Methods */
|
|
|
|
/**
|
|
* Handle the button being clicked.
|
|
*
|
|
* @method
|
|
*/
|
|
ve.ui.ClearButtonTool.prototype.onClick = function () {
|
|
this.toolbar.getSurface().execute( 'annotation', 'clearAll' );
|
|
};
|
|
|
|
/**
|
|
* Handle the toolbar state being updated.
|
|
*
|
|
* @method
|
|
* @param {ve.dm.Node[]} nodes List of nodes covered by the current selection
|
|
* @param {ve.dm.AnnotationSet} full Annotations that cover all of the current selection
|
|
* @param {ve.dm.AnnotationSet} partial Annotations that cover some or all of the current selection
|
|
*/
|
|
ve.ui.ClearButtonTool.prototype.onUpdateState = function ( nodes, full, partial ) {
|
|
this.setDisabled( partial.isEmpty() );
|
|
};
|
|
|
|
/* Registration */
|
|
|
|
ve.ui.toolFactory.register( 'clear', ve.ui.ClearButtonTool );
|
|
|
|
ve.ui.commandRegistry.register( 'clear', 'annotation', 'clearAll' );
|
|
|
|
ve.ui.triggerRegistry.register(
|
|
'clear', { 'mac': new ve.ui.Trigger( 'cmd+\\' ), 'pc': new ve.ui.Trigger( 'ctrl+\\' ) }
|
|
);
|