@opengeoweb/workspace 9.5.0 → 9.7.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/index.esm.js CHANGED
@@ -12,6 +12,9 @@ import { ThemeWrapper, lightTheme, SplitVertical, SplitHorizontal, Expand, UnExp
12
12
  import { Provider, useDispatch, useSelector } from 'react-redux';
13
13
  import { timeSeriesModuleConfig } from '@opengeoweb/timeseries';
14
14
  import { AuthenticationProvider, useAuthenticationContext } from '@opengeoweb/authentication';
15
+ import { createStore } from '@redux-eggs/redux-toolkit';
16
+ import { getSagaExtension } from '@redux-eggs/saga-extension';
17
+ import { produce } from 'immer';
15
18
  import { LinearProgress, Typography, ListItem, ListItemButton, ListItemIcon, ListItemText, Grid, useTheme, Chip, Stack, debounce as debounce$1, TextField, InputAdornment, Box, Backdrop, Menu, ListSubheader, MenuItem, Tabs } from '@mui/material';
16
19
  import 'react-mosaic-component/react-mosaic-component.css';
17
20
  import { FixedSizeList } from 'react-window';
@@ -5103,6 +5106,36 @@ var workspaceModuleConfig = {
5103
5106
  sagas: [workspaceSaga, rootSaga$1, rootSaga]
5104
5107
  };
5105
5108
 
5109
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
5110
+ var devToolsStateSanitizer = {
5111
+ stateSanitizer: function stateSanitizer(state) {
5112
+ return produce(state, function (draftState) {
5113
+ // @ts-ignore
5114
+ if (state['services']) {
5115
+ // @ts-ignore
5116
+ Object.values(state['services'].byId).forEach(function (service) {
5117
+ // @ts-ignore
5118
+ draftState['services'].byId[service.id].layers =
5119
+ // @ts-ignore
5120
+ service.layers.length;
5121
+ });
5122
+ }
5123
+ });
5124
+ }
5125
+ };
5126
+ var store = createStore({
5127
+ extensions: [getSagaExtension({})],
5128
+ defaultMiddlewareOptions: {
5129
+ serializableCheck: {
5130
+ warnAfter: 128
5131
+ },
5132
+ immutableCheck: {
5133
+ warnAfter: 128
5134
+ }
5135
+ },
5136
+ devTools: devToolsStateSanitizer
5137
+ });
5138
+
5106
5139
  var WorkspaceThemeProvider = function WorkspaceThemeProvider(_ref) {
5107
5140
  var children = _ref.children,
5108
5141
  _ref$theme = _ref.theme,
@@ -5135,7 +5168,8 @@ var defaultAuthConfig = {
5135
5168
  };
5136
5169
  var WorkspaceWrapperProviderWithStore = function WorkspaceWrapperProviderWithStore(_ref3) {
5137
5170
  var children = _ref3.children,
5138
- store = _ref3.store,
5171
+ _ref3$store = _ref3.store,
5172
+ store$1 = _ref3$store === void 0 ? store : _ref3$store,
5139
5173
  _ref3$createApi = _ref3.createApi,
5140
5174
  createApi$1 = _ref3$createApi === void 0 ? createApi : _ref3$createApi,
5141
5175
  theme = _ref3.theme,
@@ -5147,7 +5181,7 @@ var WorkspaceWrapperProviderWithStore = function WorkspaceWrapperProviderWithSto
5147
5181
  createApi: createApi$1,
5148
5182
  name: API_NAME
5149
5183
  }, /*#__PURE__*/React__default.createElement(Provider, {
5150
- store: store
5184
+ store: store$1
5151
5185
  }, /*#__PURE__*/React__default.createElement(WorkspaceWrapperProvider, {
5152
5186
  theme: theme
5153
5187
  }, /*#__PURE__*/React__default.createElement(SnackbarWrapperConnect, null, /*#__PURE__*/React__default.createElement(ConfirmationServiceProvider, null, children))))));
