From a042c8a870323262803989df840f15c351393a24 Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Fri, 8 Jan 2021 16:23:20 +0100 Subject: [PATCH 1/2] added outsideclick as custom directive ref #27 --- src/components/outsideclick.js | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/components/outsideclick.js diff --git a/src/components/outsideclick.js b/src/components/outsideclick.js new file mode 100644 index 00000000..f2eef649 --- /dev/null +++ b/src/components/outsideclick.js @@ -0,0 +1,10 @@ +/** Dispatch event on click outside of node */ +export function clickOutside(node) { + const handleClick = (event) => { + if (event.target.getAttribute('data-id') === 'modal_backdrop') { + node.dispatchEvent(new CustomEvent('click_outside', node)); + } + }; + document.removeEventListener('click', handleClick, true); + document.addEventListener('click', handleClick, true); +} From 2657f30cf3acaa592408d2d4cddcb02bf76bb6af Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Fri, 8 Jan 2021 16:23:45 +0100 Subject: [PATCH 2/2] use outsideclick custom directive in AddTrackModal component ref #27 --- src/components/AddTrackModal.svelte | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/components/AddTrackModal.svelte b/src/components/AddTrackModal.svelte index 6f94c10c..05a2b8f8 100644 --- a/src/components/AddTrackModal.svelte +++ b/src/components/AddTrackModal.svelte @@ -1,5 +1,6 @@ {#if modal_open} -
+
{ + modal_open = false; + }}>