Daniel Werner has submitted this change and it was merged.

Change subject: Introduced setError in claimview and referenceview widget
......................................................................


Introduced setError in claimview and referenceview widget

"setError" handles setting or removing error state making it possible to set an 
error
from outside of the widget (e.g. by a widget managing claimview/referenceview 
widgets).

Change-Id: Ic120845b8d567f45fc676729c146a30dc3c5292d
---
M lib/resources/jquery.wikibase/jquery.wikibase.claimlistview.js
M lib/resources/jquery.wikibase/jquery.wikibase.claimview.js
M lib/resources/jquery.wikibase/jquery.wikibase.referenceview.js
M lib/resources/jquery.wikibase/jquery.wikibase.statementview.js
M lib/resources/jquery.wikibase/toolbar/edittoolbar.js
5 files changed, 28 insertions(+), 20 deletions(-)

Approvals:
  Tobias Gritschacher: Verified
  Daniel Werner: Verified; Looks good to me, approved
  jenkins-bot: Checked



diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.claimlistview.js 
b/lib/resources/jquery.wikibase/jquery.wikibase.claimlistview.js
index a0c6583..341b909 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.claimlistview.js
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.claimlistview.js
@@ -414,9 +414,7 @@
                        var error = wb.RepoApiError.newFromApiResponse( 
errorCode, details, 'remove' );
 
                        claimview.enable();
-                       claimview.element.addClass( 'wb-error' );
-
-                       claimview._trigger( 'toggleError', null, [ error ] );
+                       claimview.setError( error );
                } );
        },
 
diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.claimview.js 
b/lib/resources/jquery.wikibase/jquery.wikibase.claimview.js
index 66940c2..b5acad9 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.claimview.js
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.claimview.js
@@ -308,11 +308,10 @@
                                                );
 
                                        self.enable();
-                                       self.element.addClass( 'wb-error' );
 
                                        self._attachEditModeEventHandlers();
 
-                                       self._trigger( 'toggleError', null, [ 
error ] );
+                                       self.setError( error );
                                } );
                        }
                }
@@ -423,12 +422,19 @@
        },
 
        /**
-        * Removes any error state from the widget.
+        * Sets/removes error state from the widget.
         * @since 0.4
+        *
+        * @param {wb.RepoApiError} [error]
         */
-       removeErrorState: function() {
-               this.element.removeClass( 'wb-error' );
-               this._trigger( 'toggleerror' );
+       setError: function( error ) {
+               if ( error ) {
+                       this.element.addClass( 'wb-error' );
+                       this._trigger( 'toggleerror', null, [ error ] );
+               } else {
+                       this.element.removeClass( 'wb-error' );
+                       this._trigger( 'toggleerror' );
+               }
        },
 
        /**
diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.referenceview.js 
b/lib/resources/jquery.wikibase/jquery.wikibase.referenceview.js
index fdea62d..beccfff 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.referenceview.js
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.referenceview.js
@@ -94,11 +94,10 @@
                                                );
 
                                        self.enable();
-                                       self.element.addClass( 'wb-error' );
 
                                        self._attachEditModeEventHandlers();
 
-                                       self._trigger( 'toggleError', null, [ 
error ] );
+                                       self.setError( error );
                                } );
                        }
                } );
@@ -188,12 +187,19 @@
        },
 
        /**
-        * Removes any error state from the widget.
+        * Sets/removes error state from the widget.
         * @since 0.4
+        *
+        * @param {wb.RepoApiError} [error]
         */
-       removeErrorState: function() {
-               this.element.removeClass( 'wb-error' );
-               this._trigger( 'toggleerror' );
+       setError: function( error ) {
+               if ( error ) {
+                       this.element.addClass( 'wb-error' );
+                       this._trigger( 'toggleerror', null, [ error ] );
+               } else {
+                       this.element.removeClass( 'wb-error' );
+                       this._trigger( 'toggleerror' );
+               }
        }
 
 } );
diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js 
b/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js
index 6e009bd..d652248 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js
@@ -219,9 +219,7 @@
                                var error = wb.RepoApiError.newFromApiResponse( 
errorCode, details, 'remove' );
 
                                referenceview.enable();
-                               referenceview.element.addClass( 'wb-error' );
-
-                               referenceview._trigger( 'toggleError', null, [ 
error ] );
+                               referenceview.setError( error );
                        } );
        },
 
diff --git a/lib/resources/jquery.wikibase/toolbar/edittoolbar.js 
b/lib/resources/jquery.wikibase/toolbar/edittoolbar.js
index 920f722..2da6ab0 100644
--- a/lib/resources/jquery.wikibase/toolbar/edittoolbar.js
+++ b/lib/resources/jquery.wikibase/toolbar/edittoolbar.js
@@ -60,7 +60,7 @@
                        'startEditing',
                        'stopEditing',
                        'isValid',
-                       'removeErrorState'
+                       'setError'
                ],
 
                /**
@@ -321,7 +321,7 @@
 
                        anchor.getTooltip().on( 'hide', function( e ) {
                                self.element.removeClass( 'wb-error' 
).addClass( 'wb-edit' );
-                               self._interactionWidget.removeErrorState();
+                               self._interactionWidget.setError();
                        } );
 
                        anchor.getTooltip().on( 'afterhide', function( e ) {

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ic120845b8d567f45fc676729c146a30dc3c5292d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Henning Snater <henning.sna...@wikimedia.de>
Gerrit-Reviewer: Daniel Werner <daniel.wer...@wikimedia.de>
Gerrit-Reviewer: Tobias Gritschacher <tobias.gritschac...@wikimedia.de>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to