@lavalogic/scoria 0.13.4 → 0.14.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.
Files changed (62) hide show
  1. package/dist/Components/QuerySelect.svelte +2 -13
  2. package/dist/Components/Table/Body/QuickSearchCell.svelte +22 -17
  3. package/dist/Components/Table/Body/QuickSearchCell.svelte.d.ts +12 -12
  4. package/dist/Components/Table/Body/QuickSearchCellProps.d.ts +1 -1
  5. package/dist/Components/Table/Body/Rows/Columns/ActionsColumn.d.ts +1 -1
  6. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +5 -6
  7. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte.d.ts +14 -14
  8. package/dist/Components/Table/Body/Rows/Columns/SelectColumn.d.ts +2 -2
  9. package/dist/Components/Table/Body/Rows/Columns/SelectTableCell.d.ts +2 -2
  10. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +10 -10
  11. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +16 -16
  12. package/dist/Components/Table/Body/Rows/Columns/TableQueryCell.d.ts +2 -2
  13. package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.d.ts +2 -2
  14. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +3 -4
  15. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte.d.ts +1 -1
  16. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelectProps.d.ts +2 -2
  17. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +4 -7
  18. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte.d.ts +1 -1
  19. package/dist/Components/Table/Body/Rows/Columns/TableSelectProps.d.ts +2 -2
  20. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +1 -1
  21. package/dist/Components/Table/Body/Rows/Columns/ValidityCellProps.d.ts +1 -1
  22. package/dist/Components/Table/Body/Rows/TableRow.svelte +4 -4
  23. package/dist/Components/Table/Body/TableBodyProps.d.ts +1 -1
  24. package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +30 -29
  25. package/dist/Components/Table/Misc/FilterInput.svelte +7 -9
  26. package/dist/Components/Table/Misc/FilterInput.svelte.d.ts +12 -12
  27. package/dist/Components/Table/Misc/FilterInputProps.d.ts +1 -1
  28. package/dist/Components/Table/Misc/FilterPanelModal.svelte +1 -1
  29. package/dist/Components/Table/Types/Columns/Column.d.ts +1 -1
  30. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.d.ts +2 -2
  31. package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.d.ts +5 -5
  32. package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.d.ts +5 -5
  33. package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts +5 -5
  34. package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.d.ts +5 -5
  35. package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.d.ts +9 -9
  36. package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.d.ts +5 -5
  37. package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +4 -4
  38. package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +4 -4
  39. package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +1 -1
  40. package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.d.ts +5 -5
  41. package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.d.ts +1 -1
  42. package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.d.ts +5 -5
  43. package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.d.ts +2 -2
  44. package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +2 -2
  45. package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +2 -2
  46. package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +1 -1
  47. package/dist/Components/Table/Types/Columns/ProgressBarColumn.d.ts +2 -2
  48. package/dist/Components/Table/Types/Columns/ProgressBarTableCell.d.ts +2 -2
  49. package/dist/Components/Table/Types/Columns/TableCell.d.ts +1 -1
  50. package/dist/Components/Table/Types/Context/ITable.d.ts +3 -3
  51. package/dist/Components/Table/Types/Context/Row.d.ts +3 -3
  52. package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +1 -1
  53. package/dist/Components/Table/Types/Filtering/CustomFilter.d.ts +3 -3
  54. package/dist/Components/Table/Types/Filtering/CustomRemoteFilters.d.ts +1 -1
  55. package/dist/Components/Table/Types/Filtering/FilterFn.d.ts +1 -1
  56. package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.d.ts +1 -1
  57. package/dist/Contexts/ToastContext.svelte.d.ts +1 -3
  58. package/dist/Contexts/ToastContext.svelte.js +36 -10
  59. package/dist/Helpers/Helpers.svelte.d.ts +1 -1
  60. package/dist/Helpers/Helpers.svelte.js +1 -1
  61. package/dist/Types/Internal/SelectOption.d.ts +1 -1
  62. package/package.json +1 -1
@@ -1,13 +1,13 @@
1
1
  import type { SelectOption } from '../../../../Types/Internal/SelectOption.js';
2
2
  import type { CustomFilterType } from './CustomFilterType.js';
3
- export interface CustomFilter {
3
+ export interface CustomFilter<FilterValueType> {
4
4
  queryKey: string;
5
5
  type: CustomFilterType;
6
6
  id: string;
7
- options?: Array<SelectOption<string | number>> | Promise<Array<SelectOption<string | number>>>;
7
+ options?: Array<SelectOption<FilterValueType>> | Promise<Array<SelectOption<FilterValueType>>>;
8
8
  multiSelect?: boolean;
9
9
  objectName?: string;
10
10
  label?: string;
11
11
  valueAsObject?: boolean;
12
- query?: (value: unknown) => Promise<Array<SelectOption<number>>>;
12
+ query?: (value: unknown) => Promise<Array<SelectOption<FilterValueType>>>;
13
13
  }
@@ -1,3 +1,3 @@
1
1
  import type { SvelteMap } from 'svelte/reactivity';
2
2
  import type { CustomFilter } from './CustomFilter.js';
3
- export type CustomRemoteFilters = SvelteMap<string, CustomFilter>;
3
+ export type CustomRemoteFilters<FilterValueType> = SvelteMap<string, CustomFilter<FilterValueType>>;
@@ -6,4 +6,4 @@ export type SelectFilterValueType<T, columnType = T[keyof T]> = string | Array<u
6
6
  } | undefined;
