From 30c13eaf05e638afcfbb2b24182bbedabca490c7 Mon Sep 17 00:00:00 2001 From: Arman Date: Fri, 26 Jul 2024 17:20:37 +0200 Subject: [PATCH] feat: mobile view --- src/lib/components/filters/filters.svelte | 2 + src/lib/elements/pill.svelte | 12 +- .../executions/+page.svelte | 172 ++++++++++++------ 3 files changed, 132 insertions(+), 54 deletions(-) diff --git a/src/lib/components/filters/filters.svelte b/src/lib/components/filters/filters.svelte index 793864e32..eca7e5f27 100644 --- a/src/lib/components/filters/filters.svelte +++ b/src/lib/components/filters/filters.svelte @@ -105,9 +105,11 @@ operatorKey !== ValidOperators.IsNull); function toggleDropdown() { + dispatch('toggle', { show: !showFiltersDesktop }); showFiltersDesktop = !showFiltersDesktop; } function toggleMobileModal() { + dispatch('toggle', { show: !showFiltersMobile }); showFiltersMobile = !showFiltersMobile; } diff --git a/src/lib/elements/pill.svelte b/src/lib/elements/pill.svelte index 1c2ef4e6f..c5d129b6f 100644 --- a/src/lib/elements/pill.svelte +++ b/src/lib/elements/pill.svelte @@ -12,6 +12,9 @@ export let external = false; export let href: string = null; export let event: string = null; + export let style = ''; + let classes = ''; + export { classes as class }; function track() { if (!event) { @@ -26,10 +29,11 @@ {#if href} {:else}
col.id === '$id'); let idQuery: string; + const durationColumn = $columns.find((col) => col.id === 'duration'); + const durationOptions = [ + ...durationColumn.elements, + { + value: null, + label: 'Select duration' + } + ] as { value: string; label: string }[]; + let durationQuery: string = null; + let showMobileFilters = false; onMount(() => { + data?.query ? (showMobileFilters = true) : (showMobileFilters = false); return sdk.forConsole.client.subscribe('console', (response) => { if (response.events.includes('functions.*.executions.*')) { invalidate(Dependencies.EXECUTIONS); @@ -159,6 +185,11 @@ tagList.forEach((tag) => queries.removeFilter(tag)); addFilter($columns, idColumn.id, ValidOperators.StartsWith, idQuery); } + if (durationQuery) { + const tagList = $tags.filter((tag) => tag.tag.includes(durationColumn.title)); + tagList.forEach((tag) => queries.removeFilter(tag)); + addFilter($columns, durationColumn.id, ValidOperators.GreaterThan, durationQuery); + } queries.apply(); } @@ -203,8 +234,12 @@ let:toggle quickFilters clearOnClick - enableApply={!!pathQuery || !!idQuery} - on:apply={applyFilters}> + enableApply={!!pathQuery || !!idQuery || !!durationQuery} + on:apply={applyFilters} + on:toggle={() => { + pathQuery = idQuery = ''; + durationQuery = null; + }}>
- -
- - - - - - - -

Apply quick filter rules to refine the table view

-
- - - - -
-
    - -
-
-
-
- +
+
+ +
+ + +
+
+
+ + + { + pathQuery = idQuery = ''; + durationQuery = null; + }}> + + + + More filters + {#if tagCount} + {tagCount} + {/if} + + + + +

Apply quick filter rules to refine the table view

+
+ + + + + +
+
    + +
+
+