@lavalogic/scoria 0.12.2 → 0.13.1
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/Base/ContextWrapper.svelte +16 -1
- package/dist/Components/Base/ContextWrapper.svelte.d.ts +13 -0
- package/dist/Components/TabGroupButtonProps.d.ts +1 -1
- package/dist/Components/Table/Body/QuickSearchCell.svelte +2 -3
- package/dist/Components/Table/Body/Rows/ColumnList.svelte +1 -1
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +1 -1
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +3 -3
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte.d.ts +12 -12
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponentProps.d.ts +2 -2
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +27 -17
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte.d.ts +11 -11
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +11 -9
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte.d.ts +12 -12
- package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +8 -4
- package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte.d.ts +13 -12
- package/dist/Components/Table/Body/Rows/Columns/ExpandCellProps.d.ts +5 -4
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +4 -4
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte.d.ts +12 -12
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCellProps.d.ts +2 -2
- package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +11 -8
- package/dist/Components/Table/Body/Rows/Columns/RowSelectionColumn.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/RowSelectionColumn.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/RowSelectionTableCell.d.ts +5 -0
- package/dist/Components/Table/Body/Rows/Columns/RowSelectionTableCell.js +1 -0
- package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +4 -3
- package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte.d.ts +2 -1
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +16 -9
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +17 -16
- package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +5 -4
- package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +10 -8
- package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte.d.ts +2 -1
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +10 -7
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +11 -7
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte.d.ts +2 -1
- package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +10 -7
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +11 -9
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte.d.ts +12 -12
- package/dist/Components/Table/Body/Rows/Columns/TableTextInputProps.d.ts +2 -2
- package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +7 -7
- package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte.d.ts +12 -12
- package/dist/Components/Table/Body/Rows/Columns/ValidityCellProps.d.ts +2 -2
- package/dist/Components/Table/Body/Rows/TableRow.svelte +7 -6
- package/dist/Components/Table/Body/TableBody.svelte +19 -15
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.d.ts +1 -1
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +17 -2
- package/dist/Components/Table/Headers/HighlightAllHeader.svelte +29 -16
- package/dist/Components/Table/Headers/SelectAllHeader.svelte +1 -1
- package/dist/Components/Table/Headers/TableHead.svelte +1 -1
- package/dist/Components/Table/Misc/ColumnPanel.svelte +1 -1
- package/dist/Components/Table/Misc/ColumnPanelModal.svelte +1 -1
- package/dist/Components/Table/Misc/FilterInput.svelte +1 -3
- package/dist/Components/Table/Misc/FilterPanel.svelte +2 -2
- package/dist/Components/Table/Misc/FilterPanelModal.svelte +1 -1
- package/dist/Components/Table/Misc/TableFooter.svelte +1 -1
- package/dist/Components/Table/Misc/TableHorizontalBar.svelte +1 -1
- package/dist/Components/Table/Misc/TableSidebar.svelte +2 -1
- package/dist/Components/Table/Misc/ToolboxPanel.svelte +2 -2
- package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +1 -1
- package/dist/Components/Table/NestedTable.svelte +12 -8
- package/dist/Components/Table/NestedTable.svelte.d.ts +15 -15
- package/dist/Components/Table/Table.svelte +111 -118
- package/dist/Components/Table/Table.svelte.d.ts +16 -15
- package/dist/Components/Table/Types/Columns/Column.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +6 -6
- package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.d.ts +3 -3
- package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +6 -6
- package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/ExpandColumn.d.ts +3 -2
- package/dist/Components/Table/Types/Columns/ExpandTableCell.d.ts +3 -2
- package/dist/Components/Table/Types/Columns/ProgressBarTableCell.d.ts +2 -1
- package/dist/Components/Table/Types/Columns/TableCell.d.ts +2 -2
- package/dist/Components/Table/Types/Context/ITable.d.ts +1 -1
- package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +32 -29
- package/dist/Components/Table/Types/Context/TableContext.svelte.js +313 -278
- package/dist/Components/Table/Types/Context/TableInitOptions.d.ts +4 -2
- package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +1 -1
- package/dist/Components/Table/Types/DataRepository/ILocalDataRepository.d.ts +1 -2
- package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.d.ts +2 -1
- package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.js +31 -8
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +2 -1
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.js +4 -1
- package/dist/Components/Table/Types/Filtering/CustomFilterFn.d.ts +1 -1
- package/dist/Components/Table/Types/Filtering/FilterFn.d.ts +1 -1
- package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.d.ts +7 -6
- package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.js +8 -2
- package/dist/Components/VerticalTabGroupButton.svelte +1 -1
- package/dist/Components/VerticalTabGroupButton.svelte.d.ts +5 -5
- package/dist/Components/VerticalTabGroupProps.d.ts +2 -2
- package/dist/Contexts/ToastContext.svelte.d.ts +3 -1
- package/dist/Contexts/ToastContext.svelte.js +2 -2
- package/dist/Helpers/Helpers.svelte.d.ts +1 -2
- package/dist/Types/Examples/ExampleModal.svelte +2 -2
- package/dist/Types/Examples/ExampleModal.svelte.d.ts +23 -2
- package/dist/Types/Internal/TabOption.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/package.json +18 -18
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
import {
|
|
5
5
|
ContextMenuContext,
|
|
6
6
|
type IContextMenuOption
|
|
7
|
-
} from '../../Contexts/ContextMenuContext.svelte
|
|
8
|
-
import { devCatch, refWrapper } from '../../Helpers/Helpers.svelte
|
|
7
|
+
} from '../../Contexts/ContextMenuContext.svelte';
|
|
8
|
+
import { devCatch, refWrapper } from '../../Helpers/Helpers.svelte';
|
|
9
9
|
import type { RefWrapper } from '../../Types/Internal/RefWrapper.js';
|
|
10
10
|
import { getContext, onMount, setContext, tick, untrack } from 'svelte';
|
|
11
11
|
import LoadingOverlay from '../LoadingOverlay.svelte';
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
import TableFooter from './Misc/TableFooter.svelte';
|
|
17
17
|
import TableHorizontalBar from './Misc/TableHorizontalBar.svelte';
|
|
18
18
|
import TableSidebar from './Misc/TableSidebar.svelte';
|
|
19
|
-
import { TableContext } from './Types/Context/TableContext.svelte
|
|
19
|
+
import { TableContext } from './Types/Context/TableContext.svelte';
|
|
20
|
+
import type { Primitive } from './Types/Context/TableInitOptions.js';
|
|
20
21
|
import { PaginationType } from './Types/Pagination/PaginationType.js';
|
|
21
22
|
import { ToolbarPosition } from './Types/Toolbar/ToolbarPosition.js';
|
|
22
23
|
|
|
@@ -28,8 +29,8 @@
|
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
export interface TableProps<T extends object> {
|
|
32
|
-
readonly tableContext: TableContext<T>;
|
|
32
|
+
export interface TableProps<T extends object, IdType extends Primitive> {
|
|
33
|
+
readonly tableContext: TableContext<T, IdType>;
|
|
33
34
|
nested?: boolean;
|
|
34
35
|
}
|
|
35
36
|
|
|
@@ -38,13 +39,13 @@
|
|
|
38
39
|
const openedQuickFilterSelect = refWrapper(null);
|
|
39
40
|
</script>
|
|
40
41
|
|
|
41
|
-
<script lang="ts" generics="T extends object">
|
|
42
|
-
const { nested = false, tableContext }: TableProps<T> = $props();
|
|
42
|
+
<script lang="ts" generics="T extends object,IdType extends Primitive">
|
|
43
|
+
const { nested = false, tableContext }: TableProps<T, IdType> = $props();
|
|
43
44
|
|
|
44
45
|
// NOTE: known limitation. This is passed as a wrapper, and they should never require reassignment. It is deeply reactive
|
|
45
46
|
setContext(TableContext.identifier, tableContext);
|
|
46
47
|
|
|
47
|
-
//
|
|
48
|
+
// $inspect(tableContext.showQuickFiltering);
|
|
48
49
|
|
|
49
50
|
const { openContextMenu: _openContextMenu } = getContext<ContextMenuContext>(
|
|
50
51
|
ContextMenuContext.identifier
|
|
@@ -265,16 +266,6 @@
|
|
|
265
266
|
}
|
|
266
267
|
});
|
|
267
268
|
|
|
268
|
-
$effect(() => {
|
|
269
|
-
void tableContext.dataRepo.data;
|
|
270
|
-
untrack(() => {
|
|
271
|
-
if (tableContext.paginationRepo?.paginationState.pageIndex != undefined) {
|
|
272
|
-
tableContext.updateSelectedItems().catch(devCatch);
|
|
273
|
-
tableContext.resetHighlightedRows();
|
|
274
|
-
}
|
|
275
|
-
});
|
|
276
|
-
});
|
|
277
|
-
|
|
278
269
|
const leftTotalSize = $derived(tableContext.table.getLeftTotalSize());
|
|
279
270
|
const centreTotalSize = $derived(tableContext.table.getCenterTotalSize());
|
|
280
271
|
const rightTotalSize = $derived(tableContext.table.getRightTotalSize());
|
|
@@ -364,114 +355,116 @@
|
|
|
364
355
|
}}
|
|
365
356
|
/>
|
|
366
357
|
|
|
367
|
-
<
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
<div class="horizontal-bar" class:border={tableContext.toolbarPosition === ToolbarPosition.Top}>
|
|
373
|
-
{#if tableContext.toolbarPosition === ToolbarPosition.Top}
|
|
374
|
-
<TableHorizontalBar />
|
|
358
|
+
<svelte:boundary>
|
|
359
|
+
<div class="grid" class:nested>
|
|
360
|
+
{#if tableContext.dataRepo.isLoading}
|
|
361
|
+
<LoadingOverlay absolute borderRadius="4px" />
|
|
375
362
|
{/if}
|
|
376
|
-
</div>
|
|
377
363
|
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
{#if tableContext.toolbarPosition === ToolbarPosition.Left}
|
|
384
|
-
<div class="sidebar toolbar-left">
|
|
385
|
-
<TableSidebar />
|
|
386
|
-
</div>
|
|
387
|
-
{/if}
|
|
388
|
-
</div>
|
|
389
|
-
<div
|
|
390
|
-
class="sidebar-wrapper sidebar-wrapper-right"
|
|
391
|
-
class:nested
|
|
392
|
-
style="--nested-height: {nestedHeight}px;"
|
|
393
|
-
>
|
|
394
|
-
{#if tableContext.toolbarPosition === ToolbarPosition.Right}
|
|
395
|
-
<div class="sidebar toolbar-right">
|
|
396
|
-
<TableSidebar />
|
|
397
|
-
</div>
|
|
398
|
-
{/if}
|
|
399
|
-
</div>
|
|
364
|
+
<div class="horizontal-bar" class:border={tableContext.toolbarPosition === ToolbarPosition.Top}>
|
|
365
|
+
{#if tableContext.toolbarPosition === ToolbarPosition.Top}
|
|
366
|
+
<TableHorizontalBar />
|
|
367
|
+
{/if}
|
|
368
|
+
</div>
|
|
400
369
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
370
|
+
<div
|
|
371
|
+
class="sidebar-wrapper sidebar-wrapper-left"
|
|
372
|
+
class:nested
|
|
373
|
+
style="--nested-height: {nestedHeight}px;"
|
|
374
|
+
>
|
|
375
|
+
{#if tableContext.toolbarPosition === ToolbarPosition.Left}
|
|
376
|
+
<div class="sidebar toolbar-left">
|
|
377
|
+
<TableSidebar />
|
|
378
|
+
</div>
|
|
379
|
+
{/if}
|
|
380
|
+
</div>
|
|
381
|
+
<div
|
|
382
|
+
class="sidebar-wrapper sidebar-wrapper-right"
|
|
383
|
+
class:nested
|
|
384
|
+
style="--nested-height: {nestedHeight}px;"
|
|
385
|
+
>
|
|
386
|
+
{#if tableContext.toolbarPosition === ToolbarPosition.Right}
|
|
387
|
+
<div class="sidebar toolbar-right">
|
|
388
|
+
<TableSidebar />
|
|
389
|
+
</div>
|
|
390
|
+
{/if}
|
|
391
|
+
</div>
|
|
392
|
+
|
|
393
|
+
<div class="footer">
|
|
394
|
+
{#if tableContext.displayFooter}
|
|
395
|
+
<TableFooter />
|
|
396
|
+
{/if}
|
|
397
|
+
</div>
|
|
406
398
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
399
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
400
|
+
<div
|
|
401
|
+
bind:this={tableRef}
|
|
402
|
+
class="datatable"
|
|
403
|
+
class:nested
|
|
404
|
+
class:compact={tableContext.isCompact}
|
|
405
|
+
class:quick-filtering={tableContext.showQuickFiltering}
|
|
406
|
+
onkeydown={tableContext.handleTdKeydown}
|
|
407
|
+
>
|
|
408
|
+
<div class="flex_table" bind:this={ref} class:nested>
|
|
409
|
+
<div bind:this={unfocusRef} class="table-wrapper" oncontextmenu={openContextMenu}>
|
|
410
|
+
<!-- {#if leftTotalSize > 0} -->
|
|
411
|
+
<table class="datatable__table left" style="min-width: {leftTotalSize}px">
|
|
412
|
+
<TableHead showHighlight={leftTotalSize > 0} side="left" />
|
|
413
|
+
<TableBody
|
|
414
|
+
includeHighlight={appropriateSide == 'left'}
|
|
415
|
+
columns={leftColumns}
|
|
416
|
+
heights={totalRowSizes}
|
|
417
|
+
side="left"
|
|
418
|
+
bind:this={leftTable}
|
|
419
|
+
/>
|
|
420
|
+
</table>
|
|
421
|
+
<!-- {/if} -->
|
|
422
|
+
|
|
423
|
+
<!-- {#if centreTotalSize > 0} -->
|
|
424
|
+
|
|
425
|
+
<table class="datatable__table centre" style="min-width: {centreTotalSize}px">
|
|
426
|
+
<TableHead showHighlight={leftTotalSize == 0} side="centre" />
|
|
427
|
+
<TableBody
|
|
428
|
+
includeHighlight={appropriateSide == 'centre'}
|
|
429
|
+
columns={centreColumns}
|
|
430
|
+
heights={totalRowSizes}
|
|
431
|
+
side="centre"
|
|
432
|
+
bind:this={centreTable}
|
|
433
|
+
/>
|
|
434
|
+
</table>
|
|
435
|
+
<!-- {/if} -->
|
|
436
|
+
|
|
437
|
+
<!-- {#if rightTotalSize > 0} -->
|
|
438
|
+
<table class="datatable__table right" style="min-width: {rightTotalSize}px">
|
|
439
|
+
<TableHead showHighlight={false} side="right" />
|
|
440
|
+
<TableBody
|
|
441
|
+
includeHighlight={appropriateSide == 'right'}
|
|
442
|
+
columns={rightColumns}
|
|
443
|
+
heights={totalRowSizes}
|
|
444
|
+
side="right"
|
|
445
|
+
bind:this={rightTable}
|
|
446
|
+
/>
|
|
447
|
+
</table>
|
|
448
|
+
<!-- {/if} -->
|
|
449
|
+
</div>
|
|
450
|
+
|
|
451
|
+
<!-- TODO add filter callbacks -->
|
|
457
452
|
</div>
|
|
458
453
|
|
|
459
|
-
|
|
454
|
+
{#if nested}
|
|
455
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
456
|
+
<div
|
|
457
|
+
class:isResizing
|
|
458
|
+
class="resizer"
|
|
459
|
+
onmousedown={(e) => {
|
|
460
|
+
e.preventDefault();
|
|
461
|
+
addOverrideResizeHandler();
|
|
462
|
+
}}
|
|
463
|
+
></div>
|
|
464
|
+
{/if}
|
|
460
465
|
</div>
|
|
461
|
-
|
|
462
|
-
{#if nested}
|
|
463
|
-
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
464
|
-
<div
|
|
465
|
-
class:isResizing
|
|
466
|
-
class="resizer"
|
|
467
|
-
onmousedown={(e) => {
|
|
468
|
-
e.preventDefault();
|
|
469
|
-
addOverrideResizeHandler();
|
|
470
|
-
}}
|
|
471
|
-
></div>
|
|
472
|
-
{/if}
|
|
473
466
|
</div>
|
|
474
|
-
</
|
|
467
|
+
</svelte:boundary>
|
|
475
468
|
|
|
476
469
|
<style>div.grid {
|
|
477
470
|
border-radius: 4px;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { TableContext } from './Types/Context/TableContext.svelte
|
|
1
|
+
import { TableContext } from './Types/Context/TableContext.svelte';
|
|
2
|
+
import type { Primitive } from './Types/Context/TableInitOptions.js';
|
|
2
3
|
declare global {
|
|
3
4
|
interface HTMLElementEventMap {
|
|
4
5
|
edit: CustomEvent<{
|
|
@@ -6,32 +7,32 @@ declare global {
|
|
|
6
7
|
}>;
|
|
7
8
|
}
|
|
8
9
|
}
|
|
9
|
-
export interface TableProps<T extends object> {
|
|
10
|
-
readonly tableContext: TableContext<T>;
|
|
10
|
+
export interface TableProps<T extends object, IdType extends Primitive> {
|
|
11
|
+
readonly tableContext: TableContext<T, IdType>;
|
|
11
12
|
nested?: boolean;
|
|
12
13
|
}
|
|
13
14
|
export declare const quickFilterContextIdentifier: symbol;
|
|
14
|
-
declare function $$render<T extends object>(): {
|
|
15
|
-
props: TableProps<T>;
|
|
15
|
+
declare function $$render<T extends object, IdType extends Primitive>(): {
|
|
16
|
+
props: TableProps<T, IdType>;
|
|
16
17
|
exports: {};
|
|
17
18
|
bindings: "";
|
|
18
19
|
slots: {};
|
|
19
20
|
events: {};
|
|
20
21
|
};
|
|
21
|
-
declare class __sveltets_Render<T extends object> {
|
|
22
|
-
props(): ReturnType<typeof $$render<T>>['props'];
|
|
23
|
-
events(): ReturnType<typeof $$render<T>>['events'];
|
|
24
|
-
slots(): ReturnType<typeof $$render<T>>['slots'];
|
|
22
|
+
declare class __sveltets_Render<T extends object, IdType extends Primitive> {
|
|
23
|
+
props(): ReturnType<typeof $$render<T, IdType>>['props'];
|
|
24
|
+
events(): ReturnType<typeof $$render<T, IdType>>['events'];
|
|
25
|
+
slots(): ReturnType<typeof $$render<T, IdType>>['slots'];
|
|
25
26
|
bindings(): "";
|
|
26
27
|
exports(): {};
|
|
27
28
|
}
|
|
28
29
|
interface $$IsomorphicComponent {
|
|
29
|
-
new <T extends object>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
|
|
30
|
-
$$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
|
|
31
|
-
} & ReturnType<__sveltets_Render<T>['exports']>;
|
|
32
|
-
<T extends object>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
|
|
33
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
30
|
+
new <T extends object, IdType extends Primitive>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, IdType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, IdType>['props']>, ReturnType<__sveltets_Render<T, IdType>['events']>, ReturnType<__sveltets_Render<T, IdType>['slots']>> & {
|
|
31
|
+
$$bindings?: ReturnType<__sveltets_Render<T, IdType>['bindings']>;
|
|
32
|
+
} & ReturnType<__sveltets_Render<T, IdType>['exports']>;
|
|
33
|
+
<T extends object, IdType extends Primitive>(internal: unknown, props: ReturnType<__sveltets_Render<T, IdType>['props']> & {}): ReturnType<__sveltets_Render<T, IdType>['exports']>;
|
|
34
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
34
35
|
}
|
|
35
36
|
declare const Table: $$IsomorphicComponent;
|
|
36
|
-
type Table<T extends object> = InstanceType<typeof Table<T>>;
|
|
37
|
+
type Table<T extends object, IdType extends Primitive> = InstanceType<typeof Table<T, IdType>>;
|
|
37
38
|
export default Table;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ColumnDef } from './Definitions/ColumnDef.svelte.js';
|
|
2
|
-
export interface Column<T extends object> {
|
|
2
|
+
export interface Column<T extends object, in FilterFnType = undefined> {
|
|
3
3
|
id: string;
|
|
4
|
-
columnDef: ColumnDef<T,
|
|
4
|
+
columnDef: ColumnDef<T, FilterFnType>;
|
|
5
5
|
getCanSort: () => boolean;
|
|
6
6
|
getToggleSortingHandler: () => ((e: MouseEvent) => void) | undefined;
|
|
7
7
|
getIsSorted: () => 'asc' | 'desc' | 'none';
|
|
@@ -7,7 +7,7 @@ import type { FilterValueType } from '../../Filtering/FilterValueType.js';
|
|
|
7
7
|
import { ColumnType } from '../ColumnType.js';
|
|
8
8
|
import type { AccessorFn } from './AccessorFn.js';
|
|
9
9
|
import type { ValidationFn } from './ValidationFn.js';
|
|
10
|
-
export interface ColumnDefProps<T extends object, FilterFnType = undefined> {
|
|
10
|
+
export interface ColumnDefProps<T extends object, in FilterFnType = undefined> {
|
|
11
11
|
id: string;
|
|
12
12
|
header: string | Snippet;
|
|
13
13
|
debug?: boolean;
|
|
@@ -26,7 +26,7 @@ export interface ColumnDefProps<T extends object, FilterFnType = undefined> {
|
|
|
26
26
|
accessorFn?: AccessorFn<T>;
|
|
27
27
|
getDisplayValue?: (item: T, index: number) => string | null | Promise<string | null>;
|
|
28
28
|
}
|
|
29
|
-
export declare abstract class ColumnDef<T extends object, FilterFnType = undefined> {
|
|
29
|
+
export declare abstract class ColumnDef<T extends object, in FilterFnType = undefined> {
|
|
30
30
|
protected constructor(props: ColumnDefProps<T, FilterFnType>);
|
|
31
31
|
readonly id: string;
|
|
32
32
|
debug: boolean;
|
package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts
CHANGED
|
@@ -2,17 +2,17 @@ import type { Component } from 'svelte';
|
|
|
2
2
|
import type { DisplayType } from '../../DisplayType.js';
|
|
3
3
|
import type { TableCell } from '../../TableCell.js';
|
|
4
4
|
import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
|
|
5
|
-
export interface DisplayDefModalProps<T extends object> {
|
|
6
|
-
cell: TableCell<T>;
|
|
5
|
+
export interface DisplayDefModalProps<T extends object, in FilterValueType> {
|
|
6
|
+
cell: TableCell<T, FilterValueType>;
|
|
7
7
|
onclose: () => void;
|
|
8
8
|
onsubmit: () => void;
|
|
9
9
|
}
|
|
10
|
-
export interface AbstractDisplayDefProps<T extends object, FilterFnType
|
|
10
|
+
export interface AbstractDisplayDefProps<T extends object, FilterFnType> extends ColumnDefProps<T, FilterFnType> {
|
|
11
11
|
modal?: Component<any, any, any>;
|
|
12
12
|
}
|
|
13
|
-
export declare abstract class AbstractDisplayDef<T extends object,
|
|
13
|
+
export declare abstract class AbstractDisplayDef<T extends object, FilterValueType> extends ColumnDef<T, FilterValueType> {
|
|
14
14
|
abstract readonly displayType: DisplayType;
|
|
15
|
-
constructor(props: AbstractDisplayDefProps<T,
|
|
15
|
+
constructor(props: AbstractDisplayDefProps<T, FilterValueType>);
|
|
16
16
|
readonly columnType: "Display";
|
|
17
|
-
readonly modal: Component<DisplayDefModalProps<T>, any, any> | undefined;
|
|
17
|
+
readonly modal: Component<DisplayDefModalProps<T, FilterValueType>, any, any> | undefined;
|
|
18
18
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { ValidationFn } from '../ValidationFn.js';
|
|
2
2
|
import { AbstractDisplayDef, type AbstractDisplayDefProps } from './AbstractDisplayDef.svelte.js';
|
|
3
|
-
export interface ValidityDefProps<T extends object> extends AbstractDisplayDefProps<T> {
|
|
3
|
+
export interface ValidityDefProps<T extends object, FilterValueType> extends AbstractDisplayDefProps<T, FilterValueType> {
|
|
4
4
|
isValid: ValidationFn<T>;
|
|
5
5
|
}
|
|
6
|
-
export declare class ValidityDef<T extends object> extends AbstractDisplayDef<T> {
|
|
6
|
+
export declare class ValidityDef<T extends object, FilterValueType> extends AbstractDisplayDef<T, FilterValueType> {
|
|
7
7
|
readonly displayType: "Validity";
|
|
8
|
-
constructor(props: ValidityDefProps<T>);
|
|
8
|
+
constructor(props: ValidityDefProps<T, FilterValueType>);
|
|
9
9
|
readonly filterFn: undefined;
|
|
10
10
|
readonly isValid: ValidationFn<T>;
|
|
11
11
|
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import type { IconProps } from '../../../../../IconProps.js';
|
|
2
|
-
import type { TableInitOptions } from '../../../Context/TableInitOptions.js';
|
|
2
|
+
import type { Primitive, TableInitOptions } from '../../../Context/TableInitOptions.js';
|
|
3
3
|
import type { DefsWrapper } from '../../DefsWrapper.js';
|
|
4
4
|
import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
|
|
5
|
-
export interface ExpandDefProps<T extends object, R extends object> extends ColumnDefProps<T> {
|
|
5
|
+
export interface ExpandDefProps<T extends object, R extends object, InnterIdType extends Primitive> extends ColumnDefProps<T> {
|
|
6
6
|
isEnabled: (item: T, index: number) => boolean | Promise<boolean>;
|
|
7
7
|
getInnerColumnDefs: (item: T, index: number) => DefsWrapper<R>;
|
|
8
8
|
headerIcon: IconProps['name'];
|
|
9
9
|
innerTableName: string;
|
|
10
|
-
innerTableOptions: TableInitOptions<R>;
|
|
10
|
+
innerTableOptions: TableInitOptions<R, InnterIdType>;
|
|
11
11
|
accessorFn: (item: T, index: number) => Array<R> | Promise<Array<R>>;
|
|
12
12
|
}
|
|
13
|
-
export declare class ExpandDef<T extends object, R extends object
|
|
13
|
+
export declare class ExpandDef<T extends object, R extends object, InnterIdType extends Primitive> extends ColumnDef<T> {
|
|
14
14
|
readonly columnType: "Expand";
|
|
15
|
-
constructor(props: ExpandDefProps<T, R>);
|
|
15
|
+
constructor(props: ExpandDefProps<T, R, InnterIdType>);
|
|
16
16
|
readonly accessorFn: (item: T, index: number) => Array<R> | Promise<Array<R>>;
|
|
17
17
|
readonly filterFn: undefined;
|
|
18
18
|
readonly innerTableName: string;
|
|
19
19
|
readonly getInnerColumnDefs: (item: T, index: number) => DefsWrapper<R>;
|
|
20
20
|
readonly headerIcon: IconProps['name'];
|
|
21
21
|
readonly isEnabled: (item: T, index: number) => boolean | Promise<boolean>;
|
|
22
|
-
readonly innerTableOptions: TableInitOptions<R>;
|
|
22
|
+
readonly innerTableOptions: TableInitOptions<R, InnterIdType>;
|
|
23
23
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CustomRemoteFilters } from '../Filtering/CustomRemoteFilters.js';
|
|
2
2
|
import type { ColumnDef } from './Definitions/ColumnDef.svelte.js';
|
|
3
|
-
export interface DefsWrapper<T extends object> {
|
|
4
|
-
defs: Array<ColumnDef<T>>;
|
|
3
|
+
export interface DefsWrapper<T extends object, in FilterValueType = undefined> {
|
|
4
|
+
defs: Array<ColumnDef<T, FilterValueType>>;
|
|
5
5
|
remoteFilters?: CustomRemoteFilters;
|
|
6
6
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import type { Primitive } from '../Context/TableInitOptions.js';
|
|
1
2
|
import type { ExpandDef } from './Definitions/Expand/ExpandDef.svelte.js';
|
|
2
|
-
export interface ExpandColumn<T extends object, R extends object> {
|
|
3
|
+
export interface ExpandColumn<T extends object, R extends object, IdType extends Primitive> {
|
|
3
4
|
id: string;
|
|
4
|
-
columnDef: ExpandDef<T, R>;
|
|
5
|
+
columnDef: ExpandDef<T, R, IdType>;
|
|
5
6
|
getCanSort: () => boolean;
|
|
6
7
|
getToggleSortingHandler: () => (e: MouseEvent) => void;
|
|
7
8
|
getIsSorted: () => 'asc' | 'desc' | 'none';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Row } from '../Context/Row.js';
|
|
2
|
+
import type { Primitive } from '../Context/TableInitOptions.js';
|
|
2
3
|
import type { ExpandColumn } from './ExpandColumn.js';
|
|
3
|
-
export interface ExpandTableCell<T extends object, R extends object
|
|
4
|
-
column: ExpandColumn<T, R>;
|
|
4
|
+
export interface ExpandTableCell<T extends object, R extends object, IdType extends Primitive> {
|
|
5
|
+
column: ExpandColumn<T, R, IdType>;
|
|
5
6
|
row: Row<T>;
|
|
6
7
|
id: string;
|
|
7
8
|
getValue: () => unknown;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Row } from '../Context/Row.js';
|
|
2
|
+
import type { NumberFilterValueType } from '../Filtering/FilterFn.js';
|
|
2
3
|
import type { ProgressBarColumn } from './ProgressBarColumn.js';
|
|
3
4
|
import type { TableCell } from './TableCell.js';
|
|
4
|
-
export interface ProgressBarTableCell<T extends object> extends TableCell<T> {
|
|
5
|
+
export interface ProgressBarTableCell<T extends object> extends TableCell<T, NumberFilterValueType> {
|
|
5
6
|
column: ProgressBarColumn<T>;
|
|
6
7
|
row: Row<T>;
|
|
7
8
|
id: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Row } from '../Context/Row.js';
|
|
2
2
|
import type { Column } from './Column.js';
|
|
3
|
-
export interface TableCell<T extends object> {
|
|
4
|
-
column: Column<T>;
|
|
3
|
+
export interface TableCell<T extends object, in FilterValueType = never> {
|
|
4
|
+
column: Column<T, FilterValueType>;
|
|
5
5
|
row: Row<T>;
|
|
6
6
|
id: string;
|
|
7
7
|
getValue: () => unknown | Promise<unknown>;
|
|
@@ -9,7 +9,7 @@ import type { HeaderGroup } from '../HeaderGroup.js';
|
|
|
9
9
|
import type { OnChangeFn } from '../OnChangeFn.js';
|
|
10
10
|
import type { PaginationState } from '../Pagination/PaginationState.js';
|
|
11
11
|
export interface ITable<T extends object> {
|
|
12
|
-
data: Array<T
|
|
12
|
+
data: Promise<Array<T>>;
|
|
13
13
|
columns: Array<ColumnDef<T>>;
|
|
14
14
|
columnSizing: ColumnSizingState;
|
|
15
15
|
columnVisibility: VisibilityState;
|
|
@@ -17,8 +17,8 @@ import type { OnChangeFn } from '../OnChangeFn.js';
|
|
|
17
17
|
import { ToolbarPosition } from '../Toolbar/ToolbarPosition.js';
|
|
18
18
|
import type { ITable } from './ITable.js';
|
|
19
19
|
import type { RowModel } from './RowModel.js';
|
|
20
|
-
import type { TableInitOptions } from './TableInitOptions.js';
|
|
21
|
-
export declare class TableContext<T extends object> {
|
|
20
|
+
import type { Primitive, TableInitOptions } from './TableInitOptions.js';
|
|
21
|
+
export declare class TableContext<T extends object, RowIdType extends Primitive> {
|
|
22
22
|
readonly defaultColumnDefs: DefsWrapper<T>;
|
|
23
23
|
readonly tableName: string;
|
|
24
24
|
allowCopy: boolean;
|
|
@@ -29,12 +29,13 @@ export declare class TableContext<T extends object> {
|
|
|
29
29
|
allowAdvancedFiltering: boolean;
|
|
30
30
|
toolbarPosition: ToolbarPosition;
|
|
31
31
|
displayFooter: boolean;
|
|
32
|
-
selectionExtractor: TableInitOptions<T>['selectionExtractor'];
|
|
32
|
+
selectionExtractor: TableInitOptions<T, RowIdType>['selectionExtractor'];
|
|
33
33
|
getUserId: () => string | undefined;
|
|
34
34
|
private _onEditCell;
|
|
35
|
+
private readonly debug;
|
|
35
36
|
static readonly identifier: unique symbol;
|
|
36
|
-
static init<T extends object>(defaultColumnDefs: DefsWrapper<T>, tableName: string, dataRepo: IDataRepository<T>, options: TableInitOptions<T>): TableContext<T>;
|
|
37
|
-
protected constructor(INTERNAL_ONLY: symbol, defaultColumnDefs: DefsWrapper<T>, tableName: string, dataRepo: IDataRepository<T>, allowCopy: boolean, enableResize: boolean, allowColumnReordering: boolean, allowQuickFiltering: boolean, showQuickFilterByDefault: boolean, allowAdvancedFiltering: boolean, toolbarPosition: ToolbarPosition, displayFooter: boolean, selectionExtractor: TableInitOptions<T>['selectionExtractor'], getUserId: () => string | undefined, _onEditCell
|
|
37
|
+
static init<T extends object, RowIdType extends Primitive>(defaultColumnDefs: DefsWrapper<T>, tableName: string, dataRepo: IDataRepository<T>, options: TableInitOptions<T, RowIdType>): TableContext<T, RowIdType>;
|
|
38
|
+
protected constructor(INTERNAL_ONLY: symbol, defaultColumnDefs: DefsWrapper<T>, tableName: string, dataRepo: IDataRepository<T>, allowCopy: boolean, enableResize: boolean, allowColumnReordering: boolean, allowQuickFiltering: boolean, showQuickFilterByDefault: boolean, allowAdvancedFiltering: boolean, toolbarPosition: ToolbarPosition, displayFooter: boolean, selectionExtractor: TableInitOptions<T, RowIdType>['selectionExtractor'], getUserId: () => string | undefined, _onEditCell: TableInitOptions<T, RowIdType>['onEditCell'], debug: boolean);
|
|
38
39
|
private readonly userId;
|
|
39
40
|
private isSelectable;
|
|
40
41
|
private _paginationRepo;
|
|
@@ -76,7 +77,7 @@ export declare class TableContext<T extends object> {
|
|
|
76
77
|
get focusedRowIndexIds(): SvelteSet<number>;
|
|
77
78
|
set focusedRowIndexIds(v: SvelteSet<number>);
|
|
78
79
|
private readonly _highlightedItems;
|
|
79
|
-
get highlightedItems(): SvelteMap<unknown
|
|
80
|
+
get highlightedItems(): SvelteMap<Awaited<unknown>, T>;
|
|
80
81
|
private _focusedColumnIds;
|
|
81
82
|
get focusedColumnIds(): SvelteSet<string>;
|
|
82
83
|
set focusedColumnIds(v: SvelteSet<string>);
|
|
@@ -141,34 +142,35 @@ export declare class TableContext<T extends object> {
|
|
|
141
142
|
private set hasInvalidSelectedItems(value);
|
|
142
143
|
private columnDefsById;
|
|
143
144
|
private readonly getSortingFn;
|
|
144
|
-
readonly originalRowIndices: Map<T, number>;
|
|
145
145
|
private _filterTimer;
|
|
146
146
|
private get filterTimer();
|
|
147
147
|
private set filterTimer(value);
|
|
148
148
|
private _filteredIndices;
|
|
149
|
-
get filteredIndices():
|
|
150
|
-
set filteredIndices(v:
|
|
151
|
-
readonly filteredData: T
|
|
152
|
-
readonly sortedData: Array<T
|
|
153
|
-
readonly sortedRowModel: RowModel<T
|
|
154
|
-
|
|
155
|
-
readonly
|
|
156
|
-
|
|
157
|
-
readonly selectionContains: (item: T) => boolean
|
|
158
|
-
readonly addInvalidValue: (item: T) => void
|
|
159
|
-
readonly removeInvalidValue: (item: T) => void
|
|
149
|
+
get filteredIndices(): ReadonlyArray<number>;
|
|
150
|
+
set filteredIndices(v: ReadonlyArray<number>);
|
|
151
|
+
readonly filteredData: Array<T>;
|
|
152
|
+
readonly sortedData: Promise<Array<T>>;
|
|
153
|
+
readonly sortedRowModel: Promise<RowModel<T>>;
|
|
154
|
+
readonly currentPageData: Promise<Array<T>>;
|
|
155
|
+
readonly originalRowIndices: Promise<ReadonlyMap<unknown, number>>;
|
|
156
|
+
readonly paginationRowModel: Promise<RowModel<T>>;
|
|
157
|
+
readonly selectionContains: (item: T) => Promise<boolean>;
|
|
158
|
+
readonly addInvalidValue: (item: T) => Promise<void>;
|
|
159
|
+
readonly removeInvalidValue: (item: T) => Promise<void>;
|
|
160
160
|
readonly setOpenModalCoordinates: (coordinates: CellCoordinatesWithoutColumn | null) => void;
|
|
161
|
-
readonly toggleHighlightedRow: (item: T) => void
|
|
161
|
+
readonly toggleHighlightedRow: (item: T) => Promise<void>;
|
|
162
162
|
readonly resetHighlightedRows: () => void;
|
|
163
|
-
readonly toggleSelected: (item: T, selected: boolean) => void
|
|
163
|
+
readonly toggleSelected: (item: T, selected: boolean) => Promise<void>;
|
|
164
164
|
setSelectionMap: (set: SvelteMap<unknown, T>) => void;
|
|
165
165
|
readonly updateSelectedItems: () => Promise<void>;
|
|
166
166
|
readonly resetSelectedItems: () => void;
|
|
167
|
+
private lastIncrement;
|
|
167
168
|
readonly recalculateAllSelectedInCurrentPage: () => void;
|
|
168
169
|
readonly selectAllInCurrentPage: () => Promise<void>;
|
|
169
170
|
readonly onHighlightAll: () => void;
|
|
170
171
|
readonly onEditCell: (item: T, coords: CellCoordinates, value: unknown) => Promise<void>;
|
|
171
172
|
readonly handleTdKeydown: (e: KeyboardEvent) => void;
|
|
173
|
+
private handleKeystroke;
|
|
172
174
|
readonly toggleQuickFiltering: () => void;
|
|
173
175
|
readonly setColumnPinning: (updater: Updater<ColumnPinningState>) => void;
|
|
174
176
|
updateFilters: OnChangeFn<ColumnFiltersState> | undefined;
|
|
@@ -185,20 +187,20 @@ export declare class TableContext<T extends object> {
|
|
|
185
187
|
readonly startFocus: (coords: CellCoordinates) => void;
|
|
186
188
|
readonly moveFocus: (coords: CellCoordinates, startEditing?: boolean) => void;
|
|
187
189
|
readonly unfocus: () => void;
|
|
188
|
-
readonly focusToTop: () => void
|
|
189
|
-
readonly focusToBottom: () => void;
|
|
190
|
-
readonly moveToBottom: () => void
|
|
191
|
-
readonly moveToTop: () => void
|
|
192
|
-
readonly moveFocusUp: () => void
|
|
193
|
-
readonly setFocusUp: () => void
|
|
194
|
-
readonly tabForward: () => void
|
|
190
|
+
readonly focusToTop: () => Promise<void>;
|
|
191
|
+
readonly focusToBottom: () => Promise<void> | undefined;
|
|
192
|
+
readonly moveToBottom: () => Promise<void>;
|
|
193
|
+
readonly moveToTop: () => Promise<void>;
|
|
194
|
+
readonly moveFocusUp: () => Promise<void>;
|
|
195
|
+
readonly setFocusUp: () => Promise<void>;
|
|
196
|
+
readonly tabForward: () => Promise<void>;
|
|
195
197
|
readonly tabBackward: () => void;
|
|
196
198
|
readonly focusToStart: () => void;
|
|
197
199
|
readonly moveToStart: () => void;
|
|
198
200
|
readonly focusToEnd: () => void;
|
|
199
201
|
readonly moveToEnd: () => void;
|
|
200
|
-
readonly moveFocusDown: () => void
|
|
201
|
-
readonly setFocusDown: () => void
|
|
202
|
+
readonly moveFocusDown: () => Promise<void>;
|
|
203
|
+
readonly setFocusDown: () => Promise<void>;
|
|
202
204
|
readonly moveFocusLeft: () => void;
|
|
203
205
|
readonly setFocusLeft: () => void;
|
|
204
206
|
readonly moveFocusRight: () => void;
|
|
@@ -231,5 +233,6 @@ export declare class TableContext<T extends object> {
|
|
|
231
233
|
private _setNewPinningState;
|
|
232
234
|
readonly getToggleSortingHandler: (def: ColumnDef<T>) => () => void;
|
|
233
235
|
private reassignDefsToPresets;
|
|
236
|
+
private filteringLoop;
|
|
234
237
|
}
|
|
235
238
|
export declare function isSearchable<T extends object, CD extends ColumnDef<T>>(def: CD): def is CD & HasCustomFilterFunction;
|