X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/f7e3ba3851d4ec6e3decaab0d568e492726224dc..02a98d2af6f1fabf567b575c5f2d818688af1594:/platforma/static/js/wiki/source_editor.js diff --git a/platforma/static/js/wiki/source_editor.js b/platforma/static/js/wiki/source_editor.js index 6f7ed3d7..0f671103 100644 --- a/platforma/static/js/wiki/source_editor.js +++ b/platforma/static/js/wiki/source_editor.js @@ -4,26 +4,10 @@ function CodeMirrorPerspective(doc, callback) { this.perspective_id = 'CodeMirrorPerspective'; - this.doc = doc; + this.doc = doc; // document model var self = this; - $('#source-editor .toolbar button').click(function(event){ - event.preventDefault(); - var params = eval("(" + $(this).attr('ui:action-params') + ")"); - scriptletCenter.scriptlets[$(this).attr('ui:action')](editor, params); - }); - - $('.toolbar select').change(function(event){ - var slug = $(this).val(); - - $('.toolbar-buttons-container').hide().filter('[data-group=' + slug + ']').show(); - $(window).resize(); - }); - - $('.toolbar-buttons-container').hide(); - $('.toolbar select').change(); - this.codemirror = CodeMirror.fromTextArea('codemirror_placeholder', { parserfile: 'parsexml.js', path: STATIC_URL + "js/lib/codemirror/", @@ -38,7 +22,25 @@ tabMode: 'spaces', indentUnit: 0, initCallback: function() { + $('#source-editor .toolbar button').click(function(event){ + event.preventDefault(); + var params = eval("(" + $(this).attr('data-ui-action-params') + ")"); + scriptletCenter.scriptlets[$(this).attr('data-ui-action')](self.codemirror, params); + }); + + $('.toolbar select').change(function(event){ + var slug = $(this).val(); + + $('.toolbar-buttons-container').hide().filter('[data-group=' + slug + ']').show(); + $(window).resize(); + }); + + $('.toolbar-buttons-container').hide(); + $('.toolbar select').change(); + console.log("Initialized CodeMirror"); + // textarea is no longer needed + $('codemirror_placeholder').remove(); callback.call(self); } }); @@ -59,6 +61,14 @@ if(success) success(); } + CodeMirrorPerspective.prototype.onExit = function(success, failure) { + $.wiki.Perspective.prototype.onExit.call(this); + + console.log(this.doc); + this.doc.setText(this.codemirror.getCode()); + if(success) success(); + } + $.wiki.CodeMirrorPerspective = CodeMirrorPerspective; })(jQuery);