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

Change subject: Block statement saving on invalid and empty reference
......................................................................


Block statement saving on invalid and empty reference

this also fixes Enable save button on reference change.

Bug: T117700
Bug: T117701
Change-Id: I064bb8650368242c61fe53d3be2a8b0fc89fc674
---
M view/resources/jquery/wikibase/jquery.wikibase.statementview.js
M view/tests/qunit/jquery/wikibase/jquery.wikibase.statementview.tests.js
2 files changed, 27 insertions(+), 0 deletions(-)

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



diff --git a/view/resources/jquery/wikibase/jquery.wikibase.statementview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.statementview.js
index 82b1e39..3cd8b6a 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.statementview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.statementview.js
@@ -319,6 +319,11 @@
                                self._trigger( 'afterremove' );
                        }
                } )
+               .on( lia.prefixedEvent( 'change.' + this.widgetName ),
+                       function( event ) {
+                               event.stopPropagation();
+                               self._trigger( 'change' );
+                       } )
                .on( 'listviewenternewitem', function( event, $newLi ) {
                        if ( event.target !== $listview[0] ) {
                                return;
@@ -787,6 +792,10 @@
                        return false;
                }
 
+               if ( this._referencesListview && this._hasInvalidReferences() ) 
{
+                       return false;
+               }
+
                if ( this._qualifiers ) {
                        snaklistviews = this._qualifiers.value();
 
@@ -803,6 +812,21 @@
        },
 
        /**
+        * @return {boolean}
+        */
+       _hasInvalidReferences: function() {
+               var isInvalid = false;
+               $.each( this._referencesListview.value(), function ( key, 
referenceView ) {
+                       if ( !referenceView.isValid() ) {
+                               isInvalid = true;
+                               return;
+                       }
+               } );
+
+               return isInvalid;
+       },
+
+       /**
         * @inheritdoc
         * @protected
         *
diff --git 
a/view/tests/qunit/jquery/wikibase/jquery.wikibase.statementview.tests.js 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.statementview.tests.js
index 9028ebe..d17676a 100644
--- a/view/tests/qunit/jquery/wikibase/jquery.wikibase.statementview.tests.js
+++ b/view/tests/qunit/jquery/wikibase/jquery.wikibase.statementview.tests.js
@@ -34,6 +34,9 @@
                                        this.value = function() {
                                                return this.options.value;
                                        };
+                                       this.isValid = function() {
+                                               return true;
+                                       };
                                }
                        );
                },

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I064bb8650368242c61fe53d3be2a8b0fc89fc674
Gerrit-PatchSet: 7
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Jonas Kress (WMDE) <[email protected]>
Gerrit-Reviewer: Adrian Lang <[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