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