Adrian Lang has uploaded a new change for review. https://gerrit.wikimedia.org/r/123176
Change subject: Store shortcut to references listview in statementview ...................................................................... Store shortcut to references listview in statementview Change-Id: I62b6d9149e9f2ed61eceed820c90a52c6d1249f3 --- M lib/resources/jquery.wikibase/jquery.wikibase.statementview.js 1 file changed, 19 insertions(+), 18 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/76/123176/1 diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js b/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js index b9ce7d4..9b98287 100644 --- a/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js +++ b/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js @@ -54,6 +54,12 @@ _referenceviewLia: null, /** + * Shortcut to the listview holding the reference views. + * @type {jquery.wikibase.listview} + */ + _referencesListview: null, + + /** * @see jQuery.claimview._create */ _create: function() { @@ -95,7 +101,9 @@ value: refs } ); - this._referenceviewLia = $listview.data( 'listview' ).listItemAdapter(); + this._referencesListview = $listview.data( 'listview' ); + + this._referenceviewLia = this._referencesListview.listItemAdapter(); $listview .on( 'listviewitemadded listviewitemremoved', function( event, value, $li ) { @@ -107,13 +115,11 @@ .on( 'referenceviewafterstopediting', function( event, dropValue ) { if( dropValue ) { // Re-order claims according to their initial indices: - var $referenceListview = self.$references.children( ':wikibase-listview' ), - referenceListview = $referenceListview.data( 'listview' ), - $referenceviews = referenceListview.items(); + var $referenceviews = self._referencesListview.items(); for( var i = 0; i < $referenceviews.length; i++ ) { var referenceview = self._referenceviewLia.liInstance( $referenceviews.eq( i ) ); - referenceListview.move( $referenceviews.eq( i ), referenceview.getInitialIndex() ); + self._referencesListview.move( $referenceviews.eq( i ), referenceview.getInitialIndex() ); } } } ) @@ -146,7 +152,7 @@ } ); // Collapse references if there is at least one. - if ( $listview.data( 'listview' ).items().length > 0 ) { + if ( self._referencesListview.items().length > 0 ) { this.$references.css( 'display', 'none' ); } @@ -271,8 +277,7 @@ * @param {wb.Reference} reference */ _addReference: function( reference ) { - var lv = this.$references.children( ':wikibase-listview' ).data( 'listview' ); - lv.addItem( reference ); + this._referencesListview.addItem( reference ); }, /** @@ -282,16 +287,15 @@ */ getReferences: function() { var self = this, - listview = this.$references.children( ':wikibase-listview' ).data( 'listview' ), references = []; // If the statement is pending (not yet stored), the listview widget for the references is // not defined. - if ( !listview ) { + if ( !this._referencesListview ) { return references; } - $.each( listview.items(), function( i, item ) { + $.each( this._referencesListview.items(), function( i, item ) { var referenceview = self._referenceviewLia.liInstance( $( item ) ); references.push( referenceview.value() ); } ); @@ -304,8 +308,7 @@ * @since 0.5 */ _updateReferenceIndices: function() { - var $referenceListview = this.$references.children( ':wikibase-listview' ), - $referenceviews = $referenceListview.data( 'listview' ).items(); + var $referenceviews = this._referencesListview.items(); for( var i = 0; i < $referenceviews.length; i++ ) { var referenceview = this._referenceviewLia.liInstance( $referenceviews.eq( i ) ); @@ -326,8 +329,7 @@ this._removeReferenceApiCall( referenceview.value() ) .done( function( pageInfo ) { - var listview = self.$references.children( ':wikibase-listview' ).data( 'listview' ); - listview.removeItem( referenceview.element ); + self._referencesListview.removeItem( referenceview.element ); self._trigger( 'afterremove' ); } ).fail( function( errorCode, details ) { var error = wb.RepoApiError.newFromApiResponse( errorCode, details, 'remove' ); @@ -396,9 +398,8 @@ * @since 0.4 */ drawReferencesCounter: function() { - var listView = this.$references.children( ':wikibase-listview' ).data( 'listview' ), - numberOfValues = listView.nonEmptyItems().length, - numberOfPendingValues = listView.items().length - numberOfValues; + var numberOfValues = this._referencesListview.nonEmptyItems().length, + numberOfPendingValues = this._referencesListview.items().length - numberOfValues; // build a nice counter, displaying fixed and pending values: var $counterMsg = wb.utilities.ui.buildPendingCounter( -- To view, visit https://gerrit.wikimedia.org/r/123176 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I62b6d9149e9f2ed61eceed820c90a52c6d1249f3 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Adrian Lang <adrian.l...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits