diff options
Diffstat (limited to 'addons/web_editor/static/src/js/snippets.editor.js')
| -rw-r--r-- | addons/web_editor/static/src/js/snippets.editor.js | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/addons/web_editor/static/src/js/snippets.editor.js b/addons/web_editor/static/src/js/snippets.editor.js index 1549db18689..e4885593029 100644 --- a/addons/web_editor/static/src/js/snippets.editor.js +++ b/addons/web_editor/static/src/js/snippets.editor.js @@ -1082,28 +1082,35 @@ data.Editor = Class.extend({ var $style_button = this.$overlay.find(".oe_options"); var $ul = $style_button.find("ul:first"); var $headers = $ul.find(".dropdown-header:data(editor)"); - _.each($headers, function (el) { + _.each($headers, (function (el) { var $el = $(el); var styles = _.values($el.data("editor").styles); if ($el.data("editor") !== this) { styles = _.filter(styles, function (option) { return !option.preventChildPropagation; }); } + + var count = 0; _.each(_.sortBy(styles, "__order").reverse(), function (style) { - do_action(style, $el); + if (do_action(style, $el)) { + count++; + } }); - }); + $el.toggleClass("hidden", count === 0); + }).bind(this)); // Activate the overlay - $style_button.toggleClass("hidden", $ul.children(":not(.dropdown-header):not(.divider):not(.hidden)").length === 0); + $style_button.toggleClass("hidden", $ul.children(":not(.divider):not(.hidden)").length === 0); this.$overlay.toggleClass("oe_active", !!focus); function _do_action_focus(style, $dest) { style.$el.insertAfter($dest); style.on_focus(); + return (style.$el.length > 0); } function _do_action_blur(style, $dest) { style.$el.detach(); style.on_blur(); + return false; } }, }); |
