Fix lost flash message in case of error when save editor (crtl-s). Change Esc to Ctrl-Esc to exit from Fullscreen mode, because this cause collision with the Vim mode (Esc key). Add a select into the config button to select 'default', 'vim' or 'emacs' editor

This commit is contained in:
Roberto Perdomo
2013-09-22 18:36:28 -04:30
parent d547a9d6ea
commit 2ebf0d12ed
5 changed files with 38 additions and 11 deletions
+21 -3
View File
@@ -16,13 +16,12 @@
}}
{{cm=URL('static','codemirror')}}
<link rel="stylesheet" href="{{=cm}}/lib/codemirror.css">
<link rel="stylesheet" href="{{="%s/theme/%s.css" % (cm, editor_settings['theme'])}}">
<link rel="stylesheet" href="{{='%s/theme/%s.css' % (cm, editor_settings['theme'])}}">
<script src="{{=cm}}/lib/codemirror.js"></script>
<script src="{{=cm}}/mode/clike/clike.js"></script>
<script src="{{=cm}}/addon/edit/matchbrackets.js"></script>
<script src="{{=cm}}/addon/edit/closetag.js"></script>
{{if TEXT_EDITOR_KEYBINDING == 'emacs':}}<script src="{{=cm}}/keymap/emacs.js"></script>{{pass}}
{{if TEXT_EDITOR_KEYBINDING == 'vi':}}<script src="{{=cm}}/keymap/vim.js"></script>{{pass}}
{{if editor_settings['editor'] != 'default':}}<script src="{{='%s/keymap/%s.js' % (cm, editor_settings['editor'])}}"></script>{{pass}}
<script src="{{=cm}}/mode/python/python.js"></script>
<script src="{{=cm}}/mode/xml/xml.js"></script>
<script src="{{=cm}}/mode/css/css.js"></script>
@@ -43,6 +42,7 @@
<link rel="stylesheet" href="{{=URL('static/css','web2py-codemirror.css')}}">
<script type="text/javascript">
var current_theme = "{{=editor_settings['theme']}}"; //Default theme
var current_editor = "{{=editor_settings['editor']}}"; //Default editor
var current_font_incr = 0; // Default font-size, 0 means don't set
jQuery(document).on('shown click', 'a[data-toggle="tab"]', function (e) {
var tab_id = jQuery(this).attr('href');
@@ -111,6 +111,24 @@ function update_theme(name) {
current_theme = name;
}
function update_editor(editor_name) {
if (editor_name !='default'){
var src = "{{='%s/keymap/' % cm}}" + editor_name + ".js";
//var src = "/admin/static/codemirror/keymap/" + editor_name + ".js";
var script = jQuery("<script>");
script.attr({
src: src
});
jQuery("head").append( script );
}
jQuery('textarea[name="data"]') .each(function(id, ta) {
editor = jQuery(ta).data('editor');
editor.setOption("keyMap", editor_name);
});
current_editor = editor_name;
}
// incr/decr editor font-size
jQuery(document).on('click', 'a.font_button', function (e) {
e.preventDefault();