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