Dodanie PanelContainerView oraz postawy HTMLView i XMLView.
[redakcja.git] / project / static / js / views / panel_container.js
diff --git a/project/static/js/views/panel_container.js b/project/static/js/views/panel_container.js
new file mode 100644 (file)
index 0000000..66683dd
--- /dev/null
@@ -0,0 +1,28 @@
+/*globals Class render_template panels*/
+
+var PanelContainerView = Class.extend({
+  element: null,
+  template: 'panel-container-view-template',
+  contentView: null,
+  
+  init: function(element, template) {
+    this.element = $(element);
+    this.template = template || this.template;
+    
+    this.element.html(render_template(this.template, {panels: panels}));
+    $('select', this.element.get(0)).bind('change.panel-container-view', this.selectChanged.bind(this));
+  },
+  
+  selectChanged: function(event) {
+    var view = panels[$('select', this.element.get(0)).val()];
+    var klass = view.klass;
+    console.log(view, klass);
+    this.contentView = new klass($('.content-view', this.element.get(0)));
+    console.log(this.contentView);
+  },
+  
+  dispose: function() {
+    $('select', this.element.get(0)).unbind('change.panel-container-view');
+  }
+});
+