[MediaWiki-commits] [Gerrit] Clean up entityview - change (mediawiki...Wikibase)

2015-10-02 Thread jenkins-bot (Code Review)
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 = $( '' ).prependTo( this.$main 
);
+   if ( !$entityTerms.length ) {
+   $entityTerms = $( '' ).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 

[MediaWiki-commits] [Gerrit] Clean up entityview - change (mediawiki...Wikibase)

2015-10-01 Thread Adrian Lang (Code Review)
Adrian Lang has uploaded a new change for review.

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

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(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/22/242822/1

diff --git a/view/resources/jquery/wikibase/jquery.wikibase.entityview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.entityview.js
index 7c95018..cda68ee 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 = $( '' ).prependTo( this.$main 
);
+   if( !$entityTerms.length ) {
+   $entityTerms = $( '' ).prependTo( this.$main );
}
 
-   this.options.entityTermsViewBuilder( 
this.options.value.getFingerprint(), this.$entityTerms );
+   this._entityTerms = this.options.entityTermsViewBuilder(
+   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