Bugfix for download button dropdown outsideclick

ref #91
This commit is contained in:
Nicolai Ort 2021-03-14 20:25:41 +01:00
parent 88ad64f113
commit 6a925cb27f
6 changed files with 78 additions and 63 deletions

View File

@ -57,8 +57,8 @@
let delete_org = {}; let delete_org = {};
document.addEventListener("click", function (e) { document.addEventListener("click", function (e) {
if ( if (
e.target.parentNode.parentNode.id != "sponsoring:dropdown" && e.target.parentNode?.parentNode?.id != "sponsoring:dropdown" &&
e.target.parentNode.parentNode.id != "sponsoring:dropdown:menu" e.target.parentNode?.parentNode?.id != "sponsoring:dropdown:menu"
) { ) {
sponsoring_contracts_download_open = false; sponsoring_contracts_download_open = false;
} }

View File

@ -20,8 +20,8 @@
document.addEventListener("click", function (e) { document.addEventListener("click", function (e) {
if ( if (
e.target.parentNode.parentNode.id != "sponsoring:dropdown" && e.target.parentNode?.parentNode?.id != "sponsoring:dropdown" &&
e.target.parentNode.parentNode.id != "sponsoring:dropdown:menu" e.target.parentNode?.parentNode?.id != "sponsoring:dropdown:menu"
) { ) {
sponsoring_contracts_download_open = false; sponsoring_contracts_download_open = false;
} }

View File

@ -35,8 +35,8 @@
}); });
document.addEventListener("click", function (e) { document.addEventListener("click", function (e) {
if ( if (
e.target.parentNode.parentNode.id != "sponsoring:dropdown" && e.target.parentNode?.parentNode?.id != "sponsoring:dropdown" &&
e.target.parentNode.parentNode.id != "sponsoring:dropdown:menu" e.target.parentNode?.parentNode?.id != "sponsoring:dropdown:menu"
) { ) {
sponsoring_contracts_download_open = false; sponsoring_contracts_download_open = false;
} }

View File

@ -33,8 +33,8 @@
.concat(mappedteams); .concat(mappedteams);
document.addEventListener("click", function (e) { document.addEventListener("click", function (e) {
if ( if (
e.target.parentNode.parentNode.id != "sponsoring:dropdown" && e.target.parentNode?.parentNode?.id != "sponsoring:dropdown" &&
e.target.parentNode.parentNode.id != "sponsoring:dropdown:menu" e.target.parentNode?.parentNode?.id != "sponsoring:dropdown:menu"
) { ) {
sponsoring_contracts_download_open = false; sponsoring_contracts_download_open = false;
} }

View File

@ -46,8 +46,8 @@
}); });
document.addEventListener("click", function (e) { document.addEventListener("click", function (e) {
if ( if (
e.target.parentNode.parentNode.id != "sponsoring:dropdown" && e.target.parentNode?.parentNode?.id != "sponsoring:dropdown" &&
e.target.parentNode.parentNode.id != "sponsoring:dropdown:menu" e.target.parentNode?.parentNode?.id != "sponsoring:dropdown:menu"
) { ) {
sponsoring_contracts_download_open = false; sponsoring_contracts_download_open = false;
} }

View File

@ -6,6 +6,7 @@
import store, { users as usersstore } from "../../store.js"; import store, { users as usersstore } from "../../store.js";
import TeamsEmptyState from "./TeamsEmptyState.svelte"; import TeamsEmptyState from "./TeamsEmptyState.svelte";
import ConfirmTeamDeletion from "./ConfirmTeamDeletion.svelte"; import ConfirmTeamDeletion from "./ConfirmTeamDeletion.svelte";
import { clickOutside } from "../base/outsideclick";
$: searchvalue = ""; $: searchvalue = "";
$: active_deletes = []; $: active_deletes = [];
$: sponsoring_contracts_download_open = false; $: sponsoring_contracts_download_open = false;
@ -19,9 +20,10 @@
usersstore.set(data); usersstore.set(data);
}); });
document.addEventListener("click", function (e) { document.addEventListener("click", function (e) {
console.log(e.target.parentNode)
if ( if (
e.target.parentNode.parentNode.id != "sponsoring:dropdown" && e.target.parentNode?.parentNode?.id != "sponsoring:dropdown" &&
e.target.parentNode.parentNode.id != "sponsoring:dropdown:menu" e.target.parentNode?.parentNode?.id != "sponsoring:dropdown:menu"
) { ) {
sponsoring_contracts_download_open = false; sponsoring_contracts_download_open = false;
} }
@ -123,13 +125,26 @@
aria-haspopup="true" aria-haspopup="true"
aria-expanded="true"> aria-expanded="true">
{$_('generate-sponsoring-contracts')} {$_('generate-sponsoring-contracts')}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="-mr-1 ml-2 h-5 w-5"><path fill="none" d="M0 0h24v24H0z"/><path fill="currentColor" d="M3 19h18v2H3v-2zm10-5.83l6.07-6.07 1.42 1.41L12 17 3.52 8.52l1.4-1.42L11 13.17V2h2v11.17z"/></svg> <svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
class="-mr-1 ml-2 h-5 w-5"><path
fill="none"
d="M0 0h24v24H0z" />
<path
fill="currentColor"
d="M3 19h18v2H3v-2zm10-5.83l6.07-6.07 1.42 1.41L12 17 3.52 8.52l1.4-1.42L11 13.17V2h2v11.17z" /></svg>
</button> </button>
</div> </div>
{#if sponsoring_contracts_download_open} {#if sponsoring_contracts_download_open}
<div <div
class="origin-top-right absolute right-0 mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5" 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"> id="sponsoring:dropdown:menu"
on:click_outside={() => {
sponsoring_contracts_download_open = false;
}}>
<div <div
class="py-1" class="py-1"
role="menu" role="menu"