@opengeoweb/workspace 20.0.1 → 20.1.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 +453 -134
- package/dist/src/lib/api/viewpreset-api/hooks.d.ts +2 -1
- package/dist/src/lib/api/workspace-api/api.d.ts +4 -1
- package/dist/src/lib/api/workspace-api/fakeApi/fakeApi.d.ts +2 -0
- package/dist/src/lib/api/workspace-api/queryOptions.d.ts +9 -1
- package/dist/src/lib/store/viewPresets/reducer.d.ts +4 -1
- package/dist/src/lib/store/viewPresets/types.d.ts +4 -1
- package/dist/src/lib/store/viewPresets/utils.d.ts +8 -0
- package/dist/src/lib/store/workspace/types.d.ts +26 -0
- package/dist/src/lib/store/workspaceList/types.d.ts +1 -0
- package/dist/src/lib/store/workspaceList/utils.d.ts +2 -1
- package/package.json +19 -19
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { UseQueryResult } from '@tanstack/react-query';
|
|
2
2
|
import type { UseMutationReturnType } from '@opengeoweb/api';
|
|
3
3
|
import type { ViewPreset } from '../../store/viewPresets/types';
|
|
4
|
-
import type { ViewPresetListItem } from '../../store/workspace/types';
|
|
4
|
+
import type { ViewPresetListItem, ViewTemplatePreset } from '../../store/workspace/types';
|
|
5
|
+
export declare const useViewTemplatePresets: () => UseQueryResult<ViewTemplatePreset[]>;
|
|
5
6
|
export declare const useDeleteViewPreset: () => UseMutationReturnType<Headers | null, {
|
|
6
7
|
id: string;
|
|
7
8
|
}>;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { Credentials } from '@opengeoweb/api';
|
|
2
|
-
import type { WorkspaceLabelsConfigResponse, WorkspacePresetForBE, WorkspacePresetFromBE, WorkspacePresetListItem } from '../../store/workspace/types';
|
|
2
|
+
import type { TemplatePresetsResponse, WorkspaceLabelsConfigResponse, WorkspacePresetForBE, WorkspacePresetFromBE, WorkspacePresetListItem } from '../../store/workspace/types';
|
|
3
3
|
import type { FetchWorkspaceParams } from '../../store/workspaceList/types';
|
|
4
|
+
export declare const TEMPLATE_PRESETS_FILENAME = "templatePresets.json";
|
|
5
|
+
export declare const getTemplatePresetsFilename: () => string;
|
|
6
|
+
export declare const getTemplatePresets: (filename?: string) => Promise<TemplatePresetsResponse>;
|
|
4
7
|
export declare const getWorkspaceLabelsConfig: (auth: Credentials) => Promise<WorkspaceLabelsConfigResponse>;
|
|
5
8
|
export declare const getWorkspacePreset: (workspaceId: string, auth?: Credentials) => Promise<WorkspacePresetFromBE>;
|
|
6
9
|
export declare const getWorkspacePresets: (auth?: Credentials, params?: FetchWorkspaceParams) => Promise<WorkspacePresetListItem[]>;
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import type { Credentials } from '@opengeoweb/authentication';
|
|
2
|
-
import type { WorkspacePresetForBE, WorkspacePresetFromBE, WorkspacePresetListItem } from '../../store/workspace/types';
|
|
2
|
+
import type { TemplatePresetsResponse, WorkspacePresetForBE, WorkspacePresetFromBE, WorkspacePresetListItem } from '../../store/workspace/types';
|
|
3
3
|
export declare const workspaceQueryOptions: {
|
|
4
4
|
readonly keys: {
|
|
5
5
|
readonly all: () => string[];
|
|
6
6
|
readonly workspaces: () => string[];
|
|
7
7
|
readonly lists: () => string[];
|
|
8
8
|
};
|
|
9
|
+
readonly getTemplatePresets: (filename?: string) => import("@tanstack/query-core").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<TemplatePresetsResponse, Error, TemplatePresetsResponse, string[]>, "queryFn"> & {
|
|
10
|
+
queryFn?: import("@tanstack/query-core").QueryFunction<TemplatePresetsResponse, string[], never> | undefined;
|
|
11
|
+
} & {
|
|
12
|
+
queryKey: string[] & {
|
|
13
|
+
[dataTagSymbol]: TemplatePresetsResponse;
|
|
14
|
+
[dataTagErrorSymbol]: Error;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
9
17
|
readonly getWorkspacePreset: (id: string, credentials?: Credentials) => import("@tanstack/query-core").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<WorkspacePresetFromBE, Error, WorkspacePresetFromBE, string[]>, "queryFn"> & {
|
|
10
18
|
queryFn?: import("@tanstack/query-core").QueryFunction<WorkspacePresetFromBE, string[], never> | undefined;
|
|
11
19
|
} & {
|
|
@@ -2,8 +2,10 @@ import type { Draft, PayloadAction } from '@reduxjs/toolkit';
|
|
|
2
2
|
import { SoundingsTypes } from '@opengeoweb/soundings';
|
|
3
3
|
import { layerTypes, mapEnums } from '@opengeoweb/store';
|
|
4
4
|
import { TimeSeriesTypes } from '@opengeoweb/time-series';
|
|
5
|
-
import type { ClearViewPresetLabelFiltersPayload, ErrorViewPresetPayload, FetchedViewPresetPayload, FetchViewPresetsPayload, OnSuccesViewPresetActionPayload, OpenViewPresetDialogPayload, RegisterViewPresetPayload, SavedViewPresetPayload, SaveViewPresetPayload, SearchWorkspaceFilter, SelectPluginPayload, SelectViewPresetPayload, SetActiveViewPresetIdPayload, SetFilterChipsPayload, SetSelectAllFilterChip, SetViewPresetHasChangePayload, SetViewPresetInlineOverridePayload, SetViewPresetLabelFiltersPayload, ToggleSelectFilterChip, ToggleViewPresetListDialogPayload, UnregisterViewPresetPayload, ViewPresetEntity, ViewPresetsListFilter, ViewPresetState } from './types';
|
|
5
|
+
import type { ClearViewPresetLabelFiltersPayload, ErrorViewPresetPayload, FetchedViewPresetPayload, FetchViewPresetsPayload, OnSuccesViewPresetActionPayload, OpenViewPresetDialogPayload, RegisterViewPresetPayload, SavedViewPresetPayload, SaveViewPresetPayload, SearchWorkspaceFilter, SelectPluginPayload, SelectViewPresetPayload, SelectViewTemplatePayload, SetActiveViewPresetIdPayload, SetFilterChipsPayload, SetSelectAllFilterChip, SetViewPresetHasChangePayload, SetViewPresetInlineOverridePayload, SetViewPresetLabelFiltersPayload, ToggleSelectFilterChip, ToggleViewPresetListDialogPayload, UnregisterViewPresetPayload, ViewPresetEntity, ViewPresetsListFilter, ViewPresetState } from './types';
|
|
6
|
+
import { PresetFilterType } from '../workspaceList/types';
|
|
6
7
|
export declare const defaultViewPresetsFilters: ViewPresetsListFilter[];
|
|
8
|
+
export declare const ADMIN_VIEW_PRESET_FILTER_IDS: (PresetFilterType | 'all')[];
|
|
7
9
|
export declare const pluginViewPresetsFilter: ViewPresetsListFilter;
|
|
8
10
|
export declare const viewPresetsAdapter: import("@reduxjs/toolkit").EntityAdapter<ViewPresetEntity, string>;
|
|
9
11
|
export declare const initialState: ViewPresetState;
|
|
@@ -23,6 +25,7 @@ export declare const viewPresetsReducer: import("redux").Reducer<ViewPresetState
|
|
|
23
25
|
setViewPresetInline: (draft: Draft<ViewPresetState>, action: PayloadAction<SetViewPresetInlineOverridePayload>) => void;
|
|
24
26
|
setActiveViewPresetId: (draft: Draft<ViewPresetState>, action: PayloadAction<SetActiveViewPresetIdPayload>) => void;
|
|
25
27
|
selectViewPreset: (draft: Draft<ViewPresetState>, action: PayloadAction<SelectViewPresetPayload>) => void;
|
|
28
|
+
selectViewTemplate: (draft: Draft<ViewPresetState>, action: PayloadAction<SelectViewTemplatePayload>) => void;
|
|
26
29
|
selectViewPlugin: (draft: Draft<ViewPresetState>, action: PayloadAction<SelectPluginPayload>) => void;
|
|
27
30
|
onSuccessViewPresetAction: (_draft: Draft<ViewPresetState>, _action: PayloadAction<OnSuccesViewPresetActionPayload>) => void;
|
|
28
31
|
registerViewPreset: (draft: Draft<ViewPresetState>, action: PayloadAction<RegisterViewPresetPayload>) => void;
|
|
@@ -5,7 +5,7 @@ import type { SystemScope } from '@opengeoweb/shared';
|
|
|
5
5
|
import type { SoundingsComponentType } from '@opengeoweb/soundings';
|
|
6
6
|
import type { SupportedComponentTypes as SupportedTimeSeriesComponentTypes } from '@opengeoweb/time-series';
|
|
7
7
|
import type { WarningListComponentType } from '@opengeoweb/warnings';
|
|
8
|
-
import type { ViewPresetListItem, WorkspaceLabelsConfigResponse, WorkspacePresetLabels, WorkspaceViewPresetComponentsLookupType } from '../workspace/types';
|
|
8
|
+
import type { ViewTemplatePreset, ViewPresetListItem, WorkspaceLabelsConfigResponse, WorkspacePresetLabels, WorkspaceViewPresetComponentsLookupType } from '../workspace/types';
|
|
9
9
|
import type { PresetFilterType } from '../workspaceList/types';
|
|
10
10
|
export declare const AVIATION_COMPONENT_TYPES: readonly ["AirmetModule", "SigmetModule"];
|
|
11
11
|
export type AviationComponentType = (typeof AVIATION_COMPONENT_TYPES)[number];
|
|
@@ -151,6 +151,9 @@ export interface SelectViewPresetPayload extends ViewPresetAction {
|
|
|
151
151
|
export interface SelectPluginPayload extends ViewPresetAction {
|
|
152
152
|
pluginMetaData?: PluginMeta;
|
|
153
153
|
}
|
|
154
|
+
export interface SelectViewTemplatePayload extends ViewPresetAction {
|
|
155
|
+
template: ViewTemplatePreset;
|
|
156
|
+
}
|
|
154
157
|
export interface RegisterViewPresetPayload extends ViewPresetAction {
|
|
155
158
|
viewPresetId: string;
|
|
156
159
|
filters?: ViewPresetsListFilter[];
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
+
import type { TFunction } from 'i18next';
|
|
1
2
|
import { snackbarTypes } from '@opengeoweb/snackbar';
|
|
2
3
|
import type { ViewPreset, WorkspaceSupportedComponentTypes } from './types';
|
|
3
4
|
import { PresetAction } from './types';
|
|
5
|
+
import type { ViewTemplatePreset, ViewPresetListItem } from '../workspace/types';
|
|
4
6
|
export declare const getSnackbarMessage: (action: PresetAction, title: string, is_shared?: boolean) => snackbarTypes.TranslatableMessage;
|
|
5
7
|
export declare const emptyViewPreset: (componentType?: WorkspaceSupportedComponentTypes | undefined) => ViewPreset;
|
|
8
|
+
export declare const findViewTemplatePreset: (templates: ViewTemplatePreset[] | undefined, presetId?: string) => ViewTemplatePreset | undefined;
|
|
9
|
+
export declare const findViewTemplatePresetForComponentType: (templates: ViewTemplatePreset[] | undefined, componentType?: WorkspaceSupportedComponentTypes) => ViewTemplatePreset | undefined;
|
|
10
|
+
export declare const toTranslatedViewTemplatePreset: (template: ViewTemplatePreset, t?: TFunction) => ViewTemplatePreset;
|
|
11
|
+
export declare const toViewPresetFromTemplate: (template: ViewTemplatePreset, t?: TFunction) => ViewPreset;
|
|
12
|
+
export declare const toViewTemplateListItem: (template: ViewTemplatePreset, t?: TFunction) => ViewPresetListItem;
|
|
13
|
+
export declare const toViewTemplateListItems: (templates: ViewTemplatePreset[] | undefined, t?: TFunction) => ViewPresetListItem[];
|
|
@@ -69,6 +69,28 @@ export interface WorkspacePresetLabels {
|
|
|
69
69
|
dataSource?: string[];
|
|
70
70
|
viewType?: string[];
|
|
71
71
|
}
|
|
72
|
+
export interface TemplatePresetView extends Omit<WorkspaceViewType, 'title'> {
|
|
73
|
+
title?: string;
|
|
74
|
+
titleKey?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface TemplatePresetViews {
|
|
77
|
+
allIds: string[];
|
|
78
|
+
byId: Record<string, TemplatePresetView>;
|
|
79
|
+
}
|
|
80
|
+
export interface WorkspaceTemplatePreset extends Omit<WorkspacePreset, 'views'> {
|
|
81
|
+
titleKey?: string;
|
|
82
|
+
views: TemplatePresetViews;
|
|
83
|
+
}
|
|
84
|
+
export interface ViewTemplatePreset extends Pick<WorkspaceViewType, 'componentType' | 'initialProps' | 'abstract' | 'description'> {
|
|
85
|
+
id: string;
|
|
86
|
+
title: string;
|
|
87
|
+
titleKey?: string;
|
|
88
|
+
labels?: WorkspacePresetLabels;
|
|
89
|
+
}
|
|
90
|
+
export interface TemplatePresetsResponse {
|
|
91
|
+
workspacePresets: WorkspaceTemplatePreset[];
|
|
92
|
+
viewPresets: ViewTemplatePreset[];
|
|
93
|
+
}
|
|
72
94
|
export interface WorkspacePresetForBE {
|
|
73
95
|
id?: string;
|
|
74
96
|
title: string;
|
|
@@ -113,6 +135,8 @@ export interface WorkspacePresetListItem {
|
|
|
113
135
|
updated?: string;
|
|
114
136
|
updatedBy?: string;
|
|
115
137
|
origin?: PresetListItemOrigin;
|
|
138
|
+
isWorkspaceTemplate?: boolean;
|
|
139
|
+
isViewTemplate?: boolean;
|
|
116
140
|
}
|
|
117
141
|
export declare enum WorkspacePresetAction {
|
|
118
142
|
DELETE = "DELETE",
|
|
@@ -181,6 +205,8 @@ export interface ViewPresetListItem {
|
|
|
181
205
|
labels?: WorkspacePresetLabels;
|
|
182
206
|
updated?: string;
|
|
183
207
|
updatedBy?: string;
|
|
208
|
+
isWorkspaceTemplate?: boolean;
|
|
209
|
+
isViewTemplate?: boolean;
|
|
184
210
|
}
|
|
185
211
|
export interface WorkspaceFetchWorkspacePayload {
|
|
186
212
|
workspaceId: string;
|
|
@@ -14,6 +14,7 @@ export declare enum PresetFilterType {
|
|
|
14
14
|
shared = "shared",
|
|
15
15
|
system = "system",
|
|
16
16
|
plugin = "plugin",
|
|
17
|
+
templates = "templates",
|
|
17
18
|
favourites = "favourites"
|
|
18
19
|
}
|
|
19
20
|
export type WorkspaceListError = TranslatableWorkspaceListError | VerbatimWorkspaceListError | undefined;
|
|
@@ -2,7 +2,7 @@ import type { TFunction } from 'i18next';
|
|
|
2
2
|
import { snackbarTypes } from '@opengeoweb/snackbar';
|
|
3
3
|
import type { MapPreset } from '@opengeoweb/store';
|
|
4
4
|
import { PresetFilterType } from './types';
|
|
5
|
-
import type { WorkspacePreset, WorkspacePresetListItem, WorkspaceState, WorkspaceViewsFromBE } from '../workspace/types';
|
|
5
|
+
import type { WorkspacePreset, WorkspacePresetListItem, WorkspaceState, WorkspaceTemplatePreset, WorkspaceViewsFromBE } from '../workspace/types';
|
|
6
6
|
import { WorkspacePresetAction } from '../workspace/types';
|
|
7
7
|
export declare const getSnackbarMessage: (action: WorkspacePresetAction, title: string, is_shared?: boolean) => snackbarTypes.TranslatableMessage;
|
|
8
8
|
export declare function getEmptyWorkspaceListItem(): Omit<WorkspacePresetListItem, 'title'>;
|
|
@@ -12,6 +12,7 @@ export declare function getEmptyMapWorkspace(): Omit<WorkspacePreset, 'title'>;
|
|
|
12
12
|
export declare function getEmptyMapWorkspace(t: TFunction): WorkspacePreset;
|
|
13
13
|
export declare const getEmptyWorkspacePreset: () => Omit<WorkspacePreset, "title">;
|
|
14
14
|
export declare const createCustomEmptyMapWorkspace: (emptyWorkspaceTitle: string, emptyMapWorkspaceTitle: string, customMapPreset?: MapPreset) => WorkspacePreset;
|
|
15
|
+
export declare const getTemplatePresetTitle: (preset: Pick<WorkspaceTemplatePreset, "title" | "titleKey">, t?: TFunction) => string;
|
|
15
16
|
export declare const LOCAL_SOUNDINGS_ID = "newSoundingsWorkspace";
|
|
16
17
|
export declare const getNewSoundingsWorkspaceListItem: (t?: TFunction) => WorkspacePresetListItem;
|
|
17
18
|
export declare function getNewSoundingsWorkspace(t?: TFunction): WorkspacePreset;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/workspace",
|
|
3
|
-
"version": "20.0
|
|
3
|
+
"version": "20.1.0",
|
|
4
4
|
"description": "GeoWeb Workspace library for the opengeoweb project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -21,33 +21,33 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"react-redux": "^9.2.0",
|
|
24
|
-
"@opengeoweb/shared": "20.0
|
|
25
|
-
"@opengeoweb/store": "20.0
|
|
26
|
-
"@opengeoweb/api": "20.0
|
|
24
|
+
"@opengeoweb/shared": "20.1.0",
|
|
25
|
+
"@opengeoweb/store": "20.1.0",
|
|
26
|
+
"@opengeoweb/api": "20.1.0",
|
|
27
27
|
"react-hook-form": "^7.50.1",
|
|
28
|
-
"@opengeoweb/theme": "20.0
|
|
28
|
+
"@opengeoweb/theme": "20.1.0",
|
|
29
29
|
"@reduxjs/toolkit": "^2.6.1",
|
|
30
|
-
"@opengeoweb/snackbar": "20.0
|
|
30
|
+
"@opengeoweb/snackbar": "20.1.0",
|
|
31
31
|
"react-window": "^2.2.6",
|
|
32
32
|
"lodash": "^4.18.1",
|
|
33
|
-
"axios": "^1.
|
|
33
|
+
"axios": "^1.20.0",
|
|
34
34
|
"react-mosaic-component": "npm:react-mosaic-component-opengeoweb@^6.1.1-opengeoweb.1",
|
|
35
|
-
"@opengeoweb/form-fields": "20.0
|
|
36
|
-
"@opengeoweb/time-series": "20.0
|
|
37
|
-
"@opengeoweb/authentication": "20.0
|
|
38
|
-
"@opengeoweb/plugins": "20.0
|
|
39
|
-
"@opengeoweb/core": "20.0
|
|
40
|
-
"@opengeoweb/taf": "20.0
|
|
41
|
-
"@opengeoweb/sigmet-airmet": "20.0
|
|
42
|
-
"@opengeoweb/warnings": "20.0
|
|
43
|
-
"@opengeoweb/space-weather": "20.0
|
|
35
|
+
"@opengeoweb/form-fields": "20.1.0",
|
|
36
|
+
"@opengeoweb/time-series": "20.1.0",
|
|
37
|
+
"@opengeoweb/authentication": "20.1.0",
|
|
38
|
+
"@opengeoweb/plugins": "20.1.0",
|
|
39
|
+
"@opengeoweb/core": "20.1.0",
|
|
40
|
+
"@opengeoweb/taf": "20.1.0",
|
|
41
|
+
"@opengeoweb/sigmet-airmet": "20.1.0",
|
|
42
|
+
"@opengeoweb/warnings": "20.1.0",
|
|
43
|
+
"@opengeoweb/space-weather": "20.1.0",
|
|
44
44
|
"i18next": "^25.0.1",
|
|
45
45
|
"react-i18next": "^15.1.1",
|
|
46
46
|
"@mui/material": "^9.0.1",
|
|
47
|
-
"@opengeoweb/webmap-react": "20.0
|
|
47
|
+
"@opengeoweb/webmap-react": "20.1.0",
|
|
48
48
|
"@tanstack/react-query": "^5.85.5",
|
|
49
|
-
"@opengeoweb/soundings": "20.0
|
|
50
|
-
"@opengeoweb/knmi-components": "20.0
|
|
49
|
+
"@opengeoweb/soundings": "20.1.0",
|
|
50
|
+
"@opengeoweb/knmi-components": "20.1.0",
|
|
51
51
|
"@mui/system": "^9.0.1"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|