@opengeoweb/workspace 4.20.0 → 4.21.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/README.md +4 -4
- package/index.d.ts +2 -2
- package/index.esm.js +767 -381
- package/index.umd.js +766 -376
- package/lib/components/DefaultComponentsLookUp/DefaultComponentsLookUp.d.ts +6 -6
- package/lib/components/MapPresetsDialog/MapPresetsDialog.d.ts +5 -2
- package/lib/components/MapPresetsFormDialog/MapPresetsFormDialog.d.ts +1 -1
- package/lib/components/MapPresetsFormDialog/MapPresetsFormDialogConnect.d.ts +3 -0
- package/lib/components/MapPresetsMenuItem/MapPresetsMenuItem.d.ts +1 -1
- package/lib/components/Providers/Providers.d.ts +4 -4
- package/lib/components/Providers/WorkspaceDndProvider.d.ts +2 -2
- package/lib/components/WorkspaceFilter/FilterChip.d.ts +3 -2
- package/lib/components/WorkspaceFilter/FilterList.d.ts +3 -1
- package/lib/components/WorkspaceFilter/SearchField.d.ts +2 -0
- package/lib/components/WorkspaceFilter/WorkspaceFilter.d.ts +5 -1
- package/lib/components/WorkspaceMenu/WorkspaceMenu.d.ts +1 -1
- package/lib/components/WorkspaceMenu/WorkspaceMenu.stories.d.ts +8 -0
- package/lib/components/WorkspaceOptions/WorkspaceOptionsConnect.d.ts +3 -0
- package/lib/components/WorkspaceSelectList/WorkspaceSelectList.d.ts +2 -0
- package/lib/components/WorkspaceSelectList/WorkspaceSelectListRow.d.ts +1 -0
- package/lib/components/{ScreenManagerView/ScreenManagerControls.d.ts → WorkspaceView/WorkspaceControls.d.ts} +3 -3
- package/lib/components/{ScreenManagerView/ScreenManagerTileConnect.d.ts → WorkspaceView/WorkspaceTileConnect.d.ts} +4 -4
- package/lib/components/{ScreenManagerView/ScreenManagerView.d.ts → WorkspaceView/WorkspaceView.d.ts} +4 -4
- package/lib/components/WorkspaceView/WorkspaceViewConnect.d.ts +7 -0
- package/lib/components/WorkspaceView/index.d.ts +2 -0
- package/lib/store/config.d.ts +2 -2
- package/lib/store/viewPresets/reducer.d.ts +3 -1
- package/lib/store/viewPresets/selectors.d.ts +2 -1
- package/lib/store/viewPresets/types.d.ts +16 -1
- package/lib/store/workspace/types.d.ts +0 -3
- package/lib/store/workspaceList/reducer.d.ts +3 -2
- package/lib/store/workspaceList/sagas.d.ts +1 -1
- package/lib/store/workspaceList/selectors.d.ts +2 -1
- package/lib/store/workspaceList/types.d.ts +9 -3
- package/lib/store/workspaceList/utils.d.ts +3 -0
- package/lib/utils/api.d.ts +3 -5
- package/lib/utils/fakeApi.d.ts +2 -1
- package/package.json +13 -13
- package/lib/components/Providers/ScreenManagerApiWrapper.d.ts +0 -7
- package/lib/components/ScreenManagerView/ScreenManagerViewConnect.d.ts +0 -7
- package/lib/components/ScreenManagerView/index.d.ts +0 -2
- package/lib/components/WorkspaceFilter/types.d.ts +0 -5
- /package/lib/components/{Providers/ScreenManagerApiWrapper.spec.d.ts → MapPresetsFormDialog/MapPresetsFormDialogConnect.spec.d.ts} +0 -0
- /package/lib/components/{ScreenManagerView/ScreenManagerControls.spec.d.ts → WorkspaceView/WorkspaceControls.spec.d.ts} +0 -0
- /package/lib/components/{ScreenManagerView/ScreenManagerTileConnect.spec.d.ts → WorkspaceView/WorkspaceTileConnect.spec.d.ts} +0 -0
- /package/lib/components/{ScreenManagerView/ScreenManagerView.spec.d.ts → WorkspaceView/WorkspaceView.spec.d.ts} +0 -0
- /package/lib/components/{ScreenManagerView/ScreenManagerViewConnect.spec.d.ts → WorkspaceView/WorkspaceViewConnect.spec.d.ts} +0 -0
- /package/lib/components/{ScreenManagerView → WorkspaceView}/helpers.d.ts +0 -0
- /package/lib/components/{ScreenManagerView → WorkspaceView}/helpers.spec.d.ts +0 -0
package/index.esm.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { createEntityAdapter, createSlice, createSelector } from '@reduxjs/toolkit';
|
|
2
|
-
import { chunk, cloneDeep, isEqual, isString } from 'lodash';
|
|
2
|
+
import { chunk, cloneDeep, isEmpty, isEqual, isString } from 'lodash';
|
|
3
3
|
import { SyncGroups, syncGroupActions, layerActions, mapActions, uiActions, mapTypes, genericSelectors, routerActions, snackbarActions, mapSelectors, uiTypes, SnackbarWrapperConnect, coreModuleConfig, uiSelectors, syncGroupsSelectors } from '@opengeoweb/core';
|
|
4
|
-
import { createApiInstance, getApi, createFakeApiInstance, ApiProvider, useApiContext } from '@opengeoweb/api';
|
|
4
|
+
import { createApiInstance, createNonAuthApiInstance, getApi, createFakeApiInstance, ApiProvider, useApiContext } from '@opengeoweb/api';
|
|
5
5
|
import { getLeaves, MosaicContext, getAndAssertNodeAtPathExists, createBalancedTreeFromLeaves, MosaicWindow, MosaicWithoutDragDropContext } from 'react-mosaic-component';
|
|
6
6
|
import { debounce, takeEvery, takeLatest, all, put, delay, call, select, takeLeading } from 'redux-saga/effects';
|
|
7
7
|
import * as React from 'react';
|
|
8
8
|
import React__default, { createContext, memo, useEffect, isValidElement, cloneElement, createRef, Component, useLayoutEffect, useMemo, useContext, useState, useCallback } from 'react';
|
|
9
|
-
import { ThemeWrapper, lightTheme, SplitVertical, SplitHorizontal, Expand, UnExpand, Close, WebAssetOff, Delete, Preset, PresetWorkspace, PresetTiles, Menu } from '@opengeoweb/theme';
|
|
9
|
+
import { ThemeWrapper, lightTheme, SplitVertical, SplitHorizontal, Expand, UnExpand, Close, WebAssetOff, Delete, Preset, PresetWorkspace, PresetTiles, Clear, Search, Menu } from '@opengeoweb/theme';
|
|
10
10
|
import { Provider, useDispatch, useSelector } from 'react-redux';
|
|
11
|
-
import { withEggs, useConfirmationDialog, CustomIconButton, AlertBanner, ConfirmationServiceProvider, CustomTooltip, ToggleMenu, ToolContainer, CustomToggleButton, ConfirmationDialog, isAxiosError, getAxiosErrorMessage } from '@opengeoweb/shared';
|
|
11
|
+
import { withEggs, useConfirmationDialog, CustomIconButton, AlertBanner, ConfirmationServiceProvider, CustomTooltip, SearchHighlight, ToggleMenu, ToolContainer, CustomToggleButton, ConfirmationDialog, isAxiosError, getAxiosErrorMessage } from '@opengeoweb/shared';
|
|
12
12
|
import { timeSeriesModuleConfig } from '@opengeoweb/timeseries';
|
|
13
13
|
import { jsx } from 'react/jsx-runtime';
|
|
14
14
|
import require$$1$2 from 'react-dom';
|
|
15
|
-
import { LinearProgress, Typography, Box, ListItem, ListItemButton, ListItemIcon, ListItemText, Grid, List, Backdrop, Menu as Menu$1, ListSubheader, MenuItem, Tabs } from '@mui/material';
|
|
15
|
+
import { LinearProgress, Typography, Box, ListItem, ListItemButton, ListItemIcon, ListItemText, Grid, List, useTheme, Chip, Stack, debounce as debounce$1, TextField, InputAdornment, Backdrop, Menu as Menu$1, ListSubheader, MenuItem, Tabs } from '@mui/material';
|
|
16
16
|
import 'react-mosaic-component/react-mosaic-component.css';
|
|
17
17
|
import { Box as Box$1 } from '@mui/system';
|
|
18
18
|
import { ReactHookFormTextField, ReactHookFormHiddenInput, ReactHookFormProvider, defaultFormOptions } from '@opengeoweb/form-fields';
|
|
@@ -88,6 +88,7 @@ var initialState$5 = Object.assign(Object.assign({
|
|
|
88
88
|
error: undefined,
|
|
89
89
|
isWorkspaceListDialogOpen: false
|
|
90
90
|
}, workspaceListAdapter.getInitialState()), {
|
|
91
|
+
searchQuery: '',
|
|
91
92
|
workspaceListFilters: workspaceListFilterOptions
|
|
92
93
|
});
|
|
93
94
|
var slice$3 = createSlice({
|
|
@@ -127,14 +128,32 @@ var slice$3 = createSlice({
|
|
|
127
128
|
var _action$payload = action.payload,
|
|
128
129
|
id = _action$payload.id,
|
|
129
130
|
isSelected = _action$payload.isSelected;
|
|
131
|
+
var isAllSelected = draft.workspaceListFilters.every(function (filter) {
|
|
132
|
+
return filter.isSelected;
|
|
133
|
+
});
|
|
130
134
|
var index = draft.workspaceListFilters.findIndex(function (filter) {
|
|
131
135
|
return filter.id === id;
|
|
132
136
|
});
|
|
133
137
|
|
|
134
138
|
if (index !== -1) {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
139
|
+
if (isAllSelected) {
|
|
140
|
+
draft.workspaceListFilters.forEach(function (filter, index) {
|
|
141
|
+
draft.workspaceListFilters[index].isSelected = filter.id === id ? isSelected : false;
|
|
142
|
+
});
|
|
143
|
+
} else {
|
|
144
|
+
draft.workspaceListFilters[index] = Object.assign(Object.assign({}, draft.workspaceListFilters[index]), {
|
|
145
|
+
isSelected: isSelected
|
|
146
|
+
});
|
|
147
|
+
var isAllUnSelected = draft.workspaceListFilters.every(function (filter) {
|
|
148
|
+
return !filter.isSelected;
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
if (isAllUnSelected) {
|
|
152
|
+
draft.workspaceListFilters.forEach(function (_, index) {
|
|
153
|
+
draft.workspaceListFilters[index].isSelected = true;
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
138
157
|
}
|
|
139
158
|
},
|
|
140
159
|
setSelectAllFilterChip: function setSelectAllFilterChip(draft) {
|
|
@@ -143,6 +162,10 @@ var slice$3 = createSlice({
|
|
|
143
162
|
isSelected: true
|
|
144
163
|
});
|
|
145
164
|
});
|
|
165
|
+
},
|
|
166
|
+
searchFilter: function searchFilter(draft, action) {
|
|
167
|
+
var searchQuery = action.payload.searchQuery;
|
|
168
|
+
draft.searchQuery = searchQuery;
|
|
146
169
|
}
|
|
147
170
|
}
|
|
148
171
|
});
|
|
@@ -329,23 +352,11 @@ var API_NAME = 'workspacepresets';
|
|
|
329
352
|
var getIdFromUrl = function getIdFromUrl(url) {
|
|
330
353
|
return url && url.match(/[^/]+$/)[0];
|
|
331
354
|
};
|
|
332
|
-
var constructFilterParams = function constructFilterParams(filters) {
|
|
333
|
-
var _a;
|
|
334
|
-
|
|
335
|
-
var scopeFilter = ((_a = filters === null || filters === void 0 ? void 0 : filters.scope) === null || _a === void 0 ? void 0 : _a.length) ? {
|
|
336
|
-
scope: filters.scope.toString()
|
|
337
|
-
} : {};
|
|
338
|
-
return Object.assign({}, scopeFilter);
|
|
339
|
-
};
|
|
340
355
|
|
|
341
356
|
var getApiRoutes$1 = function getApiRoutes(axiosInstance) {
|
|
342
357
|
return {
|
|
343
358
|
// workspace presets
|
|
344
|
-
getWorkspacePresets: function getWorkspacePresets() {
|
|
345
|
-
var filters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
346
|
-
scope: []
|
|
347
|
-
};
|
|
348
|
-
var params = constructFilterParams(filters);
|
|
359
|
+
getWorkspacePresets: function getWorkspacePresets(params) {
|
|
349
360
|
return axiosInstance.get('/workspacepreset', {
|
|
350
361
|
params: params
|
|
351
362
|
});
|
|
@@ -388,8 +399,9 @@ var getApiRoutes$1 = function getApiRoutes(axiosInstance) {
|
|
|
388
399
|
};
|
|
389
400
|
|
|
390
401
|
var createApi$1 = function createApi(props) {
|
|
391
|
-
var
|
|
392
|
-
|
|
402
|
+
var authInstance = createApiInstance(props);
|
|
403
|
+
var nonAuthInstance = createNonAuthApiInstance(props);
|
|
404
|
+
return getApiRoutes$1(props.auth ? authInstance : nonAuthInstance);
|
|
393
405
|
};
|
|
394
406
|
|
|
395
407
|
var getWorkspaceApi = function getWorkspaceApi() {
|
|
@@ -676,6 +688,14 @@ var slice$2 = createSlice({
|
|
|
676
688
|
unregisterViewPreset: function unregisterViewPreset(draft, action) {
|
|
677
689
|
var panelId = action.payload.panelId;
|
|
678
690
|
viewPresetsAdapter.removeOne(draft, panelId);
|
|
691
|
+
},
|
|
692
|
+
// dialog actions
|
|
693
|
+
openViewPresetDialog: function openViewPresetDialog(draft, action) {
|
|
694
|
+
var viewPresetDialog = action.payload.viewPresetDialog;
|
|
695
|
+
draft.viewPresetDialog = viewPresetDialog;
|
|
696
|
+
},
|
|
697
|
+
closeViewPresetDialog: function closeViewPresetDialog(draft) {
|
|
698
|
+
delete draft.viewPresetDialog;
|
|
679
699
|
}
|
|
680
700
|
},
|
|
681
701
|
extraReducers: function extraReducers(builder) {
|
|
@@ -745,7 +765,7 @@ var initialState$3 = {
|
|
|
745
765
|
error: undefined,
|
|
746
766
|
hasChanges: false
|
|
747
767
|
};
|
|
748
|
-
var workspacePresetChangeActions = [viewPresetActions.selectViewPreset, syncGroupActions.syncGroupRemoveGroup, syncGroupActions.syncGroupAddGroup];
|
|
768
|
+
var workspacePresetChangeActions = [viewPresetActions.selectViewPreset, viewPresetActions.setActiveViewPresetId, syncGroupActions.syncGroupRemoveGroup, syncGroupActions.syncGroupAddGroup];
|
|
749
769
|
var slice$1 = createSlice({
|
|
750
770
|
initialState: initialState$3,
|
|
751
771
|
name: 'workspace',
|
|
@@ -974,6 +994,9 @@ var getViewPresetActiveId = function getViewPresetActiveId(store, panelId) {
|
|
|
974
994
|
|
|
975
995
|
return (_a = getViewPresetById(store, panelId)) === null || _a === void 0 ? void 0 : _a.activeViewPresetId;
|
|
976
996
|
};
|
|
997
|
+
var getDialogOptions = function getDialogOptions(store) {
|
|
998
|
+
return getViewPresetsStore(store).viewPresetDialog || undefined;
|
|
999
|
+
};
|
|
977
1000
|
|
|
978
1001
|
/* *
|
|
979
1002
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -3116,6 +3139,97 @@ var viewPresetsList = [
|
|
|
3116
3139
|
}
|
|
3117
3140
|
];
|
|
3118
3141
|
|
|
3142
|
+
/* *
|
|
3143
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3144
|
+
* you may not use this file except in compliance with the License.
|
|
3145
|
+
* You may obtain a copy of the License at
|
|
3146
|
+
*
|
|
3147
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3148
|
+
*
|
|
3149
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3150
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3151
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3152
|
+
* See the License for the specific language governing permissions and
|
|
3153
|
+
* limitations under the License.
|
|
3154
|
+
*
|
|
3155
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
3156
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
3157
|
+
* */
|
|
3158
|
+
var getSnackbarMessage$1 = function getSnackbarMessage(action, title) {
|
|
3159
|
+
// Trim and add quotes
|
|
3160
|
+
var trimmedTitle = "\"".concat(title.trim(), "\"");
|
|
3161
|
+
|
|
3162
|
+
switch (action) {
|
|
3163
|
+
case WorkspacePresetAction.DELETE:
|
|
3164
|
+
return "Workspace ".concat(trimmedTitle, " successfully deleted");
|
|
3165
|
+
|
|
3166
|
+
case WorkspacePresetAction.DUPLICATE:
|
|
3167
|
+
return "Workspace ".concat(trimmedTitle, " successfully saved");
|
|
3168
|
+
|
|
3169
|
+
default:
|
|
3170
|
+
return "Workspace ".concat(trimmedTitle, " successfully saved");
|
|
3171
|
+
}
|
|
3172
|
+
};
|
|
3173
|
+
var emptyMapWorkspace = {
|
|
3174
|
+
title: 'New workspace',
|
|
3175
|
+
id: 'FEnewWorkspace',
|
|
3176
|
+
"abstract": '',
|
|
3177
|
+
views: {
|
|
3178
|
+
allIds: ['emptyMapView'],
|
|
3179
|
+
byId: {
|
|
3180
|
+
emptyMapView: {
|
|
3181
|
+
title: 'Empty Map',
|
|
3182
|
+
componentType: 'Map',
|
|
3183
|
+
initialProps: {
|
|
3184
|
+
mapPreset: {
|
|
3185
|
+
layers: [],
|
|
3186
|
+
proj: {
|
|
3187
|
+
bbox: {
|
|
3188
|
+
left: 58703.6377,
|
|
3189
|
+
bottom: 6408480.4514,
|
|
3190
|
+
right: 3967387.5161,
|
|
3191
|
+
top: 11520588.9031
|
|
3192
|
+
},
|
|
3193
|
+
srs: 'EPSG:3857'
|
|
3194
|
+
},
|
|
3195
|
+
shouldShowLayerManager: true,
|
|
3196
|
+
dockedLayerManagerSize: 'sizeSmall'
|
|
3197
|
+
},
|
|
3198
|
+
syncGroupsIds: []
|
|
3199
|
+
}
|
|
3200
|
+
}
|
|
3201
|
+
}
|
|
3202
|
+
},
|
|
3203
|
+
mosaicNode: 'emptyMapView',
|
|
3204
|
+
viewType: 'singleWindow'
|
|
3205
|
+
};
|
|
3206
|
+
var getCleanSearchQuery = function getCleanSearchQuery(searchQuery) {
|
|
3207
|
+
return searchQuery.trim().split(/\s+/).join();
|
|
3208
|
+
};
|
|
3209
|
+
var constructFilterParams = function constructFilterParams(filters, searchQuery) {
|
|
3210
|
+
// get filters
|
|
3211
|
+
var _filters$reduce = filters.reduce(function (filterList, filter) {
|
|
3212
|
+
if (filter.isSelected && filter.type === 'scope') {
|
|
3213
|
+
return Object.assign(Object.assign({}, filter), {
|
|
3214
|
+
scope: filterList.scope.concat(filter.id)
|
|
3215
|
+
});
|
|
3216
|
+
}
|
|
3217
|
+
|
|
3218
|
+
return filterList;
|
|
3219
|
+
}, {
|
|
3220
|
+
scope: []
|
|
3221
|
+
}),
|
|
3222
|
+
scope = _filters$reduce.scope; // get search
|
|
3223
|
+
|
|
3224
|
+
|
|
3225
|
+
var search = getCleanSearchQuery(searchQuery);
|
|
3226
|
+
return Object.assign(Object.assign({}, scope.length && {
|
|
3227
|
+
scope: scope.toString()
|
|
3228
|
+
}), search.length && {
|
|
3229
|
+
search: search
|
|
3230
|
+
});
|
|
3231
|
+
};
|
|
3232
|
+
|
|
3119
3233
|
/* *
|
|
3120
3234
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3121
3235
|
* you may not use this file except in compliance with the License.
|
|
@@ -3143,24 +3257,37 @@ var extractViewPresetFromJSON = function extractViewPresetFromJSON(viewPresetId)
|
|
|
3143
3257
|
return element.id === viewPresetId;
|
|
3144
3258
|
});
|
|
3145
3259
|
};
|
|
3146
|
-
var filterWorkspacePresetList = function filterWorkspacePresetList() {
|
|
3147
|
-
|
|
3148
|
-
|
|
3149
|
-
|
|
3150
|
-
|
|
3260
|
+
var filterWorkspacePresetList = function filterWorkspacePresetList(params) {
|
|
3261
|
+
if (isEmpty(params)) {
|
|
3262
|
+
return workspacePresetsList;
|
|
3263
|
+
}
|
|
3264
|
+
|
|
3265
|
+
return workspacePresetsList.reduce(function (list, workspacePreset) {
|
|
3266
|
+
var _a;
|
|
3267
|
+
|
|
3268
|
+
if ((_a = params === null || params === void 0 ? void 0 : params.scope) === null || _a === void 0 ? void 0 : _a.includes(workspacePreset.scope)) {
|
|
3269
|
+
if (params.search) {
|
|
3270
|
+
var searchQuery = getCleanSearchQuery(params.search);
|
|
3271
|
+
var hasResult = searchQuery.split(',').every(function (query) {
|
|
3272
|
+
return workspacePreset.title.toLowerCase().includes(query.toLowerCase()) || workspacePreset["abstract"].toLowerCase().includes(query.toLowerCase());
|
|
3273
|
+
});
|
|
3274
|
+
return hasResult ? list.concat(workspacePreset) : list;
|
|
3275
|
+
}
|
|
3276
|
+
|
|
3277
|
+
return list.concat(workspacePreset);
|
|
3278
|
+
}
|
|
3279
|
+
|
|
3280
|
+
return list;
|
|
3281
|
+
}, []);
|
|
3151
3282
|
};
|
|
3152
3283
|
|
|
3153
3284
|
var getApiRoutes = function getApiRoutes(axiosInstance) {
|
|
3154
3285
|
return {
|
|
3155
|
-
getWorkspacePresets: function getWorkspacePresets() {
|
|
3156
|
-
var filters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
3157
|
-
scope: []
|
|
3158
|
-
};
|
|
3159
|
-
var params = constructFilterParams(filters);
|
|
3286
|
+
getWorkspacePresets: function getWorkspacePresets(params) {
|
|
3160
3287
|
return axiosInstance.get('/workspacepreset', {
|
|
3161
3288
|
params: params
|
|
3162
3289
|
}).then(function () {
|
|
3163
|
-
var data =
|
|
3290
|
+
var data = filterWorkspacePresetList(params);
|
|
3164
3291
|
return {
|
|
3165
3292
|
data: data
|
|
3166
3293
|
};
|
|
@@ -3729,90 +3856,90 @@ var WorkspaceListErrorType;
|
|
|
3729
3856
|
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
3730
3857
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
3731
3858
|
* */
|
|
3732
|
-
var
|
|
3733
|
-
|
|
3734
|
-
|
|
3859
|
+
var getWorkspaceListStore = function getWorkspaceListStore(store) {
|
|
3860
|
+
if (store && store.workspaceList) {
|
|
3861
|
+
return store.workspaceList;
|
|
3862
|
+
}
|
|
3735
3863
|
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3864
|
+
return null;
|
|
3865
|
+
};
|
|
3866
|
+
var getIsWorkspaceListFetching = function getIsWorkspaceListFetching(store) {
|
|
3867
|
+
var _a;
|
|
3739
3868
|
|
|
3740
|
-
|
|
3741
|
-
|
|
3869
|
+
return ((_a = getWorkspaceListStore(store)) === null || _a === void 0 ? void 0 : _a.isFetching) || false;
|
|
3870
|
+
};
|
|
3871
|
+
var getWorkspaceListError = function getWorkspaceListError(store) {
|
|
3872
|
+
var _a;
|
|
3742
3873
|
|
|
3743
|
-
|
|
3744
|
-
return "Workspace ".concat(trimmedTitle, " successfully saved");
|
|
3745
|
-
}
|
|
3874
|
+
return (_a = getWorkspaceListStore(store)) === null || _a === void 0 ? void 0 : _a.error;
|
|
3746
3875
|
};
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
},
|
|
3777
|
-
mosaicNode: 'emptyMapView',
|
|
3778
|
-
viewType: 'singleWindow'
|
|
3876
|
+
|
|
3877
|
+
var _workspaceListAdapter = workspaceListAdapter.getSelectors(function (state) {
|
|
3878
|
+
var _a;
|
|
3879
|
+
|
|
3880
|
+
return (_a = state === null || state === void 0 ? void 0 : state.workspaceList) !== null && _a !== void 0 ? _a : {
|
|
3881
|
+
entities: {},
|
|
3882
|
+
ids: []
|
|
3883
|
+
};
|
|
3884
|
+
}),
|
|
3885
|
+
getWorkspaceList = _workspaceListAdapter.selectAll;
|
|
3886
|
+
var getWorkspaceActionDialogDetails = function getWorkspaceActionDialogDetails(store) {
|
|
3887
|
+
var _a;
|
|
3888
|
+
|
|
3889
|
+
return ((_a = getWorkspaceListStore(store)) === null || _a === void 0 ? void 0 : _a.workspaceActionDialog) || false;
|
|
3890
|
+
};
|
|
3891
|
+
var getIsWorkspaceListDialogOpen = function getIsWorkspaceListDialogOpen(store) {
|
|
3892
|
+
var _a;
|
|
3893
|
+
|
|
3894
|
+
return ((_a = getWorkspaceListStore(store)) === null || _a === void 0 ? void 0 : _a.isWorkspaceListDialogOpen) || false;
|
|
3895
|
+
};
|
|
3896
|
+
var getWorkspaceListFilters = function getWorkspaceListFilters(store) {
|
|
3897
|
+
var _a;
|
|
3898
|
+
|
|
3899
|
+
return ((_a = getWorkspaceListStore(store)) === null || _a === void 0 ? void 0 : _a.workspaceListFilters) || [];
|
|
3900
|
+
};
|
|
3901
|
+
var getWorkspaceListSearchQuery = function getWorkspaceListSearchQuery(store) {
|
|
3902
|
+
var _a;
|
|
3903
|
+
|
|
3904
|
+
return ((_a = getWorkspaceListStore(store)) === null || _a === void 0 ? void 0 : _a.searchQuery) || '';
|
|
3779
3905
|
};
|
|
3780
3906
|
|
|
3781
3907
|
var _marked$1 = /*#__PURE__*/regeneratorRuntime.mark(fetchWorkspaceListSaga),
|
|
3782
3908
|
_marked2$1 = /*#__PURE__*/regeneratorRuntime.mark(onSuccessWorkspacePresetsActionSaga),
|
|
3783
3909
|
_marked3$1 = /*#__PURE__*/regeneratorRuntime.mark(rootSaga$1);
|
|
3784
|
-
function fetchWorkspaceListSaga() {
|
|
3785
|
-
var workspaceApi, _yield$call, data;
|
|
3910
|
+
function fetchWorkspaceListSaga(_ref) {
|
|
3911
|
+
var workspaceFilterParams, workspaceApi, _yield$call, data;
|
|
3786
3912
|
|
|
3787
3913
|
return regeneratorRuntime.wrap(function fetchWorkspaceListSaga$(_context) {
|
|
3788
3914
|
while (1) {
|
|
3789
3915
|
switch (_context.prev = _context.next) {
|
|
3790
3916
|
case 0:
|
|
3791
|
-
|
|
3792
|
-
_context.
|
|
3917
|
+
workspaceFilterParams = _ref.payload;
|
|
3918
|
+
_context.prev = 1;
|
|
3919
|
+
_context.next = 4;
|
|
3793
3920
|
return call(getWorkspaceApi);
|
|
3794
3921
|
|
|
3795
|
-
case
|
|
3922
|
+
case 4:
|
|
3796
3923
|
workspaceApi = _context.sent;
|
|
3797
|
-
_context.next =
|
|
3798
|
-
return call(workspaceApi.getWorkspacePresets);
|
|
3924
|
+
_context.next = 7;
|
|
3925
|
+
return call(workspaceApi.getWorkspacePresets, workspaceFilterParams);
|
|
3799
3926
|
|
|
3800
|
-
case
|
|
3927
|
+
case 7:
|
|
3801
3928
|
_yield$call = _context.sent;
|
|
3802
3929
|
data = _yield$call.data;
|
|
3803
|
-
_context.next =
|
|
3930
|
+
_context.next = 11;
|
|
3804
3931
|
return put(workspaceListActions.fetchedWorkspaceList({
|
|
3805
3932
|
workspaceList: data
|
|
3806
3933
|
}));
|
|
3807
3934
|
|
|
3808
|
-
case
|
|
3809
|
-
_context.next =
|
|
3935
|
+
case 11:
|
|
3936
|
+
_context.next = 17;
|
|
3810
3937
|
break;
|
|
3811
3938
|
|
|
3812
|
-
case
|
|
3813
|
-
_context.prev =
|
|
3814
|
-
_context.t0 = _context["catch"](
|
|
3815
|
-
_context.next =
|
|
3939
|
+
case 13:
|
|
3940
|
+
_context.prev = 13;
|
|
3941
|
+
_context.t0 = _context["catch"](1);
|
|
3942
|
+
_context.next = 17;
|
|
3816
3943
|
return put(workspaceListActions.errorWorkspaceList({
|
|
3817
3944
|
error: {
|
|
3818
3945
|
message: 'Error fetching workspace preset list',
|
|
@@ -3820,20 +3947,20 @@ function fetchWorkspaceListSaga() {
|
|
|
3820
3947
|
}
|
|
3821
3948
|
}));
|
|
3822
3949
|
|
|
3823
|
-
case
|
|
3950
|
+
case 17:
|
|
3824
3951
|
case "end":
|
|
3825
3952
|
return _context.stop();
|
|
3826
3953
|
}
|
|
3827
3954
|
}
|
|
3828
|
-
}, _marked$1, null, [[
|
|
3955
|
+
}, _marked$1, null, [[1, 13]]);
|
|
3829
3956
|
}
|
|
3830
|
-
function onSuccessWorkspacePresetsActionSaga(
|
|
3831
|
-
var payload, action, workspaceId, title, selectedWorkspace;
|
|
3957
|
+
function onSuccessWorkspacePresetsActionSaga(_ref2) {
|
|
3958
|
+
var payload, action, workspaceId, title, selectedWorkspace, workspaceFilters, searchQuery;
|
|
3832
3959
|
return regeneratorRuntime.wrap(function onSuccessWorkspacePresetsActionSaga$(_context2) {
|
|
3833
3960
|
while (1) {
|
|
3834
3961
|
switch (_context2.prev = _context2.next) {
|
|
3835
3962
|
case 0:
|
|
3836
|
-
payload =
|
|
3963
|
+
payload = _ref2.payload;
|
|
3837
3964
|
action = payload.action, workspaceId = payload.workspaceId, title = payload.title;
|
|
3838
3965
|
_context2.next = 4;
|
|
3839
3966
|
return put(snackbarActions.openSnackbar({
|
|
@@ -3876,9 +4003,19 @@ function onSuccessWorkspacePresetsActionSaga(_ref) {
|
|
|
3876
4003
|
|
|
3877
4004
|
case 15:
|
|
3878
4005
|
_context2.next = 17;
|
|
3879
|
-
return
|
|
4006
|
+
return select(getWorkspaceListFilters);
|
|
3880
4007
|
|
|
3881
4008
|
case 17:
|
|
4009
|
+
workspaceFilters = _context2.sent;
|
|
4010
|
+
_context2.next = 20;
|
|
4011
|
+
return select(getWorkspaceListSearchQuery);
|
|
4012
|
+
|
|
4013
|
+
case 20:
|
|
4014
|
+
searchQuery = _context2.sent;
|
|
4015
|
+
_context2.next = 23;
|
|
4016
|
+
return call(fetchWorkspaceListSaga, workspaceListActions.fetchWorkspaceList(constructFilterParams(workspaceFilters, searchQuery)));
|
|
4017
|
+
|
|
4018
|
+
case 23:
|
|
3882
4019
|
case "end":
|
|
3883
4020
|
return _context2.stop();
|
|
3884
4021
|
}
|
|
@@ -4459,7 +4596,7 @@ function rootSaga() {
|
|
|
4459
4596
|
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4460
4597
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
4461
4598
|
* */
|
|
4462
|
-
var
|
|
4599
|
+
var workspaceModuleConfig = {
|
|
4463
4600
|
id: 'workspace-module',
|
|
4464
4601
|
reducersMap: {
|
|
4465
4602
|
workspace: reducer$1,
|
|
@@ -13595,7 +13732,7 @@ var WorkspaceDndProvider = function WorkspaceDndProvider(_ref) {
|
|
|
13595
13732
|
}, children);
|
|
13596
13733
|
};
|
|
13597
13734
|
|
|
13598
|
-
var
|
|
13735
|
+
var WorkspaceThemeProvider = function WorkspaceThemeProvider(_ref) {
|
|
13599
13736
|
var children = _ref.children,
|
|
13600
13737
|
_ref$theme = _ref.theme,
|
|
13601
13738
|
theme = _ref$theme === void 0 ? lightTheme : _ref$theme;
|
|
@@ -13603,14 +13740,14 @@ var ScreenManagerThemeProvider = function ScreenManagerThemeProvider(_ref) {
|
|
|
13603
13740
|
theme: theme
|
|
13604
13741
|
}, /*#__PURE__*/React__default.createElement(WorkspaceDndProvider, null, children));
|
|
13605
13742
|
};
|
|
13606
|
-
var
|
|
13743
|
+
var WorkspaceWrapperProvider = withEggs([].concat(_toConsumableArray$3(coreModuleConfig), [timeSeriesModuleConfig, workspaceModuleConfig]))(function (_ref2) {
|
|
13607
13744
|
var theme = _ref2.theme,
|
|
13608
13745
|
children = _ref2.children;
|
|
13609
|
-
return /*#__PURE__*/React__default.createElement(
|
|
13746
|
+
return /*#__PURE__*/React__default.createElement(WorkspaceThemeProvider, {
|
|
13610
13747
|
theme: theme
|
|
13611
13748
|
}, children);
|
|
13612
13749
|
});
|
|
13613
|
-
var
|
|
13750
|
+
var WorkspaceWrapperProviderWithStore = function WorkspaceWrapperProviderWithStore(_ref3) {
|
|
13614
13751
|
var children = _ref3.children,
|
|
13615
13752
|
store = _ref3.store,
|
|
13616
13753
|
_ref3$createApi = _ref3.createApi,
|
|
@@ -13621,7 +13758,7 @@ var ScreenManagerWrapperProviderWithStore = function ScreenManagerWrapperProvide
|
|
|
13621
13758
|
name: API_NAME
|
|
13622
13759
|
}, /*#__PURE__*/React__default.createElement(Provider, {
|
|
13623
13760
|
store: store
|
|
13624
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
13761
|
+
}, /*#__PURE__*/React__default.createElement(WorkspaceWrapperProvider, {
|
|
13625
13762
|
theme: theme
|
|
13626
13763
|
}, /*#__PURE__*/React__default.createElement(SnackbarWrapperConnect, null, children))));
|
|
13627
13764
|
};
|
|
@@ -13653,7 +13790,7 @@ var WorkspaceModuleProvider = function WorkspaceModuleProvider(_ref) {
|
|
|
13653
13790
|
createApi: config.baseURL ? createApi$1 : createApiWithoutSave,
|
|
13654
13791
|
config: config,
|
|
13655
13792
|
name: API_NAME
|
|
13656
|
-
}, /*#__PURE__*/React.createElement(
|
|
13793
|
+
}, /*#__PURE__*/React.createElement(WorkspaceDndProvider, null, children));
|
|
13657
13794
|
};
|
|
13658
13795
|
|
|
13659
13796
|
/*! *****************************************************************************
|
|
@@ -13717,7 +13854,7 @@ var buttonStyle = {
|
|
|
13717
13854
|
marginRight: 0.5
|
|
13718
13855
|
};
|
|
13719
13856
|
|
|
13720
|
-
var
|
|
13857
|
+
var WorkspaceControls = function WorkspaceControls(_ref) {
|
|
13721
13858
|
var createNode = _ref.createNode,
|
|
13722
13859
|
path = _ref.path,
|
|
13723
13860
|
_ref$shouldPreventClo = _ref.shouldPreventCloseView,
|
|
@@ -13968,7 +14105,7 @@ var createBalancedMosaicNode = function createBalancedMosaicNode(currentNode) {
|
|
|
13968
14105
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
13969
14106
|
* */
|
|
13970
14107
|
|
|
13971
|
-
var
|
|
14108
|
+
var WorkspaceTileConnect = function WorkspaceTileConnect(_ref) {
|
|
13972
14109
|
var _ref$mosaicNodeId = _ref.mosaicNodeId,
|
|
13973
14110
|
mosaicNodeId = _ref$mosaicNodeId === void 0 ? '' : _ref$mosaicNodeId,
|
|
13974
14111
|
path = _ref.path,
|
|
@@ -14044,7 +14181,7 @@ var ScreenManagerTileConnect = function ScreenManagerTileConnect(_ref) {
|
|
|
14044
14181
|
path: path,
|
|
14045
14182
|
createNode: createNode,
|
|
14046
14183
|
title: title,
|
|
14047
|
-
toolbarControls: /*#__PURE__*/React.createElement(
|
|
14184
|
+
toolbarControls: /*#__PURE__*/React.createElement(WorkspaceControls, {
|
|
14048
14185
|
createNode: createNode,
|
|
14049
14186
|
path: path,
|
|
14050
14187
|
shouldPreventCloseView: shouldPreventCloseView
|
|
@@ -14078,7 +14215,7 @@ var ScreenManagerTileConnect = function ScreenManagerTileConnect(_ref) {
|
|
|
14078
14215
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
14079
14216
|
* */
|
|
14080
14217
|
|
|
14081
|
-
var
|
|
14218
|
+
var WorkspaceView = function WorkspaceView(_ref) {
|
|
14082
14219
|
var screenConfig = _ref.screenConfig,
|
|
14083
14220
|
componentsLookUp = _ref.componentsLookUp,
|
|
14084
14221
|
updateViews = _ref.updateViews,
|
|
@@ -14161,7 +14298,7 @@ var ScreenManagerView = function ScreenManagerView(_ref) {
|
|
|
14161
14298
|
width: '100%'
|
|
14162
14299
|
},
|
|
14163
14300
|
'.mosaic-window .mosaic-window-toolbar': {
|
|
14164
|
-
backgroundColor: windowIsActive ? theme.palette.geowebColors.
|
|
14301
|
+
backgroundColor: windowIsActive ? theme.palette.geowebColors.workspace.activeWindow : theme.palette.geowebColors.workspace.inactiveWindow
|
|
14165
14302
|
},
|
|
14166
14303
|
'.mosaic-window-toolbar .MuiSvgIcon-root': {
|
|
14167
14304
|
fill: windowIsActive ? theme.palette.geowebColors.buttons.flat["default"].color : theme.palette.geowebColors.buttons.flat.disabled.color
|
|
@@ -14174,7 +14311,7 @@ var ScreenManagerView = function ScreenManagerView(_ref) {
|
|
|
14174
14311
|
}
|
|
14175
14312
|
};
|
|
14176
14313
|
}
|
|
14177
|
-
}, /*#__PURE__*/React.createElement(
|
|
14314
|
+
}, /*#__PURE__*/React.createElement(WorkspaceTileConnect, {
|
|
14178
14315
|
mosaicNodeId: viewId,
|
|
14179
14316
|
path: path,
|
|
14180
14317
|
componentsLookUp: componentsLookUp
|
|
@@ -14229,7 +14366,7 @@ var useControlActiveWindowId = function useControlActiveWindowId(screenConfig, a
|
|
|
14229
14366
|
* Copyright 2022 - Finnish Meteorological Institute (FMI)
|
|
14230
14367
|
* */
|
|
14231
14368
|
|
|
14232
|
-
var
|
|
14369
|
+
var WorkspaceViewConnect = function WorkspaceViewConnect(_ref) {
|
|
14233
14370
|
var componentsLookUp = _ref.componentsLookUp;
|
|
14234
14371
|
var dispatch = useDispatch();
|
|
14235
14372
|
var isWorkspaceLoading$1 = useSelector(function (store) {
|
|
@@ -14266,7 +14403,7 @@ var ScreenManagerViewConnect = function ScreenManagerViewConnect(_ref) {
|
|
|
14266
14403
|
return window.removeEventListener('orientationchange', handleOrientationChange);
|
|
14267
14404
|
};
|
|
14268
14405
|
}, [handleOrientationChange]);
|
|
14269
|
-
return /*#__PURE__*/React__default.createElement(ConfirmationServiceProvider, null, /*#__PURE__*/React__default.createElement(
|
|
14406
|
+
return /*#__PURE__*/React__default.createElement(ConfirmationServiceProvider, null, /*#__PURE__*/React__default.createElement(WorkspaceView, {
|
|
14270
14407
|
screenConfig: screenConfig,
|
|
14271
14408
|
componentsLookUp: componentsLookUp,
|
|
14272
14409
|
updateViews: updateViews,
|
|
@@ -14292,96 +14429,44 @@ var ScreenManagerViewConnect = function ScreenManagerViewConnect(_ref) {
|
|
|
14292
14429
|
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
14293
14430
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
14294
14431
|
* */
|
|
14295
|
-
var
|
|
14296
|
-
|
|
14297
|
-
|
|
14298
|
-
|
|
14432
|
+
var getPresetIcon = function getPresetIcon(preset) {
|
|
14433
|
+
switch (preset.viewType) {
|
|
14434
|
+
case 'tiledWindow':
|
|
14435
|
+
return /*#__PURE__*/React__default.createElement(PresetTiles, {
|
|
14436
|
+
"data-testid": "tiledWindowIcon"
|
|
14437
|
+
});
|
|
14299
14438
|
|
|
14300
|
-
|
|
14301
|
-
|
|
14302
|
-
|
|
14303
|
-
|
|
14439
|
+
case 'multiWindow':
|
|
14440
|
+
return /*#__PURE__*/React__default.createElement(PresetWorkspace, {
|
|
14441
|
+
"data-testid": "multiWindowIcon"
|
|
14442
|
+
});
|
|
14304
14443
|
|
|
14305
|
-
|
|
14444
|
+
case 'singleWindow':
|
|
14445
|
+
default:
|
|
14446
|
+
return /*#__PURE__*/React__default.createElement(Preset, {
|
|
14447
|
+
"data-testid": "singleWindowIcon"
|
|
14448
|
+
});
|
|
14449
|
+
}
|
|
14306
14450
|
};
|
|
14307
|
-
var getWorkspaceListError = function getWorkspaceListError(store) {
|
|
14308
|
-
var _a;
|
|
14309
14451
|
|
|
14310
|
-
|
|
14311
|
-
|
|
14452
|
+
var WorkspaceSelectListRow = function WorkspaceSelectListRow(_ref) {
|
|
14453
|
+
var workspacePreset = _ref.workspacePreset,
|
|
14454
|
+
currentSelectedId = _ref.currentSelectedId,
|
|
14455
|
+
onClickPreset = _ref.onClickPreset,
|
|
14456
|
+
onClickWorkspacePresetOption = _ref.onClickWorkspacePresetOption,
|
|
14457
|
+
_ref$isOptionsMenuOpe = _ref.isOptionsMenuOpen,
|
|
14458
|
+
isOptionsMenuOpen = _ref$isOptionsMenuOpe === void 0 ? false : _ref$isOptionsMenuOpe,
|
|
14459
|
+
_ref$searchQuery = _ref.searchQuery,
|
|
14460
|
+
searchQuery = _ref$searchQuery === void 0 ? '' : _ref$searchQuery;
|
|
14312
14461
|
|
|
14313
|
-
var
|
|
14314
|
-
|
|
14315
|
-
|
|
14316
|
-
|
|
14317
|
-
|
|
14318
|
-
|
|
14319
|
-
|
|
14320
|
-
}
|
|
14321
|
-
getWorkspaceList = _workspaceListAdapter.selectAll;
|
|
14322
|
-
var getWorkspaceActionDialogDetails = function getWorkspaceActionDialogDetails(store) {
|
|
14323
|
-
var _a;
|
|
14324
|
-
|
|
14325
|
-
return ((_a = getWorkspaceListStore(store)) === null || _a === void 0 ? void 0 : _a.workspaceActionDialog) || false;
|
|
14326
|
-
};
|
|
14327
|
-
var getIsWorkspaceListDialogOpen = function getIsWorkspaceListDialogOpen(store) {
|
|
14328
|
-
var _a;
|
|
14329
|
-
|
|
14330
|
-
return ((_a = getWorkspaceListStore(store)) === null || _a === void 0 ? void 0 : _a.isWorkspaceListDialogOpen) || false;
|
|
14331
|
-
};
|
|
14332
|
-
|
|
14333
|
-
/* *
|
|
14334
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14335
|
-
* you may not use this file except in compliance with the License.
|
|
14336
|
-
* You may obtain a copy of the License at
|
|
14337
|
-
*
|
|
14338
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14339
|
-
*
|
|
14340
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
14341
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14342
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14343
|
-
* See the License for the specific language governing permissions and
|
|
14344
|
-
* limitations under the License.
|
|
14345
|
-
*
|
|
14346
|
-
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
14347
|
-
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
14348
|
-
* */
|
|
14349
|
-
var getPresetIcon = function getPresetIcon(preset) {
|
|
14350
|
-
switch (preset.viewType) {
|
|
14351
|
-
case 'tiledWindow':
|
|
14352
|
-
return /*#__PURE__*/React__default.createElement(PresetTiles, {
|
|
14353
|
-
"data-testid": "tiledWindowIcon"
|
|
14354
|
-
});
|
|
14355
|
-
|
|
14356
|
-
case 'multiWindow':
|
|
14357
|
-
return /*#__PURE__*/React__default.createElement(PresetWorkspace, {
|
|
14358
|
-
"data-testid": "multiWindowIcon"
|
|
14359
|
-
});
|
|
14360
|
-
|
|
14361
|
-
case 'singleWindow':
|
|
14362
|
-
default:
|
|
14363
|
-
return /*#__PURE__*/React__default.createElement(Preset, {
|
|
14364
|
-
"data-testid": "singleWindowIcon"
|
|
14365
|
-
});
|
|
14366
|
-
}
|
|
14367
|
-
};
|
|
14368
|
-
|
|
14369
|
-
var WorkspaceSelectListRow = function WorkspaceSelectListRow(_ref) {
|
|
14370
|
-
var workspacePreset = _ref.workspacePreset,
|
|
14371
|
-
currentSelectedId = _ref.currentSelectedId,
|
|
14372
|
-
onClickPreset = _ref.onClickPreset,
|
|
14373
|
-
onClickWorkspacePresetOption = _ref.onClickWorkspacePresetOption,
|
|
14374
|
-
_ref$isOptionsMenuOpe = _ref.isOptionsMenuOpen,
|
|
14375
|
-
isOptionsMenuOpen = _ref$isOptionsMenuOpe === void 0 ? false : _ref$isOptionsMenuOpe;
|
|
14376
|
-
|
|
14377
|
-
var onDuplicate = function onDuplicate() {
|
|
14378
|
-
onClickWorkspacePresetOption(workspacePreset.id, WorkspacePresetAction.DUPLICATE);
|
|
14379
|
-
}; // const onEdit = (): void => {
|
|
14380
|
-
// onClickWorkspacePresetOption(
|
|
14381
|
-
// workspacePreset.id,
|
|
14382
|
-
// WorkspacePresetAction.EDIT,
|
|
14383
|
-
// );
|
|
14384
|
-
// };
|
|
14462
|
+
var onDuplicate = function onDuplicate() {
|
|
14463
|
+
onClickWorkspacePresetOption(workspacePreset.id, WorkspacePresetAction.DUPLICATE);
|
|
14464
|
+
}; // const onEdit = (): void => {
|
|
14465
|
+
// onClickWorkspacePresetOption(
|
|
14466
|
+
// workspacePreset.id,
|
|
14467
|
+
// WorkspacePresetAction.EDIT,
|
|
14468
|
+
// );
|
|
14469
|
+
// };
|
|
14385
14470
|
|
|
14386
14471
|
|
|
14387
14472
|
return /*#__PURE__*/React__default.createElement(ListItem, {
|
|
@@ -14417,8 +14502,14 @@ var WorkspaceSelectListRow = function WorkspaceSelectListRow(_ref) {
|
|
|
14417
14502
|
}, /*#__PURE__*/React__default.createElement(ListItemIcon, null, getPresetIcon(workspacePreset)), /*#__PURE__*/React__default.createElement(CustomTooltip, {
|
|
14418
14503
|
title: workspacePreset.title
|
|
14419
14504
|
}, /*#__PURE__*/React__default.createElement(ListItemText, {
|
|
14420
|
-
primary:
|
|
14421
|
-
|
|
14505
|
+
primary: /*#__PURE__*/React__default.createElement(SearchHighlight, {
|
|
14506
|
+
text: workspacePreset === null || workspacePreset === void 0 ? void 0 : workspacePreset.title,
|
|
14507
|
+
search: searchQuery
|
|
14508
|
+
}),
|
|
14509
|
+
secondary: /*#__PURE__*/React__default.createElement(SearchHighlight, {
|
|
14510
|
+
text: workspacePreset === null || workspacePreset === void 0 ? void 0 : workspacePreset["abstract"],
|
|
14511
|
+
search: searchQuery
|
|
14512
|
+
}),
|
|
14422
14513
|
sx: {
|
|
14423
14514
|
margin: 0
|
|
14424
14515
|
}
|
|
@@ -14484,7 +14575,9 @@ var WorkspaceSelectList = function WorkspaceSelectList(_ref) {
|
|
|
14484
14575
|
var workspacePresets = _ref.workspacePresets,
|
|
14485
14576
|
currentSelectedId = _ref.currentSelectedId,
|
|
14486
14577
|
onClickPreset = _ref.onClickPreset,
|
|
14487
|
-
onClickWorkspacePresetOption = _ref.onClickWorkspacePresetOption
|
|
14578
|
+
onClickWorkspacePresetOption = _ref.onClickWorkspacePresetOption,
|
|
14579
|
+
hideNewWorkspace = _ref.hideNewWorkspace,
|
|
14580
|
+
searchQuery = _ref.searchQuery;
|
|
14488
14581
|
return /*#__PURE__*/React.createElement(Box, {
|
|
14489
14582
|
"data-testid": "workspaceSelectList"
|
|
14490
14583
|
}, /*#__PURE__*/React.createElement(Box, {
|
|
@@ -14492,23 +14585,221 @@ var WorkspaceSelectList = function WorkspaceSelectList(_ref) {
|
|
|
14492
14585
|
marginBottom: '4px',
|
|
14493
14586
|
fontSize: '12px'
|
|
14494
14587
|
}
|
|
14495
|
-
}, workspacePresets.length, " results"), /*#__PURE__*/React.createElement(List, null, /*#__PURE__*/React.createElement(WorkspaceSelectListRow, {
|
|
14588
|
+
}, workspacePresets.length, " results"), /*#__PURE__*/React.createElement(List, null, !hideNewWorkspace && /*#__PURE__*/React.createElement(WorkspaceSelectListRow, {
|
|
14589
|
+
key: emptyMapWorkspace.id,
|
|
14496
14590
|
workspacePreset: emptyWorkspaceListItem,
|
|
14497
14591
|
currentSelectedId: currentSelectedId,
|
|
14498
14592
|
onClickPreset: onClickPreset,
|
|
14499
|
-
onClickWorkspacePresetOption: onClickWorkspacePresetOption
|
|
14500
|
-
key: emptyMapWorkspace.id
|
|
14593
|
+
onClickWorkspacePresetOption: onClickWorkspacePresetOption
|
|
14501
14594
|
}), workspacePresets.map(function (preset) {
|
|
14502
14595
|
return /*#__PURE__*/React.createElement(WorkspaceSelectListRow, {
|
|
14596
|
+
key: preset.id,
|
|
14503
14597
|
workspacePreset: preset,
|
|
14504
14598
|
currentSelectedId: currentSelectedId,
|
|
14505
14599
|
onClickPreset: onClickPreset,
|
|
14506
14600
|
onClickWorkspacePresetOption: onClickWorkspacePresetOption,
|
|
14507
|
-
|
|
14601
|
+
searchQuery: searchQuery
|
|
14508
14602
|
});
|
|
14509
14603
|
})));
|
|
14510
14604
|
};
|
|
14511
14605
|
|
|
14606
|
+
/* *
|
|
14607
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14608
|
+
* you may not use this file except in compliance with the License.
|
|
14609
|
+
* You may obtain a copy of the License at
|
|
14610
|
+
*
|
|
14611
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14612
|
+
*
|
|
14613
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14614
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14615
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14616
|
+
* See the License for the specific language governing permissions and
|
|
14617
|
+
* limitations under the License.
|
|
14618
|
+
*
|
|
14619
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
14620
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
14621
|
+
* */
|
|
14622
|
+
|
|
14623
|
+
var FilterChip = function FilterChip(_ref) {
|
|
14624
|
+
var label = _ref.label,
|
|
14625
|
+
id = _ref.id,
|
|
14626
|
+
_ref$isSelected = _ref.isSelected,
|
|
14627
|
+
isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
|
|
14628
|
+
_ref$isDisabled = _ref.isDisabled,
|
|
14629
|
+
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
14630
|
+
_ref$handleClick = _ref.handleClick,
|
|
14631
|
+
handleClick = _ref$handleClick === void 0 ? function () {} : _ref$handleClick;
|
|
14632
|
+
var theme = useTheme();
|
|
14633
|
+
return /*#__PURE__*/React.createElement(Chip, {
|
|
14634
|
+
size: "small",
|
|
14635
|
+
id: id,
|
|
14636
|
+
label: label,
|
|
14637
|
+
disabled: isDisabled,
|
|
14638
|
+
variant: isSelected ? 'filled' : 'outlined',
|
|
14639
|
+
color: isSelected ? 'secondary' : 'default',
|
|
14640
|
+
sx: {
|
|
14641
|
+
borderColor: "".concat(theme.palette.geowebColors.buttons.tertiary["default"].borderColor),
|
|
14642
|
+
padding: '0px 4px'
|
|
14643
|
+
},
|
|
14644
|
+
onClick: function onClick() {
|
|
14645
|
+
return handleClick(id);
|
|
14646
|
+
}
|
|
14647
|
+
});
|
|
14648
|
+
};
|
|
14649
|
+
|
|
14650
|
+
/* *
|
|
14651
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14652
|
+
* you may not use this file except in compliance with the License.
|
|
14653
|
+
* You may obtain a copy of the License at
|
|
14654
|
+
*
|
|
14655
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14656
|
+
*
|
|
14657
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14658
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14659
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14660
|
+
* See the License for the specific language governing permissions and
|
|
14661
|
+
* limitations under the License.
|
|
14662
|
+
*
|
|
14663
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
14664
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
14665
|
+
* */
|
|
14666
|
+
var allLabel = 'All';
|
|
14667
|
+
|
|
14668
|
+
var FilterList = function FilterList(_ref) {
|
|
14669
|
+
var _ref$filters = _ref.filters,
|
|
14670
|
+
filters = _ref$filters === void 0 ? workspaceListFilterOptions : _ref$filters,
|
|
14671
|
+
_ref$onChipClick = _ref.onChipClick,
|
|
14672
|
+
onChipClick = _ref$onChipClick === void 0 ? function () {} : _ref$onChipClick,
|
|
14673
|
+
_ref$isAllSelected = _ref.isAllSelected,
|
|
14674
|
+
isAllSelected = _ref$isAllSelected === void 0 ? false : _ref$isAllSelected;
|
|
14675
|
+
return /*#__PURE__*/React.createElement(Stack, {
|
|
14676
|
+
direction: "row",
|
|
14677
|
+
spacing: 1,
|
|
14678
|
+
"data-testid": "filterList"
|
|
14679
|
+
}, /*#__PURE__*/React.createElement(FilterChip, {
|
|
14680
|
+
id: "all",
|
|
14681
|
+
label: allLabel,
|
|
14682
|
+
isSelected: isAllSelected,
|
|
14683
|
+
handleClick: function handleClick(key) {
|
|
14684
|
+
return onChipClick(key, !isAllSelected);
|
|
14685
|
+
}
|
|
14686
|
+
}), filters.map(function (filter) {
|
|
14687
|
+
return /*#__PURE__*/React.createElement(FilterChip, {
|
|
14688
|
+
key: filter.id,
|
|
14689
|
+
id: filter.id,
|
|
14690
|
+
label: filter.label,
|
|
14691
|
+
isSelected: isAllSelected ? false : filter.isSelected,
|
|
14692
|
+
isDisabled: filter.isDisabled,
|
|
14693
|
+
handleClick: function handleClick(key) {
|
|
14694
|
+
// If they are all isSelected ensure that if one is clicked that one will be the only one set to selected
|
|
14695
|
+
var selected = isAllSelected ? true : !filter.isSelected;
|
|
14696
|
+
onChipClick(key, selected);
|
|
14697
|
+
}
|
|
14698
|
+
});
|
|
14699
|
+
}));
|
|
14700
|
+
};
|
|
14701
|
+
|
|
14702
|
+
var DEBOUNCE_TIMEOUT = 300;
|
|
14703
|
+
|
|
14704
|
+
var SearchField = function SearchField(_ref) {
|
|
14705
|
+
var _ref$label = _ref.label,
|
|
14706
|
+
label = _ref$label === void 0 ? 'Search' : _ref$label,
|
|
14707
|
+
valueChanged = _ref.valueChanged,
|
|
14708
|
+
_ref$value = _ref.value,
|
|
14709
|
+
value = _ref$value === void 0 ? '' : _ref$value;
|
|
14710
|
+
|
|
14711
|
+
var _React$useState = React.useState(value),
|
|
14712
|
+
_React$useState2 = _slicedToArray$9(_React$useState, 2),
|
|
14713
|
+
localValue = _React$useState2[0],
|
|
14714
|
+
setLocalValue = _React$useState2[1]; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14715
|
+
|
|
14716
|
+
|
|
14717
|
+
var handleValueChangeDebounced = React.useCallback(debounce$1(valueChanged, DEBOUNCE_TIMEOUT), []);
|
|
14718
|
+
|
|
14719
|
+
var ClearButton = function ClearButton() {
|
|
14720
|
+
return /*#__PURE__*/React.createElement(CustomIconButton, {
|
|
14721
|
+
tooltipTitle: "Clear",
|
|
14722
|
+
edge: "end",
|
|
14723
|
+
onClick: function onClick() {
|
|
14724
|
+
setLocalValue('');
|
|
14725
|
+
valueChanged('');
|
|
14726
|
+
},
|
|
14727
|
+
size: "large"
|
|
14728
|
+
}, /*#__PURE__*/React.createElement(Clear, null));
|
|
14729
|
+
};
|
|
14730
|
+
|
|
14731
|
+
var SearchButton = function SearchButton() {
|
|
14732
|
+
return /*#__PURE__*/React.createElement(CustomIconButton, {
|
|
14733
|
+
tooltipTitle: label,
|
|
14734
|
+
edge: "end",
|
|
14735
|
+
size: "large"
|
|
14736
|
+
}, /*#__PURE__*/React.createElement(Search, null));
|
|
14737
|
+
};
|
|
14738
|
+
|
|
14739
|
+
return /*#__PURE__*/React.createElement(TextField, {
|
|
14740
|
+
variant: "filled",
|
|
14741
|
+
size: "small",
|
|
14742
|
+
sx: {
|
|
14743
|
+
'& input': {
|
|
14744
|
+
paddingTop: '18px'
|
|
14745
|
+
}
|
|
14746
|
+
},
|
|
14747
|
+
label: label,
|
|
14748
|
+
value: localValue,
|
|
14749
|
+
autoFocus: true,
|
|
14750
|
+
fullWidth: true,
|
|
14751
|
+
onChange: function onChange(e) {
|
|
14752
|
+
handleValueChangeDebounced(e.target.value);
|
|
14753
|
+
setLocalValue(e.target.value);
|
|
14754
|
+
},
|
|
14755
|
+
InputProps: {
|
|
14756
|
+
endAdornment: /*#__PURE__*/React.createElement(InputAdornment, {
|
|
14757
|
+
position: "end"
|
|
14758
|
+
}, localValue ? /*#__PURE__*/React.createElement(ClearButton, null) : /*#__PURE__*/React.createElement(SearchButton, null))
|
|
14759
|
+
}
|
|
14760
|
+
});
|
|
14761
|
+
};
|
|
14762
|
+
|
|
14763
|
+
/* *
|
|
14764
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14765
|
+
* you may not use this file except in compliance with the License.
|
|
14766
|
+
* You may obtain a copy of the License at
|
|
14767
|
+
*
|
|
14768
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14769
|
+
*
|
|
14770
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14771
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14772
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14773
|
+
* See the License for the specific language governing permissions and
|
|
14774
|
+
* limitations under the License.
|
|
14775
|
+
*
|
|
14776
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
14777
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
14778
|
+
* */
|
|
14779
|
+
|
|
14780
|
+
var WorkspaceFilter = function WorkspaceFilter(_ref) {
|
|
14781
|
+
var filters = _ref.filters,
|
|
14782
|
+
_ref$onClickFilterChi = _ref.onClickFilterChip,
|
|
14783
|
+
onClickFilterChip = _ref$onClickFilterChi === void 0 ? function () {} : _ref$onClickFilterChi,
|
|
14784
|
+
_ref$onSearch = _ref.onSearch,
|
|
14785
|
+
onSearch = _ref$onSearch === void 0 ? function () {} : _ref$onSearch,
|
|
14786
|
+
isAllSelected = _ref.isAllSelected,
|
|
14787
|
+
searchQuery = _ref.searchQuery;
|
|
14788
|
+
return /*#__PURE__*/React.createElement(Stack, {
|
|
14789
|
+
spacing: 1,
|
|
14790
|
+
sx: {
|
|
14791
|
+
marginBottom: '8px'
|
|
14792
|
+
}
|
|
14793
|
+
}, /*#__PURE__*/React.createElement(SearchField, {
|
|
14794
|
+
value: searchQuery,
|
|
14795
|
+
valueChanged: onSearch
|
|
14796
|
+
}), /*#__PURE__*/React.createElement(FilterList, {
|
|
14797
|
+
filters: filters,
|
|
14798
|
+
onChipClick: onClickFilterChip,
|
|
14799
|
+
isAllSelected: isAllSelected
|
|
14800
|
+
}));
|
|
14801
|
+
};
|
|
14802
|
+
|
|
14512
14803
|
/* *
|
|
14513
14804
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14514
14805
|
* you may not use this file except in compliance with the License.
|
|
@@ -14532,6 +14823,12 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
|
|
|
14532
14823
|
var workspacePresets = useSelector(function (store) {
|
|
14533
14824
|
return getWorkspaceList(store);
|
|
14534
14825
|
});
|
|
14826
|
+
var workspaceListFilters = useSelector(function (store) {
|
|
14827
|
+
return getWorkspaceListFilters(store);
|
|
14828
|
+
});
|
|
14829
|
+
var workspaceSearchQuery = useSelector(function (store) {
|
|
14830
|
+
return getWorkspaceListSearchQuery(store);
|
|
14831
|
+
});
|
|
14535
14832
|
var isFetching = useSelector(function (store) {
|
|
14536
14833
|
return getIsWorkspaceListFetching(store);
|
|
14537
14834
|
});
|
|
@@ -14540,8 +14837,9 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
|
|
|
14540
14837
|
});
|
|
14541
14838
|
var dispatch = useDispatch();
|
|
14542
14839
|
var fetchWorkspaceList = React.useCallback(function () {
|
|
14543
|
-
|
|
14544
|
-
|
|
14840
|
+
var filterParams = constructFilterParams(workspaceListFilters, workspaceSearchQuery);
|
|
14841
|
+
dispatch(workspaceListActions.fetchWorkspaceList(filterParams));
|
|
14842
|
+
}, [dispatch, workspaceListFilters, workspaceSearchQuery]);
|
|
14545
14843
|
var fetchWorkspace = React.useCallback(function (workspaceId) {
|
|
14546
14844
|
dispatch(workspaceActions.fetchWorkspace({
|
|
14547
14845
|
workspaceId: workspaceId
|
|
@@ -14550,9 +14848,23 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
|
|
|
14550
14848
|
var setWorkspaceActionDialogOptions = React.useCallback(function (dialogOptions) {
|
|
14551
14849
|
dispatch(workspaceListActions.openWorkspaceActionDialogOptions(dialogOptions));
|
|
14552
14850
|
}, [dispatch]);
|
|
14851
|
+
var toggleSelectFilterChip = React.useCallback(function (id, isSelected) {
|
|
14852
|
+
dispatch(workspaceListActions.toggleSelectFilterChip({
|
|
14853
|
+
id: id,
|
|
14854
|
+
isSelected: isSelected
|
|
14855
|
+
}));
|
|
14856
|
+
}, [dispatch]);
|
|
14857
|
+
var setSelectAllFilterChip = React.useCallback(function () {
|
|
14858
|
+
dispatch(workspaceListActions.setSelectAllFilterChip());
|
|
14859
|
+
}, [dispatch]);
|
|
14860
|
+
var searchFilter = React.useCallback(function (searchQuery) {
|
|
14861
|
+
dispatch(workspaceListActions.searchFilter({
|
|
14862
|
+
searchQuery: searchQuery
|
|
14863
|
+
}));
|
|
14864
|
+
}, [dispatch]);
|
|
14553
14865
|
React.useEffect(function () {
|
|
14554
14866
|
fetchWorkspaceList(); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14555
|
-
}, []); // If we're loading the `New workspace` preset as defined in the FE, use this instead of retrieving from BE
|
|
14867
|
+
}, [workspaceListFilters, workspaceSearchQuery]); // If we're loading the `New workspace` preset as defined in the FE, use this instead of retrieving from BE
|
|
14556
14868
|
|
|
14557
14869
|
var onClickNewPreset = React.useCallback(function () {
|
|
14558
14870
|
dispatch(routerActions.navigateToUrl({
|
|
@@ -14574,6 +14886,16 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
|
|
|
14574
14886
|
}
|
|
14575
14887
|
};
|
|
14576
14888
|
|
|
14889
|
+
var onClickFilterChip = function onClickFilterChip(id, shouldSelect) {
|
|
14890
|
+
if (id === 'all') {
|
|
14891
|
+
if (shouldSelect) {
|
|
14892
|
+
setSelectAllFilterChip();
|
|
14893
|
+
}
|
|
14894
|
+
} else {
|
|
14895
|
+
toggleSelectFilterChip(id, shouldSelect);
|
|
14896
|
+
}
|
|
14897
|
+
};
|
|
14898
|
+
|
|
14577
14899
|
var onClickWorkspacePresetOption = function onClickWorkspacePresetOption(presetId, workspaceAction) {
|
|
14578
14900
|
// If affectedPreset is the FE defined `New workspace` - use the definition from FE instead of BE
|
|
14579
14901
|
var affectedPreset = presetId === emptyMapWorkspace.id ? emptyMapWorkspace : workspacePresets.find(function (preset) {
|
|
@@ -14616,6 +14938,10 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
|
|
|
14616
14938
|
}
|
|
14617
14939
|
};
|
|
14618
14940
|
|
|
14941
|
+
var isAllSelected = workspaceListFilters.every(function (filter) {
|
|
14942
|
+
return filter.isSelected;
|
|
14943
|
+
});
|
|
14944
|
+
var shouldHideNewWorkspace = !isAllSelected || workspaceSearchQuery.length > 0;
|
|
14619
14945
|
return /*#__PURE__*/React.createElement("div", null, isFetching && /*#__PURE__*/React.createElement(LinearProgress, {
|
|
14620
14946
|
"data-testid": "loading-bar",
|
|
14621
14947
|
color: "secondary",
|
|
@@ -14640,11 +14966,19 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
|
|
|
14640
14966
|
return fetchWorkspaceList();
|
|
14641
14967
|
}
|
|
14642
14968
|
}
|
|
14643
|
-
}))), /*#__PURE__*/React.createElement(
|
|
14969
|
+
}))), !error && /*#__PURE__*/React.createElement(WorkspaceFilter, {
|
|
14970
|
+
filters: workspaceListFilters,
|
|
14971
|
+
onClickFilterChip: onClickFilterChip,
|
|
14972
|
+
isAllSelected: isAllSelected,
|
|
14973
|
+
searchQuery: workspaceSearchQuery,
|
|
14974
|
+
onSearch: searchFilter
|
|
14975
|
+
}), /*#__PURE__*/React.createElement(WorkspaceSelectList, {
|
|
14644
14976
|
workspacePresets: workspacePresets,
|
|
14645
14977
|
currentSelectedId: currentView.id || '',
|
|
14646
14978
|
onClickPreset: onClickWorkspace,
|
|
14647
|
-
onClickWorkspacePresetOption: onClickWorkspacePresetOption
|
|
14979
|
+
onClickWorkspacePresetOption: onClickWorkspacePresetOption,
|
|
14980
|
+
hideNewWorkspace: shouldHideNewWorkspace,
|
|
14981
|
+
searchQuery: workspaceSearchQuery
|
|
14648
14982
|
}));
|
|
14649
14983
|
};
|
|
14650
14984
|
|
|
@@ -14745,7 +15079,7 @@ var WorkspaceMenuButton = function WorkspaceMenuButton(_ref) {
|
|
|
14745
15079
|
'&&': {
|
|
14746
15080
|
backgroundColor: !showMenu && 'transparent',
|
|
14747
15081
|
'&:hover': {
|
|
14748
|
-
backgroundColor: 'geowebColors.
|
|
15082
|
+
backgroundColor: 'geowebColors.workspace.tabButtonHover'
|
|
14749
15083
|
}
|
|
14750
15084
|
}
|
|
14751
15085
|
}
|
|
@@ -14843,7 +15177,7 @@ var WorkspaceOptions = function WorkspaceOptions(_ref) {
|
|
|
14843
15177
|
backgroundColor: !isOpen && 'transparent',
|
|
14844
15178
|
'&:hover': {
|
|
14845
15179
|
color: activeTab ? 'geowebColors.buttons.icon.active.color' : 'inherit',
|
|
14846
|
-
backgroundColor: 'geowebColors.
|
|
15180
|
+
backgroundColor: 'geowebColors.workspace.tabButtonHover'
|
|
14847
15181
|
},
|
|
14848
15182
|
paddingRight: '4px !important',
|
|
14849
15183
|
display: 'block',
|
|
@@ -14933,6 +15267,16 @@ var WorkspaceOptions = function WorkspaceOptions(_ref) {
|
|
|
14933
15267
|
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
14934
15268
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
14935
15269
|
* */
|
|
15270
|
+
var TITLE_SUFFIX_NEW_WORKSPACE = 'modified';
|
|
15271
|
+
var TITLE_SUFFIX_EXISTING_WORKSPACE = 'not saved';
|
|
15272
|
+
var getTitle = function getTitle(title, hasChanges, workspaceId) {
|
|
15273
|
+
if (!hasChanges) {
|
|
15274
|
+
return title;
|
|
15275
|
+
}
|
|
15276
|
+
|
|
15277
|
+
var suffix = workspaceId ? TITLE_SUFFIX_NEW_WORKSPACE : TITLE_SUFFIX_EXISTING_WORKSPACE;
|
|
15278
|
+
return "".concat(title, " (").concat(suffix, ")");
|
|
15279
|
+
};
|
|
14936
15280
|
var WorkspaceOptionsConnect = function WorkspaceOptionsConnect(_ref) {
|
|
14937
15281
|
var title = _ref.title,
|
|
14938
15282
|
activeTab = _ref.activeTab,
|
|
@@ -14979,9 +15323,10 @@ var WorkspaceOptionsConnect = function WorkspaceOptionsConnect(_ref) {
|
|
|
14979
15323
|
workspace: workspaceData
|
|
14980
15324
|
}));
|
|
14981
15325
|
}, [dispatch, workspaceData]);
|
|
15326
|
+
var fullTitle = getTitle(title, hasChanges, workspaceId);
|
|
14982
15327
|
return /*#__PURE__*/React.createElement(WorkspaceOptions, {
|
|
14983
15328
|
hasChanges: hasChanges,
|
|
14984
|
-
title:
|
|
15329
|
+
title: fullTitle,
|
|
14985
15330
|
activeTab: activeTab,
|
|
14986
15331
|
handleDelete: workspaceScope === 'user' ? onDelete : undefined,
|
|
14987
15332
|
handleSaveAs: onSaveAs,
|
|
@@ -15421,127 +15766,6 @@ var WorkspaceTopBar = function WorkspaceTopBar(_ref) {
|
|
|
15421
15766
|
}));
|
|
15422
15767
|
};
|
|
15423
15768
|
|
|
15424
|
-
/* *
|
|
15425
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
15426
|
-
* you may not use this file except in compliance with the License.
|
|
15427
|
-
* You may obtain a copy of the License at
|
|
15428
|
-
*
|
|
15429
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
15430
|
-
*
|
|
15431
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
15432
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15433
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15434
|
-
* See the License for the specific language governing permissions and
|
|
15435
|
-
* limitations under the License.
|
|
15436
|
-
*
|
|
15437
|
-
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
15438
|
-
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
15439
|
-
* */
|
|
15440
|
-
var WorkspaceDetail = function WorkspaceDetail(_ref) {
|
|
15441
|
-
var workspaceId = _ref.workspaceId,
|
|
15442
|
-
children = _ref.children,
|
|
15443
|
-
componentsLookUp = _ref.componentsLookUp,
|
|
15444
|
-
_ref$isSnapshot = _ref.isSnapshot,
|
|
15445
|
-
isSnapshot = _ref$isSnapshot === void 0 ? false : _ref$isSnapshot;
|
|
15446
|
-
var dispatch = useDispatch();
|
|
15447
|
-
var error = useSelector(function (store) {
|
|
15448
|
-
return getWorkspaceError(store);
|
|
15449
|
-
});
|
|
15450
|
-
var isLoading = useSelector(function (store) {
|
|
15451
|
-
return isWorkspaceLoading(store);
|
|
15452
|
-
});
|
|
15453
|
-
var workspaceData = useSelector(function (store) {
|
|
15454
|
-
return getWorkspaceData(store);
|
|
15455
|
-
});
|
|
15456
|
-
var fetchWorkspace = React.useCallback(function (newWorkspaceId) {
|
|
15457
|
-
dispatch(workspaceActions.fetchWorkspace({
|
|
15458
|
-
workspaceId: newWorkspaceId
|
|
15459
|
-
}));
|
|
15460
|
-
}, [dispatch]);
|
|
15461
|
-
var onSave = React.useCallback(function () {
|
|
15462
|
-
dispatch(workspaceActions.saveWorkspacePreset({
|
|
15463
|
-
workspace: workspaceData
|
|
15464
|
-
}));
|
|
15465
|
-
}, [dispatch, workspaceData]);
|
|
15466
|
-
var setScreenPreset = React.useCallback(function (newScreenPreset) {
|
|
15467
|
-
dispatch(workspaceActions.changePreset({
|
|
15468
|
-
workspacePreset: newScreenPreset
|
|
15469
|
-
}));
|
|
15470
|
-
}, [dispatch]);
|
|
15471
|
-
var navigateToUrl = React.useCallback(function (url) {
|
|
15472
|
-
dispatch(routerActions.navigateToUrl({
|
|
15473
|
-
url: url
|
|
15474
|
-
}));
|
|
15475
|
-
}, [dispatch]);
|
|
15476
|
-
|
|
15477
|
-
var setEmptyWorkSpace = function setEmptyWorkSpace() {
|
|
15478
|
-
setScreenPreset(emptyMapWorkspace);
|
|
15479
|
-
navigateToUrl(routes.root);
|
|
15480
|
-
};
|
|
15481
|
-
|
|
15482
|
-
React.useEffect(function () {
|
|
15483
|
-
if (!workspaceId) {
|
|
15484
|
-
setEmptyWorkSpace();
|
|
15485
|
-
} else {
|
|
15486
|
-
fetchWorkspace(workspaceId);
|
|
15487
|
-
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
15488
|
-
|
|
15489
|
-
}, []);
|
|
15490
|
-
return /*#__PURE__*/React.createElement(Box, {
|
|
15491
|
-
"data-testid": "workspace",
|
|
15492
|
-
sx: {
|
|
15493
|
-
width: '100%',
|
|
15494
|
-
height: '100%'
|
|
15495
|
-
}
|
|
15496
|
-
}, isLoading && /*#__PURE__*/React.createElement(LinearProgress, {
|
|
15497
|
-
"data-testid": "loading-bar",
|
|
15498
|
-
color: "secondary",
|
|
15499
|
-
sx: {
|
|
15500
|
-
position: 'absolute',
|
|
15501
|
-
width: '100%',
|
|
15502
|
-
top: 0,
|
|
15503
|
-
zIndex: 100
|
|
15504
|
-
}
|
|
15505
|
-
}), error && error.type !== WorkspaceErrorType.SAVE && /*#__PURE__*/React.createElement(AlertBanner, Object.assign({
|
|
15506
|
-
title: "Failed to fetch workspace ".concat(workspaceId),
|
|
15507
|
-
info: error.message,
|
|
15508
|
-
shouldClose: true
|
|
15509
|
-
}, error.type === WorkspaceErrorType.GENERIC && {
|
|
15510
|
-
actionButtonProps: {
|
|
15511
|
-
title: 'Try again',
|
|
15512
|
-
onClick: function onClick() {
|
|
15513
|
-
return fetchWorkspace(workspaceId);
|
|
15514
|
-
}
|
|
15515
|
-
}
|
|
15516
|
-
})), children, !isSnapshot && /*#__PURE__*/React.createElement(React.Fragment, null, error && error.type === WorkspaceErrorType.SAVE && /*#__PURE__*/React.createElement(AlertBanner, {
|
|
15517
|
-
title: "Failed to save workspace \"".concat(workspaceData.title, "\""),
|
|
15518
|
-
info: error.message,
|
|
15519
|
-
shouldClose: true,
|
|
15520
|
-
actionButtonProps: {
|
|
15521
|
-
title: 'Try again',
|
|
15522
|
-
onClick: function onClick() {
|
|
15523
|
-
return onSave();
|
|
15524
|
-
}
|
|
15525
|
-
}
|
|
15526
|
-
}), (!error || error.type === WorkspaceErrorType.SAVE) && /*#__PURE__*/React.createElement(Box, {
|
|
15527
|
-
component: "div",
|
|
15528
|
-
sx: {
|
|
15529
|
-
gridArea: 'content',
|
|
15530
|
-
position: 'absolute',
|
|
15531
|
-
margin: 0,
|
|
15532
|
-
padding: 0,
|
|
15533
|
-
display: 'block',
|
|
15534
|
-
height: '100%',
|
|
15535
|
-
width: '100%',
|
|
15536
|
-
overflowY: 'auto',
|
|
15537
|
-
zIndex: 3
|
|
15538
|
-
},
|
|
15539
|
-
"data-testid": "ScreenManagerPage"
|
|
15540
|
-
}, /*#__PURE__*/React.createElement(ScreenManagerViewConnect, {
|
|
15541
|
-
componentsLookUp: componentsLookUp
|
|
15542
|
-
}))));
|
|
15543
|
-
};
|
|
15544
|
-
|
|
15545
15769
|
/* *
|
|
15546
15770
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
15547
15771
|
* you may not use this file except in compliance with the License.
|
|
@@ -15649,7 +15873,7 @@ var getConfirmLabel = function getConfirmLabel(action) {
|
|
|
15649
15873
|
var MapPresetsFormDialog = function MapPresetsFormDialog(_ref) {
|
|
15650
15874
|
var isOpen = _ref.isOpen,
|
|
15651
15875
|
action = _ref.action,
|
|
15652
|
-
|
|
15876
|
+
viewPresetId = _ref.viewPresetId,
|
|
15653
15877
|
formValues = _ref.formValues,
|
|
15654
15878
|
onSuccess = _ref.onSuccess,
|
|
15655
15879
|
onClose = _ref.onClose,
|
|
@@ -15709,12 +15933,12 @@ var MapPresetsFormDialog = function MapPresetsFormDialog(_ref) {
|
|
|
15709
15933
|
|
|
15710
15934
|
case 13:
|
|
15711
15935
|
_context.next = 15;
|
|
15712
|
-
return api.deleteViewPreset(
|
|
15936
|
+
return api.deleteViewPreset(viewPresetId);
|
|
15713
15937
|
|
|
15714
15938
|
case 15:
|
|
15715
15939
|
setIsLoading(false);
|
|
15716
15940
|
onClose();
|
|
15717
|
-
onSuccess(action,
|
|
15941
|
+
onSuccess(action, viewPresetId, newFormValues.title);
|
|
15718
15942
|
return _context.abrupt("break", 20);
|
|
15719
15943
|
|
|
15720
15944
|
case 19:
|
|
@@ -15780,6 +16004,181 @@ var MapPresetsFormDialogWrapper = function MapPresetsFormDialogWrapper(_a) {
|
|
|
15780
16004
|
}, /*#__PURE__*/React__default.createElement(MapPresetsFormDialog, Object.assign({}, props)));
|
|
15781
16005
|
};
|
|
15782
16006
|
|
|
16007
|
+
/* *
|
|
16008
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
16009
|
+
* you may not use this file except in compliance with the License.
|
|
16010
|
+
* You may obtain a copy of the License at
|
|
16011
|
+
*
|
|
16012
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16013
|
+
*
|
|
16014
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
16015
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
16016
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16017
|
+
* See the License for the specific language governing permissions and
|
|
16018
|
+
* limitations under the License.
|
|
16019
|
+
*
|
|
16020
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
16021
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
16022
|
+
* */
|
|
16023
|
+
|
|
16024
|
+
var MapPresetsFormDialogConnect = function MapPresetsFormDialogConnect() {
|
|
16025
|
+
var dispatch = useDispatch();
|
|
16026
|
+
var dialogOptions = useSelector(function (store) {
|
|
16027
|
+
return getDialogOptions(store);
|
|
16028
|
+
});
|
|
16029
|
+
var closeDialog = React__default.useCallback(function () {
|
|
16030
|
+
dispatch(viewPresetActions.closeViewPresetDialog());
|
|
16031
|
+
}, [dispatch]);
|
|
16032
|
+
|
|
16033
|
+
var onClose = function onClose() {
|
|
16034
|
+
closeDialog();
|
|
16035
|
+
};
|
|
16036
|
+
|
|
16037
|
+
var onSuccess = function onSuccess(action, newViewPresetId, title) {
|
|
16038
|
+
dispatch(viewPresetActions.onSuccessViewPresetAction({
|
|
16039
|
+
panelId: dialogOptions === null || dialogOptions === void 0 ? void 0 : dialogOptions.panelId,
|
|
16040
|
+
viewPresetId: newViewPresetId,
|
|
16041
|
+
action: action,
|
|
16042
|
+
title: title
|
|
16043
|
+
}));
|
|
16044
|
+
};
|
|
16045
|
+
|
|
16046
|
+
var isOpen = dialogOptions !== undefined;
|
|
16047
|
+
|
|
16048
|
+
if (!isOpen) {
|
|
16049
|
+
return null;
|
|
16050
|
+
}
|
|
16051
|
+
|
|
16052
|
+
return /*#__PURE__*/React__default.createElement(MapPresetsFormDialogWrapper, Object.assign({
|
|
16053
|
+
isOpen: isOpen,
|
|
16054
|
+
onClose: onClose,
|
|
16055
|
+
onSuccess: onSuccess
|
|
16056
|
+
}, dialogOptions, {
|
|
16057
|
+
formValues: dialogOptions === null || dialogOptions === void 0 ? void 0 : dialogOptions.formValues
|
|
16058
|
+
}));
|
|
16059
|
+
};
|
|
16060
|
+
|
|
16061
|
+
/* *
|
|
16062
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
16063
|
+
* you may not use this file except in compliance with the License.
|
|
16064
|
+
* You may obtain a copy of the License at
|
|
16065
|
+
*
|
|
16066
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16067
|
+
*
|
|
16068
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
16069
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
16070
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16071
|
+
* See the License for the specific language governing permissions and
|
|
16072
|
+
* limitations under the License.
|
|
16073
|
+
*
|
|
16074
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
16075
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
16076
|
+
* */
|
|
16077
|
+
var WorkspaceDetail = function WorkspaceDetail(_ref) {
|
|
16078
|
+
var workspaceId = _ref.workspaceId,
|
|
16079
|
+
children = _ref.children,
|
|
16080
|
+
componentsLookUp = _ref.componentsLookUp,
|
|
16081
|
+
_ref$isSnapshot = _ref.isSnapshot,
|
|
16082
|
+
isSnapshot = _ref$isSnapshot === void 0 ? false : _ref$isSnapshot;
|
|
16083
|
+
var dispatch = useDispatch();
|
|
16084
|
+
var error = useSelector(function (store) {
|
|
16085
|
+
return getWorkspaceError(store);
|
|
16086
|
+
});
|
|
16087
|
+
var isLoading = useSelector(function (store) {
|
|
16088
|
+
return isWorkspaceLoading(store);
|
|
16089
|
+
});
|
|
16090
|
+
var workspaceData = useSelector(function (store) {
|
|
16091
|
+
return getWorkspaceData(store);
|
|
16092
|
+
});
|
|
16093
|
+
var fetchWorkspace = React.useCallback(function (newWorkspaceId) {
|
|
16094
|
+
dispatch(workspaceActions.fetchWorkspace({
|
|
16095
|
+
workspaceId: newWorkspaceId
|
|
16096
|
+
}));
|
|
16097
|
+
}, [dispatch]);
|
|
16098
|
+
var onSave = React.useCallback(function () {
|
|
16099
|
+
dispatch(workspaceActions.saveWorkspacePreset({
|
|
16100
|
+
workspace: workspaceData
|
|
16101
|
+
}));
|
|
16102
|
+
}, [dispatch, workspaceData]);
|
|
16103
|
+
var setScreenPreset = React.useCallback(function (newScreenPreset) {
|
|
16104
|
+
dispatch(workspaceActions.changePreset({
|
|
16105
|
+
workspacePreset: newScreenPreset
|
|
16106
|
+
}));
|
|
16107
|
+
}, [dispatch]);
|
|
16108
|
+
var navigateToUrl = React.useCallback(function (url) {
|
|
16109
|
+
dispatch(routerActions.navigateToUrl({
|
|
16110
|
+
url: url
|
|
16111
|
+
}));
|
|
16112
|
+
}, [dispatch]);
|
|
16113
|
+
|
|
16114
|
+
var setEmptyWorkSpace = function setEmptyWorkSpace() {
|
|
16115
|
+
setScreenPreset(emptyMapWorkspace);
|
|
16116
|
+
navigateToUrl(routes.root);
|
|
16117
|
+
};
|
|
16118
|
+
|
|
16119
|
+
React.useEffect(function () {
|
|
16120
|
+
if (!workspaceId) {
|
|
16121
|
+
setEmptyWorkSpace();
|
|
16122
|
+
} else {
|
|
16123
|
+
fetchWorkspace(workspaceId);
|
|
16124
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
16125
|
+
|
|
16126
|
+
}, []);
|
|
16127
|
+
return /*#__PURE__*/React.createElement(Box, {
|
|
16128
|
+
"data-testid": "workspace",
|
|
16129
|
+
sx: {
|
|
16130
|
+
width: '100%',
|
|
16131
|
+
height: '100%'
|
|
16132
|
+
}
|
|
16133
|
+
}, isLoading && /*#__PURE__*/React.createElement(LinearProgress, {
|
|
16134
|
+
"data-testid": "loading-bar",
|
|
16135
|
+
color: "secondary",
|
|
16136
|
+
sx: {
|
|
16137
|
+
position: 'absolute',
|
|
16138
|
+
width: '100%',
|
|
16139
|
+
top: 0,
|
|
16140
|
+
zIndex: 100
|
|
16141
|
+
}
|
|
16142
|
+
}), error && error.type !== WorkspaceErrorType.SAVE && /*#__PURE__*/React.createElement(AlertBanner, Object.assign({
|
|
16143
|
+
title: "Failed to fetch workspace ".concat(workspaceId),
|
|
16144
|
+
info: error.message,
|
|
16145
|
+
shouldClose: true
|
|
16146
|
+
}, error.type === WorkspaceErrorType.GENERIC && {
|
|
16147
|
+
actionButtonProps: {
|
|
16148
|
+
title: 'Try again',
|
|
16149
|
+
onClick: function onClick() {
|
|
16150
|
+
return fetchWorkspace(workspaceId);
|
|
16151
|
+
}
|
|
16152
|
+
}
|
|
16153
|
+
})), children, !isSnapshot && /*#__PURE__*/React.createElement(React.Fragment, null, error && error.type === WorkspaceErrorType.SAVE && /*#__PURE__*/React.createElement(AlertBanner, {
|
|
16154
|
+
title: "Failed to save workspace \"".concat(workspaceData.title, "\""),
|
|
16155
|
+
info: error.message,
|
|
16156
|
+
shouldClose: true,
|
|
16157
|
+
actionButtonProps: {
|
|
16158
|
+
title: 'Try again',
|
|
16159
|
+
onClick: function onClick() {
|
|
16160
|
+
return onSave();
|
|
16161
|
+
}
|
|
16162
|
+
}
|
|
16163
|
+
}), (!error || error.type === WorkspaceErrorType.SAVE) && /*#__PURE__*/React.createElement(Box, {
|
|
16164
|
+
component: "div",
|
|
16165
|
+
sx: {
|
|
16166
|
+
gridArea: 'content',
|
|
16167
|
+
position: 'absolute',
|
|
16168
|
+
margin: 0,
|
|
16169
|
+
padding: 0,
|
|
16170
|
+
display: 'block',
|
|
16171
|
+
height: '100%',
|
|
16172
|
+
width: '100%',
|
|
16173
|
+
overflowY: 'auto',
|
|
16174
|
+
zIndex: 3
|
|
16175
|
+
},
|
|
16176
|
+
"data-testid": "WorkspacePage"
|
|
16177
|
+
}, /*#__PURE__*/React.createElement(WorkspaceViewConnect, {
|
|
16178
|
+
componentsLookUp: componentsLookUp
|
|
16179
|
+
}))), /*#__PURE__*/React.createElement(MapPresetsFormDialogConnect, null));
|
|
16180
|
+
};
|
|
16181
|
+
|
|
15783
16182
|
/* *
|
|
15784
16183
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
15785
16184
|
* you may not use this file except in compliance with the License.
|
|
@@ -15825,7 +16224,7 @@ var MapPresetsMenuItem = function MapPresetsMenuItem(_ref) {
|
|
|
15825
16224
|
var presetTitle = getPresetTitle(title, hasChanges, isActive, isNew);
|
|
15826
16225
|
|
|
15827
16226
|
var onClickMenuItem = function onClickMenuItem(action) {
|
|
15828
|
-
onClickPreset(id, action);
|
|
16227
|
+
onClickPreset(id, action, title);
|
|
15829
16228
|
};
|
|
15830
16229
|
|
|
15831
16230
|
var items = isUserPreset ? [// TODO: enable again (in same order)
|
|
@@ -15882,6 +16281,8 @@ var MapPresetsMenuItem = function MapPresetsMenuItem(_ref) {
|
|
|
15882
16281
|
};
|
|
15883
16282
|
|
|
15884
16283
|
var MAPPRESET_ACTIVE_TITLE = 'New map preset';
|
|
16284
|
+
var MAPPRESET_DIALOG_TITLE_SAVE_AS = 'Save map preset as';
|
|
16285
|
+
var MAPPRESET_DIALOG_TITLE_DELETE = 'Delete map preset';
|
|
15885
16286
|
var sortMapPresets = function sortMapPresets(mapPresets) {
|
|
15886
16287
|
var presetOrder = ['system', 'user'];
|
|
15887
16288
|
return _toConsumableArray$3(mapPresets).sort(function (left, right) {
|
|
@@ -15904,8 +16305,6 @@ var MapPresetsDialog = function MapPresetsDialog(_ref) {
|
|
|
15904
16305
|
isDefaultOpen = _ref$isDefaultOpen === void 0 ? false : _ref$isDefaultOpen,
|
|
15905
16306
|
_ref$id = _ref.id,
|
|
15906
16307
|
id = _ref$id === void 0 ? 'mappresets-menubutton' : _ref$id,
|
|
15907
|
-
_ref$onSuccess = _ref.onSuccess,
|
|
15908
|
-
onSuccess = _ref$onSuccess === void 0 ? function () {} : _ref$onSuccess,
|
|
15909
16308
|
_ref$isLoading = _ref.isLoading,
|
|
15910
16309
|
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
15911
16310
|
_ref$hasError = _ref.hasError,
|
|
@@ -15919,19 +16318,17 @@ var MapPresetsDialog = function MapPresetsDialog(_ref) {
|
|
|
15919
16318
|
_ref$onSavePreset = _ref.onSavePreset,
|
|
15920
16319
|
onSavePreset = _ref$onSavePreset === void 0 ? function () {} : _ref$onSavePreset,
|
|
15921
16320
|
_ref$fetchNewPresetLi = _ref.fetchNewPresetList,
|
|
15922
|
-
fetchNewPresetList = _ref$fetchNewPresetLi === void 0 ? function () {} : _ref$fetchNewPresetLi
|
|
16321
|
+
fetchNewPresetList = _ref$fetchNewPresetLi === void 0 ? function () {} : _ref$fetchNewPresetLi,
|
|
16322
|
+
panelId = _ref.panelId,
|
|
16323
|
+
_ref$openViewPresetsD = _ref.openViewPresetsDialog,
|
|
16324
|
+
openViewPresetsDialog = _ref$openViewPresetsD === void 0 ? function () {} : _ref$openViewPresetsD;
|
|
15923
16325
|
|
|
15924
16326
|
var _a;
|
|
15925
16327
|
|
|
15926
16328
|
var _React$useState = React__default.useState(null),
|
|
15927
16329
|
_React$useState2 = _slicedToArray$9(_React$useState, 2),
|
|
15928
|
-
|
|
15929
|
-
|
|
15930
|
-
|
|
15931
|
-
var _React$useState3 = React__default.useState(null),
|
|
15932
|
-
_React$useState4 = _slicedToArray$9(_React$useState3, 2),
|
|
15933
|
-
anchorEl = _React$useState4[0],
|
|
15934
|
-
setAnchorEl = _React$useState4[1];
|
|
16330
|
+
anchorEl = _React$useState2[0],
|
|
16331
|
+
setAnchorEl = _React$useState2[1];
|
|
15935
16332
|
|
|
15936
16333
|
var isOpen = Boolean(anchorEl);
|
|
15937
16334
|
|
|
@@ -15948,12 +16345,7 @@ var MapPresetsDialog = function MapPresetsDialog(_ref) {
|
|
|
15948
16345
|
setAnchorEl(null);
|
|
15949
16346
|
};
|
|
15950
16347
|
|
|
15951
|
-
var onClickPresetItem = function onClickPresetItem(presetId, presetAction) {
|
|
15952
|
-
var clickedPreset = mapPresets.find(function (preset) {
|
|
15953
|
-
return preset.id === presetId;
|
|
15954
|
-
});
|
|
15955
|
-
var presetTitle = clickedPreset === null || clickedPreset === void 0 ? void 0 : clickedPreset.title;
|
|
15956
|
-
|
|
16348
|
+
var onClickPresetItem = function onClickPresetItem(presetId, presetAction, presetTitle) {
|
|
15957
16349
|
switch (presetAction) {
|
|
15958
16350
|
case PresetAction.OPEN:
|
|
15959
16351
|
{
|
|
@@ -15980,10 +16372,11 @@ var MapPresetsDialog = function MapPresetsDialog(_ref) {
|
|
|
15980
16372
|
|
|
15981
16373
|
case PresetAction.SAVE_AS:
|
|
15982
16374
|
{
|
|
15983
|
-
|
|
15984
|
-
title:
|
|
16375
|
+
openViewPresetsDialog({
|
|
16376
|
+
title: MAPPRESET_DIALOG_TITLE_SAVE_AS,
|
|
15985
16377
|
action: presetAction,
|
|
15986
|
-
|
|
16378
|
+
viewPresetId: presetId,
|
|
16379
|
+
panelId: panelId,
|
|
15987
16380
|
formValues: {
|
|
15988
16381
|
title: presetTitle,
|
|
15989
16382
|
initialProps: {
|
|
@@ -15998,10 +16391,11 @@ var MapPresetsDialog = function MapPresetsDialog(_ref) {
|
|
|
15998
16391
|
|
|
15999
16392
|
case PresetAction.DELETE:
|
|
16000
16393
|
{
|
|
16001
|
-
|
|
16002
|
-
title:
|
|
16394
|
+
openViewPresetsDialog({
|
|
16395
|
+
title: MAPPRESET_DIALOG_TITLE_DELETE,
|
|
16003
16396
|
action: presetAction,
|
|
16004
|
-
|
|
16397
|
+
viewPresetId: presetId,
|
|
16398
|
+
panelId: panelId,
|
|
16005
16399
|
formValues: {
|
|
16006
16400
|
title: presetTitle
|
|
16007
16401
|
}
|
|
@@ -16011,10 +16405,6 @@ var MapPresetsDialog = function MapPresetsDialog(_ref) {
|
|
|
16011
16405
|
}
|
|
16012
16406
|
};
|
|
16013
16407
|
|
|
16014
|
-
var onClose = function onClose() {
|
|
16015
|
-
setDialogOptions(null);
|
|
16016
|
-
};
|
|
16017
|
-
|
|
16018
16408
|
var activePresetTitle = activeMapPresetId ? (_a = mapPresets.find(function (preset) {
|
|
16019
16409
|
return preset.id === activeMapPresetId;
|
|
16020
16410
|
})) === null || _a === void 0 ? void 0 : _a.title : MAPPRESET_ACTIVE_TITLE;
|
|
@@ -16089,7 +16479,9 @@ var MapPresetsDialog = function MapPresetsDialog(_ref) {
|
|
|
16089
16479
|
}, "Map presets")), /*#__PURE__*/React__default.createElement(MapPresetsMenuItem, {
|
|
16090
16480
|
id: "",
|
|
16091
16481
|
title: MAPPRESET_ACTIVE_TITLE,
|
|
16092
|
-
onClickPreset:
|
|
16482
|
+
onClickPreset: function onClickPreset(presetId, action) {
|
|
16483
|
+
onClickPresetItem(presetId, action, '');
|
|
16484
|
+
},
|
|
16093
16485
|
isActive: isNewActive,
|
|
16094
16486
|
scope: "user",
|
|
16095
16487
|
isNew: true,
|
|
@@ -16134,11 +16526,7 @@ var MapPresetsDialog = function MapPresetsDialog(_ref) {
|
|
|
16134
16526
|
severity: "info",
|
|
16135
16527
|
dataTestId: "info-banner",
|
|
16136
16528
|
title: "You haven't saved any presets yet"
|
|
16137
|
-
})))
|
|
16138
|
-
isOpen: Boolean(dialogOptions),
|
|
16139
|
-
onClose: onClose,
|
|
16140
|
-
onSuccess: onSuccess
|
|
16141
|
-
}, dialogOptions)));
|
|
16529
|
+
}))));
|
|
16142
16530
|
};
|
|
16143
16531
|
|
|
16144
16532
|
/* *
|
|
@@ -16233,14 +16621,11 @@ var MapPresetsDialogConnect = function MapPresetsDialogConnect(_ref) {
|
|
|
16233
16621
|
viewPreset: viewPreset
|
|
16234
16622
|
}));
|
|
16235
16623
|
}, [dispatch, mapId]);
|
|
16236
|
-
var
|
|
16237
|
-
dispatch(viewPresetActions.
|
|
16238
|
-
|
|
16239
|
-
viewPresetId: viewPresetId,
|
|
16240
|
-
action: action,
|
|
16241
|
-
title: title
|
|
16624
|
+
var openViewPresetsDialog = React__default.useCallback(function (viewPresetDialogOptions) {
|
|
16625
|
+
dispatch(viewPresetActions.openViewPresetDialog({
|
|
16626
|
+
viewPresetDialog: viewPresetDialogOptions
|
|
16242
16627
|
}));
|
|
16243
|
-
}, [dispatch
|
|
16628
|
+
}, [dispatch]);
|
|
16244
16629
|
React__default.useEffect(function () {
|
|
16245
16630
|
if (!mapPresets.length) {
|
|
16246
16631
|
fetchInitialPresets();
|
|
@@ -16251,7 +16636,6 @@ var MapPresetsDialogConnect = function MapPresetsDialogConnect(_ref) {
|
|
|
16251
16636
|
activeMapPresetId: activeMapPresetId,
|
|
16252
16637
|
mapPresets: mapPresets,
|
|
16253
16638
|
onClickPreset: selectMapPreset,
|
|
16254
|
-
onSuccess: onSuccesMapPresetAction,
|
|
16255
16639
|
isLoading: isMapPresetsListFetching,
|
|
16256
16640
|
hasError: !!errorMapPresetsList,
|
|
16257
16641
|
hasMapPresetChanges: hasMapPresetChanges,
|
|
@@ -16259,8 +16643,10 @@ var MapPresetsDialogConnect = function MapPresetsDialogConnect(_ref) {
|
|
|
16259
16643
|
relatedSyncGroupIds: relatedSyncGroupIds,
|
|
16260
16644
|
onSavePreset: saveMapPreset,
|
|
16261
16645
|
fetchNewPresetList: fetchMapPresetsList,
|
|
16262
|
-
id: id
|
|
16646
|
+
id: id,
|
|
16647
|
+
panelId: mapId,
|
|
16648
|
+
openViewPresetsDialog: openViewPresetsDialog
|
|
16263
16649
|
});
|
|
16264
16650
|
};
|
|
16265
16651
|
|
|
16266
|
-
export { ComponentsLookUpWrapper, MapPresetsDialog, MapPresetsDialogConnect,
|
|
16652
|
+
export { ComponentsLookUpWrapper, MapPresetsDialog, MapPresetsDialogConnect, WorkspaceDetail, WorkspaceDndProvider, WorkspaceErrorType, WorkspaceModuleProvider, WorkspacePresetAction, WorkspaceThemeProvider, WorkspaceTopBar, WorkspaceViewConnect, WorkspaceWrapperProvider, WorkspaceWrapperProviderWithStore, workspaceActions as actions, createBalancedMosaicNode, emptyMapWorkspace, getWorkspaceRouteUrl, selectors, viewPresetActions, workspaceListActions, workspaceModuleConfig, routes as workspaceRoutes };
|