From eb4165ba82dbcf7eb4d01a7680a8ce8c78a41b8e Mon Sep 17 00:00:00 2001 From: PeekabooSteam Date: Mon, 6 Mar 2023 15:09:02 +0000 Subject: [PATCH] Added mouse events to index.ts for ol-select. --- client/src/index.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/client/src/index.ts b/client/src/index.ts index d0be2d05..239100f9 100644 --- a/client/src/index.ts +++ b/client/src/index.ts @@ -60,13 +60,32 @@ function setup() { /* Generic clicks */ document.addEventListener( "click", ( ev ) => { + if ( ev instanceof PointerEvent && ev.target instanceof HTMLElement ) { if ( ev.target.classList.contains( "olympus-dialog-close" ) ) { ev.target.closest( "div.olympus-dialog" )?.classList.add( "hide" ); } } + }); + + /** Olympus UI ***/ + document.querySelectorAll( ".ol-select" ).forEach( select => { + + // Do open/close toggle + select.addEventListener( "click", ev => { + select.classList.toggle( "is-open" ); + }); + + // Autoclose on mouseleave + select.addEventListener( "mouseleave", ev => { + select.classList.remove( "is-open" ); + }); + + }); + + /* ATC */ let atcFeatureSwitch = featureSwitches.getSwitch( "atc" ); if ( atcFeatureSwitch?.isEnabled() ) {