@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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<script lang="ts" module>
|
|
4
4
|
export interface TableCheckboxProps<T extends object> {
|
|
5
|
-
cell: TableCell<T>;
|
|
5
|
+
cell: TableCell<T, BoolFilterValueType>;
|
|
6
6
|
|
|
7
7
|
onchange?: ChangeEventHandler<HTMLInputElement>;
|
|
8
8
|
}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
<script lang="ts" generics="T extends object">
|
|
12
12
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
13
13
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
14
|
+
import type { BoolFilterValueType } from '../../../Types/Filtering/FilterFn.js';
|
|
14
15
|
import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
|
|
15
16
|
import { ToastContext } from '../../../../../Contexts/ToastContext.svelte.js';
|
|
16
17
|
import { devCatch } from '../../../../../Helpers/Helpers.svelte.js';
|
|
@@ -22,10 +23,10 @@
|
|
|
22
23
|
|
|
23
24
|
const value = $derived(!!cell.getValue());
|
|
24
25
|
|
|
25
|
-
const tableContext = getContext<TableContext<T>>(TableContext.identifier);
|
|
26
|
+
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
26
27
|
const toastContext = getContext<ToastContext>(ToastContext.identifier);
|
|
27
28
|
|
|
28
|
-
const focusDetails: TableFocusDetails<T> = $derived(
|
|
29
|
+
const focusDetails: TableFocusDetails<T, BoolFilterValueType> = $derived(
|
|
29
30
|
new TableFocusDetails(cell, tableContext, toastContext.toast)
|
|
30
31
|
);
|
|
31
32
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export interface TableCheckboxProps<T extends object> {
|
|
2
|
-
cell: TableCell<T>;
|
|
2
|
+
cell: TableCell<T, BoolFilterValueType>;
|
|
3
3
|
onchange?: ChangeEventHandler<HTMLInputElement>;
|
|
4
4
|
}
|
|
5
5
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
6
|
+
import type { BoolFilterValueType } from '../../../Types/Filtering/FilterFn.js';
|
|
6
7
|
import type { ChangeEventHandler } from 'svelte/elements';
|
|
7
8
|
declare function $$render<T extends object>(): {
|
|
8
9
|
props: TableCheckboxProps<T>;
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
import { ActionsDef } from '../../../Types/Columns/Definitions/Actions/ActionsDef.svelte.js';
|
|
15
15
|
import { AbstractDisplayDef } from '../../../Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js';
|
|
16
16
|
import { ProgressBarDef } from '../../../Types/Columns/Definitions/Display/ProgressBarDef.svelte.js';
|
|
17
|
-
import { RowSelectionDef } from '../../../Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js';
|
|
18
17
|
import type { ExpandTableCell } from '../../../Types/Columns/ExpandTableCell.js';
|
|
19
18
|
import type { ProgressBarTableCell } from '../../../Types/Columns/ProgressBarTableCell.js';
|
|
20
19
|
import { getErrorMessage } from '../../../../../Helpers/Helpers.svelte.js';
|
|
@@ -24,10 +23,10 @@
|
|
|
24
23
|
import TableRowSelectionCheckbox from './TableRowSelectionCheckbox.svelte';
|
|
25
24
|
import ValidityCell from './ValidityCell.svelte';
|
|
26
25
|
|
|
27
|
-
export interface TableColumnProps<T extends object> {
|
|
28
|
-
cell: TableCell<T>;
|
|
29
|
-
expandedColumnDef: ExpandDef<T> | undefined;
|
|
30
|
-
onExpandChange: (columnDef: ExpandDef<T>) => void;
|
|
26
|
+
export interface TableColumnProps<T extends object, FilterValueType> {
|
|
27
|
+
cell: TableCell<T, FilterValueType>;
|
|
28
|
+
expandedColumnDef: ExpandDef<T, object, Primitive> | undefined;
|
|
29
|
+
onExpandChange: (columnDef: ExpandDef<T, object, Primitive>) => void;
|
|
31
30
|
}
|
|
32
31
|
|
|
33
32
|
function isProgressBarTableCell<T extends object>(
|
|
@@ -37,11 +36,19 @@
|
|
|
37
36
|
}
|
|
38
37
|
</script>
|
|
39
38
|
|
|
40
|
-
<script lang="ts" generics="T extends object">
|
|
39
|
+
<script lang="ts" generics="T extends object,FilterValueType">
|
|
41
40
|
import { dev } from '$app/environment';
|
|
41
|
+
import { RowSelectionDef } from '../../../Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js';
|
|
42
|
+
import type { Primitive } from '../../../Types/Context/TableInitOptions.js';
|
|
43
|
+
import type { RowSelectionTableCell } from './RowSelectionTableCell.js';
|
|
42
44
|
|
|
43
|
-
let { cell, expandedColumnDef, onExpandChange }: TableColumnProps<T> = $props();
|
|
45
|
+
let { cell, expandedColumnDef, onExpandChange }: TableColumnProps<T, FilterValueType> = $props();
|
|
44
46
|
|
|
47
|
+
function isRowSelectionCell<T extends object>(
|
|
48
|
+
cell: TableCell<T, FilterValueType>
|
|
49
|
+
): cell is RowSelectionTableCell<T> {
|
|
50
|
+
return cell.column.columnDef instanceof RowSelectionDef;
|
|
51
|
+
}
|
|
45
52
|
function valueOrComponentIsConstructor(
|
|
46
53
|
valueOrComponent: unknown
|
|
47
54
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -52,7 +59,7 @@
|
|
|
52
59
|
function isActionsDef(cell: TableCell<T>): cell is ActionsTableCell<T> {
|
|
53
60
|
return cell.column.columnDef instanceof ActionsDef;
|
|
54
61
|
}
|
|
55
|
-
function isExpandTableCell(cell: TableCell<T>): cell is ExpandTableCell<T> {
|
|
62
|
+
function isExpandTableCell(cell: TableCell<T>): cell is ExpandTableCell<T, object, Primitive> {
|
|
56
63
|
return cell.column.columnDef instanceof ExpandDef;
|
|
57
64
|
}
|
|
58
65
|
|
|
@@ -64,7 +71,7 @@
|
|
|
64
71
|
{#if cell.column.getIsVisible()}
|
|
65
72
|
{@const columnDef = cell.column.columnDef}
|
|
66
73
|
|
|
67
|
-
{#if
|
|
74
|
+
{#if isRowSelectionCell(cell)}
|
|
68
75
|
<TableRowSelectionCheckbox {cell} />
|
|
69
76
|
{:else if isActionsDef(cell)}
|
|
70
77
|
<ActionsCell {cell} />
|
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
import { ExpandDef } from '../../../Types/Columns/Definitions/Expand/ExpandDef.svelte.js';
|
|
2
2
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
3
|
-
export interface TableColumnProps<T extends object> {
|
|
4
|
-
cell: TableCell<T>;
|
|
5
|
-
expandedColumnDef: ExpandDef<T> | undefined;
|
|
6
|
-
onExpandChange: (columnDef: ExpandDef<T>) => void;
|
|
3
|
+
export interface TableColumnProps<T extends object, FilterValueType> {
|
|
4
|
+
cell: TableCell<T, FilterValueType>;
|
|
5
|
+
expandedColumnDef: ExpandDef<T, object, Primitive> | undefined;
|
|
6
|
+
onExpandChange: (columnDef: ExpandDef<T, object, Primitive>) => void;
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
import type { Primitive } from '../../../Types/Context/TableInitOptions.js';
|
|
9
|
+
declare function $$render<T extends object, FilterValueType>(): {
|
|
10
|
+
props: TableColumnProps<T, FilterValueType>;
|
|
10
11
|
exports: {};
|
|
11
12
|
bindings: "";
|
|
12
13
|
slots: {};
|
|
13
14
|
events: {};
|
|
14
15
|
};
|
|
15
|
-
declare class __sveltets_Render<T extends object> {
|
|
16
|
-
props(): ReturnType<typeof $$render<T>>['props'];
|
|
17
|
-
events(): ReturnType<typeof $$render<T>>['events'];
|
|
18
|
-
slots(): ReturnType<typeof $$render<T>>['slots'];
|
|
16
|
+
declare class __sveltets_Render<T extends object, FilterValueType> {
|
|
17
|
+
props(): ReturnType<typeof $$render<T, FilterValueType>>['props'];
|
|
18
|
+
events(): ReturnType<typeof $$render<T, FilterValueType>>['events'];
|
|
19
|
+
slots(): ReturnType<typeof $$render<T, FilterValueType>>['slots'];
|
|
19
20
|
bindings(): "";
|
|
20
21
|
exports(): {};
|
|
21
22
|
}
|
|
22
23
|
interface $$IsomorphicComponent {
|
|
23
|
-
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']>> & {
|
|
24
|
-
$$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
|
|
25
|
-
} & ReturnType<__sveltets_Render<T>['exports']>;
|
|
26
|
-
<T extends object>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
|
|
27
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
24
|
+
new <T extends object, FilterValueType>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, FilterValueType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, FilterValueType>['props']>, ReturnType<__sveltets_Render<T, FilterValueType>['events']>, ReturnType<__sveltets_Render<T, FilterValueType>['slots']>> & {
|
|
25
|
+
$$bindings?: ReturnType<__sveltets_Render<T, FilterValueType>['bindings']>;
|
|
26
|
+
} & ReturnType<__sveltets_Render<T, FilterValueType>['exports']>;
|
|
27
|
+
<T extends object, FilterValueType>(internal: unknown, props: ReturnType<__sveltets_Render<T, FilterValueType>['props']> & {}): ReturnType<__sveltets_Render<T, FilterValueType>['exports']>;
|
|
28
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
28
29
|
}
|
|
29
30
|
declare const TableColumn: $$IsomorphicComponent;
|
|
30
|
-
type TableColumn<T extends object> = InstanceType<typeof TableColumn<T>>;
|
|
31
|
+
type TableColumn<T extends object, FilterValueType> = InstanceType<typeof TableColumn<T, FilterValueType>>;
|
|
31
32
|
export default TableColumn;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { dev } from '$app/environment';
|
|
5
5
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
6
6
|
import type { CellCoordinates } from '../../../Types/Coordinates/CellCoordinates.js';
|
|
7
|
+
import type { DateFilterValueType } from '../../../Types/Filtering/FilterFn.js';
|
|
7
8
|
import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
|
|
8
9
|
import DateModal from '../../../../Touch/DateModal.svelte';
|
|
9
10
|
import { ToastContext } from '../../../../../Contexts/ToastContext.svelte.js';
|
|
@@ -18,7 +19,7 @@
|
|
|
18
19
|
|
|
19
20
|
const dateValue = $derived(value && value instanceof Date ? value : undefined);
|
|
20
21
|
|
|
21
|
-
const tableContext = getContext<TableContext<T>>(TableContext.identifier);
|
|
22
|
+
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
22
23
|
const { toast } = getContext<ToastContext>(ToastContext.identifier);
|
|
23
24
|
|
|
24
25
|
const columnDef = $derived(cell.column.columnDef);
|
|
@@ -57,7 +58,7 @@
|
|
|
57
58
|
}
|
|
58
59
|
})().catch(devCatch);
|
|
59
60
|
});
|
|
60
|
-
const focusDetails: TableFocusDetails<T> = $derived(
|
|
61
|
+
const focusDetails: TableFocusDetails<T, DateFilterValueType> = $derived(
|
|
61
62
|
new TableFocusDetails(cell, tableContext, toast)
|
|
62
63
|
);
|
|
63
64
|
|
|
@@ -102,9 +103,9 @@
|
|
|
102
103
|
validityPromise
|
|
103
104
|
.then(([validity]) => {
|
|
104
105
|
if (validity === Validity.Invalid) {
|
|
105
|
-
tableContext.addInvalidValue(cell.row.original);
|
|
106
|
+
return tableContext.addInvalidValue(cell.row.original);
|
|
106
107
|
} else {
|
|
107
|
-
tableContext.removeInvalidValue(cell.row.original);
|
|
108
|
+
return tableContext.removeInvalidValue(cell.row.original);
|
|
108
109
|
}
|
|
109
110
|
})
|
|
110
111
|
.catch(devCatch);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<script lang="ts" module>
|
|
4
4
|
export interface TableNumberInputProps<T extends object> {
|
|
5
|
-
cell: TableCell<T>;
|
|
5
|
+
cell: TableCell<T, NumberFilterValueType>;
|
|
6
6
|
}
|
|
7
7
|
</script>
|
|
8
8
|
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
import { NumberInputDef } from '../../../Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js';
|
|
12
12
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
13
13
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
14
|
+
import type { NumberFilterValueType } from '../../../Types/Filtering/FilterFn.js';
|
|
14
15
|
import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
|
|
15
16
|
import { ToastContext } from '../../../../../Contexts/ToastContext.svelte.js';
|
|
16
17
|
import { devCatch } from '../../../../../Helpers/Helpers.svelte.js';
|
|
@@ -47,7 +48,7 @@
|
|
|
47
48
|
let tdref: HTMLTableCellElement | undefined = $state();
|
|
48
49
|
let inputRef: HTMLInputElement | undefined = $state();
|
|
49
50
|
|
|
50
|
-
const tableContext = getContext<TableContext<T>>(TableContext.identifier);
|
|
51
|
+
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
51
52
|
const { toast } = getContext<ToastContext>(ToastContext.identifier);
|
|
52
53
|
|
|
53
54
|
const editableAsync = $derived(
|
|
@@ -79,7 +80,7 @@
|
|
|
79
80
|
})().catch(devCatch);
|
|
80
81
|
});
|
|
81
82
|
|
|
82
|
-
const focusDetails: TableFocusDetails<T> = $derived(
|
|
83
|
+
const focusDetails: TableFocusDetails<T, NumberFilterValueType> = $derived(
|
|
83
84
|
new TableFocusDetails(cell, tableContext, toast)
|
|
84
85
|
);
|
|
85
86
|
|
|
@@ -160,12 +161,13 @@
|
|
|
160
161
|
untrack(() => {
|
|
161
162
|
tick()
|
|
162
163
|
.then(() => {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
164
|
+
const x: Promise<void> =
|
|
165
|
+
validity === Validity.Invalid
|
|
166
|
+
? tableContext.addInvalidValue(cell.row.original)
|
|
167
|
+
: tableContext.removeInvalidValue(cell.row.original);
|
|
168
|
+
|
|
168
169
|
previousValidity = validity;
|
|
170
|
+
return x;
|
|
169
171
|
})
|
|
170
172
|
.catch(devCatch);
|
|
171
173
|
});
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export interface TableNumberInputProps<T extends object> {
|
|
2
|
-
cell: TableCell<T>;
|
|
2
|
+
cell: TableCell<T, NumberFilterValueType>;
|
|
3
3
|
}
|
|
4
4
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
5
|
+
import type { NumberFilterValueType } from '../../../Types/Filtering/FilterFn.js';
|
|
5
6
|
declare function $$render<T extends object>(): {
|
|
6
7
|
props: TableNumberInputProps<T>;
|
|
7
8
|
exports: {};
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import QuerySelect from '../../../../QuerySelect.svelte';
|
|
6
6
|
import type { QueryDef } from '../../../Types/Columns/Definitions/Accessors/QueryDef.svelte.js';
|
|
7
7
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
8
|
+
import type { SelectFilterValueType } from '../../../Types/Filtering/FilterFn.js';
|
|
8
9
|
import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
|
|
9
10
|
import { ToastContext } from '../../../../../Contexts/ToastContext.svelte.js';
|
|
10
11
|
import { devCatch } from '../../../../../Helpers/Helpers.svelte.js';
|
|
@@ -28,7 +29,7 @@
|
|
|
28
29
|
|
|
29
30
|
let lastOptions: Array<SelectOption<unknown>> = $state([]);
|
|
30
31
|
|
|
31
|
-
const tableContext = getContext<TableContext<T>>(TableContext.identifier);
|
|
32
|
+
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
32
33
|
const { toast } = getContext<ToastContext>(ToastContext.identifier);
|
|
33
34
|
|
|
34
35
|
const editableAsync = $derived(
|
|
@@ -102,7 +103,7 @@
|
|
|
102
103
|
});
|
|
103
104
|
});
|
|
104
105
|
|
|
105
|
-
const focusDetails: TableFocusDetails<T
|
|
106
|
+
const focusDetails: TableFocusDetails<T, SelectFilterValueType<T>> = $derived(
|
|
106
107
|
new TableFocusDetails(cell, tableContext, toast)
|
|
107
108
|
);
|
|
108
109
|
|
|
@@ -174,12 +175,14 @@
|
|
|
174
175
|
untrack(() => {
|
|
175
176
|
tick()
|
|
176
177
|
.then(() => {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
178
|
+
const x =
|
|
179
|
+
validity === Validity.Invalid
|
|
180
|
+
? tableContext.addInvalidValue(cell.row.original)
|
|
181
|
+
: tableContext.removeInvalidValue(cell.row.original);
|
|
182
|
+
|
|
182
183
|
previousValidity = validity;
|
|
184
|
+
|
|
185
|
+
return x;
|
|
183
186
|
})
|
|
184
187
|
.catch(devCatch);
|
|
185
188
|
});
|
|
@@ -4,29 +4,31 @@
|
|
|
4
4
|
import type { RowSelectionDef } from '../../../Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js';
|
|
5
5
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
6
6
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
7
|
+
import type { BoolFilterValueType } from '../../../Types/Filtering/FilterFn.js';
|
|
7
8
|
import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
|
|
8
9
|
import { ToastContext } from '../../../../../Contexts/ToastContext.svelte.js';
|
|
10
|
+
import { devCatch } from '../../../../../Helpers/Helpers.svelte.js';
|
|
9
11
|
import { getContext } from 'svelte';
|
|
10
12
|
import type { ChangeEventHandler } from 'svelte/elements';
|
|
11
13
|
|
|
12
14
|
export interface TableCheckboxProps<T extends object> {
|
|
13
|
-
cell: TableCell<T>;
|
|
15
|
+
cell: TableCell<T, BoolFilterValueType>;
|
|
14
16
|
|
|
15
17
|
onchange?: ChangeEventHandler<HTMLInputElement>;
|
|
16
18
|
}
|
|
17
19
|
</script>
|
|
18
20
|
|
|
19
|
-
<script lang="ts" generics="T extends object">
|
|
21
|
+
<script lang="ts" generics="T extends object,">
|
|
20
22
|
const { cell, onchange: parentOnchange }: TableCheckboxProps<T> = $props();
|
|
21
23
|
|
|
22
|
-
const tableContext = getContext<TableContext<T>>(TableContext.identifier);
|
|
24
|
+
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
23
25
|
const toastContext = getContext<ToastContext>(ToastContext.identifier);
|
|
24
26
|
|
|
25
|
-
const focusDetails: TableFocusDetails<T> = $derived(
|
|
27
|
+
const focusDetails: TableFocusDetails<T, BoolFilterValueType> = $derived(
|
|
26
28
|
new TableFocusDetails(cell, tableContext, toastContext.toast)
|
|
27
29
|
);
|
|
28
30
|
|
|
29
|
-
const key = $derived(tableContext.selectionExtractor(cell.row.original));
|
|
31
|
+
const key: Promise<unknown> = $derived(tableContext.selectionExtractor(cell.row.original));
|
|
30
32
|
|
|
31
33
|
const value = $derived(tableContext.selectedItems.has(key));
|
|
32
34
|
|
|
@@ -38,7 +40,9 @@
|
|
|
38
40
|
);
|
|
39
41
|
|
|
40
42
|
const onchange: ChangeEventHandler<HTMLInputElement> = (e) => {
|
|
41
|
-
tableContext
|
|
43
|
+
tableContext
|
|
44
|
+
.toggleSelected(cell.row.original, (e.target as HTMLInputElement).checked)
|
|
45
|
+
.catch(devCatch);
|
|
42
46
|
parentOnchange?.(e);
|
|
43
47
|
};
|
|
44
48
|
|
|
@@ -67,7 +71,7 @@
|
|
|
67
71
|
onkeyup={(e) => {
|
|
68
72
|
if (e.key === 'Enter') {
|
|
69
73
|
e.stopPropagation();
|
|
70
|
-
tableContext.toggleSelected(cell.row.original, !value);
|
|
74
|
+
tableContext.toggleSelected(cell.row.original, !value).catch(devCatch);
|
|
71
75
|
|
|
72
76
|
inputRef?.dispatchEvent(new InputEvent('change'));
|
|
73
77
|
// tableContext.onEditCell(cell.row.original, focusDetails.coordinates, !value);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
2
|
+
import type { BoolFilterValueType } from '../../../Types/Filtering/FilterFn.js';
|
|
2
3
|
import type { ChangeEventHandler } from 'svelte/elements';
|
|
3
4
|
export interface TableCheckboxProps<T extends object> {
|
|
4
|
-
cell: TableCell<T>;
|
|
5
|
+
cell: TableCell<T, BoolFilterValueType>;
|
|
5
6
|
onchange?: ChangeEventHandler<HTMLInputElement>;
|
|
6
7
|
}
|
|
7
8
|
declare function $$render<T extends object>(): {
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { dev } from '$app/environment';
|
|
5
5
|
import SingleSelect from '../../../../SingleSelect.svelte';
|
|
6
6
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
7
|
+
import type { SelectFilterValueType } from '../../../Types/Filtering/FilterFn.js';
|
|
7
8
|
import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
|
|
8
9
|
import { ToastContext } from '../../../../../Contexts/ToastContext.svelte.js';
|
|
9
10
|
import { devCatch } from '../../../../../Helpers/Helpers.svelte.js';
|
|
@@ -26,7 +27,7 @@
|
|
|
26
27
|
|
|
27
28
|
const optional = $derived(cell.column.columnDef.optional);
|
|
28
29
|
|
|
29
|
-
const tableContext = getContext<TableContext<T>>(TableContext.identifier);
|
|
30
|
+
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
30
31
|
const { toast } = getContext<ToastContext>(ToastContext.identifier);
|
|
31
32
|
|
|
32
33
|
const editableAsync = $derived(
|
|
@@ -58,7 +59,7 @@
|
|
|
58
59
|
})().catch(devCatch);
|
|
59
60
|
});
|
|
60
61
|
|
|
61
|
-
const focusDetails: TableFocusDetails<T> = $derived(
|
|
62
|
+
const focusDetails: TableFocusDetails<T, SelectFilterValueType<T> | undefined> = $derived(
|
|
62
63
|
new TableFocusDetails(cell, tableContext, toast)
|
|
63
64
|
);
|
|
64
65
|
|
|
@@ -138,12 +139,14 @@
|
|
|
138
139
|
untrack(() => {
|
|
139
140
|
tick()
|
|
140
141
|
.then(() => {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
142
|
+
const x =
|
|
143
|
+
validity === Validity.Invalid
|
|
144
|
+
? tableContext.addInvalidValue(cell.row.original)
|
|
145
|
+
: tableContext.removeInvalidValue(cell.row.original);
|
|
146
|
+
|
|
146
147
|
previousValidity = validity;
|
|
148
|
+
|
|
149
|
+
return x;
|
|
147
150
|
})
|
|
148
151
|
.catch(devCatch);
|
|
149
152
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script lang="ts" generics="T extends object">
|
|
3
|
+
<script lang="ts" generics="T extends object,FilterValueType">
|
|
4
4
|
import { dev } from '$app/environment';
|
|
5
5
|
|
|
6
6
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
import { getContext, tick, untrack } from 'svelte';
|
|
14
14
|
import type { TableTextInputProps } from './TableTextInputProps.js';
|
|
15
15
|
|
|
16
|
-
const { cell }: TableTextInputProps<T> = $props();
|
|
16
|
+
const { cell }: TableTextInputProps<T, FilterValueType> = $props();
|
|
17
17
|
|
|
18
18
|
// const columnDef: ITextInputColumnAccessorDef<T> = $derived(
|
|
19
19
|
// getNumberColumnDefOrError(cell.column.columnDef)
|
|
@@ -56,10 +56,10 @@
|
|
|
56
56
|
let tdref = $state<HTMLTableCellElement | undefined>();
|
|
57
57
|
let inputRef = $state<HTMLInputElement | undefined>();
|
|
58
58
|
|
|
59
|
-
const tableContext = getContext<TableContext<T>>(TableContext.identifier);
|
|
59
|
+
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
60
60
|
const toastContext = getContext<ToastContext>(ToastContext.identifier);
|
|
61
61
|
|
|
62
|
-
const focusDetails: TableFocusDetails<T> = $derived(
|
|
62
|
+
const focusDetails: TableFocusDetails<T, never> = $derived(
|
|
63
63
|
new TableFocusDetails(cell, tableContext, toastContext.toast)
|
|
64
64
|
);
|
|
65
65
|
|
|
@@ -150,12 +150,14 @@
|
|
|
150
150
|
untrack(() => {
|
|
151
151
|
tick()
|
|
152
152
|
.then(() => {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
153
|
+
const x =
|
|
154
|
+
validity === Validity.Invalid
|
|
155
|
+
? tableContext.addInvalidValue(cell.row.original)
|
|
156
|
+
: tableContext.removeInvalidValue(cell.row.original);
|
|
157
|
+
|
|
158
158
|
previousValidity = validity;
|
|
159
|
+
|
|
160
|
+
return x;
|
|
159
161
|
})
|
|
160
162
|
.catch(devCatch);
|
|
161
163
|
});
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import type { TableTextInputProps } from './TableTextInputProps.js';
|
|
2
|
-
declare function $$render<T extends object>(): {
|
|
3
|
-
props: TableTextInputProps<T>;
|
|
2
|
+
declare function $$render<T extends object, FilterValueType>(): {
|
|
3
|
+
props: TableTextInputProps<T, FilterValueType>;
|
|
4
4
|
exports: {};
|
|
5
5
|
bindings: "";
|
|
6
6
|
slots: {};
|
|
7
7
|
events: {};
|
|
8
8
|
};
|
|
9
|
-
declare class __sveltets_Render<T extends object> {
|
|
10
|
-
props(): ReturnType<typeof $$render<T>>['props'];
|
|
11
|
-
events(): ReturnType<typeof $$render<T>>['events'];
|
|
12
|
-
slots(): ReturnType<typeof $$render<T>>['slots'];
|
|
9
|
+
declare class __sveltets_Render<T extends object, FilterValueType> {
|
|
10
|
+
props(): ReturnType<typeof $$render<T, FilterValueType>>['props'];
|
|
11
|
+
events(): ReturnType<typeof $$render<T, FilterValueType>>['events'];
|
|
12
|
+
slots(): ReturnType<typeof $$render<T, FilterValueType>>['slots'];
|
|
13
13
|
bindings(): "";
|
|
14
14
|
exports(): {};
|
|
15
15
|
}
|
|
16
16
|
interface $$IsomorphicComponent {
|
|
17
|
-
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']>> & {
|
|
18
|
-
$$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
|
|
19
|
-
} & ReturnType<__sveltets_Render<T>['exports']>;
|
|
20
|
-
<T extends object>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
|
|
21
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
17
|
+
new <T extends object, FilterValueType>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, FilterValueType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, FilterValueType>['props']>, ReturnType<__sveltets_Render<T, FilterValueType>['events']>, ReturnType<__sveltets_Render<T, FilterValueType>['slots']>> & {
|
|
18
|
+
$$bindings?: ReturnType<__sveltets_Render<T, FilterValueType>['bindings']>;
|
|
19
|
+
} & ReturnType<__sveltets_Render<T, FilterValueType>['exports']>;
|
|
20
|
+
<T extends object, FilterValueType>(internal: unknown, props: ReturnType<__sveltets_Render<T, FilterValueType>['props']> & {}): ReturnType<__sveltets_Render<T, FilterValueType>['exports']>;
|
|
21
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
22
22
|
}
|
|
23
23
|
declare const TableTextInput: $$IsomorphicComponent;
|
|
24
|
-
type TableTextInput<T extends object> = InstanceType<typeof TableTextInput<T>>;
|
|
24
|
+
type TableTextInput<T extends object, FilterValueType> = InstanceType<typeof TableTextInput<T, FilterValueType>>;
|
|
25
25
|
export default TableTextInput;
|
|
@@ -36,18 +36,18 @@
|
|
|
36
36
|
let previousFocusElement: HTMLElement | undefined = $state();
|
|
37
37
|
</script>
|
|
38
38
|
|
|
39
|
-
<script lang="ts" generics="T extends object">
|
|
39
|
+
<script lang="ts" generics="T extends object, FilterValueType">
|
|
40
40
|
import { getContext, tick, untrack } from 'svelte';
|
|
41
41
|
import type { ValidityCellProps } from './ValidityCellProps.js';
|
|
42
42
|
|
|
43
|
-
const { cell }: ValidityCellProps<T> = $props();
|
|
43
|
+
const { cell }: ValidityCellProps<T, FilterValueType> = $props();
|
|
44
44
|
|
|
45
|
-
const tableContext = getContext<TableContext<T>>(TableContext.identifier);
|
|
45
|
+
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
46
46
|
const { toast } = getContext<ToastContext>(ToastContext.identifier);
|
|
47
47
|
|
|
48
|
-
const ColumnDef = $derived(cell.column.columnDef as AbstractDisplayDef<T>);
|
|
48
|
+
const ColumnDef = $derived(cell.column.columnDef as AbstractDisplayDef<T, FilterValueType>);
|
|
49
49
|
|
|
50
|
-
const focusDetails: TableFocusDetails<T> = $derived(
|
|
50
|
+
const focusDetails: TableFocusDetails<T, FilterValueType> = $derived(
|
|
51
51
|
new TableFocusDetails(cell, tableContext, toast)
|
|
52
52
|
);
|
|
53
53
|
|
|
@@ -76,9 +76,9 @@
|
|
|
76
76
|
const [validityValue] = await validity;
|
|
77
77
|
|
|
78
78
|
if (validityValue === Validity.Invalid) {
|
|
79
|
-
tableContext.addInvalidValue(cell.row.original);
|
|
79
|
+
return tableContext.addInvalidValue(cell.row.original);
|
|
80
80
|
} else {
|
|
81
|
-
tableContext.removeInvalidValue(cell.row.original);
|
|
81
|
+
return tableContext.removeInvalidValue(cell.row.original);
|
|
82
82
|
}
|
|
83
83
|
})().catch(devCatch);
|
|
84
84
|
});
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import type { ValidityCellProps } from './ValidityCellProps.js';
|
|
2
|
-
declare function $$render<T extends object>(): {
|
|
3
|
-
props: ValidityCellProps<T>;
|
|
2
|
+
declare function $$render<T extends object, FilterValueType>(): {
|
|
3
|
+
props: ValidityCellProps<T, FilterValueType>;
|
|
4
4
|
exports: {};
|
|
5
5
|
bindings: "";
|
|
6
6
|
slots: {};
|
|
7
7
|
events: {};
|
|
8
8
|
};
|
|
9
|
-
declare class __sveltets_Render<T extends object> {
|
|
10
|
-
props(): ReturnType<typeof $$render<T>>['props'];
|
|
11
|
-
events(): ReturnType<typeof $$render<T>>['events'];
|
|
12
|
-
slots(): ReturnType<typeof $$render<T>>['slots'];
|
|
9
|
+
declare class __sveltets_Render<T extends object, FilterValueType> {
|
|
10
|
+
props(): ReturnType<typeof $$render<T, FilterValueType>>['props'];
|
|
11
|
+
events(): ReturnType<typeof $$render<T, FilterValueType>>['events'];
|
|
12
|
+
slots(): ReturnType<typeof $$render<T, FilterValueType>>['slots'];
|
|
13
13
|
bindings(): "";
|
|
14
14
|
exports(): {};
|
|
15
15
|
}
|
|
16
16
|
interface $$IsomorphicComponent {
|
|
17
|
-
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']>> & {
|
|
18
|
-
$$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
|
|
19
|
-
} & ReturnType<__sveltets_Render<T>['exports']>;
|
|
20
|
-
<T extends object>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
|
|
21
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
17
|
+
new <T extends object, FilterValueType>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, FilterValueType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, FilterValueType>['props']>, ReturnType<__sveltets_Render<T, FilterValueType>['events']>, ReturnType<__sveltets_Render<T, FilterValueType>['slots']>> & {
|
|
18
|
+
$$bindings?: ReturnType<__sveltets_Render<T, FilterValueType>['bindings']>;
|
|
19
|
+
} & ReturnType<__sveltets_Render<T, FilterValueType>['exports']>;
|
|
20
|
+
<T extends object, FilterValueType>(internal: unknown, props: ReturnType<__sveltets_Render<T, FilterValueType>['props']> & {}): ReturnType<__sveltets_Render<T, FilterValueType>['exports']>;
|
|
21
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
22
22
|
}
|
|
23
23
|
declare const ValidityCell: $$IsomorphicComponent;
|
|
24
|
-
type ValidityCell<T extends object> = InstanceType<typeof ValidityCell<T>>;
|
|
24
|
+
type ValidityCell<T extends object, FilterValueType> = InstanceType<typeof ValidityCell<T, FilterValueType>>;
|
|
25
25
|
export default ValidityCell;
|