Pastakhov has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/344912 )
Change subject: Fix CodeMirror state when initializing
......................................................................
Fix CodeMirror state when initializing
Before CodeMirror was enabled every time (ignoring user settings)
since switchCodeMirror was called in initialisation and some others bugs...
Change-Id: I418c64000e05dbfac62f5bb2327cfe7ed74efb17
---
M resources/ext.CodeMirror.js
1 file changed, 25 insertions(+), 9 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CodeMirror
refs/changes/12/344912/1
diff --git a/resources/ext.CodeMirror.js b/resources/ext.CodeMirror.js
index 7c56ac6..6c9dafd 100644
--- a/resources/ext.CodeMirror.js
+++ b/resources/ext.CodeMirror.js
@@ -264,7 +264,7 @@
}
);
// eslint-disable-next-line no-use-before-define
- switchCodeMirror( $( '#wpTextbox1' ).data(
'wikiEditor-context' ) );
+ updateToolbarIcon( $( '#wpTextbox1' ).data(
'wikiEditor-context' ) );
}
}
@@ -294,6 +294,8 @@
* @param {boolean} prefValue True, if CodeMirror should be enabled by
default, otherwise false.
*/
function setCodeEditorPreference( prefValue ) {
+ useCodeMirror = prefValue; // Save state for function
updateToolbarIcon()
+
if ( mw.user.isAnon() ) { // Skip it for anon users
return;
}
@@ -307,30 +309,44 @@
* @param {Object} [wikiEditor] WikiEditor, if present
*/
function switchCodeMirror( wikiEditor ) {
- var label;
-
if ( codeMirror ) {
setCodeEditorPreference( false );
codeMirror.save();
codeMirror.toTextArea();
codeMirror = null;
$.fn.textSelection = origTextSelection;
- label = mw.msg( 'codemirror-enable-label' );
+
} else {
// eslint-disable-next-line no-use-before-define
enableCodeMirror( !!wikiEditor );
- label = mw.msg( 'codemirror-disable-label' );
setCodeEditorPreference( true );
}
+ updateToolbarIcon( wikiEditor );
+ }
+
+ /**
+ * Updates CodeMirror button on the toolbar according to the current
state (on/off)
+ *
+ * @param {Object} [wikiEditor] WikiEditor, if present
+ */
+ function updateToolbarIcon( wikiEditor ) {
+ var label;
+
+ if( useCodeMirror ) {
+ label = mw.msg( 'codemirror-enable-label' );
+ } else {
+ label = mw.msg( 'codemirror-disable-label' );
+ }
+
if ( wikiEditor ) {
wikiEditor.modules.toolbar.$toolbar.find(
'a.tool[rel=CodeMirror]' )
- .toggleClass( 'tool-codemirror-on',
!!codeMirror )
- .toggleClass( 'tool-codemirror-off',
!codeMirror )
+ .toggleClass( 'tool-codemirror-on',
!!useCodeMirror )
+ .toggleClass( 'tool-codemirror-off',
!useCodeMirror )
.attr( 'title', label );
} else {
$( '#mw-editbutton-codemirror' )
- .toggleClass( 'mw-editbutton-codemirror-on',
!!codeMirror )
- .toggleClass( 'mw-editbutton-codemirror-off',
!codeMirror )
+ .toggleClass( 'mw-editbutton-codemirror-on',
!!useCodeMirror )
+ .toggleClass( 'mw-editbutton-codemirror-off',
!useCodeMirror )
.attr( 'title', label );
}
}
--
To view, visit https://gerrit.wikimedia.org/r/344912
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I418c64000e05dbfac62f5bb2327cfe7ed74efb17
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CodeMirror
Gerrit-Branch: master
Gerrit-Owner: Pastakhov <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits