mediawiki-extensions-Cite/modules/ve-cite/ve.ui.MWReferenceDialogTool.js

119 lines
4.3 KiB
JavaScript
Raw Normal View History

'use strict';
/*!
* VisualEditor MediaWiki Reference dialog tool classes.
*
* @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
* @license MIT
*/
/**
* MediaWiki UserInterface reference tool.
*
* @class
* @extends ve.ui.FragmentWindowTool
* @constructor
* @param {OO.ui.ToolGroup} toolGroup
* @param {Object} [config] Configuration options
*/
ve.ui.MWReferenceDialogTool = function VeUiMWReferenceDialogTool() {
ve.ui.MWReferenceDialogTool.super.apply( this, arguments );
};
OO.inheritClass( ve.ui.MWReferenceDialogTool, ve.ui.FragmentWindowTool );
ve.ui.MWReferenceDialogTool.static.name = 'reference';
ve.ui.MWReferenceDialogTool.static.group = 'object';
ve.ui.MWReferenceDialogTool.static.icon = 'reference';
if ( mw.config.get( 'wgCiteVisualEditorOtherGroup' ) ) {
ve.ui.MWReferenceDialogTool.static.title = OO.ui.deferMsg(
'cite-ve-othergroup-item',
OO.ui.msg( 'cite-ve-dialogbutton-reference-tooltip' )
);
} else {
ve.ui.MWReferenceDialogTool.static.title = OO.ui.deferMsg(
'cite-ve-dialogbutton-reference-tooltip'
);
}
ve.ui.MWReferenceDialogTool.static.modelClasses = [ ve.dm.MWReferenceNode ];
ve.ui.MWReferenceDialogTool.static.commandName = 'reference';
ve.ui.MWReferenceDialogTool.static.autoAddToCatchall = false;
ve.ui.toolFactory.register( ve.ui.MWReferenceDialogTool );
/**
* MediaWiki UserInterface use existing reference tool.
*
* @class
* @extends ve.ui.WindowTool
* @constructor
* @param {OO.ui.ToolGroup} toolGroup
* @param {Object} [config] Configuration options
*/
ve.ui.MWUseExistingReferenceDialogTool = function VeUiMWUseExistingReferenceDialogTool() {
ve.ui.MWUseExistingReferenceDialogTool.super.apply( this, arguments );
};
OO.inheritClass( ve.ui.MWUseExistingReferenceDialogTool, ve.ui.WindowTool );
ve.ui.MWUseExistingReferenceDialogTool.static.name = 'reference/existing';
ve.ui.MWUseExistingReferenceDialogTool.static.group = 'object';
ve.ui.MWUseExistingReferenceDialogTool.static.icon = 'referenceExisting';
if ( mw.config.get( 'wgCiteVisualEditorOtherGroup' ) ) {
ve.ui.MWUseExistingReferenceDialogTool.static.title = OO.ui.deferMsg(
'cite-ve-othergroup-item',
OO.ui.msg( 'cite-ve-dialog-reference-useexisting-tool' )
);
} else {
ve.ui.MWUseExistingReferenceDialogTool.static.title = OO.ui.deferMsg(
'cite-ve-dialog-reference-useexisting-tool'
);
}
ve.ui.MWUseExistingReferenceDialogTool.static.commandName = 'reference/existing';
ve.ui.MWUseExistingReferenceDialogTool.static.autoAddToGroup = false;
ve.ui.MWUseExistingReferenceDialogTool.static.autoAddToCatchall = false;
ve.ui.toolFactory.register( ve.ui.MWUseExistingReferenceDialogTool );
ve.ui.commandRegistry.register(
new ve.ui.Command(
'reference', 'window', 'open',
{ args: [ 'reference' ], supportedSelections: [ 'linear' ] }
)
);
/* If Citoid is installed these will be overridden */
ve.ui.sequenceRegistry.register(
new ve.ui.Sequence( 'wikitextRef', 'reference', '<ref', 4 )
);
ve.ui.triggerRegistry.register(
'reference', { mac: new ve.ui.Trigger( 'cmd+shift+k' ), pc: new ve.ui.Trigger( 'ctrl+shift+k' ) }
);
ve.ui.commandHelpRegistry.register( 'insert', 'ref', {
trigger: 'reference',
sequences: [ 'wikitextRef' ],
label: OO.ui.deferMsg( 'cite-ve-dialog-reference-title' )
} );
ve.ui.mwWikitextTransferRegistry.register( 'reference', /<ref[^>]*>/ );
ve.ui.HelpCompletionAction.static.toolGroups.cite = { mergeWith: 'insert' };
/**
* MediaWiki UserInterface references list tool.
*
* @class
* @extends ve.ui.FragmentWindowTool
* @constructor
* @param {OO.ui.ToolGroup} toolGroup
* @param {Object} [config] Configuration options
*/
ve.ui.MWReferencesListDialogTool = function VeUiMWReferencesListDialogTool() {
ve.ui.MWReferencesListDialogTool.super.apply( this, arguments );
};
OO.inheritClass( ve.ui.MWReferencesListDialogTool, ve.ui.FragmentWindowTool );
ve.ui.MWReferencesListDialogTool.static.name = 'referencesList';
ve.ui.MWReferencesListDialogTool.static.group = 'object';
ve.ui.MWReferencesListDialogTool.static.icon = 'references';
ve.ui.MWReferencesListDialogTool.static.title =
OO.ui.deferMsg( 'cite-ve-dialogbutton-referenceslist-tooltip' );
ve.ui.MWReferencesListDialogTool.static.modelClasses = [ ve.dm.MWReferencesListNode ];
ve.ui.MWReferencesListDialogTool.static.commandName = 'referencesList';
ve.ui.toolFactory.register( ve.ui.MWReferencesListDialogTool );