mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/CodeEditor
synced 2024-12-18 01:30:45 +00:00
5cac43ddd3
Change-Id: I99fd10fbcce5d5e6b87b6e3faeb7b18c4e573ef7
38 lines
1.5 KiB
JavaScript
38 lines
1.5 KiB
JavaScript
/**
|
|
* MediaWiki:Gadget-codeeditor.js
|
|
* (c) 2011 Brion Vibber <brion @ pobox.com>
|
|
* GPLv2 or later
|
|
*
|
|
* Syntax highlighting, auto-indenting code editor widget for on-wiki JS and CSS pages.
|
|
* Uses embedded Ajax.org Cloud9 Editor: https://ace.c9.io/
|
|
*
|
|
* Known issues:
|
|
* - extension version doesn't have optional bits correct
|
|
* - ties into WikiEditor, so doesn't work on classic toolbar
|
|
* - background worker for JS syntax check doesn't load in non-debug mode (probably also fails if extension assets are offsite)
|
|
* - copy/paste not available from context menu (Firefox, Chrome on Linux -- kbd & main menu commands ok)
|
|
* - accessibility: tab/shift-tab are overridden. is there a consistent alternative for keyboard-reliant users?
|
|
* - accessibility: accesskey on the original textarea needs to be moved over or otherwise handled
|
|
* - 'discard your changes?' check on tab close doesn't trigger
|
|
* - scrollbar initializes too wide; need to trigger resize check after that's filled
|
|
* - cursor/scroll position not maintained over previews/show changes
|
|
*/
|
|
/*
|
|
* JavaScript for WikiEditor Table of Contents
|
|
*/
|
|
|
|
$( function () {
|
|
// eslint-disable-next-line no-jquery/no-global-selector
|
|
var $wpTextbox1 = $( '#wpTextbox1' );
|
|
|
|
// Code is supposed to be always LTR. See bug 39364.
|
|
$wpTextbox1.parent().prop( 'dir', 'ltr' );
|
|
|
|
// Add code editor module
|
|
$wpTextbox1.wikiEditor( 'addModule', 'codeEditor' );
|
|
|
|
$wpTextbox1.on( 'wikiEditor-toolbar-doneInitialSections', function () {
|
|
$wpTextbox1.data( 'wikiEditor-context' ).fn.codeEditorMonitorFragment();
|
|
} );
|
|
} );
|