jenkins-bot has submitted this change and it was merged.
Change subject: Clean up entityview
......................................................................
Clean up entityview
* Switch from holding a reference to the entity terms jQuery DOM element to
having a reference to the `entitytermsview` jQuery UI widget
* Move jQuery data initialization from _init to _create to closer mimick
jQuery UI's behaviour
* Remove handling of events which are already captured in
`entitytermsforlanguageview`
* Use jQuery UI's `_on` method for event binding, since it handles unbinding,
namespacing and fixating the event handler's `this` argument
Change-Id: Ic672a7267c6bb508e943d991cd296d73566868b0
---
M view/resources/jquery/wikibase/jquery.wikibase.entityview.js
1 file changed, 21 insertions(+), 32 deletions(-)
Approvals:
Jonas Kress (WMDE): Looks good to me, approved
jenkins-bot: Verified
diff --git a/view/resources/jquery/wikibase/jquery.wikibase.entityview.js
b/view/resources/jquery/wikibase/jquery.wikibase.entityview.js
index 8381190..9126b4e 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.entityview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.entityview.js
@@ -54,10 +54,10 @@
},
/**
- * @property {jQuery|null}
+ * @property {jQuery.wikibase.entitytermsview}
* @readonly
*/
- $entityTerms: null,
+ _entityTerms: null,
/**
* @inheritdoc
@@ -75,6 +75,8 @@
*/
_createEntityview: function() {
PARENT.prototype._create.call( this );
+
+ this.element.data( $.wikibase.entityview.prototype.widgetName,
this );
},
/**
@@ -88,8 +90,6 @@
throw new Error( 'Required option(s) missing' );
}
- this.element.data( $.wikibase.entityview.prototype.widgetName,
this );
-
this._initEntityTerms();
PARENT.prototype._init.call( this );
@@ -101,41 +101,32 @@
* @protected
*/
_initEntityTerms: function() {
- this.$entityTerms = $( '.wikibase-entitytermsview',
this.element );
+ var $entityTerms = $( '.wikibase-entitytermsview', this.element
);
- if ( !this.$entityTerms.length ) {
- this.$entityTerms = $( '<div/>' ).prependTo( this.$main
);
+ if ( !$entityTerms.length ) {
+ $entityTerms = $( '<div/>' ).prependTo( this.$main );
}
- this.options.buildEntityTermsView(
this.options.value.getFingerprint(), this.$entityTerms );
+ this._entityTerms = this.options.buildEntityTermsView(
+ this.options.value.getFingerprint(),
+ $entityTerms
+ );
},
/**
* @protected
*/
_attachEventHandlers: function() {
- var self = this;
+ this._on( {
+ entitytermsviewafterstartediting: function( event ) {
+ event.stopPropagation();
+ this._trigger( 'afterstartediting' );
+ },
- this.element
- .on( [
- 'labelviewafterstartediting.' + this.widgetName,
- 'descriptionviewafterstartediting.' + this.widgetName,
- 'aliasesviewafterstartediting.' + this.widgetName,
- 'entitytermsviewafterstartediting.' + this.widgetName
- ].join( ' ' ),
- function( event ) {
- self._trigger( 'afterstartediting' );
- } );
-
- this.element
- .on( [
- 'labelviewafterstopediting.' + this.widgetName,
- 'descriptionviewafterstopediting.' + this.widgetName,
- 'aliasesviewafterstopediting.' + this.widgetName,
- 'entitytermsviewafterstopediting.' + this.widgetName
- ].join( ' ' ),
- function( event, dropValue ) {
- self._trigger( 'afterstopediting', null, [dropValue] );
+ entitytermsviewafterstopediting: function( event,
dropValue ) {
+ event.stopPropagation();
+ this._trigger( 'afterstopediting', null,
[dropValue] );
+ }
} );
},
@@ -160,9 +151,7 @@
* @param {string} state "disable" or "enable"
*/
_setState: function( state ) {
- if ( this.$entityTerms ) {
- this.$entityTerms.data( 'entitytermsview' )[state]();
- }
+ this._entityTerms[state]();
}
} );
--
To view, visit https://gerrit.wikimedia.org/r/242822
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ic672a7267c6bb508e943d991cd296d73566868b0
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Adrian Lang <[email protected]>
Gerrit-Reviewer: Jonas Kress (WMDE) <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits