Mercurial > kallithea
comparison rhodecode/templates/files/files_add.html @ 4026:a60a0e9092c6
added codemirror edit mode with autodetection
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Thu, 20 Jun 2013 23:53:18 +0200 |
parents | 072a37c44f58 |
children | ffd45b185016 |
comparison
equal
deleted
inserted
replaced
4025:cd23cc2c9961 | 4026:a60a0e9092c6 |
---|---|
4 ${_('%s Files Add') % c.repo_name} · ${c.rhodecode_name} | 4 ${_('%s Files Add') % c.repo_name} · ${c.rhodecode_name} |
5 </%def> | 5 </%def> |
6 | 6 |
7 <%def name="js_extra()"> | 7 <%def name="js_extra()"> |
8 <script type="text/javascript" src="${h.url('/js/codemirror.js')}"></script> | 8 <script type="text/javascript" src="${h.url('/js/codemirror.js')}"></script> |
9 <script type="text/javascript" src="${h.url('/js/codemirror_loadmode.js')}"></script> | |
10 <script type="text/javascript" src="${h.url('/js/mode/meta.js')}"></script> | |
9 </%def> | 11 </%def> |
10 <%def name="css_extra()"> | 12 <%def name="css_extra()"> |
11 <link rel="stylesheet" type="text/css" href="${h.url('/css/codemirror.css')}"/> | 13 <link rel="stylesheet" type="text/css" href="${h.url('/css/codemirror.css')}"/> |
12 </%def> | 14 </%def> |
13 | 15 |
66 </div> | 68 </div> |
67 </div> | 69 </div> |
68 </div> | 70 </div> |
69 </div> | 71 </div> |
70 <div id="body" class="codeblock"> | 72 <div id="body" class="codeblock"> |
73 <div class="code-header"> | |
74 <label class="commit" for="set_mode">${_('New file mode')}</label> | |
75 ${h.select('set_mode','plain',[('plain',_('plain'))])} | |
76 </div> | |
71 <div id="editor_container"> | 77 <div id="editor_container"> |
72 <pre id="editor_pre"></pre> | 78 <pre id="editor_pre"></pre> |
73 <textarea id="editor" name="content" style="display:none"></textarea> | 79 <textarea id="editor" name="content" style="display:none"></textarea> |
74 </div> | 80 </div> |
75 <div style="padding: 10px;color:#666666">${_('Commit message')}</div> | 81 <div style="padding: 10px;color:#666666">${_('Commit message')}</div> |
80 ${h.reset('reset',_('Reset'),class_="ui-btn")} | 86 ${h.reset('reset',_('Reset'),class_="ui-btn")} |
81 </div> | 87 </div> |
82 ${h.end_form()} | 88 ${h.end_form()} |
83 <script type="text/javascript"> | 89 <script type="text/javascript"> |
84 var reset_url = "${h.url('files_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path)}"; | 90 var reset_url = "${h.url('files_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path)}"; |
85 initCodeMirror('editor',reset_url); | 91 var myCodeMirror = initCodeMirror('editor',reset_url); |
92 CodeMirror.modeURL = "${h.url('/js/mode/%N/%N.js')}"; | |
93 | |
94 //inject new modes | |
95 var modes_select = YUD.get('set_mode'); | |
96 for(var i=0;i<CodeMirror.modeInfo.length;i++){ | |
97 var m = CodeMirror.modeInfo[i]; | |
98 var opt = new Option(m.name, m.mode); | |
99 modes_select.options[i+1] = opt | |
100 } | |
101 YUE.on(modes_select, 'change', function(e){ | |
102 var selected = e.currentTarget; | |
103 var new_mode = selected.options[selected.selectedIndex].value; | |
104 setCodeMirrorMode(myCodeMirror, new_mode); | |
105 }) | |
86 </script> | 106 </script> |
87 </div> | 107 </div> |
88 </div> | 108 </div> |
89 </div> | 109 </div> |
90 </%def> | 110 </%def> |