X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/8daaa89eca8bd7d5fa7d20469486bd8610c7bc32..affc845a8af21ea11ea4f500ed06ea2d1f8ea53d:/project/static/js/panels.js diff --git a/project/static/js/panels.js b/project/static/js/panels.js index e5028619..c53d1354 100644 --- a/project/static/js/panels.js +++ b/project/static/js/panels.js @@ -1,98 +1,46 @@ -$(function() { - // ======================== - // = Resizable panels = - // ======================== - function resizePanels() { - $('.panel').height($(window).height() - $('.panel').position().top); - $('#right-panel-wrap').width($(window).width() - $('#left-panel-wrap').outerWidth()); - } - - $(window).resize(function() { - resizePanels(); - }) - - $('#left-panel-wrap').bind('resizable:resize', resizePanels) - .resizable('#slider', {minWidth: 8}); - - resizePanels(); - - $('.panel-toolbar select').change(function() { - console.log('loading panel', $(this).val(), 'into', $('.panel-contents', $(this).parent())); +function loadPanel(target, url) { + $.log('ajax', url, 'into', target); + $('.change-notification', $(target).parent()).fadeOut(); + $(document).trigger('panel:unload', target); + $.ajax({ + url: url, + dataType: 'html', + success: function(data, textStatus) { + $(target).html(data); + $(document).trigger('panel:load', target); + }, + error: function(request, textStatus, errorThrown) { + $.log('ajax', url, target, 'error:', textStatus, errorThrown); + } }); - // $('#id_folders').change(function() { - // $('#images').load('{% url folder_image_ajax %}' + $('#id_folders').val() + '/', function() { - // $('#images-wrap').data('lazyload:lastCheckedScrollTop', -10000); - // }); - // }); - // - // - - // var editor = CodeMirror.fromTextArea("id_text", { - // parserfile: 'parsexml.js', - // path: "/static/js/codemirror/", - // stylesheet: "/static/css/xmlcolors.css", - // parserConfig: {useHTMLKludges: false}, - // initCallback: function() { - // $('#images').autoscroll('iframe'); - // $('.toggleAutoscroll').toggle(function() { - // $(this).html('Synchronizuj przewijanie'); - // $('#images').disableAutoscroll(); - // }, function() { - // $(this).html('Nie synchronizuj przewijania'); - // $('#images').enableAutoscroll(); - // }) - // - // // Toolbar - // $('#toolbar-tabs li').click(function() { - // var id = $(this).attr('p:button-list'); - // $('#toolbar-tabs li').removeClass('active'); - // $(this).addClass('active'); - // if (!$('#' + id).is(':visible')) { - // $('#toolbar-buttons ol').not('#' + id).hide(); - // $('#' + id).show(); - // } - // }) - // - // var keys = {}; - // $('#toolbar-buttons li').each(function() { - // var tag = $(this).attr('p:tag'); - // var handler = function() { - // var text = editor.selection(); - // editor.replaceSelection('<' + tag + '>' + text + ''); - // if (text.length == 0) { - // var pos = editor.cursorPosition(); - // editor.selectLines(pos.line, pos.character + tag.length + 2); - // } - // } - // if ($(this).attr('p:key')) { - // keys[$(this).attr('p:key')] = handler; - // } - // $(this).click(handler) - // }); - // - // editor.grabKeys(function(event) { - // if (keys[event.keyCode]) { - // keys[event.keyCode](); - // } - // }, function(event) { - // return event.altKey && keys[event.keyCode]; - // }); - // } - // }); - +} - +// Funkcja do tworzenia nowych paneli +function panel(load, unload) { + var self = null; + var eventId = Math.ceil(Math.random() * 1000000000); + + unloadHandler = function(event, panel) { + if (self && self == panel) { + $(document).unbind('panel:unload.' + eventId); + $(panel).html(''); + unload(event, panel); + return false; + } + }; + + $(document).one('panel:load', function(event, panel) { + self = panel; + $(document).bind('panel:unload.' + eventId, unloadHandler); + load(event, panel); + }); +} - - // $('#toolbar-buttons li').wTooltip({ - // delay: 1000, - // style: { - // border: "1px solid #7F7D67", - // opacity: 0.9, - // background: "#FBFBC6", - // padding: "1px", - // fontSize: "12px", - // }}); - - // $('#images-wrap').lazyload('.image-box', {threshold: 640 * 10, scrollTreshold: 640 * 5}); +$(function() { + $('#panels').makeHorizPanel({}); + $('#panels').css('top', ($('#header').outerHeight() ) + 'px'); + + $('.panel-toolbar select').change(function() { + loadPanel($('.panel-content', $(this).parent().parent()), $(this).val()) + }); });