@lavalogic/scoria 0.14.2 → 0.15.0
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/Table/Body/Rows/ColumnList.svelte +1 -1
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +2 -2
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte.d.ts +12 -12
- package/dist/Components/Table/Body/Rows/ColumnListRowProps.d.ts +1 -1
- package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +3 -5
- 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/SelectColumn.d.ts +2 -3
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +2 -2
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +2 -3
- package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.d.ts +2 -3
- package/dist/Components/Table/Body/Rows/TableRow.svelte +3 -4
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.d.ts +1 -1
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +27 -28
- package/dist/Components/Table/Headers/TableHead.svelte +3 -3
- package/dist/Components/Table/Types/Columns/Column.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.d.ts +3 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.d.ts +4 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.d.ts +3 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts +4 -5
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js +0 -1
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.d.ts +4 -5
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.d.ts +7 -7
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.d.ts +3 -3
- package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +5 -6
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.js +0 -6
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDefSet.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +5 -5
- package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +3 -3
- package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +4 -3
- package/dist/Components/Table/Types/Columns/Definitions/JSONColumnDefSet.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts +1 -2
- package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +1 -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 +8 -8
- package/dist/Components/Table/Types/Context/TableContext.svelte.js +0 -3
- package/dist/Types/Examples/ExampleModal.svelte +2 -2
- package/dist/Types/Examples/ExampleModal.svelte.d.ts +2 -23
- package/package.json +14 -14
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
const { searchValue }: ColumnListProps = $props();
|
|
14
14
|
|
|
15
|
-
const visibleColumns: Array<ColumnDef<T
|
|
15
|
+
const visibleColumns: Array<ColumnDef<T>> = $derived.by(() => {
|
|
16
16
|
const lowercasedSearchValue = searchValue.toLocaleLowerCase();
|
|
17
17
|
return tableContext.columnDefs.filter(
|
|
18
18
|
(it) =>
|
|
@@ -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">
|
|
4
4
|
import Checkbox from '../../../Checkbox.svelte';
|
|
5
5
|
import Icon from '../../../Icon.svelte';
|
|
6
6
|
import { TableContext } from '../../Types/Context/TableContext.svelte.js';
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import type { ColumnListRowProps } from './ColumnListRowProps.js';
|
|
10
10
|
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
11
11
|
|
|
12
|
-
const { columnDef }: ColumnListRowProps<T
|
|
12
|
+
const { columnDef }: ColumnListRowProps<T> = $props();
|
|
13
13
|
|
|
14
14
|
const isExpandColumn = $derived(columnDef?.columnType === 'Expand');
|
|
15
15
|
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import type { ColumnListRowProps } from './ColumnListRowProps.js';
|
|
2
|
-
declare function $$render<T extends object
|
|
3
|
-
props: ColumnListRowProps<T
|
|
2
|
+
declare function $$render<T extends object>(): {
|
|
3
|
+
props: ColumnListRowProps<T>;
|
|
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
|
|
11
|
-
events(): ReturnType<typeof $$render<T
|
|
12
|
-
slots(): ReturnType<typeof $$render<T
|
|
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'];
|
|
13
13
|
bindings(): "";
|
|
14
14
|
exports(): {};
|
|
15
15
|
}
|
|
16
16
|
interface $$IsomorphicComponent {
|
|
17
|
-
new <T extends object
|
|
18
|
-
$$bindings?: ReturnType<__sveltets_Render<T
|
|
19
|
-
} & ReturnType<__sveltets_Render<T
|
|
20
|
-
<T extends object
|
|
21
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any
|
|
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']>;
|
|
22
22
|
}
|
|
23
23
|
declare const ColumnListRow: $$IsomorphicComponent;
|
|
24
|
-
type ColumnListRow<T extends object
|
|
24
|
+
type ColumnListRow<T extends object> = InstanceType<typeof ColumnListRow<T>>;
|
|
25
25
|
export default ColumnListRow;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ColumnDef } from '../../Types/Columns/Definitions/ColumnDef.svelte.js';
|
|
2
|
-
export interface ColumnListRowProps<T extends object, FilterValueType> {
|
|
2
|
+
export interface ColumnListRowProps<T extends object, FilterValueType = unknown> {
|
|
3
3
|
columnDef: ColumnDef<T, FilterValueType> | null;
|
|
4
4
|
}
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
|
|
16
16
|
const cellTypes: Record<
|
|
17
17
|
'Number' | 'Date' | 'Select' | 'Checkbox' | 'Query' | 'Text',
|
|
18
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
18
|
Component<any>
|
|
20
19
|
> = {
|
|
21
20
|
Number: TableNumberInput,
|
|
@@ -27,13 +26,12 @@
|
|
|
27
26
|
} as const;
|
|
28
27
|
</script>
|
|
29
28
|
|
|
30
|
-
<script lang="ts" generics="T extends object,
|
|
31
|
-
const { cell }: AccessorComponentProps<T
|
|
29
|
+
<script lang="ts" generics="T extends object, ">
|
|
30
|
+
const { cell }: AccessorComponentProps<T> = $props();
|
|
32
31
|
|
|
33
32
|
const CurrentComponent = $derived(getAppropriateAccessorDef(cell.column.columnDef));
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
function getAppropriateAccessorDef(columnDef: ColumnDef<T, FilterValueType>): Component<any> {
|
|
34
|
+
function getAppropriateAccessorDef(columnDef: ColumnDef<T>): Component<any> {
|
|
37
35
|
if (columnDef instanceof AccessorDef) {
|
|
38
36
|
return cellTypes[columnDef.accessorType];
|
|
39
37
|
}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import type { AccessorComponentProps } from './AccessorComponentProps.js';
|
|
2
|
-
declare function $$render<T extends object
|
|
3
|
-
props: AccessorComponentProps<T
|
|
2
|
+
declare function $$render<T extends object>(): {
|
|
3
|
+
props: AccessorComponentProps<T>;
|
|
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
|
|
11
|
-
events(): ReturnType<typeof $$render<T
|
|
12
|
-
slots(): ReturnType<typeof $$render<T
|
|
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'];
|
|
13
13
|
bindings(): "";
|
|
14
14
|
exports(): {};
|
|
15
15
|
}
|
|
16
16
|
interface $$IsomorphicComponent {
|
|
17
|
-
new <T extends object
|
|
18
|
-
$$bindings?: ReturnType<__sveltets_Render<T
|
|
19
|
-
} & ReturnType<__sveltets_Render<T
|
|
20
|
-
<T extends object
|
|
21
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any
|
|
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']>;
|
|
22
22
|
}
|
|
23
23
|
declare const AccessorComponent: $$IsomorphicComponent;
|
|
24
|
-
type AccessorComponent<T extends object
|
|
24
|
+
type AccessorComponent<T extends object> = InstanceType<typeof AccessorComponent<T>>;
|
|
25
25
|
export default AccessorComponent;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
2
|
-
export interface AccessorComponentProps<T extends object
|
|
3
|
-
cell: TableCell<T
|
|
2
|
+
export interface AccessorComponentProps<T extends object> {
|
|
3
|
+
cell: TableCell<T>;
|
|
4
4
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Column } from '../../../Types/Columns/Column.js';
|
|
2
2
|
import type { SelectDef } from '../../../Types/Columns/Definitions/Accessors/SelectDef.svelte.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
columnDef: SelectDef<T, FilterValueType>;
|
|
3
|
+
export interface SelectColumn<T extends object, in FilterValueType = T, out SelectValueType = T> extends Column<T, FilterValueType> {
|
|
4
|
+
columnDef: SelectDef<T, FilterValueType, SelectValueType>;
|
|
6
5
|
}
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
|
|
26
26
|
export interface TableColumnProps<T extends object> {
|
|
27
27
|
cell: TableCell<T>;
|
|
28
|
-
expandedColumnDef: ExpandDef<T, object
|
|
29
|
-
onExpandChange: (columnDef: ExpandDef<T, object
|
|
28
|
+
expandedColumnDef: ExpandDef<T, object> | undefined;
|
|
29
|
+
onExpandChange: (columnDef: ExpandDef<T, object>) => void;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
function isProgressBarTableCell<T extends object>(
|
|
@@ -2,10 +2,9 @@ import { ExpandDef } from '../../../Types/Columns/Definitions/Expand/ExpandDef.s
|
|
|
2
2
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
3
3
|
export interface TableColumnProps<T extends object> {
|
|
4
4
|
cell: TableCell<T>;
|
|
5
|
-
expandedColumnDef: ExpandDef<T, object
|
|
6
|
-
onExpandChange: (columnDef: ExpandDef<T, object
|
|
5
|
+
expandedColumnDef: ExpandDef<T, object> | undefined;
|
|
6
|
+
onExpandChange: (columnDef: ExpandDef<T, object>) => void;
|
|
7
7
|
}
|
|
8
|
-
import type { Primitive } from '../../../Types/Context/TableInitOptions.js';
|
|
9
8
|
declare function $$render<T extends object>(): {
|
|
10
9
|
props: TableColumnProps<T>;
|
|
11
10
|
exports: {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Column } from '../../../Types/Columns/Column.js';
|
|
2
2
|
import type { QueryDef } from '../../../Types/Columns/Definitions/Accessors/QueryDef.svelte.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
columnDef: QueryDef<T, FilterValueType>;
|
|
3
|
+
export interface TableQueryColumn<T extends object, in FilterValueType = T, out SelectValueType = T> extends Column<T, FilterValueType, SelectValueType> {
|
|
4
|
+
columnDef: QueryDef<T, FilterValueType, SelectValueType>;
|
|
6
5
|
}
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
import type { DefsWrapper } from '../../Types/Columns/DefsWrapper.js';
|
|
10
10
|
import type { TableCell } from '../../Types/Columns/TableCell.js';
|
|
11
11
|
import { TableContext } from '../../Types/Context/TableContext.svelte.js';
|
|
12
|
-
import type { Primitive } from '../../Types/Context/TableInitOptions.js';
|
|
13
12
|
import ColumnHighlight from './ColumnHighlight.svelte';
|
|
14
13
|
import TableColumn from './Columns/TableColumn.svelte';
|
|
15
14
|
import type { TableRowProps } from './TableRowProps.js';
|
|
@@ -28,7 +27,7 @@
|
|
|
28
27
|
: row.getCenterVisibleCells()
|
|
29
28
|
);
|
|
30
29
|
|
|
31
|
-
let expandedColumnDef: ExpandDef<T, object
|
|
30
|
+
let expandedColumnDef: ExpandDef<T, object> | undefined = $state();
|
|
32
31
|
|
|
33
32
|
$effect(() => {
|
|
34
33
|
if (cells.length) {
|
|
@@ -45,7 +44,7 @@
|
|
|
45
44
|
let innerColumnDefs: DefsWrapper<object> = $state({ defs: [] });
|
|
46
45
|
let innerTableName: string | undefined = $state();
|
|
47
46
|
|
|
48
|
-
let prevExpandedColumnDef: ExpandDef<T, object
|
|
47
|
+
let prevExpandedColumnDef: ExpandDef<T, object> | undefined = $state();
|
|
49
48
|
|
|
50
49
|
const rowIndex = $derived(cells.at(0) && cells[0].row.visibleIndex);
|
|
51
50
|
const highlighted = $derived(
|
|
@@ -84,7 +83,7 @@
|
|
|
84
83
|
});
|
|
85
84
|
});
|
|
86
85
|
|
|
87
|
-
function onExpandChange(columnDef: ExpandDef<T, object
|
|
86
|
+
function onExpandChange(columnDef: ExpandDef<T, object>) {
|
|
88
87
|
if (expandedColumnDef?.id === columnDef.id) {
|
|
89
88
|
expandedColumnDef = undefined;
|
|
90
89
|
} else {
|
|
@@ -2,4 +2,4 @@ import type { ExampleItem } from '../../../Types/Examples/ExampleItem.js';
|
|
|
2
2
|
import { type Component } from 'svelte';
|
|
3
3
|
import type { DisplayDefModalProps } from '../Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js';
|
|
4
4
|
import type { DefsWrapper } from '../Types/Columns/DefsWrapper.js';
|
|
5
|
-
export declare function generateExampleItemColumnDefs(modal: Component<DisplayDefModalProps<ExampleItem
|
|
5
|
+
export declare function generateExampleItemColumnDefs(modal: Component<DisplayDefModalProps<ExampleItem>, object, ''>): DefsWrapper<ExampleItem>;
|
|
@@ -28,33 +28,6 @@ export function generateExampleItemColumnDefs(modal) {
|
|
|
28
28
|
},
|
|
29
29
|
isEnabled: () => true
|
|
30
30
|
}));
|
|
31
|
-
const selectDef = $state(new SelectDef({
|
|
32
|
-
id: 'someSelect',
|
|
33
|
-
header: 'Select Example',
|
|
34
|
-
optional: false,
|
|
35
|
-
getOptions: () => {
|
|
36
|
-
return [
|
|
37
|
-
{
|
|
38
|
-
label: 'First Option',
|
|
39
|
-
value: ExampleSelectEnum.FirstOption
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
label: 'Second Option',
|
|
43
|
-
value: ExampleSelectEnum.SecondOption
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
label: 'Third Option',
|
|
47
|
-
value: ExampleSelectEnum.ThirdOption
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
label: 'Fourth Option',
|
|
51
|
-
value: ExampleSelectEnum.FourthOption
|
|
52
|
-
}
|
|
53
|
-
];
|
|
54
|
-
},
|
|
55
|
-
getDisplayValue: (item) => item.someSelect,
|
|
56
|
-
isEditable: () => true
|
|
57
|
-
})).downcast();
|
|
58
31
|
let defs = $state([
|
|
59
32
|
expandDef,
|
|
60
33
|
new ValidityDef({
|
|
@@ -171,7 +144,33 @@ export function generateExampleItemColumnDefs(modal) {
|
|
|
171
144
|
showTime: true
|
|
172
145
|
}),
|
|
173
146
|
// altSelectDef,
|
|
174
|
-
|
|
147
|
+
new SelectDef({
|
|
148
|
+
id: 'someSelect',
|
|
149
|
+
header: 'Select Example',
|
|
150
|
+
optional: false,
|
|
151
|
+
getOptions: () => {
|
|
152
|
+
return [
|
|
153
|
+
{
|
|
154
|
+
label: 'First Option',
|
|
155
|
+
value: ExampleSelectEnum.FirstOption
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
label: 'Second Option',
|
|
159
|
+
value: ExampleSelectEnum.SecondOption
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
label: 'Third Option',
|
|
163
|
+
value: ExampleSelectEnum.ThirdOption
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
label: 'Fourth Option',
|
|
167
|
+
value: ExampleSelectEnum.FourthOption
|
|
168
|
+
}
|
|
169
|
+
];
|
|
170
|
+
},
|
|
171
|
+
getDisplayValue: (item) => item.someSelect,
|
|
172
|
+
isEditable: () => true
|
|
173
|
+
}),
|
|
175
174
|
new BubbleDef({
|
|
176
175
|
header: 'Generated Bubble',
|
|
177
176
|
id: 'generatedBubble',
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
currentDropTarget = target as HTMLTableCellElement | null;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
function showtooltip(e: MouseEvent, columnDef: ColumnDef<T
|
|
62
|
+
function showtooltip(e: MouseEvent, columnDef: ColumnDef<T>): void {
|
|
63
63
|
if (columnDef instanceof ExpandDef) {
|
|
64
64
|
const rect = (e.target as HTMLElement).closest('th')?.getBoundingClientRect();
|
|
65
65
|
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
function hideTooltip(columnDef: ColumnDef<T
|
|
81
|
+
function hideTooltip(columnDef: ColumnDef<T>): void {
|
|
82
82
|
if (columnDef instanceof ExpandDef) {
|
|
83
83
|
tooltipContext.hideTooltip(
|
|
84
84
|
`Show ${typeof columnDef.header === 'string' ? columnDef.header : columnDef.id}`
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
currentDropTarget = null;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
function setDragTarget(def: ColumnDef<T
|
|
104
|
+
function setDragTarget(def: ColumnDef<T>) {
|
|
105
105
|
tableContext.dragTarget = def;
|
|
106
106
|
}
|
|
107
107
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ColumnDef } from './Definitions/ColumnDef.svelte.js';
|
|
2
|
-
export interface Column<T extends object, FilterFnType = unknown> {
|
|
2
|
+
export interface Column<T extends object, in FilterFnType = unknown, out OptionsValueType = unknown> {
|
|
3
3
|
id: string;
|
|
4
|
-
columnDef: ColumnDef<T, FilterFnType>;
|
|
4
|
+
columnDef: ColumnDef<T, FilterFnType, OptionsValueType>;
|
|
5
5
|
getCanSort: () => boolean;
|
|
6
6
|
getToggleSortingHandler: () => ((e: MouseEvent) => void) | undefined;
|
|
7
7
|
getIsSorted: () => 'asc' | 'desc' | 'none';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
|
|
2
2
|
import type { AccessorType } from './AccessorType.js';
|
|
3
|
-
export interface AccessorDefProps<T extends object, FilterValueType> extends ColumnDefProps<T, FilterValueType> {
|
|
3
|
+
export interface AccessorDefProps<T extends object, in FilterValueType, out OptionsValueType> extends ColumnDefProps<T, FilterValueType, OptionsValueType> {
|
|
4
4
|
readonly id: string & keyof T;
|
|
5
5
|
}
|
|
6
|
-
export declare abstract class AccessorDef<T extends object, FilterValueType> extends ColumnDef<T, FilterValueType> {
|
|
7
|
-
constructor(props: AccessorDefProps<T, FilterValueType>);
|
|
6
|
+
export declare abstract class AccessorDef<T extends object, in FilterValueType, out OptionsValueType> extends ColumnDef<T, FilterValueType, OptionsValueType> {
|
|
7
|
+
constructor(props: AccessorDefProps<T, FilterValueType, OptionsValueType>);
|
|
8
8
|
readonly columnType: "Accessor";
|
|
9
9
|
abstract readonly accessorType: AccessorType;
|
|
10
10
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
2
2
|
import type { BoolFilterValueType, FilterFn } from '../../../Filtering/FilterFn.js';
|
|
3
3
|
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
4
|
-
export
|
|
5
|
-
|
|
4
|
+
export interface CheckboxDefProps<T extends object, in FilterValueType = BoolFilterValueType, out SelectValueType = BoolFilterValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType> {
|
|
5
|
+
}
|
|
6
|
+
export declare class CheckboxDef<T extends object, in FilterValueType = BoolFilterValueType, out SelectValueType = BoolFilterValueType> extends AccessorDef<T, FilterValueType, SelectValueType> {
|
|
6
7
|
readonly accessorType: "Checkbox";
|
|
7
|
-
constructor(props: CheckboxDefProps<T, FilterValueType>);
|
|
8
|
+
constructor(props: CheckboxDefProps<T, FilterValueType, SelectValueType>);
|
|
8
9
|
private _filterFn;
|
|
9
10
|
get filterFn(): CustomFilterFn | FilterFn<T, FilterValueType> | undefined;
|
|
10
11
|
set filterFn(v: CustomFilterFn | FilterFn<T, FilterValueType> | undefined);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
2
2
|
import type { DateFilterValueType, FilterFn } from '../../../Filtering/FilterFn.js';
|
|
3
3
|
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
4
|
-
export interface DateInputDefProps<T extends object, FilterValueType = DateFilterValueType> extends AccessorDefProps<T, FilterValueType> {
|
|
4
|
+
export interface DateInputDefProps<T extends object, in FilterValueType = DateFilterValueType, out SelectValueType = DateFilterValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType> {
|
|
5
5
|
showTime?: boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare class DateInputDef<T extends object, FilterValueType = DateFilterValueType> extends AccessorDef<T, FilterValueType> {
|
|
7
|
+
export declare class DateInputDef<T extends object, in FilterValueType = DateFilterValueType, out SelectValueType = DateFilterValueType> extends AccessorDef<T, FilterValueType, SelectValueType> {
|
|
8
8
|
readonly accessorType: "Date";
|
|
9
|
-
constructor(props: DateInputDefProps<T, FilterValueType>);
|
|
9
|
+
constructor(props: DateInputDefProps<T, FilterValueType, SelectValueType>);
|
|
10
10
|
private _filterFn;
|
|
11
11
|
get filterFn(): FilterFn<T, FilterValueType> | CustomFilterFn | undefined;
|
|
12
12
|
set filterFn(v: FilterFn<T, FilterValueType> | CustomFilterFn | undefined);
|
package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
2
2
|
import type { FilterFn, NumberFilterValueType } from '../../../Filtering/FilterFn.js';
|
|
3
|
-
import { type
|
|
4
|
-
|
|
5
|
-
export interface NumberInputDefProps<T extends object, FilterValueType = NumberFilterValueType> extends ColumnDefProps<T, FilterValueType> {
|
|
3
|
+
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
4
|
+
export interface NumberInputDefProps<T extends object, in FilterValueType = NumberFilterValueType, out OptionssValueType = NumberFilterValueType> extends AccessorDefProps<T, FilterValueType, OptionssValueType> {
|
|
6
5
|
min: number;
|
|
7
6
|
max: number;
|
|
8
7
|
}
|
|
9
|
-
export declare class NumberInputDef<T extends object, FilterValueType = NumberFilterValueType> extends AccessorDef<T, FilterValueType> {
|
|
8
|
+
export declare class NumberInputDef<T extends object, in FilterValueType = NumberFilterValueType, out OptionssValueType = NumberFilterValueType> extends AccessorDef<T, FilterValueType, OptionssValueType> {
|
|
10
9
|
readonly accessorType: "Number";
|
|
11
|
-
constructor(props: NumberInputDefProps<T, FilterValueType>);
|
|
10
|
+
constructor(props: NumberInputDefProps<T, FilterValueType, OptionssValueType>);
|
|
12
11
|
readonly min: number;
|
|
13
12
|
readonly max: number;
|
|
14
13
|
private _filterFn;
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import type { SelectOption } from '../../../../../../Types/Internal/SelectOption.js';
|
|
2
2
|
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
3
3
|
import type { FilterFn } from '../../../Filtering/FilterFn.js';
|
|
4
|
-
import type
|
|
5
|
-
|
|
6
|
-
export interface QueryDefProps<T extends object, FilterValueType = unknown> extends ColumnDefProps<T, FilterValueType> {
|
|
4
|
+
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
5
|
+
export interface QueryDefProps<T extends object, in FilterValueType = unknown, out OptionsValueType = unknown> extends AccessorDefProps<T, FilterValueType, OptionsValueType> {
|
|
7
6
|
query: (queryString: string, item: T, index: number) => Promise<Array<SelectOption<unknown>>>;
|
|
8
7
|
getDisplayValue: (item: T, index: number) => string | null | Promise<string | null>;
|
|
9
8
|
clearable?: boolean;
|
|
10
9
|
}
|
|
11
|
-
export declare class QueryDef<T extends object, FilterValueType = unknown> extends AccessorDef<T, FilterValueType> {
|
|
10
|
+
export declare class QueryDef<T extends object, FilterValueType = unknown, out OptionsValueType = unknown> extends AccessorDef<T, FilterValueType, OptionsValueType> {
|
|
12
11
|
readonly accessorType: "Query";
|
|
13
|
-
constructor(props: QueryDefProps<T, FilterValueType>);
|
|
12
|
+
constructor(props: QueryDefProps<T, FilterValueType, OptionsValueType>);
|
|
14
13
|
readonly filterFn: CustomFilterFn | FilterFn<T, FilterValueType> | undefined;
|
|
15
14
|
getDisplayValue: (item: T, index: number) => string | null | Promise<string | null>;
|
|
16
15
|
readonly query: (queryString: string, item: T, index: number) => Promise<Array<SelectOption<unknown>>>;
|
|
@@ -2,16 +2,16 @@ import type { SelectOption } from '../../../../../../Types/Internal/SelectOption
|
|
|
2
2
|
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
3
3
|
import type { FilterFn } from '../../../Filtering/FilterFn.js';
|
|
4
4
|
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
5
|
-
export interface SelectDefProps<T extends object, FilterValueType> extends AccessorDefProps<T, FilterValueType> {
|
|
6
|
-
getOptions: () => Array<SelectOption<
|
|
5
|
+
export interface SelectDefProps<T extends object, in FilterValueType, out SelectValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType> {
|
|
6
|
+
getOptions: () => Array<SelectOption<SelectValueType>> | Promise<Array<SelectOption<SelectValueType>>>;
|
|
7
7
|
getDisplayValue: (item: T, index: number) => string | null | Promise<string | null>;
|
|
8
8
|
sortingFn?: (a: T, b: T) => 1 | -1 | 0;
|
|
9
|
-
getSpecificOptions?: (item: T, index: number) => Array<SelectOption<
|
|
9
|
+
getSpecificOptions?: (item: T, index: number) => Array<SelectOption<SelectValueType>> | Promise<Array<SelectOption<SelectValueType>>>;
|
|
10
10
|
optional?: boolean;
|
|
11
11
|
clearable?: boolean;
|
|
12
12
|
}
|
|
13
|
-
export declare class SelectDef<T extends object, FilterValueType> extends AccessorDef<T, FilterValueType> {
|
|
14
|
-
constructor(props: SelectDefProps<T, FilterValueType>);
|
|
13
|
+
export declare class SelectDef<T extends object, in FilterValueType, out SelectValueType> extends AccessorDef<T, FilterValueType, SelectValueType> {
|
|
14
|
+
constructor(props: SelectDefProps<T, FilterValueType, SelectValueType>);
|
|
15
15
|
readonly accessorType: "Select";
|
|
16
16
|
private _filterFn;
|
|
17
17
|
get filterFn(): FilterFn<T, FilterValueType> | CustomFilterFn | undefined;
|
|
@@ -19,7 +19,7 @@ export declare class SelectDef<T extends object, FilterValueType> extends Access
|
|
|
19
19
|
readonly sortingFn?: (a: T, b: T) => 1 | -1 | 0;
|
|
20
20
|
readonly optional: boolean;
|
|
21
21
|
readonly clearable: boolean;
|
|
22
|
-
readonly getSpecificOptions?: (item: T, index: number) => Array<SelectOption<
|
|
22
|
+
readonly getSpecificOptions?: (item: T, index: number) => Array<SelectOption<SelectValueType>> | Promise<Array<SelectOption<SelectValueType>>>;
|
|
23
23
|
getDisplayValue: (item: T, index: number) => string | null | Promise<string | null>;
|
|
24
|
-
getOptions: () => Array<SelectOption<
|
|
24
|
+
getOptions: () => Array<SelectOption<SelectValueType>> | Promise<Array<SelectOption<SelectValueType>>>;
|
|
25
25
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
2
2
|
import type { FilterFn, StringFilterValueType } from '../../../Filtering/FilterFn.js';
|
|
3
3
|
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
4
|
-
export interface TextInputDefProps<T extends object, FilterValueType = StringFilterValueType> extends AccessorDefProps<T, FilterValueType> {
|
|
4
|
+
export interface TextInputDefProps<T extends object, in FilterValueType = StringFilterValueType, out SelectValueType = StringFilterValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType> {
|
|
5
5
|
filterValueType?: 'String';
|
|
6
6
|
}
|
|
7
|
-
export declare class TextInputDef<T extends object, FilterValueType = StringFilterValueType> extends AccessorDef<T, FilterValueType> {
|
|
7
|
+
export declare class TextInputDef<T extends object, in FilterValueType = StringFilterValueType, out SelectValueType = StringFilterValueType> extends AccessorDef<T, FilterValueType, SelectValueType> {
|
|
8
8
|
readonly accessorType: "Text";
|
|
9
|
-
constructor(props: TextInputDefProps<T, FilterValueType>);
|
|
9
|
+
constructor(props: TextInputDefProps<T, FilterValueType, SelectValueType>);
|
|
10
10
|
private _filterFn;
|
|
11
11
|
get filterFn(): CustomFilterFn | FilterFn<T, FilterValueType> | undefined;
|
|
12
12
|
set filterFn(v: CustomFilterFn | FilterFn<T, FilterValueType> | undefined);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { ColourSet } from '../../../../../../scss/colours.js';
|
|
2
2
|
import type { TableActionButton } from '../../TableActionButton.js';
|
|
3
3
|
import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
|
|
4
|
-
export interface ActionsDefProps<T extends object, FilterValueType> extends Omit<ColumnDefProps<T, FilterValueType>, 'id' | 'header'> {
|
|
4
|
+
export interface ActionsDefProps<T extends object, in FilterValueType, out OptionsValueType = unknown> extends Omit<ColumnDefProps<T, FilterValueType, OptionsValueType>, 'id' | 'header'> {
|
|
5
5
|
actions: Array<TableActionButton<T>>;
|
|
6
6
|
isEnabled?: (item: T, index: number, button: TableActionButton<T>) => boolean | Promise<boolean>;
|
|
7
7
|
getColourSet?: (item: T, index: number, button: TableActionButton<T>) => ColourSet;
|
|
8
8
|
}
|
|
9
|
-
export declare class ActionsDef<T extends object, FilterValueType> extends ColumnDef<T, FilterValueType> {
|
|
9
|
+
export declare class ActionsDef<T extends object, FilterValueType, out OptionsValueType = unknown> extends ColumnDef<T, FilterValueType, OptionsValueType> {
|
|
10
10
|
constructor(props: ActionsDefProps<T, FilterValueType>);
|
|
11
11
|
readonly columnType: "Actions";
|
|
12
12
|
readonly actions: Array<TableActionButton<T>>;
|
|
@@ -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> {
|
|
10
|
+
export interface ColumnDefProps<T extends object, in FilterFnType, out OptionsType> {
|
|
11
11
|
id: string;
|
|
12
12
|
header: string | Snippet;
|
|
13
13
|
debug?: boolean;
|
|
@@ -22,12 +22,12 @@ export interface ColumnDefProps<T extends object, FilterFnType> {
|
|
|
22
22
|
isValid?: ValidationFn<T>;
|
|
23
23
|
filterFn?: FilterFn<T, FilterFnType> | CustomFilterFn;
|
|
24
24
|
filterValueType?: FilterValueType;
|
|
25
|
-
getOptions?: () => Array<SelectOption<
|
|
25
|
+
getOptions?: () => Array<SelectOption<OptionsType>> | Promise<Array<SelectOption<OptionsType>>>;
|
|
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> {
|
|
30
|
-
protected constructor(props: ColumnDefProps<T, FilterFnType>);
|
|
29
|
+
export declare abstract class ColumnDef<T extends object, in FilterFnType = unknown, out OptionsType = unknown> {
|
|
30
|
+
protected constructor(props: ColumnDefProps<T, FilterFnType, OptionsType>);
|
|
31
31
|
readonly id: string;
|
|
32
32
|
debug: boolean;
|
|
33
33
|
private _index;
|
|
@@ -60,6 +60,5 @@ export declare abstract class ColumnDef<T extends object, FilterFnType> {
|
|
|
60
60
|
readonly isEditable: (item: T, index: number) => boolean | Promise<boolean>;
|
|
61
61
|
readonly resizable: boolean;
|
|
62
62
|
readonly header: string | Snippet;
|
|
63
|
-
readonly getOptions?: () => Array<SelectOption<
|
|
64
|
-
readonly downcast: () => ColumnDef<T, FilterFnType>;
|
|
63
|
+
readonly getOptions?: () => Array<SelectOption<OptionsType>> | Promise<Array<SelectOption<OptionsType>>>;
|
|
65
64
|
}
|
|
@@ -83,10 +83,4 @@ export class ColumnDef {
|
|
|
83
83
|
resizable;
|
|
84
84
|
header;
|
|
85
85
|
getOptions;
|
|
86
|
-
// HACK: indended to be used as a quick type coercion for lists of ColumnDef<T,unknown>
|
|
87
|
-
// not the best way to solve this problem, but I've wasted enough time on this.
|
|
88
|
-
// eslint-disable-next-line @typescript-eslint/prefer-return-this-type
|
|
89
|
-
downcast = () => {
|
|
90
|
-
return this;
|
|
91
|
-
};
|
|
92
86
|
}
|
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, FilterValueType> {
|
|
6
|
-
cell: TableCell<T, FilterValueType>;
|
|
5
|
+
export interface DisplayDefModalProps<T extends object, in FilterValueType = unknown, out OptionsValueType = unknown> {
|
|
6
|
+
cell: TableCell<T, FilterValueType, OptionsValueType>;
|
|
7
7
|
onclose: () => void;
|
|
8
8
|
onsubmit: () => void;
|
|
9
9
|
}
|
|
10
|
-
export interface AbstractDisplayDefProps<T extends object, FilterFnType> extends ColumnDefProps<T, FilterFnType> {
|
|
10
|
+
export interface AbstractDisplayDefProps<T extends object, FilterFnType, out OptionsValueType = unknown> extends ColumnDefProps<T, FilterFnType, OptionsValueType> {
|
|
11
11
|
modal?: Component<any, any, any>;
|
|
12
12
|
}
|
|
13
|
-
export declare abstract class AbstractDisplayDef<T extends object, FilterValueType> extends ColumnDef<T, FilterValueType> {
|
|
13
|
+
export declare abstract class AbstractDisplayDef<T extends object, FilterValueType, out OptionsValueType = unknown> extends ColumnDef<T, FilterValueType, OptionsValueType> {
|
|
14
14
|
abstract readonly displayType: DisplayType;
|
|
15
|
-
constructor(props: AbstractDisplayDefProps<T, FilterValueType>);
|
|
15
|
+
constructor(props: AbstractDisplayDefProps<T, FilterValueType, OptionsValueType>);
|
|
16
16
|
readonly columnType: "Display";
|
|
17
17
|
readonly modal: Component<DisplayDefModalProps<T, FilterValueType>, any, any> | undefined;
|
|
18
18
|
}
|
|
@@ -2,7 +2,7 @@ import type { IconProps } from '../../../../../IconProps.js';
|
|
|
2
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, InnterIdType extends Primitive, FilterValueType = unknown> extends ColumnDefProps<T, FilterValueType> {
|
|
5
|
+
export interface ExpandDefProps<T extends object, R extends object, InnterIdType extends Primitive = Primitive, in FilterValueType = unknown, out OptionsValueType = unknown> extends ColumnDefProps<T, FilterValueType, OptionsValueType> {
|
|
6
6
|
isEnabled: (item: T, index: number) => boolean | Promise<boolean>;
|
|
7
7
|
getInnerColumnDefs: (item: T, index: number) => DefsWrapper<R>;
|
|
8
8
|
headerIcon: IconProps['name'];
|
|
@@ -10,9 +10,9 @@ export interface ExpandDefProps<T extends object, R extends object, InnterIdType
|
|
|
10
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, InnterIdType extends Primitive, FilterValueType = unknown> extends ColumnDef<T, FilterValueType> {
|
|
13
|
+
export declare class ExpandDef<T extends object, R extends object, InnterIdType extends Primitive = Primitive, in FilterValueType = unknown, out OptionsValueType = unknown> extends ColumnDef<T, FilterValueType, OptionsValueType> {
|
|
14
14
|
readonly columnType: "Expand";
|
|
15
|
-
constructor(props: ExpandDefProps<T, R, InnterIdType, FilterValueType>);
|
|
15
|
+
constructor(props: ExpandDefProps<T, R, InnterIdType, FilterValueType, OptionsValueType>);
|
|
16
16
|
readonly accessorFn: (item: T, index: number) => Array<R> | Promise<Array<R>>;
|
|
17
17
|
readonly filterFn: undefined;
|
|
18
18
|
readonly innerTableName: string;
|
package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts
CHANGED
|
@@ -2,9 +2,10 @@ import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
|
2
2
|
import type { FilterFn } from '../../../Filtering/FilterFn.js';
|
|
3
3
|
import { ColumnType } from '../../ColumnType.js';
|
|
4
4
|
import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export interface FilterOnlyDefProps<T extends object, FilterFnType = unknown, out OptionsValueType = unknown> extends ColumnDefProps<T, FilterFnType, OptionsValueType> {
|
|
6
|
+
}
|
|
7
|
+
export declare class FilterOnlyDef<T extends object, FilterFnType = unknown, out OptionsValueType = unknown> extends ColumnDef<T, FilterFnType, OptionsValueType> {
|
|
8
|
+
constructor(props: FilterOnlyDefProps<T, FilterFnType, OptionsValueType>);
|
|
8
9
|
readonly columnType: ColumnType;
|
|
9
10
|
readonly filterFn: CustomFilterFn | FilterFn<T, FilterFnType> | undefined;
|
|
10
11
|
}
|
package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { BoolFilterValueType } from '../../../Filtering/FilterFn.js';
|
|
2
1
|
import { ColumnType } from '../../ColumnType.js';
|
|
3
2
|
import { ColumnDef } from '../ColumnDef.svelte.js';
|
|
4
|
-
export declare class RowSelectionDef<T extends object
|
|
3
|
+
export declare class RowSelectionDef<T extends object> extends ColumnDef<T> {
|
|
5
4
|
readonly isSelectable: (item: T, index: number) => boolean | Promise<boolean>;
|
|
6
5
|
readonly columnType: ColumnType;
|
|
7
6
|
constructor(isSelectable: (item: T, index: number) => boolean | Promise<boolean>);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CustomRemoteFilters } from '../Filtering/CustomRemoteFilters.js';
|
|
2
2
|
import type { ColumnDef } from './Definitions/ColumnDef.svelte.js';
|
|
3
3
|
export interface DefsWrapper<T extends object> {
|
|
4
|
-
defs: Array<ColumnDef<T
|
|
4
|
+
defs: Array<ColumnDef<T>>;
|
|
5
5
|
remoteFilters?: CustomRemoteFilters<unknown>;
|
|
6
6
|
}
|
|
@@ -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, FilterValueType = unknown> {
|
|
4
|
-
column: Column<T, FilterValueType>;
|
|
3
|
+
export interface TableCell<T extends object, in FilterValueType = unknown, out OptionsValueType = unknown> {
|
|
4
|
+
column: Column<T, FilterValueType, OptionsValueType>;
|
|
5
5
|
row: Row<T>;
|
|
6
6
|
id: string;
|
|
7
7
|
getValue: () => unknown | Promise<unknown>;
|
|
@@ -10,7 +10,7 @@ import type { OnChangeFn } from '../OnChangeFn.js';
|
|
|
10
10
|
import type { PaginationState } from '../Pagination/PaginationState.js';
|
|
11
11
|
export interface ITable<T extends object> {
|
|
12
12
|
data: Promise<Array<T>>;
|
|
13
|
-
columns: Array<ColumnDef<T
|
|
13
|
+
columns: Array<ColumnDef<T>>;
|
|
14
14
|
columnSizing: ColumnSizingState;
|
|
15
15
|
columnVisibility: VisibilityState;
|
|
16
16
|
sorting: SortingState | undefined;
|
|
@@ -62,11 +62,11 @@ export declare class TableContext<T extends object, RowIdType extends Primitive>
|
|
|
62
62
|
get limitFooter(): boolean;
|
|
63
63
|
set limitFooter(v: boolean);
|
|
64
64
|
private _dragTarget;
|
|
65
|
-
get dragTarget(): ColumnDef<T
|
|
66
|
-
set dragTarget(v: ColumnDef<T
|
|
65
|
+
get dragTarget(): ColumnDef<T> | null;
|
|
66
|
+
set dragTarget(v: ColumnDef<T> | null);
|
|
67
67
|
private _columnDefs;
|
|
68
|
-
get columnDefs(): Array<ColumnDef<T
|
|
69
|
-
set columnDefs(v: Array<ColumnDef<T
|
|
68
|
+
get columnDefs(): Array<ColumnDef<T>>;
|
|
69
|
+
set columnDefs(v: Array<ColumnDef<T>>);
|
|
70
70
|
private _columnPresets;
|
|
71
71
|
get columnPresets(): ReadonlyArray<ColumnDefSet<T>>;
|
|
72
72
|
private set columnPresets(value);
|
|
@@ -178,8 +178,8 @@ export declare class TableContext<T extends object, RowIdType extends Primitive>
|
|
|
178
178
|
updateColumnSizing: OnChangeFn<ColumnSizingState>;
|
|
179
179
|
readonly table: ITable<T>;
|
|
180
180
|
readonly lastPage: number;
|
|
181
|
-
readonly measureHeaderWidth: (columnDef: ColumnDef<T
|
|
182
|
-
readonly autoResize: (columnDef: ColumnDef<T
|
|
181
|
+
readonly measureHeaderWidth: (columnDef: ColumnDef<T>) => number;
|
|
182
|
+
readonly autoResize: (columnDef: ColumnDef<T>) => Promise<void>;
|
|
183
183
|
reorderColumn: (dropTarget: HTMLLIElement | HTMLTableCellElement | null) => void;
|
|
184
184
|
copyHighlightedRowsToClipboard: () => Promise<void>;
|
|
185
185
|
copyDataToClipboard: () => Promise<void>;
|
|
@@ -231,8 +231,8 @@ export declare class TableContext<T extends object, RowIdType extends Primitive>
|
|
|
231
231
|
private setupDefaultColumnDefs;
|
|
232
232
|
private _getUserDefaults;
|
|
233
233
|
private _setNewPinningState;
|
|
234
|
-
readonly getToggleSortingHandler: (def: ColumnDef<T
|
|
234
|
+
readonly getToggleSortingHandler: (def: ColumnDef<T>) => () => void;
|
|
235
235
|
private reassignDefsToPresets;
|
|
236
236
|
private filteringLoop;
|
|
237
237
|
}
|
|
238
|
-
export declare function isSearchable<T extends object, CD extends ColumnDef<T
|
|
238
|
+
export declare function isSearchable<T extends object, CD extends ColumnDef<T>>(def: CD): def is CD & HasCustomFilterFunction;
|
|
@@ -317,8 +317,6 @@ export class TableContext {
|
|
|
317
317
|
set limitFooter(v) {
|
|
318
318
|
this._limitFooter = v;
|
|
319
319
|
}
|
|
320
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
321
|
-
// type here set to any because users of this property should not access the filter type, but typescript doesn't support that
|
|
322
320
|
_dragTarget = $state(null);
|
|
323
321
|
get dragTarget() {
|
|
324
322
|
return this._dragTarget;
|
|
@@ -326,7 +324,6 @@ export class TableContext {
|
|
|
326
324
|
set dragTarget(v) {
|
|
327
325
|
this._dragTarget = v;
|
|
328
326
|
}
|
|
329
|
-
/* eslint-enable @typescript-eslint/no-explicit-any */
|
|
330
327
|
_columnDefs = $state([]);
|
|
331
328
|
get columnDefs() {
|
|
332
329
|
return this._columnDefs;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script lang="ts"
|
|
3
|
+
<script lang="ts">
|
|
4
4
|
import DesktopModal from '../../Components/DesktopModal.svelte';
|
|
5
5
|
import Switch from '../../Components/Switch.svelte';
|
|
6
6
|
import type { DisplayDefModalProps } from '../../Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js';
|
|
7
7
|
import type { ExampleItem } from './ExampleItem.js';
|
|
8
8
|
|
|
9
|
-
const { cell, onclose, onsubmit }: DisplayDefModalProps<ExampleItem
|
|
9
|
+
const { cell, onclose, onsubmit }: DisplayDefModalProps<ExampleItem> = $props();
|
|
10
10
|
</script>
|
|
11
11
|
|
|
12
12
|
<DesktopModal
|
|
@@ -1,26 +1,5 @@
|
|
|
1
1
|
import type { DisplayDefModalProps } from '../../Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js';
|
|
2
2
|
import type { ExampleItem } from './ExampleItem.js';
|
|
3
|
-
declare
|
|
4
|
-
|
|
5
|
-
exports: {};
|
|
6
|
-
bindings: "";
|
|
7
|
-
slots: {};
|
|
8
|
-
events: {};
|
|
9
|
-
};
|
|
10
|
-
declare class __sveltets_Render<FilterValueType> {
|
|
11
|
-
props(): ReturnType<typeof $$render<FilterValueType>>['props'];
|
|
12
|
-
events(): ReturnType<typeof $$render<FilterValueType>>['events'];
|
|
13
|
-
slots(): ReturnType<typeof $$render<FilterValueType>>['slots'];
|
|
14
|
-
bindings(): "";
|
|
15
|
-
exports(): {};
|
|
16
|
-
}
|
|
17
|
-
interface $$IsomorphicComponent {
|
|
18
|
-
new <FilterValueType>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<FilterValueType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<FilterValueType>['props']>, ReturnType<__sveltets_Render<FilterValueType>['events']>, ReturnType<__sveltets_Render<FilterValueType>['slots']>> & {
|
|
19
|
-
$$bindings?: ReturnType<__sveltets_Render<FilterValueType>['bindings']>;
|
|
20
|
-
} & ReturnType<__sveltets_Render<FilterValueType>['exports']>;
|
|
21
|
-
<FilterValueType>(internal: unknown, props: ReturnType<__sveltets_Render<FilterValueType>['props']> & {}): ReturnType<__sveltets_Render<FilterValueType>['exports']>;
|
|
22
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
23
|
-
}
|
|
24
|
-
declare const ExampleModal: $$IsomorphicComponent;
|
|
25
|
-
type ExampleModal<FilterValueType> = InstanceType<typeof ExampleModal<FilterValueType>>;
|
|
3
|
+
declare const ExampleModal: import("svelte").Component<DisplayDefModalProps<ExampleItem, unknown, unknown>, {}, "">;
|
|
4
|
+
type ExampleModal = ReturnType<typeof ExampleModal>;
|
|
26
5
|
export default ExampleModal;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lavalogic/scoria",
|
|
3
3
|
"description": "Svelte components used for the FloWMS Web Frontend",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.15.0",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "restricted"
|
|
7
7
|
},
|
|
@@ -33,35 +33,35 @@
|
|
|
33
33
|
"@eslint/compat": "^2.0.2",
|
|
34
34
|
"@eslint/js": "^10.0.1",
|
|
35
35
|
"@playwright/test": "^1.58.2",
|
|
36
|
-
"@storybook/addon-a11y": "^10.2.
|
|
37
|
-
"@storybook/addon-docs": "^10.2.
|
|
36
|
+
"@storybook/addon-a11y": "^10.2.13",
|
|
37
|
+
"@storybook/addon-docs": "^10.2.13",
|
|
38
38
|
"@storybook/addon-svelte-csf": "^5.0.11",
|
|
39
|
-
"@storybook/addon-vitest": "^10.2.
|
|
40
|
-
"@storybook/sveltekit": "^10.2.
|
|
41
|
-
"@sveltejs/adapter-node": "^5.5.
|
|
42
|
-
"@sveltejs/kit": "^2.53.
|
|
39
|
+
"@storybook/addon-vitest": "^10.2.13",
|
|
40
|
+
"@storybook/sveltekit": "^10.2.13",
|
|
41
|
+
"@sveltejs/adapter-node": "^5.5.4",
|
|
42
|
+
"@sveltejs/kit": "^2.53.4",
|
|
43
43
|
"@sveltejs/package": "^2.5.7",
|
|
44
44
|
"@sveltejs/vite-plugin-svelte": "^6.2.4",
|
|
45
45
|
"@types/eslint": "^9.6.1",
|
|
46
|
-
"@types/node": "^25.3.
|
|
46
|
+
"@types/node": "^25.3.3",
|
|
47
47
|
"@typescript-eslint/eslint-plugin": "^8.56.1",
|
|
48
48
|
"@typescript-eslint/parser": "^8.56.1",
|
|
49
49
|
"@vitest/browser": "^4.0.18",
|
|
50
50
|
"@vitest/browser-playwright": "^4.0.18",
|
|
51
51
|
"eslint": "^10.0.2",
|
|
52
52
|
"eslint-config-prettier": "^10.1.8",
|
|
53
|
-
"eslint-plugin-storybook": "^10.2.
|
|
53
|
+
"eslint-plugin-storybook": "^10.2.13",
|
|
54
54
|
"eslint-plugin-svelte": "^3.15.0",
|
|
55
|
-
"globals": "^17.
|
|
55
|
+
"globals": "^17.4.0",
|
|
56
56
|
"mdsvex": "^0.12.6",
|
|
57
57
|
"playwright": "^1.58.2",
|
|
58
58
|
"prettier": "^3.8.1",
|
|
59
59
|
"prettier-plugin-svelte": "^3.5.0",
|
|
60
|
-
"publint": "^0.3.
|
|
60
|
+
"publint": "^0.3.18",
|
|
61
61
|
"sass-embedded": "^1.97.3",
|
|
62
|
-
"storybook": "^10.2.
|
|
63
|
-
"svelte": "^5.53.
|
|
64
|
-
"svelte-check": "^4.4.
|
|
62
|
+
"storybook": "^10.2.13",
|
|
63
|
+
"svelte": "^5.53.6",
|
|
64
|
+
"svelte-check": "^4.4.4",
|
|
65
65
|
"svelte-render-scan": "^1.1.0",
|
|
66
66
|
"typescript": "^5.9.3",
|
|
67
67
|
"typescript-eslint": "^8.56.1",
|