changed: now 'emacs' winix function uses CodeMirror editor

currently only htmlmixed mode is implemented


git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1008 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
Tomasz Sowa 2015-04-18 18:50:39 +00:00
parent 5274e8e8ff
commit eb4e7343e7
3 changed files with 90 additions and 2 deletions

View File

@ -8,7 +8,7 @@
<div class="winix_input_a">
<label for="winix_title_id">{title}:</label>
<input id="winix_title_id" type="text" name="subject" value="[item_subject]">
<input id="winix_title_id" type="text" name="subject" value="[item_subject]" [if not item_is]autofocus [end]>
</div>
<div class="winix_input_a">

View File

@ -9,7 +9,7 @@
[if mount_type_is "ticket"]<label for="winix_content_id">{form_emacs_content_ticket}</label>[end]
[end]
<textarea id="winix_content_id" rows="[if winix_function_is "upload"]7[else][if mount_type_is "cms"]30[else]10[end][end]" cols="60" name="itemcontent">[item_content]</textarea>
<textarea [if item_is]autofocus [end]id="winix_content_id" rows="[if winix_function_is "upload"]7[else][if mount_type_is "cms"]30[else]10[end][end]" cols="60" name="itemcontent">[item_content]</textarea>
</div>

View File

@ -45,6 +45,94 @@
[end]
[if winix_function_is "emacs"]
<script type="text/javascript" src="[doc_base_url_common]/codemirror-5.1/lib/codemirror.js"></script>
<link rel="stylesheet" href="[doc_base_url_common]/codemirror-5.1/lib/codemirror.css" type="text/css">
<script src="[doc_base_url_common]/codemirror-5.1/mode/css/css.js"></script>
<script src="[doc_base_url_common]/codemirror-5.1/mode/javascript/javascript.js"></script>
<script src="[doc_base_url_common]/codemirror-5.1/mode/xml/xml.js"></script>
<script src="[doc_base_url_common]/codemirror-5.1/mode/htmlmixed/htmlmixed.js"></script>
<!--<link rel="stylesheet" href="[doc_base_url_common]/codemirror-5.1/theme/base16-light.css" type="text/css">-->
<script src="[doc_base_url_common]/codemirror-5.1/addon/display/fullscreen.js"></script>
<link rel="stylesheet" href="[doc_base_url_common]/codemirror-5.1/addon/display/fullscreen.css" type="text/css">
[if false]
<script src="[doc_base_url_common]/codemirror-5.1/addon/search/search.js"></script>
<link rel="stylesheet" href="[doc_base_url_common]/codemirror-5.1/addon/search/matchesonscrollbar.css" type="text/css">
[end]
<script src="[doc_base_url_common]/codemirror-5.1/addon/fold/xml-fold.js"></script>
<script src="[doc_base_url_common]/codemirror-5.1/addon/edit/matchtags.js"></script>
<script src="[doc_base_url_common]/codemirror-5.1/addon/selection/active-line.js"></script>
<style>
.CodeMirror-matchingtag \{
font-weight: bold;
background: none;
\}
.CodeMirror-activeline-background \{
background: #f3f3f3;
\}
.CodeMirror \{
border: 1px solid #dedede;
\}
</style>
<script type="text/javascript">
var winix_code_mirror_editor;
function winix_initialize_editor()
\{
var text_area = document.getElementById("winix_content_id");
if( text_area )
\{
winix_code_mirror_editor = CodeMirror.fromTextArea(text_area, \{
mode: "htmlmixed",
theme: "default",
indentUnit: 4,
smartIndent: true,
tabSize: 4,
indentWithTabs: true,
extraKeys: \{
"F11": function(cm) \{ cm.setOption("fullScreen", !cm.getOption("fullScreen")); \},
"Esc": function(cm) \{ if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false); \}
\},
lineNumbers: true,
lineWiseCopyCut: false,
dragDrop: false,
matchTags: true,
styleActiveLine: true
\});
\}
\}
[if false]
this will probably be used to change the mode in the fly
winix_code_mirror_editor.setOption("mode", "");
before saving (update button by ajax) this method should be used:
cm.save()
Copy the content of the editor into the textarea.
[end]
if( window.addEventListener )
window.addEventListener("load", winix_initialize_editor, false);
else
if( window.attachEvent )
window.attachEvent("onload", winix_initialize_editor);
</script>
[end]
[if winix_function_is "ckeditor"]
<script type="text/javascript" src="[doc_base_url_common]/ckeditor/ckeditor.js"></script>