@opengeoweb/workspace 10.2.0 → 11.0.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.
Files changed (30) hide show
  1. package/index.esm.js +1837 -1903
  2. package/package.json +1 -2
  3. package/src/index.d.ts +5 -5
  4. package/src/lib/components/ViewPresetsFormDialog/ViewPresetsFormDialogConnect.d.ts +1 -1
  5. package/src/lib/components/WorkspacePresetsFormDialog/WorkspacePresetsForm.d.ts +2 -1
  6. package/src/lib/components/WorkspaceSelectList/WorkspaceSelectListRow.d.ts +1 -1
  7. package/src/lib/store/index.d.ts +1 -1
  8. package/src/lib/store/store.d.ts +19 -1
  9. package/src/lib/store/viewPresets/index.d.ts +1 -1
  10. package/src/lib/store/viewPresets/reducer.d.ts +3 -7
  11. package/src/lib/store/viewPresets/selectors.d.ts +2 -1
  12. package/src/lib/store/viewPresets/types.d.ts +8 -7
  13. package/src/lib/store/viewPresets/utils.d.ts +1 -3
  14. package/src/lib/store/viewPresetsList/index.d.ts +1 -1
  15. package/src/lib/store/viewPresetsList/reducer.d.ts +1 -2
  16. package/src/lib/store/viewPresetsList/selectors.d.ts +1 -1
  17. package/src/lib/store/viewPresetsList/types.d.ts +1 -1
  18. package/src/lib/store/workspace/index.d.ts +1 -0
  19. package/src/lib/store/workspace/reducer.d.ts +2 -1
  20. package/src/lib/store/workspace/selectors.d.ts +6 -6
  21. package/src/lib/store/workspace/types.d.ts +3 -2
  22. package/src/lib/store/workspaceList/index.d.ts +1 -0
  23. package/src/lib/store/workspaceList/reducer.d.ts +2 -2
  24. package/src/lib/store/workspaceList/selectors.d.ts +3 -2
  25. package/src/lib/store/workspaceList/types.d.ts +2 -1
  26. package/src/lib/store/workspaceList/utils.d.ts +3 -1
  27. package/src/lib/utils/fakeApi.d.ts +3 -3
  28. package/src/lib/store/config.d.ts +0 -9
  29. package/src/lib/store/viewPresets/listener.integration.spec.d.ts +0 -1
  30. package/src/lib/utils/testUtils.d.ts +0 -4
package/index.esm.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import { createEntityAdapter, createSlice, createSelector, createListenerMiddleware, combineReducers, configureStore } from '@reduxjs/toolkit';
2
- import { syncGroupsTypes, syncGroupsActions, layerActions, mapActions, uiActions, genericActions, layerTypes, mapEnums, selectorMemoizationOptions, genericSelectors, mapSelectors, syncGroupsSelectors, routerActions, coreModuleReducersMap, routerReducersMap, coreModuleMiddlewares, routerMiddlewares, linkComponentTypesConstants, uiTypes, loadingIndicatorSelectors, uiSelectors } from '@opengeoweb/store';
2
+ import { syncGroupsTypes, syncGroupsActions, layerActions, mapActions, uiActions, genericActions, layerTypes, mapEnums, selectorMemoizationOptions, genericSelectors, mapSelectors, syncGroupsSelectors, routerActions, mapListener, serviceListener, layersListener, syncGroupsListener, mapReducer, serviceReducer, layerReducer, syncGroupsReducer, loadingIndicatorReducer, uiReducer, linkComponentTypesConstants, uiTypes, loadingIndicatorSelectors, uiSelectors } from '@opengeoweb/store';
3
3
  import { createApiInstance, createNonAuthApiInstance, getApi, createFakeApiInstance, ApiProvider, useApiContext, useAuthenticationContext as useAuthenticationContext$1, GEOWEB_ROLE_PRESETS_ADMIN as GEOWEB_ROLE_PRESETS_ADMIN$1 } from '@opengeoweb/api';
4
- import _, { chunk, cloneDeep, pick, 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, timeSeriesReducersMap, timeSeriesMiddlewares } from '@opengeoweb/timeseries';
6
+ import { timeSeriesActions, TimeSeriesTypes, timeSeriesSelectors, timeSeriesReducer } from '@opengeoweb/timeseries';
7
7
  import { publicWarningActions, WARN_NAMESPACE, warningsTranslations, publicWarningsSelectors } from '@opengeoweb/warnings';
8
- 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';
9
- import { snackbarTypes, snackbarActions, snackbarReducersMap, snackbarMiddlewares, SnackbarWrapperConnect } from '@opengeoweb/snackbar';
8
+ import { PROJECTION, getAxiosErrorMessage, isAxiosAuthError, isAxiosError as isAxiosError$1, SHARED_NAMESPACE, sharedTranslations, ConfirmationServiceProvider, CustomIconButton, useConfirmationDialog, AlertBanner, PresetScope, CustomTooltip, SearchHighlight, ToggleMenu, DEFAULT_FILTER_HEIGHT, Filter, Resizable, ToolContainer, renderCounter, CustomToggleButton, usePrevious, ConfirmationDialog } from '@opengeoweb/shared';
9
+ import { snackbarTypes, snackbarActions, snackbarListener, snackbarReducer, SnackbarWrapperConnect } from '@opengeoweb/snackbar';
10
10
  import { isAxiosError } from 'axios';
11
11
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
12
12
  import { ThemeWrapper, lightTheme, Link, LinkOff, SplitVertical, SplitHorizontal, Expand, UnExpand, Close, Delete, Preset, PresetWorkspace, PresetTiles, BackdropStyle, BackdropElement, CloudLoading, CloudIdle, WebAssetOff, Exclamation } from '@opengeoweb/theme';
@@ -18,7 +18,6 @@ import i18n from 'i18next';
18
18
  import { WEBMAP_REACT_NAMESPACE, webmapReactTranslations } from '@opengeoweb/webmap-react';
19
19
  import { CORE_NAMESPACE, coreTranslations } from '@opengeoweb/core';
20
20
  import { FORM_FIELDS_NAMESPACE, formFieldsTranslations, ReactHookFormTextField, ReactHookFormHiddenInput, ReactHookFormProvider, defaultFormOptions } from '@opengeoweb/form-fields';
21
- import { produce } from 'immer';
22
21
  import * as React from 'react';
23
22
  import React__default, { useCallback } from 'react';
24
23
  import { Menu, Typography, List, ListItem, ListItemButton, ListItemIcon, Checkbox, ListItemText, LinearProgress, Grid2, Box, Backdrop, ListSubheader, MenuItem, useTheme, FormGroup, FormControlLabel, Tabs } from '@mui/material';
@@ -38,6 +37,8 @@ var en = {
38
37
  "workspace-save": "Save",
39
38
  "workspace-save-as": "Save as",
40
39
  "workspace-edit": "Edit (name and abstract)",
40
+ "workspace-share": "Share",
41
+ "workspace-stop-share": "Unshare",
41
42
  "geoweb-welcome": "Welcome to GeoWeb. Please use one of the presets to open up new views",
42
43
  "workspace-modified-new": "modified",
43
44
  "workspace-modified-existing": "not saved",
@@ -117,6 +118,8 @@ var fi = {
117
118
  "workspace-save": "Tallenna",
118
119
  "workspace-save-as": "Tallenna nimellä",
119
120
  "workspace-edit": "Muokkaa (nimeä ja tiivistelmää)",
121
+ "workspace-share": "Missing-translation",
122
+ "workspace-stop-share": "Missing-translation",
120
123
  "geoweb-welcome": "Tervetuloa Geoweb-sovellukseen. Valitse jokin preset avataksesi uusia näkymiä",
121
124
  "workspace-modified-new": "muokattu",
122
125
  "workspace-modified-existing": "ei tallennettu",
@@ -183,8 +186,8 @@ var fi = {
183
186
  "workspace-viewpreset-success-reset": "ei käännetty"
184
187
  };
185
188
  var no = {
186
- "workspace-menu": "Arbeidsrommeny",
187
- "workspace-new": "Nytt arbeidsrom",
189
+ "workspace-menu": "Arbeidsflater",
190
+ "workspace-new": "Ny arbeidsflate",
188
191
  "workspace-loading": "Laster",
189
192
  "workspace-options": "Valg",
190
193
  "workspace-results": "resultater",
@@ -192,22 +195,24 @@ var no = {
192
195
  "workspce-clear": "Tøm",
193
196
  "workspace-save": "Lagre",
194
197
  "workspace-save-as": "Lagre som",
195
- "workspace-edit": "Endre (navn og abstrakt)",
198
+ "workspace-edit": "Endre (navn og sammendrag)",
199
+ "workspace-share": "Del",
200
+ "workspace-stop-share": "Stop deling",
196
201
  "geoweb-welcome": "Velkommen til GeoWeb. Åpne et forhåndsvalg for å åpne nye vinduer",
197
202
  "workspace-modified-new": "modifisert",
198
203
  "workspace-modified-existing": "ikke lagret",
199
- "workspace-dialog-delete": "Slett arbeidsrom",
204
+ "workspace-dialog-delete": "Slett arbeidsflate",
200
205
  "workspace-duplicate": "Kopier",
201
206
  "workspace-cancel": "Avbryt",
202
207
  "workspace-dialog-name": "Navn",
203
- "workspace-dialog-abstract": "Abstrakt",
204
- "workspace-dialog-confirm-delete-message": "Er du sikker på at du vil slette \"{{TITLE}}\" arbeidsrommet?",
208
+ "workspace-dialog-abstract": "Sammendrag",
209
+ "workspace-dialog-confirm-delete-message": "Er du sikker på at du vil slette arbeidsflaten \"{{TITLE}}\"?",
205
210
  "workspace-dialog-confirm-reset-message": "ikke oversatt",
206
- "workspace-error-fetch": "Feilet i å hente liste over arbeidsrom",
207
- "workspace-error-fetch-detail": "Feilet i å hente arbeidsrommet {{WORKSPACE_ID}}",
208
- "workspace-viewpresets-error": "Presets er ikke tilgjengelig",
211
+ "workspace-error-fetch": "Feilet i å hente liste over arbeidsflate",
212
+ "workspace-error-fetch-detail": "Feilet i å hente arbeidsflaten {{WORKSPACE_ID}}",
213
+ "workspace-viewpresets-error": "Snarvei er ikke tilgjengelig",
209
214
  "workspace-retry": "Prøv igjen",
210
- "workspace-delete-tooltip": "Slett preset",
215
+ "workspace-delete-tooltip": "Slett snarvei",
211
216
  "workspace-control-split-horizontal": "Splitt vindu horisontalt",
212
217
  "workspace-control-split-vertical": "Splitt vindu vertikalt",
213
218
  "workspace-control-expand": "Utvid vindu",
@@ -215,44 +220,44 @@ var no = {
215
220
  "workspace-control-close": "Lukk vindu",
216
221
  "workspace-control-close-message-title": "Whoops",
217
222
  "workspace-control-close-message-description": "Er du sikker på at du vil lukke vinduet? Alle endringer vil slettes.",
218
- "workspace-mappreset-delete-message": "Er du sikker på at du vil slette \"{{TITLE}}\" kart-preset?",
223
+ "workspace-mappreset-delete-message": "Er du sikker på at du vil slette snarveien \"{{TITLE}}\"?",
219
224
  "workspace-viewpresets-fail-fetch": "Feilet i å hente {{VIEWPRESET_ID}}",
220
- "workspace-mappreset-dialog-title": "Kartpreset navn",
221
- "workspace-mappreset-save-as": "Lagre kartpreset som",
222
- "workspace-mappreset-new": "Ny kartpreset",
223
- "workspace-mappreset-dialog-title-delete": "Slett kartpreset",
224
- "workspace-mappreset-dialog-title-edit": "Endre kartpreset",
225
- "workspace-mappreset-error-save": "Kartpreset ikke lagret: en feil skjedde under lagring. Prøv igjen senere",
226
- "workspace-mappreset-error-fetch": "Feilet i å hente liste over kartpresets",
227
- "workspace-list-error": "Feilet i å hente liste over arbeidsrompresets",
228
- "workspace-list-success-save-all": "Arbeidsrom \"{{TITLE}}\" og underliggende presets er lagret",
229
- "workspace-list-success-delete": "Arbeidsrom \"{{TITLE}}\" er slettet",
230
- "workspace-list-success-duplicate": "Arbeidsrom \"{{TITLE}}\" er lagret",
231
- "workspace-list-success-edit": "Arbeidsrom \"{{TITLE}}\" er endret",
225
+ "workspace-mappreset-dialog-title": "Snarvei navn",
226
+ "workspace-mappreset-save-as": "Lagre snarvei som",
227
+ "workspace-mappreset-new": "Ny snarvei",
228
+ "workspace-mappreset-dialog-title-delete": "Slett snarvei",
229
+ "workspace-mappreset-dialog-title-edit": "Endre snarvei",
230
+ "workspace-mappreset-error-save": "Snarvei ikke lagret: en feil skjedde under lagring. Prøv igjen senere",
231
+ "workspace-mappreset-error-fetch": "Feilet i å hente liste over snarveier",
232
+ "workspace-list-error": "Feilet i å hente liste over snarveier",
233
+ "workspace-list-success-save-all": "Arbeidsflaten \"{{TITLE}}\" og underliggende snarveier er lagret",
234
+ "workspace-list-success-delete": "Arbeidsflaten \"{{TITLE}}\" er slettet",
235
+ "workspace-list-success-duplicate": "Arbeidsflaten \"{{TITLE}}\" er lagret",
236
+ "workspace-list-success-edit": "Arbeidsflaten \"{{TITLE}}\" er endret",
232
237
  "workspace-list-success-reset": "ikke oversatt",
233
- "workspace-list-success-save": "Arbeidsrom \"{{TITLE}}\" er lagret",
234
- "workspace-save-error": "Feilet i å lagre arbeidsrom \"{{TITLE}}\"",
238
+ "workspace-list-success-save": "Arbeidsflaten \"{{TITLE}}\" er lagret",
239
+ "workspace-save-error": "Feilet i å lagre arbeidsflaten \"{{TITLE}}\"",
235
240
  "workspace-error-generic": "Noe feilet, prøv igjen",
236
- "workspace-viewpreset-success-delete": "Kartpreset \"{{TITLE}}\" er slettet",
237
- "workspace-viewpreset-success-save-as": "Ny kartpreset \"{{TITLE}}\" er lagret",
238
- "workspace-viewpreset-success-edit": "Kartpreset \"{{TITLE}}\" er endret",
239
- "workspace-viewpreset-success-save": "Kartpreset \"{{TITLE}}\" er lagret",
240
- "workspace-viewpreset-menu": "Vindupresetmeny",
241
- "workspace-admin-save-workspace": "Lagre nytt arbeidsrom",
241
+ "workspace-viewpreset-success-delete": "Snarvei \"{{TITLE}}\" er slettet",
242
+ "workspace-viewpreset-success-save-as": "Ny snarvei \"{{TITLE}}\" er lagret",
243
+ "workspace-viewpreset-success-edit": "Snarvei \"{{TITLE}}\" er endret",
244
+ "workspace-viewpreset-success-save": "Snarvei \"{{TITLE}}\" er lagret",
245
+ "workspace-viewpreset-menu": "Snarveier",
246
+ "workspace-admin-save-workspace": "Lagre ny arbeidsflate",
242
247
  "workspace-admin-save-user-workspace": "Ikke oversatt",
243
248
  "workspace-save-new-viewpreset": "Dette nye vinduet vil bli lagt til din brukers forhåndsinnstillinger.",
244
- "workspace-save-new-viewpreset-warning-system": "Lagre endringene som er gjort i dette arbeidsrommet som en del av en ny personlig forhåndsinnstilling.",
249
+ "workspace-save-new-viewpreset-warning-system": "Lagre endringene som er gjort i denne arbeidsflaten som en del av en ny personlig forhåndsinnstilling.",
245
250
  "workspace-save-new-viewpreset-warning-user": "Lagre endringene som er gjort i dette personlige vinduet.",
246
- "workspace-select-modified-viewpresets": "Velg de endrede vinduene i dette arbeidsområdet som du vil oppdatere.",
247
- "workspace-admin-save-new-workspace": "Lagre nytt arbeidsrom",
251
+ "workspace-select-modified-viewpresets": "Velg de endrede vinduene i dennee arbeidsflaten som du vil oppdatere.",
252
+ "workspace-admin-save-new-workspace": "Lagre ny arbeidsflate",
248
253
  "workspace-admin-select-modified-viewpresets": "Velg vindu med endringer du ønsker å oppdatere",
249
- "workspace-admin-save-new-viewpreset": "Denne nye vinduet blir algt til systemets forhåndsinnstillinger.",
250
- "workspace-admin-save-new-viewpreset-warning": "Lagring av endringer til denne systempreset vil påvirke andre presets.",
251
- "workspace-admin-save-new-viewpreset-title": "Lagre ny systempreset",
254
+ "workspace-admin-save-new-viewpreset": "Dette nye vinduet blir valgt til systemets forhåndsinnstillinger.",
255
+ "workspace-admin-save-new-viewpreset-warning": "Lagring av endringer til denne felles arbeidsflaten vil påvirke andre snarveier.",
256
+ "workspace-admin-save-new-viewpreset-title": "Lagre ny felles arbeidsflate",
252
257
  "workspace-reset": "Tilbakestill",
253
258
  "workspace-reset-title": "Tilbakestill til original",
254
- "workspace-dialog-confirm-delete-system": "Systemets arbeidsrom vil bli slettet, men alle vinduer som er brukt vil forbli intakte.",
255
- "workspace-dialog-confirm-delete-user": "Arbeidsrommet blir slettet, men alle vinduer som er brukt vil forbli intakte.",
259
+ "workspace-dialog-confirm-delete-system": "Systemets arbeidsflate vil bli slettet, men alle vinduer som er brukt vil forbli intakte.",
260
+ "workspace-dialog-confirm-delete-user": "Arbeidsflaten blir slettet, men alle vinduer som er brukt vil forbli intakte.",
256
261
  "workspace-link-location-header": "Lokasjon",
257
262
  "workspace-link": "Link",
258
263
  "workspace-dialog-confirm-reset-view-message": "Ikke oversatt",
@@ -269,6 +274,8 @@ var nl = {
269
274
  "workspace-save": "Opslaan",
270
275
  "workspace-save-as": "Opslaan als",
271
276
  "workspace-edit": "Aanpassen (naam en abstract)",
277
+ "workspace-share": "Delen",
278
+ "workspace-stop-share": "Stoppen met delen",
272
279
  "geoweb-welcome": "Welkom bij GeoWeb. Kies een van de presets om een nieuw venster te openen",
273
280
  "workspace-modified-new": "bewerkt",
274
281
  "workspace-modified-existing": "niet opgeslagen",
@@ -892,6 +899,7 @@ var WorkspacePresetAction;
892
899
  WorkspacePresetAction["SAVE_SYSTEM_PRESET_AS"] = "SAVE_SYSTEM_PRESET_AS";
893
900
  WorkspacePresetAction["RESET"] = "RESET";
894
901
  WorkspacePresetAction["DELETE_SYSTEM_PRESET"] = "DELETE_SYSTEM_PRESET";
902
+ WorkspacePresetAction["SHARE"] = "SHARE";
895
903
  })(WorkspacePresetAction || (WorkspacePresetAction = {}));
896
904
  var WorkspaceErrorType;
897
905
  (function (WorkspaceErrorType) {
@@ -1041,14 +1049,26 @@ var slice$3 = createSlice({
1041
1049
  });
1042
1050
  });
1043
1051
  },
1052
+ setFilterChips: function setFilterChips(draft, action) {
1053
+ var payload = action.payload;
1054
+ draft.workspaceListFilters.forEach(function (filter, index) {
1055
+ var existingFilter = payload.find(function (f) {
1056
+ return f.id === filter.id;
1057
+ });
1058
+ var updatedFilter = Object.assign({}, filter, {
1059
+ isSelected: existingFilter ? existingFilter.isSelected : filter.isSelected
1060
+ });
1061
+ draft.workspaceListFilters[index] = updatedFilter;
1062
+ });
1063
+ },
1044
1064
  searchFilter: function searchFilter(draft, action) {
1045
1065
  var searchQuery = action.payload.searchQuery;
1046
1066
  draft.searchQuery = searchQuery;
1047
1067
  }
1048
1068
  }
1049
1069
  });
1050
- var reducer$3 = slice$3.reducer;
1051
- var workspaceListActions = slice$3.actions;
1070
+ var workspaceListReducer = slice$3.reducer,
1071
+ workspaceListActions = slice$3.actions;
1052
1072
 
1053
1073
  var ViewPresetErrorComponent;