@@ -7214,8 +7248,7 @@ var WorkspaceMenuButton = function WorkspaceMenuButton(_ref) {
7214
7248
  * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
7215
7249
  * Copyright 2023 - Finnish Meteorological Institute (FMI)
7216
7250
  * */
7217
- var WorkspaceMenuButtonConnect = function WorkspaceMenuButtonConnect(_ref) {
7218
- var workspaceId = _ref.workspaceId;
7251
+ var WorkspaceMenuButtonConnect = function WorkspaceMenuButtonConnect() {
7219
7252
  var dispatch = useDispatch();
7220
7253
  var setListDialogOpen = React__default.useCallback(function (isListDialogOpen) {
7221
7254
  dispatch(workspaceListActions.toggleWorkspaceDialog({
@@ -7225,13 +7258,6 @@ var WorkspaceMenuButtonConnect = function WorkspaceMenuButtonConnect(_ref) {
7225
7258
  var isWorkspaceListDialogOpen = useSelector(function (store) {
7226
7259
  return getIsWorkspaceListDialogOpen(store);
7227
7260
  });
7228
- React__default.useEffect(function () {
7229
- // open workspaceDialog on mount if needed
7230
- if (workspaceId === undefined || workspaceId === 'emptyMap' || workspaceId === '') {
7231
- setListDialogOpen(true);
7232
- }
7233
- // eslint-disable-next-line react-hooks/exhaustive-deps
7234
- }, [setListDialogOpen]);
7235
7261
  return /*#__PURE__*/React__default.createElement(WorkspaceMenuButton, {
7236
7262
  showMenu: isWorkspaceListDialogOpen,
7237
7263
  onToggleDialog: setListDialogOpen
@@ -7363,9 +7389,7 @@ var WorkspaceTab = function WorkspaceTab(_ref) {
7363
7389
  alignItems: 'center'
7364
7390
  },
7365
7391
  "data-testid": "workspaceTab"
7366
- }, /*#__PURE__*/React.createElement(WorkspaceMenuButtonConnect, {
7367
- workspaceId: workspaceId
7368
- }), /*#__PURE__*/React.createElement(WorkspaceOptionsConnect, {
7392
+ }, /*#__PURE__*/React.createElement(WorkspaceMenuButtonConnect, null), /*#__PURE__*/React.createElement(WorkspaceOptionsConnect, {
7369
7393
  title: title,
7370
7394
  activeTab: activeTab,
7371
7395
  workspaceId: workspaceId
package/package.json CHANGED
@@ -1,12 +1,44 @@
1
1
  {
2
2
  "name": "@opengeoweb/workspace",
3
- "version": "9.5.0",
3
+ "version": "9.7.0",
4
4
  "description": "GeoWeb Workspace library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git@gitlab.com:opengeoweb/opengeoweb.git"
9
9
  },
10
+ "dependencies": {
11
+ "react-redux": "^8.1.3",
12
+ "@opengeoweb/shared": "*",
13
+ "@mui/material": "5.12.0",
14
+ "@opengeoweb/form-fields": "*",
15
+ "@opengeoweb/store": "*",
16
+ "@opengeoweb/api": "*",
17
+ "react-hook-form": "7.47.0",
18
+ "@opengeoweb/core": "*",
19
+ "@opengeoweb/theme": "*",
20
+ "@reduxjs/toolkit": "^1.9.7",
21
+ "@opengeoweb/timeseries": "*",
22
+ "@opengeoweb/authentication": "*",
23
+ "@opengeoweb/snackbar": "*",
24
+ "react-window": "^1.8.10",
25
+ "@mui/system": "^5.15.1",
26
+ "redux-saga": "^1.2.3",
27
+ "react-mosaic-component": "^6.1.0",
28
+ "lodash": "^4.17.21",
29
+ "@emotion/react": "^11.11.1",
30
+ "@redux-eggs/core": "^2.2.0",
31
+ "@redux-eggs/redux-toolkit": "^2.2.0",
32
+ "@redux-eggs/saga-extension": "^2.2.0",
33
+ "immer": "^9.0.21",
34
+ "axios": "1.5.0",
35
+ "@opengeoweb/taf": "*",
36
+ "@opengeoweb/sigmet-airmet": "*",
37
+ "@opengeoweb/warnings": "*"
38
+ },
39
+ "peerDependencies": {
40
+ "react": "18"
41
+ },
10
42
  "module": "./index.esm.js",
11
43
  "type": "module",
12
44
  "main": "./index.esm.js"
@@ -3,7 +3,7 @@ import { ThemeProviderProps } from '@opengeoweb/theme';
3
3
  import { Store } from '@reduxjs/toolkit';
4
4
  import { AuthenticationDefaultStateProps } from '@opengeoweb/authentication';
5
5
  interface WorkspaceWrapperProviderWithStoreProps extends ThemeProviderProps {
6
- store: Store;
6
+ store?: Store;
7
7
  createApi?: () => void;
8
8
  auth?: AuthenticationDefaultStateProps;
9
9
  }
@@ -1,6 +1,2 @@
1
1
  import React from 'react';
2
- interface WorkspaceMenuButtonConnectProps {
3
- workspaceId: string;
4
- }
5
- export declare const WorkspaceMenuButtonConnect: React.FC<WorkspaceMenuButtonConnectProps>;
6
- export {};
2
+ export declare const WorkspaceMenuButtonConnect: React.FC;
@@ -1,11 +1,18 @@
1
1
  import { Theme } from '@mui/material';
2
2
  import React from 'react';
3
+ interface WorkspaceAppProps {
4
+ isSnapshot?: boolean;
5
+ workspaceId?: string;
6
+ shouldShowListOnOpen?: boolean;
7
+ }
8
+ export declare const WorkspaceApp: ({ isSnapshot, workspaceId, shouldShowListOnOpen, }: WorkspaceAppProps) => React.ReactElement;
3
9
  interface StoryWrapperProps {
4
10
  theme?: Theme;
5
11
  isSnapshot?: boolean;
6
12
  createApi?: () => void;
7
13
  workspaceId?: string;
8
14
  isLoggedIn?: boolean;
15
+ shouldShowListOnOpen?: boolean;
9
16
  }
10
- export declare const StoryWrapper: ({ theme, isSnapshot, createApi, workspaceId, isLoggedIn, }: StoryWrapperProps) => React.ReactElement;
17
+ export declare const StoryWrapper: ({ theme, isSnapshot, createApi, workspaceId, isLoggedIn, shouldShowListOnOpen, }: StoryWrapperProps) => React.ReactElement;
11
18
  export {};