Oops #2
[redakcja.git] / project / static / js / views / view.js
index 52fc6e0..bc8266c 100644 (file)
@@ -7,25 +7,33 @@ var View = Editor.Object.extend({
   overlayClass: 'view-overlay',
   overlay: null,
   
   overlayClass: 'view-overlay',
   overlay: null,
   
-  init: function(element, model, template) {
+  init: function(element, model, template) 
+  {
+    console.log("init for view");
     this.element = $(element);
     this.model = model;
     this.template = template || this.template;
     
     this.element = $(element);
     this.model = model;
     this.template = template || this.template;
     
-    if (this.template) {
-      this.element.html(render_template(this.template, this));
-    }
+    if (this.template) this.render();
     
     this._resizeHandler = this.resized.bind(this);
     $(window).bind('resize', this._resizeHandler);
     $(this.element).bind('resize', this._resizeHandler);
   },
     
     this._resizeHandler = this.resized.bind(this);
     $(window).bind('resize', this._resizeHandler);
     $(this.element).bind('resize', this._resizeHandler);
   },
+
+  render: function() {
+      console.log('rendering:', this._className);
+      this.element.html(render_template(this.template, this));
+  },
   
   frozen: function() {
     return !!this.overlay;
   },
   
   freeze: function(message) {
   
   frozen: function() {
     return !!this.overlay;
   },
   
   freeze: function(message) {
+    if (this.frozen()) {
+      this.unfreeze();
+    }
     this.overlay = this.overlay 
       || $('<div><div>' + message + '</div></div>')
             .addClass(this.overlayClass)
     this.overlay = this.overlay 
       || $('<div><div>' + message + '</div></div>')
             .addClass(this.overlayClass)