72 lines
1.7 KiB
JavaScript
72 lines
1.7 KiB
JavaScript
|
var ST = window.ST || {};
|
||
|
|
||
|
ST.init = function() {
|
||
|
ST.show_embed();
|
||
|
};
|
||
|
|
||
|
ST.show_embed = function() {
|
||
|
$embed_field = $('#embed_field');
|
||
|
var lang_showcode = $embed_field.data('lang-showcode');
|
||
|
$embed_field.hide();
|
||
|
$embed_field.after('<a id="show_code" href="#">' + lang_showcode + '</a>');
|
||
|
$('#show_code').on('click', function(e) {
|
||
|
e.preventDefault();
|
||
|
$(this).hide();
|
||
|
$embed_field.show().select();
|
||
|
});
|
||
|
$embed_field.on("blur", function() {
|
||
|
$(this).hide();
|
||
|
$('#show_code').show();
|
||
|
});
|
||
|
};
|
||
|
|
||
|
var CM = {
|
||
|
init: function() {
|
||
|
var txtAreas = $("textarea").length;
|
||
|
|
||
|
if (txtAreas > 0) {
|
||
|
modes = $.parseJSON($('#codemirror_modes').text());
|
||
|
|
||
|
|
||
|
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
|
||
|
mode: "scheme",
|
||
|
lineNumbers: true,
|
||
|
matchBrackets: true,
|
||
|
tabMode: "indent"
|
||
|
});
|
||
|
|
||
|
$('#lang').change(function() {
|
||
|
set_language();
|
||
|
});
|
||
|
|
||
|
set_syntax = function(mode) {
|
||
|
editor.setOption('mode', mode);
|
||
|
};
|
||
|
|
||
|
set_language = function() {
|
||
|
|
||
|
var lang = $('#lang').val();
|
||
|
mode = modes[lang];
|
||
|
|
||
|
$.get(base_url + 'main/get_cm_js/' + lang,
|
||
|
function(data) {
|
||
|
if (data !== '') {
|
||
|
set_syntax(mode);
|
||
|
} else {
|
||
|
set_syntax(null);
|
||
|
}
|
||
|
},
|
||
|
'script'
|
||
|
);
|
||
|
};
|
||
|
|
||
|
set_language();
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
|
||
|
$(document).ready(function() {
|
||
|
ST.init();
|
||
|
CM.init();
|
||
|
});
|