Merge branch 'master' of stigma.nowoczesnapolska.org.pl:platforma
authorzuber <marek@stepniowski.com>
Tue, 29 Sep 2009 14:40:34 +0000 (16:40 +0200)
committerzuber <marek@stepniowski.com>
Tue, 29 Sep 2009 14:40:34 +0000 (16:40 +0200)
Conflicts:
project/static/js/models.js

1  2 
project/static/js/models.js

@@@ -179,9 -174,51 +179,51 @@@ Editor.HTMLModel = Editor.Model.extend(
  });
  
  
 -    this.pages = []
+ Editor.ImageGalleryModel = Editor.Model.extend({
+   _className: 'Editor.ImageGalleryModel',
+   serverURL: null,  
+   state: 'empty',
+   init: function(serverURL) {
+     this._super();
+     this.set('state', 'empty');
+     this.serverURL = serverURL;
+     // olewać data    
 -    this.set('pages', data[0].pages)
++    this.pages = [];
+   },
+   load: function() {
+     if (this.get('state') == 'empty') {
+       this.set('state', 'loading');
+       $.ajax({
+         url: this.serverURL,
+         dataType: 'json',
+         success: this.loadingSucceeded.bind(this)
+       });
+     }
+   },  
+   loadingSucceeded: function(data) {
+     if (this.get('state') != 'loading') {
+       alert('erroneous state:', this.get('state'));
+     }
++    this.set('pages', data[0].pages);
+     this.set('state', 'synced');
+   },
+   set: function(property, value) {
+     if (property == 'state') {
+       console.log(this.description(), ':', property, '=', value);
+     }
+     return this._super(property, value);
+   }
+ });
  Editor.DocumentModel = Editor.Model.extend({
    _className: 'Editor.DocumentModel',
 -  data: null, // name, text_url, latest_rev, latest_shared_rev, parts_url, dc_url, size
 +  data: null, // name, text_url, user_revision, latest_shared_rev, parts_url, dc_url, size, merge_url
    contentModels: {},
    state: 'empty',
    
      this.set('data', data);
      this.set('state', 'synced');
      this.contentModels = {
 -      'xml': new Editor.XMLModel(data.text_url),
 -      'html': new Editor.HTMLModel(data.html_url),
 +      'xml': new Editor.XMLModel(data.text_url, data.user_revision),
-       'html': new Editor.HTMLModel(data.html_url, data.user_revision)
++      'html': new Editor.HTMLModel(data.html_url, data.user_revision),
+       'gallery': new Editor.ImageGalleryModel(data.gallery_url)
      };
      for (var key in this.contentModels) {
        this.contentModels[key].addObserver(this, 'state', this.contentModelStateChanged.bind(this));