import SlimSelect from "slim-select";
import "slim-select/styles";
new SlimSelect({
select: ".my-select",
settings: {
showSearch: false,
},
events: {
afterChange: () => {},
},
});
let newOptions = [];
const select = new SlimSelect({
select: '.selector',
settings: {
showSearch: false,
allowDeselect: true,
},
events: {
afterChange: function() {
select.setSelected(newOptions.map(item => item.value))
},
beforeChange: (newVal, oldVal) => {
if(oldVal.some(item => item.value === "all")){
newOptions = newVal.filter(item => item.value !== 'all')
} else {
if (newVal.some(item => item.value === "all")) {
newOptions = newVal.filter(item => item.value === 'all')
} else {
newOptions = newVal
}
}
if(newVal.length === 0){
newOptions = [{value: 'all'}]
}
},
},
});