WIP Tom Select options

This commit is contained in:
jf-cbd
2025-11-25 17:46:18 +01:00
parent a19472cfd1
commit e1bd815094
3 changed files with 36 additions and 3 deletions

View File

@@ -1,8 +1,32 @@
class TomSelectElement extends HTMLSelectElement {
plugins = [];
connectedCallback() {
new TomSelect(this, {
if (this.getAttribute('data-tom-select-multiple')) {
this.plugins.push('remove_button');
}
});
const options = {
plugins: this.plugins,
wrapperClass: 'ts-wrapper ibo-input-wrapper ibo-input-select-wrapper--with-buttons ibo-input-select-autocomplete-wrapper',
controlClass: 'ts-control ibo-input ibo-input-select ibo-input-select-autocomplete',
render: {
dropdown: function (data, escape) {
return `<div class="selectize-dropdown"></div>`;
}
}
};
if (this.getAttribute('data-tom-select-disable-control-input')) {
options.controlInput = null;
}
if (this.getAttribute('data-tom-select-max-items-selected')) {
options.maxItems = parseInt(this.getAttribute('data-tom-select-max-items-selected'));
}
if (this.getAttribute('data-tom-select-placehelder')) {
options.placeholder = this.getAttribute('data-tom-select-placehelder');
}
new TomSelect(this, options);
}
}