From b7bf85e9c5285bb8ba69f50a57cbc8c52b5b45b8 Mon Sep 17 00:00:00 2001 From: Ykrej Date: Fri, 20 Jun 2025 12:12:36 -0700 Subject: [PATCH 1/4] feat: added range filter for capacity --- src/routes/components/RangeFilter.svelte | 71 ++++++++++++++++++++ src/routes/components/ServerPartsGrid.svelte | 5 ++ 2 files changed, 76 insertions(+) create mode 100644 src/routes/components/RangeFilter.svelte diff --git a/src/routes/components/RangeFilter.svelte b/src/routes/components/RangeFilter.svelte new file mode 100644 index 0000000..50510e9 --- /dev/null +++ b/src/routes/components/RangeFilter.svelte @@ -0,0 +1,71 @@ + + +
+
+ + +
+
+ + +
+
diff --git a/src/routes/components/ServerPartsGrid.svelte b/src/routes/components/ServerPartsGrid.svelte index 52efa3f..3aa4bec 100644 --- a/src/routes/components/ServerPartsGrid.svelte +++ b/src/routes/components/ServerPartsGrid.svelte @@ -6,6 +6,7 @@ import CheckBoxFilter from './CheckBoxFilter.svelte' import { mount } from 'svelte' import CellLink from './CellLink.svelte' + import RangeFilter from './RangeFilter.svelte' const uid = $props.id() const { rowData } = $props() @@ -130,6 +131,10 @@ {/each} +
+ Capacity + +
{:else} {/if} From 16b6ba5228a52da57136c5e59566b2a1e9f4cb06 Mon Sep 17 00:00:00 2001 From: Ykrej Date: Fri, 20 Jun 2025 12:18:10 -0700 Subject: [PATCH 2/4] feat: added value getter for RangeFilter --- src/routes/components/RangeFilter.svelte | 8 ++++++-- src/routes/components/ServerPartsGrid.svelte | 14 +++++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/routes/components/RangeFilter.svelte b/src/routes/components/RangeFilter.svelte index 50510e9..eb10049 100644 --- a/src/routes/components/RangeFilter.svelte +++ b/src/routes/components/RangeFilter.svelte @@ -7,12 +7,16 @@ gridApi, column, placeholder, + valueGetter, }: { gridApi: GridApi column: string placeholder?: string + valueGetter?: (value: number) => number } = $props() + valueGetter = valueGetter ?? ((value: number) => value) + let min: number | null = $state(null) let max: number | null = $state(null) @@ -23,14 +27,14 @@ conditions.push({ filterType: 'number', type: 'greaterThanOrEqual', - filter: min * 1000, + filter: valueGetter(min), }) if (typeof max === 'number') conditions.push({ filterType: 'number', type: 'lessThanOrEqual', - filter: max * 1000, + filter: valueGetter(max), }) let filter diff --git a/src/routes/components/ServerPartsGrid.svelte b/src/routes/components/ServerPartsGrid.svelte index 3aa4bec..d79142b 100644 --- a/src/routes/components/ServerPartsGrid.svelte +++ b/src/routes/components/ServerPartsGrid.svelte @@ -11,6 +11,9 @@ const uid = $props.id() const { rowData } = $props() + const filterDivClass = + 'm-1 rounded-sm border-1 bg-gray-50 px-1 drop-shadow-md' + let gridApi: GridApi | undefined = $state() const columnDefs: ColDef[] = [ @@ -126,14 +129,19 @@
{#if gridApi} {#each checkboxFilterDefs as { label, column } (`${uid}-${column}`)} -
+
{label}
{/each} -
+
Capacity - + value * 1000} + />
{:else} From 3e3d2c1e619ac3d71f94e1ca2532d986d73415c5 Mon Sep 17 00:00:00 2001 From: Ykrej Date: Fri, 20 Jun 2025 12:20:05 -0700 Subject: [PATCH 3/4] feat: added warranty days filter --- src/routes/components/ServerPartsGrid.svelte | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/routes/components/ServerPartsGrid.svelte b/src/routes/components/ServerPartsGrid.svelte index d79142b..c2631ab 100644 --- a/src/routes/components/ServerPartsGrid.svelte +++ b/src/routes/components/ServerPartsGrid.svelte @@ -143,6 +143,15 @@ valueGetter={(value) => value * 1000} />
+
+ Warranty Months + value * 30} + /> +
{:else} {/if} From df295e413be095ed5133ac85f5aa5ecbdd1ab36b Mon Sep 17 00:00:00 2001 From: Ykrej Date: Fri, 20 Jun 2025 12:21:20 -0700 Subject: [PATCH 4/4] refactor: updated style --- src/routes/components/RangeFilter.svelte | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/routes/components/RangeFilter.svelte b/src/routes/components/RangeFilter.svelte index eb10049..19ae376 100644 --- a/src/routes/components/RangeFilter.svelte +++ b/src/routes/components/RangeFilter.svelte @@ -57,19 +57,19 @@ type="number" id={`${uid}-min`} placeholder={placeholder ?? ''} - class="w-12" + class="w-16" bind:value={min} /> - +
- +