ext.CodeMirror.visualEditor: don't load on RTL pages

CodeMirror 5 does not work on RTL pages. This commit does a crude check
of the `dir` attribute of `.mw-body-content .mw-parser-output` because
the VisualEditor surface and even the native textarea isn't available
when the module is first loaded.

Bug: T363752
Change-Id: If3825d6e5467d2bcff2d83e838081bf041243920
This commit is contained in:
MusikAnimal 2024-04-29 15:26:11 -04:00
parent ee5b0ee87e
commit c873f9d9fa
2 changed files with 15 additions and 9 deletions

View file

@ -277,4 +277,7 @@ ve.ui.CodeMirrorAction.prototype.getPosFromOffset = function ( veOffset ) {
/* Registration */
ve.ui.actionFactory.register( ve.ui.CodeMirrorAction );
// eslint-disable-next-line no-jquery/no-global-selector
if ( $( '.mw-body-content .mw-parser-output' ).attr( 'dir' ) === 'ltr' ) {
ve.ui.actionFactory.register( ve.ui.CodeMirrorAction );
}

View file

@ -82,14 +82,17 @@ ve.ui.CodeMirrorTool.prototype.onSurfaceChange = function ( oldSurface, newSurfa
ve.ui.CodeMirrorTool.prototype.onUpdateState = function () {};
/* Registration */
// eslint-disable-next-line no-jquery/no-global-selector
if ( $( '.mw-body-content .mw-parser-output' ).attr( 'dir' ) === 'ltr' ) {
/* Registration */
ve.ui.toolFactory.register( ve.ui.CodeMirrorTool );
ve.ui.toolFactory.register( ve.ui.CodeMirrorTool );
/* Command */
/* Command */
ve.ui.commandRegistry.register(
new ve.ui.Command(
'codeMirror', 'codeMirror', 'toggle'
)
);
ve.ui.commandRegistry.register(
new ve.ui.Command(
'codeMirror', 'codeMirror', 'toggle'
)
);
}