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

Change subject: Added $.wikibase.sitelinkview.isEmpty()
......................................................................


Added $.wikibase.sitelinkview.isEmpty()

Change-Id: I5eb7e1a884bc87fa0a43fa842065700d8195a80a
---
M lib/resources/jquery.wikibase/jquery.wikibase.sitelinkview.js
M lib/tests/qunit/jquery.wikibase/jquery.wikibase.sitelinkview.tests.js
2 files changed, 66 insertions(+), 0 deletions(-)

Approvals:
  Thiemo Mättig (WMDE): Looks good to me, approved
  jenkins-bot: Verified



diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkview.js 
b/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkview.js
index 12a5959..438ddfa 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkview.js
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkview.js
@@ -271,6 +271,19 @@
        /**
         * @return {boolean}
         */
+       isEmpty: function() {
+               if( !this._isInEditMode ) {
+                       return !this.options.value;
+               }
+
+               return !this.options.value
+                       && $.trim( this.$link.find( 'input' ).val() ) === ''
+                       && $.trim( this.$siteId.find( 'input' ).val() ) === '';
+       },
+
+       /**
+        * @return {boolean}
+        */
        isValid: function() {
                return !!this.value();
        },
diff --git 
a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.sitelinkview.tests.js 
b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.sitelinkview.tests.js
index 1ccd4ee..a1af7cc 100644
--- a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.sitelinkview.tests.js
+++ b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.sitelinkview.tests.js
@@ -214,6 +214,59 @@
                );
        } );
 
+       QUnit.test( 'isEmpty()', function( assert ) {
+               var siteLink = new wikibase.datamodel.SiteLink( 'enwiki', 'Main 
Page' ),
+                       $sitelinkview = createSitelinkview(),
+                       sitelinkview = $sitelinkview.data( 'sitelinkview' );
+
+               assert.ok(
+                       sitelinkview.isEmpty(),
+                       'isEmpty() returns TRUE when no site link is set and 
the widget is not in edit mode.'
+               );
+
+               sitelinkview.startEditing();
+
+               assert.ok(
+                       sitelinkview.isEmpty(),
+                       'Verified isEmpty() returning TRUE when no site link is 
set, the widget is in edit '
+                       + 'and input elements are empty.'
+               );
+
+               $sitelinkview.find( ':wikibase-siteselector' ).val( 'site' );
+
+               assert.ok(
+                       !sitelinkview.isEmpty(),
+                       'Widget is not empty when the site selector is filled 
with input.'
+               );
+
+               $sitelinkview.find( ':wikibase-siteselector' ).val( '' );
+               $sitelinkview.find( ':wikibase-pagesuggester' ).val( 'page' );
+
+               assert.ok(
+                       !sitelinkview.isEmpty(),
+                       'Widget is not empty when the page suggester is filled 
with input.'
+               );
+
+               $sitelinkview = createSitelinkview( {
+                       value: siteLink
+               } );
+               sitelinkview = $sitelinkview.data( 'sitelinkview' );
+
+               assert.ok(
+                       !sitelinkview.isEmpty(),
+                       'isEmpty() returns FALSE when a site link is set 
initially.'
+               );
+
+               sitelinkview.startEditing();
+               $sitelinkview.find( ':wikibase-pagesuggester' ).val( '' );
+
+               assert.ok(
+                       !sitelinkview.isEmpty(),
+                       'isEmpty() returns FALSE when a site link is set 
initially although the page suggester '
+                       + ' input is cleared in edit mode.'
+               );
+       } );
+
        QUnit.test( 'isValid()', function( assert ) {
                var $sitelinkview = createSitelinkview(),
                        sitelinkview = $sitelinkview.data( 'sitelinkview' );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I5eb7e1a884bc87fa0a43fa842065700d8195a80a
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Henning Snater <[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

Reply via email to