@opengeoweb/workspace 19.6.1 → 20.0.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/index.esm.js +454 -33
- package/dist/src/lib/api/types.d.ts +11 -0
- package/dist/src/lib/api/user-preferences/api.d.ts +8 -0
- package/dist/src/lib/api/user-preferences/fakeApi.d.ts +2 -0
- package/dist/src/lib/api/user-preferences/hooks.d.ts +3 -0
- package/dist/src/lib/api/utils.d.ts +5 -1
- package/dist/src/lib/components/WorkspaceSelectList/WorkspaceSelectList.d.ts +3 -0
- package/dist/src/lib/components/WorkspaceSelectList/WorkspaceSelectListRow.d.ts +3 -0
- package/dist/src/lib/store/viewPresets/selectors.d.ts +91 -0
- package/dist/src/lib/store/viewPresets/types.d.ts +1 -0
- package/dist/src/lib/store/workspace/selectors.d.ts +4 -4
- package/dist/src/lib/store/workspace/types.d.ts +2 -0
- package/dist/src/lib/store/workspaceList/selectors.d.ts +22 -0
- package/dist/src/lib/store/workspaceList/types.d.ts +3 -1
- package/package.json +67 -67
|
@@ -1,2 +1,13 @@
|
|
|
1
1
|
import type { UseMutationResult } from '@tanstack/react-query';
|
|
2
|
+
import type { WorkspacePresetListItem } from '../store/workspace/types';
|
|
2
3
|
export type MutationReturnType<TData, TVariables> = UseMutationResult<TData, Error, TVariables>;
|
|
4
|
+
export type FavouritePreset = Pick<WorkspacePresetListItem, 'id' | 'scope'>;
|
|
5
|
+
export interface FavouritePresetsState {
|
|
6
|
+
isFavourite: (preset: FavouritePreset) => boolean;
|
|
7
|
+
toggleFavourite: (preset: FavouritePreset) => void;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
isLoading: boolean;
|
|
10
|
+
isSaving: boolean;
|
|
11
|
+
error: Error | null;
|
|
12
|
+
retry: () => void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Credentials } from '@opengeoweb/api';
|
|
2
|
+
export type FavouritePresetType = 'workspace' | 'view';
|
|
3
|
+
export interface UserPreferences {
|
|
4
|
+
[key: string]: unknown;
|
|
5
|
+
favouritePresets?: string[];
|
|
6
|
+
}
|
|
7
|
+
export declare const getUserPreferences: (auth?: Credentials) => Promise<UserPreferences>;
|
|
8
|
+
export declare const setFavouritePreset: (presetType: FavouritePresetType, presetId: string, isFavourite: boolean, auth?: Credentials) => Promise<UserPreferences>;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type { UseMutationResult } from '@tanstack/react-query';
|
|
1
|
+
import type { QueryClient, QueryKey, UseMutationResult } from '@tanstack/react-query';
|
|
2
|
+
import type { FavouritePreset } from './types';
|
|
3
|
+
import type { FavouritePresetType } from './user-preferences/api';
|
|
2
4
|
import type { WorkspacePresetFromBE, WorkspacePresetListItem } from '../store/workspace/types';
|
|
3
5
|
import type { FetchWorkspaceParams } from '../store/workspaceList/types';
|
|
4
6
|
export type MutationReturnType<T> = UseMutationResult<Headers | null, Error, T>;
|
|
@@ -8,3 +10,5 @@ export declare const getIdFromUrl: (url: string) => string;
|
|
|
8
10
|
export declare const hasNoPresetBackend: () => boolean;
|
|
9
11
|
export declare const extractWorkspacePresetFromJSON: (workspacePresetId: string) => WorkspacePresetFromBE;
|
|
10
12
|
export declare const filterWorkspacePresetList: (params?: FetchWorkspaceParams) => WorkspacePresetListItem[];
|
|
13
|
+
export declare const favouritePresetKey: (type: FavouritePresetType, preset: Pick<FavouritePreset, "id">) => string;
|
|
14
|
+
export declare const updateCachedFavourite: (client: QueryClient, queryKey: QueryKey, key: string, isFavourite: boolean) => void;
|
|
@@ -15,6 +15,9 @@ export interface WorkspaceSelectListProps extends BoxProps {
|
|
|
15
15
|
newPresets?: WorkspacePresetListItem[];
|
|
16
16
|
testIdPrefix?: string;
|
|
17
17
|
onSelectVersion?: (presetId: string, version: string) => void;
|
|
18
|
+
isFavourite?: (preset: WorkspacePresetListItem) => boolean;
|
|
19
|
+
onToggleFavourite?: (preset: WorkspacePresetListItem) => void;
|
|
20
|
+
favouritesDisabled?: boolean;
|
|
18
21
|
}
|
|
19
22
|
declare const WorkspaceSelectList: React.FC<WorkspaceSelectListProps>;
|
|
20
23
|
export default WorkspaceSelectList;
|
|
@@ -5,6 +5,9 @@ export declare const WORKSPACE_SELECT_LIST_ROW_HEIGHT = 40;
|
|
|
5
5
|
export declare const getPresetIcon: (preset: WorkspacePresetListItem, currentUsername?: string) => React.ReactElement | null;
|
|
6
6
|
interface WorkspaceSelectListRowProps {
|
|
7
7
|
workspacePreset: WorkspacePresetListItem;
|
|
8
|
+
isFavourite?: boolean;
|
|
9
|
+
onToggleFavourite?: (preset: WorkspacePresetListItem) => void;
|
|
10
|
+
favouritesDisabled?: boolean;
|
|
8
11
|
onClickWorkspacePreset: (id: string) => void;
|
|
9
12
|
onClickWorkspacePresetOption: (presetId: string, workspaceAction: WorkspacePresetAction, workspacePreset: WorkspacePresetListItem) => void;
|
|
10
13
|
onOpenPresetInfo?: (workspacePreset: WorkspacePresetListItem) => void;
|
|
@@ -12,6 +12,7 @@ export declare const getViewPresets: (state: AppStore) => ViewPresetEntity[], ge
|
|
|
12
12
|
error: ViewPresetError;
|
|
13
13
|
isViewPresetListDialogOpen: boolean;
|
|
14
14
|
filters: import("./types").ViewPresetsListFilter[];
|
|
15
|
+
favouritesOnly?: boolean | undefined;
|
|
15
16
|
searchQuery: string;
|
|
16
17
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
17
18
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -30,6 +31,7 @@ export declare const getViewPresetsIsFetching: ((state: AppStore, id: string) =>
|
|
|
30
31
|
error: ViewPresetError;
|
|
31
32
|
isViewPresetListDialogOpen: boolean;
|
|
32
33
|
filters: import("./types").ViewPresetsListFilter[];
|
|
34
|
+
favouritesOnly?: boolean | undefined;
|
|
33
35
|
searchQuery: string;
|
|
34
36
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
35
37
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -43,6 +45,7 @@ export declare const getViewPresetsIsFetching: ((state: AppStore, id: string) =>
|
|
|
43
45
|
error: ViewPresetError;
|
|
44
46
|
isViewPresetListDialogOpen: boolean;
|
|
45
47
|
filters: import("./types").ViewPresetsListFilter[];
|
|
48
|
+
favouritesOnly?: boolean | undefined;
|
|
46
49
|
searchQuery: string;
|
|
47
50
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
48
51
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -61,6 +64,7 @@ export declare const getViewPresetsIsFetching: ((state: AppStore, id: string) =>
|
|
|
61
64
|
error: ViewPresetError;
|
|
62
65
|
isViewPresetListDialogOpen: boolean;
|
|
63
66
|
filters: import("./types").ViewPresetsListFilter[];
|
|
67
|
+
favouritesOnly?: boolean | undefined;
|
|
64
68
|
searchQuery: string;
|
|
65
69
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
66
70
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -87,6 +91,7 @@ export declare const getViewPresetsError: ((state: AppStore, id: string) => View
|
|
|
87
91
|
error: ViewPresetError;
|
|
88
92
|
isViewPresetListDialogOpen: boolean;
|
|
89
93
|
filters: import("./types").ViewPresetsListFilter[];
|
|
94
|
+
favouritesOnly?: boolean | undefined;
|
|
90
95
|
searchQuery: string;
|
|
91
96
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
92
97
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -100,6 +105,7 @@ export declare const getViewPresetsError: ((state: AppStore, id: string) => View
|
|
|
100
105
|
error: ViewPresetError;
|
|
101
106
|
isViewPresetListDialogOpen: boolean;
|
|
102
107
|
filters: import("./types").ViewPresetsListFilter[];
|
|
108
|
+
favouritesOnly?: boolean | undefined;
|
|
103
109
|
searchQuery: string;
|
|
104
110
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
105
111
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -118,6 +124,7 @@ export declare const getViewPresetsError: ((state: AppStore, id: string) => View
|
|
|
118
124
|
error: ViewPresetError;
|
|
119
125
|
isViewPresetListDialogOpen: boolean;
|
|
120
126
|
filters: import("./types").ViewPresetsListFilter[];
|
|
127
|
+
favouritesOnly?: boolean | undefined;
|
|
121
128
|
searchQuery: string;
|
|
122
129
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
123
130
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -156,6 +163,7 @@ export declare const getViewPresetDetailError: ((state: AppStore, id: string) =>
|
|
|
156
163
|
error: ViewPresetError;
|
|
157
164
|
isViewPresetListDialogOpen: boolean;
|
|
158
165
|
filters: import("./types").ViewPresetsListFilter[];
|
|
166
|
+
favouritesOnly?: boolean | undefined;
|
|
159
167
|
searchQuery: string;
|
|
160
168
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
161
169
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -169,6 +177,7 @@ export declare const getViewPresetDetailError: ((state: AppStore, id: string) =>
|
|
|
169
177
|
error: ViewPresetError;
|
|
170
178
|
isViewPresetListDialogOpen: boolean;
|
|
171
179
|
filters: import("./types").ViewPresetsListFilter[];
|
|
180
|
+
favouritesOnly?: boolean | undefined;
|
|
172
181
|
searchQuery: string;
|
|
173
182
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
174
183
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -187,6 +196,7 @@ export declare const getViewPresetDetailError: ((state: AppStore, id: string) =>
|
|
|
187
196
|
error: ViewPresetError;
|
|
188
197
|
isViewPresetListDialogOpen: boolean;
|
|
189
198
|
filters: import("./types").ViewPresetsListFilter[];
|
|
199
|
+
favouritesOnly?: boolean | undefined;
|
|
190
200
|
searchQuery: string;
|
|
191
201
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
192
202
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -221,6 +231,7 @@ export declare const getViewPresetHasChanges: ((state: AppStore, id: string) =>
|
|
|
221
231
|
error: ViewPresetError;
|
|
222
232
|
isViewPresetListDialogOpen: boolean;
|
|
223
233
|
filters: import("./types").ViewPresetsListFilter[];
|
|
234
|
+
favouritesOnly?: boolean | undefined;
|
|
224
235
|
searchQuery: string;
|
|
225
236
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
226
237
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -234,6 +245,7 @@ export declare const getViewPresetHasChanges: ((state: AppStore, id: string) =>
|
|
|
234
245
|
error: ViewPresetError;
|
|
235
246
|
isViewPresetListDialogOpen: boolean;
|
|
236
247
|
filters: import("./types").ViewPresetsListFilter[];
|
|
248
|
+
favouritesOnly?: boolean | undefined;
|
|
237
249
|
searchQuery: string;
|
|
238
250
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
239
251
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -252,6 +264,7 @@ export declare const getViewPresetHasChanges: ((state: AppStore, id: string) =>
|
|
|
252
264
|
error: ViewPresetError;
|
|
253
265
|
isViewPresetListDialogOpen: boolean;
|
|
254
266
|
filters: import("./types").ViewPresetsListFilter[];
|
|
267
|
+
favouritesOnly?: boolean | undefined;
|
|
255
268
|
searchQuery: string;
|
|
256
269
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
257
270
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -278,6 +291,7 @@ export declare const getViewPresetActiveId: ((state: AppStore, id: string) => st
|
|
|
278
291
|
error: ViewPresetError;
|
|
279
292
|
isViewPresetListDialogOpen: boolean;
|
|
280
293
|
filters: import("./types").ViewPresetsListFilter[];
|
|
294
|
+
favouritesOnly?: boolean | undefined;
|
|
281
295
|
searchQuery: string;
|
|
282
296
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
283
297
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -291,6 +305,7 @@ export declare const getViewPresetActiveId: ((state: AppStore, id: string) => st
|
|
|
291
305
|
error: ViewPresetError;
|
|
292
306
|
isViewPresetListDialogOpen: boolean;
|
|
293
307
|
filters: import("./types").ViewPresetsListFilter[];
|
|
308
|
+
favouritesOnly?: boolean | undefined;
|
|
294
309
|
searchQuery: string;
|
|
295
310
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
296
311
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -309,6 +324,7 @@ export declare const getViewPresetActiveId: ((state: AppStore, id: string) => st
|
|
|
309
324
|
error: ViewPresetError;
|
|
310
325
|
isViewPresetListDialogOpen: boolean;
|
|
311
326
|
filters: import("./types").ViewPresetsListFilter[];
|
|
327
|
+
favouritesOnly?: boolean | undefined;
|
|
312
328
|
searchQuery: string;
|
|
313
329
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
314
330
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -377,6 +393,7 @@ export declare const getIsViewPresetListDialogOpen: ((state: AppStore, id: strin
|
|
|
377
393
|
error: ViewPresetError;
|
|
378
394
|
isViewPresetListDialogOpen: boolean;
|
|
379
395
|
filters: import("./types").ViewPresetsListFilter[];
|
|
396
|
+
favouritesOnly?: boolean | undefined;
|
|
380
397
|
searchQuery: string;
|
|
381
398
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
382
399
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -390,6 +407,7 @@ export declare const getIsViewPresetListDialogOpen: ((state: AppStore, id: strin
|
|
|
390
407
|
error: ViewPresetError;
|
|
391
408
|
isViewPresetListDialogOpen: boolean;
|
|
392
409
|
filters: import("./types").ViewPresetsListFilter[];
|
|
410
|
+
favouritesOnly?: boolean | undefined;
|
|
393
411
|
searchQuery: string;
|
|
394
412
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
395
413
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -408,6 +426,7 @@ export declare const getIsViewPresetListDialogOpen: ((state: AppStore, id: strin
|
|
|
408
426
|
error: ViewPresetError;
|
|
409
427
|
isViewPresetListDialogOpen: boolean;
|
|
410
428
|
filters: import("./types").ViewPresetsListFilter[];
|
|
429
|
+
favouritesOnly?: boolean | undefined;
|
|
411
430
|
searchQuery: string;
|
|
412
431
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
413
432
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -439,6 +458,7 @@ export declare const getViewPresetListFiltersForView: ((state: AppStore, _panelI
|
|
|
439
458
|
error: ViewPresetError;
|
|
440
459
|
isViewPresetListDialogOpen: boolean;
|
|
441
460
|
filters: import("./types").ViewPresetsListFilter[];
|
|
461
|
+
favouritesOnly?: boolean | undefined;
|
|
442
462
|
searchQuery: string;
|
|
443
463
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
444
464
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -457,6 +477,7 @@ export declare const getViewPresetListFiltersForView: ((state: AppStore, _panelI
|
|
|
457
477
|
error: ViewPresetError;
|
|
458
478
|
isViewPresetListDialogOpen: boolean;
|
|
459
479
|
filters: import("./types").ViewPresetsListFilter[];
|
|
480
|
+
favouritesOnly?: boolean | undefined;
|
|
460
481
|
searchQuery: string;
|
|
461
482
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
462
483
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -485,6 +506,7 @@ export declare const getViewPresetListFiltersForView: ((state: AppStore, _panelI
|
|
|
485
506
|
error: ViewPresetError;
|
|
486
507
|
isViewPresetListDialogOpen: boolean;
|
|
487
508
|
filters: import("./types").ViewPresetsListFilter[];
|
|
509
|
+
favouritesOnly?: boolean | undefined;
|
|
488
510
|
searchQuery: string;
|
|
489
511
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
490
512
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -511,6 +533,7 @@ export declare const getViewPresetListSearchQueryForView: ((state: AppStore, id:
|
|
|
511
533
|
error: ViewPresetError;
|
|
512
534
|
isViewPresetListDialogOpen: boolean;
|
|
513
535
|
filters: import("./types").ViewPresetsListFilter[];
|
|
536
|
+
favouritesOnly?: boolean | undefined;
|
|
514
537
|
searchQuery: string;
|
|
515
538
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
516
539
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -524,6 +547,7 @@ export declare const getViewPresetListSearchQueryForView: ((state: AppStore, id:
|
|
|
524
547
|
error: ViewPresetError;
|
|
525
548
|
isViewPresetListDialogOpen: boolean;
|
|
526
549
|
filters: import("./types").ViewPresetsListFilter[];
|
|
550
|
+
favouritesOnly?: boolean | undefined;
|
|
527
551
|
searchQuery: string;
|
|
528
552
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
529
553
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -542,6 +566,7 @@ export declare const getViewPresetListSearchQueryForView: ((state: AppStore, id:
|
|
|
542
566
|
error: ViewPresetError;
|
|
543
567
|
isViewPresetListDialogOpen: boolean;
|
|
544
568
|
filters: import("./types").ViewPresetsListFilter[];
|
|
569
|
+
favouritesOnly?: boolean | undefined;
|
|
545
570
|
searchQuery: string;
|
|
546
571
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
547
572
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -568,6 +593,7 @@ export declare const getViewPresetListFilterResultsForView: ((state: AppStore, i
|
|
|
568
593
|
error: ViewPresetError;
|
|
569
594
|
isViewPresetListDialogOpen: boolean;
|
|
570
595
|
filters: import("./types").ViewPresetsListFilter[];
|
|
596
|
+
favouritesOnly?: boolean | undefined;
|
|
571
597
|
searchQuery: string;
|
|
572
598
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
573
599
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -581,6 +607,7 @@ export declare const getViewPresetListFilterResultsForView: ((state: AppStore, i
|
|
|
581
607
|
error: ViewPresetError;
|
|
582
608
|
isViewPresetListDialogOpen: boolean;
|
|
583
609
|
filters: import("./types").ViewPresetsListFilter[];
|
|
610
|
+
favouritesOnly?: boolean | undefined;
|
|
584
611
|
searchQuery: string;
|
|
585
612
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
586
613
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -599,6 +626,7 @@ export declare const getViewPresetListFilterResultsForView: ((state: AppStore, i
|
|
|
599
626
|
error: ViewPresetError;
|
|
600
627
|
isViewPresetListDialogOpen: boolean;
|
|
601
628
|
filters: import("./types").ViewPresetsListFilter[];
|
|
629
|
+
favouritesOnly?: boolean | undefined;
|
|
602
630
|
searchQuery: string;
|
|
603
631
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
604
632
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -625,6 +653,7 @@ export declare const getViewPresetLabelFilters: ((state: AppStore, id: string) =
|
|
|
625
653
|
error: ViewPresetError;
|
|
626
654
|
isViewPresetListDialogOpen: boolean;
|
|
627
655
|
filters: import("./types").ViewPresetsListFilter[];
|
|
656
|
+
favouritesOnly?: boolean | undefined;
|
|
628
657
|
searchQuery: string;
|
|
629
658
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
630
659
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -638,6 +667,7 @@ export declare const getViewPresetLabelFilters: ((state: AppStore, id: string) =
|
|
|
638
667
|
error: ViewPresetError;
|
|
639
668
|
isViewPresetListDialogOpen: boolean;
|
|
640
669
|
filters: import("./types").ViewPresetsListFilter[];
|
|
670
|
+
favouritesOnly?: boolean | undefined;
|
|
641
671
|
searchQuery: string;
|
|
642
672
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
643
673
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -656,6 +686,7 @@ export declare const getViewPresetLabelFilters: ((state: AppStore, id: string) =
|
|
|
656
686
|
error: ViewPresetError;
|
|
657
687
|
isViewPresetListDialogOpen: boolean;
|
|
658
688
|
filters: import("./types").ViewPresetsListFilter[];
|
|
689
|
+
favouritesOnly?: boolean | undefined;
|
|
659
690
|
searchQuery: string;
|
|
660
691
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
661
692
|
labelFilters?: WorkspacePresetLabels | undefined;
|
|
@@ -669,3 +700,63 @@ export declare const getViewPresetLabelFilters: ((state: AppStore, id: string) =
|
|
|
669
700
|
memoize: typeof import("reselect").weakMapMemoize;
|
|
670
701
|
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
671
702
|
};
|
|
703
|
+
export declare const getFavouritesOnly: ((state: AppStore, id: string) => boolean) & {
|
|
704
|
+
clearCache: () => void;
|
|
705
|
+
resultsCount: () => number;
|
|
706
|
+
resetResultsCount: () => void;
|
|
707
|
+
} & {
|
|
708
|
+
resultFunc: (resultFuncArgs_0: {
|
|
709
|
+
panelId: string;
|
|
710
|
+
activeViewPresetId: string;
|
|
711
|
+
hasChanges: boolean;
|
|
712
|
+
isFetching: boolean;
|
|
713
|
+
error: ViewPresetError;
|
|
714
|
+
isViewPresetListDialogOpen: boolean;
|
|
715
|
+
filters: import("./types").ViewPresetsListFilter[];
|
|
716
|
+
favouritesOnly?: boolean | undefined;
|
|
717
|
+
searchQuery: string;
|
|
718
|
+
filterResults: EntityState<ViewPresetListItem, string>;
|
|
719
|
+
labelFilters?: WorkspacePresetLabels | undefined;
|
|
720
|
+
username?: string | undefined;
|
|
721
|
+
}) => boolean;
|
|
722
|
+
memoizedResultFunc: ((resultFuncArgs_0: {
|
|
723
|
+
panelId: string;
|
|
724
|
+
activeViewPresetId: string;
|
|
725
|
+
hasChanges: boolean;
|
|
726
|
+
isFetching: boolean;
|
|
727
|
+
error: ViewPresetError;
|
|
728
|
+
isViewPresetListDialogOpen: boolean;
|
|
729
|
+
filters: import("./types").ViewPresetsListFilter[];
|
|
730
|
+
favouritesOnly?: boolean | undefined;
|
|
731
|
+
searchQuery: string;
|
|
732
|
+
filterResults: EntityState<ViewPresetListItem, string>;
|
|
733
|
+
labelFilters?: WorkspacePresetLabels | undefined;
|
|
734
|
+
username?: string | undefined;
|
|
735
|
+
}) => boolean) & {
|
|
736
|
+
clearCache: () => void;
|
|
737
|
+
resultsCount: () => number;
|
|
738
|
+
resetResultsCount: () => void;
|
|
739
|
+
};
|
|
740
|
+
lastResult: () => boolean;
|
|
741
|
+
dependencies: [(state: AppStore, id: string) => {
|
|
742
|
+
panelId: string;
|
|
743
|
+
activeViewPresetId: string;
|
|
744
|
+
hasChanges: boolean;
|
|
745
|
+
isFetching: boolean;
|
|
746
|
+
error: ViewPresetError;
|
|
747
|
+
isViewPresetListDialogOpen: boolean;
|
|
748
|
+
filters: import("./types").ViewPresetsListFilter[];
|
|
749
|
+
favouritesOnly?: boolean | undefined;
|
|
750
|
+
searchQuery: string;
|
|
751
|
+
filterResults: EntityState<ViewPresetListItem, string>;
|
|
752
|
+
labelFilters?: WorkspacePresetLabels | undefined;
|
|
753
|
+
username?: string | undefined;
|
|
754
|
+
}];
|
|
755
|
+
recomputations: () => number;
|
|
756
|
+
resetRecomputations: () => void;
|
|
757
|
+
dependencyRecomputations: () => number;
|
|
758
|
+
resetDependencyRecomputations: () => void;
|
|
759
|
+
} & {
|
|
760
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
761
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
762
|
+
};
|
|
@@ -60,6 +60,7 @@ export interface ViewPresetEntity {
|
|
|
60
60
|
error: ViewPresetError;
|
|
61
61
|
isViewPresetListDialogOpen: boolean;
|
|
62
62
|
filters: ViewPresetsListFilter[];
|
|
63
|
+
favouritesOnly?: boolean;
|
|
63
64
|
searchQuery: string;
|
|
64
65
|
filterResults: EntityState<ViewPresetListItem, string>;
|
|
65
66
|
labelFilters?: WorkspacePresetLabels;
|
|
@@ -304,18 +304,18 @@ export declare const getViewType: ((state: AppStore) => "" | import("./types").V
|
|
|
304
304
|
* @param {object} store store: object - Store object
|
|
305
305
|
* @returns {string} returnType: string
|
|
306
306
|
*/
|
|
307
|
-
export declare const getSelectedWorkspaceScope: ((state: AppStore) => import("
|
|
307
|
+
export declare const getSelectedWorkspaceScope: ((state: AppStore) => import("libs/shared/dist").SystemScope) & {
|
|
308
308
|
clearCache: () => void;
|
|
309
309
|
resultsCount: () => number;
|
|
310
310
|
resetResultsCount: () => void;
|
|
311
311
|
} & {
|
|
312
|
-
resultFunc: (resultFuncArgs_0: WorkspaceState) => import("
|
|
313
|
-
memoizedResultFunc: ((resultFuncArgs_0: WorkspaceState) => import("
|
|
312
|
+
resultFunc: (resultFuncArgs_0: WorkspaceState) => import("libs/shared/dist").SystemScope;
|
|
313
|
+
memoizedResultFunc: ((resultFuncArgs_0: WorkspaceState) => import("libs/shared/dist").SystemScope) & {
|
|
314
314
|
clearCache: () => void;
|
|
315
315
|
resultsCount: () => number;
|
|
316
316
|
resetResultsCount: () => void;
|
|
317
317
|
};
|
|
318
|
-
lastResult: () => import("
|
|
318
|
+
lastResult: () => import("libs/shared/dist").SystemScope;
|
|
319
319
|
dependencies: [(store: AppStore) => WorkspaceState];
|
|
320
320
|
recomputations: () => number;
|
|
321
321
|
resetRecomputations: () => void;
|
|
@@ -192,4 +192,26 @@ export declare const getWorkspaceLabelFilters: ((state: AppStore) => WorkspacePr
|
|
|
192
192
|
memoize: typeof import("reselect").weakMapMemoize;
|
|
193
193
|
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
194
194
|
};
|
|
195
|
+
export declare const getFavouritesOnly: ((state: AppStore) => boolean) & {
|
|
196
|
+
clearCache: () => void;
|
|
197
|
+
resultsCount: () => number;
|
|
198
|
+
resetResultsCount: () => void;
|
|
199
|
+
} & {
|
|
200
|
+
resultFunc: (resultFuncArgs_0: WorkspaceListState) => boolean;
|
|
201
|
+
memoizedResultFunc: ((resultFuncArgs_0: WorkspaceListState) => boolean) & {
|
|
202
|
+
clearCache: () => void;
|
|
203
|
+
resultsCount: () => number;
|
|
204
|
+
resetResultsCount: () => void;
|
|
205
|
+
};
|
|
206
|
+
lastResult: () => boolean;
|
|
207
|
+
dependencies: [(store: AppStore) => WorkspaceListState];
|
|
208
|
+
recomputations: () => number;
|
|
209
|
+
resetRecomputations: () => void;
|
|
210
|
+
dependencyRecomputations: () => number;
|
|
211
|
+
resetDependencyRecomputations: () => void;
|
|
212
|
+
} & {
|
|
213
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
214
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
215
|
+
};
|
|
216
|
+
export declare const filterAndSortFavouritePresets: <T>(presets: T[], isFavourite: (preset: T) => boolean, favouritesOnly: boolean) => T[];
|
|
195
217
|
export {};
|
|
@@ -13,7 +13,8 @@ export declare enum PresetFilterType {
|
|
|
13
13
|
personal = "personal",
|
|
14
14
|
shared = "shared",
|
|
15
15
|
system = "system",
|
|
16
|
-
plugin = "plugin"
|
|
16
|
+
plugin = "plugin",
|
|
17
|
+
favourites = "favourites"
|
|
17
18
|
}
|
|
18
19
|
export type WorkspaceListError = TranslatableWorkspaceListError | VerbatimWorkspaceListError | undefined;
|
|
19
20
|
export interface TranslatableWorkspaceListError {
|
|
@@ -68,6 +69,7 @@ export interface WorkspaceListState {
|
|
|
68
69
|
workspaceActionDialog?: WorkspaceActionDialogType;
|
|
69
70
|
searchQuery?: string;
|
|
70
71
|
workspaceListFilters?: WorkspaceListFilter[];
|
|
72
|
+
favouritesOnly?: boolean;
|
|
71
73
|
workspaceLabelFilters?: WorkspacePresetLabels;
|
|
72
74
|
}
|
|
73
75
|
export interface ToggleListDialogPayload {
|
package/package.json
CHANGED
|
@@ -1,68 +1,68 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
2
|
+
"name": "@opengeoweb/workspace",
|
|
3
|
+
"version": "20.0.0",
|
|
4
|
+
"description": "GeoWeb Workspace library for the opengeoweb project",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git@gitlab.com:opengeoweb/opengeoweb.git"
|
|
9
|
+
},
|
|
10
|
+
"main": "./dist/index.esm.js",
|
|
11
|
+
"module": "./dist/index.esm.js",
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"exports": {
|
|
14
|
+
"./package.json": "./package.json",
|
|
15
|
+
".": {
|
|
16
|
+
"@opengeoweb/source": "./src/index.ts",
|
|
17
|
+
"types": "./dist/index.d.ts",
|
|
18
|
+
"import": "./dist/index.esm.js",
|
|
19
|
+
"default": "./dist/index.esm.js"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"react-redux": "^9.2.0",
|
|
24
|
+
"@opengeoweb/shared": "20.0.0",
|
|
25
|
+
"@opengeoweb/store": "20.0.0",
|
|
26
|
+
"@opengeoweb/api": "20.0.0",
|
|
27
|
+
"react-hook-form": "^7.50.1",
|
|
28
|
+
"@opengeoweb/theme": "20.0.0",
|
|
29
|
+
"@reduxjs/toolkit": "^2.6.1",
|
|
30
|
+
"@opengeoweb/snackbar": "20.0.0",
|
|
31
|
+
"react-window": "^2.2.6",
|
|
32
|
+
"lodash": "^4.18.1",
|
|
33
|
+
"axios": "^1.18.0",
|
|
34
|
+
"react-mosaic-component": "npm:react-mosaic-component-opengeoweb@^6.1.1-opengeoweb.1",
|
|
35
|
+
"@opengeoweb/form-fields": "20.0.0",
|
|
36
|
+
"@opengeoweb/time-series": "20.0.0",
|
|
37
|
+
"@opengeoweb/authentication": "20.0.0",
|
|
38
|
+
"@opengeoweb/plugins": "20.0.0",
|
|
39
|
+
"@opengeoweb/core": "20.0.0",
|
|
40
|
+
"@opengeoweb/taf": "20.0.0",
|
|
41
|
+
"@opengeoweb/sigmet-airmet": "20.0.0",
|
|
42
|
+
"@opengeoweb/warnings": "20.0.0",
|
|
43
|
+
"@opengeoweb/space-weather": "20.0.0",
|
|
44
|
+
"i18next": "^25.0.1",
|
|
45
|
+
"react-i18next": "^15.1.1",
|
|
46
|
+
"@mui/material": "^9.0.1",
|
|
47
|
+
"@opengeoweb/webmap-react": "20.0.0",
|
|
48
|
+
"@tanstack/react-query": "^5.85.5",
|
|
49
|
+
"@opengeoweb/soundings": "20.0.0",
|
|
50
|
+
"@opengeoweb/knmi-components": "20.0.0",
|
|
51
|
+
"@mui/system": "^9.0.1"
|
|
52
|
+
},
|
|
53
|
+
"peerDependencies": {
|
|
54
|
+
"react": "19",
|
|
55
|
+
"@emotion/react": "*",
|
|
56
|
+
"@emotion/styled": "*"
|
|
57
|
+
},
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"eslint-plugin-storybook": "10.3.3",
|
|
60
|
+
"msw": "^2.7.3"
|
|
61
|
+
},
|
|
62
|
+
"files": [
|
|
63
|
+
"dist",
|
|
64
|
+
"!dist/package.json",
|
|
65
|
+
"README.md",
|
|
66
|
+
"package.json"
|
|
67
|
+
]
|
|
68
|
+
}
|