summaryrefslogtreecommitdiff
path: root/addons/website/static/src/js/website.editor.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2016-09-30 17:23:30 +0200
committerChristophe Simonis <chs@odoo.com>2016-09-30 17:23:30 +0200
commitc8cc54559b75a621e4444ecdca6abd901b45e494 (patch)
tree92141325d4dbbf70bbfb8e0c040d4435c8d2378f /addons/website/static/src/js/website.editor.js
parentb2804b1d2ae5fd7ec5c0eca79a8db77476badc84 (diff)
parent91a14488250bc2bb405cc6d300359aa272642484 (diff)
[MERGE] forward port branch 10.0 up to 91a1448
Diffstat (limited to 'addons/website/static/src/js/website.editor.js')
-rw-r--r--addons/website/static/src/js/website.editor.js24
1 files changed, 11 insertions, 13 deletions
diff --git a/addons/website/static/src/js/website.editor.js b/addons/website/static/src/js/website.editor.js
index 8873703d790..d1e71d064a2 100644
--- a/addons/website/static/src/js/website.editor.js
+++ b/addons/website/static/src/js/website.editor.js
@@ -54,39 +54,37 @@ website.TopBar.include({
website.TopBarCustomize = Widget.extend({
events: {
- 'mousedown a.dropdown-toggle': 'load_menu',
- 'click ul a[data-view-id]': 'do_customize',
+ 'click > ul a[data-view-id]': 'do_customize',
},
start: function () {
- var self = this;
- this.$menu = self.$el.find('ul');
this.view_name = $(document.documentElement).data('view-xmlid');
if (!this.view_name) {
this.$el.hide();
}
- this.loaded = false;
+
+ if (this.$el.is(".open")) {
+ this.load_menu();
+ } else {
+ this.$el.one("mousedown", "> a.dropdown-toggle", this.load_menu.bind(this));
+ }
},
load_menu: function () {
- var self = this;
- if(this.loaded) {
- return;
- }
+ var $menu = this.$el.children("ul");
ajax.jsonRpc('/website/customize_template_get', 'call', {
key: this.view_name,
+ full: false
}).then(function (result) {
_.each(result, function (item) {
- if (item.key === "website.debugger" && !window.location.search.match(/[&?]debug(&|$)/)) return;
if (item.header) {
- self.$menu.append('<li class="dropdown-header">' + item.name + '</li>');
+ $menu.append('<li class="dropdown-header">' + item.name + '</li>');
} else {
var $li = $('<li/>', {role: 'presentation'})
.append($('<a/>', {href: '#', 'data-view-id': item.id, role: 'menuitem'})
.append(qweb.render('web_editor.components.switch', {id: 'switch-' + item.id, label: item.name})));
$li.find('input').prop('checked', !!item.active);
- self.$menu.append($li);
+ $menu.append($li);
}
});
- self.loaded = true;
});
},
do_customize: function (e) {