Files
@ 531ab818cc3d
Branch filter:
Location: kallithea/rhodecode/templates/admin/gists/new.html - annotation
531ab818cc3d
4.3 KiB
text/html
Add javascript for Object Code excanvas (flot) version herein included and use that instead of minified version.
I had a bit of trouble finding the upstream on excanvas, as the version from
Google, which appears to be the original source, seems unmaintained.
However, it appears the version we're carrying in Kallithea is indeed from
the excanvas era of flot.
$ (cd /tmp; \
svn -r 135 checkout http://flot.googlecode.com/svn/trunk/ flot )
$ cp /tmp/flot/excanvas.js rhodecode/public/js/excanvas.js
I also verified the sha256sum of the min file matched ours:
$ sha256sum /tmp/flot/excanvas.min.js rhodecode/public/js/excanvas.min.js
5f94b032a110504b7b261eaf71392fa3e8d82cdc6455c0cba5c9f03cd34ed122 /tmp/flot/excanvas.min.js
5f94b032a110504b7b261eaf71392fa3e8d82cdc6455c0cba5c9f03cd34ed122 rhodecode/public/js/excanvas.min.js
I had a bit of trouble finding the upstream on excanvas, as the version from
Google, which appears to be the original source, seems unmaintained.
However, it appears the version we're carrying in Kallithea is indeed from
the excanvas era of flot.
$ (cd /tmp; \
svn -r 135 checkout http://flot.googlecode.com/svn/trunk/ flot )
$ cp /tmp/flot/excanvas.js rhodecode/public/js/excanvas.js
I also verified the sha256sum of the min file matched ours:
$ sha256sum /tmp/flot/excanvas.min.js rhodecode/public/js/excanvas.min.js
5f94b032a110504b7b261eaf71392fa3e8d82cdc6455c0cba5c9f03cd34ed122 /tmp/flot/excanvas.min.js
5f94b032a110504b7b261eaf71392fa3e8d82cdc6455c0cba5c9f03cd34ed122 rhodecode/public/js/excanvas.min.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b 4eaeae84f474 4eaeae84f474 35fcc232f652 dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b ffd45b185016 dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b 647308db13ff 647308db13ff 647308db13ff 647308db13ff dc4644865e8b dc4644865e8b 4eaeae84f474 ffd45b185016 647308db13ff dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b ffd45b185016 ffd45b185016 ffd45b185016 dc4644865e8b dc4644865e8b dc4644865e8b 4eaeae84f474 4eaeae84f474 4eaeae84f474 4eaeae84f474 ffd45b185016 4eaeae84f474 4eaeae84f474 647308db13ff 647308db13ff ffd45b185016 4eaeae84f474 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 4eaeae84f474 647308db13ff 647308db13ff 647308db13ff 4eaeae84f474 647308db13ff ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 647308db13ff 4eaeae84f474 dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b dc4644865e8b | ## -*- coding: utf-8 -*-
<%inherit file="/base/base.html"/>
<%def name="title()">
${_('New Gist')}
%if c.rhodecode_name:
· ${c.rhodecode_name}
%endif
</%def>
<%def name="js_extra()">
<script type="text/javascript" src="${h.url('/js/codemirror.js')}"></script>
<script type="text/javascript" src="${h.url('/js/codemirror_loadmode.js')}"></script>
<script type="text/javascript" src="${h.url('/js/mode/meta.js')}"></script>
<script type="text/javascript" src="${h.url('/js/mode/meta_ext.js')}"></script>
</%def>
<%def name="css_extra()">
<link rel="stylesheet" type="text/css" href="${h.url('/css/codemirror.css')}"/>
</%def>
<%def name="breadcrumbs_links()">
${_('New Gist')}
</%def>
<%def name="page_nav()">
${self.menu('gists')}
</%def>
<%def name="main()">
<div class="box">
<!-- box / title -->
<div class="title">
${self.breadcrumbs()}
</div>
<div class="table">
<div id="files_data">
${h.form(h.url('gists'), method='post',id='eform')}
<div>
<div class="gravatar">
<img alt="gravatar" src="${h.gravatar_url(h.email_or_none(c.rhodecode_user.full_contact),32)}"/>
</div>
<textarea style="resize:vertical; width:400px;border: 1px solid #ccc;border-radius: 3px;" id="description" name="description" placeholder="${_('Gist description ...')}"></textarea>
<div style="padding:0px 0px 0px 42px">
<label for='lifetime'>${_('Gist lifetime')}</label>
${h.select('lifetime', '', c.lifetime_options)}
</div>
</div>
<div id="body" class="codeblock">
<div style="padding: 10px 10px 10px 26px;color:#666666">
${h.text('filename', size=30, placeholder=_('name this file...'))}
${h.select('mimetype','plain',[('plain',_('plain'))])}
</div>
<div id="editor_container">
<pre id="editor_pre"></pre>
<textarea id="editor" name="content" style="display:none"></textarea>
</div>
</div>
<div style="padding-top: 5px">
${h.submit('private',_('Create Private Gist'),class_="btn btn-mini btn-success")}
${h.submit('public',_('Create Public Gist'),class_="btn btn-mini")}
${h.reset('reset',_('Reset'),class_="btn btn-mini")}
</div>
${h.end_form()}
<script type="text/javascript">
var myCodeMirror = initCodeMirror('editor', '');
CodeMirror.modeURL = "${h.url('/js/mode/%N/%N.js')}";
//inject new modes
var modes_select = $('#mimetype');
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 filename_selector = '#filename';
// on select change set new mode
modes_select.on('change', function(e){
var selected = e.currentTarget;
var node = selected.options[selected.selectedIndex];
var mimetype = node.value;
var new_mode = YUD.getAttribute(node, 'mode')
setCodeMirrorMode(myCodeMirror, new_mode);
var proposed_ext = getExtFromMimeType(mimetype);
var file_data = getFilenameAndExt($(filename_selector).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){
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)
}
}
})
</script>
</div>
</div>
</div>
</%def>
|