From 1946d77911c974e2755d59891f34337a8af829b6 Mon Sep 17 00:00:00 2001 From: zuber Date: Thu, 27 Aug 2009 17:20:06 +0200 Subject: [PATCH 1/1] =?utf8?q?=C5=81adowanie=20paneli.=20Pozostaje=20jeszc?= =?utf8?q?ze=20jeden=20b=C5=82=C4=85d:=20Usuwanie=20z=20URLi=20niepotrzebn?= =?utf8?q?ych=20kawa=C5=82k=C3=B3w.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- project/static/js/editor.js | 56 ++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/project/static/js/editor.js b/project/static/js/editor.js index b732810e..23fab855 100644 --- a/project/static/js/editor.js +++ b/project/static/js/editor.js @@ -106,11 +106,11 @@ Editor.prototype.setupUI = function() { var panelRoot = $('#panels'); self.rootDiv = panelRoot; - // Set panel widths from options.panelRatios - if (self.options && self.options.panelRatios) { + // Set panel widths from options.panels + if (self.options && self.options.panels) { var totalWidth = 0; $('.panel-wrap', panelRoot).each(function(index) { - var panelWidth = self.options.panelRatios[index] * panelRoot.width(); + var panelWidth = self.options.panels[index].ratio * panelRoot.width(); if ($(this).hasClass('last-panel')) { $(this).css({ left: totalWidth, @@ -123,6 +123,7 @@ Editor.prototype.setupUI = function() { }); totalWidth += panelWidth; } + $('.panel-toolbar select', this).val(self.options.panels[index].url); }); } @@ -132,21 +133,39 @@ Editor.prototype.setupUI = function() { $('#panels > *.panel-wrap').each(function() { var panelWrap = $(this); $.log('wrap: ', panelWrap); - panelWrap.data('ctrl', new Panel(panelWrap)); // attach controllers to wraps - + panel = new Panel(panelWrap); + panelWrap.data('ctrl', panel); // attach controllers to wraps + panel.load($('.panel-toolbar select', panelWrap).val()); + $('.panel-toolbar select', panelWrap).change(function() { - panelWrap.data('ctrl').load( $(this).val() ); + var url = $(this).val(); + panelWrap.data('ctrl').load(url); + var panels = []; + $('.panel-wrap', panelRoot).not('.panel-content-overlay').each(function(index) { + panels.push({ + url: $('.panel-toolbar select', this).val(), + ratio: $(this).width() / panelRoot.width() + }) + }); + self.options.panels = panels; + $.log($.toJSON(self.options)); + $.cookie('options', $.toJSON(self.options), { expires: 7, path: '/'}); }); }); - + + $('.panel-toolbar').val() $('#toolbar-button-save').click( function (event, data) { self.saveToBranch(); } ); panelRoot.bind('stopResize', function() { - var panelRatios = []; - $('.panel-wrap', panelRoot).each(function() { - panelRatios.push($(this).width() / panelRoot.width()); + var panels = []; + $('.panel-wrap', panelRoot).not('.panel-content-overlay').each(function() { + console.log($(this), $(this).data('ctrl')); + panels.push({ + url: $('.panel-toolbar select', this).val(), + ratio: $(this).width() / panelRoot.width() + }) }); - self.options.panelRatios = panelRatios; + self.options.panels = panels; $.log($.toJSON(self.options)); $.cookie('options', $.toJSON(self.options), { expires: 7, path: '/'}); }); @@ -154,13 +173,18 @@ Editor.prototype.setupUI = function() { Editor.prototype.loadConfig = function() { // Load options from cookie - var cookie = $.cookie('options') - if (cookie) { + try { + var cookie = $.cookie('options'); this.options = $.secureEvalJSON(cookie); - } else { - // Default options - this.options = {panelRatios: [0.5, 0.5]} + } catch (e) { + this.options = { + panels: [ + {url: '/editor/panel/htmleditor/', ratio: 0.5}, + {url: '/editor/panel/gallery/', ratio: 0.5} + ] + } } + $.log(this.options); } Editor.prototype.saveToBranch = function() { -- 2.20.1