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 16 insertions and 13 deletions:
0 comments (0 inline, 0 general)
kallithea/templates/admin/gists/edit.html
Show inline comments
 
@@ -71,82 +71,85 @@
 
            </div>
 

	
 
            % for cnt, file in enumerate(c.files):
 
                <div id="body" class="codeblock" style="margin-bottom: 4px">
 
                    <div style="padding: 10px 10px 10px 26px;color:#666666">
 
                        <input type="hidden" value="${file.path}" name="org_files">
 
                        <input id="filename_${h.FID('f',file.path)}" name="files" size="30" type="text" value="${file.path}">
 

	
 
                        <select id="mimetype_${h.FID('f',file.path)}" name="mimetypes">
 
                            <option selected="selected" value="plain">${_('plain')}</option>
 
                        </select>
 
                    </div>
 
                    <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)}');
 
                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;
 
                }
 
                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);
 
                        $(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)
 
                }
 

	
 
                </script>
 

	
 
            %endfor
 

	
 
            <div style="padding-top: 5px">
 
            ${h.submit('update',_('Update Gist'),class_="btn btn-mini btn-success")}
 
            <a class="btn btn-mini" href="${h.url('gist', gist_id=c.gist.gist_access_id)}">${_('Cancel')}</a>
 
            </div>
 
          ${h.end_form()}
 
          <script>
 
              $('#update').on('click', function(e){
0 comments (0 inline, 0 general)