From: zuber Date: Sat, 22 Aug 2009 14:20:28 +0000 (+0200) Subject: Dodanie funkcji panel do tworzenia nowych paneli edytora i refaktoring xmleditor... X-Git-Url: https://git.mdrn.pl/redakcja.git/commitdiff_plain/f204b632ebb00f5de6ce1306aa123afd7213de69?ds=sidebyside;hp=34672fb6ded3a27e2b61959d7c5af184e3180ab9 Dodanie funkcji panel do tworzenia nowych paneli edytora i refaktoring xmleditor.html przy jej pomocy. --- diff --git a/project/static/js/panels.js b/project/static/js/panels.js index eca4ddfc..eb1380d4 100644 --- a/project/static/js/panels.js +++ b/project/static/js/panels.js @@ -6,17 +6,34 @@ function loadPanel(target, url) { dataType: 'html', success: function(data, textStatus) { $(target).html(data); - $(document).trigger('panel:unload', target); $(document).trigger('panel:load', target); // panel(target); }, error: function(request, textStatus, errorThrown) { - $(document).trigger('panel:unload', target); console.log('ajax', url, target, 'error:', textStatus, errorThrown); } }); } +// 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, unloadHandler); + unload(event, panel); + } + }; + + $(document).one('panel:load', function(event, panel) { + self = panel; + $(document).bind('panel:unload.' + eventId, unloadHandler); + load(event, panel); + }); +} + $(function() { // ======================== // = Resizable panels = diff --git a/project/templates/explorer/panels/xmleditor.html b/project/templates/explorer/panels/xmleditor.html index 356b76c1..6bdcc30b 100644 --- a/project/templates/explorer/panels/xmleditor.html +++ b/project/templates/explorer/panels/xmleditor.html @@ -2,34 +2,18 @@