Changeset - 37ef00d01a75
[Not reviewed]
default
0 1 0
Takumi IINO - 11 years ago 2014-08-21 11:05:31
trot.thunder@gmail.com
templates: replace YUI with jquery in kallithea/templates/admin/gists/edit.html
1 file changed with 12 insertions and 9 deletions:
0 comments (0 inline, 0 general)
kallithea/templates/admin/gists/edit.html
Show inline comments
 
@@ -83,58 +83,61 @@
 
                    <div class="editor_container">
 
                        <pre id="editor_pre"></pre>
 
                        <textarea id="editor_${h.FID('f',file.path)}" name="contents" style="display:none">${file.content}</textarea>
 
                    </div>
 
                </div>
 

	
 
                ## dynamic edit box.
 
                <script type="text/javascript">
 
                var myCodeMirror = initCodeMirror("editor_${h.FID('f',file.path)}", '');
 
                CodeMirror.modeURL = "${h.url('/js/mode/%N/%N.js')}";
 

	
 
                //inject new modes
 
                var modes_select = $('#mimetype_${h.FID('f',file.path)}');
 
                var $modes_select = $('#mimetype_${h.FID('f',file.path)}');
 
                $modes_select.each(function(){
 
                    var modes_select = this;
 
                for(var i=0;i<CodeMirror.modeInfo.length;i++){
 
                    var m = CodeMirror.modeInfo[i];
 
                    var opt = new Option(m.name, m.mime);
 
                    YUD.setAttribute(opt, 'mode', m.mode)
 
                    modes_select[0].options[i+1] = opt;
 
                        $(opt).attr('mode', m.mode);
 
                        modes_select.options[i+1] = opt;
 
                }
 
                });
 

	
 
                var filename_selector = '#filename_${h.FID('f',file.path)}';
 
                var $filename = $('#filename_${h.FID('f',file.path)}');
 
                // on select change set new mode
 
                modes_select.on('change', function(e){
 
                $modes_select.change(function(e){
 
                    var selected = e.currentTarget;
 
                    var node = selected.options[selected.selectedIndex];
 
                    var mimetype = node.value;
 
                    var new_mode = YUD.getAttribute(node, 'mode')
 
                    var new_mode = $(node).attr('mode');
 
                    setCodeMirrorMode(myCodeMirror, new_mode);
 

	
 
                    var proposed_ext = getExtFromMimeType(mimetype);
 
                    var file_data = getFilenameAndExt($(filename_selector).val());
 
                    var file_data = getFilenameAndExt($filename.val());
 
                    var filename = file_data['filename'] || 'filename1';
 
                    $(filename_selector).val(filename + proposed_ext);
 
                })
 

	
 
                // on type the new filename set mode
 
                $(filename_selector).on('keyup', function(e){
 
                $filename.keyup(function(e){
 
                    var file_data = getFilenameAndExt(this.value);
 
                    if(file_data['ext'] != null){
 

	
 
                        var mimetype = getMimeTypeFromExt(file_data['ext']);
 
                        var detected_mode = detectCodeMirrorMode(this.value, mimetype);
 

	
 
                        if (detected_mode){
 
                            setCodeMirrorMode(myCodeMirror, detected_mode);
 
                            modes_select.val(mimetype)
 
                            $modes_select.val(mimetype)
 
                        }
 
                    }
 
                })
 

	
 
                // set mode on page load
 
                var mimetype = getMimeTypeFromExt("${file.extension}");
 
                var detected_mode = detectCodeMirrorMode("${file.path}", mimetype);
 

	
 
                if (detected_mode){
 
                    setCodeMirrorMode(myCodeMirror, detected_mode);
 
                    modes_select.val(mimetype)
 
                }
0 comments (0 inline, 0 general)