@lavalogic/scoria 0.13.2 → 0.13.4
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/Misc/TableHorizontalBar.svelte +2 -1
- package/dist/Components/Table/Misc/TableSidebar.svelte +2 -1
- package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +2 -2
- package/dist/Components/Table/Types/DataRepository/ILocalDataRepository.d.ts +3 -2
- package/dist/Components/Table/Types/DataRepository/IRemoteDataRepository.d.ts +1 -1
- package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +2 -2
- package/dist/Contexts/ToastContext.svelte.js +2 -2
- package/dist/Helpers/Helpers.svelte.d.ts +7 -1
- package/dist/Helpers/Helpers.svelte.js +11 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +9 -9
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<script lang="ts" generics="T extends object">
|
|
4
4
|
import Button from '../../Button.svelte';
|
|
5
|
+
import { devCatch } from '../../../Helpers/Helpers.svelte.js';
|
|
5
6
|
import { Side } from '../../../Types/Internal/Side.js';
|
|
6
7
|
import { Size } from '../../../Types/Internal/Size.js';
|
|
7
8
|
import { Variant } from '../../../Types/Internal/Variant.js';
|
|
@@ -109,7 +110,7 @@
|
|
|
109
110
|
<Button
|
|
110
111
|
side={Side.Bottom}
|
|
111
112
|
onclick={() => {
|
|
112
|
-
tableContext.paginationRepo?.reload?.();
|
|
113
|
+
tableContext.paginationRepo?.reload?.().catch(devCatch);
|
|
113
114
|
}}
|
|
114
115
|
toggled={tableContext.dataRepo.isLoading}
|
|
115
116
|
size={Size.Small}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<script lang="ts" generics="T extends object">
|
|
4
4
|
import Button from '../../Button.svelte';
|
|
5
|
+
import { devCatch } from '../../../Helpers/Helpers.svelte.js';
|
|
5
6
|
import { Side } from '../../../Types/Internal/Side.js';
|
|
6
7
|
import { Size } from '../../../Types/Internal/Size.js';
|
|
7
8
|
import { Variant } from '../../../Types/Internal/Variant.js';
|
|
@@ -121,7 +122,7 @@
|
|
|
121
122
|
<Button
|
|
122
123
|
side={tableContext.toolbarPosition === ToolbarPosition.Left ? Side.Left : Side.Right}
|
|
123
124
|
onclick={() => {
|
|
124
|
-
tableContext.paginationRepo?.reload?.();
|
|
125
|
+
tableContext.paginationRepo?.reload?.().catch(devCatch);
|
|
125
126
|
}}
|
|
126
127
|
disabled={!tableContext.allowQuickFiltering}
|
|
127
128
|
variant={Variant.Toolbar}
|
|
@@ -17,7 +17,7 @@ export interface IDataRepository<T extends object> {
|
|
|
17
17
|
manualSorting?: boolean;
|
|
18
18
|
sorting: SortingState;
|
|
19
19
|
filtering: ColumnFiltersState;
|
|
20
|
-
filterModes:
|
|
20
|
+
filterModes: SvelteMap<string, FilterMode>;
|
|
21
21
|
setFilterMode: (id: string, mode: FilterMode) => void;
|
|
22
22
|
filterBy: (id: string, value: unknown) => void;
|
|
23
23
|
dateFilter?: FilterFn<T, DateFilterValueType>;
|
|
@@ -26,7 +26,7 @@ export interface IDataRepository<T extends object> {
|
|
|
26
26
|
boolFilter?: FilterFn<T, BoolFilterValueType>;
|
|
27
27
|
stringFilter?: FilterFn<T, StringFilterValueType>;
|
|
28
28
|
resetFilters: () => void;
|
|
29
|
-
reload?: () => void
|
|
29
|
+
reload?: () => Promise<void>;
|
|
30
30
|
lastPage?: number;
|
|
31
31
|
pageStartIndex: number;
|
|
32
32
|
pageEndIndexExclusive: number;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SvelteMap } from 'svelte/reactivity';
|
|
1
2
|
import type { ColumnFiltersState } from '../Filtering/ColumnFiltersState.js';
|
|
2
3
|
import type { BoolFilterValueType, DateFilterValueType, FilterFn, NumberFilterValueType, SelectFilterValueType, StringFilterValueType } from '../Filtering/FilterFn.js';
|
|
3
4
|
import type { FilterMode } from '../Filtering/FilterMode.js';
|
|
@@ -9,7 +10,7 @@ export interface ILocalDataRepository<T extends object> extends IDataRepository<
|
|
|
9
10
|
nextPage: () => void;
|
|
10
11
|
prevPage: () => void;
|
|
11
12
|
filtering: ColumnFiltersState;
|
|
12
|
-
filterModes:
|
|
13
|
+
filterModes: SvelteMap<string, FilterMode>;
|
|
13
14
|
setFilterMode: (id: string, mode: FilterMode) => void;
|
|
14
15
|
filterBy: (id: string, value: unknown) => void;
|
|
15
16
|
dateFilter: FilterFn<T, DateFilterValueType>;
|
|
@@ -18,5 +19,5 @@ export interface ILocalDataRepository<T extends object> extends IDataRepository<
|
|
|
18
19
|
boolFilter: FilterFn<T, BoolFilterValueType>;
|
|
19
20
|
stringFilter: FilterFn<T, StringFilterValueType>;
|
|
20
21
|
resetFilters: () => void;
|
|
21
|
-
reload?: () => void
|
|
22
|
+
reload?: () => Promise<void>;
|
|
22
23
|
}
|
|
@@ -14,5 +14,5 @@ export interface IRemoteDataRepository<T extends object> extends IDataRepository
|
|
|
14
14
|
filterBy: (id: string, value: unknown) => void;
|
|
15
15
|
resetFilters: () => void;
|
|
16
16
|
lastPage: number;
|
|
17
|
-
reload?: (debounced?: boolean) => void
|
|
17
|
+
reload?: (debounced?: boolean) => Promise<void>;
|
|
18
18
|
}
|
|
@@ -37,12 +37,12 @@ export declare abstract class TableDataRepository<T extends object> implements I
|
|
|
37
37
|
get previouslyViewedPage(): number;
|
|
38
38
|
private set previouslyViewedPage(value);
|
|
39
39
|
protected _filterModes: SvelteMap<string, FilterMode>;
|
|
40
|
-
get filterModes():
|
|
40
|
+
get filterModes(): SvelteMap<string, FilterMode>;
|
|
41
41
|
private _forceRefresh;
|
|
42
42
|
get forceRefresh(): () => void;
|
|
43
43
|
set forceRefresh(v: () => void);
|
|
44
44
|
readonly registerRefreshMethod: (method: () => void) => void;
|
|
45
45
|
protected getValueSet(values: Array<string | number | undefined>): Set<number>;
|
|
46
46
|
static getValues(values: Array<string | number | undefined>): Array<number>;
|
|
47
|
-
static getMinMax(values: Array<string | number | undefined>): number[] | undefined[];
|
|
47
|
+
static getMinMax(values: Array<string | number | null | undefined>): number[] | undefined[];
|
|
48
48
|
}
|
|
@@ -56,12 +56,12 @@ export class ToastContext {
|
|
|
56
56
|
result: Validity.Invalid,
|
|
57
57
|
closeable,
|
|
58
58
|
timeout,
|
|
59
|
-
message: getErrorMessage(message, false),
|
|
59
|
+
message: getErrorMessage(message, { includeUUID: false }),
|
|
60
60
|
id,
|
|
61
61
|
close: () => {
|
|
62
62
|
this.dismiss(id);
|
|
63
63
|
},
|
|
64
|
-
getVerbose: () => getErrorMessage(message
|
|
64
|
+
getVerbose: () => getErrorMessage(message)
|
|
65
65
|
};
|
|
66
66
|
})();
|
|
67
67
|
this.toasts.push(newMessage);
|
|
@@ -24,7 +24,13 @@ export interface IErrorResponse {
|
|
|
24
24
|
readonly uuid: string | null;
|
|
25
25
|
}
|
|
26
26
|
export declare function isErrorResponse(error: unknown): error is IErrorResponse;
|
|
27
|
-
export declare function
|
|
27
|
+
export declare function isJSError(error: object): error is Error;
|
|
28
|
+
export type GetErrorMessageProps = {
|
|
29
|
+
includeUUID?: boolean;
|
|
30
|
+
includeStack?: boolean;
|
|
31
|
+
includeCause?: boolean;
|
|
32
|
+
};
|
|
33
|
+
export declare function getErrorMessage(error: unknown, { includeUUID, includeStack, includeCause }?: GetErrorMessageProps): string;
|
|
28
34
|
export declare function isValidEmailAddress(emailAddress: string): RegExpMatchArray | null;
|
|
29
35
|
export declare function gridItem(element: HTMLElement): (() => void) | undefined;
|
|
30
36
|
export type Milliseconds = number;
|
|
@@ -123,7 +123,10 @@ export function isErrorResponse(error) {
|
|
|
123
123
|
(Array.isArray(error.errors) || typeof error.errors === 'string') &&
|
|
124
124
|
!!error.errors.length);
|
|
125
125
|
}
|
|
126
|
-
export function
|
|
126
|
+
export function isJSError(error) {
|
|
127
|
+
return 'message' in error && typeof error.message == 'string';
|
|
128
|
+
}
|
|
129
|
+
export function getErrorMessage(error, { includeUUID = true, includeStack = false, includeCause = false } = {}) {
|
|
127
130
|
if (!error) {
|
|
128
131
|
return 'Unknown Error';
|
|
129
132
|
}
|
|
@@ -139,8 +142,14 @@ export function getErrorMessage(error, includeUUID = true) {
|
|
|
139
142
|
});
|
|
140
143
|
}
|
|
141
144
|
}
|
|
142
|
-
else if (
|
|
145
|
+
else if (isJSError(error)) {
|
|
143
146
|
errorList += error.message + '\n';
|
|
147
|
+
if (includeCause && error.cause) {
|
|
148
|
+
errorList += `Cause: ${getErrorMessage(error.cause)}`;
|
|
149
|
+
}
|
|
150
|
+
if (includeStack && error.stack) {
|
|
151
|
+
errorList += `Stack: ${error.stack}`;
|
|
152
|
+
}
|
|
144
153
|
}
|
|
145
154
|
else {
|
|
146
155
|
errorList += 'Unknown Error' + '\n';
|
package/dist/index.d.ts
CHANGED
|
@@ -133,7 +133,7 @@ export { TooltipContext } from './Contexts/TooltipContext.svelte.js';
|
|
|
133
133
|
export { UntypedInputContext } from './Contexts/UntypedInputContext.svelte.js';
|
|
134
134
|
export { Delay } from './Delay/Delay.js';
|
|
135
135
|
export { DATAMatrix } from './Helpers/Datamatrix.js';
|
|
136
|
-
export { asyncAll, asyncEvery, asyncFilter, asyncFilterIndices, asyncFlatMap, asyncForEach, asyncMap, asyncSleep, asyncSome, autoPluralise, devCatch, generateShortUUID, generateUUID, getCanvasContext, getErrorMessage, gridItem, isValidEmailAddress, localTimeFormat, passthrough, refWrapper, SQLFriendly, SQLFriendlyWithLocalTime, vowels } from './Helpers/Helpers.svelte.js';
|
|
136
|
+
export { asyncAll, asyncEvery, asyncFilter, asyncFilterIndices, asyncFlatMap, asyncForEach, asyncMap, asyncSleep, asyncSome, autoPluralise, devCatch, generateShortUUID, generateUUID, getCanvasContext, getErrorMessage, gridItem, isDateTuple, isNumberTuple, isValidEmailAddress, localTimeFormat, passthrough, refWrapper, SQLFriendly, SQLFriendlyWithLocalTime, vowels } from './Helpers/Helpers.svelte.js';
|
|
137
137
|
export { type INamed } from './Helpers/INamed.js';
|
|
138
138
|
export { AttributeOperation } from './Types/Internal/AttributeOperation.js';
|
|
139
139
|
export { type BigRadioOption } from './Types/Internal/BigRadioOption.js';
|
package/dist/index.js
CHANGED
|
@@ -140,7 +140,7 @@ export { TooltipContext } from './Contexts/TooltipContext.svelte.js';
|
|
|
140
140
|
export { UntypedInputContext } from './Contexts/UntypedInputContext.svelte.js';
|
|
141
141
|
export { Delay } from './Delay/Delay.js';
|
|
142
142
|
export { DATAMatrix } from './Helpers/Datamatrix.js';
|
|
143
|
-
export { asyncAll, asyncEvery, asyncFilter, asyncFilterIndices, asyncFlatMap, asyncForEach, asyncMap, asyncSleep, asyncSome, autoPluralise, devCatch, generateShortUUID, generateUUID, getCanvasContext, getErrorMessage, gridItem, isValidEmailAddress, localTimeFormat, passthrough, refWrapper, SQLFriendly, SQLFriendlyWithLocalTime, vowels } from './Helpers/Helpers.svelte.js';
|
|
143
|
+
export { asyncAll, asyncEvery, asyncFilter, asyncFilterIndices, asyncFlatMap, asyncForEach, asyncMap, asyncSleep, asyncSome, autoPluralise, devCatch, generateShortUUID, generateUUID, getCanvasContext, getErrorMessage, gridItem, isDateTuple, isNumberTuple, isValidEmailAddress, localTimeFormat, passthrough, refWrapper, SQLFriendly, SQLFriendlyWithLocalTime, vowels } from './Helpers/Helpers.svelte.js';
|
|
144
144
|
export {} from './Helpers/INamed.js';
|
|
145
145
|
export { AttributeOperation } from './Types/Internal/AttributeOperation.js';
|
|
146
146
|
export {} from './Types/Internal/BigRadioOption.js';
|
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.13.
|
|
4
|
+
"version": "0.13.4",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "restricted"
|
|
7
7
|
},
|
|
@@ -33,13 +33,13 @@
|
|
|
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.12",
|
|
37
|
+
"@storybook/addon-docs": "^10.2.12",
|
|
38
38
|
"@storybook/addon-svelte-csf": "^5.0.11",
|
|
39
|
-
"@storybook/addon-vitest": "^10.2.
|
|
40
|
-
"@storybook/sveltekit": "^10.2.
|
|
39
|
+
"@storybook/addon-vitest": "^10.2.12",
|
|
40
|
+
"@storybook/sveltekit": "^10.2.12",
|
|
41
41
|
"@sveltejs/adapter-node": "^5.5.3",
|
|
42
|
-
"@sveltejs/kit": "^2.53.
|
|
42
|
+
"@sveltejs/kit": "^2.53.1",
|
|
43
43
|
"@sveltejs/package": "^2.5.7",
|
|
44
44
|
"@sveltejs/vite-plugin-svelte": "^6.2.4",
|
|
45
45
|
"@types/eslint": "^9.6.1",
|
|
@@ -50,7 +50,7 @@
|
|
|
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.12",
|
|
54
54
|
"eslint-plugin-svelte": "^3.15.0",
|
|
55
55
|
"globals": "^17.3.0",
|
|
56
56
|
"mdsvex": "^0.12.6",
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
"prettier-plugin-svelte": "^3.5.0",
|
|
60
60
|
"publint": "^0.3.17",
|
|
61
61
|
"sass-embedded": "^1.97.3",
|
|
62
|
-
"storybook": "^10.2.
|
|
63
|
-
"svelte": "^5.53.
|
|
62
|
+
"storybook": "^10.2.12",
|
|
63
|
+
"svelte": "^5.53.4",
|
|
64
64
|
"svelte-check": "^4.4.3",
|
|
65
65
|
"svelte-render-scan": "^1.1.0",
|
|
66
66
|
"typescript": "^5.9.3",
|