From c2bd696bfedcfdaf0b13eb165d800691d58ca010 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sun, 28 Feb 2021 17:39:21 +0100 Subject: [PATCH] Implemented rough outside click handler for the dropdown ref #84 --- src/components/orgs/OrgDetail.svelte | 11 +- src/components/orgs/OrgOverview.svelte | 12 +- src/components/runners/RunnerDetail.svelte | 11 +- src/components/runners/RunnersOverview.svelte | 111 ++++++++++-------- src/components/teams/TeamDetail.svelte | 11 +- src/components/teams/TeamsOverview.svelte | 11 +- 6 files changed, 116 insertions(+), 51 deletions(-) diff --git a/src/components/orgs/OrgDetail.svelte b/src/components/orgs/OrgDetail.svelte index 2b4abe3e..ea459cf0 100644 --- a/src/components/orgs/OrgDetail.svelte +++ b/src/components/orgs/OrgDetail.svelte @@ -55,6 +55,14 @@ }); let modal_open = false; let delete_org = {}; + document.addEventListener("click", function (e) { + if ( + e.target.parentNode.parentNode.id != "sponsoring:dropdown" && + e.target.parentNode.parentNode.id != "sponsoring:dropdown:menu" + ) { + sponsoring_contracts_download_open = false; + } + }); function deleteOrganization() { RunnerOrganizationService.runnerOrganizationControllerRemove( original_object.id, @@ -185,7 +193,8 @@ {#if sponsoring_contracts_download_open}
+ class="origin-top-right absolute right-0 mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5" + id="sponsoring:dropdown:menu"> {#if sponsoring_contracts_download_open}
+ class="origin-top-right absolute right-0 mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5" + id="sponsoring:dropdown:menu"> {#if sponsoring_contracts_download_open}
+ class="origin-top-right absolute right-0 mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5" + id="sponsoring:dropdown:menu">
{#if current_runners.some((r) => r.is_selected === true)} -
-
- -
- {#if sponsoring_contracts_download_open} -
- +
+
+
- {/if} -
+ {#if sponsoring_contracts_download_open} +
+ +
+ {/if} +
{/if}
{ contacts = val; }); + document.addEventListener("click", function (e) { + if ( + e.target.parentNode.parentNode.id != "sponsoring:dropdown" && + e.target.parentNode.parentNode.id != "sponsoring:dropdown:menu" + ) { + sponsoring_contracts_download_open = false; + } + }); function deleteTeam() { RunnerTeamService.runnerTeamControllerRemove(original.id, false) .then((resp) => { @@ -167,7 +175,8 @@
{#if sponsoring_contracts_download_open}
+ class="origin-top-right absolute right-0 mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5" + id="sponsoring:dropdown:menu"> {#if sponsoring_contracts_download_open}
+ class="origin-top-right absolute right-0 mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5" + id="sponsoring:dropdown:menu">