CodeMirrorWikiEditor

CodeMirror integration with WikiEditor.

Use this class if you want WikiEditor's toolbar. If you don't need the toolbar, using CodeMirror directly will be considerably more efficient.

Extends

Constructor

new CodeMirrorWikiEditor($textarea, langExtension) #

Parameters:

Name Type Description
$textarea jQuery

The textarea to replace with CodeMirror.

langExtension LanguageSupport | Extension

Language support and its extension(s).

Source:

Properties

$textarea :jQuery #

The textarea that CodeMirror is bound to.

Type:

Overrides:
Source:

contentAttributesExtension :Extension #

This specifies which attributes get added to the .cm-content and .cm-editor elements. Subclasses are safe to override this method, but attributes here are considered vital.

Type:

Overrides:
Source:
See:

defaultExtensions :Extension|Array.<Extension> #

Default extensions used by CodeMirror. Extensions here should be applicable to all theoretical uses of CodeMirror in MediaWiki.

Type:

Overrides:
Source:
See:

editRecoveryHandler :function|null #

The edit recovery handler.

Type:

  • function | null
Overrides:
Source:

heightExtension :Extension #

This extension sets the height of the CodeMirror editor to match the textarea. Override this method to change the height of the editor.

Type:

Overrides:
Source:

langExtension :LanguageSupport|Extension #

Language support and its extension(s).

Type:

Source:

phrasesExtension :Extension #

These are all potential messages used in a full-featured CodeMirror setup. We lump them all here and supply it as default extensions because it is only a small cost and we don't want localization to be overlooked by CodeMirror clients and subclasses.

Type:

Overrides:
Source:
See:

readOnly :boolean #

Whether the textarea is read-only.

Type:

  • boolean
Overrides:
Source:

realtimePreviewHandler :function|null #

The Realtime Preview handler.

Type:

  • function | null
Source:

specialCharsExtension :Extension #

We give a small subset of special characters a tooltip explaining what they are. The messages and for what characters are defined here. Any character that does not have a message will instead use CM6 defaults, which is the localization of 'codemirror-control-character' followed by the Unicode number.

Type:

Overrides:
Source:
See:

state :EditorState #

The editor state.

Type:

Overrides:
Source:

textSelection :CodeMirrorTextSelection #

jQuery.textSelection overrides for CodeMirror.

Type:

Overrides:
Source:

useCodeMirror :boolean #

Whether CodeMirror is currently enabled.

Type:

  • boolean
Source:

view :EditorView #

The editor user interface.

Type:

Overrides:
Source:

Methods

addCodeMirrorToWikiEditor() #

Adds the CodeMirror button to WikiEditor.

Source:

destroy() #

Destroy the CodeMirror instance and revert to the original textarea.

Overrides:
Source:

Fires:

enableCodeMirror() #

Replaces the default textarea with CodeMirror.

Source:

Fires:

initialize(extensions) #

Setup CodeMirror and add it to the DOM. This will hide the original textarea.

Parameters:

Name Type Attributes Default Description
extensions Extension | Array.<Extension> optional
this.defaultExtensions

Extensions to use.

Overrides:
Source:

Fires:

logUsage(data) #

Log usage of CodeMirror.

Parameters:

Name Type Description
data Object
Overrides:
Source:

setCodeMirrorPreference(prefValue) #

Save CodeMirror enabled preference.

Parameters:

Name Type Description
prefValue boolean

True, if CodeMirror should be enabled by default, otherwise false.

Overrides:
Source:

switchCodeMirror() #

Events

'ext.CodeMirror.switch'(enabled, $textarea) #

Called after CodeMirror is enabled or disabled in WikiEditor.

Parameters:

Name Type Description
enabled boolean

Whether CodeMirror is enabled.

$textarea jQuery

The current "editor", either the original textarea or the .cm-editor element.

Source: