Dirty hack to fix gallery editing on some browsers
[redakcja.git] / platforma / static / js / views / gallery.js
old mode 100644 (file)
new mode 100755 (executable)
index 1808ea1..d6844c6
@@ -10,7 +10,8 @@ var ImageGalleryView = View.extend({
   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("gallery model", this.model);
@@ -218,21 +219,24 @@ var ImageGalleryView = View.extend({
 
   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(template);
-
+      this._super();
+      
       /* fetch important parts */
       this.$pageListRoot = $('.image-gallery-page-list', this.element);
       this.$pages = $('.image-gallery-page-container', this.$pageListRoot);
@@ -258,6 +262,15 @@ var ImageGalleryView = View.extend({
 
       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() {