jenkins-bot has submitted this change and it was merged.

Change subject: Simplify sitelinklistview.isInitialValue
......................................................................


Simplify sitelinklistview.isInitialValue

Bug: T124786
Change-Id: I3041e29d0adcc57b531025f473115a6fa8a8950b
---
M view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js
M view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgroupview.tests.js
M view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinklistview.tests.js
3 files changed, 19 insertions(+), 41 deletions(-)

Approvals:
  Adrian Heine: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js
index 4e1713f..e4870a1 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js
@@ -322,12 +322,14 @@
 
        /**
         * @see jQuery.ui.EditableTemplatedWidget.isEmpty
+        * @return {boolean}
         */
        isEmpty: function() {
                return !this.$listview.data( 'listview' ).items().length;
        },
 
        /**
+        * @see jQuery.ui.EditableTemplatedWidget.isValid
         * @return {boolean}
         */
        isValid: function() {
@@ -355,33 +357,21 @@
 
        /**
         * @see jQuery.ui.EditableTemplatedWidget.isInitialValue
+        * @return {boolean}
         */
        isInitialValue: function() {
-               var currentValue = this.value();
+               var listview = this.$listview.data( 'listview' ),
+                       lia = listview.listItemAdapter(),
+                       isInitialValue = true;
 
-               if ( currentValue.length !== this.options.value.length ) {
-                       return false;
-               }
+               // Ignore empty values.
+               listview.nonEmptyItems().each( function() {
+                       var sitelinkview = lia.liInstance( $( this ) );
+                       isInitialValue = sitelinkview.isInitialValue();
+                       return isInitialValue;
+               } );
 
-               // TODO: Use SiteLinkList.equals() as soon as implemented in 
DataModelJavaScript
-               for ( var i = 0; i < currentValue.length; i++ ) {
-                       if ( currentValue[i] === null ) {
-                               // Ignore empty values.
-                               continue;
-                       }
-                       var found = false;
-                       for ( var j = 0; j < this.options.value.length; j++ ) {
-                               if ( currentValue[i].equals( 
this.options.value[j] ) ) {
-                                       found = true;
-                                       break;
-                               }
-                       }
-                       if ( !found ) {
-                               return false;
-                       }
-               }
-
-               return true;
+               return isInitialValue;
        },
 
        /**
diff --git 
a/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgroupview.tests.js 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgroupview.tests.js
index 25db33c..66a0432 100644
--- 
a/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgroupview.tests.js
+++ 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgroupview.tests.js
@@ -107,7 +107,7 @@
        );
 } );
 
-QUnit.test( 'startEditing() & stopEditing()', 4, function( assert ) {
+QUnit.test( 'startEditing() & stopEditing()', 3, function( assert ) {
        var $sitelinkgroupview = createSitelinkgroupview( {
                        value: {
                                group: 'group1',
@@ -203,18 +203,6 @@
 
        addToQueue( $queue, function() {
                sitelinkgroupview.startEditing();
-       } );
-
-       addToQueue( $queue, function() {
-               // Mock adding a new item:
-               var sitelinklistview = 
sitelinkgroupview.$sitelinklistview.data( 'sitelinklistview' ),
-                       listview = sitelinklistview.$listview.data( 'listview' 
),
-                       lia = listview.listItemAdapter(),
-                       $sitelinkview = listview.addItem(
-                               new wb.datamodel.SiteLink( 'aawiki', 
'aawiki-page' )
-                       );
-               lia.liInstance( $sitelinkview ).startEditing();
-               sitelinkgroupview.stopEditing();
        } );
 
        $queue.dequeue( 'tests' );
diff --git 
a/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinklistview.tests.js 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinklistview.tests.js
index e092cc4..823e204 100644
--- a/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinklistview.tests.js
+++ b/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinklistview.tests.js
@@ -183,19 +183,19 @@
        var $sitelinklistview = createSitelinklistview( {
                        value: [new wb.datamodel.SiteLink( 'enwiki', 
'enwiki-page' )]
                } ),
-               sitelinklistview = $sitelinklistview.data( 'sitelinklistview' );
+               sitelinklistview = $sitelinklistview.data( 'sitelinklistview' ),
+               listview = sitelinklistview.$listview.data( 'listview' );
 
        assert.ok(
                sitelinklistview.isInitialValue(),
                'Verified isInitialValue() returning TRUE.'
        );
 
-       var listview = sitelinklistview.$listview.data( 'listview' ),
-               $sitelinkview = listview.addItem( new wb.datamodel.SiteLink( 
'aawiki', 'aawiki-page' ) );
+       var $sitelinkview = listview.addItem( new wb.datamodel.SiteLink( 
'aawiki', 'aawiki-page' ) );
 
        assert.ok(
-               !sitelinklistview.isInitialValue(),
-               'FALSE after adding another value.'
+               sitelinklistview.isInitialValue(),
+               'Verified isInitialValue() still returning false after adding 
another unchanged value'
        );
 
        listview.removeItem( $sitelinkview );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I3041e29d0adcc57b531025f473115a6fa8a8950b
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: Adrian Heine <[email protected]>
Gerrit-Reviewer: JanZerebecki <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to