@opengeoweb/workspace 9.35.0 → 9.36.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 +98 -90
- package/package.json +1 -3
- package/src/lib/store/config.d.ts +8 -3
- package/src/lib/store/index.d.ts +1 -1
- package/src/lib/store/store.d.ts +2 -2
- package/src/lib/store/workspace/selectors.d.ts +4 -0
- package/src/lib/store/workspace/types.d.ts +3 -0
- package/src/lib/store/workspaceList/selectors.d.ts +2 -0
package/index.esm.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
import { createEntityAdapter, createSlice, createSelector, createListenerMiddleware } from '@reduxjs/toolkit';
|
|
2
|
-
import { syncGroupsTypes, syncGroupsActions, layerActions, mapStoreActions, uiActions, genericActions, mapActions, layerTypes, mapEnums, selectorMemoizationOptions, genericSelectors, mapSelectors, syncGroupsSelectors, routerActions,
|
|
1
|
+
import { createEntityAdapter, createSlice, createSelector, createListenerMiddleware, combineReducers, configureStore } from '@reduxjs/toolkit';
|
|
2
|
+
import { syncGroupsTypes, syncGroupsActions, layerActions, mapStoreActions, uiActions, genericActions, mapActions, layerTypes, mapEnums, selectorMemoizationOptions, genericSelectors, mapSelectors, syncGroupsSelectors, routerActions, coreModuleReducersMap, routerReducersMap, coreModuleMiddlewares, routerMiddlewares, linkComponentTypesConstants, uiTypes, loadingIndicatorSelectors, uiSelectors } from '@opengeoweb/store';
|
|
3
3
|
import { createApiInstance, createNonAuthApiInstance, getApi, createFakeApiInstance, ApiProvider, useApiContext } from '@opengeoweb/api';
|
|
4
|
-
import _, { chunk, cloneDeep, isEmpty, isEqual, isString } from 'lodash';
|
|
4
|
+
import _, { chunk, cloneDeep, pick, isEmpty, isEqual, isString } from 'lodash';
|
|
5
5
|
import { getLeaves, MosaicContext, getAndAssertNodeAtPathExists, createBalancedTreeFromLeaves, MosaicWindow, Mosaic } from 'react-mosaic-component';
|
|
6
|
-
import { timeSeriesActions, TimeSeriesTypes, timeSeriesSelectors,
|
|
7
|
-
import { PROJECTION, getAxiosErrorMessage, isAxiosAuthError, isAxiosError as isAxiosError$1, SHARED_NAMESPACE, sharedTranslations,
|
|
8
|
-
import { snackbarTypes, snackbarActions, SnackbarWrapperConnect } from '@opengeoweb/snackbar';
|
|
6
|
+
import { timeSeriesActions, TimeSeriesTypes, timeSeriesSelectors, timeSeriesReducersMap, timeSeriesMiddlewares } from '@opengeoweb/timeseries';
|
|
7
|
+
import { PROJECTION, getAxiosErrorMessage, isAxiosAuthError, isAxiosError as isAxiosError$1, SHARED_NAMESPACE, sharedTranslations, ConfirmationServiceProvider, CustomIconButton, useConfirmationDialog, AlertBanner, CustomTooltip, SearchHighlight, ToggleMenu, DEFAULT_FILTER_HEIGHT, usePrevious, Filter, Resizable, ToolContainer, renderCounter, CustomToggleButton, ConfirmationDialog } from '@opengeoweb/shared';
|
|
8
|
+
import { snackbarTypes, snackbarActions, snackbarReducersMap, snackbarMiddlewares, SnackbarWrapperConnect } from '@opengeoweb/snackbar';
|
|
9
9
|
import { isAxiosError } from 'axios';
|
|
10
10
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
11
11
|
import { ThemeWrapper, lightTheme, Link, LinkOff, SplitVertical, SplitHorizontal, Expand, UnExpand, Close, Delete, Preset, PresetWorkspace, PresetTiles, CloudLoading, CloudIdle, WebAssetOff, Exclamation } from '@opengeoweb/theme';
|
|
12
12
|
import { Provider, useDispatch, useSelector, useStore, shallowEqual } from 'react-redux';
|
|
13
13
|
import { initReactI18next, useTranslation, I18nextProvider } from 'react-i18next';
|
|
14
14
|
import { AuthenticationProvider, useAuthenticationContext, GEOWEB_ROLE_PRESETS_ADMIN } from '@opengeoweb/authentication';
|
|
15
|
-
import { createStore } from '@redux-eggs/redux-toolkit';
|
|
16
|
-
import { produce } from 'immer';
|
|
17
15
|
import i18n from 'i18next';
|
|
18
16
|
import { WEBMAP_REACT_NAMESPACE, webmapReactTranslations } from '@opengeoweb/webmap-react';
|
|
19
17
|
import { CORE_NAMESPACE, coreTranslations } from '@opengeoweb/core';
|
|
20
18
|
import { FORM_FIELDS_NAMESPACE, formFieldsTranslations, ReactHookFormTextField, ReactHookFormHiddenInput, ReactHookFormProvider, defaultFormOptions } from '@opengeoweb/form-fields';
|
|
19
|
+
import { produce } from 'immer';
|
|
21
20
|
import * as React from 'react';
|
|
22
21
|
import React__default, { useCallback } from 'react';
|
|
23
22
|
import { Menu, Typography, List, ListItem, ListItemButton, ListItemIcon, Checkbox, ListItemText, LinearProgress, Grid2, Box, Backdrop, ListSubheader, MenuItem, useTheme, FormGroup, FormControlLabel, Tabs } from '@mui/material';
|
|
@@ -732,10 +731,14 @@ var getApiRoutes$1 = function getApiRoutes(axiosInstance) {
|
|
|
732
731
|
return axiosInstance.get("/viewpreset/" + viewPresetId);
|
|
733
732
|
},
|
|
734
733
|
saveViewPreset: function saveViewPreset(viewPresetId, data) {
|
|
735
|
-
return axiosInstance.put("/viewpreset/" + viewPresetId + "/", data
|
|
734
|
+
return axiosInstance.put("/viewpreset/" + viewPresetId + "/", data.initialProps === null ? Object.assign({}, data, {
|
|
735
|
+
initialProps: {}
|
|
736
|
+
}) : data);
|
|
736
737
|
},
|
|
737
738
|
saveViewPresetAs: function saveViewPresetAs(data) {
|
|
738
|
-
return axiosInstance.post("/viewpreset/", data
|
|
739
|
+
return axiosInstance.post("/viewpreset/", data.initialProps === null ? Object.assign({}, data, {
|
|
740
|
+
initialProps: {}
|
|
741
|
+
}) : data).then(function (response) {
|
|
739
742
|
var headerLocation = response == null ? void 0 : response.request.getResponseHeader('Location');
|
|
740
743
|
return getIdFromUrl(headerLocation);
|
|
741
744
|
});
|
|
@@ -1686,7 +1689,7 @@ var initialState$1 = {
|
|
|
1686
1689
|
error: undefined,
|
|
1687
1690
|
hasChanges: false
|
|
1688
1691
|
};
|
|
1689
|
-
var workspacePresetChangeActions = [viewPresetActions.selectViewPreset, viewPresetActions.setActiveViewPresetId, syncGroupsActions.syncGroupRemoveGroup, syncGroupsActions.syncGroupAddGroup];
|
|
1692
|
+
var workspacePresetChangeActions = [viewPresetActions.selectViewPreset, viewPresetActions.setActiveViewPresetId, syncGroupsActions.syncGroupRemoveGroup, syncGroupsActions.syncGroupAddGroup, syncGroupsActions.syncGroupToggleIsTimeScrollingEnabled, syncGroupsActions.updateLinkedMap];
|
|
1690
1693
|
var slice$1 = createSlice({
|
|
1691
1694
|
initialState: initialState$1,
|
|
1692
1695
|
name: 'workspace',
|
|
@@ -1796,6 +1799,7 @@ var slice$1 = createSlice({
|
|
|
1796
1799
|
draft.hasChanges = false;
|
|
1797
1800
|
draft.scope = action.payload.workspacePreset.scope;
|
|
1798
1801
|
draft.viewType = action.payload.workspacePreset.viewType;
|
|
1802
|
+
draft.isTimeScrollingEnabled = action.payload.workspacePreset.isTimeScrollingEnabled;
|
|
1799
1803
|
return draft;
|
|
1800
1804
|
},
|
|
1801
1805
|
setPreventCloseView: function setPreventCloseView(draft, action) {
|
|
@@ -1889,7 +1893,7 @@ var slice$1 = createSlice({
|
|
|
1889
1893
|
workspacePresetChangeActions.map(function (action) {
|
|
1890
1894
|
return builder.addCase(action, function (draft, payload) {
|
|
1891
1895
|
var _payload$payload;
|
|
1892
|
-
var hasChanges = action !== syncGroupsActions.syncGroupAddGroup || ((_payload$payload = payload.payload) == null ? void 0 : _payload$payload.origin) === 'user';
|
|
1896
|
+
var hasChanges = action !== syncGroupsActions.syncGroupAddGroup && action !== syncGroupsActions.syncGroupToggleIsTimeScrollingEnabled || ((_payload$payload = payload.payload) == null ? void 0 : _payload$payload.origin) === 'user';
|
|
1893
1897
|
draft.hasChanges = hasChanges;
|
|
1894
1898
|
// reset title and scope when setting empty activeViewPresetId
|
|
1895
1899
|
if (action.type === viewPresetActions.setActiveViewPresetId.type) {
|
|
@@ -2284,6 +2288,7 @@ var getWorkspaceData = createSelector(getWorkspaceState, getViewPresetsStore, ge
|
|
|
2284
2288
|
viewPresetId: viewPresetId
|
|
2285
2289
|
};
|
|
2286
2290
|
});
|
|
2291
|
+
var linkedState = pick(syncGroupsStore == null ? void 0 : syncGroupsStore.linkedState.links, store.views.allIds);
|
|
2287
2292
|
return {
|
|
2288
2293
|
id: store.id,
|
|
2289
2294
|
title: store.title,
|
|
@@ -2292,7 +2297,9 @@ var getWorkspaceData = createSelector(getWorkspaceState, getViewPresetsStore, ge
|
|
|
2292
2297
|
viewType: store.viewType,
|
|
2293
2298
|
scope: store.scope,
|
|
2294
2299
|
"abstract": store["abstract"],
|
|
2295
|
-
mosaicNode: store.mosaicNode
|
|
2300
|
+
mosaicNode: store.mosaicNode,
|
|
2301
|
+
isTimeScrollingEnabled: (syncGroupsStore == null ? void 0 : syncGroupsStore.isTimeScrollingEnabled) || false,
|
|
2302
|
+
linking: linkedState
|
|
2296
2303
|
};
|
|
2297
2304
|
}, selectorMemoizationOptions);
|
|
2298
2305
|
var getViewComponentType = createSelector(getViewById, function (store) {
|
|
@@ -4679,7 +4686,7 @@ workspaceListener.startListening({
|
|
|
4679
4686
|
actionCreator: workspaceActions.changePreset,
|
|
4680
4687
|
effect: function () {
|
|
4681
4688
|
var _effect3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3, listenerApi) {
|
|
4682
|
-
var payload, allSyncGroups;
|
|
4689
|
+
var payload, allSyncGroups, isTimeScrollingEnabled;
|
|
4683
4690
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
4684
4691
|
while (1) switch (_context3.prev = _context3.next) {
|
|
4685
4692
|
case 0:
|
|
@@ -4699,7 +4706,14 @@ workspaceListener.startListening({
|
|
|
4699
4706
|
allSyncGroups.map(function (syncGroup) {
|
|
4700
4707
|
return listenerApi.dispatch(syncGroupsActions.syncGroupAddGroup(syncGroup));
|
|
4701
4708
|
});
|
|
4702
|
-
|
|
4709
|
+
listenerApi.dispatch(genericActions.setLinkedMap({
|
|
4710
|
+
newLinks: payload.workspacePreset.linking || {}
|
|
4711
|
+
}));
|
|
4712
|
+
isTimeScrollingEnabled = payload.workspacePreset.isTimeScrollingEnabled || false;
|
|
4713
|
+
listenerApi.dispatch(syncGroupsActions.syncGroupToggleIsTimeScrollingEnabled({
|
|
4714
|
+
isTimeScrollingEnabled: isTimeScrollingEnabled
|
|
4715
|
+
}));
|
|
4716
|
+
case 11:
|
|
4703
4717
|
case "end":
|
|
4704
4718
|
return _context3.stop();
|
|
4705
4719
|
}
|
|
@@ -5896,18 +5910,19 @@ workspaceListListener.startListening({
|
|
|
5896
5910
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
5897
5911
|
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
5898
5912
|
* */
|
|
5913
|
+
var workspaceReducersMap = {
|
|
5914
|
+
workspace: reducer$1,
|
|
5915
|
+
workspaceList: reducer$3,
|
|
5916
|
+
viewPresetsList: reducer,
|
|
5917
|
+
viewPresets: reducer$2
|
|
5918
|
+
};
|
|
5919
|
+
var workspaceMiddlewares = [viewPresetsListener.middleware, workspaceListener.middleware, workspaceListListener.middleware];
|
|
5899
5920
|
var workspaceModuleConfig = {
|
|
5900
5921
|
id: 'workspace-module',
|
|
5901
|
-
reducersMap:
|
|
5902
|
-
|
|
5903
|
-
workspaceList: reducer$3,
|
|
5904
|
-
viewPresetsList: reducer,
|
|
5905
|
-
viewPresets: reducer$2
|
|
5906
|
-
},
|
|
5907
|
-
middlewares: [viewPresetsListener.middleware, workspaceListener.middleware, workspaceListListener.middleware]
|
|
5922
|
+
reducersMap: workspaceReducersMap,
|
|
5923
|
+
middlewares: workspaceMiddlewares
|
|
5908
5924
|
};
|
|
5909
5925
|
|
|
5910
|
-
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
5911
5926
|
/* *
|
|
5912
5927
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5913
5928
|
* you may not use this file except in compliance with the License.
|
|
@@ -5925,34 +5940,29 @@ var workspaceModuleConfig = {
|
|
|
5925
5940
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
5926
5941
|
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
5927
5942
|
* */
|
|
5928
|
-
var
|
|
5929
|
-
|
|
5930
|
-
|
|
5931
|
-
|
|
5932
|
-
|
|
5933
|
-
|
|
5934
|
-
|
|
5935
|
-
|
|
5936
|
-
draftState['services'].byId[service.id].layers =
|
|
5937
|
-
// @ts-ignore
|
|
5938
|
-
service.layers.length;
|
|
5939
|
-
});
|
|
5940
|
-
}
|
|
5941
|
-
});
|
|
5942
|
-
}
|
|
5943
|
-
};
|
|
5944
|
-
var store = createStore({
|
|
5945
|
-
defaultMiddlewareOptions: {
|
|
5946
|
-
serializableCheck: {
|
|
5947
|
-
warnAfter: 128
|
|
5943
|
+
var WORKSPACE_NAMESPACE = 'workspace';
|
|
5944
|
+
var initWorkspaceTestI18n = function initWorkspaceTestI18n() {
|
|
5945
|
+
var _en, _fi, _no, _nl;
|
|
5946
|
+
void i18n.use(initReactI18next).init({
|
|
5947
|
+
lng: 'en',
|
|
5948
|
+
ns: WORKSPACE_NAMESPACE,
|
|
5949
|
+
interpolation: {
|
|
5950
|
+
escapeValue: false
|
|
5948
5951
|
},
|
|
5949
|
-
|
|
5950
|
-
|
|
5952
|
+
resources: {
|
|
5953
|
+
en: (_en = {}, _en[WORKSPACE_NAMESPACE] = workspaceTranslations.en, _en[SHARED_NAMESPACE] = sharedTranslations.en, _en[CORE_NAMESPACE] = coreTranslations.en, _en[WEBMAP_REACT_NAMESPACE] = webmapReactTranslations.en, _en[FORM_FIELDS_NAMESPACE] = formFieldsTranslations.en, _en),
|
|
5954
|
+
fi: (_fi = {}, _fi[WORKSPACE_NAMESPACE] = workspaceTranslations.fi, _fi[SHARED_NAMESPACE] = sharedTranslations.fi, _fi[CORE_NAMESPACE] = coreTranslations.fi, _fi[WEBMAP_REACT_NAMESPACE] = webmapReactTranslations.fi, _fi[FORM_FIELDS_NAMESPACE] = formFieldsTranslations.fi, _fi),
|
|
5955
|
+
no: (_no = {}, _no[WORKSPACE_NAMESPACE] = workspaceTranslations.no, _no[SHARED_NAMESPACE] = sharedTranslations.no, _no[CORE_NAMESPACE] = coreTranslations.no, _no[WEBMAP_REACT_NAMESPACE] = webmapReactTranslations.no, _no[FORM_FIELDS_NAMESPACE] = formFieldsTranslations.no, _no),
|
|
5956
|
+
nl: (_nl = {}, _nl[WORKSPACE_NAMESPACE] = workspaceTranslations.nl, _nl[SHARED_NAMESPACE] = sharedTranslations.nl, _nl[CORE_NAMESPACE] = coreTranslations.nl, _nl[WEBMAP_REACT_NAMESPACE] = webmapReactTranslations.nl, _nl[FORM_FIELDS_NAMESPACE] = formFieldsTranslations.nl, _nl)
|
|
5951
5957
|
}
|
|
5952
|
-
}
|
|
5953
|
-
|
|
5954
|
-
|
|
5958
|
+
});
|
|
5959
|
+
};
|
|
5960
|
+
var ns = [WORKSPACE_NAMESPACE, SHARED_NAMESPACE];
|
|
5961
|
+
var useWorkspaceTranslation = function useWorkspaceTranslation() {
|
|
5962
|
+
return useTranslation(ns);
|
|
5963
|
+
};
|
|
5955
5964
|
|
|
5965
|
+
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
5956
5966
|
/* *
|
|
5957
5967
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5958
5968
|
* you may not use this file except in compliance with the License.
|
|
@@ -5970,26 +5980,32 @@ var store = createStore({
|
|
|
5970
5980
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
5971
5981
|
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
5972
5982
|
* */
|
|
5973
|
-
var
|
|
5974
|
-
|
|
5975
|
-
|
|
5976
|
-
|
|
5977
|
-
|
|
5978
|
-
|
|
5979
|
-
|
|
5980
|
-
|
|
5983
|
+
var devToolsStateSanitizer = {
|
|
5984
|
+
stateSanitizer: function stateSanitizer(state) {
|
|
5985
|
+
return produce(state, function (draftState) {
|
|
5986
|
+
// @ts-ignore
|
|
5987
|
+
if (state['services']) {
|
|
5988
|
+
// @ts-ignore
|
|
5989
|
+
Object.values(state['services'].byId).forEach(function (service) {
|
|
5990
|
+
// @ts-ignore
|
|
5991
|
+
draftState['services'].byId[service.id].layers =
|
|
5992
|
+
// @ts-ignore
|
|
5993
|
+
service.layers.length;
|
|
5994
|
+
});
|
|
5995
|
+
}
|
|
5996
|
+
});
|
|
5997
|
+
}
|
|
5998
|
+
};
|
|
5999
|
+
var rootReducer = combineReducers(Object.assign({}, coreModuleReducersMap, workspaceReducersMap, timeSeriesReducersMap, snackbarReducersMap, routerReducersMap));
|
|
6000
|
+
var createTestWorkspaceStore = function createTestWorkspaceStore() {
|
|
6001
|
+
var store = configureStore({
|
|
6002
|
+
reducer: rootReducer,
|
|
6003
|
+
middleware: function middleware(getDefaultMiddleware) {
|
|
6004
|
+
return getDefaultMiddleware().concat([].concat(coreModuleMiddlewares, workspaceMiddlewares, timeSeriesMiddlewares, snackbarMiddlewares, routerMiddlewares));
|
|
5981
6005
|
},
|
|
5982
|
-
|
|
5983
|
-
en: (_en = {}, _en[WORKSPACE_NAMESPACE] = workspaceTranslations.en, _en[SHARED_NAMESPACE] = sharedTranslations.en, _en[CORE_NAMESPACE] = coreTranslations.en, _en[WEBMAP_REACT_NAMESPACE] = webmapReactTranslations.en, _en[FORM_FIELDS_NAMESPACE] = formFieldsTranslations.en, _en),
|
|
5984
|
-
fi: (_fi = {}, _fi[WORKSPACE_NAMESPACE] = workspaceTranslations.fi, _fi[SHARED_NAMESPACE] = sharedTranslations.fi, _fi[CORE_NAMESPACE] = coreTranslations.fi, _fi[WEBMAP_REACT_NAMESPACE] = webmapReactTranslations.fi, _fi[FORM_FIELDS_NAMESPACE] = formFieldsTranslations.fi, _fi),
|
|
5985
|
-
no: (_no = {}, _no[WORKSPACE_NAMESPACE] = workspaceTranslations.no, _no[SHARED_NAMESPACE] = sharedTranslations.no, _no[CORE_NAMESPACE] = coreTranslations.no, _no[WEBMAP_REACT_NAMESPACE] = webmapReactTranslations.no, _no[FORM_FIELDS_NAMESPACE] = formFieldsTranslations.no, _no),
|
|
5986
|
-
nl: (_nl = {}, _nl[WORKSPACE_NAMESPACE] = workspaceTranslations.nl, _nl[SHARED_NAMESPACE] = sharedTranslations.nl, _nl[CORE_NAMESPACE] = coreTranslations.nl, _nl[WEBMAP_REACT_NAMESPACE] = webmapReactTranslations.nl, _nl[FORM_FIELDS_NAMESPACE] = formFieldsTranslations.nl, _nl)
|
|
5987
|
-
}
|
|
6006
|
+
devTools: devToolsStateSanitizer
|
|
5988
6007
|
});
|
|
5989
|
-
|
|
5990
|
-
var ns = [WORKSPACE_NAMESPACE, SHARED_NAMESPACE];
|
|
5991
|
-
var useWorkspaceTranslation = function useWorkspaceTranslation() {
|
|
5992
|
-
return useTranslation(ns);
|
|
6008
|
+
return store;
|
|
5993
6009
|
};
|
|
5994
6010
|
|
|
5995
6011
|
var WorkspaceThemeProvider = function WorkspaceThemeProvider(_ref) {
|
|
@@ -6001,16 +6017,8 @@ var WorkspaceThemeProvider = function WorkspaceThemeProvider(_ref) {
|
|
|
6001
6017
|
children: children
|
|
6002
6018
|
});
|
|
6003
6019
|
};
|
|
6004
|
-
var
|
|
6005
|
-
var
|
|
6006
|
-
children = _ref2.children;
|
|
6007
|
-
return jsx(WorkspaceThemeProvider, {
|
|
6008
|
-
theme: theme,
|
|
6009
|
-
children: children
|
|
6010
|
-
});
|
|
6011
|
-
});
|
|
6012
|
-
var DemoWrapper = function DemoWrapper(_ref3) {
|
|
6013
|
-
var props = Object.assign({}, (_objectDestructuringEmpty(_ref3), _ref3));
|
|
6020
|
+
var DemoWrapper = function DemoWrapper(_ref2) {
|
|
6021
|
+
var props = Object.assign({}, (_objectDestructuringEmpty(_ref2), _ref2));
|
|
6014
6022
|
return jsx(WorkspaceI18nProvider, {
|
|
6015
6023
|
children: jsx(WorkspaceThemeProvider, Object.assign({}, props))
|
|
6016
6024
|
});
|
|
@@ -6030,15 +6038,15 @@ var defaultAuthConfig = {
|
|
|
6030
6038
|
},
|
|
6031
6039
|
sessionStorageProvider: null
|
|
6032
6040
|
};
|
|
6033
|
-
var WorkspaceWrapperProviderWithStore = function WorkspaceWrapperProviderWithStore(
|
|
6034
|
-
var children =
|
|
6035
|
-
|
|
6036
|
-
store
|
|
6037
|
-
|
|
6038
|
-
createApi$1 =
|
|
6039
|
-
theme =
|
|
6040
|
-
|
|
6041
|
-
auth =
|
|
6041
|
+
var WorkspaceWrapperProviderWithStore = function WorkspaceWrapperProviderWithStore(_ref3) {
|
|
6042
|
+
var children = _ref3.children,
|
|
6043
|
+
_ref3$store = _ref3.store,
|
|
6044
|
+
store = _ref3$store === void 0 ? createTestWorkspaceStore() : _ref3$store,
|
|
6045
|
+
_ref3$createApi = _ref3.createApi,
|
|
6046
|
+
createApi$1 = _ref3$createApi === void 0 ? createApi : _ref3$createApi,
|
|
6047
|
+
theme = _ref3.theme,
|
|
6048
|
+
_ref3$auth = _ref3.auth,
|
|
6049
|
+
auth = _ref3$auth === void 0 ? defaultAuthConfig : _ref3$auth;
|
|
6042
6050
|
return jsx(WorkspaceI18nProvider, {
|
|
6043
6051
|
children: jsx(AuthenticationProvider, {
|
|
6044
6052
|
value: auth,
|
|
@@ -6046,8 +6054,8 @@ var WorkspaceWrapperProviderWithStore = function WorkspaceWrapperProviderWithSto
|
|
|
6046
6054
|
createApi: createApi$1,
|
|
6047
6055
|
name: API_NAME,
|
|
6048
6056
|
children: jsx(Provider, {
|
|
6049
|
-
store: store
|
|
6050
|
-
children: jsx(
|
|
6057
|
+
store: store,
|
|
6058
|
+
children: jsx(WorkspaceThemeProvider, {
|
|
6051
6059
|
theme: theme,
|
|
6052
6060
|
children: jsx(SnackbarWrapperConnect, {
|
|
6053
6061
|
children: jsx(ConfirmationServiceProvider, {
|
|
@@ -6060,8 +6068,8 @@ var WorkspaceWrapperProviderWithStore = function WorkspaceWrapperProviderWithSto
|
|
|
6060
6068
|
})
|
|
6061
6069
|
});
|
|
6062
6070
|
};
|
|
6063
|
-
var WorkspaceI18nProvider = function WorkspaceI18nProvider(
|
|
6064
|
-
var children =
|
|
6071
|
+
var WorkspaceI18nProvider = function WorkspaceI18nProvider(_ref4) {
|
|
6072
|
+
var children = _ref4.children;
|
|
6065
6073
|
initWorkspaceTestI18n();
|
|
6066
6074
|
return jsx(I18nextProvider, {
|
|
6067
6075
|
i18n: i18n,
|
|
@@ -6132,7 +6140,7 @@ var LinkMenuConnect = function LinkMenuConnect(_ref) {
|
|
|
6132
6140
|
var updatedMapIds = selectedMapIds.includes(mapId) ? selectedMapIds.filter(function (id) {
|
|
6133
6141
|
return id !== mapId;
|
|
6134
6142
|
}) : [].concat(selectedMapIds, [mapId]);
|
|
6135
|
-
dispatch(genericActions.
|
|
6143
|
+
dispatch(genericActions.updateLinkedMap({
|
|
6136
6144
|
panelId: panelId,
|
|
6137
6145
|
mapIds: updatedMapIds
|
|
6138
6146
|
}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/workspace",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.36.0",
|
|
4
4
|
"description": "GeoWeb Workspace library for the opengeoweb project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -18,8 +18,6 @@
|
|
|
18
18
|
"@opengeoweb/snackbar": "*",
|
|
19
19
|
"react-window": "^1.8.10",
|
|
20
20
|
"lodash": "^4.17.21",
|
|
21
|
-
"@redux-eggs/core": "^2.2.0",
|
|
22
|
-
"@redux-eggs/redux-toolkit": "^2.2.0",
|
|
23
21
|
"immer": "^10.0.3",
|
|
24
22
|
"axios": "^1.7.7",
|
|
25
23
|
"react-virtualized-auto-sizer": "^1.0.21",
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Store } from '@reduxjs/toolkit';
|
|
1
|
+
import { ListenerMiddleware, ReducersMapObject } from '@reduxjs/toolkit';
|
|
3
2
|
import { WorkspaceModuleStore } from './types';
|
|
4
|
-
declare const
|
|
3
|
+
export declare const workspaceReducersMap: ReducersMapObject<WorkspaceModuleStore>;
|
|
4
|
+
export declare const workspaceMiddlewares: ListenerMiddleware[];
|
|
5
|
+
declare const workspaceModuleConfig: {
|
|
6
|
+
id: string;
|
|
7
|
+
reducersMap: ReducersMapObject<WorkspaceModuleStore, import("redux").Action<any>>;
|
|
8
|
+
middlewares: ListenerMiddleware[];
|
|
9
|
+
};
|
|
5
10
|
export default workspaceModuleConfig;
|
package/src/lib/store/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { createTestWorkspaceStore } from './store';
|
package/src/lib/store/store.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
1
|
+
import { ToolkitStore } from '@reduxjs/toolkit/dist/configureStore';
|
|
2
|
+
export declare const createTestWorkspaceStore: () => ToolkitStore;
|
|
@@ -143,6 +143,8 @@ export declare const getWorkspaceData: ((state: AppStore & import("@opengeoweb/s
|
|
|
143
143
|
scope: import("./types").PresetScope | undefined;
|
|
144
144
|
abstract: string | undefined;
|
|
145
145
|
mosaicNode: import("react-mosaic-component").MosaicNode<string>;
|
|
146
|
+
isTimeScrollingEnabled: boolean;
|
|
147
|
+
linking: Pick<Record<string, string[]>, string>;
|
|
146
148
|
}) & import("reselect").OutputSelectorFields<(args_0: WorkspaceState, args_1: import("../viewPresets/types").ViewPresetState, args_2: import("dist/libs/store/src/store/generic/synchronizationGroups/types").SynchronizationGroupState) => {
|
|
147
149
|
id: string | undefined;
|
|
148
150
|
title: string;
|
|
@@ -158,6 +160,8 @@ export declare const getWorkspaceData: ((state: AppStore & import("@opengeoweb/s
|
|
|
158
160
|
scope: import("./types").PresetScope | undefined;
|
|
159
161
|
abstract: string | undefined;
|
|
160
162
|
mosaicNode: import("react-mosaic-component").MosaicNode<string>;
|
|
163
|
+
isTimeScrollingEnabled: boolean;
|
|
164
|
+
linking: Pick<Record<string, string[]>, string>;
|
|
161
165
|
}, {
|
|
162
166
|
clearCache: () => void;
|
|
163
167
|
}> & {
|
|
@@ -31,12 +31,14 @@ export interface WorkspacePreset {
|
|
|
31
31
|
id?: string;
|
|
32
32
|
title: string;
|
|
33
33
|
syncGroups?: WorkspaceSyncGroup[];
|
|
34
|
+
isTimeScrollingEnabled?: boolean;
|
|
34
35
|
views: WorkspaceViews;
|
|
35
36
|
viewType?: ViewType;
|
|
36
37
|
mosaicNode: MosaicNode<string>;
|
|
37
38
|
minimumPaneSizePercentage?: number;
|
|
38
39
|
scope?: PresetScope;
|
|
39
40
|
abstract?: string;
|
|
41
|
+
linking?: Record<string, string[]>;
|
|
40
42
|
}
|
|
41
43
|
export interface WorkspaceState extends WorkspacePreset {
|
|
42
44
|
isLoading?: boolean;
|
|
@@ -47,6 +49,7 @@ export interface WorkspacePresetFromBE {
|
|
|
47
49
|
id?: string;
|
|
48
50
|
title: string;
|
|
49
51
|
syncGroups?: WorkspaceSyncGroup[];
|
|
52
|
+
linking?: Record<string, string[]>;
|
|
50
53
|
views: WorkspaceViewsFromBE[];
|
|
51
54
|
viewType?: ViewType;
|
|
52
55
|
mosaicNode: MosaicNode<string>;
|
|
@@ -40,6 +40,7 @@ export declare const getWorkspaceActionDialogDetails: ((state: AppStore) => fals
|
|
|
40
40
|
id?: string | undefined;
|
|
41
41
|
title: string;
|
|
42
42
|
syncGroups?: import("../workspace/types").WorkspaceSyncGroup[] | undefined;
|
|
43
|
+
linking?: Record<string, string[]> | undefined;
|
|
43
44
|
viewType?: import("../workspace/types").ViewType | undefined;
|
|
44
45
|
mosaicNode: import("react-mosaic-component").MosaicNode<string>;
|
|
45
46
|
scope?: PresetScope | undefined;
|
|
@@ -71,6 +72,7 @@ export declare const getWorkspaceActionDialogDetails: ((state: AppStore) => fals
|
|
|
71
72
|
id?: string | undefined;
|
|
72
73
|
title: string;
|
|
73
74
|
syncGroups?: import("../workspace/types").WorkspaceSyncGroup[] | undefined;
|
|
75
|
+
linking?: Record<string, string[]> | undefined;
|
|
74
76
|
viewType?: import("../workspace/types").ViewType | undefined;
|
|
75
77
|
mosaicNode: import("react-mosaic-component").MosaicNode<string>;
|
|
76
78
|
scope?: PresetScope | undefined;
|