[REF] *: BS4, adapt dropdowns and carets
- The dropdown structure was simplified, allowing to get rid of the 3-levels structure induced by <ul/> elements and dropdowns can now contain anything. The class 'dropdown-item' is now mandatory for each dropdown clickable element. The class 'dropdown-item-text' can be used to add same padding and style but without making the element have a clickable look. - Dividers now use the class 'dropdown-divider' - The way dropdowns are opened and hidden also changed (before the 'open' class was added on the `.dropdown-menu` parent, now the 'show' class is added on both the `.dropdown-menu` parent and the `.dropdown-menu` itself). - JS-wise, no click event handlers can be put on `.dropdown-toggle` elements anymore (instead, use handlers for dropdown events). - Carets are automatically put on `.dropdown-toggle` elements, so this commit replaces the `.caret` elements with this. This feature was possible to disable but would prevent us from adding a caret with scss. Also, this simplifies the DOM. The 'o-no-caret' class was also introduced to allow using the 'dropdown-toggle' class on non-caret elements. - Also adapt the scss to use $caret-width instead of $caret-width-base
This commit is contained in:
@@ -1612,10 +1612,7 @@ var AttachmentImage = AbstractField.extend({
|
||||
var StateSelectionWidget = AbstractField.extend({
|
||||
template: 'FormSelection',
|
||||
events: {
|
||||
'click a': function (e) {
|
||||
e.preventDefault();
|
||||
},
|
||||
'click li': '_setSelection'
|
||||
'click .dropdown-item': '_setSelection',
|
||||
},
|
||||
supportedFieldTypes: ['selection'],
|
||||
|
||||
@@ -1696,13 +1693,12 @@ var StateSelectionWidget = AbstractField.extend({
|
||||
* @param {MouseEvent} ev
|
||||
*/
|
||||
_setSelection: function (ev) {
|
||||
var li = $(ev.target).closest('li');
|
||||
if (li.length) {
|
||||
var value = String(li.data('value'));
|
||||
this._setValue(value);
|
||||
if (this.mode === 'edit') {
|
||||
this._render();
|
||||
}
|
||||
ev.preventDefault();
|
||||
var $item = $(ev.currentTarget);
|
||||
var value = String($item.data('value'));
|
||||
this._setValue(value);
|
||||
if (this.mode === 'edit') {
|
||||
this._render();
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user