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