7
7
  export type BoolFilterValueType = boolean | null;
8
8
  export type StringFilterValueType = string | null;
9
- export type FilterFn<T extends object, FilterValueType> = (row: Row<T>, columnId: string, filterValue: FilterValueType) => boolean | Promise<boolean>;
9
+ export type FilterFn<T extends object, in FilterValueType> = (row: Row<T>, columnId: string, filterValue: FilterValueType) => boolean | Promise<boolean>;
@@ -3,7 +3,7 @@ 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, in FilterValueType> {
6
+ export declare class TableFocusDetails<T extends object, FilterValueType> {
7
7
  private toastCallback;
8
8
  constructor(cell: TableCell<T, FilterValueType>, tableContext: TableContext<T, never>, toastCallback: ToastContext['toast']);
9
9
  private _cell;
@@ -1,11 +1,9 @@
1
- import { type IErrorResponse } from '../Helpers/Helpers.svelte.js';
2
1
  import type { IdentifiableToastMessage } from '../Types/Internal/IdentifiableToastMessage.js';
3
- import type { ToastMessage } from '../Types/Internal/ToastMessage.js';
4
2
  export declare class ToastContext {
5
3
  static readonly identifier: unique symbol;
6
4
  private _toasts;
7
5
  get toasts(): Array<IdentifiableToastMessage>;
8
6
  private set toasts(value);
9
- readonly toast: (message: Array<unknown> | string | ToastMessage | IErrorResponse) => void;
7
+ readonly toast: (message: unknown) => void;
10
8
  private dismiss;
11
9
  }
@@ -11,6 +11,9 @@ export class ToastContext {
11
11
  this._toasts = v;
12
12
  }
13
13
  toast = (message) => {
14
+ if (message == null) {
15
+ return;
16
+ }
14
17
  const id = idIncrement++;
15
18
  const newMessage = (() => {
16
19
  const closeable = true;
@@ -39,18 +42,41 @@ export class ToastContext {
39
42
  }
40
43
  };
41
44
  }
42
- if (typeof message == 'object' && isToastMessage(message)) {
43
- return {
44
- closeable,
45
- timeout,
46
- ...message,
47
- id,
48
- close: () => {
49
- if (message.closeable ?? true) {
45
+ if (typeof message == 'object') {
46
+ if (message instanceof Error) {
47
+ return {
48
+ result: Validity.Invalid,
49
+ closeable,
50
+ timeout,
51
+ message: getErrorMessage(message, {
52
+ includeUUID: false,
53
+ includeCause: false,
54
+ includeStack: false
55
+ }),
56
+ id,
57
+ close: () => {
50
58
  this.dismiss(id);
59
+ },
60
+ getVerbose: () => getErrorMessage(message, {
61
+ includeUUID: true,
62
+ includeCause: true,
63
+ includeStack: true
64
+ })
65
+ };
66
+ }
67
+ if (isToastMessage(message)) {
68
+ return {
69
+ closeable,
70
+ timeout,
71
+ ...message,
72
+ id,
73
+ close: () => {
74
+ if (message.closeable ?? true) {
75
+ this.dismiss(id);
76
+ }
51
77
  }
52
- }
53
- };
78
+ };
79
+ }
54
80
  }
55
81
  return {
56
82
  result: Validity.Invalid,
@@ -44,6 +44,6 @@ export declare const asyncEvery: typeof asyncAll;
44
44
  export declare function asyncFilterIndices<T>(array: Array<T>, asyncCallback: (item: T, index: number) => Promise<boolean>): Promise<Array<number>>;
45
45
  export declare function asyncFilter<T>(array: Array<T>, asyncCallback: (item: T, index: number) => Promise<boolean>): Promise<Array<T>>;
46
46
  export declare function devCatch(e: unknown): void;
47
- export declare function hasQuery(customFilter: CustomFilter | undefined): customFilter is CustomFilter & Required<Pick<CustomFilter, 'query'>>;
47
+ export declare function hasQuery<FilterValueType>(customFilter: CustomFilter<FilterValueType> | undefined): customFilter is CustomFilter<FilterValueType> & Required<Pick<CustomFilter<FilterValueType>, 'query'>>;
48
48
  export declare function isDateTuple(value: unknown): value is [Date | null, Date | null];
49
49
  export declare function isNumberTuple(value: unknown): value is [number | null, number | null];
@@ -145,7 +145,7 @@ export function getErrorMessage(error, { includeUUID = true, includeStack = fals
145
145
  else if (isJSError(error)) {
146
146
  errorList += error.message + '\n';
147
147
  if (includeCause && error.cause) {
148
- errorList += `Cause: ${getErrorMessage(error.cause)}`;
148
+ errorList += `Cause: ${getErrorMessage(error.cause, { includeUUID, includeCause, includeStack })}`;
149
149
  }
150
150
  if (includeStack && error.stack) {
151
151
  errorList += `Stack: ${error.stack}`;
@@ -1,4 +1,4 @@
1
- export interface SelectOption<T> {
1
+ export interface SelectOption<out T> {
2
2
  label: string;
3
3
  value: T;
4
4
  }
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",
4
+ "version": "0.14.0",
5
5
  "publishConfig": {
6
6
  "access": "restricted"
7
7
  },