lion/packages/ui/components/input-amount-dropdown/test-helpers/mimicUserChangingDropdown.js
Robin Van Roy 57800c4501
chore: adds lion-input-amount-dropdown (#2505)
Co-authored-by: gerjanvangeest <Gerjan.van.Geest@ing.com>
2025-08-13 14:40:57 +02:00

22 lines
669 B
JavaScript

/**
* @typedef {HTMLSelectElement|HTMLElement & {modelValue:string}} DropdownElement
*/
/**
* @param {DropdownElement} dropdownEl
* @param {string} value
*/
export function mimicUserChangingDropdown(dropdownEl, value) {
if ('modelValue' in dropdownEl) {
// eslint-disable-next-line no-param-reassign
dropdownEl.modelValue = value;
dropdownEl.dispatchEvent(
new CustomEvent('model-value-changed', { detail: { isTriggeredByUser: true } }),
);
} else {
// eslint-disable-next-line no-param-reassign
dropdownEl.value = value;
dropdownEl.dispatchEvent(new Event('change'));
dropdownEl.dispatchEvent(new Event('input'));
}
}