From e503c4af8900683ebf6a1bc7593964c76e18fea4 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 23 Apr 2012 19:44:28 +0200 Subject: [PATCH] dynamic loading works. #syntax #highlighting --- htdocs/static/js/codemirror_exec.js | 33 +++++++++++++++-------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/htdocs/static/js/codemirror_exec.js b/htdocs/static/js/codemirror_exec.js index 1f40380..1b42884 100644 --- a/htdocs/static/js/codemirror_exec.js +++ b/htdocs/static/js/codemirror_exec.js @@ -4,15 +4,12 @@ CM.enabled = false; CM.init = function() { CM.modes = $.parseJSON($('#codemirror_modes').text()); - $enable_codemirror = $('#enable_codemirror'); - - $enable_codemirror.click(function() { - - //todo: no rebind + $('#enable_codemirror').click(function() { $('#lang').change(function() { CM.set_language(); }); CM.toggle(); + CM.set_language(); return false; }); }; @@ -22,6 +19,7 @@ CM.toggle = function() { CM.editor.toTextArea(); CM.editor = undefined; $('#lang').unbind(); + $('#enable_codemirror').text('Enable syntax highlighting'); CM.enabled = false; } else { if (typeof CM.editor == 'undefined') { @@ -30,23 +28,26 @@ CM.toggle = function() { lineWrapping: true, }); } + $('#enable_codemirror').text('Disable syntax highlighting'); CM.enabled = true; } }; CM.set_language = function() { - var lang = $('#lang').val(); - mode = CM.modes[lang]; + if (CM.enabled) { + var lang = $('#lang').val(); + mode = CM.modes[lang]; - $.get(base_url + 'main/get_cm_js/' + lang, - function(data) { - if (data != '') { - CM.set_syntax(mode); - } else { - CM.set_syntax(null); - } - }, - 'script'); + $.get(base_url + 'main/get_cm_js/' + lang, + function(data) { + if (data != '') { + CM.set_syntax(mode); + } else { + CM.set_syntax(null); + } + }, + 'script'); + } }; CM.set_syntax = function(mode) {