diff options
| author | qsm-odoo <qsm@odoo.com> | 2017-12-20 14:14:56 +0100 |
|---|---|---|
| committer | qsm-odoo <qsm@odoo.com> | 2017-12-20 17:15:08 +0100 |
| commit | 8ca92330b367d54fddf1c02089ee9d0bc3edbfdc (patch) | |
| tree | b8cfc47ca58dcf49de8260a1effd1cd08ccefe6e /addons/web_editor/static/src/js | |
| parent | 374fa10272a731b499184e0d06330494990938cc (diff) | |
[IMP] web_editor: allow to define multiple `select-class` groups
Before this commit, when defining two sets of classes to be chosen
independently on a same element you had to define two options:
```
<div data-selector=".myElement">
<li class="dropdown-submenu">
<a tabindex="-1" href="#">Classes set 1</a>
<ul class="dropdown-menu">
<li data-select-class="a"><a href="#">A</a></li>
<li data-select-class="b"><a href="#">B</a></li>
<li data-select-class="c"><a href="#">C</a></li>
</ul>
</li>
</div>
<div data-selector=".myElement">
<li class="dropdown-submenu">
<a tabindex="-1" href="#">Classes set 2</a>
<ul class="dropdown-menu">
<li data-select-class="x"><a href="#">X</a></li>
<li data-select-class="y"><a href="#">Y</a></li>
<li data-select-class="z"><a href="#">Z</a></li>
</ul>
</li>
</div>
```
Now, an unique option can be used for this, allowing to not duplicate
the `data-selector` and not creating two JS options:
```
<div data-selector=".myElement">
<li class="dropdown-submenu">
<a tabindex="-1" href="#">Classes set 1</a>
<ul class="dropdown-menu">
<li data-select-class="a"><a href="#">A</a></li>
<li data-select-class="b"><a href="#">B</a></li>
<li data-select-class="c"><a href="#">C</a></li>
</ul>
</li>
<li class="dropdown-submenu">
<a tabindex="-1" href="#">Classes set 2</a>
<ul class="dropdown-menu">
<li data-select-class="x"><a href="#">X</a></li>
<li data-select-class="y"><a href="#">Y</a></li>
<li data-select-class="z"><a href="#">Z</a></li>
</ul>
</li>
</div>
```
Diffstat (limited to 'addons/web_editor/static/src/js')
| -rw-r--r-- | addons/web_editor/static/src/js/editor/snippets.options.js | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/addons/web_editor/static/src/js/editor/snippets.options.js b/addons/web_editor/static/src/js/editor/snippets.options.js index 4987e9a2d23..485bea35605 100644 --- a/addons/web_editor/static/src/js/editor/snippets.options.js +++ b/addons/web_editor/static/src/js/editor/snippets.options.js @@ -126,7 +126,11 @@ var SnippetOption = Widget.extend({ * @param {jQuery} $li - the related DOMElement option */ selectClass: function (previewMode, value, $li) { - var $lis = this.$el.find('[data-select-class]').addBack('[data-select-class]'); + var $group = $li.closest('.dropdown-submenu'); + if (!$group.length) { + $group = this.$el; + } + var $lis = $group.find('[data-select-class]').addBack('[data-select-class]'); var classes = $lis.map(function () {return $(this).data('selectClass');}).get().join(' '); this.$target.removeClass(classes); |
