Alex Monk has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/133896

Change subject: Use OOUI confirmation dialog rather than native confirm() for 
switching to source editing
......................................................................

Use OOUI confirmation dialog rather than native confirm() for switching to 
source editing

Per TTO on bug 51655, the implementation of confirm() in most browsers is 
crappy and we
shouldn't use it.

Change-Id: I755085a253c05958e4b50af57b19dab90f2f0fb6
---
M VisualEditor.php
M modules/ve-mw/i18n/en.json
M modules/ve-mw/i18n/qqq.json
M modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.js
4 files changed, 24 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/96/133896/1

diff --git a/VisualEditor.php b/VisualEditor.php
index 1b6f897..704fc28 100644
--- a/VisualEditor.php
+++ b/VisualEditor.php
@@ -672,6 +672,8 @@
                        'visualeditor-help-title',
                        'visualeditor-mweditmodesource-title',
                        'visualeditor-mweditmodesource-warning',
+                       'visualeditor-mweditmodesource-warning-switch',
+                       'visualeditor-mweditmodesource-warning-cancel',
                        'visualeditor-pagemenu-tooltip',
                        'visualeditor-pagetranslationwarning',
                        'visualeditor-savedialog-error-badtoken',
diff --git a/modules/ve-mw/i18n/en.json b/modules/ve-mw/i18n/en.json
index 8ff9629..3e78137 100644
--- a/modules/ve-mw/i18n/en.json
+++ b/modules/ve-mw/i18n/en.json
@@ -180,6 +180,8 @@
     "visualeditor-mwalienextensioninspector-title": "MediaWiki extension",
     "visualeditor-mweditmodesource-title": "Switch to source editing",
     "visualeditor-mweditmodesource-warning": "You are about to switch to 
source editing.\nAny changes you've made to this document will be kept, but you 
will not be able switch back to VisualEditor without saving or reloading the 
page.\nDo you want to continue?",
+    "visualeditor-mweditmodesource-warning-switch": "Yes, switch",
+    "visualeditor-mweditmodesource-warning-cancel": "No, cancel",
     "visualeditor-mwgalleryinspector-placeholder": "Example.jpg|Caption for 
image",
     "visualeditor-mwgalleryinspector-title": "Gallery",
     "visualeditor-mwhieroinspector-title": "Hieroglyphics",
diff --git a/modules/ve-mw/i18n/qqq.json b/modules/ve-mw/i18n/qqq.json
index c3db72f..05e0a5e 100644
--- a/modules/ve-mw/i18n/qqq.json
+++ b/modules/ve-mw/i18n/qqq.json
@@ -185,6 +185,8 @@
        "visualeditor-mwalienextensioninspector-title": "Used as title for 
unknown MediaWiki extensions.\n{{Identical|MediaWiki extension}}",
        "visualeditor-mweditmodesource-title": "Label for changing edit mode to 
source editing.",
        "visualeditor-mweditmodesource-warning": "Warning message show before 
changing edit mode to source editing.",
+       "visualeditor-mweditmodesource-switch": "Label for the OK button on the 
confirmation dialog for switching to source editing.",
+       "visualeditor-mweditmodesource-cancel": "Label for the cancel button on 
the confirmation dialog for switching to source editing.",
        "visualeditor-mwgalleryinspector-placeholder": "Placeholder text for 
the gallery inspector demonstrating how gallery syntax works.",
        "visualeditor-mwgalleryinspector-title": "Used as title for the gallery 
inspector.\n{{Identical|Gallery}}",
        "visualeditor-mwhieroinspector-title": "Used as title for the 
hieroglyphics inspector.",
diff --git a/modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.js 
b/modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.js
index 9b2f02e..4a418e8 100644
--- a/modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.js
+++ b/modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.js
@@ -890,19 +890,27 @@
  * @method
  */
 ve.init.mw.ViewPageTarget.prototype.editSource = function () {
-       var doc = this.surface.getModel().getDocument();
+       var confirmDialog = this.surface.dialogs.getWindow( 'confirm' );
 
        this.$document.css( 'opacity', 0.5 );
 
-       if ( !confirm( ve.msg( 'visualeditor-mweditmodesource-warning' ) ) ) {
-               this.$document.css( 'opacity', 1 );
-               return;
-       }
-       // Get Wikitext from the DOM
-       this.serialize(
-               this.docToSave || ve.dm.converter.getDomFromModel( doc ),
-               ve.bind( this.submitWithSaveFields, this, { 'wpDiff': 1, 
'veswitched': 1 } )
-       );
+       confirmDialog.open( {
+               'prompt': ve.msg( 'visualeditor-mweditmodesource-warning' ),
+               'okLabel': ve.msg( 
'visualeditor-mweditmodesource-warning-switch' ),
+               'cancelLabel': ve.msg( 
'visualeditor-mweditmodesource-warning-cancel' )
+       } );
+       confirmDialog.connect( this, {
+               'ok': function () {
+                       // Get Wikitext from the DOM
+                       this.serialize(
+                               this.docToSave || 
ve.dm.converter.getDomFromModel( this.surface.getModel().getDocument() ),
+                               ve.bind( this.submitWithSaveFields, this, { 
'wpDiff': 1, 'veswitched': 1 } )
+                       );
+               },
+               'cancel': function () {
+                       this.$document.css( 'opacity', 1 );
+               }
+       } );
 };
 
 /**

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I755085a253c05958e4b50af57b19dab90f2f0fb6
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Alex Monk <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to