[FIX] website editor: background image
authorchm@openerp.com <>
Mon, 5 May 2014 15:07:22 +0000 (17:07 +0200)
committerchm@openerp.com <>
Mon, 5 May 2014 15:07:22 +0000 (17:07 +0200)
bzr revid: chm@openerp.com-20140505150722-gwewelvu3uv6joen

addons/website/static/src/js/website.editor.js
addons/website/static/src/js/website.snippets.editor.js

index 2119d05..d7b7843 100644 (file)
             this.trigger("saved");
         },
         cancel: function () {
+            this.trigger("cancel");
         },
         close: function () {
             this.$el.modal('hide');
index bae0140..51e8bc3 100644 (file)
         },
         clean_for_save: function () {
             var self = this;
-            $(website.snippet.globalSelector).each(function () {
+            this.dom_filter(website.snippet.globalSelector).each(function () {
                 var $snippet = $(this);
                 self.make_active($snippet);
                 self.make_active(false);
             this._super(np);
             if (np.$next) {
                 if (np.$next.hasClass("oe_custom_bg")) {
-                    var editor = new website.editor.ImageDialog();
-                    editor.on('start', self, function (o) {o.url = np.$prev && np.$prev.data("src") || np.$next && np.$next.data("src") || "";});
-                    editor.on('save', self, function (o) {
-                        self._set_bg(o.url);
-                        np.$next.data("src", o.url);
+                    var $image = $('<img class="hidden"/>');
+                    $image.attr("src", np.$prev ? np.$prev.data("src") : '');
+                    $image.appendTo(self.$target);
+
+                    self.element = new CKEDITOR.dom.element($image[0]);
+                    var editor = new website.editor.MediaDialog(self, self.element);
+                    editor.appendTo(document.body);
+                    editor.$('[href="#editor-media-video"], [href="#editor-media-icon"]').addClass('hidden');
+
+                    $image.on('saved', self, function (o) {
+                        var src = $image.attr("src");
+                        self._set_bg(src);
+                        np.$next.data("src", src);
                         self.$target.trigger("snippet-style-change", [self, np]);
+                        $image.remove();
                     });
                     editor.on('cancel', self, function () {
                         if (!np.$prev || np.$prev.data("src") === "") {
                             self.$target.removeClass(np.$next.data("value"));
                             self.$target.trigger("snippet-style-change", [self, np]);
                         }
+                        $image.remove();
                     });
-                    editor.appendTo($('body'));
                 } else {
                     this._set_bg(np.$next.data("src"));
                 }