Merge branch '2.0'
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / acp / templates / codemirror.tpl
1 {if !$codemirrorLoaded|isset}
2 <script data-relocate="true" src="{@$__wcf->getPath()}js/3rdParty/codemirror/codemirror.js"></script>
3 <script data-relocate="true" src="{@$__wcf->getPath()}js/3rdParty/codemirror/addon/dialog/dialog.js"></script>
4 <script data-relocate="true" src="{@$__wcf->getPath()}js/3rdParty/codemirror/addon/search/searchcursor.js"></script>
5 <script data-relocate="true" src="{@$__wcf->getPath()}js/3rdParty/codemirror/addon/search/search.js"></script>
6 {/if}
7 {if $codemirrorMode|isset}<script data-relocate="true" src="{@$__wcf->getPath()}js/3rdParty/codemirror/mode/{if $codemirrorMode == 'text/x-less'}css/css{else}{$codemirrorMode}/{$codemirrorMode}{/if}.js"></script>{/if}
8 {event name='javascriptIncludes'}
9
10 <script data-relocate="true">
11 //<![CDATA[
12 {if !$codemirrorLoaded|isset}
13 $('<link rel="stylesheet" href="{@$__wcf->getPath()}js/3rdParty/codemirror/codemirror.css" />').appendTo('head');
14 $('<link rel="stylesheet" href="{@$__wcf->getPath()}js/3rdParty/codemirror/addon/dialog/dialog.css" />').appendTo('head');
15 {/if}
16
17 $(function() {
18 var $elements = $('{@$codemirrorSelector|encodeJS}');
19 var $config = {
20 {if $codemirrorMode|isset}mode: '{@$codemirrorMode|encodeJS}',{/if}
21 lineWrapping: true,
22 indentWithTabs: true,
23 lineNumbers: true,
24 indentUnit: 4
25 };
26
27 for (var $i = 0; $i < $elements.length; $i++) {
28 (function () {
29 var $element = $elements[$i];
30
31 {event name='javascriptInit'}
32
33 if ($element.codemirror) {
34 for (var name in $config) {
35 if (!$config.hasOwnProperty($name)) continue;
36
37 $element.codemirror.setOption($name, $config[$name]);
38 }
39 }
40 else {
41 $element.codemirror = CodeMirror.fromTextArea($element, $config);
42 var oldToTextArea = $element.codemirror.toTextArea;
43 $element.codemirror.toTextArea = function() {
44 oldToTextArea();
45 $element.codemirror = null;
46 };
47 }
48
49 setTimeout(function () {
50 $element.codemirror.refresh();
51 }, 250);
52 setTimeout(function () {
53 $element.codemirror.refresh();
54 }, 1000);
55 })();
56 }
57 });
58 //]]>
59 </script>
60 {assign var='codemirrorLoaded' value=true}