init: function(element, model, parent, template)
{
console.log("init for gallery");
- this._super(element, model, template);
+ var submodel = model.contentModels['gallery'];
+ this._super(element, submodel, template);
this.parent = parent;
- console.log("galley model", this.model);
+ console.log("gallery model", this.model);
this.model
.addObserver(this, 'data', this.modelDataChanged.bind(this))
},
modelDataChanged: function(property, value)
- {
- if( property == 'data')
- {
- this.render();
- this.gotoPage(this.currentPage);
- }
+ {
+ console.log(this.model.get('state'), value, value.length);
+ if ((this.model.get('state') == 'synced') && (value.length == 0)) {
+ console.log('tutaj');
+ this.render('image-gallery-empty-template');
+ } else {
+ this.render();
+ this.gotoPage(this.currentPage);
+ }
},
gotoPage: function(index)
modelStateChanged: function(property, value) {
if (value == 'loading') {
- this.parent.freeze('Ładowanie...');
+ this.freeze('Ładowanie...');
} else {
- this.parent.unfreeze();
+ if ((value == 'synced') && (this.model.get('data').length == 0)) {
+ this.render('image-gallery-empty-template');
+ }
+ this.unfreeze();
}
},
$page.hide();
$('img', $page).unbind();
- $page.empty();
-
+ $page.empty();
this.setPageViewOffset($page, {x:0, y:0});
},
offset.y = vp_height-MARGIN;
$page.css({left: offset.x, top: offset.y});
- },
+ },
+
+ reload: function() {
+ this.model.load(true);
+ },
renderImage: function(target)
{
mousedown(this.pageDragStart.bind(this));
},
- render: function()
+ render: function(template)
{
- if(!this.model) return;
-
- /* first unbind all */
- if(this.$nextButton) this.$nextButton.unbind();
- if(this.$prevButton) this.$prevButton.unbind();
- if(this.$jumpButton) this.$jumpButton.unbind();
- if(this.$pageInput) this.$pageInput.unbind();
-
- if(this.$zoomInButton) this.$zoomInButton.unbind();
- if(this.$zoomOutButton) this.$zoomOutButton.unbind();
- if(this.$zoomResetButton) this.$zoomResetButton.unbind();
-
+ if(!this.model) return;
+
+ $('.choose-gallery-button', this.element).unbind();
+
+ /* first unbind all */
+ if(this.$nextButton) this.$nextButton.unbind();
+ if(this.$prevButton) this.$prevButton.unbind();
+ if(this.$jumpButton) this.$jumpButton.unbind();
+ if(this.$pageInput) this.$pageInput.unbind();
+
+ if(this.$zoomInButton) this.$zoomInButton.unbind();
+ if(this.$zoomOutButton) this.$zoomOutButton.unbind();
+ if(this.$zoomResetButton) this.$zoomResetButton.unbind();
+
+ if (!template) {
/* render */
this._super();
-
+
/* fetch important parts */
this.$pageListRoot = $('.image-gallery-page-list', this.element);
this.$pages = $('.image-gallery-page-container', this.$pageListRoot);
this.gotoPage(this.currentPage);
this.changePageZoom(this.pageZoom);
+ } else {
+ this._super(template);
+
+ var self = this;
+ $('.choose-gallery-button', self.element).click(function() {
+ console.log('CLICK CLICK')
+ self.model.setGallery($('#id_subpath', self.element).val());
+ });
+ }
},
jumpToPage: function() {