major update

This commit is contained in:
2026-03-04 15:56:58 +01:00
parent 16759a2732
commit 8f4dd5840d
478 changed files with 24313 additions and 8201 deletions

View File

@@ -86,7 +86,24 @@ export const initMultiSelect = async (target = '[data-multi-select]') => {
syncInput.dispatchEvent(new Event('change', { bubbles: true }));
isSyncing = false;
};
instance.element.addEventListener('multi-select:change', syncValues);
let boundElement = null;
const bindSyncListener = () => {
if (!instance?.element || instance.element === boundElement) {
return;
}
instance.element.addEventListener('multi-select:change', syncValues);
boundElement = instance.element;
};
bindSyncListener();
if (typeof instance.refresh === 'function' && instance._syncRefreshWrapped !== true) {
const originalRefresh = instance.refresh.bind(instance);
instance.refresh = (...args) => {
const result = originalRefresh(...args);
bindSyncListener();
return result;
};
instance._syncRefreshWrapped = true;
}
const values = instance.selectedValues || [];
syncInput.value = Array.isArray(values) ? values.join(',') : '';
syncInput.addEventListener('change', () => {