PluginProbe
WebberZone Top 10 — Popular Posts / 4.3.1
WebberZone Top 10 — Popular Posts v4.3.1
4.5.1 4.5.0 4.4.3 4.4.2 4.4.1 4.4.0 4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 trunk 1.0 1.0.1 1.1 1.2 1.3 1.4 1.4.1 1.5 1.5.1 1.5.2 1.5.3 1.6 1.6.1 All 117 releases
top-10 / includes / admin / settings / js / apply-cm.js

apply-cm.js in WebberZone Top 10 — Popular Posts 4.3.1, at includes/admin/settings/js/apply-cm.js

63 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Initialise CodeMirror editors for various code types.
3 *
4 * @since 1.0.0
5 */
6 jQuery(document).ready(function ($) {
7 /**
8 * Mark form as modified.
9 *
10 * @since 1.0.0
11 */
12 function confirmFormChange() {
13 formmodified = 1;
14 }
15
16 /**
17 * Initialise a CodeMirror editor with specified mode.
18 *
19 * @since 1.0.0
20 *
21 * @param {jQuery} $element The textarea element to initialise.
22 * @param {string} mode The CodeMirror mode (e.g., 'javascript', 'css').
23 */
24 function initialiseCodeMirror($element, mode) {
25 if (!$element.length || typeof wp.codeEditor !== 'object') {
26 return;
27 }
28
29 // Skip if already initialised.
30 if ($element.data('codemirror-initialised')) {
31 return;
32 }
33
34 const editorSettings = wp.codeEditor.defaultSettings ? _.clone(wp.codeEditor.defaultSettings) : {};
35
36 editorSettings.codemirror = _.extend(
37 {},
38 editorSettings.codemirror,
39 mode ? { mode: mode } : {}
40 );
41
42 const editor = wp.codeEditor.initialize($element, editorSettings);
43 editor.codemirror.on('change', confirmFormChange);
44
45 // Mark as initialised.
46 $element.data('codemirror-initialised', true);
47 }
48
49 // Initialise HTML editors.
50 $('.codemirror_html').each(function () {
51 initialiseCodeMirror($(this), null);
52 });
53
54 // Initialise JavaScript editors.
55 $('.codemirror_js').each(function () {
56 initialiseCodeMirror($(this), 'javascript');
57 });
58
59 // Initialise CSS editors.
60 $('.codemirror_css').each(function () {
61 initialiseCodeMirror($(this), 'css');
62 });
63 });