* improve arg layout * improve runs row (wip) * Add job badges * group filters in dropdown * improve runs row layout * Improve filter layout * use select for graph display * handle width modification * Remove useless headers * fix bad display when result is null * Display all jobs tags * Improve display for 'step of flow' jobs * Add empty message for JobAssetsViewer * Move job preview assets tab to flow result for flows * Only show tag in the tag column * Add job kind to rows * Add padding to the run preview * nit * move refresh on top of table * Move filters into header bar * move runs table topbar outside table * Simplify layout * Use toggle for kind for large screen * move sync job and add batch actions breakpoint * revert dropdown to toggle for conurrency/duration * handle run labels overflow * improve time display * fix flow preview with no path display * Add titles * Prevent tab shift for script and flow result * nit * Allow job deselect * Make job link more visible * Fix filtering for queued job * Fix filter not reseting after select from toggleMore * Allways show assets for flow status viewer * Update run chart to svelte 5 and fix reactivity issue * migrate concurrency chart to svelte 5 * Improve admmin workspace display and fix missing in add filter popover * nit * fix run table resize * Add breakpoint to hide tag in small screens * use a css file for gathering RunRow and RunTable classes * nit * nit * remove debug log * nit * fix typo * Have too icons for queued workers and suspended * add gap before auto-refresh * Replace min max to from to calendar picker * Add loading state for job preview * Move duration * Display kind full width when calendar not set * Only show 2 digits for jobs duration * Replace Scheduled for by a clock un the run row * Fix typpo in dropown select to dropdown select * Hide sync and previews in toggle more * Fix runs row padding * Change notification colors for queued jobs * use utils debounce function * fix typo * nit * use class instead of classNames * clean select filter side effects
39 lines
1.1 KiB
Svelte
39 lines
1.1 KiB
Svelte
<script lang="ts">
|
|
import DropdownV2 from '$lib/components/DropdownV2.svelte'
|
|
import { ChevronDown } from 'lucide-svelte'
|
|
import { twMerge } from 'tailwind-merge'
|
|
import type { Item } from '$lib/utils'
|
|
|
|
interface Props {
|
|
items?: Item[]
|
|
extraLabel?: import('svelte').Snippet
|
|
selected: string
|
|
selectedDisplayName?: string
|
|
btnClasses?: string
|
|
}
|
|
|
|
let { items = [], extraLabel, selected, selectedDisplayName, btnClasses }: Props = $props()
|
|
|
|
const filteredItems = $derived(items.filter((item) => item.id !== selected))
|
|
</script>
|
|
|
|
<DropdownV2 items={filteredItems}>
|
|
{#snippet buttonReplacement()}
|
|
<div
|
|
class={twMerge(
|
|
'p-2 h-8 flex flex-row items-center gap-2 border hover:bg-surface-hover cursor-pointer rounded-md',
|
|
btnClasses
|
|
)}
|
|
>
|
|
<div class="flex flex-row items-center gap-1 pr-2 justify-between w-full">
|
|
<span class="text-xs whitespace-nowrap">
|
|
{selectedDisplayName ?? items.find((item) => item.id === selected)?.displayName ?? ''}
|
|
</span>
|
|
|
|
{@render extraLabel?.()}
|
|
</div>
|
|
<ChevronDown size={12} />
|
|
</div>
|
|
{/snippet}
|
|
</DropdownV2>
|