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 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits