mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/CodeMirror
synced 2024-12-12 06:15:27 +00:00
ve.ui.CodeMirror.v6: Use plugin callback to load the actual module
TODO: Change the PluginModules in extension.json when fully migrated to v6 and drop this hack. Bug: T374072 Change-Id: I5f06af67928c491db330d9761084d8740cfc2487
This commit is contained in:
parent
3d22ccc5a8
commit
e75ca66a66
|
@ -1,9 +1,17 @@
|
|||
require( '../ext.CodeMirror.data.js' );
|
||||
|
||||
// This is hacky: mw.hook ensures that new handlers would be fired immediately if they are
|
||||
// added after the event. We are using this feature to load the actual module via a callback
|
||||
// when this module is loaded by VE.
|
||||
//
|
||||
// TODO: Change the PluginModules in extension.json when fully migrated to v6 and drop this.
|
||||
mw.hook( 've.loadModules' ).add( ( addPlugin ) => {
|
||||
const urlParams = new URLSearchParams( window.location.search );
|
||||
|
||||
// VE would wait for plugin callbacks to resolve before initialisation.
|
||||
if ( mw.config.get( 'extCodeMirrorConfig' ).useV6 || urlParams.get( 'cm6enable' ) ) {
|
||||
mw.loader.load( 'ext.CodeMirror.v6.visualEditor' );
|
||||
addPlugin( () => mw.loader.using( 'ext.CodeMirror.v6.visualEditor' ) );
|
||||
} else {
|
||||
mw.loader.load( 'ext.CodeMirror.visualEditor' );
|
||||
addPlugin( () => mw.loader.using( 'ext.CodeMirror.visualEditor' ) );
|
||||
}
|
||||
} );
|
||||
|
|
Loading…
Reference in a new issue