@r2digisolutions/ui 0.22.2 → 0.22.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/container/DataTable/DataTable.svelte +4 -4
- package/dist/components/container/DataTable/components/Cell.svelte +1 -1
- package/dist/components/container/DataTable/components/Cell.svelte.d.ts +1 -1
- package/dist/components/container/DataTable/components/ColumnVisibilityToggle.svelte +1 -1
- package/dist/components/container/DataTable/components/ColumnVisibilityToggle.svelte.d.ts +1 -1
- package/dist/components/container/DataTable/components/FilterPanel.svelte +9 -13
- package/dist/components/container/DataTable/components/FilterPanel.svelte.d.ts +1 -1
- package/dist/components/container/DataTable/components/QuickFilters.svelte +1 -1
- package/dist/components/container/DataTable/components/QuickFilters.svelte.d.ts +1 -1
- package/package.json +1 -1
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
const manager = new DataTableManager<T>(options);
|
|
53
53
|
|
|
54
54
|
let filterValues = $state<Record<string, any>>({});
|
|
55
|
-
let container:
|
|
55
|
+
let container: HTMLDivElement | null = $state(null);
|
|
56
56
|
let rightMenu = $state<{ open: boolean; x: number; y: number }>({ open: false, x: 0, y: 0 });
|
|
57
57
|
let rightClickContext = $state<CellContext<T> | null>(null);
|
|
58
58
|
let measuring = $state(true);
|
|
@@ -90,11 +90,11 @@
|
|
|
90
90
|
if (!container) return;
|
|
91
91
|
const widths: Record<string, number> = {};
|
|
92
92
|
for (const c of manager.columns) {
|
|
93
|
-
const head = container.querySelector(`[data-dt-head="${c.id}"]`) as
|
|
93
|
+
const head = container.querySelector(`[data-dt-head="${c.id}"]`) as HTMLElement | null;
|
|
94
94
|
let maxW = head ? head.offsetWidth : 0;
|
|
95
95
|
const cells = Array.from(
|
|
96
96
|
container.querySelectorAll(`[data-dt-cell="1"][data-col-id="${c.id}"]`)
|
|
97
|
-
).slice(0, SAMPLE_ROWS) as
|
|
97
|
+
).slice(0, SAMPLE_ROWS) as HTMLElement[];
|
|
98
98
|
for (const el of cells) maxW = Math.max(maxW, el.offsetWidth);
|
|
99
99
|
if (c.minWidth != null) maxW = Math.max(maxW, c.minWidth);
|
|
100
100
|
if (c.width != null) maxW = Math.max(maxW, c.width);
|
|
@@ -197,7 +197,7 @@
|
|
|
197
197
|
checked={manager.state.items.length > 0 &&
|
|
198
198
|
manager.state.items.every((r) => manager.state.selected.has(rowId(r)))}
|
|
199
199
|
onclick={(e) =>
|
|
200
|
-
(e.currentTarget as
|
|
200
|
+
(e.currentTarget as HTMLInputElement).checked
|
|
201
201
|
? manager.selectAllCurrentPage(rowId)
|
|
202
202
|
: manager.clearSelection()}
|
|
203
203
|
/>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import Input from '@UI/Input/Input.svelte';
|
|
3
|
-
import type { FilterField } from '../core/filters/types';
|
|
4
|
-
import { buildFilterDefs } from '../core/filters/utils';
|
|
5
|
-
import Checkbox from '@UI/Checkbox/Checkbox.svelte';
|
|
6
|
-
import Button from '@UI/buttons/Button.svelte';
|
|
7
2
|
import { Check, X } from 'lucide-svelte';
|
|
3
|
+
import type { FilterField } from '../core/filters/types.js';
|
|
4
|
+
import { buildFilterDefs } from '../core/filters/utils.js';
|
|
5
|
+
import Input from '../../../ui/Input/Input.svelte';
|
|
6
|
+
import Checkbox from '../../../ui/Checkbox/Checkbox.svelte';
|
|
7
|
+
import Button from '../../../ui/Button/Button.svelte';
|
|
8
8
|
|
|
9
9
|
interface Props {
|
|
10
10
|
fields: FilterField<any>[];
|
|
@@ -90,16 +90,16 @@
|
|
|
90
90
|
<div class="space-y-3">
|
|
91
91
|
{#each fields as f}
|
|
92
92
|
{#if f.type === 'text'}
|
|
93
|
+
<label class="mb-1 block text-xs opacity-70">{f.label}</label>
|
|
93
94
|
<Input
|
|
94
|
-
label={f.label}
|
|
95
95
|
type="text"
|
|
96
96
|
placeholder={f.placeholder}
|
|
97
97
|
value={values[f.id]}
|
|
98
98
|
onchange={(e) => (values[f.id] = e)}
|
|
99
99
|
/>
|
|
100
100
|
{:else if f.type === 'number'}
|
|
101
|
+
<label class="mb-1 block text-xs opacity-70">{f.label}</label>
|
|
101
102
|
<Input
|
|
102
|
-
label={f.label}
|
|
103
103
|
type="number"
|
|
104
104
|
min={f.min}
|
|
105
105
|
max={f.max}
|
|
@@ -108,12 +108,8 @@
|
|
|
108
108
|
onchange={(e) => (values[f.id] = e)}
|
|
109
109
|
/>
|
|
110
110
|
{:else if f.type === 'date'}
|
|
111
|
-
<
|
|
112
|
-
|
|
113
|
-
type="date"
|
|
114
|
-
value={values[f.id]}
|
|
115
|
-
onchange={(e) => (values[f.id] = e)}
|
|
116
|
-
/>
|
|
111
|
+
<label class="mb-1 block text-xs opacity-70">{f.label}</label>
|
|
112
|
+
<Input type="date" value={values[f.id]} onchange={(e) => (values[f.id] = e)} />
|
|
117
113
|
{:else if f.type === 'checkbox'}
|
|
118
114
|
<Checkbox checked={values[f.id]} label={f.label} onchange={(e) => (values[f.id] = e)} />
|
|
119
115
|
{:else if f.type === 'select'}
|