Esanders has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/224402

Change subject: Remove listeners from deprecated search widget 'select' events
......................................................................

Remove listeners from deprecated search widget 'select' events

Attach listeners to search *result* widget 'choose' events instead.

Also
* Pass reference model as 'data' to MWReferenceResultWidget, instead
  of index so we don't have to do a lookup later.
* Remove unused 'divider' styling code.

Change-Id: I8a9b7ddaa70e29406726ac8463582a8bcf813128
---
M modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js
M modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js
M modules/ve-mw/ui/styles/widgets/ve.ui.MWReferenceResultWidget.css
M modules/ve-mw/ui/widgets/ve.ui.MWReferenceResultWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWReferenceSearchWidget.js
5 files changed, 24 insertions(+), 66 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/02/224402/1

diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js 
b/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js
index cd50a11..98c09b2 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js
@@ -703,7 +703,7 @@
 };
 
 /**
- * Handle search choose event.
+ * Handle search results choose event.
  *
  * @param {ve.ui.MWMediaResultWidget} item Chosen item
  */
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js 
b/modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js
index 2929bf2..1173ffb 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js
@@ -99,7 +99,7 @@
 ];
 
 /**
- * Get the import rules for the surface widget in the dialog
+ * Get the import rules for the surface widget in the dialog.
  *
  * @see ve.dm.ElementLinearData#sanitize
  * @return {Object} Import rules
@@ -133,6 +133,7 @@
 
 /**
  * Determine whether the reference document we're editing has any content.
+ *
  * @return {boolean} Document has content
  */
 ve.ui.MWReferenceDialog.prototype.documentHasContent = function () {
@@ -141,7 +142,8 @@
 };
 
 /*
- * Determine whether any changes have been made (and haven't been undone)
+ * Determine whether any changes have been made (and haven't been undone).
+ *
  * @return {boolean} Dialog can be applied
  */
 ve.ui.MWReferenceDialog.prototype.canApply = function () {
@@ -164,7 +166,7 @@
 };
 
 /**
- * Handle reference group input change events
+ * Handle reference group input change events.
  */
 ve.ui.MWReferenceDialog.prototype.onReferenceGroupInputChange = function () {
        this.actions.setAbilities( {
@@ -173,19 +175,19 @@
 };
 
 /**
- * Handle search select events.
+ * Handle search results choose events.
  *
- * @param {ve.dm.MWReferenceModel|null} ref Reference model or null if no item 
is selected
+ * @param {ve.dm.MWReferenceResultWidget} item Chosen item
  */
-ve.ui.MWReferenceDialog.prototype.onSearchSelect = function ( ref ) {
-       if ( ref instanceof ve.dm.MWReferenceModel ) {
-               if ( this.selectedNode instanceof ve.dm.MWReferenceNode ) {
-                       this.getFragment().removeContent();
-                       this.selectedNode = null;
-               }
-               this.useReference( ref );
-               this.executeAction( 'insert' );
+ve.ui.MWReferenceDialog.prototype.onSearchResultsChoose = function ( item ) {
+       var ref = item.getData();
+
+       if ( this.selectedNode instanceof ve.dm.MWReferenceNode ) {
+               this.getFragment().removeContent();
+               this.selectedNode = null;
        }
+       this.useReference( ref );
+       this.executeAction( 'insert' );
 };
 
 /**
@@ -312,7 +314,7 @@
        this.search = new ve.ui.MWReferenceSearchWidget();
 
        // Events
-       this.search.connect( this, { select: 'onSearchSelect' } );
+       this.search.getResults().connect( this, { choose: 
'onSearchResultsChoose' } );
 
        // Initialization
        this.panels.addItems( [ this.editPanel, this.searchPanel ] );
@@ -323,7 +325,7 @@
 };
 
 /**
- * Switches dialog to use existing reference mode
+ * Switches dialog to use existing reference mode.
  *
  * @param {string} [action='select'] Symbolic name of action, either 'select' 
or 'insert-select'
  */
diff --git a/modules/ve-mw/ui/styles/widgets/ve.ui.MWReferenceResultWidget.css 
b/modules/ve-mw/ui/styles/widgets/ve.ui.MWReferenceResultWidget.css
index 42a4a4b..e460da5 100644
--- a/modules/ve-mw/ui/styles/widgets/ve.ui.MWReferenceResultWidget.css
+++ b/modules/ve-mw/ui/styles/widgets/ve.ui.MWReferenceResultWidget.css
@@ -22,7 +22,3 @@
        bottom: 0;
        right: 0;
 }
-
-.ve-ui-mwReferenceResultWidget-divider {
-       font-weight: bold;
-}
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWReferenceResultWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWReferenceResultWidget.js
index 32b9910..ae4a58e 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWReferenceResultWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWReferenceResultWidget.js
@@ -13,27 +13,17 @@
  *
  * @constructor
  * @param {Object} [config] Configuration options
- * @cfg {boolean} [divider] Section divider item, not highlightable or 
selectable
  */
-ve.ui.MWReferenceResultWidget = function VeUiMWReferenceResultWidget( config ) 
{
-       // Configuration initialization
-       config = config || {};
-
+ve.ui.MWReferenceResultWidget = function VeUiMWReferenceResultWidget() {
        // Parent constructor
-       OO.ui.OptionWidget.call( this, config );
-
-       // Properties
-       this.$shield = $( '<div>' );
+       ve.ui.MWReferenceResultWidget.super.apply( this, arguments );
 
        // Initialization
-       this.$shield.addClass( 've-ui-mwReferenceResultWidget-shield' );
        this.$element
                .addClass( 've-ui-mwReferenceResultWidget' )
-               .append( this.$shield );
-       if ( config.divider ) {
-               this.$element.addClass( 've-ui-mwReferenceResultWidget-divider' 
);
-               this.setDisabled( true );
-       }
+               .append(
+                       $( '<div>' ).addClass( 
've-ui-mwReferenceResultWidget-shield' )
+               );
 };
 
 /* Inheritance */
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWReferenceSearchWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWReferenceSearchWidget.js
index 78a01ef..f70c396 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWReferenceSearchWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWReferenceSearchWidget.js
@@ -36,13 +36,6 @@
 
 OO.inheritClass( ve.ui.MWReferenceSearchWidget, OO.ui.SearchWidget );
 
-/* Events */
-
-/**
- * @event select
- * @param {ve.dm.MWReferenceModel|null} data Reference model, null if no item 
is selected
- */
-
 /* Methods */
 
 /**
@@ -57,29 +50,6 @@
 
        // Populate
        this.addResults();
-};
-
-/**
- * Handle select widget select events.
- *
- * @method
- * @param {OO.ui.OptionWidget} item Selected item
- * @fires select
- */
-ve.ui.MWReferenceSearchWidget.prototype.onResultsSelect = function ( item ) {
-       var data;
-
-       if ( item ) {
-               data = item.getData();
-               // Resolve indexed values
-               if ( this.index[data] ) {
-                       data = this.index[data].reference;
-               }
-       } else {
-               data = null;
-       }
-
-       this.emit( 'select', data );
 };
 
 /**
@@ -251,7 +221,7 @@
                                .text( item.name );
                        items.push(
                                new ve.ui.MWReferenceResultWidget( {
-                                       data: i,
+                                       data: item.reference,
                                        label: $citation.add( $name ).add( 
item.$element )
                                } )
                        );

-- 
To view, visit https://gerrit.wikimedia.org/r/224402
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8a9b7ddaa70e29406726ac8463582a8bcf813128
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to