X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/b23f2eb2dba1c6e2c49f45362197b51eee60ac7c..e15a5c7e20d1314575e2ee85b8b238e8f41084df:/platforma/static/js/main.js?ds=sidebyside diff --git a/platforma/static/js/main.js b/platforma/static/js/main.js index 2c20b9ca..22ec7332 100644 --- a/platforma/static/js/main.js +++ b/platforma/static/js/main.js @@ -287,41 +287,61 @@ function gallery(element, url) { } -function transform(editor) { - $.blockUI({message: 'Ładowanie...'}); +function transform(editor, callback) { + if (!callback) { + $.blockUI({message: 'Ładowanie...'}); + } setTimeout(function() { xml2html({ xml: editor.getCode(), success: function(element) { $('#html-view').html(element); $.unblockUI(); + if (callback) { + callback(); + } }, error: function(text) { $('#html-view').html('

Wystąpił błąd:

' + text + '
'); $.unblockUI(); + if (callback) { + callback(); + } } }); }, 200); }; -function reverseTransform(editor, cont) { +function reverseTransform(editor, cont, errorCont, dontBlock) { var serializer = new XMLSerializer(); if ($('#html-view .error').length > 0) { + if (errorCont) { + errorCont(); + } return; } - $.blockUI({message: 'Ładowanie...'}); + if (!dontBlock) { + $.blockUI({message: 'Ładowanie...'}); + } setTimeout(function() { html2xml({ xml: serializer.serializeToString($('#html-view div').get(0)), success: function(text) { editor.setCode(text); - $.unblockUI(); + if (!dontBlock) { + $.unblockUI(); + } if (cont) { cont(); } }, error: function(text) { $('#source-editor').html('

Wystąpił błąd:

' + text + '
'); - $.unblockUI(); + if (!dontBlock) { + $.unblockUI(); + } + if (errorCont) { + errorCont(); + } } }); }, 200); @@ -678,7 +698,7 @@ $(function() { }) } - if ('#simple-view-tab.active') { + if ($('#simple-view-tab').hasClass('active')) { reverseTransform(editor, doSave); } else { doSave(); @@ -688,19 +708,20 @@ $(function() { $('#save-cancel').click(function() { $.unblockUI(); }); - - $('#simple-view-tab').click(function() { - if ($(this).hasClass('active')) { + + function changeTab(callback) { + if ($('#simple-view-tab').hasClass('active')) { return; } - $(this).addClass('active'); + $('#simple-view-tab').addClass('active'); $('#source-view-tab').removeClass('active'); $('#source-editor').hide(); $('#simple-editor').show(); - transform(editor); - }); - - $('#source-view-tab').click(function() { + transform(editor, callback); + } + $('#simple-view-tab').click(function() { changeTab(); }); + + $('#source-view-tab').click(function() { if ($(this).hasClass('active')) { return; } @@ -708,7 +729,7 @@ $(function() { $('#simple-view-tab').removeClass('active'); $('#simple-editor').hide(); $('#source-editor').show(); - reverseTransform(editor); + reverseTransform(editor); }); $('#source-editor .toolbar button').click(function(event) { @@ -727,7 +748,7 @@ $(function() { $('.toolbar-buttons-container').hide(); $('.toolbar select').change(); - $('#simple-view-tab').click(); + changeTab(function() { $('#loading-overlay').fadeOut() }, function() { $('#loading-overlay').fadeOut() }, true) } });