@softwareone/spi-sv5-library 1.11.6 → 1.11.7
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/Form/Form.svelte
CHANGED
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
let isLoading = $state(false);
|
|
53
53
|
|
|
54
54
|
const { form, errors, isFormValid } = getFormContext<Schema>(contextName);
|
|
55
|
-
$form =
|
|
55
|
+
$form = $state.snapshot(initialData);
|
|
56
56
|
|
|
57
57
|
const onUpdated = () => {
|
|
58
58
|
isLoading = false;
|
package/dist/Table/Body.svelte
CHANGED
|
@@ -4,16 +4,32 @@
|
|
|
4
4
|
|
|
5
5
|
interface Props {
|
|
6
6
|
bodyRows: Row<T>[];
|
|
7
|
+
enableChecked?: boolean;
|
|
7
8
|
}
|
|
8
9
|
|
|
9
|
-
let { bodyRows }: Props = $props();
|
|
10
|
+
let { bodyRows, enableChecked = false }: Props = $props();
|
|
11
|
+
|
|
12
|
+
const CLICKABLE_TAGS = ['td', 'span', 'p'];
|
|
13
|
+
|
|
14
|
+
const handleRowClick = (row: Row<T>, target: EventTarget | null) => {
|
|
15
|
+
const isHtmlElement = target instanceof HTMLElement;
|
|
16
|
+
const tagName = isHtmlElement ? target.tagName.toLocaleLowerCase() : '';
|
|
17
|
+
if (isHtmlElement && CLICKABLE_TAGS.includes(tagName)) {
|
|
18
|
+
row.toggleSelected();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
10
21
|
</script>
|
|
11
22
|
|
|
12
23
|
<tbody class="table-body">
|
|
13
24
|
{#each bodyRows as row (row.id)}
|
|
14
25
|
<tr
|
|
15
26
|
animate:flip={{ duration: 500 }}
|
|
16
|
-
class={[
|
|
27
|
+
class={[
|
|
28
|
+
'table-row',
|
|
29
|
+
row.getIsSelected() && 'table-row--selected',
|
|
30
|
+
enableChecked && 'table-row--clickable'
|
|
31
|
+
]}
|
|
32
|
+
onclick={enableChecked ? (event) => handleRowClick(row, event.target) : undefined}
|
|
17
33
|
>
|
|
18
34
|
{#each row.getVisibleCells() as cell}
|
|
19
35
|
{@const alignColumn = cell.column.columnDef.meta?.alignColumn}
|
|
@@ -66,6 +82,10 @@
|
|
|
66
82
|
background: var(--color-row-selected);
|
|
67
83
|
}
|
|
68
84
|
|
|
85
|
+
.table-row--clickable {
|
|
86
|
+
cursor: pointer;
|
|
87
|
+
}
|
|
88
|
+
|
|
69
89
|
.table-cell {
|
|
70
90
|
max-width: 50px;
|
|
71
91
|
padding: var(--spacing-md) var(--spacing-lg);
|
package/dist/Table/Table.svelte
CHANGED
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
pagination?: Pagination;
|
|
49
49
|
excelSetting?: ExcelSetting;
|
|
50
50
|
header?: Snippet;
|
|
51
|
-
bulkActions?: Snippet<[selectedRows: T[]]>;
|
|
51
|
+
bulkActions?: Snippet<[selectedRows: T[], clearSelection: VoidFunction]>;
|
|
52
52
|
onpagechange?: (pageSize: number, pageNumber: number) => void;
|
|
53
53
|
onpagesizechange?: (pageSize: number) => void;
|
|
54
54
|
}
|
|
@@ -206,6 +206,10 @@
|
|
|
206
206
|
}
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
+
const clearSelection = () => {
|
|
210
|
+
rowSelection = {};
|
|
211
|
+
};
|
|
212
|
+
|
|
209
213
|
const changeFilters = (filters: Filter[]) => {
|
|
210
214
|
const searchParams = new URLSearchParams(page.url.searchParams);
|
|
211
215
|
searchParams.delete('filter');
|
|
@@ -286,7 +290,10 @@
|
|
|
286
290
|
</p>
|
|
287
291
|
{#if bulkActions}
|
|
288
292
|
<hr class="action-divider" />
|
|
289
|
-
{@render bulkActions?.(
|
|
293
|
+
{@render bulkActions?.(
|
|
294
|
+
selectedRows.map((row) => row.original),
|
|
295
|
+
clearSelection
|
|
296
|
+
)}
|
|
290
297
|
{/if}
|
|
291
298
|
</div>
|
|
292
299
|
{/if}
|
|
@@ -295,7 +302,7 @@
|
|
|
295
302
|
<table class="table-main">
|
|
296
303
|
<Header headerGroups={table.getHeaderGroups()} {enableColumnSearch} />
|
|
297
304
|
{#if hasData}
|
|
298
|
-
<Body bodyRows={table.getRowModel().rows} />
|
|
305
|
+
<Body bodyRows={table.getRowModel().rows} {enableChecked} />
|
|
299
306
|
{/if}
|
|
300
307
|
</table>
|
|
301
308
|
</article>
|
|
@@ -18,7 +18,7 @@ declare function $$render<T>(): {
|
|
|
18
18
|
pagination?: Pagination;
|
|
19
19
|
excelSetting?: ExcelSetting;
|
|
20
20
|
header?: Snippet;
|
|
21
|
-
bulkActions?: Snippet<[selectedRows: T[]]>;
|
|
21
|
+
bulkActions?: Snippet<[selectedRows: T[], clearSelection: VoidFunction]>;
|
|
22
22
|
onpagechange?: (pageSize: number, pageNumber: number) => void;
|
|
23
23
|
onpagesizechange?: (pageSize: number) => void;
|
|
24
24
|
};
|