1 /*global View render_template panels */
 
   2 var HTMLView = View.extend({
 
   3   _className: 'HTMLView',
 
   6   template: 'html-view-template',
 
   8   init: function(element, model, parent, template) {
 
   9     this._super(element, model, template);
 
  13       .addObserver(this, 'data', this.modelDataChanged.bind(this))
 
  14       .addObserver(this, 'state', this.modelStateChanged.bind(this));
 
  16     $('.htmlview', this.element).html(this.model.get('data'));
 
  17     this.modelStateChanged('state', this.model.get('state'));
 
  21   modelDataChanged: function(property, value) {
 
  22     $('.htmlview', this.element).html(value);
 
  25   modelStateChanged: function(property, value) {
 
  26     if (value == 'synced' || value == 'dirty') {
 
  27       this.parent.unfreeze();
 
  28     } else if (value == 'unsynced') {
 
  29       this.parent.freeze('Niezsynchronizowany...');
 
  30     } else if (value == 'loading') {
 
  31       this.parent.freeze('Ćadowanie...');
 
  32     } else if (value == 'saving') {
 
  33       this.parent.freeze('Zapisywanie...');
 
  34     } else if (value == 'error') {
 
  35       this.parent.freeze(this.model.get('error'));
 
  40     this.model.removeObserver(this);
 
  46 panels['html'] = HTMLView;