@lavalogic/scoria 0.16.3 → 0.17.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/QuickSearchCell.svelte +2 -2
- package/dist/Components/Table/Body/QuickSearchCell.svelte.d.ts +12 -12
- package/dist/Components/Table/Body/QuickSearchCellProps.d.ts +2 -2
- package/dist/Components/Table/Body/Rows/ColumnList.svelte +9 -3
- package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +10 -4
- package/dist/Components/Table/Body/Rows/ColumnListRowProps.d.ts +2 -2
- package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +17 -5
- package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +9 -3
- package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +3 -3
- package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +5 -2
- package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +13 -6
- package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +9 -3
- package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +13 -3
- package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +6 -4
- package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +10 -4
- package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +11 -5
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +10 -5
- package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte.d.ts +1 -2
- package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +14 -5
- package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +6 -3
- package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +19 -9
- package/dist/Components/Table/Body/Rows/TableRow.svelte +9 -8
- package/dist/Components/Table/Body/Rows/TableRow.svelte.d.ts +2 -10
- package/dist/Components/Table/Body/TableBody.svelte +32 -21
- package/dist/Components/Table/Body/TableBody.svelte.d.ts +2 -10
- package/dist/Components/Table/Body/TableBodyProps.d.ts +0 -2
- package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +26 -26
- package/dist/Components/Table/Headers/TableHead.svelte +20 -6
- package/dist/Components/Table/Misc/ColumnPanel.svelte +13 -4
- package/dist/Components/Table/Misc/ColumnPanelModal.svelte +9 -2
- package/dist/Components/Table/Misc/FilterInput.svelte +5 -2
- package/dist/Components/Table/Misc/FilterInput.svelte.d.ts +12 -12
- package/dist/Components/Table/Misc/FilterInputProps.d.ts +2 -2
- package/dist/Components/Table/Misc/FilterPanelModal.svelte +14 -4
- package/dist/Components/Table/Misc/TableSidebar.svelte +14 -8
- package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +4 -1
- package/dist/Components/Table/Table.svelte +107 -67
- 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 +2 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.d.ts +2 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts +2 -3
- 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 +2 -3
- package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.d.ts +2 -3
- package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.js +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +3 -4
- package/dist/Components/Table/Types/Columns/Definitions/ColumnDefSet.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +7 -6
- package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js +1 -2
- package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.d.ts +5 -6
- package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.d.ts +6 -6
- package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.d.ts +5 -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 +5 -5
- package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +4 -5
- package/dist/Components/Table/Types/Columns/Definitions/JSONColumnDefSet.d.ts +1 -1
- package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts +2 -1
- package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js +1 -1
- package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +2 -2
- package/dist/Components/Table/Types/Columns/TableCell.d.ts +2 -2
- package/dist/Components/Table/Types/Context/Row.d.ts +3 -3
- package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +2 -2
- package/dist/Components/Table/Types/Context/TableContext.svelte.js +32 -32
- package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +1 -1
- package/dist/Components/Table/Types/DataRepository/ILocalDataRepository.d.ts +1 -1
- package/dist/Components/Table/Types/DataRepository/IRemoteDataRepository.d.ts +1 -1
- package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.d.ts +3 -3
- package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.js +5 -5
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +2 -2
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.js +1 -1
- package/dist/Components/Table/Types/Filtering/ColumnFiltersState.d.ts +2 -2
- package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.d.ts +4 -4
- package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.js +1 -1
- package/dist/Components/Table/Types/Header.d.ts +2 -2
- package/dist/Components/Table/Types/HeaderGroup.d.ts +1 -1
- package/dist/Types/Examples/ExampleModal.svelte.d.ts +1 -1
- package/dist/index.d.ts +48 -49
- package/dist/index.js +42 -50
- package/package.json +1 -1
- package/dist/Components/Table/Types/Filtering/CustomFilterFn.d.ts +0 -2
- package/dist/Components/Table/Types/Filtering/CustomFilterFn.js +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<script
|
|
4
4
|
lang="ts"
|
|
5
|
-
generics="T extends object"
|
|
5
|
+
generics="T extends object, FilterValueType"
|
|
6
6
|
>
|
|
7
7
|
import { dev } from '$app/environment';
|
|
8
8
|
import Action from '../../Action.svelte';
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
|
|
40
40
|
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
41
41
|
|
|
42
|
-
const { column, customFilters }: QuickSearchCellProps<T,
|
|
42
|
+
const { column, customFilters }: QuickSearchCellProps<T, FilterValueType> = $props();
|
|
43
43
|
|
|
44
44
|
const def = $derived(column.columnDef);
|
|
45
45
|
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import type { QuickSearchCellProps } from './QuickSearchCellProps.js';
|
|
2
|
-
declare function $$render<T extends object>(): {
|
|
3
|
-
props: QuickSearchCellProps<T,
|
|
2
|
+
declare function $$render<T extends object, FilterValueType>(): {
|
|
3
|
+
props: QuickSearchCellProps<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 QuickSearchCell: $$IsomorphicComponent;
|
|
24
|
-
type QuickSearchCell<T extends object> = InstanceType<typeof QuickSearchCell<T>>;
|
|
24
|
+
type QuickSearchCell<T extends object, FilterValueType> = InstanceType<typeof QuickSearchCell<T, FilterValueType>>;
|
|
25
25
|
export default QuickSearchCell;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Column } from '../Types/Columns/Column.js';
|
|
2
2
|
import type { CustomRemoteFilters } from '../Types/Filtering/CustomRemoteFilters.js';
|
|
3
|
-
export interface QuickSearchCellProps<T extends object, FilterValueType> {
|
|
3
|
+
export interface QuickSearchCellProps<T extends object, in FilterValueType> {
|
|
4
4
|
column: Column<T, FilterValueType>;
|
|
5
|
-
customFilters?: CustomRemoteFilters<
|
|
5
|
+
customFilters?: CustomRemoteFilters<unknown> | undefined;
|
|
6
6
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
generics="T extends object"
|
|
6
|
+
>
|
|
4
7
|
import { ColumnType } from '../../Types/Columns/ColumnType.js';
|
|
5
8
|
import type { ColumnDef } from '../../Types/Columns/Definitions/ColumnDef.svelte.js';
|
|
6
9
|
import { TableContext } from '../../Types/Context/TableContext.svelte.js';
|
|
@@ -12,7 +15,7 @@
|
|
|
12
15
|
|
|
13
16
|
const { searchValue }: ColumnListProps = $props();
|
|
14
17
|
|
|
15
|
-
const visibleColumns: Array<ColumnDef<T>> = $derived.by(() => {
|
|
18
|
+
const visibleColumns: Array<ColumnDef<T, never, unknown>> = $derived.by(() => {
|
|
16
19
|
const lowercasedSearchValue = searchValue.toLocaleLowerCase();
|
|
17
20
|
return tableContext.columnDefs.filter(
|
|
18
21
|
(it) =>
|
|
@@ -36,7 +39,10 @@
|
|
|
36
39
|
}
|
|
37
40
|
</script>
|
|
38
41
|
|
|
39
|
-
<ul
|
|
42
|
+
<ul
|
|
43
|
+
class="column-list"
|
|
44
|
+
ondrop={onDrop}
|
|
45
|
+
>
|
|
40
46
|
<!-- key={"top-anchor"} -->
|
|
41
47
|
<!-- HACK this is used as an anchor for dragging rows to the top -->
|
|
42
48
|
<ColumnListRow columnDef={null} />
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
generics="T extends object"
|
|
6
|
+
>
|
|
4
7
|
import Checkbox from '../../../Checkbox.svelte';
|
|
5
8
|
import Icon from '../../../Icon.svelte';
|
|
6
9
|
import { TableContext } from '../../Types/Context/TableContext.svelte.js';
|
|
@@ -44,7 +47,7 @@
|
|
|
44
47
|
return {
|
|
45
48
|
...pinning,
|
|
46
49
|
left: new Map(left.map(makeKVPairs)),
|
|
47
|
-
right: new Map(right.map(makeKVPairs))
|
|
50
|
+
right: new Map(right.map(makeKVPairs)),
|
|
48
51
|
};
|
|
49
52
|
});
|
|
50
53
|
}
|
|
@@ -73,7 +76,7 @@
|
|
|
73
76
|
return {
|
|
74
77
|
...pinning,
|
|
75
78
|
left: new Map(left.map(makeKVPairs)),
|
|
76
|
-
right: new Map(right.map(makeKVPairs))
|
|
79
|
+
right: new Map(right.map(makeKVPairs)),
|
|
77
80
|
};
|
|
78
81
|
});
|
|
79
82
|
}
|
|
@@ -142,7 +145,10 @@
|
|
|
142
145
|
id={`drag-handle-${tableContext.tableName}-${columnDef.id}`}
|
|
143
146
|
style="display: flex; cursor: move;"
|
|
144
147
|
>
|
|
145
|
-
<Icon
|
|
148
|
+
<Icon
|
|
149
|
+
name="handle"
|
|
150
|
+
size={Size.Large}
|
|
151
|
+
/>
|
|
146
152
|
</div>
|
|
147
153
|
{/if}
|
|
148
154
|
{#if typeof columnDef.header === 'function'}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ColumnDef } from '../../Types/Columns/Definitions/ColumnDef.svelte.js';
|
|
2
|
-
export interface ColumnListRowProps<T extends object
|
|
3
|
-
columnDef: ColumnDef<T,
|
|
2
|
+
export interface ColumnListRowProps<T extends object> {
|
|
3
|
+
columnDef: ColumnDef<T, never, unknown> | null;
|
|
4
4
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
module
|
|
6
|
+
>
|
|
4
7
|
import Action from '../../../../Action.svelte';
|
|
5
8
|
import Portal from '../../../../Portal.svelte';
|
|
6
9
|
import type { TableActionButton } from '../../../Types/Columns/TableActionButton.js';
|
|
@@ -19,7 +22,10 @@
|
|
|
19
22
|
export let shownPopup = refWrapper<symbol | undefined>(undefined);
|
|
20
23
|
</script>
|
|
21
24
|
|
|
22
|
-
<script
|
|
25
|
+
<script
|
|
26
|
+
lang="ts"
|
|
27
|
+
generics="T extends object,FilterValueType"
|
|
28
|
+
>
|
|
23
29
|
const { cell }: ActionsCellProps<T, FilterValueType> = $props();
|
|
24
30
|
|
|
25
31
|
const value = $derived(cell.getValue());
|
|
@@ -33,7 +39,7 @@
|
|
|
33
39
|
const thisPopupIsVisibile = $derived(thisPopup === shownPopup.value);
|
|
34
40
|
const hasValue: boolean = $derived(value !== undefined);
|
|
35
41
|
const edge: MultiFocusEdge | undefined = $state();
|
|
36
|
-
const focusDetails: TableFocusDetails<T
|
|
42
|
+
const focusDetails: TableFocusDetails<T> = $derived(
|
|
37
43
|
new TableFocusDetails(cell, tableContext, toastContext.toast)
|
|
38
44
|
);
|
|
39
45
|
|
|
@@ -173,10 +179,16 @@
|
|
|
173
179
|
)}
|
|
174
180
|
{#await awaitedActions then actions}
|
|
175
181
|
<Portal>
|
|
176
|
-
<div
|
|
182
|
+
<div
|
|
183
|
+
class="popup"
|
|
184
|
+
style="--y: {y}px; --x: {x}px;"
|
|
185
|
+
>
|
|
177
186
|
<div class="action-container">
|
|
178
187
|
{#each actions as [action, label] (label)}
|
|
179
|
-
<TableAction
|
|
188
|
+
<TableAction
|
|
189
|
+
{action}
|
|
190
|
+
{cell}
|
|
191
|
+
/>
|
|
180
192
|
{/each}
|
|
181
193
|
</div>
|
|
182
194
|
</div>
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
3
|
<!-- TODO editable version of this should contain a multi select -->
|
|
4
|
-
<script
|
|
4
|
+
<script
|
|
5
|
+
lang="ts"
|
|
6
|
+
generics="T extends object,FilterValueType"
|
|
7
|
+
>
|
|
5
8
|
import Bubble from '../../../../Bubble.svelte';
|
|
6
9
|
import { BubbleDef } from '../../../Types/Columns/Definitions/Display/BubbleDef.svelte.js';
|
|
7
10
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
@@ -19,7 +22,7 @@
|
|
|
19
22
|
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
20
23
|
const toastContext = getContext<ToastContext>(ToastContext.identifier);
|
|
21
24
|
|
|
22
|
-
const focusDetails: TableFocusDetails<T
|
|
25
|
+
const focusDetails: TableFocusDetails<T> = $derived(
|
|
23
26
|
new TableFocusDetails(cell, tableContext, toastContext.toast)
|
|
24
27
|
);
|
|
25
28
|
|
|
@@ -105,7 +108,10 @@
|
|
|
105
108
|
<Bubble {value} />
|
|
106
109
|
{:else}
|
|
107
110
|
{#await colourPromise then colour}
|
|
108
|
-
<Bubble
|
|
111
|
+
<Bubble
|
|
112
|
+
{value}
|
|
113
|
+
colours={colour}
|
|
114
|
+
/>
|
|
109
115
|
{/await}
|
|
110
116
|
{/if}
|
|
111
117
|
{/each}
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
const {
|
|
18
18
|
cell,
|
|
19
19
|
expandedColumnDef,
|
|
20
|
-
onExpandChange
|
|
20
|
+
onExpandChange,
|
|
21
21
|
}: ExpandCellProps<T, R, IdType, FilterValueType> = $props();
|
|
22
22
|
|
|
23
23
|
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
24
24
|
const toastContext = getContext<ToastContext>(ToastContext.identifier);
|
|
25
|
-
const focusDetails: TableFocusDetails<T
|
|
25
|
+
const focusDetails: TableFocusDetails<T> = $derived(
|
|
26
26
|
new TableFocusDetails(cell, tableContext, toastContext.toast)
|
|
27
27
|
);
|
|
28
28
|
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
size={Size.FillWidth}
|
|
81
81
|
icon={{
|
|
82
82
|
name: expandedColumnDef?.id === cell.column.columnDef.id ? 'minus' : 'plus',
|
|
83
|
-
size: Size.Medium
|
|
83
|
+
size: Size.Medium,
|
|
84
84
|
}}
|
|
85
85
|
colourSet={expandedColumnDef?.id === cell.column.columnDef.id
|
|
86
86
|
? ColourSet.Primary
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
generics="T extends object, FilterValueType"
|
|
6
|
+
>
|
|
4
7
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
5
8
|
import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
|
|
6
9
|
import { ToastContext } from '../../../../../Contexts/ToastContext.svelte.js';
|
|
@@ -27,7 +30,7 @@
|
|
|
27
30
|
);
|
|
28
31
|
const hasValue: boolean = $derived(value !== undefined);
|
|
29
32
|
|
|
30
|
-
const focusDetails: TableFocusDetails<T
|
|
33
|
+
const focusDetails: TableFocusDetails<T> = $derived(
|
|
31
34
|
new TableFocusDetails(cell, tableContext, toastContext.toast)
|
|
32
35
|
);
|
|
33
36
|
</script>
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
module
|
|
6
|
+
>
|
|
4
7
|
import ProgressBubble from '../../../../ProgressBubble.svelte';
|
|
5
8
|
import type { ProgressBarTableCell } from '../../../Types/Columns/ProgressBarTableCell.js';
|
|
6
9
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
@@ -16,7 +19,10 @@
|
|
|
16
19
|
</script>
|
|
17
20
|
|
|
18
21
|
<!-- TODO editable version of this should contain a multi select -->
|
|
19
|
-
<script
|
|
22
|
+
<script
|
|
23
|
+
lang="ts"
|
|
24
|
+
generics="T extends object, FilterValueType"
|
|
25
|
+
>
|
|
20
26
|
const { cell }: ProgressCellProps<T, FilterValueType> = $props();
|
|
21
27
|
|
|
22
28
|
const value: [number, number] = $derived(cell.getValue()) as [number, number];
|
|
@@ -26,9 +32,7 @@
|
|
|
26
32
|
|
|
27
33
|
// const previousRowIndex: number | undefined = $state(undefined);
|
|
28
34
|
|
|
29
|
-
const focusDetails = $derived(
|
|
30
|
-
new TableFocusDetails<T, FilterValueType>(cell, tableContext, toast)
|
|
31
|
-
);
|
|
35
|
+
const focusDetails = $derived(new TableFocusDetails<T>(cell, tableContext, toast));
|
|
32
36
|
|
|
33
37
|
let previousValidity: Validity = $state(Validity.Valid);
|
|
34
38
|
let validity: Validity = $state(Validity.Valid);
|
|
@@ -103,7 +107,10 @@
|
|
|
103
107
|
}}
|
|
104
108
|
>
|
|
105
109
|
<div class="bubble-parent">
|
|
106
|
-
<ProgressBubble
|
|
110
|
+
<ProgressBubble
|
|
111
|
+
{value}
|
|
112
|
+
{colours}
|
|
113
|
+
/>
|
|
107
114
|
</div>
|
|
108
115
|
</td>
|
|
109
116
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
module
|
|
6
|
+
>
|
|
4
7
|
export interface TableCheckboxProps<T extends object> {
|
|
5
8
|
cell: TableCell<T, BoolFilterValueType>;
|
|
6
9
|
|
|
@@ -8,7 +11,10 @@
|
|
|
8
11
|
}
|
|
9
12
|
</script>
|
|
10
13
|
|
|
11
|
-
<script
|
|
14
|
+
<script
|
|
15
|
+
lang="ts"
|
|
16
|
+
generics="T extends object"
|
|
17
|
+
>
|
|
12
18
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
13
19
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
14
20
|
import type { BoolFilterValueType } from '../../../Types/Filtering/FilterFn.js';
|
|
@@ -26,7 +32,7 @@
|
|
|
26
32
|
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
27
33
|
const toastContext = getContext<ToastContext>(ToastContext.identifier);
|
|
28
34
|
|
|
29
|
-
const focusDetails: TableFocusDetails<T
|
|
35
|
+
const focusDetails: TableFocusDetails<T> = $derived(
|
|
30
36
|
new TableFocusDetails(cell, tableContext, toastContext.toast)
|
|
31
37
|
);
|
|
32
38
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
module
|
|
6
|
+
>
|
|
4
7
|
import { ExpandDef } from '../../../Types/Columns/Definitions/Expand/ExpandDef.svelte.js';
|
|
5
8
|
import { DisplayType } from '../../../Types/Columns/DisplayType.js';
|
|
6
9
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
@@ -36,7 +39,10 @@
|
|
|
36
39
|
}
|
|
37
40
|
</script>
|
|
38
41
|
|
|
39
|
-
<script
|
|
42
|
+
<script
|
|
43
|
+
lang="ts"
|
|
44
|
+
generics="T extends object"
|
|
45
|
+
>
|
|
40
46
|
import { dev } from '$app/environment';
|
|
41
47
|
import { RowSelectionDef } from '../../../Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js';
|
|
42
48
|
import type { Primitive } from '../../../Types/Context/TableInitOptions.js';
|
|
@@ -78,7 +84,11 @@
|
|
|
78
84
|
{:else if isActionsDef(cell)}
|
|
79
85
|
<ActionsCell {cell} />
|
|
80
86
|
{:else if isExpandTableCell(cell)}
|
|
81
|
-
<ExpandCell
|
|
87
|
+
<ExpandCell
|
|
88
|
+
{cell}
|
|
89
|
+
{expandedColumnDef}
|
|
90
|
+
{onExpandChange}
|
|
91
|
+
/>
|
|
82
92
|
{:else if columnDef.columnType !== ColumnType.Display}
|
|
83
93
|
<AccessorComponent {cell} />
|
|
84
94
|
{:else if cell.column.columnDef instanceof AbstractDisplayDef}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
generics="T extends object"
|
|
6
|
+
>
|
|
4
7
|
import { dev } from '$app/environment';
|
|
5
8
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
6
9
|
import type { CellCoordinates } from '../../../Types/Coordinates/CellCoordinates.js';
|
|
7
|
-
import type { DateFilterValueType } from '../../../Types/Filtering/FilterFn.js';
|
|
8
10
|
import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
|
|
9
11
|
import DateModal from '../../../../Touch/DateModal.svelte';
|
|
10
12
|
import { ToastContext } from '../../../../../Contexts/ToastContext.svelte.js';
|
|
@@ -26,7 +28,7 @@
|
|
|
26
28
|
const coordinates: CellCoordinates = $derived({
|
|
27
29
|
row: cell.row.visibleIndex,
|
|
28
30
|
column: columnDef.index,
|
|
29
|
-
id: columnDef.id
|
|
31
|
+
id: columnDef.id,
|
|
30
32
|
});
|
|
31
33
|
|
|
32
34
|
const editableAsync = $derived(
|
|
@@ -58,7 +60,7 @@
|
|
|
58
60
|
}
|
|
59
61
|
})().catch(devCatch);
|
|
60
62
|
});
|
|
61
|
-
const focusDetails: TableFocusDetails<T
|
|
63
|
+
const focusDetails: TableFocusDetails<T> = $derived(
|
|
62
64
|
new TableFocusDetails(cell, tableContext, toast)
|
|
63
65
|
);
|
|
64
66
|
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
module
|
|
6
|
+
>
|
|
4
7
|
export interface TableNumberInputProps<T extends object> {
|
|
5
8
|
cell: TableCell<T, NumberFilterValueType>;
|
|
6
9
|
}
|
|
7
10
|
</script>
|
|
8
11
|
|
|
9
|
-
<script
|
|
12
|
+
<script
|
|
13
|
+
lang="ts"
|
|
14
|
+
generics="T extends object"
|
|
15
|
+
>
|
|
10
16
|
import NumberInput from '../../../../NumberInput.svelte';
|
|
11
17
|
import { NumberInputDef } from '../../../Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js';
|
|
12
18
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
@@ -80,7 +86,7 @@
|
|
|
80
86
|
})().catch(devCatch);
|
|
81
87
|
});
|
|
82
88
|
|
|
83
|
-
const focusDetails: TableFocusDetails<T
|
|
89
|
+
const focusDetails: TableFocusDetails<T> = $derived(
|
|
84
90
|
new TableFocusDetails(cell, tableContext, toast)
|
|
85
91
|
);
|
|
86
92
|
|
|
@@ -239,7 +245,7 @@
|
|
|
239
245
|
(e.target as HTMLInputElement).scrollIntoView({
|
|
240
246
|
behavior: 'instant',
|
|
241
247
|
block: 'nearest',
|
|
242
|
-
inline: 'nearest'
|
|
248
|
+
inline: 'nearest',
|
|
243
249
|
});
|
|
244
250
|
}
|
|
245
251
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
generics="T extends object,"
|
|
6
|
+
>
|
|
4
7
|
import { dev } from '$app/environment';
|
|
5
8
|
import QuerySelect from '../../../../QuerySelect.svelte';
|
|
6
9
|
import type { QueryDef } from '../../../Types/Columns/Definitions/Accessors/QueryDef.svelte.js';
|
|
@@ -55,7 +58,7 @@
|
|
|
55
58
|
if (!lastOptions.some((it) => it.value == awaitedValue)) {
|
|
56
59
|
lastOptions.push({
|
|
57
60
|
label,
|
|
58
|
-
value: awaitedValue
|
|
61
|
+
value: awaitedValue,
|
|
59
62
|
});
|
|
60
63
|
}
|
|
61
64
|
} else if (columnDef.debug) {
|
|
@@ -102,7 +105,7 @@
|
|
|
102
105
|
});
|
|
103
106
|
});
|
|
104
107
|
|
|
105
|
-
const focusDetails: TableFocusDetails<T
|
|
108
|
+
const focusDetails: TableFocusDetails<T> = $derived(
|
|
106
109
|
new TableFocusDetails(cell, tableContext, toast)
|
|
107
110
|
);
|
|
108
111
|
|
|
@@ -251,7 +254,7 @@
|
|
|
251
254
|
metaKey: e.getModifierState('Meta'),
|
|
252
255
|
shiftKey: e.getModifierState('Shift'),
|
|
253
256
|
ctrlKey: e.getModifierState('Control'),
|
|
254
|
-
bubbles: true
|
|
257
|
+
bubbles: true,
|
|
255
258
|
})
|
|
256
259
|
);
|
|
257
260
|
})
|
|
@@ -279,7 +282,10 @@
|
|
|
279
282
|
{#if isBeingEdited}
|
|
280
283
|
<!-- onkeydown={handleInputKeydown} -->
|
|
281
284
|
<!-- onkeydown={handleEsc} -->
|
|
282
|
-
<td
|
|
285
|
+
<td
|
|
286
|
+
class="select-cell"
|
|
287
|
+
bind:this={tdref}
|
|
288
|
+
>
|
|
283
289
|
<!-- TODO: -->
|
|
284
290
|
{#await value then value}
|
|
285
291
|
<QuerySelect
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
module
|
|
6
|
+
>
|
|
4
7
|
import type { RowSelectionDef } from '../../../Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js';
|
|
5
8
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
6
9
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
7
|
-
import type { BoolFilterValueType } from '../../../Types/Filtering/FilterFn.js';
|
|
8
10
|
import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
|
|
9
11
|
import { ToastContext } from '../../../../../Contexts/ToastContext.svelte.js';
|
|
10
12
|
import { devCatch } from '../../../../../Helpers/Helpers.svelte.js';
|
|
@@ -12,19 +14,22 @@
|
|
|
12
14
|
import type { ChangeEventHandler } from 'svelte/elements';
|
|
13
15
|
|
|
14
16
|
export interface TableCheckboxProps<T extends object> {
|
|
15
|
-
cell: TableCell<T
|
|
17
|
+
cell: TableCell<T>;
|
|
16
18
|
|
|
17
19
|
onchange?: ChangeEventHandler<HTMLInputElement>;
|
|
18
20
|
}
|
|
19
21
|
</script>
|
|
20
22
|
|
|
21
|
-
<script
|
|
23
|
+
<script
|
|
24
|
+
lang="ts"
|
|
25
|
+
generics="T extends object,"
|
|
26
|
+
>
|
|
22
27
|
const { cell, onchange: parentOnchange }: TableCheckboxProps<T> = $props();
|
|
23
28
|
|
|
24
29
|
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
25
30
|
const toastContext = getContext<ToastContext>(ToastContext.identifier);
|
|
26
31
|
|
|
27
|
-
const focusDetails: TableFocusDetails<T
|
|
32
|
+
const focusDetails: TableFocusDetails<T> = $derived(
|
|
28
33
|
new TableFocusDetails(cell, tableContext, toastContext.toast)
|
|
29
34
|
);
|
|
30
35
|
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { TableCell } from '../../../Types/Columns/TableCell.js';
|
|
2
|
-
import type { BoolFilterValueType } from '../../../Types/Filtering/FilterFn.js';
|
|
3
2
|
import type { ChangeEventHandler } from 'svelte/elements';
|
|
4
3
|
export interface TableCheckboxProps<T extends object> {
|
|
5
|
-
cell: TableCell<T
|
|
4
|
+
cell: TableCell<T>;
|
|
6
5
|
onchange?: ChangeEventHandler<HTMLInputElement>;
|
|
7
6
|
}
|
|
8
7
|
declare function $$render<T extends object>(): {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
module
|
|
6
|
+
>
|
|
4
7
|
import { dev } from '$app/environment';
|
|
5
8
|
import SingleSelect from '../../../../SingleSelect.svelte';
|
|
6
9
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
@@ -13,7 +16,10 @@
|
|
|
13
16
|
import type { TableSelectProps } from './TableSelectProps.js';
|
|
14
17
|
</script>
|
|
15
18
|
|
|
16
|
-
<script
|
|
19
|
+
<script
|
|
20
|
+
lang="ts"
|
|
21
|
+
generics="T extends object"
|
|
22
|
+
>
|
|
17
23
|
const { cell }: TableSelectProps<T, T> = $props();
|
|
18
24
|
|
|
19
25
|
let tdref = $state<HTMLTableCellElement | undefined>();
|
|
@@ -58,7 +64,7 @@
|
|
|
58
64
|
})().catch(devCatch);
|
|
59
65
|
});
|
|
60
66
|
|
|
61
|
-
const focusDetails: TableFocusDetails<T
|
|
67
|
+
const focusDetails: TableFocusDetails<T> = $derived(
|
|
62
68
|
new TableFocusDetails(cell, tableContext, toast)
|
|
63
69
|
);
|
|
64
70
|
|
|
@@ -204,7 +210,7 @@
|
|
|
204
210
|
metaKey: e.getModifierState('Meta'),
|
|
205
211
|
shiftKey: e.getModifierState('Shift'),
|
|
206
212
|
ctrlKey: e.getModifierState('Control'),
|
|
207
|
-
bubbles: true
|
|
213
|
+
bubbles: true,
|
|
208
214
|
})
|
|
209
215
|
);
|
|
210
216
|
}
|
|
@@ -229,7 +235,10 @@
|
|
|
229
235
|
{#if isBeingEdited}
|
|
230
236
|
<!-- onkeydown={handleInputKeydown} -->
|
|
231
237
|
<!-- onkeydown={handleEsc} -->
|
|
232
|
-
<td
|
|
238
|
+
<td
|
|
239
|
+
class="select-cell"
|
|
240
|
+
bind:this={tdref}
|
|
241
|
+
>
|
|
233
242
|
{#await Promise.all([optionsPromise, selectValue])}
|
|
234
243
|
loading…
|
|
235
244
|
{:then [options, value]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
<svelte:options runes />
|
|
2
2
|
|
|
3
|
-
<script
|
|
3
|
+
<script
|
|
4
|
+
lang="ts"
|
|
5
|
+
generics="T extends object,FilterValueType"
|
|
6
|
+
>
|
|
4
7
|
import { dev } from '$app/environment';
|
|
5
8
|
|
|
6
9
|
import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
|
|
@@ -59,7 +62,7 @@
|
|
|
59
62
|
const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
|
|
60
63
|
const toastContext = getContext<ToastContext>(ToastContext.identifier);
|
|
61
64
|
|
|
62
|
-
const focusDetails: TableFocusDetails<T
|
|
65
|
+
const focusDetails: TableFocusDetails<T> = $derived(
|
|
63
66
|
new TableFocusDetails(cell, tableContext, toastContext.toast)
|
|
64
67
|
);
|
|
65
68
|
|
|
@@ -227,7 +230,7 @@
|
|
|
227
230
|
(e.target as HTMLInputElement).scrollIntoView({
|
|
228
231
|
behavior: 'instant',
|
|
229
232
|
block: 'nearest',
|
|
230
|
-
inline: 'nearest'
|
|
233
|
+
inline: 'nearest',
|
|
231
234
|
});
|
|
232
235
|
}
|
|
233
236
|
|