1054
1074
  (function (ViewPresetErrorComponent) {
@@ -1119,40 +1139,6 @@ var slice$2 = createSlice({
1119
1139
  name: 'viewPresets',
1120
1140
  reducers: {
1121
1141
  // fetch list actions
1122
- fetchInitialViewPresets: function fetchInitialViewPresets(draft,
1123
- // eslint-disable-next-line no-unused-vars
1124
- _action) {
1125
- draft.ids.forEach(function (id) {
1126
- var entity = draft.entities[id];
1127
- if (entity) {
1128
- entity.isFetching = true;
1129
- viewPresetsAdapter.setOne(draft, entity);
1130
- }
1131
- });
1132
- },
1133
- fetchedInitialViewPresets: function fetchedInitialViewPresets(draft,
1134
- // this action is also caught in viewPresetsListReducer
1135
- // eslint-disable-next-line no-unused-vars
1136
- action) {
1137
- draft.ids.forEach(function (id) {
1138
- var entity = draft.entities[id];
1139
- if (entity) {
1140
- entity.isFetching = false;
1141
- viewPresetsAdapter.setOne(draft, entity);
1142
- }
1143
- });
1144
- },
1145
- errorInitialViewPresets: function errorInitialViewPresets(draft, action) {
1146
- var error = action.payload.error;
1147
- draft.ids.forEach(function (id) {
1148
- var entity = draft.entities[id];
1149
- if (entity) {
1150
- entity.error = error;
1151
- entity.isFetching = false;
1152
- viewPresetsAdapter.setOne(draft, entity);
1153
- }
1154
- });
1155
- },
1156
1142
  fetchViewPresets: function fetchViewPresets(draft, action) {
1157
1143
  var panelId = action.payload.panelId;
1158
1144
  var entity = draft.entities[panelId];
@@ -1371,10 +1357,28 @@ var slice$2 = createSlice({
1371
1357
  });
1372
1358
  }
1373
1359
  },
1374
- searchFilter: function searchFilter(draft, action) {
1360
+ setFilterChips: function setFilterChips(draft, action) {
1375
1361
  var _action$payload11 = action.payload,
1376
- searchQuery = _action$payload11.searchQuery,
1377
- panelId = _action$payload11.panelId;
1362
+ panelId = _action$payload11.panelId,
1363
+ filters = _action$payload11.filters;
1364
+ var entity = draft.entities[panelId];
1365
+ if (!entity) {
1366
+ return;
1367
+ }
1368
+ entity.filters.forEach(function (filter, index) {
1369
+ var existingFilter = filters.find(function (f) {
1370
+ return f.id === filter.id;
1371
+ });
1372
+ var updatedFilter = Object.assign({}, filter, {
1373
+ isSelected: existingFilter ? existingFilter.isSelected : filter.isSelected
1374
+ });
1375
+ entity.filters[index] = updatedFilter;
1376
+ });
1377
+ },
1378
+ searchFilter: function searchFilter(draft, action) {
1379
+ var _action$payload12 = action.payload,
1380
+ searchQuery = _action$payload12.searchQuery,
1381
+ panelId = _action$payload12.panelId;
1378
1382
  var entity = draft.entities[panelId];
1379
1383
  if (entity) {
1380
1384
  entity.searchQuery = searchQuery;
@@ -1383,9 +1387,9 @@ var slice$2 = createSlice({
1383
1387
  },
1384
1388
  extraReducers: function extraReducers(builder) {
1385
1389
  builder.addCase(mapActions.setMapPresetError, function (draft, action) {
1386
- var _action$payload12 = action.payload,
1387
- mapId = _action$payload12.mapId,
1388
- error = _action$payload12.error;
1390
+ var _action$payload13 = action.payload,
1391
+ mapId = _action$payload13.mapId,
1392
+ error = _action$payload13.error;
1389
1393
  var entity = draft.entities[mapId];
1390
1394
  if (entity) {
1391
1395
  entity.error = {
@@ -1409,9 +1413,9 @@ var slice$2 = createSlice({
1409
1413
  });
1410
1414
  warningsPresetChangeActions.map(function (warningsAction) {
1411
1415
  return builder.addCase(warningsAction, function (draft, action) {
1412
- var _action$payload13 = action.payload,
1413
- origin = _action$payload13.origin,
1414
- panelId = _action$payload13.panelId;
1416
+ var _action$payload14 = action.payload,
1417
+ origin = _action$payload14.origin,
1418
+ panelId = _action$payload14.panelId;
1415
1419
  if (origin === 'user' && panelId) {
1416
1420
  var entity = draft.entities[panelId];
1417
1421
  if (entity && !(entity != null && entity.hasChanges)) {
@@ -1423,9 +1427,9 @@ var slice$2 = createSlice({
1423
1427
  });
1424
1428
  syncGroupChangeActions.map(function (syncGroupAction) {
1425
1429
  return builder.addCase(syncGroupAction, function (draft, action) {
1426
- var _action$payload14 = action.payload,
1427
- origin = _action$payload14.origin,
1428
- targetId = _action$payload14.targetId;
1430
+ var _action$payload15 = action.payload,
1431
+ origin = _action$payload15.origin,
1432
+ targetId = _action$payload15.targetId;
1429
1433
  if (origin === 'user') {
1430
1434
  var entity = draft.entities[targetId];
1431
1435
  if (entity && !(entity != null && entity.hasChanges)) {
@@ -1437,9 +1441,9 @@ var slice$2 = createSlice({
1437
1441
  });
1438
1442
  mapPresetChangeActions.map(function (mapPresetAction) {
1439
1443
  return builder.addCase(mapPresetAction, function (draft, action) {
1440
- var _action$payload15 = action.payload,
1441
- mapId = _action$payload15.mapId,
1442
- origin = _action$payload15.origin;
1444
+ var _action$payload16 = action.payload,
1445
+ mapId = _action$payload16.mapId,
1446
+ origin = _action$payload16.origin;
1443
1447
  var isChangeOriginSupported = supportedMapActionOrigins.indexOf(origin) >= 0;
1444
1448
  if (isChangeOriginSupported && mapId) {
1445
1449
  var entity = draft.entities[mapId];
@@ -1452,9 +1456,9 @@ var slice$2 = createSlice({
1452
1456
  });
1453
1457
  timeSeriesPresetChangeActions.map(function (timeSeriesPresetAction) {
1454
1458
  return builder.addCase(timeSeriesPresetAction, function (draft, action) {
1455
- var _action$payload16 = action.payload,
1456
- panelId = _action$payload16.panelId,
1457
- origin = _action$payload16.origin;
1459
+ var _action$payload17 = action.payload,
1460
+ panelId = _action$payload17.panelId,
1461
+ origin = _action$payload17.origin;
1458
1462
  var isChangeOriginSupported = supportedTimeSeriesActionOrigins.indexOf(origin) >= 0;
1459
1463
  var changesRelevantProperties = timeSeriesPresetAction.type === timeSeriesActions.patchParameter.type ? Object.keys(action.payload.parameter).filter(function (key) {
1460
1464
  return key !== 'id' && key !== 'instanceId';
@@ -1470,8 +1474,8 @@ var slice$2 = createSlice({
1470
1474
  });
1471
1475
  }
1472
1476
  });
1473
- var reducer$2 = slice$2.reducer;
1474
- var viewPresetActions = slice$2.actions;
1477
+ var viewPresetsReducer = slice$2.reducer,
1478
+ viewPresetActions = slice$2.actions;
1475
1479
 
1476
1480
  /* *
1477
1481
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -1660,7 +1664,7 @@ var createCustomEmptyMapWorkspace = function createCustomEmptyMapWorkspace(empty
1660
1664
  });
1661
1665
  return emptyWorkspacePreset;
1662
1666
  };
1663
- var constructFilterParams$1 = function constructFilterParams(filters, searchQuery) {
1667
+ var constructFilterParams = function constructFilterParams(filters, searchQuery) {
1664
1668
  // get filters
1665
1669
  var _filters$reduce = filters.reduce(function (filterList, filter) {
1666
1670
  if (filter.isSelected && filter.type === 'scope') {
@@ -1939,7 +1943,8 @@ var slice$1 = createSlice({
1939
1943
  });
1940
1944
  }
1941
1945
  });
1942
- var reducer$1 = slice$1.reducer;
1946
+ // eslint-disable-next-line prefer-destructuring
1947
+ var workspaceReducer = slice$1.reducer;
1943
1948
  var workspaceActions = Object.assign({}, slice$1.actions);
1944
1949
 
1945
1950
  /* *
@@ -2148,35 +2153,6 @@ var emptyViewPreset = function emptyViewPreset(componentType) {
2148
2153
  initialProps: initialPropsByType[actualComponentType]
2149
2154
  };
2150
2155
  };
2151
- // Returns object of applied user filters such as scope/search etc
2152
- // If all filter chips are selected, an empty string is returned for that filter which is interpreted in the BE as "return all" _
2153
- var constructFilterParams = function constructFilterParams(filters, searchQuery) {
2154
- // get filters
2155
- var isAllSelectedForFilters = filters.every(function (filter) {
2156
- return filter.isSelected;
2157
- });
2158
- // If all filters are selected, ensure we return nothing for scope
2159
- var _ref = isAllSelectedForFilters ? {
2160
- scope: []
2161
- } : filters.reduce(function (filterList, filter) {
2162
- if (filter.isSelected && filter.type === 'scope') {
2163
- return Object.assign({}, filter, {
2164
- scope: filterList.scope.concat(filter.id)
2165
- });
2166
- }
2167
- return filterList;
2168
- }, {
2169
- scope: []
2170
- }),
2171
- scope = _ref.scope;
2172
- // get search
2173
- var search = getCleanSearchQuery(searchQuery);
2174
- return Object.assign({}, scope.length && {
2175
- scope: scope.toString()
2176
- }, search.length && {
2177
- search: search
2178
- });
2179
- };
2180
2156
 
2181
2157
  /* *
2182
2158
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -2407,857 +2383,162 @@ var getWorkspaceRouteUrl = function getWorkspaceRouteUrl(workspaceId) {
2407
2383
  return workspaceId ? routes.workspaceDetail.replace(':workspaceId', workspaceId) : routes.workspace;
2408
2384
  };
2409
2385
 
2410
- var workspacePresetsList = [
2411
- {
2412
- id: "screenConfigRadarTemp",
2413
- title: "Radar and temperature",
2414
- date: "2022-06-01T12:34:27.787184",
2415
- scope: "system",
2416
- abstract: "Radar and temperature maps",
2417
- viewType: "multiWindow"
2418
- },
2419
- {
2420
- id: "screenConfigRadarRadar",
2421
- title: "Radar and Radar",
2422
- date: "2022-06-01T12:34:27.787184",
2423
- scope: "system",
2424
- abstract: "",
2425
- viewType: "multiWindow"
2426
- },
2386
+ var viewPresetsListFullContent = [
2427
2387
  {
2428
- id: "screenConfigTimeSeries_knmi_timeseries_ha43_dini",
2429
- title: "TimeSeries KNMI EDR HA43 Dini",
2430
- date: "2022-06-01T12:34:27.787184",
2431
- scope: "system",
2432
- abstract: "",
2433
- viewType: "multiWindow"
2388
+ id: "radar",
2389
+ title: "Radar",
2390
+ abstract: "abstract radar",
2391
+ componentType: "Map",
2392
+ initialProps: {
2393
+ mapPreset: {
2394
+ layers: [
2395
+ {
2396
+ service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
2397
+ name: "RAD_NL25_PCP_CM",
2398
+ format: "image/png",
2399
+ enabled: true,
2400
+ style: "radar/nearest",
2401
+ id: "layerid_8",
2402
+ layerType: "mapLayer"
2403
+ },
2404
+ {
2405
+ service: "https://openwms.fmi.fi/geoserver/wms?",
2406
+ name: "Radar:suomi_dbz_eureffin",
2407
+ format: "image/png",
2408
+ style: "Radar dbz Summer",
2409
+ enabled: true,
2410
+ layerType: "mapLayer"
2411
+ },
2412
+ {
2413
+ service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
2414
+ name: "RAD_NL25_PCP_CM",
2415
+ format: "image/png",
2416
+ style: "precip-blue-transparent/nearest",
2417
+ enabled: true,
2418
+ layerType: "mapLayer"
2419
+ }
2420
+ ],
2421
+ proj: {
2422
+ bbox: {
2423
+ left: 58703.6377,
2424
+ bottom: 6408480.4514,
2425
+ right: 3967387.5161,
2426
+ top: 11520588.9031
2427
+ },
2428
+ srs: "EPSG:3857"
2429
+ },
2430
+ activeLayerId: "radar_precipitation_intensity_nordic_id",
2431
+ toggleTimestepAuto: false,
2432
+ animationPayload: {
2433
+ duration: 240,
2434
+ interval: 5,
2435
+ speed: 2,
2436
+ endTime: "NOW+PT2H00M",
2437
+ shouldEndtimeOverride: true
2438
+ },
2439
+ shouldAutoUpdate: false,
2440
+ shouldAnimate: true
2441
+ }
2442
+ }
2434
2443
  },
2435
2444
  {
2436
- id: "screenConfigTimeSeries",
2437
- title: "TimeSeries",
2438
- date: "2022-06-01T12:34:27.787184",
2439
- scope: "system",
2440
- abstract: "",
2441
- viewType: "multiWindow"
2445
+ title: "Temperature",
2446
+ id: "temp",
2447
+ componentType: "Map",
2448
+ initialProps: {
2449
+ mapPreset: {
2450
+ layers: [
2451
+ {
2452
+ service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
2453
+ name: "10M/ta",
2454
+ id: "layerid_10",
2455
+ layerType: "mapLayer"
2456
+ }
2457
+ ],
2458
+ proj: {
2459
+ bbox: {
2460
+ left: -450651.2255879827,
2461
+ bottom: 6490531.093143953,
2462
+ right: 1428345.8183648037,
2463
+ top: 7438773.776232235
2464
+ },
2465
+ srs: "EPSG:3857"
2466
+ }
2467
+ },
2468
+ syncGroupsIds: [
2469
+ "Area_RadarTemp",
2470
+ "Time_RadarTemp"
2471
+ ]
2472
+ }
2442
2473
  },
2443
2474
  {
2444
- id: "screenConfigHarmoniePrecipMSLRefTimePresetWithoutMultiMapLayerManager",
2445
- title: "Precipitation, pressure and wind 1:1",
2446
- date: "2022-06-01T12:34:27.787184",
2447
- scope: "system",
2448
- abstract: "",
2449
- viewType: "tiledWindow"
2475
+ title: "TimeseriesMap",
2476
+ id: "TimeseriesMap",
2477
+ x: 0,
2478
+ y: 0,
2479
+ w: 6,
2480
+ h: 18,
2481
+ componentType: "Map",
2482
+ initialProps: {
2483
+ mapPreset: {
2484
+ layers: [
2485
+ ],
2486
+ displayMapPin: true,
2487
+ proj: {
2488
+ bbox: {
2489
+ left: -450651.2255879827,
2490
+ bottom: 6490531.093143953,
2491
+ right: 1428345.8183648037,
2492
+ top: 7438773.776232235
2493
+ },
2494
+ srs: "EPSG:3857"
2495
+ }
2496
+ }
2497
+ }
2450
2498
  },
2451
2499
  {
2452
- id: "screenConfigHarmoniePrecipMSLRefTimePresetWithMultiMapLayerManager",
2453
- title: "Precipitation, pressure and wind 1:all",
2454
- date: "2022-06-01T12:34:27.787184",
2455
- scope: "system",
2456
- abstract: "",
2457
- viewType: "tiledWindow"
2458
- },
2459
- {
2460
- id: "screenConfigHarmoniePresetWithoutMultiMapLayerManager",
2461
- title: "Harmonie Temperature and Precipitation 1:1",
2462
- date: "2022-06-01T12:34:27.787184",
2463
- scope: "system",
2464
- abstract: "",
2465
- viewType: "tiledWindow"
2466
- },
2467
- {
2468
- id: "screenConfigHarmoniePresetWithMultiMapLayerManager",
2469
- title: "Harmonie Temperature and Precipitation 1:all",
2470
- date: "2022-06-01T12:34:27.787184",
2471
- scope: "system",
2472
- abstract: "",
2473
- viewType: "tiledWindow"
2474
- },
2475
- {
2476
- id: "radarView",
2477
- title: "Radar",
2478
- date: "2022-06-01T12:34:27.787184",
2479
- scope: "user",
2480
- abstract: "Some abstract",
2481
- viewType: "singleWindow"
2482
- },
2483
- {
2484
- id: "screenConfigD",
2485
- title: "Radar & Sat",
2486
- date: "2022-06-01T12:34:27.787184",
2487
- scope: "system",
2488
- abstract: "",
2489
- viewType: "multiWindow"
2490
- },
2491
- {
2492
- id: "screenConfigOBS",
2493
- title: "OBS",
2494
- date: "2022-06-01T12:34:27.787184",
2495
- scope: "system",
2496
- abstract: "",
2497
- viewType: "multiWindow"
2498
- },
2499
- {
2500
- id: "screenConfigRadAndObs",
2501
- title: "FourMapsInOneView",
2502
- date: "2022-06-01T12:34:27.787184",
2503
- scope: "system",
2504
- abstract: "Four grid maps",
2505
- viewType: "tiledWindow"
2506
- },
2507
- {
2508
- id: "screenConfigHarmonie",
2509
- title: "Harmonie multi",
2510
- date: "2022-06-01T12:34:27.787184",
2511
- scope: "system",
2512
- abstract: "",
2513
- viewType: "multiWindow"
2514
- },
2515
- {
2516
- id: "workspaceHarmonie",
2517
- title: "Harmonie",
2518
- date: "2022-06-01T12:34:27.787184",
2519
- scope: "system",
2520
- abstract: "",
2521
- viewType: "singleWindow"
2522
- },
2523
- {
2524
- id: "screenConfigOnlyBBOXGroup",
2525
- title: "SyncGroups only BBOX predefined",
2526
- date: "2022-06-01T12:34:27.787184",
2527
- scope: "system",
2528
- abstract: "SyncGroups synced BBOX",
2529
- viewType: "multiWindow"
2530
- },
2531
- {
2532
- id: "screenConfigOnlyTIMEGroup",
2533
- title: "SyncGroups only TIME predefined",
2534
- date: "2022-06-01T12:34:27.787184",
2535
- scope: "system",
2536
- abstract: "SyncGroups synced TIME",
2537
- viewType: "multiWindow"
2538
- },
2539
- {
2540
- id: "emptyMap",
2541
- title: "Empty map",
2542
- date: "2022-06-01T12:34:27.787184",
2543
- scope: "system",
2544
- abstract: "",
2545
- viewType: "singleWindow"
2546
- },
2547
- {
2548
- id: "capWorkspace",
2549
- title: "Cap Warnings",
2550
- date: "2022-06-01T12:34:27.787184",
2551
- scope: "system",
2552
- abstract: "",
2553
- viewType: "multiWindow"
2554
- }
2555
- ];
2556
-
2557
- var workspacePresetsListFullContent = [
2558
- {
2559
- id: "screenConfigRadarTemp",
2560
- title: "Radar and temperature",
2561
- scope: "system",
2562
- abstract: "",
2563
- viewType: "multiWindow",
2564
- views: [
2565
- {
2566
- mosaicNodeId: "screen_no_1",
2567
- viewPresetId: "radar"
2568
- },
2569
- {
2570
- mosaicNodeId: "screen_no_2",
2571
- viewPresetId: "temp"
2572
- }
2573
- ],
2574
- syncGroups: [
2575
- {
2576
- id: "Area_RadarTemp",
2577
- type: "SYNCGROUPS_TYPE_SETBBOX"
2578
- },
2579
- {
2580
- id: "Time_RadarTemp",
2581
- type: "SYNCGROUPS_TYPE_SETTIME"
2582
- }
2583
- ],
2584
- mosaicNode: {
2585
- direction: "row",
2586
- first: "screen_no_1",
2587
- second: "screen_no_2",
2588
- splitPercentage: 50
2589
- }
2590
- },
2591
- {
2592
- id: "screenConfigRadarRadar",
2593
- title: "Radar and Radar",
2594
- scope: "system",
2595
- abstract: "",
2596
- viewType: "multiWindow",
2597
- views: [
2598
- {
2599
- mosaicNodeId: "view-1",
2600
- viewPresetId: "radar"
2601
- },
2602
- {
2603
- mosaicNodeId: "view-2",
2604
- viewPresetId: "radar"
2605
- }
2606
- ],
2607
- syncGroups: [
2608
- {
2609
- id: "Area_RadarTemp",
2610
- type: "SYNCGROUPS_TYPE_SETBBOX"
2611
- },
2612
- {
2613
- id: "Time_RadarTemp",
2614
- type: "SYNCGROUPS_TYPE_SETTIME"
2615
- }
2616
- ],
2617
- mosaicNode: {
2618
- direction: "row",
2619
- first: "view-1",
2620
- second: "view-2",
2621
- splitPercentage: 50
2622
- }
2623
- },
2624
- {
2625
- id: "screenConfigTimeSeries_knmi_timeseries_ha43_dini",
2626
- title: "TimeSeries EDR KNMI HA43 DINI",
2627
- scope: "system",
2628
- abstract: "This contains a very very long abstract so that you can see some ellipsis. Who knows how it will behave. ",
2629
- viewType: "multiWindow",
2630
- views: [
2631
- {
2632
- mosaicNodeId: "view-1",
2633
- viewPresetId: "view_knmi_timeseries_ha43_dini_wms"
2634
- },
2635
- {
2636
- mosaicNodeId: "view-2",
2637
- viewPresetId: "view_knmi_timeseries_ha43_dini_edr"
2638
- }
2639
- ],
2640
- syncGroups: [
2641
- ],
2642
- mosaicNode: {
2643
- direction: "row",
2644
- first: "view-1",
2645
- second: "view-2"
2646
- }
2647
- },
2648
- {
2649
- id: "screenConfigTimeSeries",
2650
- title: "TimeSeries Example",
2651
- scope: "system",
2652
- abstract: "This contains a very very long abstract so that you can see some ellipsis. Who knows how it will behave. ",
2653
- viewType: "multiWindow",
2654
- views: [
2655
- {
2656
- mosaicNodeId: "view-1",
2657
- viewPresetId: "TimeseriesMap"
2658
- },
2659
- {
2660
- mosaicNodeId: "view-2",
2661
- viewPresetId: "Timeseries"
2662
- }
2663
- ],
2664
- syncGroups: [
2665
- ],
2666
- mosaicNode: {
2667
- direction: "row",
2668
- first: "view-1",
2669
- second: "view-2"
2670
- }
2671
- },
2672
- {
2673
- id: "screenConfigHarmoniePrecipMSLRefTimePresetWithoutMultiMapLayerManager",
2674
- title: "Precipitation, pressure and wind 1:1",
2675
- scope: "system",
2676
- abstract: "",
2677
- viewType: "tiledWindow",
2678
- views: [
2679
- {
2680
- mosaicNodeId: "view-1",
2681
- viewPresetId: "harmRefTime"
2682
- }
2683
- ],
2684
- syncGroups: [
2685
- {
2686
- id: "areaLayerGroupA",
2687
- type: "SYNCGROUPS_TYPE_SETBBOX"
2688
- },
2689
- {
2690
- id: "timeLayerGroupA",
2691
- type: "SYNCGROUPS_TYPE_SETTIME"
2692
- },
2693
- {
2694
- id: "layerGroupA",
2695
- type: "SYNCGROUPS_TYPE_SETLAYERACTIONS"
2696
- }
2697
- ],
2698
- mosaicNode: "view-1"
2699
- },
2700
- {
2701
- id: "screenConfigHarmoniePrecipMSLRefTimePresetWithMultiMapLayerManager",
2702
- title: "Precipitation, pressure and wind 1:all",
2703
- scope: "system",
2704
- abstract: "",
2705
- viewType: "tiledWindow",
2706
- views: [
2707
- {
2708
- mosaicNodeId: "view-1",
2709
- viewPresetId: "harmRefTimeAll"
2710
- }
2711
- ],
2712
- syncGroups: [
2713
- {
2714
- id: "areaLayerGroupA",
2715
- type: "SYNCGROUPS_TYPE_SETBBOX"
2716
- },
2717
- {
2718
- id: "timeLayerGroupA",
2719
- type: "SYNCGROUPS_TYPE_SETTIME"
2720
- },
2721
- {
2722
- id: "layerGroupA",
2723
- type: "SYNCGROUPS_TYPE_SETLAYERACTIONS"
2724
- }
2725
- ],
2726
- mosaicNode: "view-1"
2727
- },
2728
- {
2729
- id: "screenConfigHarmoniePresetWithoutMultiMapLayerManager",
2730
- title: "Harmonie Temperature and Precipitation 1:1",
2731
- scope: "system",
2732
- abstract: "",
2733
- viewType: "tiledWindow",
2734
- views: [
2735
- {
2736
- mosaicNodeId: "view-1",
2737
- viewPresetId: "screenHarm"
2738
- }
2739
- ],
2740
- syncGroups: [
2741
- {
2742
- id: "areaLayerGroupA",
2743
- type: "SYNCGROUPS_TYPE_SETBBOX"
2744
- },
2745
- {
2746
- id: "timeLayerGroupA",
2747
- type: "SYNCGROUPS_TYPE_SETTIME"
2748
- },
2749
- {
2750
- id: "layerGroupA",
2751
- type: "SYNCGROUPS_TYPE_SETLAYERACTIONS"
2752
- },
2753
- {
2754
- id: "layerGroupB",
2755
- type: "SYNCGROUPS_TYPE_SETLAYERACTIONS"
2756
- }
2757
- ],
2758
- mosaicNode: "view-1"
2759
- },
2760
- {
2761
- id: "screenConfigHarmoniePresetWithMultiMapLayerManager",
2762
- title: "Harmonie Temperature and Precipitation 1:all",
2763
- scope: "system",
2764
- abstract: "",
2765
- viewType: "tiledWindow",
2766
- views: [
2767
- {
2768
- mosaicNodeId: "view-1",
2769
- viewPresetId: "screenHarmAll"
2770
- }
2771
- ],
2772
- syncGroups: [
2773
- {
2774
- id: "areaLayerGroupA",
2775
- type: "SYNCGROUPS_TYPE_SETBBOX"
2776
- },
2777
- {
2778
- id: "timeLayerGroupA",
2779
- type: "SYNCGROUPS_TYPE_SETTIME"
2780
- },
2781
- {
2782
- id: "layerGroupA",
2783
- type: "SYNCGROUPS_TYPE_SETLAYERACTIONS"
2784
- },
2785
- {
2786
- id: "layerGroupB",
2787
- type: "SYNCGROUPS_TYPE_SETLAYERACTIONS"
2788
- }
2789
- ],
2790
- mosaicNode: "view-1"
2791
- },
2792
- {
2793
- id: "screenConfigD",
2794
- title: "Radar & Sat",
2795
- scope: "system",
2796
- abstract: "",
2797
- viewType: "multiWindow",
2798
- views: [
2799
- {
2800
- mosaicNodeId: "viewAsat",
2801
- viewPresetId: "sat"
2802
- },
2803
- {
2804
- mosaicNodeId: "viewBrad",
2805
- viewPresetId: "rad"
2806
- }
2807
- ],
2808
- syncGroups: [
2809
- {
2810
- id: "Area_SatRadar",
2811
- type: "SYNCGROUPS_TYPE_SETBBOX"
2812
- },
2813
- {
2814
- id: "Time_SatRadar",
2815
- type: "SYNCGROUPS_TYPE_SETTIME"
2816
- }
2817
- ],
2818
- mosaicNode: {
2819
- direction: "row",
2820
- first: "viewAsat",
2821
- second: "viewBrad",
2822
- splitPercentage: 50
2823
- }
2824
- },
2825
- {
2826
- id: "screenConfigOBS",
2827
- title: "OBS",
2828
- scope: "system",
2829
- abstract: "",
2830
- viewType: "multiWindow",
2831
- views: [
2832
- {
2833
- mosaicNodeId: "map_OBSTA",
2834
- viewPresetId: "map_OBSTA"
2835
- },
2836
- {
2837
- mosaicNodeId: "map_OBSPP",
2838
- viewPresetId: "map_OBSPP"
2839
- },
2840
- {
2841
- mosaicNodeId: "map_OBSWind",
2842
- viewPresetId: "map_OBSWind"
2843
- },
2844
- {
2845
- mosaicNodeId: "map_OBSRH",
2846
- viewPresetId: "map_OBSRH"
2847
- },
2848
- {
2849
- mosaicNodeId: "map_OBSQG",
2850
- viewPresetId: "map_OBSQG"
2851
- }
2852
- ],
2853
- syncGroups: [
2854
- {
2855
- id: "Area_A",
2856
- type: "SYNCGROUPS_TYPE_SETBBOX"
2857
- },
2858
- {
2859
- id: "Time_A",
2860
- type: "SYNCGROUPS_TYPE_SETTIME"
2861
- }
2862
- ],
2863
- mosaicNode: {
2864
- direction: "column",
2865
- first: {
2866
- direction: "row",
2867
- first: "map_OBSTA",
2868
- second: "map_OBSPP"
2869
- },
2870
- second: {
2871
- direction: "row",
2872
- first: "map_OBSWind",
2873
- second: {
2874
- direction: "row",
2875
- first: "map_OBSRH",
2876
- second: "map_OBSQG"
2877
- },
2878
- splitPercentage: 33
2879
- }
2880
- }
2881
- },
2882
- {
2883
- id: "screenConfigRadAndObs",
2884
- title: "FourMapsInOneView",
2885
- scope: "system",
2886
- abstract: "",
2887
- viewType: "tiledWindow",
2888
- views: [
2889
- {
2890
- mosaicNodeId: "view-1",
2891
- viewPresetId: "screenRadAndObs"
2892
- }
2893
- ],
2894
- syncGroups: [
2895
- {
2896
- id: "Area_screenRadAndObs",
2897
- type: "SYNCGROUPS_TYPE_SETBBOX"
2898
- },
2899
- {
2900
- id: "Time_screenRadAndObs",
2901
- type: "SYNCGROUPS_TYPE_SETTIME"
2902
- }
2903
- ],
2904
- mosaicNode: "view-1"
2905
- },
2906
- {
2907
- id: "screenConfigHarmonie",
2908
- title: "Harmonie",
2909
- scope: "system",
2910
- abstract: "",
2911
- viewType: "multiWindow",
2912
- views: [
2913
- {
2914
- mosaicNodeId: "viewAharmPrecip",
2915
- viewPresetId: "harmPrecip"
2916
- },
2917
- {
2918
- mosaicNodeId: "viewBharmTemp",
2919
- viewPresetId: "harmTemp"
2920
- },
2921
- {
2922
- mosaicNodeId: "viewCharmPressure",
2923
- viewPresetId: "harmPressure"
2924
- },
2925
- {
2926
- mosaicNodeId: "viewDslider",
2927
- viewPresetId: "slider"
2928
- }
2929
- ],
2930
- syncGroups: [
2931
- {
2932
- id: "Area_B",
2933
- type: "SYNCGROUPS_TYPE_SETBBOX"
2934
- },
2935
- {
2936
- id: "Time_B",
2937
- type: "SYNCGROUPS_TYPE_SETTIME"
2938
- }
2939
- ],
2940
- mosaicNode: {
2941
- direction: "column",
2942
- first: {
2943
- direction: "row",
2944
- first: "viewAharmPrecip",
2945
- second: {
2946
- direction: "row",
2947
- first: "viewBharmTemp",
2948
- second: "viewCharmPressure"
2949
- },
2950
- splitPercentage: 33
2951
- },
2952
- second: "viewDslider",
2953
- splitPercentage: 80
2954
- }
2955
- },
2956
- {
2957
- id: "workspaceHarmonie",
2958
- title: "Harmonie",
2959
- scope: "system",
2960
- abstract: "",
2961
- viewType: "singleWindow",
2962
- views: [
2963
- {
2964
- mosaicNodeId: "screen1",
2965
- viewPresetId: "viewHarmonie"
2966
- }
2967
- ],
2968
- syncGroups: [
2969
- ],
2970
- mosaicNode: "screen1"
2971
- },
2972
- {
2973
- id: "screenConfigOnlyBBOXGroup",
2974
- title: "SyncGroups only BBOX predefined",
2975
- scope: "system",
2976
- abstract: "",
2977
- viewType: "multiWindow",
2978
- views: [
2979
- {
2980
- mosaicNodeId: "view-1",
2981
- viewPresetId: "demosyncgroupbbox_radar"
2982
- },
2983
- {
2984
- mosaicNodeId: "view-2",
2985
- viewPresetId: "demosyncgroupbbox_temp"
2986
- }
2987
- ],
2988
- syncGroups: [
2989
- {
2990
- id: "Area_radar",
2991
- type: "SYNCGROUPS_TYPE_SETBBOX"
2992
- },
2993
- {
2994
- id: "Area_temp",
2995
- type: "SYNCGROUPS_TYPE_SETBBOX"
2996
- }
2997
- ],
2998
- mosaicNode: {
2999
- direction: "row",
3000
- first: "view-1",
3001
- second: "view-2",
3002
- splitPercentage: 50
3003
- }
3004
- },
3005
- {
3006
- id: "screenConfigOnlyTIMEGroup",
3007
- title: "SyncGroups only TIME predefined",
3008
- scope: "system",
3009
- abstract: "",
3010
- viewType: "multiWindow",
3011
- views: [
3012
- {
3013
- mosaicNodeId: "view-1",
3014
- viewPresetId: "demosyncgrouptime_radar"
3015
- },
3016
- {
3017
- mosaicNodeId: "view-2",
3018
- viewPresetId: "demosyncgrouptime_temp"
3019
- }
3020
- ],
3021
- syncGroups: [
3022
- {
3023
- id: "Time_radar",
3024
- type: "SYNCGROUPS_TYPE_SETTIME"
3025
- },
3026
- {
3027
- id: "Time_temp",
3028
- type: "SYNCGROUPS_TYPE_SETTIME"
3029
- }
3030
- ],
3031
- mosaicNode: {
3032
- direction: "row",
3033
- first: "view-1",
3034
- second: "view-2",
3035
- splitPercentage: 50
3036
- }
3037
- },
3038
- {
3039
- id: "emptyMap",
3040
- title: "Empty map",
3041
- scope: "system",
3042
- abstract: "",
3043
- viewType: "singleWindow",
3044
- views: [
3045
- {
3046
- mosaicNodeId: "emptyMapView",
3047
- viewPresetId: "emptyMap"
3048
- }
3049
- ],
3050
- mosaicNode: "emptyMapView"
3051
- },
3052
- {
3053
- id: "radarView",
3054
- title: "Radar",
3055
- scope: "user",
3056
- abstract: "",
3057
- viewType: "singleWindow",
3058
- views: [
3059
- {
3060
- mosaicNodeId: "radarView",
3061
- viewPresetId: "radar"
3062
- }
3063
- ],
3064
- mosaicNode: "radarView"
3065
- },
3066
- {
3067
- id: "workspaceHarmonie",
3068
- title: "Harmonie workspace",
3069
- scope: "system",
3070
- abstract: "",
3071
- viewType: "singleWindow",
3072
- views: [
3073
- {
3074
- mosaicNodeId: "harmView",
3075
- viewPresetId: "viewHarmonie"
3076
- }
3077
- ],
3078
- mosaicNode: "harmView"
3079
- },
3080
- {
3081
- id: "capWorkspace",
3082
- title: "Cap Warnings",
3083
- scope: "system",
3084
- abstract: "",
3085
- viewType: "multiWindow",
3086
- views: [
3087
- {
3088
- mosaicNodeId: "view-1",
3089
- viewPresetId: "capMapView"
3090
- },
3091
- {
3092
- mosaicNodeId: "view-2",
3093
- viewPresetId: "capListView"
3094
- }
3095
- ],
3096
- mosaicNode: {
3097
- direction: "row",
3098
- first: "view-1",
3099
- second: "view-2",
3100
- splitPercentage: 50
3101
- }
3102
- }
3103
- ];
3104
-
3105
- var viewPresetsListFullContent = [
3106
- {
3107
- id: "radar",
3108
- title: "Radar",
3109
- abstract: "abstract radar",
3110
- componentType: "Map",
3111
- initialProps: {
3112
- mapPreset: {
3113
- layers: [
3114
- {
3115
- service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
3116
- name: "RAD_NL25_PCP_CM",
3117
- format: "image/png",
3118
- enabled: true,
3119
- style: "radar/nearest",
3120
- id: "layerid_8",
3121
- layerType: "mapLayer"
3122
- },
3123
- {
3124
- service: "https://openwms.fmi.fi/geoserver/wms?",
3125
- name: "Radar:suomi_dbz_eureffin",
3126
- format: "image/png",
3127
- style: "Radar dbz Summer",
3128
- enabled: true,
3129
- layerType: "mapLayer"
3130
- },
3131
- {
3132
- service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
3133
- name: "RAD_NL25_PCP_CM",
3134
- format: "image/png",
3135
- style: "precip-blue-transparent/nearest",
3136
- enabled: true,
3137
- layerType: "mapLayer"
3138
- }
3139
- ],
3140
- proj: {
3141
- bbox: {
3142
- left: 58703.6377,
3143
- bottom: 6408480.4514,
3144
- right: 3967387.5161,
3145
- top: 11520588.9031
3146
- },
3147
- srs: "EPSG:3857"
3148
- },
3149
- activeLayerId: "radar_precipitation_intensity_nordic_id",
3150
- toggleTimestepAuto: false,
3151
- animationPayload: {
3152
- duration: 240,
3153
- interval: 5,
3154
- speed: 2,
3155
- endTime: "NOW+PT2H00M",
3156
- shouldEndtimeOverride: true
3157
- },
3158
- shouldAutoUpdate: false,
3159
- shouldAnimate: true
3160
- }
3161
- }
3162
- },
3163
- {
3164
- title: "Temperature",
3165
- id: "temp",
3166
- componentType: "Map",
3167
- initialProps: {
3168
- mapPreset: {
3169
- layers: [
3170
- {
3171
- service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
3172
- name: "10M/ta",
3173
- id: "layerid_10",
3174
- layerType: "mapLayer"
3175
- }
3176
- ],
3177
- proj: {
3178
- bbox: {
3179
- left: -450651.2255879827,
3180
- bottom: 6490531.093143953,
3181
- right: 1428345.8183648037,
3182
- top: 7438773.776232235
3183
- },
3184
- srs: "EPSG:3857"
3185
- }
3186
- },
3187
- syncGroupsIds: [
3188
- "Area_RadarTemp",
3189
- "Time_RadarTemp"
3190
- ]
3191
- }
3192
- },
3193
- {
3194
- title: "TimeseriesMap",
3195
- id: "TimeseriesMap",
3196
- x: 0,
3197
- y: 0,
3198
- w: 6,
3199
- h: 18,
3200
- componentType: "Map",
3201
- initialProps: {
3202
- mapPreset: {
3203
- layers: [
3204
- ],
3205
- displayMapPin: true,
3206
- proj: {
3207
- bbox: {
3208
- left: -450651.2255879827,
3209
- bottom: 6490531.093143953,
3210
- right: 1428345.8183648037,
3211
- top: 7438773.776232235
3212
- },
3213
- srs: "EPSG:3857"
3214
- }
3215
- }
3216
- }
3217
- },
3218
- {
3219
- title: "KNMI WMS UWCW HA43 DINI forecast",
3220
- id: "view_knmi_timeseries_ha43_dini_wms",
3221
- x: 0,
3222
- y: 0,
3223
- w: 6,
3224
- h: 18,
3225
- componentType: "Map",
3226
- initialProps: {
3227
- mapPreset: {
3228
- layers: [
3229
- {
3230
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3231
- name: "air_pressure_at_mean_sea_level_hagl",
3232
- layerType: "mapLayer",
3233
- enabled: true
3234
- },
3235
- {
3236
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3237
- name: "total_precipitation_rate_hagl",
3238
- layerType: "mapLayer",
3239
- enabled: true
3240
- },
3241
- {
3242
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3243
- name: "air_temperature_hagl",
3244
- style: "temperature_wow/shaded",
3245
- layerType: "mapLayer",
3246
- enabled: true
3247
- }
3248
- ],
3249
- displayMapPin: true,
3250
- proj: {
3251
- bbox: {
3252
- left: -450651.2255879827,
3253
- bottom: 6490531.093143953,
3254
- right: 1428345.8183648037,
3255
- top: 7438773.776232235
3256
- },
3257
- srs: "EPSG:3857"
3258
- }
3259
- }
3260
- }
2500
+ title: "KNMI WMS UWCW HA43 DINI forecast",
2501
+ id: "view_knmi_timeseries_ha43_dini_wms",
2502
+ x: 0,
2503
+ y: 0,
2504
+ w: 6,
2505
+ h: 18,
2506
+ componentType: "Map",
2507
+ initialProps: {
2508
+ mapPreset: {
2509
+ layers: [
2510
+ {
2511
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
2512
+ name: "air_pressure_at_mean_sea_level_hagl",
2513
+ layerType: "mapLayer",
2514
+ enabled: true
2515
+ },
2516
+ {
2517
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
2518
+ name: "total_precipitation_rate_hagl",
2519
+ layerType: "mapLayer",
2520
+ enabled: true
2521
+ },
2522
+ {
2523
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
2524
+ name: "air_temperature_hagl",
2525
+ style: "temperature_wow/shaded",
2526
+ layerType: "mapLayer",
2527
+ enabled: true
2528
+ }
2529
+ ],
2530
+ displayMapPin: true,
2531
+ proj: {
2532
+ bbox: {
2533
+ left: -450651.2255879827,
2534
+ bottom: 6490531.093143953,
2535
+ right: 1428345.8183648037,
2536
+ top: 7438773.776232235
2537
+ },
2538
+ srs: "EPSG:3857"
2539
+ }
2540
+ }
2541
+ }
3261
2542
  },
3262
2543
  {
3263
2544
  title: "KNMI EDR UWCW HA43 DINI forecast",
@@ -3497,54 +2778,231 @@ var viewPresetsListFullContent = [
3497
2778
  }
3498
2779
  },
3499
2780
  {
3500
- title: "Harmonie Temperature and Precipitation",
3501
- id: "screenHarmAll",
3502
- componentType: "HarmonieTempAndPrecipPreset",
2781
+ title: "Harmonie Temperature and Precipitation",
2782
+ id: "screenHarmAll",
2783
+ componentType: "HarmonieTempAndPrecipPreset",
2784
+ initialProps: {
2785
+ layers: {
2786
+ topRow: {
2787
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
2788
+ name: "air_temperature_hagl",
2789
+ style: "temperature_wow/shaded",
2790
+ id: "layerid_18",
2791
+ layerType: "mapLayer",
2792
+ enabled: true
2793
+ },
2794
+ bottomRow: {
2795
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
2796
+ name: "total_precipitation_rate_hagl",
2797
+ id: "layerid_19",
2798
+ layerType: "mapLayer",
2799
+ enabled: true
2800
+ },
2801
+ topRowSyncGroups: [
2802
+ "timeLayerGroupA",
2803
+ "areaLayerGroupA",
2804
+ "layerGroupA"
2805
+ ],
2806
+ bottomRowSyncGroups: [
2807
+ "timeLayerGroupA",
2808
+ "areaLayerGroupA",
2809
+ "layerGroupB"
2810
+ ]
2811
+ }
2812
+ }
2813
+ },
2814
+ {
2815
+ componentType: "Map",
2816
+ title: "Radar",
2817
+ id: "screenRadar",
2818
+ scope: "user",
2819
+ initialProps: {
2820
+ mapPreset: {
2821
+ layers: [
2822
+ {
2823
+ service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
2824
+ name: "RAD_NL25_PCP_CM",
2825
+ format: "image/png",
2826
+ enabled: true,
2827
+ style: "radar/nearest",
2828
+ id: "layerid_8",
2829
+ layerType: "mapLayer"
2830
+ }
2831
+ ],
2832
+ proj: {
2833
+ bbox: {
2834
+ left: -450651.2255879827,
2835
+ bottom: 6490531.093143953,
2836
+ right: 1428345.8183648037,
2837
+ top: 7438773.776232235
2838
+ },
2839
+ srs: "EPSG:3857"
2840
+ }
2841
+ }
2842
+ }
2843
+ },
2844
+ {
2845
+ componentType: "Map",
2846
+ id: "screenConfigC",
2847
+ title: "Satellite",
2848
+ initialProps: {
2849
+ mapPreset: {
2850
+ layers: [
2851
+ {
2852
+ service: "https://eumetview.eumetsat.int/geoserv/wms?",
2853
+ name: "meteosat:msg_naturalenhncd",
2854
+ enabled: true,
2855
+ id: "layerid_36",
2856
+ layerType: "mapLayer"
2857
+ }
2858
+ ],
2859
+ proj: {
2860
+ bbox: {
2861
+ left: -7529663.50832266,
2862
+ bottom: 308359.5390525013,
2863
+ right: 7493930.85787452,
2864
+ top: 11742807.68245839
2865
+ },
2866
+ srs: "EPSG:3857"
2867
+ }
2868
+ }
2869
+ }
2870
+ },
2871
+ {
2872
+ componentType: "Map",
2873
+ title: "Satellite",
2874
+ id: "sat",
2875
+ initialProps: {
2876
+ mapPreset: {
2877
+ layers: [
2878
+ {
2879
+ service: "https://eumetview.eumetsat.int/geoserv/wms?",
2880
+ name: "meteosat:msg_naturalenhncd",
2881
+ enabled: true,
2882
+ id: "layerid_36",
2883
+ layerType: "mapLayer"
2884
+ }
2885
+ ],
2886
+ proj: {
2887
+ bbox: {
2888
+ left: -7529663.50832266,
2889
+ bottom: 308359.5390525013,
2890
+ right: 7493930.85787452,
2891
+ top: 11742807.68245839
2892
+ },
2893
+ srs: "EPSG:3857"
2894
+ },
2895
+ shouldAnimate: true,
2896
+ animationPayload: {
2897
+ duration: 180,
2898
+ interval: 15
2899
+ }
2900
+ }
2901
+ }
2902
+ },
2903
+ {
2904
+ componentType: "Map",
2905
+ title: "Radar",
2906
+ id: "rad",
2907
+ initialProps: {
2908
+ mapPreset: {
2909
+ layers: [
2910
+ {
2911
+ service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
2912
+ name: "RAD_NL25_PCP_CM",
2913
+ format: "image/png",
2914
+ enabled: true,
2915
+ style: "radar/nearest",
2916
+ id: "layerid_8",
2917
+ layerType: "mapLayer"
2918
+ }
2919
+ ],
2920
+ proj: {
2921
+ bbox: {
2922
+ left: -450651.2255879827,
2923
+ bottom: 6490531.093143953,
2924
+ right: 1428345.8183648037,
2925
+ top: 7438773.776232235
2926
+ },
2927
+ srs: "EPSG:3857"
2928
+ },
2929
+ shouldAnimate: true,
2930
+ animationPayload: {
2931
+ duration: 120,
2932
+ interval: 5,
2933
+ speed: 8
2934
+ }
2935
+ }
2936
+ }
2937
+ },
2938
+ {
2939
+ componentType: "Map",
2940
+ id: "map_OBSTA",
2941
+ initialProps: {
2942
+ mapPreset: {
2943
+ layers: [
2944
+ {
2945
+ service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
2946
+ name: "10M/ta",
2947
+ id: "layerid_10",
2948
+ layerType: "mapLayer"
2949
+ }
2950
+ ],
2951
+ proj: {
2952
+ bbox: {
2953
+ left: -450651.2255879827,
2954
+ bottom: 6490531.093143953,
2955
+ right: 1428345.8183648037,
2956
+ top: 7438773.776232235
2957
+ },
2958
+ srs: "EPSG:3857"
2959
+ }
2960
+ },
2961
+ syncGroupsIds: [
2962
+ "Area_A",
2963
+ "Time_A"
2964
+ ]
2965
+ }
2966
+ },
2967
+ {
2968
+ componentType: "Map",
2969
+ id: "map_OBSPP",
3503
2970
  initialProps: {
3504
- layers: {
3505
- topRow: {
3506
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3507
- name: "air_temperature_hagl",
3508
- style: "temperature_wow/shaded",
3509
- id: "layerid_18",
3510
- layerType: "mapLayer",
3511
- enabled: true
3512
- },
3513
- bottomRow: {
3514
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3515
- name: "total_precipitation_rate_hagl",
3516
- id: "layerid_19",
3517
- layerType: "mapLayer",
3518
- enabled: true
3519
- },
3520
- topRowSyncGroups: [
3521
- "timeLayerGroupA",
3522
- "areaLayerGroupA",
3523
- "layerGroupA"
2971
+ mapPreset: {
2972
+ layers: [
2973
+ {
2974
+ service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
2975
+ name: "10M/pp",
2976
+ id: "layerid_12",
2977
+ layerType: "mapLayer"
2978
+ }
3524
2979
  ],
3525
- bottomRowSyncGroups: [
3526
- "timeLayerGroupA",
3527
- "areaLayerGroupA",
3528
- "layerGroupB"
3529
- ]
3530
- }
2980
+ proj: {
2981
+ bbox: {
2982
+ left: -450651.2255879827,
2983
+ bottom: 6490531.093143953,
2984
+ right: 1428345.8183648037,
2985
+ top: 7438773.776232235
2986
+ },
2987
+ srs: "EPSG:3857"
2988
+ }
2989
+ },
2990
+ syncGroupsIds: [
2991
+ "Area_A",
2992
+ "Time_A"
2993
+ ]
3531
2994
  }
3532
2995
  },
3533
2996
  {
3534
2997
  componentType: "Map",
3535
- title: "Radar",
3536
- id: "screenRadar",
3537
- scope: "user",
2998
+ id: "map_OBSWind",
3538
2999
  initialProps: {
3539
3000
  mapPreset: {
3540
3001
  layers: [
3541
3002
  {
3542
- service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
3543
- name: "RAD_NL25_PCP_CM",
3544
- format: "image/png",
3545
- enabled: true,
3546
- style: "radar/nearest",
3547
- id: "layerid_8",
3003
+ service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
3004
+ name: "10M/wind",
3005
+ id: "layerid_11",
3548
3006
  layerType: "mapLayer"
3549
3007
  }
3550
3008
  ],
@@ -3557,83 +3015,207 @@ var viewPresetsListFullContent = [
3557
3015
  },
3558
3016
  srs: "EPSG:3857"
3559
3017
  }
3560
- }
3018
+ },
3019
+ syncGroupsIds: [
3020
+ "Area_A",
3021
+ "Time_A"
3022
+ ]
3561
3023
  }
3562
3024
  },
3563
3025
  {
3564
3026
  componentType: "Map",
3565
- id: "screenConfigC",
3566
- title: "Satellite",
3027
+ id: "map_OBSRH",
3567
3028
  initialProps: {
3568
3029
  mapPreset: {
3569
3030
  layers: [
3570
3031
  {
3571
- service: "https://eumetview.eumetsat.int/geoserv/wms?",
3572
- name: "meteosat:msg_naturalenhncd",
3573
- enabled: true,
3574
- id: "layerid_36",
3032
+ service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
3033
+ name: "10M/rh",
3034
+ id: "layerid_13",
3575
3035
  layerType: "mapLayer"
3576
3036
  }
3577
3037
  ],
3578
3038
  proj: {
3579
3039
  bbox: {
3580
- left: -7529663.50832266,
3581
- bottom: 308359.5390525013,
3582
- right: 7493930.85787452,
3583
- top: 11742807.68245839
3040
+ left: -450651.2255879827,
3041
+ bottom: 6490531.093143953,
3042
+ right: 1428345.8183648037,
3043
+ top: 7438773.776232235
3584
3044
  },
3585
3045
  srs: "EPSG:3857"
3586
3046
  }
3587
- }
3047
+ },
3048
+ syncGroupsIds: [
3049
+ "Area_A",
3050
+ "Time_A"
3051
+ ]
3588
3052
  }
3589
3053
  },
3590
3054
  {
3591
3055
  componentType: "Map",
3592
- title: "Satellite",
3593
- id: "sat",
3056
+ id: "map_OBSQG",
3594
3057
  initialProps: {
3595
3058
  mapPreset: {
3596
3059
  layers: [
3597
3060
  {
3598
- service: "https://eumetview.eumetsat.int/geoserv/wms?",
3599
- name: "meteosat:msg_naturalenhncd",
3600
- enabled: true,
3601
- id: "layerid_36",
3061
+ service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
3062
+ name: "10M/qg",
3063
+ id: "layerid_14",
3602
3064
  layerType: "mapLayer"
3603
3065
  }
3604
3066
  ],
3605
3067
  proj: {
3606
3068
  bbox: {
3607
- left: -7529663.50832266,
3608
- bottom: 308359.5390525013,
3609
- right: 7493930.85787452,
3610
- top: 11742807.68245839
3069
+ left: -450651.2255879827,
3070
+ bottom: 6490531.093143953,
3071
+ right: 1428345.8183648037,
3072
+ top: 7438773.776232235
3611
3073
  },
3612
3074
  srs: "EPSG:3857"
3075
+ }
3076
+ },
3077
+ syncGroupsIds: [
3078
+ "Area_A",
3079
+ "Time_A"
3080
+ ]
3081
+ }
3082
+ },
3083
+ {
3084
+ componentType: "MultiMap",
3085
+ id: "screenRadAndObs",
3086
+ initialProps: {
3087
+ shouldShowZoomControls: false,
3088
+ mapPreset: [
3089
+ {
3090
+ layers: [
3091
+ {
3092
+ service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
3093
+ name: "RAD_NL25_PCP_CM",
3094
+ format: "image/png",
3095
+ enabled: true,
3096
+ style: "radar/nearest",
3097
+ id: "layerid_8",
3098
+ layerType: "mapLayer"
3099
+ },
3100
+ {
3101
+ id: "base-layer-2",
3102
+ name: "OpenStreetMap_NL",
3103
+ type: "twms",
3104
+ layerType: "baseLayer",
3105
+ enabled: true
3106
+ }
3107
+ ],
3108
+ proj: {
3109
+ bbox: {
3110
+ left: -450651.2255879827,
3111
+ bottom: 6490531.093143953,
3112
+ right: 1428345.8183648037,
3113
+ top: 7438773.776232235
3114
+ },
3115
+ srs: "EPSG:3857"
3116
+ }
3613
3117
  },
3614
- shouldAnimate: true,
3615
- animationPayload: {
3616
- duration: 180,
3617
- interval: 15
3118
+ {
3119
+ layers: [
3120
+ {
3121
+ service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
3122
+ name: "10M/ta",
3123
+ id: "layerid_10",
3124
+ layerType: "mapLayer"
3125
+ }
3126
+ ]
3127
+ },
3128
+ {
3129
+ layers: [
3130
+ {
3131
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3132
+ name: "total_precipitation_rate_hagl",
3133
+ id: "layerid_19",
3134
+ layerType: "mapLayer",
3135
+ enabled: true
3136
+ }
3137
+ ],
3138
+ proj: {
3139
+ bbox: {
3140
+ left: -450651.2255879827,
3141
+ bottom: 6490531.093143953,
3142
+ right: 1428345.8183648037,
3143
+ top: 7438773.776232235
3144
+ },
3145
+ srs: "EPSG:3857"
3146
+ }
3147
+ },
3148
+ {
3149
+ layers: [
3150
+ {
3151
+ service: "https://eumetview.eumetsat.int/geoserv/wms?",
3152
+ name: "meteosat:msg_naturalenhncd",
3153
+ enabled: true,
3154
+ id: "layerid_36",
3155
+ layerType: "mapLayer"
3156
+ }
3157
+ ],
3158
+ proj: {
3159
+ bbox: {
3160
+ left: -7529663.50832266,
3161
+ bottom: 308359.5390525013,
3162
+ right: 7493930.85787452,
3163
+ top: 11742807.68245839
3164
+ },
3165
+ srs: "EPSG:3857"
3166
+ }
3618
3167
  }
3619
- }
3168
+ ],
3169
+ syncGroupsIds: [
3170
+ "Area_screenRadAndObs",
3171
+ "Time_screenRadAndObs"
3172
+ ]
3620
3173
  }
3621
3174
  },
3622
3175
  {
3623
3176
  componentType: "Map",
3624
- title: "Radar",
3625
- id: "rad",
3177
+ id: "harmPrecip",
3626
3178
  initialProps: {
3627
3179
  mapPreset: {
3628
3180
  layers: [
3629
3181
  {
3630
- service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
3631
- name: "RAD_NL25_PCP_CM",
3632
- format: "image/png",
3633
- enabled: true,
3634
- style: "radar/nearest",
3635
- id: "layerid_8",
3636
- layerType: "mapLayer"
3182
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3183
+ name: "total_precipitation_rate_hagl",
3184
+ id: "layerid_19",
3185
+ layerType: "mapLayer",
3186
+ enabled: true
3187
+ }
3188
+ ],
3189
+ proj: {
3190
+ bbox: {
3191
+ left: -450651.2255879827,
3192
+ bottom: 6490531.093143953,
3193
+ right: 1428345.8183648037,
3194
+ top: 7438773.776232235
3195
+ },
3196
+ srs: "EPSG:3857"
3197
+ },
3198
+ showTimeSlider: false
3199
+ },
3200
+ syncGroupsIds: [
3201
+ "Area_B",
3202
+ "Time_B"
3203
+ ]
3204
+ }
3205
+ },
3206
+ {
3207
+ componentType: "Map",
3208
+ id: "harmTemp",
3209
+ initialProps: {
3210
+ mapPreset: {
3211
+ layers: [
3212
+ {
3213
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3214
+ name: "air_temperature_hagl",
3215
+ style: "temperature_wow/shaded",
3216
+ id: "layerid_18",
3217
+ layerType: "mapLayer",
3218
+ enabled: true
3637
3219
  }
3638
3220
  ],
3639
3221
  proj: {
@@ -3645,26 +3227,26 @@ var viewPresetsListFullContent = [
3645
3227
  },
3646
3228
  srs: "EPSG:3857"
3647
3229
  },
3648
- shouldAnimate: true,
3649
- animationPayload: {
3650
- duration: 120,
3651
- interval: 5,
3652
- speed: 8
3653
- }
3654
- }
3230
+ showTimeSlider: false
3231
+ },
3232
+ syncGroupsIds: [
3233
+ "Area_B",
3234
+ "Time_B"
3235
+ ]
3655
3236
  }
3656
3237
  },
3657
3238
  {
3658
3239
  componentType: "Map",
3659
- id: "map_OBSTA",
3240
+ id: "harmPressure",
3660
3241
  initialProps: {
3661
3242
  mapPreset: {
3662
3243
  layers: [
3663
3244
  {
3664
- service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
3665
- name: "10M/ta",
3666
- id: "layerid_10",
3667
- layerType: "mapLayer"
3245
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3246
+ name: "air_pressure_at_mean_sea_level_hagl",
3247
+ id: "layerid_20",
3248
+ layerType: "mapLayer",
3249
+ enabled: true
3668
3250
  }
3669
3251
  ],
3670
3252
  proj: {
@@ -3675,25 +3257,49 @@ var viewPresetsListFullContent = [
3675
3257
  top: 7438773.776232235
3676
3258
  },
3677
3259
  srs: "EPSG:3857"
3678
- }
3260
+ },
3261
+ showTimeSlider: false
3679
3262
  },
3680
3263
  syncGroupsIds: [
3681
- "Area_A",
3682
- "Time_A"
3264
+ "Area_B",
3265
+ "Time_B"
3266
+ ]
3267
+ }
3268
+ },
3269
+ {
3270
+ componentType: "TimeSlider",
3271
+ id: "slider",
3272
+ initialProps: {
3273
+ sliderPreset: {
3274
+ mapId: "harmPrecip"
3275
+ },
3276
+ syncGroupsIds: [
3277
+ "Area_B",
3278
+ "Time_B"
3683
3279
  ]
3684
3280
  }
3685
3281
  },
3686
3282
  {
3283
+ title: "Radar",
3284
+ id: "demosyncgroupbbox_radar",
3687
3285
  componentType: "Map",
3688
- id: "map_OBSPP",
3689
3286
  initialProps: {
3690
3287
  mapPreset: {
3691
3288
  layers: [
3692
3289
  {
3693
- service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
3694
- name: "10M/pp",
3695
- id: "layerid_12",
3290
+ service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
3291
+ name: "RAD_NL25_PCP_CM",
3292
+ format: "image/png",
3293
+ enabled: true,
3294
+ style: "radar/nearest",
3295
+ id: "layerid_8",
3696
3296
  layerType: "mapLayer"
3297
+ },
3298
+ {
3299
+ service: "https://maps.heigit.org/osm-wms/service",
3300
+ id: "layerid_5",
3301
+ name: "osm_auto:all",
3302
+ layerType: "baseLayer"
3697
3303
  }
3698
3304
  ],
3699
3305
  proj: {
@@ -3707,21 +3313,21 @@ var viewPresetsListFullContent = [
3707
3313
  }
3708
3314
  },
3709
3315
  syncGroupsIds: [
3710
- "Area_A",
3711
- "Time_A"
3316
+ "Area_radar"
3712
3317
  ]
3713
3318
  }
3714
3319
  },
3715
3320
  {
3321
+ title: "Temperature",
3322
+ id: "demosyncgroupbbox_temp",
3716
3323
  componentType: "Map",
3717
- id: "map_OBSWind",
3718
3324
  initialProps: {
3719
3325
  mapPreset: {
3720
3326
  layers: [
3721
3327
  {
3722
3328
  service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
3723
- name: "10M/wind",
3724
- id: "layerid_11",
3329
+ name: "10M/ta",
3330
+ id: "layerid_10",
3725
3331
  layerType: "mapLayer"
3726
3332
  }
3727
3333
  ],
@@ -3736,22 +3342,31 @@ var viewPresetsListFullContent = [
3736
3342
  }
3737
3343
  },
3738
3344
  syncGroupsIds: [
3739
- "Area_A",
3740
- "Time_A"
3345
+ "Area_radar"
3741
3346
  ]
3742
3347
  }
3743
3348
  },
3744
3349
  {
3350
+ title: "Radar",
3351
+ id: "demosyncgrouptime_radar",
3745
3352
  componentType: "Map",
3746
- id: "map_OBSRH",
3747
3353
  initialProps: {
3748
3354
  mapPreset: {
3749
3355
  layers: [
3750
3356
  {
3751
- service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
3752
- name: "10M/rh",
3753
- id: "layerid_13",
3357
+ service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
3358
+ name: "RAD_NL25_PCP_CM",
3359
+ format: "image/png",
3360
+ enabled: true,
3361
+ style: "radar/nearest",
3362
+ id: "layerid_8",
3754
3363
  layerType: "mapLayer"
3364
+ },
3365
+ {
3366
+ service: "https://maps.heigit.org/osm-wms/service",
3367
+ id: "layerid_5",
3368
+ name: "osm_auto:all",
3369
+ layerType: "baseLayer"
3755
3370
  }
3756
3371
  ],
3757
3372
  proj: {
@@ -3765,21 +3380,21 @@ var viewPresetsListFullContent = [
3765
3380
  }
3766
3381
  },
3767
3382
  syncGroupsIds: [
3768
- "Area_A",
3769
- "Time_A"
3383
+ "Time_radar"
3770
3384
  ]
3771
3385
  }
3772
3386
  },
3773
3387
  {
3388
+ title: "Temperature",
3389
+ id: "demosyncgrouptime_temp",
3774
3390
  componentType: "Map",
3775
- id: "map_OBSQG",
3776
3391
  initialProps: {
3777
3392
  mapPreset: {
3778
3393
  layers: [
3779
3394
  {
3780
3395
  service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
3781
- name: "10M/qg",
3782
- id: "layerid_14",
3396
+ name: "10M/ta",
3397
+ id: "layerid_10",
3783
3398
  layerType: "mapLayer"
3784
3399
  }
3785
3400
  ],
@@ -3794,115 +3409,135 @@ var viewPresetsListFullContent = [
3794
3409
  }
3795
3410
  },
3796
3411
  syncGroupsIds: [
3797
- "Area_A",
3798
- "Time_A"
3412
+ "Time_radar"
3799
3413
  ]
3800
3414
  }
3801
3415
  },
3802
3416
  {
3803
- componentType: "MultiMap",
3804
- id: "screenRadAndObs",
3417
+ title: "Empty map",
3418
+ id: "emptyMap",
3419
+ componentType: "Map",
3805
3420
  initialProps: {
3806
- shouldShowZoomControls: false,
3807
- mapPreset: [
3808
- {
3809
- layers: [
3810
- {
3811
- service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
3812
- name: "RAD_NL25_PCP_CM",
3813
- format: "image/png",
3814
- enabled: true,
3815
- style: "radar/nearest",
3816
- id: "layerid_8",
3817
- layerType: "mapLayer"
3818
- },
3819
- {
3820
- id: "base-layer-2",
3821
- name: "OpenStreetMap_NL",
3822
- type: "twms",
3823
- layerType: "baseLayer",
3824
- enabled: true
3825
- }
3826
- ],
3827
- proj: {
3828
- bbox: {
3829
- left: -450651.2255879827,
3830
- bottom: 6490531.093143953,
3831
- right: 1428345.8183648037,
3832
- top: 7438773.776232235
3833
- },
3834
- srs: "EPSG:3857"
3835
- }
3836
- },
3837
- {
3838
- layers: [
3839
- {
3840
- service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
3841
- name: "10M/ta",
3842
- id: "layerid_10",
3843
- layerType: "mapLayer"
3844
- }
3845
- ]
3846
- },
3847
- {
3848
- layers: [
3849
- {
3850
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3851
- name: "total_precipitation_rate_hagl",
3852
- id: "layerid_19",
3853
- layerType: "mapLayer",
3854
- enabled: true
3855
- }
3856
- ],
3857
- proj: {
3858
- bbox: {
3859
- left: -450651.2255879827,
3860
- bottom: 6490531.093143953,
3861
- right: 1428345.8183648037,
3862
- top: 7438773.776232235
3863
- },
3864
- srs: "EPSG:3857"
3865
- }
3866
- },
3867
- {
3868
- layers: [
3869
- {
3870
- service: "https://eumetview.eumetsat.int/geoserv/wms?",
3871
- name: "meteosat:msg_naturalenhncd",
3872
- enabled: true,
3873
- id: "layerid_36",
3874
- layerType: "mapLayer"
3875
- }
3876
- ],
3877
- proj: {
3878
- bbox: {
3879
- left: -7529663.50832266,
3880
- bottom: 308359.5390525013,
3881
- right: 7493930.85787452,
3882
- top: 11742807.68245839
3883
- },
3884
- srs: "EPSG:3857"
3885
- }
3886
- }
3887
- ],
3421
+ mapPreset: {
3422
+ layers: [
3423
+ ]
3424
+ },
3888
3425
  syncGroupsIds: [
3889
- "Area_screenRadAndObs",
3890
- "Time_screenRadAndObs"
3891
3426
  ]
3892
3427
  }
3893
3428
  },
3894
3429
  {
3430
+ title: "TAF",
3431
+ id: "taf",
3432
+ componentType: "TafModule",
3433
+ initialProps: {
3434
+ }
3435
+ },
3436
+ {
3437
+ title: "Actions example",
3438
+ id: "actionsExample",
3439
+ componentType: "ActionsExample",
3440
+ initialProps: {
3441
+ }
3442
+ },
3443
+ {
3444
+ title: "HARM",
3445
+ id: "viewHarmonie",
3895
3446
  componentType: "Map",
3896
- id: "harmPrecip",
3897
3447
  initialProps: {
3898
3448
  mapPreset: {
3899
3449
  layers: [
3900
3450
  {
3901
3451
  service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3902
- name: "total_precipitation_rate_hagl",
3903
- id: "layerid_19",
3452
+ name: "wind_speed_components_hagl",
3453
+ id: "wind_speed_components_hagl",
3454
+ format: "image/png",
3455
+ enabled: true,
3456
+ style: "windbarbs_kts/barb",
3457
+ layerType: "mapLayer"
3458
+ },
3459
+ {
3460
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3461
+ name: "total_precipitation_rate_hagl",
3462
+ id: "total_precipitation_rate_hagl",
3463
+ format: "image/png",
3464
+ enabled: true,
3465
+ style: "",
3466
+ layerType: "mapLayer"
3467
+ },
3468
+ {
3469
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3470
+ name: "air_temperature_hagl",
3471
+ id: "air_temperature_hagl",
3472
+ format: "image/png",
3473
+ enabled: true,
3474
+ style: "temperature_wow/shaded",
3475
+ layerType: "mapLayer"
3476
+ },
3477
+ {
3478
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3479
+ name: "wind_speed_components_pl",
3480
+ id: "wind_speed_components_pl",
3481
+ format: "image/png",
3482
+ enabled: false,
3483
+ style: "windbarbs_kts/barb",
3484
+ layerType: "mapLayer",
3485
+ dimensions: [
3486
+ {
3487
+ name: "pressure_level_in_hpa",
3488
+ currentValue: "700"
3489
+ }
3490
+ ]
3491
+ },
3492
+ {
3493
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3494
+ name: "air_temperature_hagl",
3495
+ id: "air_temperature_hagl",
3496
+ format: "image/png",
3497
+ enabled: false,
3498
+ style: "temperature_wow/shaded",
3904
3499
  layerType: "mapLayer",
3905
- enabled: true
3500
+ dimensions: [
3501
+ ]
3502
+ },
3503
+ {
3504
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3505
+ name: "geopotential_height_pl",
3506
+ id: "geopotential_height_pl",
3507
+ format: "image/png",
3508
+ enabled: false,
3509
+ style: "",
3510
+ layerType: "mapLayer",
3511
+ dimensions: [
3512
+ {
3513
+ name: "pressure_level_in_hpa",
3514
+ currentValue: "850"
3515
+ }
3516
+ ]
3517
+ },
3518
+ {
3519
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3520
+ name: "relative_humidity_pl",
3521
+ id: "relative_humidity_pl",
3522
+ format: "image/png",
3523
+ enabled: false,
3524
+ style: "",
3525
+ layerType: "mapLayer",
3526
+ dimensions: [
3527
+ {
3528
+ name: "pressure_level_in_hpa",
3529
+ currentValue: "850"
3530
+ }
3531
+ ]
3532
+ },
3533
+ {
3534
+ service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3535
+ name: "wind_speed_of_gust_01h_hagl",
3536
+ id: "wind_speed_of_gust_01h_hagl",
3537
+ format: "image/png",
3538
+ enabled: false,
3539
+ style: "",
3540
+ layerType: "mapLayer"
3906
3541
  }
3907
3542
  ],
3908
3543
  proj: {
@@ -3913,600 +3548,941 @@ var viewPresetsListFullContent = [
3913
3548
  top: 7438773.776232235
3914
3549
  },
3915
3550
  srs: "EPSG:3857"
3916
- },
3917
- showTimeSlider: false
3918
- },
3919
- syncGroupsIds: [
3920
- "Area_B",
3921
- "Time_B"
3922
- ]
3551
+ }
3552
+ }
3923
3553
  }
3924
3554
  },
3925
3555
  {
3926
- componentType: "Map",
3927
- id: "harmTemp",
3556
+ id: "capMapView",
3557
+ title: "Cap Warning Map",
3558
+ componentType: "CapWarningMap",
3928
3559
  initialProps: {
3929
3560
  mapPreset: {
3930
3561
  layers: [
3931
3562
  {
3932
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3933
- name: "air_temperature_hagl",
3934
- style: "temperature_wow/shaded",
3935
- id: "layerid_18",
3936
- layerType: "mapLayer",
3937
- enabled: true
3563
+ service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
3564
+ name: "RAD_NL25_PCP_CM",
3565
+ format: "image/png",
3566
+ style: "radar/nearest",
3567
+ enabled: true,
3568
+ layerType: "mapLayer"
3938
3569
  }
3939
3570
  ],
3940
3571
  proj: {
3941
3572
  bbox: {
3942
- left: -450651.2255879827,
3943
- bottom: 6490531.093143953,
3944
- right: 1428345.8183648037,
3945
- top: 7438773.776232235
3573
+ left: 58703.6377,
3574
+ bottom: 6408480.4514,
3575
+ right: 3967387.5161,
3576
+ top: 11520588.9031
3946
3577
  },
3947
3578
  srs: "EPSG:3857"
3948
3579
  },
3949
- showTimeSlider: false
3950
- },
3951
- syncGroupsIds: [
3952
- "Area_B",
3953
- "Time_B"
3954
- ]
3580
+ activeLayerId: "radar_precipitation_intensity_nordic_id",
3581
+ toggleTimestepAuto: false,
3582
+ animationPayload: {
3583
+ duration: 240,
3584
+ interval: 5,
3585
+ speed: 2,
3586
+ endTime: "NOW+PT2H00M"
3587
+ },
3588
+ dockedLayerManagerSize: "sizeMedium",
3589
+ shouldAutoUpdate: true
3590
+ }
3955
3591
  }
3956
3592
  },
3957
3593
  {
3958
- componentType: "Map",
3959
- id: "harmPressure",
3960
- initialProps: {
3961
- mapPreset: {
3962
- layers: [
3963
- {
3964
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
3965
- name: "air_pressure_at_mean_sea_level_hagl",
3966
- id: "layerid_20",
3967
- layerType: "mapLayer",
3968
- enabled: true
3969
- }
3970
- ],
3971
- proj: {
3972
- bbox: {
3973
- left: -450651.2255879827,
3974
- bottom: 6490531.093143953,
3975
- right: 1428345.8183648037,
3976
- top: 7438773.776232235
3977
- },
3978
- srs: "EPSG:3857"
3979
- },
3980
- showTimeSlider: false
3981
- },
3982
- syncGroupsIds: [
3983
- "Area_B",
3984
- "Time_B"
3985
- ]
3986
- }
3594
+ id: "capListView",
3595
+ title: "Cap Warning List",
3596
+ componentType: "CapWarningList",
3597
+ initialProps: {
3598
+ }
3599
+ },
3600
+ {
3601
+ id: "warningList",
3602
+ title: "Warning List",
3603
+ componentType: "WarningList",
3604
+ initialProps: {
3605
+ }
3606
+ }
3607
+ ];
3608
+
3609
+ var viewPresetsList = [
3610
+ {
3611
+ title: "Radar",
3612
+ abstract: "abstract radar",
3613
+ id: "radar",
3614
+ date: "2022-06-01T12:34:27.787184",
3615
+ scope: "system"
3616
+ },
3617
+ {
3618
+ title: "Temperature",
3619
+ id: "temp",
3620
+ date: "2022-06-01T12:34:27.787184",
3621
+ scope: "system"
3622
+ },
3623
+ {
3624
+ title: "Radar",
3625
+ id: "screenRadar",
3626
+ date: "2022-06-01T12:34:27.787184",
3627
+ scope: "user"
3628
+ },
3629
+ {
3630
+ id: "screenConfigC",
3631
+ title: "Satellite",
3632
+ date: "2022-06-01T12:34:27.787184",
3633
+ scope: "system"
3634
+ },
3635
+ {
3636
+ title: "map_OBSTA",
3637
+ id: "map_OBSTA",
3638
+ date: "2022-06-01T12:34:27.787184",
3639
+ scope: "system"
3640
+ },
3641
+ {
3642
+ title: "map_OBSPP",
3643
+ id: "map_OBSPP",
3644
+ date: "2022-06-01T12:34:27.787184",
3645
+ scope: "system"
3646
+ },
3647
+ {
3648
+ title: "map_OBSWind",
3649
+ id: "map_OBSWind",
3650
+ date: "2022-06-01T12:34:27.787184",
3651
+ scope: "system"
3652
+ },
3653
+ {
3654
+ title: "map_OBSRH",
3655
+ id: "map_OBSRH",
3656
+ date: "2022-06-01T12:34:27.787184",
3657
+ scope: "system"
3658
+ },
3659
+ {
3660
+ title: "map_OBSQG",
3661
+ id: "map_OBSQG",
3662
+ date: "2022-06-01T12:34:27.787184",
3663
+ scope: "system"
3664
+ },
3665
+ {
3666
+ title: "harmPrecip",
3667
+ id: "harmPrecip",
3668
+ date: "2022-06-01T12:34:27.787184",
3669
+ scope: "system"
3670
+ },
3671
+ {
3672
+ title: "harmTemp",
3673
+ id: "harmTemp",
3674
+ date: "2022-06-01T12:34:27.787184",
3675
+ scope: "system"
3676
+ },
3677
+ {
3678
+ title: "screenHarm",
3679
+ id: "screenHarm",
3680
+ date: "2022-06-01T12:34:27.787184",
3681
+ scope: "system"
3682
+ },
3683
+ {
3684
+ title: "Harmonie",
3685
+ id: "viewHarmonie",
3686
+ date: "2022-06-01T12:34:27.787184",
3687
+ scope: "system"
3688
+ },
3689
+ {
3690
+ title: "harmRefTime",
3691
+ id: "harmRefTime",
3692
+ date: "2022-06-01T12:34:27.787184",
3693
+ scope: "system"
3694
+ },
3695
+ {
3696
+ title: "harmRefTimeAll",
3697
+ id: "harmRefTimeAll",
3698
+ date: "2022-06-01T12:34:27.787184",
3699
+ scope: "system"
3700
+ },
3701
+ {
3702
+ title: "screenHarmAll",
3703
+ id: "screenHarmAll",
3704
+ date: "2022-06-01T12:34:27.787184",
3705
+ scope: "system"
3706
+ },
3707
+ {
3708
+ title: "harmPressure",
3709
+ id: "harmPressure",
3710
+ date: "2022-06-01T12:34:27.787184",
3711
+ scope: "system"
3712
+ },
3713
+ {
3714
+ title: "Empty map",
3715
+ id: "emptyMap",
3716
+ date: "2022-06-01T12:34:27.787184",
3717
+ scope: "system"
3718
+ },
3719
+ {
3720
+ title: "Timeseries map",
3721
+ id: "TimeseriesMap",
3722
+ date: "2022-06-01T12:34:27.787184",
3723
+ scope: "system"
3724
+ },
3725
+ {
3726
+ title: "KNMI WMS UWCW HA43 DINI forecast",
3727
+ id: "view_knmi_timeseries_ha43_dini_wms",
3728
+ date: "2022-06-01T12:34:27.787184",
3729
+ scope: "system"
3730
+ },
3731
+ {
3732
+ title: "KNMI EDR UWCW HA43 DINI forecast",
3733
+ id: "view_knmi_timeseries_ha43_dini_edr",
3734
+ date: "2022-06-01T12:34:27.787184",
3735
+ scope: "system"
3736
+ },
3737
+ {
3738
+ title: "sat",
3739
+ id: "sat",
3740
+ date: "2022-06-01T12:34:27.787184",
3741
+ scope: "system"
3987
3742
  },
3988
3743
  {
3989
- componentType: "TimeSlider",
3990
- id: "slider",
3991
- initialProps: {
3992
- sliderPreset: {
3993
- mapId: "harmPrecip"
3994
- },
3995
- syncGroupsIds: [
3996
- "Area_B",
3997
- "Time_B"
3998
- ]
3999
- }
3744
+ title: "rad",
3745
+ id: "rad",
3746
+ date: "2022-06-01T12:34:27.787184",
3747
+ scope: "system"
4000
3748
  },
4001
3749
  {
4002
- title: "Radar",
3750
+ title: "screenRadAndObs",
3751
+ id: "screenRadAndObs",
3752
+ date: "2022-06-01T12:34:27.787184",
3753
+ scope: "system"
3754
+ },
3755
+ {
3756
+ title: "demosyncgroupbbox_radar",
4003
3757
  id: "demosyncgroupbbox_radar",
4004
- componentType: "Map",
4005
- initialProps: {
4006
- mapPreset: {
4007
- layers: [
4008
- {
4009
- service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
4010
- name: "RAD_NL25_PCP_CM",
4011
- format: "image/png",
4012
- enabled: true,
4013
- style: "radar/nearest",
4014
- id: "layerid_8",
4015
- layerType: "mapLayer"
4016
- },
4017
- {
4018
- service: "https://maps.heigit.org/osm-wms/service",
4019
- id: "layerid_5",
4020
- name: "osm_auto:all",
4021
- layerType: "baseLayer"
4022
- }
4023
- ],
4024
- proj: {
4025
- bbox: {
4026
- left: -450651.2255879827,
4027
- bottom: 6490531.093143953,
4028
- right: 1428345.8183648037,
4029
- top: 7438773.776232235
4030
- },
4031
- srs: "EPSG:3857"
4032
- }
4033
- },
4034
- syncGroupsIds: [
4035
- "Area_radar"
4036
- ]
4037
- }
3758
+ date: "2022-06-01T12:34:27.787184",
3759
+ scope: "system"
4038
3760
  },
4039
3761
  {
4040
- title: "Temperature",
3762
+ title: "demosyncgroupbbox_temp",
4041
3763
  id: "demosyncgroupbbox_temp",
4042
- componentType: "Map",
4043
- initialProps: {
4044
- mapPreset: {
4045
- layers: [
4046
- {
4047
- service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
4048
- name: "10M/ta",
4049
- id: "layerid_10",
4050
- layerType: "mapLayer"
4051
- }
4052
- ],
4053
- proj: {
4054
- bbox: {
4055
- left: -450651.2255879827,
4056
- bottom: 6490531.093143953,
4057
- right: 1428345.8183648037,
4058
- top: 7438773.776232235
4059
- },
4060
- srs: "EPSG:3857"
4061
- }
4062
- },
4063
- syncGroupsIds: [
4064
- "Area_radar"
4065
- ]
4066
- }
3764
+ date: "2022-06-01T12:34:27.787184",
3765
+ scope: "system"
4067
3766
  },
4068
3767
  {
4069
- title: "Radar",
3768
+ title: "demosyncgrouptime_radar",
4070
3769
  id: "demosyncgrouptime_radar",
4071
- componentType: "Map",
4072
- initialProps: {
4073
- mapPreset: {
4074
- layers: [
4075
- {
4076
- service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
4077
- name: "RAD_NL25_PCP_CM",
4078
- format: "image/png",
4079
- enabled: true,
4080
- style: "radar/nearest",
4081
- id: "layerid_8",
4082
- layerType: "mapLayer"
4083
- },
4084
- {
4085
- service: "https://maps.heigit.org/osm-wms/service",
4086
- id: "layerid_5",
4087
- name: "osm_auto:all",
4088
- layerType: "baseLayer"
4089
- }
4090
- ],
4091
- proj: {
4092
- bbox: {
4093
- left: -450651.2255879827,
4094
- bottom: 6490531.093143953,
4095
- right: 1428345.8183648037,
4096
- top: 7438773.776232235
4097
- },
4098
- srs: "EPSG:3857"
4099
- }
3770
+ date: "2022-06-01T12:34:27.787184",
3771
+ scope: "system"
3772
+ },
3773
+ {
3774
+ title: "demosyncgrouptime_temp",
3775
+ id: "demosyncgrouptime_temp",
3776
+ date: "2022-06-01T12:34:27.787184",
3777
+ scope: "system"
3778
+ },
3779
+ {
3780
+ title: "Cap Warnings",
3781
+ id: "capView",
3782
+ date: "2022-06-01T12:34:27.787184",
3783
+ scope: "system",
3784
+ abstract: "abstract cap"
3785
+ },
3786
+ {
3787
+ title: "Warning List",
3788
+ id: "warningList",
3789
+ date: "2022-06-01T12:34:27.787184",
3790
+ scope: "system"
3791
+ }
3792
+ ];
3793
+
3794
+ var workspacePresetsListFullContent = [
3795
+ {
3796
+ id: "screenConfigRadarTemp",
3797
+ title: "Radar and temperature",
3798
+ scope: "system",
3799
+ abstract: "",
3800
+ viewType: "multiWindow",
3801
+ views: [
3802
+ {
3803
+ mosaicNodeId: "screen_no_1",
3804
+ viewPresetId: "radar"
4100
3805
  },
4101
- syncGroupsIds: [
4102
- "Time_radar"
4103
- ]
3806
+ {
3807
+ mosaicNodeId: "screen_no_2",
3808
+ viewPresetId: "temp"
3809
+ }
3810
+ ],
3811
+ syncGroups: [
3812
+ {
3813
+ id: "Area_RadarTemp",
3814
+ type: "SYNCGROUPS_TYPE_SETBBOX"
3815
+ },
3816
+ {
3817
+ id: "Time_RadarTemp",
3818
+ type: "SYNCGROUPS_TYPE_SETTIME"
3819
+ }
3820
+ ],
3821
+ mosaicNode: {
3822
+ direction: "row",
3823
+ first: "screen_no_1",
3824
+ second: "screen_no_2",
3825
+ splitPercentage: 50
4104
3826
  }
4105
3827
  },
4106
3828
  {
4107
- title: "Temperature",
4108
- id: "demosyncgrouptime_temp",
4109
- componentType: "Map",
4110
- initialProps: {
4111
- mapPreset: {
4112
- layers: [
4113
- {
4114
- service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
4115
- name: "10M/ta",
4116
- id: "layerid_10",
4117
- layerType: "mapLayer"
4118
- }
4119
- ],
4120
- proj: {
4121
- bbox: {
4122
- left: -450651.2255879827,
4123
- bottom: 6490531.093143953,
4124
- right: 1428345.8183648037,
4125
- top: 7438773.776232235
4126
- },
4127
- srs: "EPSG:3857"
4128
- }
3829
+ id: "screenConfigRadarRadar",
3830
+ title: "Radar and Radar",
3831
+ scope: "system",
3832
+ abstract: "",
3833
+ viewType: "multiWindow",
3834
+ views: [
3835
+ {
3836
+ mosaicNodeId: "view-1",
3837
+ viewPresetId: "radar"
4129
3838
  },
4130
- syncGroupsIds: [
4131
- "Time_radar"
4132
- ]
3839
+ {
3840
+ mosaicNodeId: "view-2",
3841
+ viewPresetId: "radar"
3842
+ }
3843
+ ],
3844
+ syncGroups: [
3845
+ {
3846
+ id: "Area_RadarTemp",
3847
+ type: "SYNCGROUPS_TYPE_SETBBOX"
3848
+ },
3849
+ {
3850
+ id: "Time_RadarTemp",
3851
+ type: "SYNCGROUPS_TYPE_SETTIME"
3852
+ }
3853
+ ],
3854
+ mosaicNode: {
3855
+ direction: "row",
3856
+ first: "view-1",
3857
+ second: "view-2",
3858
+ splitPercentage: 50
4133
3859
  }
4134
3860
  },
4135
3861
  {
4136
- title: "Empty map",
4137
- id: "emptyMap",
4138
- componentType: "Map",
4139
- initialProps: {
4140
- mapPreset: {
4141
- layers: [
4142
- ]
3862
+ id: "screenConfigTimeSeries_knmi_timeseries_ha43_dini",
3863
+ title: "TimeSeries EDR KNMI HA43 DINI",
3864
+ scope: "system",
3865
+ abstract: "This contains a very very long abstract so that you can see some ellipsis. Who knows how it will behave. ",
3866
+ viewType: "multiWindow",
3867
+ views: [
3868
+ {
3869
+ mosaicNodeId: "view-1",
3870
+ viewPresetId: "view_knmi_timeseries_ha43_dini_wms"
4143
3871
  },
4144
- syncGroupsIds: [
4145
- ]
3872
+ {
3873
+ mosaicNodeId: "view-2",
3874
+ viewPresetId: "view_knmi_timeseries_ha43_dini_edr"
3875
+ }
3876
+ ],
3877
+ syncGroups: [
3878
+ ],
3879
+ mosaicNode: {
3880
+ direction: "row",
3881
+ first: "view-1",
3882
+ second: "view-2"
4146
3883
  }
4147
3884
  },
4148
3885
  {
4149
- title: "TAF",
4150
- id: "taf",
4151
- componentType: "TafModule",
4152
- initialProps: {
3886
+ id: "screenConfigTimeSeries",
3887
+ title: "TimeSeries Example",
3888
+ scope: "system",
3889
+ abstract: "This contains a very very long abstract so that you can see some ellipsis. Who knows how it will behave. ",
3890
+ viewType: "multiWindow",
3891
+ views: [
3892
+ {
3893
+ mosaicNodeId: "view-1",
3894
+ viewPresetId: "TimeseriesMap"
3895
+ },
3896
+ {
3897
+ mosaicNodeId: "view-2",
3898
+ viewPresetId: "Timeseries"
3899
+ }
3900
+ ],
3901
+ syncGroups: [
3902
+ ],
3903
+ mosaicNode: {
3904
+ direction: "row",
3905
+ first: "view-1",
3906
+ second: "view-2"
4153
3907
  }
4154
3908
  },
4155
3909
  {
4156
- title: "Actions example",
4157
- id: "actionsExample",
4158
- componentType: "ActionsExample",
4159
- initialProps: {
4160
- }
3910
+ id: "screenConfigHarmoniePrecipMSLRefTimePresetWithoutMultiMapLayerManager",
3911
+ title: "Precipitation, pressure and wind 1:1",
3912
+ scope: "system",
3913
+ abstract: "",
3914
+ viewType: "tiledWindow",
3915
+ views: [
3916
+ {
3917
+ mosaicNodeId: "view-1",
3918
+ viewPresetId: "harmRefTime"
3919
+ }
3920
+ ],
3921
+ syncGroups: [
3922
+ {
3923
+ id: "areaLayerGroupA",
3924
+ type: "SYNCGROUPS_TYPE_SETBBOX"
3925
+ },
3926
+ {
3927
+ id: "timeLayerGroupA",
3928
+ type: "SYNCGROUPS_TYPE_SETTIME"
3929
+ },
3930
+ {
3931
+ id: "layerGroupA",
3932
+ type: "SYNCGROUPS_TYPE_SETLAYERACTIONS"
3933
+ }
3934
+ ],
3935
+ mosaicNode: "view-1"
4161
3936
  },
4162
3937
  {
4163
- title: "HARM",
4164
- id: "viewHarmonie",
4165
- componentType: "Map",
4166
- initialProps: {
4167
- mapPreset: {
4168
- layers: [
4169
- {
4170
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
4171
- name: "wind_speed_components_hagl",
4172
- id: "wind_speed_components_hagl",
4173
- format: "image/png",
4174
- enabled: true,
4175
- style: "windbarbs_kts/barb",
4176
- layerType: "mapLayer"
4177
- },
4178
- {
4179
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
4180
- name: "total_precipitation_rate_hagl",
4181
- id: "total_precipitation_rate_hagl",
4182
- format: "image/png",
4183
- enabled: true,
4184
- style: "",
4185
- layerType: "mapLayer"
4186
- },
4187
- {
4188
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
4189
- name: "air_temperature_hagl",
4190
- id: "air_temperature_hagl",
4191
- format: "image/png",
4192
- enabled: true,
4193
- style: "temperature_wow/shaded",
4194
- layerType: "mapLayer"
4195
- },
4196
- {
4197
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
4198
- name: "wind_speed_components_pl",
4199
- id: "wind_speed_components_pl",
4200
- format: "image/png",
4201
- enabled: false,
4202
- style: "windbarbs_kts/barb",
4203
- layerType: "mapLayer",
4204
- dimensions: [
4205
- {
4206
- name: "pressure_level_in_hpa",
4207
- currentValue: "700"
4208
- }
4209
- ]
4210
- },
4211
- {
4212
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
4213
- name: "air_temperature_hagl",
4214
- id: "air_temperature_hagl",
4215
- format: "image/png",
4216
- enabled: false,
4217
- style: "temperature_wow/shaded",
4218
- layerType: "mapLayer",
4219
- dimensions: [
4220
- ]
4221
- },
4222
- {
4223
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
4224
- name: "geopotential_height_pl",
4225
- id: "geopotential_height_pl",
4226
- format: "image/png",
4227
- enabled: false,
4228
- style: "",
4229
- layerType: "mapLayer",
4230
- dimensions: [
4231
- {
4232
- name: "pressure_level_in_hpa",
4233
- currentValue: "850"
4234
- }
4235
- ]
4236
- },
4237
- {
4238
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
4239
- name: "relative_humidity_pl",
4240
- id: "relative_humidity_pl",
4241
- format: "image/png",
4242
- enabled: false,
4243
- style: "",
4244
- layerType: "mapLayer",
4245
- dimensions: [
4246
- {
4247
- name: "pressure_level_in_hpa",
4248
- currentValue: "850"
4249
- }
4250
- ]
4251
- },
4252
- {
4253
- service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
4254
- name: "wind_speed_of_gust_01h_hagl",
4255
- id: "wind_speed_of_gust_01h_hagl",
4256
- format: "image/png",
4257
- enabled: false,
4258
- style: "",
4259
- layerType: "mapLayer"
4260
- }
4261
- ],
4262
- proj: {
4263
- bbox: {
4264
- left: -450651.2255879827,
4265
- bottom: 6490531.093143953,
4266
- right: 1428345.8183648037,
4267
- top: 7438773.776232235
4268
- },
4269
- srs: "EPSG:3857"
4270
- }
3938
+ id: "screenConfigHarmoniePrecipMSLRefTimePresetWithMultiMapLayerManager",
3939
+ title: "Precipitation, pressure and wind 1:all",
3940
+ scope: "system",
3941
+ abstract: "",
3942
+ viewType: "tiledWindow",
3943
+ views: [
3944
+ {
3945
+ mosaicNodeId: "view-1",
3946
+ viewPresetId: "harmRefTimeAll"
3947
+ }
3948
+ ],
3949
+ syncGroups: [
3950
+ {
3951
+ id: "areaLayerGroupA",
3952
+ type: "SYNCGROUPS_TYPE_SETBBOX"
3953
+ },
3954
+ {
3955
+ id: "timeLayerGroupA",
3956
+ type: "SYNCGROUPS_TYPE_SETTIME"
3957
+ },
3958
+ {
3959
+ id: "layerGroupA",
3960
+ type: "SYNCGROUPS_TYPE_SETLAYERACTIONS"
3961
+ }
3962
+ ],
3963
+ mosaicNode: "view-1"
3964
+ },
3965
+ {
3966
+ id: "screenConfigHarmoniePresetWithoutMultiMapLayerManager",
3967
+ title: "Harmonie Temperature and Precipitation 1:1",
3968
+ scope: "system",
3969
+ abstract: "",
3970
+ viewType: "tiledWindow",
3971
+ views: [
3972
+ {
3973
+ mosaicNodeId: "view-1",
3974
+ viewPresetId: "screenHarm"
3975
+ }
3976
+ ],
3977
+ syncGroups: [
3978
+ {
3979
+ id: "areaLayerGroupA",
3980
+ type: "SYNCGROUPS_TYPE_SETBBOX"
3981
+ },
3982
+ {
3983
+ id: "timeLayerGroupA",
3984
+ type: "SYNCGROUPS_TYPE_SETTIME"
3985
+ },
3986
+ {
3987
+ id: "layerGroupA",
3988
+ type: "SYNCGROUPS_TYPE_SETLAYERACTIONS"
3989
+ },
3990
+ {
3991
+ id: "layerGroupB",
3992
+ type: "SYNCGROUPS_TYPE_SETLAYERACTIONS"
4271
3993
  }
4272
- }
3994
+ ],
3995
+ mosaicNode: "view-1"
4273
3996
  },
4274
3997
  {
4275
- id: "capMapView",
4276
- title: "Cap Warning Map",
4277
- componentType: "CapWarningMap",
4278
- initialProps: {
4279
- mapPreset: {
4280
- layers: [
4281
- {
4282
- service: "https://geoservices.knmi.nl/wms?dataset=RADAR",
4283
- name: "RAD_NL25_PCP_CM",
4284
- format: "image/png",
4285
- style: "radar/nearest",
4286
- enabled: true,
4287
- layerType: "mapLayer"
4288
- }
4289
- ],
4290
- proj: {
4291
- bbox: {
4292
- left: 58703.6377,
4293
- bottom: 6408480.4514,
4294
- right: 3967387.5161,
4295
- top: 11520588.9031
4296
- },
4297
- srs: "EPSG:3857"
4298
- },
4299
- activeLayerId: "radar_precipitation_intensity_nordic_id",
4300
- toggleTimestepAuto: false,
4301
- animationPayload: {
4302
- duration: 240,
4303
- interval: 5,
4304
- speed: 2,
4305
- endTime: "NOW+PT2H00M"
4306
- },
4307
- dockedLayerManagerSize: "sizeMedium",
4308
- shouldAutoUpdate: true
3998
+ id: "screenConfigHarmoniePresetWithMultiMapLayerManager",
3999
+ title: "Harmonie Temperature and Precipitation 1:all",
4000
+ scope: "system",
4001
+ abstract: "",
4002
+ viewType: "tiledWindow",
4003
+ views: [
4004
+ {
4005
+ mosaicNodeId: "view-1",
4006
+ viewPresetId: "screenHarmAll"
4309
4007
  }
4310
- }
4008
+ ],
4009
+ syncGroups: [
4010
+ {
4011
+ id: "areaLayerGroupA",
4012
+ type: "SYNCGROUPS_TYPE_SETBBOX"
4013
+ },
4014
+ {
4015
+ id: "timeLayerGroupA",
4016
+ type: "SYNCGROUPS_TYPE_SETTIME"
4017
+ },
4018
+ {
4019
+ id: "layerGroupA",
4020
+ type: "SYNCGROUPS_TYPE_SETLAYERACTIONS"
4021
+ },
4022
+ {
4023
+ id: "layerGroupB",
4024
+ type: "SYNCGROUPS_TYPE_SETLAYERACTIONS"
4025
+ }
4026
+ ],
4027
+ mosaicNode: "view-1"
4311
4028
  },
4312
4029
  {
4313
- id: "capListView",
4314
- title: "Cap Warning List",
4315
- componentType: "CapWarningList",
4316
- initialProps: {
4030
+ id: "screenConfigD",
4031
+ title: "Radar & Sat",
4032
+ scope: "system",
4033
+ abstract: "",
4034
+ viewType: "multiWindow",
4035
+ views: [
4036
+ {
4037
+ mosaicNodeId: "viewAsat",
4038
+ viewPresetId: "sat"
4039
+ },
4040
+ {
4041
+ mosaicNodeId: "viewBrad",
4042
+ viewPresetId: "rad"
4043
+ }
4044
+ ],
4045
+ syncGroups: [
4046
+ {
4047
+ id: "Area_SatRadar",
4048
+ type: "SYNCGROUPS_TYPE_SETBBOX"
4049
+ },
4050
+ {
4051
+ id: "Time_SatRadar",
4052
+ type: "SYNCGROUPS_TYPE_SETTIME"
4053
+ }
4054
+ ],
4055
+ mosaicNode: {
4056
+ direction: "row",
4057
+ first: "viewAsat",
4058
+ second: "viewBrad",
4059
+ splitPercentage: 50
4317
4060
  }
4318
4061
  },
4319
4062
  {
4320
- id: "warningList",
4321
- title: "Warning List",
4322
- componentType: "WarningList",
4323
- initialProps: {
4063
+ id: "screenConfigOBS",
4064
+ title: "OBS",
4065
+ scope: "system",
4066
+ abstract: "",
4067
+ viewType: "multiWindow",
4068
+ views: [
4069
+ {
4070
+ mosaicNodeId: "map_OBSTA",
4071
+ viewPresetId: "map_OBSTA"
4072
+ },
4073
+ {
4074
+ mosaicNodeId: "map_OBSPP",
4075
+ viewPresetId: "map_OBSPP"
4076
+ },
4077
+ {
4078
+ mosaicNodeId: "map_OBSWind",
4079
+ viewPresetId: "map_OBSWind"
4080
+ },
4081
+ {
4082
+ mosaicNodeId: "map_OBSRH",
4083
+ viewPresetId: "map_OBSRH"
4084
+ },
4085
+ {
4086
+ mosaicNodeId: "map_OBSQG",
4087
+ viewPresetId: "map_OBSQG"
4088
+ }
4089
+ ],
4090
+ syncGroups: [
4091
+ {
4092
+ id: "Area_A",
4093
+ type: "SYNCGROUPS_TYPE_SETBBOX"
4094
+ },
4095
+ {
4096
+ id: "Time_A",
4097
+ type: "SYNCGROUPS_TYPE_SETTIME"
4098
+ }
4099
+ ],
4100
+ mosaicNode: {
4101
+ direction: "column",
4102
+ first: {
4103
+ direction: "row",
4104
+ first: "map_OBSTA",
4105
+ second: "map_OBSPP"
4106
+ },
4107
+ second: {
4108
+ direction: "row",
4109
+ first: "map_OBSWind",
4110
+ second: {
4111
+ direction: "row",
4112
+ first: "map_OBSRH",
4113
+ second: "map_OBSQG"
4114
+ },
4115
+ splitPercentage: 33
4116
+ }
4324
4117
  }
4325
- }
4326
- ];
4327
-
4328
- var viewPresetsList = [
4329
- {
4330
- title: "Radar",
4331
- abstract: "abstract radar",
4332
- id: "radar",
4333
- date: "2022-06-01T12:34:27.787184",
4334
- scope: "system"
4335
- },
4336
- {
4337
- title: "Temperature",
4338
- id: "temp",
4339
- date: "2022-06-01T12:34:27.787184",
4340
- scope: "system"
4341
- },
4342
- {
4343
- title: "Radar",
4344
- id: "screenRadar",
4345
- date: "2022-06-01T12:34:27.787184",
4346
- scope: "user"
4347
4118
  },
4348
4119
  {
4349
- id: "screenConfigC",
4350
- title: "Satellite",
4351
- date: "2022-06-01T12:34:27.787184",
4352
- scope: "system"
4120
+ id: "screenConfigRadAndObs",
4121
+ title: "FourMapsInOneView",
4122
+ scope: "system",
4123
+ abstract: "",
4124
+ viewType: "tiledWindow",
4125
+ views: [
4126
+ {
4127
+ mosaicNodeId: "view-1",
4128
+ viewPresetId: "screenRadAndObs"
4129
+ }
4130
+ ],
4131
+ syncGroups: [
4132
+ {
4133
+ id: "Area_screenRadAndObs",
4134
+ type: "SYNCGROUPS_TYPE_SETBBOX"
4135
+ },
4136
+ {
4137
+ id: "Time_screenRadAndObs",
4138
+ type: "SYNCGROUPS_TYPE_SETTIME"
4139
+ }
4140
+ ],
4141
+ mosaicNode: "view-1"
4353
4142
  },
4354
4143
  {
4355
- title: "map_OBSTA",
4356
- id: "map_OBSTA",
4357
- date: "2022-06-01T12:34:27.787184",
4358
- scope: "system"
4144
+ id: "screenConfigHarmonie",
4145
+ title: "Harmonie",
4146
+ scope: "system",
4147
+ abstract: "",
4148
+ viewType: "multiWindow",
4149
+ views: [
4150
+ {
4151
+ mosaicNodeId: "viewAharmPrecip",
4152
+ viewPresetId: "harmPrecip"
4153
+ },
4154
+ {
4155
+ mosaicNodeId: "viewBharmTemp",
4156
+ viewPresetId: "harmTemp"
4157
+ },
4158
+ {
4159
+ mosaicNodeId: "viewCharmPressure",
4160
+ viewPresetId: "harmPressure"
4161
+ },
4162
+ {
4163
+ mosaicNodeId: "viewDslider",
4164
+ viewPresetId: "slider"
4165
+ }
4166
+ ],
4167
+ syncGroups: [
4168
+ {
4169
+ id: "Area_B",
4170
+ type: "SYNCGROUPS_TYPE_SETBBOX"
4171
+ },
4172
+ {
4173
+ id: "Time_B",
4174
+ type: "SYNCGROUPS_TYPE_SETTIME"
4175
+ }
4176
+ ],
4177
+ mosaicNode: {
4178
+ direction: "column",
4179
+ first: {
4180
+ direction: "row",
4181
+ first: "viewAharmPrecip",
4182
+ second: {
4183
+ direction: "row",
4184
+ first: "viewBharmTemp",
4185
+ second: "viewCharmPressure"
4186
+ },
4187
+ splitPercentage: 33
4188
+ },
4189
+ second: "viewDslider",
4190
+ splitPercentage: 80
4191
+ }
4359
4192
  },
4360
4193
  {
4361
- title: "map_OBSPP",
4362
- id: "map_OBSPP",
4363
- date: "2022-06-01T12:34:27.787184",
4364
- scope: "system"
4194
+ id: "workspaceHarmonie",
4195
+ title: "Harmonie",
4196
+ scope: "system",
4197
+ abstract: "",
4198
+ viewType: "singleWindow",
4199
+ views: [
4200
+ {
4201
+ mosaicNodeId: "screen1",
4202
+ viewPresetId: "viewHarmonie"
4203
+ }
4204
+ ],
4205
+ syncGroups: [
4206
+ ],
4207
+ mosaicNode: "screen1"
4365
4208
  },
4366
4209
  {
4367
- title: "map_OBSWind",
4368
- id: "map_OBSWind",
4369
- date: "2022-06-01T12:34:27.787184",
4370
- scope: "system"
4210
+ id: "screenConfigOnlyBBOXGroup",
4211
+ title: "SyncGroups only BBOX predefined",
4212
+ scope: "system",
4213
+ abstract: "",
4214
+ viewType: "multiWindow",
4215
+ views: [
4216
+ {
4217
+ mosaicNodeId: "view-1",
4218
+ viewPresetId: "demosyncgroupbbox_radar"
4219
+ },
4220
+ {
4221
+ mosaicNodeId: "view-2",
4222
+ viewPresetId: "demosyncgroupbbox_temp"
4223
+ }
4224
+ ],
4225
+ syncGroups: [
4226
+ {
4227
+ id: "Area_radar",
4228
+ type: "SYNCGROUPS_TYPE_SETBBOX"
4229
+ },
4230
+ {
4231
+ id: "Area_temp",
4232
+ type: "SYNCGROUPS_TYPE_SETBBOX"
4233
+ }
4234
+ ],
4235
+ mosaicNode: {
4236
+ direction: "row",
4237
+ first: "view-1",
4238
+ second: "view-2",
4239
+ splitPercentage: 50
4240
+ }
4371
4241
  },
4372
4242
  {
4373
- title: "map_OBSRH",
4374
- id: "map_OBSRH",
4375
- date: "2022-06-01T12:34:27.787184",
4376
- scope: "system"
4243
+ id: "screenConfigOnlyTIMEGroup",
4244
+ title: "SyncGroups only TIME predefined",
4245
+ scope: "system",
4246
+ abstract: "",
4247
+ viewType: "multiWindow",
4248
+ views: [
4249
+ {
4250
+ mosaicNodeId: "view-1",
4251
+ viewPresetId: "demosyncgrouptime_radar"
4252
+ },
4253
+ {
4254
+ mosaicNodeId: "view-2",
4255
+ viewPresetId: "demosyncgrouptime_temp"
4256
+ }
4257
+ ],
4258
+ syncGroups: [
4259
+ {
4260
+ id: "Time_radar",
4261
+ type: "SYNCGROUPS_TYPE_SETTIME"
4262
+ },
4263
+ {
4264
+ id: "Time_temp",
4265
+ type: "SYNCGROUPS_TYPE_SETTIME"
4266
+ }
4267
+ ],
4268
+ mosaicNode: {
4269
+ direction: "row",
4270
+ first: "view-1",
4271
+ second: "view-2",
4272
+ splitPercentage: 50
4273
+ }
4377
4274
  },
4378
4275
  {
4379
- title: "map_OBSQG",
4380
- id: "map_OBSQG",
4381
- date: "2022-06-01T12:34:27.787184",
4382
- scope: "system"
4276
+ id: "emptyMap",
4277
+ title: "Empty map",
4278
+ scope: "system",
4279
+ abstract: "",
4280
+ viewType: "singleWindow",
4281
+ views: [
4282
+ {
4283
+ mosaicNodeId: "emptyMapView",
4284
+ viewPresetId: "emptyMap"
4285
+ }
4286
+ ],
4287
+ mosaicNode: "emptyMapView"
4383
4288
  },
4384
4289
  {
4385
- title: "harmPrecip",
4386
- id: "harmPrecip",
4387
- date: "2022-06-01T12:34:27.787184",
4388
- scope: "system"
4290
+ id: "radarView",
4291
+ title: "Radar",
4292
+ scope: "user",
4293
+ abstract: "",
4294
+ viewType: "singleWindow",
4295
+ views: [
4296
+ {
4297
+ mosaicNodeId: "radarView",
4298
+ viewPresetId: "radar"
4299
+ }
4300
+ ],
4301
+ mosaicNode: "radarView"
4389
4302
  },
4390
4303
  {
4391
- title: "harmTemp",
4392
- id: "harmTemp",
4393
- date: "2022-06-01T12:34:27.787184",
4394
- scope: "system"
4304
+ id: "workspaceHarmonie",
4305
+ title: "Harmonie workspace",
4306
+ scope: "system",
4307
+ abstract: "",
4308
+ viewType: "singleWindow",
4309
+ views: [
4310
+ {
4311
+ mosaicNodeId: "harmView",
4312
+ viewPresetId: "viewHarmonie"
4313
+ }
4314
+ ],
4315
+ mosaicNode: "harmView"
4395
4316
  },
4396
4317
  {
4397
- title: "screenHarm",
4398
- id: "screenHarm",
4399
- date: "2022-06-01T12:34:27.787184",
4400
- scope: "system"
4401
- },
4318
+ id: "capWorkspace",
4319
+ title: "Cap Warnings",
4320
+ scope: "system",
4321
+ abstract: "",
4322
+ viewType: "multiWindow",
4323
+ views: [
4324
+ {
4325
+ mosaicNodeId: "view-1",
4326
+ viewPresetId: "capMapView"
4327
+ },
4328
+ {
4329
+ mosaicNodeId: "view-2",
4330
+ viewPresetId: "capListView"
4331
+ }
4332
+ ],
4333
+ mosaicNode: {
4334
+ direction: "row",
4335
+ first: "view-1",
4336
+ second: "view-2",
4337
+ splitPercentage: 50
4338
+ }
4339
+ }
4340
+ ];
4341
+
4342
+ var workspacePresetsList = [
4402
4343
  {
4403
- title: "Harmonie",
4404
- id: "viewHarmonie",
4344
+ id: "screenConfigRadarTemp",
4345
+ title: "Radar and temperature",
4405
4346
  date: "2022-06-01T12:34:27.787184",
4406
- scope: "system"
4347
+ scope: "system",
4348
+ abstract: "Radar and temperature maps",
4349
+ viewType: "multiWindow"
4407
4350
  },
4408
4351
  {
4409
- title: "harmRefTime",
4410
- id: "harmRefTime",
4352
+ id: "screenConfigRadarRadar",
4353
+ title: "Radar and Radar",
4411
4354
  date: "2022-06-01T12:34:27.787184",
4412
- scope: "system"
4355
+ scope: "system",
4356
+ abstract: "",
4357
+ viewType: "multiWindow"
4413
4358
  },
4414
4359
  {
4415
- title: "harmRefTimeAll",
4416
- id: "harmRefTimeAll",
4360
+ id: "screenConfigTimeSeries_knmi_timeseries_ha43_dini",
4361
+ title: "TimeSeries KNMI EDR HA43 Dini",
4417
4362
  date: "2022-06-01T12:34:27.787184",
4418
- scope: "system"
4363
+ scope: "system",
4364
+ abstract: "",
4365
+ viewType: "multiWindow"
4419
4366
  },
4420
4367
  {
4421
- title: "screenHarmAll",
4422
- id: "screenHarmAll",
4368
+ id: "screenConfigTimeSeries",
4369
+ title: "TimeSeries",
4423
4370
  date: "2022-06-01T12:34:27.787184",
4424
- scope: "system"
4371
+ scope: "system",
4372
+ abstract: "",
4373
+ viewType: "multiWindow"
4425
4374
  },
4426
4375
  {
4427
- title: "harmPressure",
4428
- id: "harmPressure",
4376
+ id: "screenConfigHarmoniePrecipMSLRefTimePresetWithoutMultiMapLayerManager",
4377
+ title: "Precipitation, pressure and wind 1:1",
4429
4378
  date: "2022-06-01T12:34:27.787184",
4430
- scope: "system"
4379
+ scope: "system",
4380
+ abstract: "",
4381
+ viewType: "tiledWindow"
4431
4382
  },
4432
4383
  {
4433
- title: "Empty map",
4434
- id: "emptyMap",
4384
+ id: "screenConfigHarmoniePrecipMSLRefTimePresetWithMultiMapLayerManager",
4385
+ title: "Precipitation, pressure and wind 1:all",
4435
4386
  date: "2022-06-01T12:34:27.787184",
4436
- scope: "system"
4387
+ scope: "system",
4388
+ abstract: "",
4389
+ viewType: "tiledWindow"
4437
4390
  },
4438
4391
  {
4439
- title: "Timeseries map",
4440
- id: "TimeseriesMap",
4392
+ id: "screenConfigHarmoniePresetWithoutMultiMapLayerManager",
4393
+ title: "Harmonie Temperature and Precipitation 1:1",
4441
4394
  date: "2022-06-01T12:34:27.787184",
4442
- scope: "system"
4395
+ scope: "system",
4396
+ abstract: "",
4397
+ viewType: "tiledWindow"
4443
4398
  },
4444
4399
  {
4445
- title: "KNMI WMS UWCW HA43 DINI forecast",
4446
- id: "view_knmi_timeseries_ha43_dini_wms",
4400
+ id: "screenConfigHarmoniePresetWithMultiMapLayerManager",
4401
+ title: "Harmonie Temperature and Precipitation 1:all",
4447
4402
  date: "2022-06-01T12:34:27.787184",
4448
- scope: "system"
4403
+ scope: "system",
4404
+ abstract: "",
4405
+ viewType: "tiledWindow"
4449
4406
  },
4450
4407
  {
4451
- title: "KNMI EDR UWCW HA43 DINI forecast",
4452
- id: "view_knmi_timeseries_ha43_dini_edr",
4408
+ id: "radarView",
4409
+ title: "Radar",
4453
4410
  date: "2022-06-01T12:34:27.787184",
4454
- scope: "system"
4411
+ scope: "user",
4412
+ abstract: "Some abstract",
4413
+ viewType: "singleWindow"
4455
4414
  },
4456
4415
  {
4457
- title: "sat",
4458
- id: "sat",
4416
+ id: "screenConfigD",
4417
+ title: "Radar & Sat",
4459
4418
  date: "2022-06-01T12:34:27.787184",
4460
- scope: "system"
4419
+ scope: "system",
4420
+ abstract: "",
4421
+ viewType: "multiWindow"
4461
4422
  },
4462
4423
  {
4463
- title: "rad",
4464
- id: "rad",
4424
+ id: "screenConfigOBS",
4425
+ title: "OBS",
4465
4426
  date: "2022-06-01T12:34:27.787184",
4466
- scope: "system"
4427
+ scope: "system",
4428
+ abstract: "",
4429
+ viewType: "multiWindow"
4467
4430
  },
4468
4431
  {
4469
- title: "screenRadAndObs",
4470
- id: "screenRadAndObs",
4432
+ id: "screenConfigRadAndObs",
4433
+ title: "FourMapsInOneView",
4471
4434
  date: "2022-06-01T12:34:27.787184",
4472
- scope: "system"
4435
+ scope: "system",
4436
+ abstract: "Four grid maps",
4437
+ viewType: "tiledWindow"
4473
4438
  },
4474
4439
  {
4475
- title: "demosyncgroupbbox_radar",
4476
- id: "demosyncgroupbbox_radar",
4440
+ id: "screenConfigHarmonie",
4441
+ title: "Harmonie multi",
4477
4442
  date: "2022-06-01T12:34:27.787184",
4478
- scope: "system"
4443
+ scope: "system",
4444
+ abstract: "",
4445
+ viewType: "multiWindow"
4479
4446
  },
4480
4447
  {
4481
- title: "demosyncgroupbbox_temp",
4482
- id: "demosyncgroupbbox_temp",
4448
+ id: "workspaceHarmonie",
4449
+ title: "Harmonie",
4483
4450
  date: "2022-06-01T12:34:27.787184",
4484
- scope: "system"
4451
+ scope: "system",
4452
+ abstract: "",
4453
+ viewType: "singleWindow"
4485
4454
  },
4486
4455
  {
4487
- title: "demosyncgrouptime_radar",
4488
- id: "demosyncgrouptime_radar",
4456
+ id: "screenConfigOnlyBBOXGroup",
4457
+ title: "SyncGroups only BBOX predefined",
4489
4458
  date: "2022-06-01T12:34:27.787184",
4490
- scope: "system"
4459
+ scope: "system",
4460
+ abstract: "SyncGroups synced BBOX",
4461
+ viewType: "multiWindow"
4491
4462
  },
4492
4463
  {
4493
- title: "demosyncgrouptime_temp",
4494
- id: "demosyncgrouptime_temp",
4464
+ id: "screenConfigOnlyTIMEGroup",
4465
+ title: "SyncGroups only TIME predefined",
4495
4466
  date: "2022-06-01T12:34:27.787184",
4496
- scope: "system"
4467
+ scope: "system",
4468
+ abstract: "SyncGroups synced TIME",
4469
+ viewType: "multiWindow"
4497
4470
  },
4498
4471
  {
4499
- title: "Cap Warnings",
4500
- id: "capView",
4472
+ id: "emptyMap",
4473
+ title: "Empty map",
4501
4474
  date: "2022-06-01T12:34:27.787184",
4502
4475
  scope: "system",
4503
- abstract: "abstract cap"
4476
+ abstract: "",
4477
+ viewType: "singleWindow"
4504
4478
  },
4505
4479
  {
4506
- title: "Warning List",
4507
- id: "warningList",
4480
+ id: "capWorkspace",
4481
+ title: "Cap Warnings",
4508
4482
  date: "2022-06-01T12:34:27.787184",
4509
- scope: "system"
4483
+ scope: "system",
4484
+ abstract: "",
4485
+ viewType: "multiWindow"
4510
4486
  }
4511
4487
  ];
4512
4488
 
@@ -5236,107 +5212,66 @@ var processError = function processError(error, component, errorMessageKey) {
5236
5212
  };
5237
5213
  };
5238
5214
  var viewPresetsListener = createListenerMiddleware();
5239
- // fetch initial view presets
5215
+ // fetch view presets
5240
5216
  viewPresetsListener.startListening({
5241
- actionCreator: viewPresetActions.fetchInitialViewPresets,
5217
+ actionCreator: viewPresetActions.fetchViewPresets,
5242
5218
  effect: function () {
5243
5219
  var _effect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref, listenerApi) {
5244
- var FetchViewPresetsListParams, workspaceApi, _yield$workspaceApi$g, viewPresets;
5220
+ var payload, panelId, filterParams, workspaceApi, _yield$workspaceApi$g, viewPresets;
5245
5221
  return _regeneratorRuntime().wrap(function _callee$(_context) {
5246
5222
  while (1) switch (_context.prev = _context.next) {
5247
5223
  case 0:
5248
- FetchViewPresetsListParams = _ref.payload;
5249
- listenerApi.cancelActiveListeners();
5250
- _context.prev = 2;
5251
- workspaceApi = getWorkspaceApi(); // No filters so we don't need to pass any params for this viewPresets list call
5252
- _context.next = 6;
5253
- return workspaceApi.getViewPresets(FetchViewPresetsListParams);
5254
- case 6:
5255
- _yield$workspaceApi$g = _context.sent;
5256
- viewPresets = _yield$workspaceApi$g.data;
5257
- listenerApi.dispatch(viewPresetActions.fetchedInitialViewPresets({
5258
- viewPresets: viewPresets
5259
- }));
5260
- _context.next = 14;
5261
- break;
5262
- case 11:
5263
- _context.prev = 11;
5264
- _context.t0 = _context["catch"](2);
5265
- listenerApi.dispatch(viewPresetActions.errorInitialViewPresets({
5266
- error: processError(_context.t0, ViewPresetErrorComponent.PRESET_LIST, 'workspace-mappreset-error-fetch')
5267
- }));
5268
- case 14:
5269
- case "end":
5270
- return _context.stop();
5271
- }
5272
- }, _callee, null, [[2, 11]]);
5273
- }));
5274
- function effect(_x, _x2) {
5275
- return _effect.apply(this, arguments);
5276
- }
5277
- return effect;
5278
- }()
5279
- });
5280
- // fetch view presets
5281
- viewPresetsListener.startListening({
5282
- actionCreator: viewPresetActions.fetchViewPresets,
5283
- effect: function () {
5284
- var _effect2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2, listenerApi) {
5285
- var payload, panelId, filterParams, workspaceApi, _yield$workspaceApi$g2, viewPresets;
5286
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
5287
- while (1) switch (_context2.prev = _context2.next) {
5288
- case 0:
5289
- payload = _ref2.payload;
5224
+ payload = _ref.payload;
5290
5225
  listenerApi.cancelActiveListeners();
5291
5226
  panelId = payload.panelId, filterParams = payload.filterParams;
5292
- _context2.prev = 3;
5227
+ _context.prev = 3;
5293
5228
  workspaceApi = getWorkspaceApi();
5294
- _context2.next = 7;
5229
+ _context.next = 7;
5295
5230
  return workspaceApi.getViewPresets(filterParams);
5296
5231
  case 7:
5297
- _yield$workspaceApi$g2 = _context2.sent;
5298
- viewPresets = _yield$workspaceApi$g2.data;
5232
+ _yield$workspaceApi$g = _context.sent;
5233
+ viewPresets = _yield$workspaceApi$g.data;
5299
5234
  listenerApi.dispatch(viewPresetActions.fetchedViewPresets({
5300
5235
  viewPresets: viewPresets,
5301
5236
  panelId: panelId,
5302
5237
  filterParams: filterParams
5303
5238
  }));
5304
- _context2.next = 15;
5239
+ _context.next = 15;
5305
5240
  break;
5306
5241
  case 12:
5307
- _context2.prev = 12;
5308
- _context2.t0 = _context2["catch"](3);
5242
+ _context.prev = 12;
5243
+ _context.t0 = _context["catch"](3);
5309
5244
  listenerApi.dispatch(viewPresetActions.errorViewPreset({
5310
- error: processError(_context2.t0, ViewPresetErrorComponent.PRESET_LIST, 'workspace-mappreset-error-fetch'),
5245
+ error: processError(_context.t0, ViewPresetErrorComponent.PRESET_LIST, 'workspace-mappreset-error-fetch'),
5311
5246
  panelId: panelId
5312
5247
  }));
5313
5248
  case 15:
5314
5249
  case "end":
5315
- return _context2.stop();
5250
+ return _context.stop();
5316
5251
  }
5317
- }, _callee2, null, [[3, 12]]);
5252
+ }, _callee, null, [[3, 12]]);
5318
5253
  }));
5319
- function effect(_x3, _x4) {
5320
- return _effect2.apply(this, arguments);
5254
+ function effect(_x, _x2) {
5255
+ return _effect.apply(this, arguments);
5321
5256
  }
5322
5257
  return effect;
5323
5258
  }()
5324
5259
  });
5325
5260
  var saveViewPresetAsEffect = /*#__PURE__*/function () {
5326
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3, listenerApi) {
5261
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2, listenerApi) {
5327
5262
  var payload, panelId, viewPreset, workspaceApi, viewPresetId;
5328
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
5329
- while (1) switch (_context3.prev = _context3.next) {
5263
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
5264
+ while (1) switch (_context2.prev = _context2.next) {
5330
5265
  case 0:
5331
- payload = _ref3.payload;
5266
+ payload = _ref2.payload;
5332
5267
  listenerApi.cancelActiveListeners();
5333
5268
  panelId = payload.panelId, viewPreset = payload.viewPreset;
5334
- _context3.prev = 3;
5269
+ _context2.prev = 3;
5335
5270
  workspaceApi = getWorkspaceApi();
5336
- _context3.next = 7;
5271
+ _context2.next = 7;
5337
5272
  return workspaceApi.saveViewPresetAs(viewPreset);
5338
5273
  case 7:
5339
- viewPresetId = _context3.sent;
5274
+ viewPresetId = _context2.sent;
5340
5275
  listenerApi.dispatch(snackbarActions.openSnackbar(getSnackbarMessage(PresetAction.SAVE, viewPreset.title)));
5341
5276
  listenerApi.dispatch(viewPresetActions.savedViewPreset({
5342
5277
  panelId: panelId,
@@ -5347,39 +5282,39 @@ var saveViewPresetAsEffect = /*#__PURE__*/function () {
5347
5282
  viewPresetId: viewPresetId,
5348
5283
  viewPreset: viewPreset
5349
5284
  }));
5350
- return _context3.abrupt("return", Object.assign({}, viewPreset, {
5285
+ return _context2.abrupt("return", Object.assign({}, viewPreset, {
5351
5286
  id: viewPresetId
5352
5287
  }));
5353
5288
  case 14:
5354
- _context3.prev = 14;
5355
- _context3.t0 = _context3["catch"](3);
5289
+ _context2.prev = 14;
5290
+ _context2.t0 = _context2["catch"](3);
5356
5291
  listenerApi.dispatch(viewPresetActions.errorViewPreset({
5357
- error: processError(_context3.t0, ViewPresetErrorComponent.PRESET_DETAIL, 'workspace-mappreset-error-save'),
5292
+ error: processError(_context2.t0, ViewPresetErrorComponent.PRESET_DETAIL, 'workspace-mappreset-error-save'),
5358
5293
  panelId: panelId
5359
5294
  }));
5360
- return _context3.abrupt("return", _context3.t0);
5295
+ return _context2.abrupt("return", _context2.t0);
5361
5296
  case 18:
5362
5297
  case "end":
5363
- return _context3.stop();
5298
+ return _context2.stop();
5364
5299
  }
5365
- }, _callee3, null, [[3, 14]]);
5300
+ }, _callee2, null, [[3, 14]]);
5366
5301
  }));
5367
- return function saveViewPresetAsEffect(_x5, _x6) {
5368
- return _ref4.apply(this, arguments);
5302
+ return function saveViewPresetAsEffect(_x3, _x4) {
5303
+ return _ref3.apply(this, arguments);
5369
5304
  };
5370
5305
  }();
5371
5306
  var saveViewPresetEffect = /*#__PURE__*/function () {
5372
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref5, listenerApi) {
5307
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref4, listenerApi) {
5373
5308
  var payload, panelId, viewPreset, viewPresetId, workspaceApi;
5374
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
5375
- while (1) switch (_context4.prev = _context4.next) {
5309
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
5310
+ while (1) switch (_context3.prev = _context3.next) {
5376
5311
  case 0:
5377
- payload = _ref5.payload;
5312
+ payload = _ref4.payload;
5378
5313
  listenerApi.cancelActiveListeners();
5379
5314
  panelId = payload.panelId, viewPreset = payload.viewPreset, viewPresetId = payload.viewPresetId;
5380
- _context4.prev = 3;
5315
+ _context3.prev = 3;
5381
5316
  workspaceApi = getWorkspaceApi();
5382
- _context4.next = 7;
5317
+ _context3.next = 7;
5383
5318
  return workspaceApi.saveViewPreset(viewPresetId, viewPreset);
5384
5319
  case 7:
5385
5320
  listenerApi.dispatch(snackbarActions.openSnackbar(getSnackbarMessage(PresetAction.SAVE, viewPreset.title)));
@@ -5392,24 +5327,24 @@ var saveViewPresetEffect = /*#__PURE__*/function () {
5392
5327
  viewPresetId: viewPresetId,
5393
5328
  viewPreset: viewPreset
5394
5329
  }));
5395
- return _context4.abrupt("return", viewPreset);
5330
+ return _context3.abrupt("return", viewPreset);
5396
5331
  case 13:
5397
- _context4.prev = 13;
5398
- _context4.t0 = _context4["catch"](3);
5332
+ _context3.prev = 13;
5333
+ _context3.t0 = _context3["catch"](3);
5399
5334
  listenerApi.dispatch(viewPresetActions.errorViewPreset({
5400
- error: processError(_context4.t0, ViewPresetErrorComponent.PRESET_DETAIL, 'workspace-mappreset-error-save'),
5335
+ error: processError(_context3.t0, ViewPresetErrorComponent.PRESET_DETAIL, 'workspace-mappreset-error-save'),
5401
5336
  panelId: panelId,
5402
5337
  viewPresetId: viewPresetId
5403
5338
  }));
5404
- return _context4.abrupt("return", _context4.t0);
5339
+ return _context3.abrupt("return", _context3.t0);
5405
5340
  case 17:
5406
5341
  case "end":
5407
- return _context4.stop();
5342
+ return _context3.stop();
5408
5343
  }
5409
- }, _callee4, null, [[3, 13]]);
5344
+ }, _callee3, null, [[3, 13]]);
5410
5345
  }));
5411
- return function saveViewPresetEffect(_x7, _x8) {
5412
- return _ref6.apply(this, arguments);
5346
+ return function saveViewPresetEffect(_x5, _x6) {
5347
+ return _ref5.apply(this, arguments);
5413
5348
  };
5414
5349
  }();
5415
5350
  // save view preset
@@ -5421,12 +5356,12 @@ viewPresetsListener.startListening({
5421
5356
  viewPresetsListener.startListening({
5422
5357
  actionCreator: viewPresetActions.selectViewPreset,
5423
5358
  effect: function () {
5424
- var _effect3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref7, listenerApi) {
5359
+ var _effect2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref6, listenerApi) {
5425
5360
  var payload, panelId, _payload$viewPresetId, viewPresetId, isMapAnimating;
5426
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
5427
- while (1) switch (_context5.prev = _context5.next) {
5361
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
5362
+ while (1) switch (_context4.prev = _context4.next) {
5428
5363
  case 0:
5429
- payload = _ref7.payload;
5364
+ payload = _ref6.payload;
5430
5365
  listenerApi.cancelActiveListeners();
5431
5366
  panelId = payload.panelId, _payload$viewPresetId = payload.viewPresetId, viewPresetId = _payload$viewPresetId === void 0 ? '' : _payload$viewPresetId;
5432
5367
  isMapAnimating = mapSelectors.isAnimating(listenerApi.getState(), panelId);
@@ -5460,12 +5395,12 @@ viewPresetsListener.startListening({
5460
5395
  }
5461
5396
  case 6:
5462
5397
  case "end":
5463
- return _context5.stop();
5398
+ return _context4.stop();
5464
5399
  }
5465
- }, _callee5);
5400
+ }, _callee4);
5466
5401
  }));
5467
- function effect(_x9, _x10) {
5468
- return _effect3.apply(this, arguments);
5402
+ function effect(_x7, _x8) {
5403
+ return _effect2.apply(this, arguments);
5469
5404
  }
5470
5405
  return effect;
5471
5406
  }()
@@ -5474,12 +5409,12 @@ viewPresetsListener.startListening({
5474
5409
  viewPresetsListener.startListening({
5475
5410
  actionCreator: viewPresetActions.onSuccessViewPresetAction,
5476
5411
  effect: function () {
5477
- var _effect4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(_ref8, listenerApi) {
5412
+ var _effect3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref7, listenerApi) {
5478
5413
  var payload, action, viewPresetId, title, panelId, activeMapPresetId, hasChanges, viewPresetFilters, viewPresetSearchQuery;
5479
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
5480
- while (1) switch (_context6.prev = _context6.next) {
5414
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
5415
+ while (1) switch (_context5.prev = _context5.next) {
5481
5416
  case 0:
5482
- payload = _ref8.payload;
5417
+ payload = _ref7.payload;
5483
5418
  listenerApi.cancelActiveListeners();
5484
5419
  action = payload.action, viewPresetId = payload.viewPresetId, title = payload.title, panelId = payload.panelId;
5485
5420
  try {
@@ -5517,12 +5452,12 @@ viewPresetsListener.startListening({
5517
5452
  }
5518
5453
  case 4:
5519
5454
  case "end":
5520
- return _context6.stop();
5455
+ return _context5.stop();
5521
5456
  }
5522
- }, _callee6);
5457
+ }, _callee5);
5523
5458
  }));
5524
- function effect(_x11, _x12) {
5525
- return _effect4.apply(this, arguments);
5459
+ function effect(_x9, _x10) {
5460
+ return _effect3.apply(this, arguments);
5526
5461
  }
5527
5462
  return effect;
5528
5463
  }()
@@ -5546,15 +5481,18 @@ workspaceListListener.startListening({
5546
5481
  workspaceFilterParams = _ref.payload;
5547
5482
  listenerApi.cancelActiveListeners();
5548
5483
  _context.prev = 2;
5549
- _context.next = 5;
5550
- return getWorkspaceApi();
5551
- case 5:
5552
- workspaceApi = _context.sent;
5553
- _context.next = 8;
5484
+ workspaceApi = getWorkspaceApi();
5485
+ _context.next = 6;
5554
5486
  return workspaceApi.getWorkspacePresets(workspaceFilterParams);
5555
- case 8:
5487
+ case 6:
5556
5488
  _yield$workspaceApi$g = _context.sent;
5557
5489
  data = _yield$workspaceApi$g.data;
5490
+ if (!listenerApi.signal.aborted) {
5491
+ _context.next = 10;
5492
+ break;
5493
+ }
5494
+ return _context.abrupt("return");
5495
+ case 10:
5558
5496
  listenerApi.dispatch(workspaceListActions.fetchedWorkspaceList({
5559
5497
  workspaceList: data
5560
5498
  }));
@@ -5615,7 +5553,7 @@ workspaceListListener.startListening({
5615
5553
  // Retrieve new list with current filter
5616
5554
  workspaceFilters = getWorkspaceListFilters(listenerApi.getState());
5617
5555
  searchQuery = getWorkspaceListSearchQuery(listenerApi.getState());
5618
- listenerApi.dispatch(workspaceListActions.fetchWorkspaceList(constructFilterParams$1(workspaceFilters, searchQuery)));
5556
+ listenerApi.dispatch(workspaceListActions.fetchWorkspaceList(constructFilterParams(workspaceFilters, searchQuery)));
5619
5557
  case 9:
5620
5558
  case "end":
5621
5559
  return _context2.stop();
@@ -5909,14 +5847,7 @@ var slice = createSlice({
5909
5847
  name: 'viewPresetsList',
5910
5848
  reducers: {},
5911
5849
  extraReducers: function extraReducers(builder) {
5912
- builder.addCase(viewPresetActions.fetchedInitialViewPresets, function (draft, action) {
5913
- var viewPresets = action.payload.viewPresets;
5914
- if (!viewPresets || !viewPresets.length) {
5915
- viewPresetsListAdapter.removeAll(draft);
5916
- return;
5917
- }
5918
- viewPresetsListAdapter.setAll(draft, action.payload.viewPresets);
5919
- }).addCase(viewPresetActions.fetchedViewPresets, function (draft, action) {
5850
+ builder.addCase(viewPresetActions.fetchedViewPresets, function (draft, action) {
5920
5851
  var _action$payload = action.payload,
5921
5852
  viewPresets = _action$payload.viewPresets,
5922
5853
  filterParams = _action$payload.filterParams;
@@ -5932,8 +5863,8 @@ var slice = createSlice({
5932
5863
  });
5933
5864
  }
5934
5865
  });
5935
- var reducer = slice.reducer;
5936
- slice.actions;
5866
+ var viewPresetsListReducer = slice.reducer;
5867
+ slice.actions;
5937
5868
 
5938
5869
  /* *
5939
5870
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -5978,35 +5909,6 @@ var getFilteredViewPresetListForView = createSelector(getViewPresetsList, getVie
5978
5909
  };
5979
5910
  }, selectorMemoizationOptions);
5980
5911
 
5981
- /* *
5982
- * Licensed under the Apache License, Version 2.0 (the "License");
5983
- * you may not use this file except in compliance with the License.
5984
- * You may obtain a copy of the License at
5985
- *
5986
- * http://www.apache.org/licenses/LICENSE-2.0
5987
- *
5988
- * Unless required by applicable law or agreed to in writing, software
5989
- * distributed under the License is distributed on an "AS IS" BASIS,
5990
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
5991
- * See the License for the specific language governing permissions and
5992
- * limitations under the License.
5993
- *
5994
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
5995
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
5996
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
5997
- * */
5998
- var workspaceReducersMap = {
5999
- workspace: reducer$1,
6000
- workspaceList: reducer$3,
6001
- viewPresetsList: reducer,
6002
- viewPresets: reducer$2
6003
- };
6004
- var workspaceMiddlewares = [viewPresetsListener.middleware, workspaceListener.middleware, workspaceListListener.middleware];
6005
- var workspaceModuleConfig = {
6006
- reducersMap: workspaceReducersMap,
6007
- middlewares: workspaceMiddlewares
6008
- };
6009
-
6010
5912
  /* *
6011
5913
  * Licensed under the Apache License, Version 2.0 (the "License");
6012
5914
  * you may not use this file except in compliance with the License.
@@ -6064,32 +5966,30 @@ var useWorkspaceTranslation = function useWorkspaceTranslation() {
6064
5966
  * Copyright 2023 - Finnish Meteorological Institute (FMI)
6065
5967
  * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
6066
5968
  * */
6067
- var devToolsStateSanitizer = {
6068
- stateSanitizer: function stateSanitizer(state) {
6069
- return produce(state, function (draftState) {
6070
- // @ts-ignore
6071
- if (state['services']) {
6072
- // @ts-ignore
6073
- Object.values(state['services'].byId).forEach(function (service) {
6074
- // @ts-ignore
6075
- draftState['services'].byId[service.id].layers =
6076
- // @ts-ignore
6077
- service.layers.length;
6078
- });
6079
- }
6080
- });
6081
- }
5969
+ var workspaceReducersMap = {
5970
+ webmap: mapReducer,
5971
+ services: serviceReducer,
5972
+ layers: layerReducer,
5973
+ syncGroups: syncGroupsReducer,
5974
+ loadingIndicator: loadingIndicatorReducer,
5975
+ ui: uiReducer,
5976
+ workspace: workspaceReducer,
5977
+ workspaceList: workspaceListReducer,
5978
+ viewPresetsList: viewPresetsListReducer,
5979
+ viewPresets: viewPresetsReducer,
5980
+ timeSeries: timeSeriesReducer,
5981
+ snackbar: snackbarReducer
6082
5982
  };
6083
- var rootReducer = combineReducers(Object.assign({}, coreModuleReducersMap, workspaceReducersMap, timeSeriesReducersMap, snackbarReducersMap, routerReducersMap));
6084
- var createTestWorkspaceStore = function createTestWorkspaceStore() {
6085
- var store = configureStore({
6086
- reducer: rootReducer,
5983
+ var workspaceMiddlewares = [mapListener.middleware, serviceListener.middleware, layersListener.middleware, syncGroupsListener.middleware, workspaceListener.middleware, workspaceListListener.middleware, viewPresetsListener.middleware, snackbarListener.middleware];
5984
+ var workspaceRootReducer = combineReducers(workspaceReducersMap);
5985
+ var createMockStore = function createMockStore(mockState) {
5986
+ return configureStore({
5987
+ reducer: workspaceRootReducer,
5988
+ preloadedState: mockState,
6087
5989
  middleware: function middleware(getDefaultMiddleware) {
6088
- return getDefaultMiddleware().concat([].concat(coreModuleMiddlewares, workspaceMiddlewares, timeSeriesMiddlewares, snackbarMiddlewares, routerMiddlewares));
6089
- },
6090
- devTools: devToolsStateSanitizer
5990
+ return getDefaultMiddleware().concat(workspaceMiddlewares);
5991
+ }
6091
5992
  });
6092
- return store;
6093
5993
  };
6094
5994
 
6095
5995
  var queryClient = new QueryClient({
@@ -6132,7 +6032,7 @@ var defaultAuthConfig = {
6132
6032
  var WorkspaceWrapperProviderWithStore = function WorkspaceWrapperProviderWithStore(_ref3) {
6133
6033
  var children = _ref3.children,
6134
6034
  _ref3$store = _ref3.store,
6135
- store = _ref3$store === void 0 ? createTestWorkspaceStore() : _ref3$store,
6035
+ store = _ref3$store === void 0 ? createMockStore() : _ref3$store,
6136
6036
  _ref3$createApi = _ref3.createApi,
6137
6037
  createApi$1 = _ref3$createApi === void 0 ? createApi : _ref3$createApi,
6138
6038
  theme = _ref3.theme,
@@ -6606,13 +6506,27 @@ var WorkspaceSelectListRow = function WorkspaceSelectListRow(_ref) {
6606
6506
  var onEdit = function onEdit() {
6607
6507
  onClickWorkspacePresetOption(workspacePreset.id, WorkspacePresetAction.EDIT, workspacePreset);
6608
6508
  };
6509
+ var onShare = function onShare() {
6510
+ onClickWorkspacePresetOption(workspacePreset.id, WorkspacePresetAction.SHARE, workspacePreset);
6511
+ };
6609
6512
  var menuItems = [{
6610
6513
  text: t('workspace-duplicate'),
6611
6514
  action: onDuplicate
6612
- }].concat(workspacePreset.scope === 'user' || isAdmin ? [{
6515
+ }];
6516
+ (workspacePreset.scope === PresetScope.user || isAdmin) && menuItems.push({
6613
6517
  text: t('workspace-edit'),
6614
6518
  action: onEdit
6615
- }] : []);
6519
+ });
6520
+ workspacePreset.scope === PresetScope.user && menuItems.push({
6521
+ text: t('workspace-share'),
6522
+ action: onShare,
6523
+ isDisabled: true
6524
+ });
6525
+ workspacePreset.scope === PresetScope.shared && menuItems.push({
6526
+ text: t('workspace-stop-share'),
6527
+ action: onShare,
6528
+ isDisabled: true
6529
+ });
6616
6530
  return jsx(ListItem, {
6617
6531
  disablePadding: true,
6618
6532
  sx: {
@@ -6774,6 +6688,7 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
6774
6688
  var panelId = _ref.panelId;
6775
6689
  var _useWorkspaceTranslat = useWorkspaceTranslation(),
6776
6690
  t = _useWorkspaceTranslat.t;
6691
+ var dispatch = useDispatch();
6777
6692
  var _useAuthenticationCon = useAuthenticationContext(),
6778
6693
  currentRole = _useAuthenticationCon.currentRole,
6779
6694
  isLoggedIn = _useAuthenticationCon.isLoggedIn;
@@ -6800,11 +6715,9 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
6800
6715
  var viewPresetListFilters = useSelector(function (store) {
6801
6716
  return getViewPresetListFiltersForView(store, panelId, scope);
6802
6717
  });
6803
- var lastViewPresetListFilters = usePrevious(viewPresetListFilters);
6804
6718
  var viewPresetListSearchQuery = useSelector(function (store) {
6805
6719
  return getViewPresetListSearchQueryForView(store, panelId);
6806
6720
  });
6807
- var lastViewPresetListSearchQuery = usePrevious(viewPresetListSearchQuery);
6808
6721
  var relatedSyncGroupIds = useSelector(function (store) {
6809
6722
  return syncGroupsSelectors.getAllTargetGroupsForSource(store, {
6810
6723
  sourceId: panelId
@@ -6816,14 +6729,6 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
6816
6729
  var isViewPresetsListFetching = useSelector(function (store) {
6817
6730
  return getViewPresetsIsFetching(store, panelId);
6818
6731
  });
6819
- React.useEffect(function () {
6820
- // Only refetch list on changes to the filters if the dialog is open
6821
- if (lastViewPresetListSearchQuery !== viewPresetListSearchQuery && lastViewPresetListSearchQuery !== undefined || lastViewPresetListFilters !== viewPresetListFilters && lastViewPresetListFilters !== undefined) {
6822
- fetchViewPresets();
6823
- }
6824
- // eslint-disable-next-line react-hooks/exhaustive-deps
6825
- }, [viewPresetListFilters, viewPresetListSearchQuery, lastViewPresetListFilters, lastViewPresetListSearchQuery]);
6826
- var dispatch = useDispatch();
6827
6732
  var openViewPresetsDialog = React.useCallback(function (viewPresetDialogOptions) {
6828
6733
  dispatch(viewPresetActions.openViewPresetDialog({
6829
6734
  viewPresetDialog: viewPresetDialogOptions
@@ -6993,9 +6898,10 @@ var ResizeMenu = function ResizeMenu(_ref) {
6993
6898
  children = _ref.children;
6994
6899
  return jsx(Resizable, {
6995
6900
  defaultSize: {
6996
- width: 320,
6901
+ width: 380,
6997
6902
  height: '90%'
6998
6903
  },
6904
+ maxWidth: "100%",
6999
6905
  minHeight: 110,
7000
6906
  minWidth: 280,
7001
6907
  style: {
@@ -7419,11 +7325,54 @@ var WorkspaceViewTitleConnectNoMemo = function WorkspaceViewTitleConnectNoMemo(_
7419
7325
  };
7420
7326
  var WorkspaceViewTitleConnect = /*#__PURE__*/React.memo(WorkspaceViewTitleConnectNoMemo);
7421
7327
 
7422
- var WorkspaceTileConnect = /*#__PURE__*/React.memo(function (_ref) {
7423
- var _ref$mosaicNodeId = _ref.mosaicNodeId,
7424
- mosaicNodeId = _ref$mosaicNodeId === void 0 ? '' : _ref$mosaicNodeId,
7425
- path = _ref.path,
7426
- componentsLookUp = _ref.componentsLookUp;
7328
+ var FetchViewPresets = function FetchViewPresets(_ref) {
7329
+ var panelId = _ref.panelId;
7330
+ var dispatch = useDispatch();
7331
+ var _useAuthenticationCon = useAuthenticationContext(),
7332
+ currentRole = _useAuthenticationCon.currentRole;
7333
+ var isAdmin = (currentRole == null ? void 0 : currentRole.name) === GEOWEB_ROLE_PRESETS_ADMIN.name;
7334
+ var scope = !isAdmin ? 'user' : 'system';
7335
+ var lastAdmin = usePrevious(isAdmin);
7336
+ var viewPresetListFilters = useSelector(function (store) {
7337
+ return getViewPresetListFiltersForView(store, panelId, scope);
7338
+ });
7339
+ var viewPresetListSearchQuery = useSelector(function (store) {
7340
+ return getViewPresetListSearchQueryForView(store, panelId);
7341
+ });
7342
+ var fetchViewPresets = React.useCallback(function (filterParams) {
7343
+ dispatch(viewPresetActions.fetchViewPresets({
7344
+ panelId: panelId,
7345
+ filterParams: filterParams
7346
+ }));
7347
+ }, [dispatch, panelId]);
7348
+ React.useEffect(function () {
7349
+ var filterParams = constructFilterParams(viewPresetListFilters, viewPresetListSearchQuery);
7350
+ fetchViewPresets(filterParams);
7351
+ }, [fetchViewPresets, viewPresetListFilters, viewPresetListSearchQuery]);
7352
+ React.useEffect(function () {
7353
+ if (isAdmin !== lastAdmin && lastAdmin !== undefined) {
7354
+ // reset list filter when user changes role
7355
+ var filters = [{
7356
+ id: 'system',
7357
+ isSelected: true
7358
+ }, {
7359
+ id: 'user',
7360
+ isSelected: !isAdmin
7361
+ }];
7362
+ dispatch(viewPresetActions.setFilterChips({
7363
+ panelId: panelId,
7364
+ filters: filters
7365
+ }));
7366
+ }
7367
+ // eslint-disable-next-line react-hooks/exhaustive-deps
7368
+ }, [isAdmin]);
7369
+ return null;
7370
+ };
7371
+ var WorkspaceTileConnect = /*#__PURE__*/React.memo(function (_ref2) {
7372
+ var _ref2$mosaicNodeId = _ref2.mosaicNodeId,
7373
+ mosaicNodeId = _ref2$mosaicNodeId === void 0 ? '' : _ref2$mosaicNodeId,
7374
+ path = _ref2.path,
7375
+ componentsLookUp = _ref2.componentsLookUp;
7427
7376
  var dispatch = useDispatch();
7428
7377
  var view = useSelector(function (store) {
7429
7378
  return getViewById(store, mosaicNodeId);
@@ -7446,23 +7395,23 @@ var WorkspaceTileConnect = /*#__PURE__*/React.memo(function (_ref) {
7446
7395
  var addView = React.useCallback(function (view) {
7447
7396
  dispatch(workspaceActions.setNewWorkspaceView(view));
7448
7397
  }, [dispatch]);
7449
- var registerView = React.useCallback(function (_ref2) {
7450
- var panelId = _ref2.panelId,
7451
- mapPresetId = _ref2.mapPresetId;
7398
+ var registerView = React.useCallback(function (_ref3) {
7399
+ var panelId = _ref3.panelId,
7400
+ mapPresetId = _ref3.mapPresetId;
7452
7401
  dispatch(viewPresetActions.registerViewPreset({
7453
7402
  panelId: panelId,
7454
7403
  viewPresetId: mapPresetId
7455
7404
  }));
7456
7405
  }, [dispatch]);
7457
- var unregisterView = React.useCallback(function (_ref3) {
7458
- var panelId = _ref3.panelId;
7406
+ var unregisterView = React.useCallback(function (_ref4) {
7407
+ var panelId = _ref4.panelId;
7459
7408
  dispatch(viewPresetActions.unregisterViewPreset({
7460
7409
  panelId: panelId
7461
7410
  }));
7462
7411
  }, [dispatch]);
7463
- var toggleViewPresetDialog = React.useCallback(function (_ref4) {
7464
- var panelId = _ref4.panelId,
7465
- isViewPresetDialogOpen = _ref4.isViewPresetDialogOpen;
7412
+ var toggleViewPresetDialog = React.useCallback(function (_ref5) {
7413
+ var panelId = _ref5.panelId,
7414
+ isViewPresetDialogOpen = _ref5.isViewPresetDialogOpen;
7466
7415
  dispatch(viewPresetActions.toggleViewPresetListDialog({
7467
7416
  panelId: panelId,
7468
7417
  isViewPresetListDialogOpen: isViewPresetDialogOpen
@@ -7553,7 +7502,9 @@ var WorkspaceTileConnect = /*#__PURE__*/React.memo(function (_ref) {
7553
7502
  title: errorViewPreset,
7554
7503
  shouldClose: true
7555
7504
  })
7556
- }), defaultComponentsLookupResult, genericComponentsLookupResult, isViewPresetDialogOpen && jsx(ViewPresetMenu, {
7505
+ }), defaultComponentsLookupResult, genericComponentsLookupResult, jsx(FetchViewPresets, {
7506
+ panelId: mosaicNodeId
7507
+ }), isViewPresetDialogOpen && jsx(ViewPresetMenu, {
7557
7508
  panelId: mosaicNodeId,
7558
7509
  closeMenu: function closeMenu() {
7559
7510
  toggleViewPresetDialog({
@@ -7563,7 +7514,7 @@ var WorkspaceTileConnect = /*#__PURE__*/React.memo(function (_ref) {
7563
7514
  }
7564
7515
  })]
7565
7516
  });
7566
- }, _.isEqual);
7517
+ }, isEqual);
7567
7518
 
7568
7519
  var WorkspaceView = function WorkspaceView(_ref) {
7569
7520
  var screenConfig = _ref.screenConfig,
@@ -7763,11 +7714,9 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
7763
7714
  var workspaceListFilters = useSelector(function (store) {
7764
7715
  return getWorkspaceListFilters(store, scope);
7765
7716
  });
7766
- var lastWorkspaceListFilters = usePrevious(workspaceListFilters);
7767
7717
  var workspaceSearchQuery = useSelector(function (store) {
7768
7718
  return getWorkspaceListSearchQuery(store);
7769
7719
  });
7770
- var lastWorkspaceSearchQuery = usePrevious(workspaceSearchQuery);
7771
7720
  var isFetching = useSelector(function (store) {
7772
7721
  return getIsWorkspaceListFetching(store);
7773
7722
  });
@@ -7780,7 +7729,7 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
7780
7729
  var _useWorkspaceTranslat = useWorkspaceTranslation(),
7781
7730
  t = _useWorkspaceTranslat.t;
7782
7731
  var fetchWorkspaceList = React.useCallback(function () {
7783
- var filterParams = constructFilterParams$1(workspaceListFilters, workspaceSearchQuery);
7732
+ var filterParams = constructFilterParams(workspaceListFilters, workspaceSearchQuery);
7784
7733
  dispatch(workspaceListActions.fetchWorkspaceList(filterParams));
7785
7734
  }, [dispatch, workspaceListFilters, workspaceSearchQuery]);
7786
7735
  var fetchWorkspace = React.useCallback(function (workspaceId) {
@@ -7805,13 +7754,6 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
7805
7754
  searchQuery: searchQuery
7806
7755
  }));
7807
7756
  }, [dispatch]);
7808
- React.useEffect(function () {
7809
- // Only refetch list on changes to the filters if the dialog is open
7810
- if (lastWorkspaceListFilters !== workspaceListFilters && lastWorkspaceListFilters !== undefined || lastWorkspaceSearchQuery !== workspaceSearchQuery && lastWorkspaceSearchQuery !== undefined) {
7811
- fetchWorkspaceList();
7812
- }
7813
- // eslint-disable-next-line react-hooks/exhaustive-deps
7814
- }, [workspaceListFilters, workspaceSearchQuery, lastWorkspaceListFilters, lastWorkspaceSearchQuery]);
7815
7757
  // If we're loading the `New workspace` preset as defined in the FE, use this instead of retrieving from BE
7816
7758
  var onClickNewPreset = React.useCallback(function () {
7817
7759
  dispatch(routerActions.navigateToUrl({
@@ -7849,18 +7791,6 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
7849
7791
  var presetTitle = affectedPreset == null ? void 0 : affectedPreset.title;
7850
7792
  switch (workspaceAction) {
7851
7793
  case WorkspacePresetAction.DUPLICATE:
7852
- {
7853
- setWorkspaceActionDialogOptions({
7854
- action: workspaceAction,
7855
- presetId: presetId,
7856
- formValues: {
7857
- title: presetTitle,
7858
- "abstract": affectedPreset["abstract"],
7859
- scope: scope
7860
- }
7861
- });
7862
- break;
7863
- }
7864
7794
  case WorkspacePresetAction.EDIT:
7865
7795
  {
7866
7796
  setWorkspaceActionDialogOptions({
@@ -7901,6 +7831,11 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
7901
7831
  });
7902
7832
  break;
7903
7833
  }
7834
+ case WorkspacePresetAction.SHARE:
7835
+ {
7836
+ // TODO
7837
+ break;
7838
+ }
7904
7839
  }
7905
7840
  };
7906
7841
  var isAllSelected = workspaceListFilters.every(function (filter) {
@@ -8031,21 +7966,37 @@ var WorkspaceMenuButton = function WorkspaceMenuButton(_ref) {
8031
7966
  });
8032
7967
  };
8033
7968
 
8034
- var FetchInitialPresets$1 = function FetchInitialPresets() {
7969
+ var FetchWorkspacePresets = function FetchWorkspacePresets() {
8035
7970
  var dispatch = useDispatch();
8036
7971
  var _useAuthenticationCon = useAuthenticationContext(),
8037
7972
  currentRole = _useAuthenticationCon.currentRole;
8038
7973
  var isAdmin = (currentRole == null ? void 0 : currentRole.name) === GEOWEB_ROLE_PRESETS_ADMIN.name;
8039
- var fetchInitialPresets = React__default.useCallback(function (params) {
7974
+ var scope = !isAdmin ? 'user' : 'system';
7975
+ var lastAdmin = usePrevious(isAdmin);
7976
+ var workspaceListFilters = useSelector(function (store) {
7977
+ return getWorkspaceListFilters(store, scope);
7978
+ });
7979
+ var workspaceSearchQuery = useSelector(getWorkspaceListSearchQuery);
7980
+ var fetchWorkspacePresets = React__default.useCallback(function (params) {
8040
7981
  dispatch(workspaceListActions.fetchWorkspaceList(params));
8041
7982
  }, [dispatch]);
8042
7983
  React__default.useEffect(function () {
8043
- var params = !isAdmin ? {} : {
8044
- scope: 'system'
8045
- };
8046
- fetchInitialPresets(params);
8047
- // eslint-disable-next-line react-hooks/exhaustive-deps
8048
- }, [isAdmin]);
7984
+ var filterParams = constructFilterParams(workspaceListFilters, workspaceSearchQuery);
7985
+ fetchWorkspacePresets(filterParams);
7986
+ }, [fetchWorkspacePresets, workspaceListFilters, workspaceSearchQuery]);
7987
+ React__default.useEffect(function () {
7988
+ if (isAdmin !== lastAdmin && lastAdmin !== undefined) {
7989
+ // reset list filter when user changes role
7990
+ var filters = [{
7991
+ id: 'system',
7992
+ isSelected: true
7993
+ }, {
7994
+ id: 'user',
7995
+ isSelected: !isAdmin
7996
+ }];
7997
+ dispatch(workspaceListActions.setFilterChips(filters));
7998
+ }
7999
+ }, [dispatch, isAdmin, lastAdmin]);
8049
8000
  return null;
8050
8001
  };
8051
8002
  var WorkspaceMenuButtonConnect = function WorkspaceMenuButtonConnect() {
@@ -8059,7 +8010,7 @@ var WorkspaceMenuButtonConnect = function WorkspaceMenuButtonConnect() {
8059
8010
  return getIsWorkspaceListDialogOpen(store);
8060
8011
  });
8061
8012
  return jsxs(Fragment, {
8062
- children: [jsx(FetchInitialPresets$1, {}), jsx(WorkspaceMenuButton, {
8013
+ children: [jsx(FetchWorkspacePresets, {}), jsx(WorkspaceMenuButton, {
8063
8014
  showMenu: isWorkspaceListDialogOpen,
8064
8015
  onToggleDialog: setListDialogOpen
8065
8016
  })]
@@ -9094,28 +9045,13 @@ var ViewPresetsFormDialogConnect = function ViewPresetsFormDialogConnect(_ref) {
9094
9045
  }));
9095
9046
  };
9096
9047
 
9097
- var FetchInitialPresets = function FetchInitialPresets(_ref) {
9098
- var isAdmin = _ref.isAdmin;
9099
- var dispatch = useDispatch();
9100
- var fetchInitialPresets = React.useCallback(function (params) {
9101
- dispatch(viewPresetActions.fetchInitialViewPresets(params));
9102
- }, [dispatch]);
9103
- React.useEffect(function () {
9104
- var params = !isAdmin ? {} : {
9105
- scope: 'system'
9106
- };
9107
- fetchInitialPresets(params);
9108
- // eslint-disable-next-line react-hooks/exhaustive-deps
9109
- }, [isAdmin]);
9110
- return null;
9111
- };
9112
- var WorkspaceDetail = function WorkspaceDetail(_ref2) {
9113
- var initialWorkspaceId = _ref2.initialWorkspaceId,
9114
- workspaceId = _ref2.workspaceId,
9115
- children = _ref2.children,
9116
- componentsLookUp = _ref2.componentsLookUp,
9117
- _ref2$isSnapshot = _ref2.isSnapshot,
9118
- isSnapshot = _ref2$isSnapshot === void 0 ? false : _ref2$isSnapshot;
9048
+ var WorkspaceDetail = function WorkspaceDetail(_ref) {
9049
+ var initialWorkspaceId = _ref.initialWorkspaceId,
9050
+ workspaceId = _ref.workspaceId,
9051
+ children = _ref.children,
9052
+ componentsLookUp = _ref.componentsLookUp,
9053
+ _ref$isSnapshot = _ref.isSnapshot,
9054
+ isSnapshot = _ref$isSnapshot === void 0 ? false : _ref$isSnapshot;
9119
9055
  var dispatch = useDispatch();
9120
9056
  var _useWorkspaceTranslat = useWorkspaceTranslation(),
9121
9057
  t = _useWorkspaceTranslat.t;
@@ -9167,9 +9103,7 @@ var WorkspaceDetail = function WorkspaceDetail(_ref2) {
9167
9103
  width: '100%',
9168
9104
  height: '100%'
9169
9105
  },
9170
- children: [jsx(FetchInitialPresets, {
9171
- isAdmin: isAdmin
9172
- }), isLoading && jsx(LinearProgress, {
9106
+ children: [isLoading && jsx(LinearProgress, {
9173
9107
  "data-testid": "loading-bar",
9174
9108
  color: "secondary",
9175
9109
  sx: {
@@ -9228,4 +9162,4 @@ var WorkspaceDetail = function WorkspaceDetail(_ref2) {
9228
9162
  });
9229
9163
  };
9230
9164
 
9231
- export { ComponentsLookUpWrapper, DemoWrapper, PresetAction, ViewPresetErrorComponent, ViewPresetErrorType, WORKSPACE_NAMESPACE, WorkspaceDetail, WorkspaceErrorType, WorkspaceI18nProvider, WorkspaceModuleProvider, WorkspacePresetAction, WorkspaceTopBar, WorkspaceViewConnect, WorkspaceWrapperProviderWithStore, workspaceActions as actions, createBalancedMosaicNode, createCustomEmptyMapWorkspace, defaultAuthConfig, getEmptyMapWorkspace, getWorkspaceRouteUrl, selectors$1 as selectors, viewPresetActions, reducer as viewPresetsListReducer, viewPresetsListener, reducer$2 as viewPresetsReducer, workspaceListActions, workspaceListListener, reducer$3 as workspaceListReducer, workspaceListener, workspaceModuleConfig, reducer$1 as workspaceReducer, routes as workspaceRoutes, workspaceTranslations };
9165
+ export { ComponentsLookUpWrapper, DemoWrapper, PresetAction, ViewPresetErrorComponent, ViewPresetErrorType, WORKSPACE_NAMESPACE, WorkspaceDetail, WorkspaceErrorType, WorkspaceI18nProvider, WorkspaceModuleProvider, WorkspacePresetAction, WorkspaceTopBar, WorkspaceViewConnect, WorkspaceWrapperProviderWithStore, createBalancedMosaicNode, createCustomEmptyMapWorkspace, defaultAuthConfig, getEmptyMapWorkspace, getWorkspaceRouteUrl, selectors$1 as selectors, viewPresetActions, viewPresetsListReducer, viewPresetsListener, viewPresetsReducer, workspaceActions, workspaceListActions, workspaceListListener, workspaceListReducer, workspaceListener, workspaceMiddlewares, workspaceReducer, workspaceReducersMap, routes as workspaceRoutes, workspaceTranslations };