@opengeoweb/workspace 9.37.0 → 10.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/workspace",
3
- "version": "9.37.0",
3
+ "version": "10.1.0",
4
4
  "description": "GeoWeb Workspace library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -33,7 +33,8 @@
33
33
  "i18next": "^23.11.5",
34
34
  "react-i18next": "^15.1.1",
35
35
  "@mui/material": "^6.1.1",
36
- "@opengeoweb/webmap-react": "*"
36
+ "@opengeoweb/webmap-react": "*",
37
+ "@tanstack/react-query": "^5.62.7"
37
38
  },
38
39
  "peerDependencies": {
39
40
  "react": "18",
package/src/index.d.ts CHANGED
@@ -1,9 +1,12 @@
1
1
  import workspaceTranslations from '../locales/workspace.json';
2
2
  import { workspaceListener } from './lib/store/workspace/listener';
3
3
  export { workspaceListener };
4
+ export { workspaceListListener } from './lib/store/workspaceList/listener';
5
+ export { viewPresetsListener } from './lib/store/viewPresets/listener';
4
6
  export { workspaceActions as actions, reducer as workspaceReducer, } from './lib/store/workspace/reducer';
5
- export { workspaceListActions } from './lib/store/workspaceList/reducer';
6
- export { viewPresetActions } from './lib/store/viewPresets';
7
+ export { workspaceListActions, reducer as workspaceListReducer, } from './lib/store/workspaceList/reducer';
8
+ export { viewPresetActions, reducer as viewPresetsReducer, } from './lib/store/viewPresets';
9
+ export { reducer as viewPresetsListReducer } from './lib/store/viewPresetsList';
7
10
  export * as selectors from './lib/store/workspace/selectors';
8
11
  export { default as workspaceModuleConfig } from './lib/store/config';
9
12
  export * from './lib/store/workspace/types';
@@ -1,10 +1,5 @@
1
1
  import React from 'react';
2
- import { InitialProps } from '@opengeoweb/core';
3
- import { PresetAction, WorkspaceSupportedComponentTypes } from '../../store/viewPresets/types';
4
- export interface ViewPresetFormValues {
5
- title?: string;
6
- initialProps?: InitialProps;
7
- }
2
+ import { PresetAction, ViewPresetFormValues, WorkspaceSupportedComponentTypes } from '../../store/viewPresets/types';
8
3
  export interface ViewPresetsFormProps {
9
4
  viewComponentType: WorkspaceSupportedComponentTypes;
10
5
  error?: string;
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
- import { ViewPresetFormValues } from './ViewPresetsForm';
3
- import { PresetAction, WorkspaceSupportedComponentTypes } from '../../store/viewPresets/types';
2
+ import { PresetAction, ViewPresetFormValues, WorkspaceSupportedComponentTypes } from '../../store/viewPresets/types';
4
3
  export interface ViewPresetsFormDialogProps {
5
4
  isOpen: boolean;
6
5
  title: string;
@@ -10,6 +9,7 @@ export interface ViewPresetsFormDialogProps {
10
9
  formValues: ViewPresetFormValues;
11
10
  onSuccess: (action: PresetAction, presetId: string, title: string) => void;
12
11
  onClose: () => void;
12
+ onReset: (viewPresetId: string) => void;
13
13
  }
14
14
  declare const ViewPresetsFormDialogWrapper: React.FC<ViewPresetsFormDialogProps>;
15
15
  export default ViewPresetsFormDialogWrapper;
@@ -1,3 +1,6 @@
1
1
  import React from 'react';
2
- declare const ViewPresetsFormDialogConnect: React.FC;
2
+ import { PresetScope } from '../../store/workspace/types';
3
+ declare const ViewPresetsFormDialogConnect: React.FC<{
4
+ scope?: PresetScope;
5
+ }>;
3
6
  export default ViewPresetsFormDialogConnect;
@@ -9,11 +9,12 @@ export interface WorkspaceOptionsProps {
9
9
  handleSaveAs?: () => void;
10
10
  handleEdit?: () => void;
11
11
  handleDelete?: () => void;
12
- handleSaveSystemPresetAs?: () => void;
13
- handleResetWorkspace?: () => void;
12
+ handleReset?: () => void;
14
13
  hasChanges?: boolean;
15
14
  isDisabled?: boolean;
16
15
  isAdmin?: boolean;
17
16
  }
17
+ export declare const workspacePresetOptionId = "workspace-options-toolbutton";
18
+ export declare const viewPresetOptionId = "viewpreset-options-toolbutton";
18
19
  export declare const WorkspaceOptionsNoMemo: React.FC<WorkspaceOptionsProps>;
19
20
  export declare const WorkspaceOptions: React.NamedExoticComponent<WorkspaceOptionsProps>;
@@ -1,4 +1,5 @@
1
+ import { AnyAction } from '@reduxjs/toolkit';
1
2
  import { MosaicNode } from 'react-mosaic-component';
2
3
  export declare const getUniqueId: (existingIds: string[], count?: number) => string;
3
4
  export declare const createBalancedMosaicNode: (currentNode: MosaicNode<string>) => MosaicNode<string>;
4
- export declare const closeTimeSeriesDialogsWhenChangingPreset: (componentTypes: string[] | undefined, dispatch: (action: unknown) => void) => void;
5
+ export declare const closeTimeSeriesDialogsWhenChangingPreset: (componentTypes: string[] | undefined, dispatch: (action: AnyAction) => void) => void;
@@ -1,10 +1,9 @@
1
1
  import { ListenerMiddleware, ReducersMapObject } from '@reduxjs/toolkit';
2
2
  import { WorkspaceModuleStore } from './types';
3
- export declare const workspaceReducersMap: ReducersMapObject<WorkspaceModuleStore>;
4
- export declare const workspaceMiddlewares: ListenerMiddleware[];
3
+ export declare const workspaceReducersMap: ReducersMapObject;
4
+ export declare const workspaceMiddlewares: ListenerMiddleware<WorkspaceModuleStore>[];
5
5
  declare const workspaceModuleConfig: {
6
- id: string;
7
- reducersMap: ReducersMapObject<WorkspaceModuleStore, import("redux").Action<any>>;
8
- middlewares: ListenerMiddleware[];
6
+ reducersMap: ReducersMapObject<any, import("redux").Action<any>>;
7
+ middlewares: ListenerMiddleware<WorkspaceModuleStore>[];
9
8
  };
10
9
  export default workspaceModuleConfig;
@@ -1,2 +1,2 @@
1
- export { viewPresetActions } from './reducer';
1
+ export { viewPresetActions, reducer } from './reducer';
2
2
  export * as viewPresetSelectors from './selectors';
@@ -18,12 +18,12 @@ export declare const getViewPresetDetailError: ((state: AppStore, id: string) =>
18
18
  }> & {
19
19
  clearCache: () => void;
20
20
  };
21
- export declare const getViewPresetHasChanges: ((state: AppStore, id: string) => boolean) & import("reselect").OutputSelectorFields<(args_0: ViewPresetEntity | undefined, args_1: string) => boolean, {
21
+ export declare const getViewPresetHasChanges: ((state: AppStore, id: string) => boolean | undefined) & import("reselect").OutputSelectorFields<(args_0: ViewPresetEntity | undefined, args_1: string) => boolean | undefined, {
22
22
  clearCache: () => void;
23
23
  }> & {
24
24
  clearCache: () => void;
25
25
  };
26
- export declare const getViewPresetActiveId: ((state: AppStore, id: string) => string) & import("reselect").OutputSelectorFields<(args_0: ViewPresetEntity | undefined, args_1: string) => string, {
26
+ export declare const getViewPresetActiveId: ((state: AppStore, id: string) => string | undefined) & import("reselect").OutputSelectorFields<(args_0: ViewPresetEntity | undefined, args_1: string) => string | undefined, {
27
27
  clearCache: () => void;
28
28
  }> & {
29
29
  clearCache: () => void;
@@ -1,9 +1,10 @@
1
1
  import { InitialProps, SupportedComponentTypes } from '@opengeoweb/core';
2
2
  import { SupportedComponentTypes as SupportedTimeSeriesComponentTypes } from '@opengeoweb/timeseries';
3
3
  import { EntityState } from '@reduxjs/toolkit';
4
+ import { WarningListComponentType } from '@opengeoweb/warnings';
4
5
  import { FetchViewPresetsListParams, PresetScope, ViewPresetListItem } from '../viewPresetsList/types';
5
6
  import { WorkspaceViewPresetComponentsLookupType } from '../workspace/types';
6
- export type WorkspaceSupportedComponentTypes = SupportedComponentTypes | SupportedTimeSeriesComponentTypes | WorkspaceViewPresetComponentsLookupType;
7
+ export type WorkspaceSupportedComponentTypes = SupportedComponentTypes | SupportedTimeSeriesComponentTypes | WarningListComponentType | WorkspaceViewPresetComponentsLookupType;
7
8
  export interface ViewPreset {
8
9
  id?: string;
9
10
  title: string;
@@ -43,15 +44,16 @@ export interface ViewPresetEntity {
43
44
  searchQuery: string;
44
45
  filterResults: EntityState<ViewPresetListItem>;
45
46
  }
47
+ export interface ViewPresetFormValues {
48
+ title?: string;
49
+ initialProps?: InitialProps;
50
+ }
46
51
  export interface ViewPresetDialog {
47
52
  title: string;
48
53
  action: PresetAction;
49
54
  viewPresetId: string;
50
55
  panelId: string;
51
- formValues: {
52
- title: string;
53
- initialProps?: InitialProps;
54
- };
56
+ formValues: ViewPresetFormValues;
55
57
  }
56
58
  export interface ViewPresetState extends EntityState<ViewPresetEntity> {
57
59
  viewPresetDialog?: ViewPresetDialog;
@@ -62,7 +64,8 @@ export declare enum PresetAction {
62
64
  SAVE = "Save",
63
65
  SAVE_AS = "Save as",
64
66
  SHARE = "Share",
65
- EDIT = "Edit"
67
+ EDIT = "Edit",
68
+ RESET = "Reset"
66
69
  }
67
70
  interface ViewPresetAction {
68
71
  panelId: string;
@@ -109,9 +112,11 @@ export interface OnSuccesViewPresetActionPayload extends ViewPresetAction {
109
112
  action: PresetAction;
110
113
  title: string;
111
114
  componentType?: string;
115
+ scope?: PresetScope;
112
116
  }
113
117
  export interface SelectViewPresetPayload extends ViewPresetAction {
114
118
  viewPresetId: string;
119
+ shouldReset?: boolean;
115
120
  }
116
121
  export interface RegisterViewPresetPayload extends ViewPresetAction {
117
122
  viewPresetId: string;
@@ -1,2 +1,2 @@
1
- export { viewPresetsListActions } from './reducer';
1
+ export { viewPresetsListActions, reducer } from './reducer';
2
2
  export * as viewPresetsListSelectors from './selectors';
@@ -1,7 +1,6 @@
1
- import { Reducer } from '@reduxjs/toolkit';
2
1
  import { WorkspaceAddViewPayload, WorkspaceDeleteViewPayload, WorkspaceState, WorkspaceSetPresetPayload, WorkspaceSetPreventCloseViewPayload, WorkspaceUpdateViewPayload, WorkspaceUpdateViewsPayload, WorkspaceErrorWorkspacePayload, WorkspaceFetchedWorkspacePayload, WorkspaceFetchWorkspacePayload, WorkspaceFetchWorkspaceViewPresetPayload, WorkspaceSaveWorkspacePresetPayload, WorkspaceSetNewViewPayload, WorkspaceChangeToEmptyMapWorkspacePayload } from './types';
3
2
  export declare const initialState: WorkspaceState;
4
- export declare const reducer: Reducer<WorkspaceState>;
3
+ export declare const reducer: import("redux").Reducer<WorkspaceState>;
5
4
  export declare const workspaceActions: {
6
5
  addWorkspaceView: import("@reduxjs/toolkit").ActionCreatorWithPayload<WorkspaceAddViewPayload, "workspace/addWorkspaceView">;
7
6
  setNewWorkspaceView: import("@reduxjs/toolkit").ActionCreatorWithPayload<WorkspaceSetNewViewPayload, "workspace/setNewWorkspaceView">;
@@ -1,4 +1,4 @@
1
- import { WorkspaceDialogView, WorkspaceListFilter, WorkspaceListState } from './types';
1
+ import { WorkspaceListFilter, WorkspaceListState } from './types';
2
2
  import { AppStore } from '../types';
3
3
  import { PresetScope, WorkspaceState } from '../workspace/types';
4
4
  import { ViewPresetState } from '../viewPresets/types';
@@ -21,7 +21,7 @@ export declare const getWorkspaceListError: ((state: AppStore) => import("./type
21
21
  };
22
22
  export declare const getWorkspaceActionDialogDetails: ((state: AppStore) => false | {
23
23
  formValues: {
24
- views?: WorkspaceDialogView[] | {
24
+ views: {
25
25
  mosaicNodeId: string;
26
26
  viewPresetId: string;
27
27
  isSelected: boolean;
@@ -30,13 +30,22 @@ export declare const getWorkspaceActionDialogDetails: ((state: AppStore) => fals
30
30
  isFetching: boolean | undefined;
31
31
  hasChanges: boolean | undefined;
32
32
  scope: PresetScope;
33
- }[] | undefined;
33
+ }[];
34
34
  id?: string | undefined;
35
35
  title?: string | undefined;
36
36
  abstract?: string | undefined;
37
37
  scope?: PresetScope | undefined;
38
38
  } | {
39
- views: import("../workspace/types").WorkspaceViewsFromBE[];
39
+ views: {
40
+ mosaicNodeId: string;
41
+ viewPresetId: string;
42
+ isSelected: boolean;
43
+ title: string | undefined;
44
+ error: import("../viewPresets/types").ViewPresetError;
45
+ isFetching: boolean | undefined;
46
+ hasChanges: boolean | undefined;
47
+ scope: PresetScope;
48
+ }[];
40
49
  id?: string | undefined;
41
50
  title: string;
42
51
  syncGroups?: import("../workspace/types").WorkspaceSyncGroup[] | undefined;
@@ -53,7 +62,7 @@ export declare const getWorkspaceActionDialogDetails: ((state: AppStore) => fals
53
62
  hasSaved?: boolean | undefined;
54
63
  }) & import("reselect").OutputSelectorFields<(args_0: WorkspaceListState, args_1: WorkspaceState, args_2: ViewPresetState) => false | {
55
64
  formValues: {
56
- views?: WorkspaceDialogView[] | {
65
+ views: {
57
66
  mosaicNodeId: string;
58
67
  viewPresetId: string;
59
68
  isSelected: boolean;
@@ -62,13 +71,22 @@ export declare const getWorkspaceActionDialogDetails: ((state: AppStore) => fals
62
71
  isFetching: boolean | undefined;
63
72
  hasChanges: boolean | undefined;
64
73
  scope: PresetScope;
65
- }[] | undefined;
74
+ }[];
66
75
  id?: string | undefined;
67
76
  title?: string | undefined;
68
77
  abstract?: string | undefined;
69
78
  scope?: PresetScope | undefined;
70
79
  } | {
71
- views: import("../workspace/types").WorkspaceViewsFromBE[];
80
+ views: {
81
+ mosaicNodeId: string;
82
+ viewPresetId: string;
83
+ isSelected: boolean;
84
+ title: string | undefined;
85
+ error: import("../viewPresets/types").ViewPresetError;
86
+ isFetching: boolean | undefined;
87
+ hasChanges: boolean | undefined;
88
+ scope: PresetScope;
89
+ }[];
72
90
  id?: string | undefined;
73
91
  title: string;
74
92
  syncGroups?: import("../workspace/types").WorkspaceSyncGroup[] | undefined;
@@ -1,13 +1,8 @@
1
1
  import React from 'react';
2
- import { ComponentsLookUpPayload as CoreComponentsLookUpPayload } from '@opengeoweb/core';
3
- import { ComponentsLookUpPayload as TimeseriesComponentsLookUpPayload } from '@opengeoweb/timeseries';
4
- import { ComponentsLookUpPayload as TafComponentsLookUpPayload } from '@opengeoweb/taf';
5
- import { SigmetComponentsLookUpPayload, AirmetComponentsLookUpPayload } from '@opengeoweb/sigmet-airmet';
6
- import { ComponentsLookUpPayload as WarningListComponentsLookUpPayLoad } from '@opengeoweb/warnings';
7
- import { ComponentsLookUpPayload as SpaceweatherComponentsLookUpPayLoad } from '@opengeoweb/spaceweather';
2
+ import { WorkspaceComponentLookupPayload } from '../store/workspace/types';
8
3
  /**
9
4
  * The lookup table is for registering your own components with the workspace.
10
5
  * @param payload
11
6
  * @returns
12
7
  */
13
- export declare const componentsLookUp: (payload: CoreComponentsLookUpPayload | TimeseriesComponentsLookUpPayload | TafComponentsLookUpPayload | SigmetComponentsLookUpPayload | AirmetComponentsLookUpPayload | WarningListComponentsLookUpPayLoad | SpaceweatherComponentsLookUpPayLoad) => React.ReactElement;
8
+ export declare const componentsLookUp: (payload: WorkspaceComponentLookupPayload) => React.ReactElement;
@@ -6,7 +6,7 @@ import { FetchViewPresetsListParams } from '../store/viewPresetsList/types';
6
6
  export declare const ERROR_NOT_FOUND = "Request failed with status code 400";
7
7
  export declare const extractWorkspacePresetFromJSON: (workspacePresetId: string) => WorkspacePresetFromBE;
8
8
  export declare const extractViewPresetFromJSON: (viewPresetId: string) => ViewPreset;
9
- export declare const filterWorkspacePresetList: (params: FetchWorkspaceParams) => WorkspacePresetListItem[];
10
- export declare const filterViewPresetList: (params: FetchViewPresetsListParams) => ViewPresetListItem[];
9
+ export declare const filterWorkspacePresetList: (params?: FetchWorkspaceParams) => WorkspacePresetListItem[];
10
+ export declare const filterViewPresetList: (params?: FetchViewPresetsListParams) => ViewPresetListItem[];
11
11
  export declare const sortViewPresets: (viewPresets: ViewPresetListItem[]) => ViewPresetListItem[];
12
12
  export declare const createApi: () => PresetsApi;