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