From c89de9abebc4d37ade757ddf51d5a3e37e1cfead Mon Sep 17 00:00:00 2001 From: Junaid Bhura Date: Fri, 1 Mar 2024 14:51:18 +1100 Subject: [PATCH] fix multi select event conflict --- src/multi-select/tp-multi-select-search.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/multi-select/tp-multi-select-search.ts b/src/multi-select/tp-multi-select-search.ts index fc57398..712ee2b 100644 --- a/src/multi-select/tp-multi-select-search.ts +++ b/src/multi-select/tp-multi-select-search.ts @@ -92,8 +92,15 @@ export class TPMultiSelectSearchElement extends HTMLElement { * @param {Event} e Click event. */ protected handleClick( e: Event ): void { + // First, prevent propagation to avoid document.click set on `tp-multi-select`. e.preventDefault(); e.stopPropagation(); + + // Now send the event so other stuff can work as per normal, and another event for good measure. + this.dispatchEvent( new CustomEvent( 'multi-select-opened' ) ); + document.dispatchEvent( new Event( 'click' ) ); + + // Open multi select. this.closest( 'tp-multi-select' )?.setAttribute( 'open', 'yes' ); }