This commit is contained in:
2024-12-15 11:59:28 +01:00
parent 02ab822801
commit 9e6ef73ccb

View File

@ -19,7 +19,6 @@
<script lang="ts">
import {Button, Dropdown, Search} from "flowbite-svelte";
import {stopPropagation} from "@components/util.ts";
interface Props {
@ -37,25 +36,22 @@
leftText = false,
searchValue = $bindable(items.find(item => item.value === selected)?.name || "")
}: Props = $props();
let open = $state(false);
let filteredItems = $derived(items.filter(item => item.name.toLowerCase().includes(searchValue.toLowerCase())).filter((value, index) => index < maxItems));
function selectItem(item: { name: string, value: string }) {
selected = item.value;
searchValue = "";
open = false;
}
</script>
<Button color="light"
onclick={stopPropagation(() => open = true)}>{selected === null ? 'Auswählen' : items.find(value => value.value === selected)?.name}</Button>
<Dropdown bind:open class="w-60">
<Button color="light">{selected === null ? 'Auswählen' : items.find(value => value.value === selected)?.name}</Button>
<Dropdown class="w-60">
{#snippet header()}
<div class="overflow-y-auto p-3 text-sm w-60" >
<Search bind:value={searchValue} onfocus={() => open = true} onkeydown={() => open = true}/>
</div>
{/snippet}
<div class="overflow-y-auto p-3 text-sm w-60" >
<Search bind:value={searchValue} />
</div>
{/snippet}
{#each filteredItems as item (item)}
<button onclick={() => selectItem(item)}
class="rounded p-2 hover:bg-gray-100 dark:hover:bg-gray-600 w-full cursor-pointer border-b border-b-gray-600"