]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - extensions/Cite/modules/ve-cite/ve.ui.MWUseExistingReferenceCommand.js
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / extensions / Cite / modules / ve-cite / ve.ui.MWUseExistingReferenceCommand.js
diff --git a/extensions/Cite/modules/ve-cite/ve.ui.MWUseExistingReferenceCommand.js b/extensions/Cite/modules/ve-cite/ve.ui.MWUseExistingReferenceCommand.js
new file mode 100644 (file)
index 0000000..65912bb
--- /dev/null
@@ -0,0 +1,53 @@
+/*!
+ * VisualEditor UserInterface MediaWiki UseExistingReferenceCommand class.
+ *
+ * @copyright 2011-2017 Cite VisualEditor Team and others; see AUTHORS.txt
+ * @license The MIT License (MIT); see LICENSE.txt
+ */
+
+/**
+ * Use existing reference command.
+ *
+ * @class
+ * @extends ve.ui.Command
+ *
+ * @constructor
+ */
+ve.ui.MWUseExistingReferenceCommand = function VeUiMWUseExistingReferenceCommand() {
+       // Parent constructor
+       ve.ui.MWUseExistingReferenceCommand.super.call(
+               this, 'reference/existing', 'window', 'open',
+               { args: [ 'reference', { useExisting: true } ], supportedSelections: [ 'linear' ] }
+       );
+};
+
+/* Inheritance */
+
+OO.inheritClass( ve.ui.MWUseExistingReferenceCommand, ve.ui.Command );
+
+/* Methods */
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWUseExistingReferenceCommand.prototype.isExecutable = function ( fragment ) {
+       var groupName, groups;
+
+       // Parent method
+       if ( !ve.ui.MWUseExistingReferenceCommand.super.prototype.isExecutable.apply( this, arguments ) ) {
+               return false;
+       }
+
+       groups = fragment.getDocument().getInternalList().getNodeGroups();
+
+       for ( groupName in groups ) {
+               if ( groupName.lastIndexOf( 'mwReference/' ) === 0 && groups[ groupName ].indexOrder.length ) {
+                       return true;
+               }
+       }
+       return false;
+};
+
+/* Registration */
+
+ve.ui.commandRegistry.register( new ve.ui.MWUseExistingReferenceCommand() );