Robmoen has uploaded a new change for review. https://gerrit.wikimedia.org/r/99773
Change subject: Added handling for captcha support on saveError ...................................................................... Added handling for captcha support on saveError Copied _showCaptcha method and template bit from editorNew/EditorOverlay this functionality would be best if abstracted for both editing overlays to use. Appreciate any feedback on how this would be best accomplished. Change-Id: I3a09351b4f7c96e39b48a4ffdb4309b9bf494d2d --- M javascripts/modules/editor/VisualEditorOverlay.js M templates/modules/editor/VisualEditorOverlay.html 2 files changed, 35 insertions(+), 4 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend refs/changes/73/99773/1 diff --git a/javascripts/modules/editor/VisualEditorOverlay.js b/javascripts/modules/editor/VisualEditorOverlay.js index ccd8f66..8f255d8 100644 --- a/javascripts/modules/editor/VisualEditorOverlay.js +++ b/javascripts/modules/editor/VisualEditorOverlay.js @@ -13,7 +13,9 @@ saveMsg: mw.msg( 'mobile-frontend-editor-save' ), keepEditingMsg: mw.msg( 'mobile-frontend-editor-keep-editing' ), summaryMsg: mw.msg( 'mobile-frontend-editor-summary-placeholder' ), - licenseMsg: mw.msg( 'mobile-frontend-editor-license' ) + licenseMsg: mw.msg( 'mobile-frontend-editor-license' ), + captchaMsg: mw.msg( 'mobile-frontend-account-create-captcha-placeholder' ), + captchaTryAgainMsg: mw.msg( 'mobile-frontend-editor-captcha-try-again' ) }, initialize: function( options ) { var self = this; @@ -34,7 +36,7 @@ saveErrorAbuseFilter: 'onSaveError', saveErrorBlocked: 'onSaveError', saveErrorNewUser: 'onSaveError', - saveErrorCaptcha: 'onSaveError', + saveErrorCaptcha: 'onSaveErrorCaptcha', saveErrorUnknown: 'onSaveError', surfaceReady: 'onSurfaceReady', loadError: 'onLoadError', @@ -67,13 +69,17 @@ } ); }, save: function() { - var summary = this.$( '.save-panel input' ).val(); + var summary = this.$( '.save-panel input' ).val(), + options = { summary: summary }; this.$spinner.show(); // Stop the confirmation message from being thrown when you hit save. this.canHide = true; this.$( '.surface, .summary-area' ).hide(); - this.target.save( this.docToSave, { 'summary': summary } ); + // Intentional Lcase ve save api properties + options.captchaid = this.captchaId; + options.captchaword = this.$( '.captcha-word' ).val(); + this.target.save( this.docToSave, options ); }, showSpinner: function () { this.$spinner.show(); @@ -116,6 +122,9 @@ onSaveError: function () { this.reportError( mw.msg( 'mobile-frontend-editor-error' ) ); }, + onSaveErrorCaptcha: function ( editApi ) { + this._showCaptcha( editApi.captcha.url ); + }, // FIXME: Code duplication with EditorOverlay.js, Needs abstraction hide: function() { var confirmMessage = mw.msg( 'mobile-frontend-editor-cancel-confirm' ); @@ -130,6 +139,22 @@ // and we want display: table for headers this.$( '.hideable' ).addClass( 'hidden' ); this.$( className ).removeClass( 'hidden' ); + }, + _showCaptcha: function( url ) { + var self = this, $input = this.$( '.captcha-word' ); + + if ( this.captchaShown ) { + $input.val( '' ); + $input.attr( 'placeholder', this.options.captchaTryAgainMsg ); + setTimeout( function() { + $input.attr( 'placeholder', self.options.captchaMsg ); + }, 2000 ); + } + + this.$( '.captcha-panel img' ).attr( 'src', url ); + this._showHidden( '.save-header, .captcha-panel' ); + + this.captchaShown = true; } } ); diff --git a/templates/modules/editor/VisualEditorOverlay.html b/templates/modules/editor/VisualEditorOverlay.html index 0d495b0..7176aa7 100644 --- a/templates/modules/editor/VisualEditorOverlay.html +++ b/templates/modules/editor/VisualEditorOverlay.html @@ -35,5 +35,11 @@ <input class="summary" placeholder="{{summaryMsg}}" /> <p class="license">{{{licenseMsg}}}</p> </div> +<div class="captcha-panel panel hideable hidden"> + <div class="inputs-box"> + <img src=""> + <input class="captcha-word" placeholder="{{captchaMsg}}" /> + </div> +</div> <div class="spinner loading"></div> <div class="surface"></div> -- To view, visit https://gerrit.wikimedia.org/r/99773 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I3a09351b4f7c96e39b48a4ffdb4309b9bf494d2d Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/MobileFrontend Gerrit-Branch: master Gerrit-Owner: Robmoen <rm...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits