Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | 1x 371x 371x 371x 371x 23989x 23989x 11074x 13660x 11074x 1x 1x 1x 18x 1x | /*!
* VisualEditor UserInterface TriggerListener class.
*
* @copyright See AUTHORS.txt
*/
/**
* Trigger listener
*
* @class
*
* @constructor
* @param {string[]} commands Commands to listen to triggers for
* @param {ve.ui.CommandRegistry} commandRegistry Command registry to get commands from
*/
ve.TriggerListener = function VeTriggerListener( commands, commandRegistry ) {
// Properties
this.commands = commands;
this.commandsByTrigger = {};
this.triggers = {};
this.commands.forEach( ( command ) => {
const triggers = ve.ui.triggerRegistry.lookup( command );
if ( triggers ) {
triggers.forEach( ( trigger ) => {
this.commandsByTrigger[ trigger.toString() ] = commandRegistry.lookup( command );
} );
this.triggers[ command ] = triggers;
}
} );
};
/* Inheritance */
OO.initClass( ve.TriggerListener );
/* Methods */
/**
* Get list of commands.
*
* @return {string[]} Commands
*/
ve.TriggerListener.prototype.getCommands = function () {
return this.commands;
};
/**
* Get command associated with trigger string.
*
* @param {string} trigger
* @return {ve.ui.Command|undefined}
*/
ve.TriggerListener.prototype.getCommandByTrigger = function ( trigger ) {
return this.commandsByTrigger[ trigger ];
};
/**
* Get triggers for a specified name.
*
* @param {string} name Trigger name
* @return {ve.ui.Trigger[]|undefined}
*/
ve.TriggerListener.prototype.getTriggers = function ( name ) {
return this.triggers[ name ];
};
|