@lavalogic/scoria 0.16.4 → 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/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/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 +3 -3
- 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 +3 -3
- 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 +1 -1
- 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
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { SelectOption } from '../../../../../../Types/Internal/SelectOption.js';
|
|
2
|
-
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
3
2
|
import type { FilterFn } from '../../../Filtering/FilterFn.js';
|
|
4
3
|
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
5
4
|
export interface SelectDefProps<T extends object, in FilterValueType, out SelectValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType> {
|
|
@@ -14,8 +13,8 @@ export declare class SelectDef<T extends object, in FilterValueType, out SelectV
|
|
|
14
13
|
constructor(props: SelectDefProps<T, FilterValueType, SelectValueType>);
|
|
15
14
|
readonly accessorType: "Select";
|
|
16
15
|
private _filterFn;
|
|
17
|
-
get filterFn(): FilterFn<T, FilterValueType> |
|
|
18
|
-
set filterFn(v: FilterFn<T, FilterValueType> |
|
|
16
|
+
get filterFn(): FilterFn<T, FilterValueType> | undefined;
|
|
17
|
+
set filterFn(v: FilterFn<T, FilterValueType> | undefined);
|
|
19
18
|
readonly sortingFn?: (a: T, b: T) => 1 | -1 | 0;
|
|
20
19
|
readonly optional: boolean;
|
|
21
20
|
readonly clearable: boolean;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
2
1
|
import type { FilterFn, StringFilterValueType } from '../../../Filtering/FilterFn.js';
|
|
3
2
|
import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
|
|
4
3
|
export interface TextInputDefProps<T extends object, in FilterValueType = StringFilterValueType, out SelectValueType = StringFilterValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType> {
|
|
@@ -8,6 +7,6 @@ export declare class TextInputDef<T extends object, in FilterValueType = StringF
|
|
|
8
7
|
readonly accessorType: "Text";
|
|
9
8
|
constructor(props: TextInputDefProps<T, FilterValueType, SelectValueType>);
|
|
10
9
|
private _filterFn;
|
|
11
|
-
get filterFn():
|
|
12
|
-
set filterFn(v:
|
|
10
|
+
get filterFn(): FilterFn<T, FilterValueType> | undefined;
|
|
11
|
+
set filterFn(v: FilterFn<T, FilterValueType> | undefined);
|
|
13
12
|
}
|
|
@@ -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, in FilterValueType, out
|
|
4
|
+
export interface ActionsDefProps<T extends object, in FilterValueType, out FilterOptionsType = unknown> extends Omit<ColumnDefProps<T, FilterValueType, FilterOptionsType>, '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, out
|
|
9
|
+
export declare class ActionsDef<T extends object, FilterValueType, out FilterOptionsType = unknown> extends ColumnDef<T, FilterValueType, FilterOptionsType> {
|
|
10
10
|
constructor(props: ActionsDefProps<T, FilterValueType>);
|
|
11
11
|
readonly columnType: "Actions";
|
|
12
12
|
readonly actions: Array<TableActionButton<T>>;
|
|
@@ -7,7 +7,7 @@ export class ActionsDef extends ColumnDef {
|
|
|
7
7
|
id: `actions-${generateUUID()}`,
|
|
8
8
|
header: 'Actions',
|
|
9
9
|
allowSorting: false,
|
|
10
|
-
allowFiltering: false
|
|
10
|
+
allowFiltering: false,
|
|
11
11
|
});
|
|
12
12
|
this.actions = $derived(props.actions);
|
|
13
13
|
this.isEnabled = $derived(props.isEnabled);
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Pixels } from '../../../../../Types/Internal/Misc.js';
|
|
2
2
|
import type { SelectOption } from '../../../../../Types/Internal/SelectOption.js';
|
|
3
3
|
import type { Snippet } from 'svelte';
|
|
4
|
-
import type { CustomFilterFn } from '../../Filtering/CustomFilterFn.js';
|
|
5
4
|
import type { FilterFn } from '../../Filtering/FilterFn.js';
|
|
6
5
|
import type { FilterValueType } from '../../Filtering/FilterValueType.js';
|
|
7
6
|
import { ColumnType } from '../ColumnType.js';
|
|
@@ -20,13 +19,13 @@ export interface ColumnDefProps<T extends object, in FilterFnType, out OptionsTy
|
|
|
20
19
|
isEditable?: (item: T, index: number) => boolean | Promise<boolean>;
|
|
21
20
|
resizable?: boolean;
|
|
22
21
|
isValid?: ValidationFn<T>;
|
|
23
|
-
filterFn?: FilterFn<T, FilterFnType
|
|
22
|
+
filterFn?: FilterFn<T, FilterFnType>;
|
|
24
23
|
filterValueType?: FilterValueType;
|
|
25
24
|
getOptions?: () => Array<SelectOption<OptionsType>> | Promise<Array<SelectOption<OptionsType>>>;
|
|
26
25
|
accessorFn?: AccessorFn<T>;
|
|
27
26
|
getDisplayValue?: (item: T, index: number) => string | null | Promise<string | null>;
|
|
28
27
|
}
|
|
29
|
-
export declare abstract class ColumnDef<T extends object, in FilterFnType =
|
|
28
|
+
export declare abstract class ColumnDef<T extends object, in FilterFnType = never, out OptionsType = unknown> {
|
|
30
29
|
protected constructor(props: ColumnDefProps<T, FilterFnType, OptionsType>);
|
|
31
30
|
readonly id: string;
|
|
32
31
|
debug: boolean;
|
|
@@ -39,7 +38,7 @@ export declare abstract class ColumnDef<T extends object, in FilterFnType = unkn
|
|
|
39
38
|
readonly allowFiltering: boolean;
|
|
40
39
|
readonly isValid: ValidationFn<T> | undefined;
|
|
41
40
|
readonly accessorFn: AccessorFn<T> | undefined;
|
|
42
|
-
abstract filterFn: FilterFn<T, FilterFnType> |
|
|
41
|
+
abstract filterFn: FilterFn<T, FilterFnType> | undefined;
|
|
43
42
|
private _minSize;
|
|
44
43
|
get minSize(): Pixels;
|
|
45
44
|
set minSize(v: Pixels);
|
package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts
CHANGED
|
@@ -2,17 +2,18 @@ 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, in FilterValueType =
|
|
6
|
-
cell: TableCell<T, FilterValueType,
|
|
5
|
+
export interface DisplayDefModalProps<T extends object, in FilterValueType = never, out FilterOptionsType = unknown> {
|
|
6
|
+
cell: TableCell<T, FilterValueType, FilterOptionsType>;
|
|
7
7
|
onclose: () => void;
|
|
8
8
|
onsubmit: () => void;
|
|
9
9
|
}
|
|
10
|
-
export interface AbstractDisplayDefProps<T extends object, FilterFnType, out
|
|
10
|
+
export interface AbstractDisplayDefProps<T extends object, in FilterFnType, out FilterOptionsType> extends ColumnDefProps<T, FilterFnType, FilterOptionsType> {
|
|
11
11
|
modal?: Component<any, any, any>;
|
|
12
12
|
}
|
|
13
|
-
export declare abstract class AbstractDisplayDef<T extends object, FilterValueType, out
|
|
13
|
+
export declare abstract class AbstractDisplayDef<T extends object, in FilterValueType = never, out FilterOptionsType = unknown> extends ColumnDef<T, FilterValueType, FilterOptionsType> {
|
|
14
14
|
abstract readonly displayType: DisplayType;
|
|
15
|
-
constructor(props: AbstractDisplayDefProps<T, FilterValueType,
|
|
15
|
+
constructor(props: AbstractDisplayDefProps<T, FilterValueType, FilterOptionsType>);
|
|
16
16
|
readonly columnType: "Display";
|
|
17
|
-
readonly modal:
|
|
17
|
+
readonly modal: //HACK out parameter. Need to check if it's possible to be strict
|
|
18
|
+
Component<DisplayDefModalProps<T>, any, any> | undefined;
|
|
18
19
|
}
|
package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js
CHANGED
|
@@ -6,6 +6,5 @@ export class AbstractDisplayDef extends ColumnDef {
|
|
|
6
6
|
this.modal = $derived(props.modal);
|
|
7
7
|
}
|
|
8
8
|
columnType = ColumnType.Display;
|
|
9
|
-
|
|
10
|
-
modal; //HACK out parameter. Need to check if it's possible to be strict
|
|
9
|
+
modal;
|
|
11
10
|
}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import type { BubbleColour } from '../../../../../BubbleColour.js';
|
|
2
|
-
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
3
2
|
import type { FilterFn, StringFilterValueType } from '../../../Filtering/FilterFn.js';
|
|
4
3
|
import { AbstractDisplayDef, type AbstractDisplayDefProps } from './AbstractDisplayDef.svelte.js';
|
|
5
|
-
export interface BubbleDefProps<T extends object, FilterValueType
|
|
4
|
+
export interface BubbleDefProps<T extends object, in FilterValueType, out FilterOptionsType> extends AbstractDisplayDefProps<T, FilterValueType, FilterOptionsType> {
|
|
6
5
|
getColour?: (item: T, index: number, value: string) => BubbleColour | Promise<BubbleColour | null | undefined>;
|
|
7
6
|
}
|
|
8
|
-
export declare class BubbleDef<T extends object, FilterValueType = StringFilterValueType> extends AbstractDisplayDef<T, FilterValueType> {
|
|
7
|
+
export declare class BubbleDef<T extends object, in FilterValueType = StringFilterValueType, out FilterOptionsType = unknown> extends AbstractDisplayDef<T, FilterValueType, FilterOptionsType> {
|
|
9
8
|
readonly displayType: "Bubbles";
|
|
10
|
-
constructor(props: BubbleDefProps<T, FilterValueType>);
|
|
9
|
+
constructor(props: BubbleDefProps<T, FilterValueType, FilterOptionsType>);
|
|
11
10
|
private _filterFn;
|
|
12
|
-
get filterFn(): FilterFn<T, FilterValueType> |
|
|
13
|
-
set filterFn(v: FilterFn<T, FilterValueType> |
|
|
11
|
+
get filterFn(): FilterFn<T, FilterValueType> | undefined;
|
|
12
|
+
set filterFn(v: FilterFn<T, FilterValueType> | undefined);
|
|
14
13
|
getColour: ((item: T, index: number, value: string) => BubbleColour | Promise<BubbleColour | null | undefined>) | undefined;
|
|
15
14
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
2
1
|
import type { FilterFn } from '../../../Filtering/FilterFn.js';
|
|
3
2
|
import { DisplayType } from '../../DisplayType.js';
|
|
4
3
|
import { AbstractDisplayDef, type AbstractDisplayDefProps } from './AbstractDisplayDef.svelte.js';
|
|
5
|
-
export
|
|
6
|
-
|
|
4
|
+
export interface DisplayDefProps<T extends object, in FilterValueType, out FilterOptionsType> extends AbstractDisplayDefProps<T, FilterValueType, FilterOptionsType> {
|
|
5
|
+
}
|
|
6
|
+
export declare class DisplayDef<T extends object, in FilterValueType, out FilterOptionsType> extends AbstractDisplayDef<T, FilterValueType, FilterOptionsType> {
|
|
7
7
|
readonly displayType: DisplayType;
|
|
8
|
-
constructor(props: DisplayDefProps<T, FilterValueType>);
|
|
8
|
+
constructor(props: DisplayDefProps<T, FilterValueType, FilterOptionsType>);
|
|
9
9
|
private _filterFn;
|
|
10
|
-
get filterFn():
|
|
11
|
-
set filterFn(v:
|
|
10
|
+
get filterFn(): FilterFn<T, FilterValueType> | undefined;
|
|
11
|
+
set filterFn(v: FilterFn<T, FilterValueType> | undefined);
|
|
12
12
|
}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import type { BubbleColour } from '../../../../../BubbleColour.js';
|
|
2
|
-
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
3
2
|
import type { FilterFn, NumberFilterValueType } from '../../../Filtering/FilterFn.js';
|
|
4
3
|
import { AbstractDisplayDef, type AbstractDisplayDefProps } from './AbstractDisplayDef.svelte.js';
|
|
5
|
-
export interface ProgressBarDefProps<T extends object, FilterValueType
|
|
4
|
+
export interface ProgressBarDefProps<T extends object, in FilterValueType, out FilterOptionsType> extends AbstractDisplayDefProps<T, FilterValueType, FilterOptionsType> {
|
|
6
5
|
getColour: (item: T, index: number, value: [number, number]) => BubbleColour | Promise<BubbleColour> | undefined;
|
|
7
6
|
}
|
|
8
|
-
export declare class ProgressBarDef<T extends object, FilterValueType = NumberFilterValueType> extends AbstractDisplayDef<T, FilterValueType> {
|
|
7
|
+
export declare class ProgressBarDef<T extends object, in FilterValueType = NumberFilterValueType, out FilterOptionsType = unknown> extends AbstractDisplayDef<T, FilterValueType, FilterOptionsType> {
|
|
9
8
|
readonly displayType: "Progress";
|
|
10
|
-
constructor(props: ProgressBarDefProps<T, FilterValueType>);
|
|
9
|
+
constructor(props: ProgressBarDefProps<T, FilterValueType, FilterOptionsType>);
|
|
11
10
|
readonly getColour: (item: T, index: number, value: [number, number]) => BubbleColour | Promise<BubbleColour> | undefined;
|
|
12
11
|
private _filterFn;
|
|
13
|
-
get filterFn(): FilterFn<T, FilterValueType> |
|
|
14
|
-
set filterFn(v: FilterFn<T, FilterValueType> |
|
|
12
|
+
get filterFn(): FilterFn<T, FilterValueType> | undefined;
|
|
13
|
+
set filterFn(v: FilterFn<T, FilterValueType> | undefined);
|
|
15
14
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { ValidationFn } from '../ValidationFn.js';
|
|
2
2
|
import { AbstractDisplayDef, type AbstractDisplayDefProps } from './AbstractDisplayDef.svelte.js';
|
|
3
|
-
export interface ValidityDefProps<T extends object, FilterValueType
|
|
3
|
+
export interface ValidityDefProps<T extends object, in FilterValueType, out FilterOptionsType> extends AbstractDisplayDefProps<T, FilterValueType, FilterOptionsType> {
|
|
4
4
|
isValid: ValidationFn<T>;
|
|
5
5
|
}
|
|
6
|
-
export declare class ValidityDef<T extends object, FilterValueType
|
|
6
|
+
export declare class ValidityDef<T extends object, in FilterValueType, out FilterOptionsType> extends AbstractDisplayDef<T, FilterValueType, FilterOptionsType> {
|
|
7
7
|
readonly displayType: "Validity";
|
|
8
|
-
constructor(props: ValidityDefProps<T, FilterValueType>);
|
|
8
|
+
constructor(props: ValidityDefProps<T, FilterValueType, FilterOptionsType>);
|
|
9
9
|
readonly filterFn: undefined;
|
|
10
10
|
readonly isValid: ValidationFn<T>;
|
|
11
11
|
}
|
|
@@ -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 = Primitive, in FilterValueType = unknown, out
|
|
5
|
+
export interface ExpandDefProps<T extends object, R extends object, InnterIdType extends Primitive = Primitive, in FilterValueType = unknown, out FilterOptionsType = unknown> extends ColumnDefProps<T, FilterValueType, FilterOptionsType> {
|
|
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) => ReadonlyArray<R> | Promise<ReadonlyArray<R>>;
|
|
12
12
|
}
|
|
13
|
-
export declare class ExpandDef<T extends object, R extends object, InnterIdType extends Primitive = Primitive, in FilterValueType = unknown, out
|
|
13
|
+
export declare class ExpandDef<T extends object, R extends object, InnterIdType extends Primitive = Primitive, in FilterValueType = unknown, out FilterOptionsType = unknown> extends ColumnDef<T, FilterValueType, FilterOptionsType> {
|
|
14
14
|
readonly columnType: "Expand";
|
|
15
|
-
constructor(props: ExpandDefProps<T, R, InnterIdType, FilterValueType,
|
|
15
|
+
constructor(props: ExpandDefProps<T, R, InnterIdType, FilterValueType, FilterOptionsType>);
|
|
16
16
|
readonly accessorFn: (item: T, index: number) => ReadonlyArray<R> | Promise<ReadonlyArray<R>>;
|
|
17
17
|
readonly filterFn: undefined;
|
|
18
18
|
readonly innerTableName: string;
|
package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type { CustomFilterFn } from '../../../Filtering/CustomFilterFn.js';
|
|
2
1
|
import type { FilterFn } from '../../../Filtering/FilterFn.js';
|
|
3
2
|
import { ColumnType } from '../../ColumnType.js';
|
|
4
3
|
import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
|
|
5
|
-
export interface FilterOnlyDefProps<T extends object, FilterFnType = unknown, out
|
|
4
|
+
export interface FilterOnlyDefProps<T extends object, FilterFnType = unknown, out FilterOptionsType = unknown> extends ColumnDefProps<T, FilterFnType, FilterOptionsType> {
|
|
6
5
|
}
|
|
7
|
-
export declare class FilterOnlyDef<T extends object, FilterFnType = unknown, out
|
|
8
|
-
constructor(props: FilterOnlyDefProps<T, FilterFnType,
|
|
6
|
+
export declare class FilterOnlyDef<T extends object, FilterFnType = unknown, out FilterOptionsType = unknown> extends ColumnDef<T, FilterFnType, FilterOptionsType> {
|
|
7
|
+
constructor(props: FilterOnlyDefProps<T, FilterFnType, FilterOptionsType>);
|
|
9
8
|
readonly columnType: ColumnType;
|
|
10
|
-
readonly filterFn:
|
|
9
|
+
readonly filterFn: FilterFn<T, FilterFnType> | undefined;
|
|
11
10
|
}
|
package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import type { BoolFilterValueType } from '../../../Filtering/FilterFn.js';
|
|
1
2
|
import { ColumnType } from '../../ColumnType.js';
|
|
2
3
|
import { ColumnDef } from '../ColumnDef.svelte.js';
|
|
3
|
-
export declare class RowSelectionDef<T extends object> extends ColumnDef<T> {
|
|
4
|
+
export declare class RowSelectionDef<T extends object, in FilterValueType = BoolFilterValueType, out FilterOptionsType = undefined> extends ColumnDef<T, FilterValueType, FilterOptionsType> {
|
|
4
5
|
readonly isSelectable: (item: T, index: number) => boolean | Promise<boolean>;
|
|
5
6
|
readonly columnType: ColumnType;
|
|
6
7
|
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
|
-
export interface DefsWrapper<T extends object
|
|
4
|
-
defs: Array<ColumnDef<T,
|
|
5
|
-
remoteFilters?: CustomRemoteFilters<
|
|
3
|
+
export interface DefsWrapper<T extends object> {
|
|
4
|
+
defs: Array<ColumnDef<T, never, unknown>>;
|
|
5
|
+
remoteFilters?: CustomRemoteFilters<never>;
|
|
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, in FilterValueType =
|
|
4
|
-
column: Column<T, FilterValueType,
|
|
3
|
+
export interface TableCell<T extends object, in FilterValueType = never, out FilterOptionsType = unknown> {
|
|
4
|
+
column: Column<T, FilterValueType, FilterOptionsType>;
|
|
5
5
|
row: Row<T>;
|
|
6
6
|
id: string;
|
|
7
7
|
getValue: () => unknown | Promise<unknown>;
|
|
@@ -5,7 +5,7 @@ export interface Row<T extends object> {
|
|
|
5
5
|
visibleIndex: number;
|
|
6
6
|
originalIndex: number;
|
|
7
7
|
id: string;
|
|
8
|
-
getLeftVisibleCells: () => Array<TableCell<T>>;
|
|
9
|
-
getRightVisibleCells: () => Array<TableCell<T>>;
|
|
10
|
-
getCenterVisibleCells: () => Array<TableCell<T>>;
|
|
8
|
+
getLeftVisibleCells: () => Array<TableCell<T, never, unknown>>;
|
|
9
|
+
getRightVisibleCells: () => Array<TableCell<T, never, unknown>>;
|
|
10
|
+
getCenterVisibleCells: () => Array<TableCell<T, never, unknown>>;
|
|
11
11
|
}
|
|
@@ -48,7 +48,7 @@ export declare class TableContext<T extends object, RowIdType extends Primitive>
|
|
|
48
48
|
get dataRepo(): IDataRepository<T>;
|
|
49
49
|
private set dataRepo(value);
|
|
50
50
|
private _remoteFilters;
|
|
51
|
-
get remoteFilters(): CustomRemoteFilters<
|
|
51
|
+
get remoteFilters(): CustomRemoteFilters<never> | undefined;
|
|
52
52
|
private set remoteFilters(value);
|
|
53
53
|
private _showSelectedOnly;
|
|
54
54
|
get showSelectedOnly(): boolean;
|
|
@@ -235,4 +235,4 @@ export declare class TableContext<T extends object, RowIdType extends Primitive>
|
|
|
235
235
|
private reassignDefsToPresets;
|
|
236
236
|
private filteringLoop;
|
|
237
237
|
}
|
|
238
|
-
export declare function isSearchable<T extends object, CD extends ColumnDef<T>>(def: CD): def is CD & HasCustomFilterFunction;
|
|
238
|
+
export declare function isSearchable<T extends object, FilterValueType, FilterOptionsType, CD extends ColumnDef<T, FilterValueType, FilterOptionsType>>(def: CD): def is CD & HasCustomFilterFunction;
|
|
@@ -207,7 +207,7 @@ export class TableContext {
|
|
|
207
207
|
return false;
|
|
208
208
|
}
|
|
209
209
|
if (def.filterFn) {
|
|
210
|
-
return def.filterFn(row, filter.id, filter.value);
|
|
210
|
+
return def.filterFn(row, filter.id, filter.value); //HACK how much parsing will be needed to be type safe?
|
|
211
211
|
}
|
|
212
212
|
if (this.debug) {
|
|
213
213
|
console.warn(`column ${def.id} did not have a filter function`);
|
|
@@ -16,7 +16,7 @@ export interface IDataRepository<T extends object> {
|
|
|
16
16
|
updateSorting?: OnChangeFn<SortingState>;
|
|
17
17
|
manualSorting?: boolean;
|
|
18
18
|
sorting: SortingState;
|
|
19
|
-
filtering: ColumnFiltersState
|
|
19
|
+
filtering: ColumnFiltersState<unknown>;
|
|
20
20
|
filterModes: SvelteMap<string, FilterMode>;
|
|
21
21
|
setFilterMode: (id: string, mode: FilterMode) => void;
|
|
22
22
|
filterBy: (id: string, value: unknown) => void;
|
|
@@ -9,7 +9,7 @@ export interface ILocalDataRepository<T extends object> extends IDataRepository<
|
|
|
9
9
|
setPage: (page: number) => void;
|
|
10
10
|
nextPage: () => void;
|
|
11
11
|
prevPage: () => void;
|
|
12
|
-
filtering: ColumnFiltersState
|
|
12
|
+
filtering: ColumnFiltersState<unknown>;
|
|
13
13
|
filterModes: SvelteMap<string, FilterMode>;
|
|
14
14
|
setFilterMode: (id: string, mode: FilterMode) => void;
|
|
15
15
|
filterBy: (id: string, value: unknown) => void;
|
|
@@ -8,7 +8,7 @@ export interface IRemoteDataRepository<T extends object> extends IDataRepository
|
|
|
8
8
|
setPage: (page: number) => void;
|
|
9
9
|
nextPage: () => void;
|
|
10
10
|
prevPage: () => void;
|
|
11
|
-
filtering: ColumnFiltersState
|
|
11
|
+
filtering: ColumnFiltersState<never>;
|
|
12
12
|
filterModes: SvelteMap<string, FilterMode>;
|
|
13
13
|
setFilterMode: (id: string, mode: FilterMode) => void;
|
|
14
14
|
filterBy: (id: string, value: unknown) => void;
|
|
@@ -11,7 +11,7 @@ import type { ILocalDataRepository } from './ILocalDataRepository.js';
|
|
|
11
11
|
import type { SortingState } from './SortingState.js';
|
|
12
12
|
import { TableDataRepository } from './TableDataRepository.svelte.js';
|
|
13
13
|
export declare const allowedEmptyFilterModes: SvelteSet<StringFilterMode | NumberDateFilterMode>;
|
|
14
|
-
export declare class LocalTableDataRepository<T extends object> extends TableDataRepository<T> implements ILocalDataRepository<T> {
|
|
14
|
+
export declare class LocalTableDataRepository<T extends object> extends TableDataRepository<T, unknown> implements ILocalDataRepository<T> {
|
|
15
15
|
addEmptyRow?: (() => void) | undefined;
|
|
16
16
|
private debug;
|
|
17
17
|
readonly filterType: "Real";
|
|
@@ -30,8 +30,8 @@ export declare class LocalTableDataRepository<T extends object> extends TableDat
|
|
|
30
30
|
private _totalRows;
|
|
31
31
|
get totalRows(): number;
|
|
32
32
|
private _filtering;
|
|
33
|
-
get filtering(): ColumnFiltersState
|
|
34
|
-
set filtering(v: ColumnFiltersState);
|
|
33
|
+
get filtering(): ColumnFiltersState<unknown>;
|
|
34
|
+
set filtering(v: ColumnFiltersState<unknown>);
|
|
35
35
|
updateSorting: OnChangeFn<SortingState>;
|
|
36
36
|
readonly paginationType: "Local";
|
|
37
37
|
readonly setFilterMode: (id: string, mode: FilterMode | undefined) => void;
|
|
@@ -7,7 +7,7 @@ import { TableDataRepository } from './TableDataRepository.svelte.js';
|
|
|
7
7
|
export const allowedEmptyFilterModes = new SvelteSet([
|
|
8
8
|
StringFilterMode.Empty,
|
|
9
9
|
StringFilterMode.null,
|
|
10
|
-
NumberDateFilterMode.null
|
|
10
|
+
NumberDateFilterMode.null,
|
|
11
11
|
]);
|
|
12
12
|
export class LocalTableDataRepository extends TableDataRepository {
|
|
13
13
|
addEmptyRow;
|
|
@@ -142,27 +142,27 @@ export class LocalTableDataRepository extends TableDataRepository {
|
|
|
142
142
|
const lastIndex = Math.ceil(this._dataRef.value.length / size) - 1;
|
|
143
143
|
this.paginationState = {
|
|
144
144
|
pageSize: size,
|
|
145
|
-
pageIndex: Math.max(0, Math.min(this.paginationState.pageIndex, lastIndex))
|
|
145
|
+
pageIndex: Math.max(0, Math.min(this.paginationState.pageIndex, lastIndex)),
|
|
146
146
|
};
|
|
147
147
|
};
|
|
148
148
|
setPage = (page) => {
|
|
149
149
|
const lastIndex = this._lastPage - 1;
|
|
150
150
|
this.paginationState = {
|
|
151
151
|
...this.paginationState,
|
|
152
|
-
pageIndex: Math.max(0, Math.min(lastIndex, page - 1))
|
|
152
|
+
pageIndex: Math.max(0, Math.min(lastIndex, page - 1)),
|
|
153
153
|
};
|
|
154
154
|
};
|
|
155
155
|
nextPage = () => {
|
|
156
156
|
const lastIndex = this._lastPage - 1;
|
|
157
157
|
this.paginationState = {
|
|
158
158
|
...this.paginationState,
|
|
159
|
-
pageIndex: Math.min(lastIndex, this.paginationState.pageIndex + 1)
|
|
159
|
+
pageIndex: Math.min(lastIndex, this.paginationState.pageIndex + 1),
|
|
160
160
|
};
|
|
161
161
|
};
|
|
162
162
|
prevPage = () => {
|
|
163
163
|
this.paginationState = {
|
|
164
164
|
...this.paginationState,
|
|
165
|
-
pageIndex: Math.max(0, this.paginationState.pageIndex - 1)
|
|
165
|
+
pageIndex: Math.max(0, this.paginationState.pageIndex - 1),
|
|
166
166
|
};
|
|
167
167
|
};
|
|
168
168
|
// #region filters
|
|
@@ -9,7 +9,7 @@ export interface ReadonlyPaginationState extends PaginationState {
|
|
|
9
9
|
readonly pageIndex: number;
|
|
10
10
|
readonly pageSize: number;
|
|
11
11
|
}
|
|
12
|
-
export declare abstract class TableDataRepository<T extends object> implements IDataRepository<T> {
|
|
12
|
+
export declare abstract class TableDataRepository<T extends object, out FilterValueType> implements IDataRepository<T> {
|
|
13
13
|
private tableName;
|
|
14
14
|
protected getUserId: () => string | undefined;
|
|
15
15
|
abstract paginationType: 'Remote' | 'Local';
|
|
@@ -18,7 +18,7 @@ export declare abstract class TableDataRepository<T extends object> implements I
|
|
|
18
18
|
abstract isLoading: boolean;
|
|
19
19
|
abstract data: Array<T>;
|
|
20
20
|
abstract setPageSize: (size: number) => void;
|
|
21
|
-
abstract filtering: ColumnFiltersState
|
|
21
|
+
abstract filtering: ColumnFiltersState<FilterValueType>;
|
|
22
22
|
abstract setFilterMode: (id: string, mode: FilterMode) => void;
|
|
23
23
|
abstract filterBy: (id: string, value: unknown) => void;
|
|
24
24
|
abstract resetFilters: () => void;
|
|
@@ -3,12 +3,12 @@ import { Validity } from '../../../../Types/Internal/Validity.js';
|
|
|
3
3
|
import type { TableCell } from '../Columns/TableCell.js';
|
|
4
4
|
import type { TableContext } from '../Context/TableContext.svelte.js';
|
|
5
5
|
import type { CellCoordinates } from '../Coordinates/CellCoordinates.js';
|
|
6
|
-
export declare class TableFocusDetails<T extends object
|
|
6
|
+
export declare class TableFocusDetails<T extends object> {
|
|
7
7
|
private toastCallback;
|
|
8
|
-
constructor(cell: TableCell<T
|
|
8
|
+
constructor(cell: TableCell<T>, tableContext: TableContext<T, never>, toastCallback: ToastContext['toast']);
|
|
9
9
|
private _cell;
|
|
10
|
-
get cell(): TableCell<T
|
|
11
|
-
set cell(v: TableCell<T
|
|
10
|
+
get cell(): TableCell<T>;
|
|
11
|
+
set cell(v: TableCell<T>);
|
|
12
12
|
private _tableContext;
|
|
13
13
|
get tableContext(): TableContext<T, never>;
|
|
14
14
|
set tableContext(v: TableContext<T, never>);
|
|
@@ -26,7 +26,7 @@ export class TableFocusDetails {
|
|
|
26
26
|
_coordinates = $derived({
|
|
27
27
|
row: this.cell.row.visibleIndex,
|
|
28
28
|
column: this.cell.column.columnDef.index,
|
|
29
|
-
id: this.cell.column.columnDef.id
|
|
29
|
+
id: this.cell.column.columnDef.id,
|
|
30
30
|
});
|
|
31
31
|
get coordinates() {
|
|
32
32
|
return this._coordinates;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Column } from './Columns/Column.js';
|
|
2
|
-
export interface Header<T extends object, FilterValueType> {
|
|
2
|
+
export interface Header<T extends object, in FilterValueType, out FilterOptionsType> {
|
|
3
3
|
id: string;
|
|
4
4
|
colSpan: number;
|
|
5
5
|
getSize: () => number;
|
|
6
|
-
column: Column<T, FilterValueType>;
|
|
6
|
+
column: Column<T, FilterValueType, FilterOptionsType>;
|
|
7
7
|
isPlaceholder: boolean;
|
|
8
8
|
getResizeHandler: () => (e: MouseEvent) => void;
|
|
9
9
|
}
|
|
@@ -1,5 +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 const ExampleModal: import("svelte").Component<DisplayDefModalProps<ExampleItem,
|
|
3
|
+
declare const ExampleModal: import("svelte").Component<DisplayDefModalProps<ExampleItem, never, unknown>, {}, "">;
|
|
4
4
|
type ExampleModal = ReturnType<typeof ExampleModal>;
|
|
5
5
|
export default ExampleModal;
|