Mattflaschen has uploaded a new change for review.

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


Change subject: Add support for VisualEditor.
......................................................................

Add support for VisualEditor.

* Listeners for key VisualEditor events for shouldSkip and repositioning.
* Modify helper methods to take into account VisualEditor.
* This is not a hard dependency so everything still supports wikitext.

Change-Id: I0069fb8077cb784776768083c9a6879403f14295
---
M .jshintrc
M modules/ext.guidedTour.lib.js
M modules/externals/mediawiki.libs.guiders/mediawiki.libs.guiders.submodule
3 files changed, 39 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/GuidedTour 
refs/changes/77/72677/1

diff --git a/.jshintrc b/.jshintrc
index e278a9c..22d417e 100755
--- a/.jshintrc
+++ b/.jshintrc
@@ -2,7 +2,8 @@
        "predef": [
                "mediaWiki",
                "jQuery",
-               "QUnit"
+               "QUnit",
+               "ve"
        ],
 
        "bitwise": true,
diff --git a/modules/ext.guidedTour.lib.js b/modules/ext.guidedTour.lib.js
index 0e75847..b82d941 100644
--- a/modules/ext.guidedTour.lib.js
+++ b/modules/ext.guidedTour.lib.js
@@ -753,9 +753,36 @@
         * @return {void}
         */
        function setupRepositionListeners() {
-               $( '#wpTextbox1' ).on( 
'wikiEditor-toolbar-doneInitialSections', function () {
+               function reposition() {
                        guiders.reposition();
-               } );
+               }
+
+               $( '#wpTextbox1' ).on( 
'wikiEditor-toolbar-doneInitialSections', reposition );
+               mw.hook( 've.skinTabSetupComplete' ).add( reposition );
+       }
+
+       /**
+        * Listen for events, and trigger a shouldSkip check based on them.
+        *
+        * @private
+        */
+       function setupShouldSkipListeners() {
+               var mwHooks, i;
+
+               function skip() {
+                       setTimeout( function () {
+                               guiders.skipIfNeeded();
+                       }, 0 );
+               }
+
+               mwHooks = [
+                       've.activationComplete',
+                       've.deactivationComplete',
+                       've.saveDialog.stateChanged'
+               ];
+               for ( i = 0; i < mwHooks.length; i++ ) {
+                       mw.hook( mwHooks[i] ).add( skip );
+               }
        }
 
        /**
@@ -792,6 +819,7 @@
 
                $( document ).ready( function () {
                        setupRepositionListeners();
+                       setupShouldSkipListeners();
                        setupGuiderListeners();
                } );
        }
@@ -1137,7 +1165,12 @@
                 * @return {boolean} true if and only if they are on the edit 
action
                 */
                isEditing: function () {
-                       return mw.config.get( 'wgAction' ) === 'edit';
+                       var isEditingWikitext, isEditingWithVisualEditor;
+
+                       isEditingWikitext = mw.config.get( 'wgAction' ) === 
'edit';
+                       isEditingWithVisualEditor = $( 
'.ve-ce-documentNode[contenteditable="true"]' ).length > 0;
+
+                       return isEditingWikitext || isEditingWithVisualEditor;
                },
 
                /**
@@ -1146,9 +1179,8 @@
                 * @return {boolean} true if and only if they are reviewing
                 */
                isReviewing: function () {
-                       return mw.config.get( 'wgAction' ) === 'submit';
+                       return mw.config.get( 'wgAction' ) === 'submit' || $( 
'.ve-init-mw-viewPageTarget-saveDialog-slide-review' ).is( ':visible' );
                },
-
 
                /**
                 * Checks whether they just saved an edit.
diff --git 
a/modules/externals/mediawiki.libs.guiders/mediawiki.libs.guiders.submodule 
b/modules/externals/mediawiki.libs.guiders/mediawiki.libs.guiders.submodule
index 28da685..e3da168 160000
--- a/modules/externals/mediawiki.libs.guiders/mediawiki.libs.guiders.submodule
+++ b/modules/externals/mediawiki.libs.guiders/mediawiki.libs.guiders.submodule
-Subproject commit 28da6850b23ea1a306d6df08b33fdd2a1c0fbfad
+Subproject commit e3da168e82158b4119939ecb70528c9644fd62b7

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0069fb8077cb784776768083c9a6879403f14295
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/GuidedTour
Gerrit-Branch: master
Gerrit-Owner: Mattflaschen <[email protected]>

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

Reply via email to