@opengeoweb/workspace 10.2.1-spike-ol.3 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.esm.js CHANGED
@@ -1,15 +1,15 @@
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, createViewObjectForNewMap, mapListener, serviceListener, layersListener, syncGroupsListener, openlayersListener, mapReducer, serviceReducer, layerReducer, syncGroupsReducer, loadingIndicatorReducer, uiReducer, 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
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';
8
+ import { PROJECTION, getAxiosErrorMessage, isAxiosAuthError, isAxiosError as isAxiosError$1, SHARED_NAMESPACE, sharedTranslations, ConfirmationServiceProvider, CustomIconButton, useConfirmationDialog, AlertBanner, PresetScope, CustomTooltip, SearchHighlight, ToggleMenu, DEFAULT_FILTER_HEIGHT, Filter, renderCounter, CustomDialog, ToolContainer, CustomToggleButton, usePrevious, ConfirmationButtons } from '@opengeoweb/shared';
9
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
- import { ThemeWrapper, lightTheme, Link, LinkOff, SplitVertical, SplitHorizontal, Expand, UnExpand, Close, Delete, Preset, PresetWorkspace, PresetTiles, BackdropStyle, BackdropElement, CloudLoading, CloudIdle, WebAssetOff, Exclamation } from '@opengeoweb/theme';
12
+ import { ThemeWrapper, lightTheme, Link, LinkOff, SplitVertical, SplitHorizontal, Expand, UnExpand, Close, Delete, Preset, PresetWorkspace, PresetTiles, CloudLoading, CloudIdle, WebAssetOff, Exclamation } from '@opengeoweb/theme';
13
13
  import { Provider, useDispatch, useSelector, useStore, shallowEqual } from 'react-redux';
14
14
  import { initReactI18next, useTranslation, I18nextProvider } from 'react-i18next';
15
15
  import { AuthenticationProvider, useAuthenticationContext, GEOWEB_ROLE_PRESETS_ADMIN } from '@opengeoweb/authentication';
@@ -20,7 +20,7 @@ import { CORE_NAMESPACE, coreTranslations } from '@opengeoweb/core';
20
20
  import { FORM_FIELDS_NAMESPACE, formFieldsTranslations, ReactHookFormTextField, ReactHookFormHiddenInput, ReactHookFormProvider, defaultFormOptions } from '@opengeoweb/form-fields';
21
21
  import * as React from 'react';
22
22
  import React__default, { useCallback } from 'react';
23
- import { Menu, Typography, List, ListItem, ListItemButton, ListItemIcon, Checkbox, ListItemText, LinearProgress, Grid2, Box, Backdrop, ListSubheader, MenuItem, useTheme, FormGroup, FormControlLabel, Tabs } from '@mui/material';
23
+ import { Menu, Typography, List, ListItem, ListItemButton, ListItemIcon, Checkbox, ListItemText, LinearProgress, Grid2, Box, ListSubheader, MenuItem, useTheme, FormGroup, FormControlLabel, Tabs } from '@mui/material';
24
24
  import 'react-mosaic-component/react-mosaic-component.css';
25
25
  import AutoSizer from 'react-virtualized-auto-sizer';
26
26
  import { FixedSizeList } from 'react-window';
@@ -37,6 +37,8 @@ var en = {
37
37
  "workspace-save": "Save",
38
38
  "workspace-save-as": "Save as",
39
39
  "workspace-edit": "Edit (name and abstract)",
40
+ "workspace-share": "Share",
41
+ "workspace-stop-share": "Unshare",
40
42
  "geoweb-welcome": "Welcome to GeoWeb. Please use one of the presets to open up new views",
41
43
  "workspace-modified-new": "modified",
42
44
  "workspace-modified-existing": "not saved",
@@ -116,6 +118,8 @@ var fi = {
116
118
  "workspace-save": "Tallenna",
117
119
  "workspace-save-as": "Tallenna nimellä",
118
120
  "workspace-edit": "Muokkaa (nimeä ja tiivistelmää)",
121
+ "workspace-share": "Missing-translation",
122
+ "workspace-stop-share": "Missing-translation",
119
123
  "geoweb-welcome": "Tervetuloa Geoweb-sovellukseen. Valitse jokin preset avataksesi uusia näkymiä",
120
124
  "workspace-modified-new": "muokattu",
121
125
  "workspace-modified-existing": "ei tallennettu",
@@ -182,8 +186,8 @@ var fi = {
182
186
  "workspace-viewpreset-success-reset": "ei käännetty"
183
187
  };
184
188
  var no = {
185
- "workspace-menu": "Arbeidsrommeny",
186
- "workspace-new": "Nytt arbeidsrom",
189
+ "workspace-menu": "Arbeidsflater",
190
+ "workspace-new": "Ny arbeidsflate",
187
191
  "workspace-loading": "Laster",
188
192
  "workspace-options": "Valg",
189
193
  "workspace-results": "resultater",
@@ -191,22 +195,24 @@ var no = {
191
195
  "workspce-clear": "Tøm",
192
196
  "workspace-save": "Lagre",
193
197
  "workspace-save-as": "Lagre som",
194
- "workspace-edit": "Endre (navn og abstrakt)",
198
+ "workspace-edit": "Endre (navn og sammendrag)",
199
+ "workspace-share": "Del",
200
+ "workspace-stop-share": "Stop deling",
195
201
  "geoweb-welcome": "Velkommen til GeoWeb. Åpne et forhåndsvalg for å åpne nye vinduer",
196
202
  "workspace-modified-new": "modifisert",
197
203
  "workspace-modified-existing": "ikke lagret",
198
- "workspace-dialog-delete": "Slett arbeidsrom",
204
+ "workspace-dialog-delete": "Slett arbeidsflate",
199
205
  "workspace-duplicate": "Kopier",
200
206
  "workspace-cancel": "Avbryt",
201
207
  "workspace-dialog-name": "Navn",
202
- "workspace-dialog-abstract": "Abstrakt",
203
- "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}}\"?",
204
210
  "workspace-dialog-confirm-reset-message": "ikke oversatt",
205
- "workspace-error-fetch": "Feilet i å hente liste over arbeidsrom",
206
- "workspace-error-fetch-detail": "Feilet i å hente arbeidsrommet {{WORKSPACE_ID}}",
207
- "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",
208
214
  "workspace-retry": "Prøv igjen",
209
- "workspace-delete-tooltip": "Slett preset",
215
+ "workspace-delete-tooltip": "Slett snarvei",
210
216
  "workspace-control-split-horizontal": "Splitt vindu horisontalt",
211
217
  "workspace-control-split-vertical": "Splitt vindu vertikalt",
212
218
  "workspace-control-expand": "Utvid vindu",
@@ -214,44 +220,44 @@ var no = {
214
220
  "workspace-control-close": "Lukk vindu",
215
221
  "workspace-control-close-message-title": "Whoops",
216
222
  "workspace-control-close-message-description": "Er du sikker på at du vil lukke vinduet? Alle endringer vil slettes.",
217
- "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}}\"?",
218
224
  "workspace-viewpresets-fail-fetch": "Feilet i å hente {{VIEWPRESET_ID}}",
219
- "workspace-mappreset-dialog-title": "Kartpreset navn",
220
- "workspace-mappreset-save-as": "Lagre kartpreset som",
221
- "workspace-mappreset-new": "Ny kartpreset",
222
- "workspace-mappreset-dialog-title-delete": "Slett kartpreset",
223
- "workspace-mappreset-dialog-title-edit": "Endre kartpreset",
224
- "workspace-mappreset-error-save": "Kartpreset ikke lagret: en feil skjedde under lagring. Prøv igjen senere",
225
- "workspace-mappreset-error-fetch": "Feilet i å hente liste over kartpresets",
226
- "workspace-list-error": "Feilet i å hente liste over arbeidsrompresets",
227
- "workspace-list-success-save-all": "Arbeidsrom \"{{TITLE}}\" og underliggende presets er lagret",
228
- "workspace-list-success-delete": "Arbeidsrom \"{{TITLE}}\" er slettet",
229
- "workspace-list-success-duplicate": "Arbeidsrom \"{{TITLE}}\" er lagret",
230
- "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",
231
237
  "workspace-list-success-reset": "ikke oversatt",
232
- "workspace-list-success-save": "Arbeidsrom \"{{TITLE}}\" er lagret",
233
- "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}}\"",
234
240
  "workspace-error-generic": "Noe feilet, prøv igjen",
235
- "workspace-viewpreset-success-delete": "Kartpreset \"{{TITLE}}\" er slettet",
236
- "workspace-viewpreset-success-save-as": "Ny kartpreset \"{{TITLE}}\" er lagret",
237
- "workspace-viewpreset-success-edit": "Kartpreset \"{{TITLE}}\" er endret",
238
- "workspace-viewpreset-success-save": "Kartpreset \"{{TITLE}}\" er lagret",
239
- "workspace-viewpreset-menu": "Vindupresetmeny",
240
- "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",
241
247
  "workspace-admin-save-user-workspace": "Ikke oversatt",
242
248
  "workspace-save-new-viewpreset": "Dette nye vinduet vil bli lagt til din brukers forhåndsinnstillinger.",
243
- "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.",
244
250
  "workspace-save-new-viewpreset-warning-user": "Lagre endringene som er gjort i dette personlige vinduet.",
245
- "workspace-select-modified-viewpresets": "Velg de endrede vinduene i dette arbeidsområdet som du vil oppdatere.",
246
- "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",
247
253
  "workspace-admin-select-modified-viewpresets": "Velg vindu med endringer du ønsker å oppdatere",
248
- "workspace-admin-save-new-viewpreset": "Denne nye vinduet blir algt til systemets forhåndsinnstillinger.",
249
- "workspace-admin-save-new-viewpreset-warning": "Lagring av endringer til denne systempreset vil påvirke andre presets.",
250
- "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",
251
257
  "workspace-reset": "Tilbakestill",
252
258
  "workspace-reset-title": "Tilbakestill til original",
253
- "workspace-dialog-confirm-delete-system": "Systemets arbeidsrom vil bli slettet, men alle vinduer som er brukt vil forbli intakte.",
254
- "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.",
255
261
  "workspace-link-location-header": "Lokasjon",
256
262
  "workspace-link": "Link",
257
263
  "workspace-dialog-confirm-reset-view-message": "Ikke oversatt",
@@ -268,6 +274,8 @@ var nl = {
268
274
  "workspace-save": "Opslaan",
269
275
  "workspace-save-as": "Opslaan als",
270
276
  "workspace-edit": "Aanpassen (naam en abstract)",
277
+ "workspace-share": "Delen",
278
+ "workspace-stop-share": "Stoppen met delen",
271
279
  "geoweb-welcome": "Welkom bij GeoWeb. Kies een van de presets om een nieuw venster te openen",
272
280
  "workspace-modified-new": "bewerkt",
273
281
  "workspace-modified-existing": "niet opgeslagen",
@@ -891,6 +899,7 @@ var WorkspacePresetAction;
891
899
  WorkspacePresetAction["SAVE_SYSTEM_PRESET_AS"] = "SAVE_SYSTEM_PRESET_AS";
892
900
  WorkspacePresetAction["RESET"] = "RESET";
893
901
  WorkspacePresetAction["DELETE_SYSTEM_PRESET"] = "DELETE_SYSTEM_PRESET";
902
+ WorkspacePresetAction["SHARE"] = "SHARE";
894
903
  })(WorkspacePresetAction || (WorkspacePresetAction = {}));
895
904
  var WorkspaceErrorType;
896
905
  (function (WorkspaceErrorType) {
@@ -1040,6 +1049,18 @@ var slice$3 = createSlice({
1040
1049
  });
1041
1050
  });
1042
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
+ },
1043
1064
  searchFilter: function searchFilter(draft, action) {
1044
1065
  var searchQuery = action.payload.searchQuery;
1045
1066
  draft.searchQuery = searchQuery;
@@ -1118,40 +1139,6 @@ var slice$2 = createSlice({
1118
1139
  name: 'viewPresets',
1119
1140
  reducers: {
1120
1141
  // fetch list actions
1121
- fetchInitialViewPresets: function fetchInitialViewPresets(draft,
1122
- // eslint-disable-next-line no-unused-vars
1123
- _action) {
1124
- draft.ids.forEach(function (id) {
1125
- var entity = draft.entities[id];
1126
- if (entity) {
1127
- entity.isFetching = true;
1128
- viewPresetsAdapter.setOne(draft, entity);
1129
- }
1130
- });
1131
- },
1132
- fetchedInitialViewPresets: function fetchedInitialViewPresets(draft,
1133
- // this action is also caught in viewPresetsListReducer
1134
- // eslint-disable-next-line no-unused-vars
1135
- action) {
1136
- draft.ids.forEach(function (id) {
1137
- var entity = draft.entities[id];
1138
- if (entity) {
1139
- entity.isFetching = false;
1140
- viewPresetsAdapter.setOne(draft, entity);
1141
- }
1142
- });
1143
- },
1144
- errorInitialViewPresets: function errorInitialViewPresets(draft, action) {
1145
- var error = action.payload.error;
1146
- draft.ids.forEach(function (id) {
1147
- var entity = draft.entities[id];
1148
- if (entity) {
1149
- entity.error = error;
1150
- entity.isFetching = false;
1151
- viewPresetsAdapter.setOne(draft, entity);
1152
- }
1153
- });
1154
- },
1155
1142
  fetchViewPresets: function fetchViewPresets(draft, action) {
1156
1143
  var panelId = action.payload.panelId;
1157
1144
  var entity = draft.entities[panelId];
@@ -1370,10 +1357,28 @@ var slice$2 = createSlice({
1370
1357
  });
1371
1358
  }
1372
1359
  },
1373
- searchFilter: function searchFilter(draft, action) {
1360
+ setFilterChips: function setFilterChips(draft, action) {
1374
1361
  var _action$payload11 = action.payload,
1375
- searchQuery = _action$payload11.searchQuery,
1376
- 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;
1377
1382
  var entity = draft.entities[panelId];
1378
1383
  if (entity) {
1379
1384
  entity.searchQuery = searchQuery;
@@ -1382,9 +1387,9 @@ var slice$2 = createSlice({
1382
1387
  },
1383
1388
  extraReducers: function extraReducers(builder) {
1384
1389
  builder.addCase(mapActions.setMapPresetError, function (draft, action) {
1385
- var _action$payload12 = action.payload,
1386
- mapId = _action$payload12.mapId,
1387
- error = _action$payload12.error;
1390
+ var _action$payload13 = action.payload,
1391
+ mapId = _action$payload13.mapId,
1392
+ error = _action$payload13.error;
1388
1393
  var entity = draft.entities[mapId];
1389
1394
  if (entity) {
1390
1395
  entity.error = {
@@ -1408,10 +1413,10 @@ var slice$2 = createSlice({
1408
1413
  });
1409
1414
  warningsPresetChangeActions.map(function (warningsAction) {
1410
1415
  return builder.addCase(warningsAction, function (draft, action) {
1411
- var _action$payload13 = action.payload,
1412
- origin = _action$payload13.origin,
1413
- panelId = _action$payload13.panelId;
1414
- if (origin === 'user' && panelId) {
1416
+ var _action$payload14 = action.payload,
1417
+ systemUpdate = _action$payload14.systemUpdate,
1418
+ panelId = _action$payload14.panelId;
1419
+ if (!systemUpdate && panelId) {
1415
1420
  var entity = draft.entities[panelId];
1416
1421
  if (entity && !(entity != null && entity.hasChanges)) {
1417
1422
  entity.hasChanges = true;
@@ -1422,9 +1427,9 @@ var slice$2 = createSlice({
1422
1427
  });
1423
1428
  syncGroupChangeActions.map(function (syncGroupAction) {
1424
1429
  return builder.addCase(syncGroupAction, function (draft, action) {
1425
- var _action$payload14 = action.payload,
1426
- origin = _action$payload14.origin,
1427
- targetId = _action$payload14.targetId;
1430
+ var _action$payload15 = action.payload,
1431
+ origin = _action$payload15.origin,
1432
+ targetId = _action$payload15.targetId;
1428
1433
  if (origin === 'user') {
1429
1434
  var entity = draft.entities[targetId];
1430
1435
  if (entity && !(entity != null && entity.hasChanges)) {
@@ -1436,9 +1441,9 @@ var slice$2 = createSlice({
1436
1441
  });
1437
1442
  mapPresetChangeActions.map(function (mapPresetAction) {
1438
1443
  return builder.addCase(mapPresetAction, function (draft, action) {
1439
- var _action$payload15 = action.payload,
1440
- mapId = _action$payload15.mapId,
1441
- origin = _action$payload15.origin;
1444
+ var _action$payload16 = action.payload,
1445
+ mapId = _action$payload16.mapId,
1446
+ origin = _action$payload16.origin;
1442
1447
  var isChangeOriginSupported = supportedMapActionOrigins.indexOf(origin) >= 0;
1443
1448
  if (isChangeOriginSupported && mapId) {
1444
1449
  var entity = draft.entities[mapId];
@@ -1451,9 +1456,9 @@ var slice$2 = createSlice({
1451
1456
  });
1452
1457
  timeSeriesPresetChangeActions.map(function (timeSeriesPresetAction) {
1453
1458
  return builder.addCase(timeSeriesPresetAction, function (draft, action) {
1454
- var _action$payload16 = action.payload,
1455
- panelId = _action$payload16.panelId,
1456
- origin = _action$payload16.origin;
1459
+ var _action$payload17 = action.payload,
1460
+ panelId = _action$payload17.panelId,
1461
+ origin = _action$payload17.origin;
1457
1462
  var isChangeOriginSupported = supportedTimeSeriesActionOrigins.indexOf(origin) >= 0;
1458
1463
  var changesRelevantProperties = timeSeriesPresetAction.type === timeSeriesActions.patchParameter.type ? Object.keys(action.payload.parameter).filter(function (key) {
1459
1464
  return key !== 'id' && key !== 'instanceId';
@@ -1659,7 +1664,7 @@ var createCustomEmptyMapWorkspace = function createCustomEmptyMapWorkspace(empty
1659
1664
  });
1660
1665
  return emptyWorkspacePreset;
1661
1666
  };
1662
- var constructFilterParams$1 = function constructFilterParams(filters, searchQuery) {
1667
+ var constructFilterParams = function constructFilterParams(filters, searchQuery) {
1663
1668
  // get filters
1664
1669
  var _filters$reduce = filters.reduce(function (filterList, filter) {
1665
1670
  if (filter.isSelected && filter.type === 'scope') {
@@ -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",
@@ -3532,19 +2813,196 @@ var viewPresetsListFullContent = [
3532
2813
  },
3533
2814
  {
3534
2815
  componentType: "Map",
3535
- title: "Radar",
3536
- id: "screenRadar",
3537
- scope: "user",
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",
2970
+ initialProps: {
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
+ }
2979
+ ],
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
+ ]
2994
+ }
2995
+ },
2996
+ {
2997
+ componentType: "Map",
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,175 @@ 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
3637
3187
  }
3638
3188
  ],
3639
3189
  proj: {
@@ -3645,26 +3195,27 @@ var viewPresetsListFullContent = [
3645
3195
  },
3646
3196
  srs: "EPSG:3857"
3647
3197
  },
3648
- shouldAnimate: true,
3649
- animationPayload: {
3650
- duration: 120,
3651
- interval: 5,
3652
- speed: 8
3653
- }
3654
- }
3198
+ showTimeSlider: false
3199
+ },
3200
+ syncGroupsIds: [
3201
+ "Area_B",
3202
+ "Time_B"
3203
+ ]
3655
3204
  }
3656
3205
  },
3657
3206
  {
3658
3207
  componentType: "Map",
3659
- id: "map_OBSTA",
3208
+ id: "harmTemp",
3660
3209
  initialProps: {
3661
3210
  mapPreset: {
3662
3211
  layers: [
3663
3212
  {
3664
- service: "https://geoservices.knmi.nl/adagucserver?dataset=OBS",
3665
- name: "10M/ta",
3666
- id: "layerid_10",
3667
- layerType: "mapLayer"
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
3668
3219
  }
3669
3220
  ],
3670
3221
  proj: {
@@ -3675,25 +3226,80 @@ var viewPresetsListFullContent = [
3675
3226
  top: 7438773.776232235
3676
3227
  },
3677
3228
  srs: "EPSG:3857"
3678
- }
3229
+ },
3230
+ showTimeSlider: false
3231
+ },
3232
+ syncGroupsIds: [
3233
+ "Area_B",
3234
+ "Time_B"
3235
+ ]
3236
+ }
3237
+ },
3238
+ {
3239
+ componentType: "Map",
3240
+ id: "harmPressure",
3241
+ initialProps: {
3242
+ mapPreset: {
3243
+ layers: [
3244
+ {
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
3250
+ }
3251
+ ],
3252
+ proj: {
3253
+ bbox: {
3254
+ left: -450651.2255879827,
3255
+ bottom: 6490531.093143953,
3256
+ right: 1428345.8183648037,
3257
+ top: 7438773.776232235
3258
+ },
3259
+ srs: "EPSG:3857"
3260
+ },
3261
+ showTimeSlider: false
3262
+ },
3263
+ syncGroupsIds: [
3264
+ "Area_B",
3265
+ "Time_B"
3266
+ ]
3267
+ }
3268
+ },
3269
+ {
3270
+ componentType: "TimeSlider",
3271
+ id: "slider",
3272
+ initialProps: {
3273
+ sliderPreset: {
3274
+ mapId: "harmPrecip"
3679
3275
  },
3680
3276
  syncGroupsIds: [
3681
- "Area_A",
3682
- "Time_A"
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",
3904
- layerType: "mapLayer",
3905
- enabled: true
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",
3499
+ layerType: "mapLayer",
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
+ }
3591
+ }
3592
+ },
3593
+ {
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: {
3955
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"
3742
+ },
3743
+ {
3744
+ title: "rad",
3745
+ id: "rad",
3746
+ date: "2022-06-01T12:34:27.787184",
3747
+ scope: "system"
3748
+ },
3749
+ {
3750
+ title: "screenRadAndObs",
3751
+ id: "screenRadAndObs",
3752
+ date: "2022-06-01T12:34:27.787184",
3753
+ scope: "system"
3754
+ },
3755
+ {
3756
+ title: "demosyncgroupbbox_radar",
3757
+ id: "demosyncgroupbbox_radar",
3758
+ date: "2022-06-01T12:34:27.787184",
3759
+ scope: "system"
3760
+ },
3761
+ {
3762
+ title: "demosyncgroupbbox_temp",
3763
+ id: "demosyncgroupbbox_temp",
3764
+ date: "2022-06-01T12:34:27.787184",
3765
+ scope: "system"
3766
+ },
3767
+ {
3768
+ title: "demosyncgrouptime_radar",
3769
+ id: "demosyncgrouptime_radar",
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"
3956
3785
  },
3957
3786
  {
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
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"
3981
3805
  },
3982
- syncGroupsIds: [
3983
- "Area_B",
3984
- "Time_B"
3985
- ]
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
3986
3826
  }
3987
3827
  },
3988
3828
  {
3989
- componentType: "TimeSlider",
3990
- id: "slider",
3991
- initialProps: {
3992
- sliderPreset: {
3993
- mapId: "harmPrecip"
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"
3994
3838
  },
3995
- syncGroupsIds: [
3996
- "Area_B",
3997
- "Time_B"
3998
- ]
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
3999
3859
  }
4000
3860
  },
4001
3861
  {
4002
- title: "Radar",
4003
- 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
- }
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"
4033
3871
  },
4034
- syncGroupsIds: [
4035
- "Area_radar"
4036
- ]
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"
4037
3883
  }
4038
3884
  },
4039
3885
  {
4040
- title: "Temperature",
4041
- 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
- }
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"
4062
3895
  },
4063
- syncGroupsIds: [
4064
- "Area_radar"
4065
- ]
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"
4066
3907
  }
4067
3908
  },
4068
3909
  {
4069
- title: "Radar",
4070
- 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
- }
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"
4100
3929
  },
4101
- syncGroupsIds: [
4102
- "Time_radar"
4103
- ]
4104
- }
3930
+ {
3931
+ id: "layerGroupA",
3932
+ type: "SYNCGROUPS_TYPE_SETLAYERACTIONS"
3933
+ }
3934
+ ],
3935
+ mosaicNode: "view-1"
4105
3936
  },
4106
3937
  {
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
- }
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"
4129
3953
  },
4130
- syncGroupsIds: [
4131
- "Time_radar"
4132
- ]
4133
- }
4134
- },
4135
- {
4136
- title: "Empty map",
4137
- id: "emptyMap",
4138
- componentType: "Map",
4139
- initialProps: {
4140
- mapPreset: {
4141
- layers: [
4142
- ]
3954
+ {
3955
+ id: "timeLayerGroupA",
3956
+ type: "SYNCGROUPS_TYPE_SETTIME"
4143
3957
  },
4144
- syncGroupsIds: [
4145
- ]
4146
- }
3958
+ {
3959
+ id: "layerGroupA",
3960
+ type: "SYNCGROUPS_TYPE_SETLAYERACTIONS"
3961
+ }
3962
+ ],
3963
+ mosaicNode: "view-1"
4147
3964
  },
4148
3965
  {
4149
- title: "TAF",
4150
- id: "taf",
4151
- componentType: "TafModule",
4152
- initialProps: {
4153
- }
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"
3993
+ }
3994
+ ],
3995
+ mosaicNode: "view-1"
4154
3996
  },
4155
3997
  {
4156
- title: "Actions example",
4157
- id: "actionsExample",
4158
- componentType: "ActionsExample",
4159
- initialProps: {
4160
- }
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"
4007
+ }
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"
4161
4028
  },
4162
4029
  {
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
- }
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"
4271
4053
  }
4054
+ ],
4055
+ mosaicNode: {
4056
+ direction: "row",
4057
+ first: "viewAsat",
4058
+ second: "viewBrad",
4059
+ splitPercentage: 50
4272
4060
  }
4273
4061
  },
4274
4062
  {
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"
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"
4306
4114
  },
4307
- dockedLayerManagerSize: "sizeMedium",
4308
- shouldAutoUpdate: true
4115
+ splitPercentage: 33
4309
4116
  }
4310
4117
  }
4311
4118
  },
4312
4119
  {
4313
- id: "capListView",
4314
- title: "Cap Warning List",
4315
- componentType: "CapWarningList",
4316
- initialProps: {
4317
- }
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"
4318
4142
  },
4319
4143
  {
4320
- id: "warningList",
4321
- title: "Warning List",
4322
- componentType: "WarningList",
4323
- initialProps: {
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
4324
4191
  }
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
- },
4348
- {
4349
- id: "screenConfigC",
4350
- title: "Satellite",
4351
- date: "2022-06-01T12:34:27.787184",
4352
- scope: "system"
4353
- },
4354
- {
4355
- title: "map_OBSTA",
4356
- id: "map_OBSTA",
4357
- date: "2022-06-01T12:34:27.787184",
4358
- scope: "system"
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
 
@@ -5037,9 +5013,7 @@ workspaceListener.startListening({
5037
5013
  while (1) switch (_context11.prev = _context11.next) {
5038
5014
  case 0:
5039
5015
  payload = _ref10.payload;
5040
- mosaicNodeId = payload.mosaicNodeId, componentType = payload.componentType, newId = payload.newId; // TODO: this would be nice to move into the openlayers store
5041
- createViewObjectForNewMap(mosaicNodeId, newId);
5042
- // Note, at some point these might no longer be necessary
5016
+ mosaicNodeId = payload.mosaicNodeId, componentType = payload.componentType, newId = payload.newId;
5043
5017
  bbox = mapSelectors.getBbox(listenerApi.getState(), mosaicNodeId);
5044
5018
  srs = mapSelectors.getSrs(listenerApi.getState(), mosaicNodeId);
5045
5019
  mapPreset = bbox.bottom ? {
@@ -5056,7 +5030,7 @@ workspaceListener.startListening({
5056
5030
  syncGroupsIds: []
5057
5031
  }
5058
5032
  }));
5059
- case 7:
5033
+ case 6:
5060
5034
  case "end":
5061
5035
  return _context11.stop();
5062
5036
  }
@@ -5238,107 +5212,66 @@ var processError = function processError(error, component, errorMessageKey) {
5238
5212
  };
5239
5213
  };
5240
5214
  var viewPresetsListener = createListenerMiddleware();
5241
- // fetch initial view presets
5215
+ // fetch view presets
5242
5216
  viewPresetsListener.startListening({
5243
- actionCreator: viewPresetActions.fetchInitialViewPresets,
5217
+ actionCreator: viewPresetActions.fetchViewPresets,
5244
5218
  effect: function () {
5245
5219
  var _effect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref, listenerApi) {
5246
- var FetchViewPresetsListParams, workspaceApi, _yield$workspaceApi$g, viewPresets;
5220
+ var payload, panelId, filterParams, workspaceApi, _yield$workspaceApi$g, viewPresets;
5247
5221
  return _regeneratorRuntime().wrap(function _callee$(_context) {
5248
5222
  while (1) switch (_context.prev = _context.next) {
5249
5223
  case 0:
5250
- FetchViewPresetsListParams = _ref.payload;
5251
- listenerApi.cancelActiveListeners();
5252
- _context.prev = 2;
5253
- workspaceApi = getWorkspaceApi(); // No filters so we don't need to pass any params for this viewPresets list call
5254
- _context.next = 6;
5255
- return workspaceApi.getViewPresets(FetchViewPresetsListParams);
5256
- case 6:
5257
- _yield$workspaceApi$g = _context.sent;
5258
- viewPresets = _yield$workspaceApi$g.data;
5259
- listenerApi.dispatch(viewPresetActions.fetchedInitialViewPresets({
5260
- viewPresets: viewPresets
5261
- }));
5262
- _context.next = 14;
5263
- break;
5264
- case 11:
5265
- _context.prev = 11;
5266
- _context.t0 = _context["catch"](2);
5267
- listenerApi.dispatch(viewPresetActions.errorInitialViewPresets({
5268
- error: processError(_context.t0, ViewPresetErrorComponent.PRESET_LIST, 'workspace-mappreset-error-fetch')
5269
- }));
5270
- case 14:
5271
- case "end":
5272
- return _context.stop();
5273
- }
5274
- }, _callee, null, [[2, 11]]);
5275
- }));
5276
- function effect(_x, _x2) {
5277
- return _effect.apply(this, arguments);
5278
- }
5279
- return effect;
5280
- }()
5281
- });
5282
- // fetch view presets
5283
- viewPresetsListener.startListening({
5284
- actionCreator: viewPresetActions.fetchViewPresets,
5285
- effect: function () {
5286
- var _effect2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2, listenerApi) {
5287
- var payload, panelId, filterParams, workspaceApi, _yield$workspaceApi$g2, viewPresets;
5288
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
5289
- while (1) switch (_context2.prev = _context2.next) {
5290
- case 0:
5291
- payload = _ref2.payload;
5224
+ payload = _ref.payload;
5292
5225
  listenerApi.cancelActiveListeners();
5293
5226
  panelId = payload.panelId, filterParams = payload.filterParams;
5294
- _context2.prev = 3;
5227
+ _context.prev = 3;
5295
5228
  workspaceApi = getWorkspaceApi();
5296
- _context2.next = 7;
5229
+ _context.next = 7;
5297
5230
  return workspaceApi.getViewPresets(filterParams);
5298
5231
  case 7:
5299
- _yield$workspaceApi$g2 = _context2.sent;
5300
- viewPresets = _yield$workspaceApi$g2.data;
5232
+ _yield$workspaceApi$g = _context.sent;
5233
+ viewPresets = _yield$workspaceApi$g.data;
5301
5234
  listenerApi.dispatch(viewPresetActions.fetchedViewPresets({
5302
5235
  viewPresets: viewPresets,
5303
5236
  panelId: panelId,
5304
5237
  filterParams: filterParams
5305
5238
  }));
5306
- _context2.next = 15;
5239
+ _context.next = 15;
5307
5240
  break;
5308
5241
  case 12:
5309
- _context2.prev = 12;
5310
- _context2.t0 = _context2["catch"](3);
5242
+ _context.prev = 12;
5243
+ _context.t0 = _context["catch"](3);
5311
5244
  listenerApi.dispatch(viewPresetActions.errorViewPreset({
5312
- error: processError(_context2.t0, ViewPresetErrorComponent.PRESET_LIST, 'workspace-mappreset-error-fetch'),
5245
+ error: processError(_context.t0, ViewPresetErrorComponent.PRESET_LIST, 'workspace-mappreset-error-fetch'),
5313
5246
  panelId: panelId
5314
5247
  }));
5315
5248
  case 15:
5316
5249
  case "end":
5317
- return _context2.stop();
5250
+ return _context.stop();
5318
5251
  }
5319
- }, _callee2, null, [[3, 12]]);
5252
+ }, _callee, null, [[3, 12]]);
5320
5253
  }));
5321
- function effect(_x3, _x4) {
5322
- return _effect2.apply(this, arguments);
5254
+ function effect(_x, _x2) {
5255
+ return _effect.apply(this, arguments);
5323
5256
  }
5324
5257
  return effect;
5325
5258
  }()
5326
5259
  });
5327
5260
  var saveViewPresetAsEffect = /*#__PURE__*/function () {
5328
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3, listenerApi) {
5261
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2, listenerApi) {
5329
5262
  var payload, panelId, viewPreset, workspaceApi, viewPresetId;
5330
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
5331
- while (1) switch (_context3.prev = _context3.next) {
5263
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
5264
+ while (1) switch (_context2.prev = _context2.next) {
5332
5265
  case 0:
5333
- payload = _ref3.payload;
5266
+ payload = _ref2.payload;
5334
5267
  listenerApi.cancelActiveListeners();
5335
5268
  panelId = payload.panelId, viewPreset = payload.viewPreset;
5336
- _context3.prev = 3;
5269
+ _context2.prev = 3;
5337
5270
  workspaceApi = getWorkspaceApi();
5338
- _context3.next = 7;
5271
+ _context2.next = 7;
5339
5272
  return workspaceApi.saveViewPresetAs(viewPreset);
5340
5273
  case 7:
5341
- viewPresetId = _context3.sent;
5274
+ viewPresetId = _context2.sent;
5342
5275
  listenerApi.dispatch(snackbarActions.openSnackbar(getSnackbarMessage(PresetAction.SAVE, viewPreset.title)));
5343
5276
  listenerApi.dispatch(viewPresetActions.savedViewPreset({
5344
5277
  panelId: panelId,
@@ -5349,39 +5282,39 @@ var saveViewPresetAsEffect = /*#__PURE__*/function () {
5349
5282
  viewPresetId: viewPresetId,
5350
5283
  viewPreset: viewPreset
5351
5284
  }));
5352
- return _context3.abrupt("return", Object.assign({}, viewPreset, {
5285
+ return _context2.abrupt("return", Object.assign({}, viewPreset, {
5353
5286
  id: viewPresetId
5354
5287
  }));
5355
5288
  case 14:
5356
- _context3.prev = 14;
5357
- _context3.t0 = _context3["catch"](3);
5289
+ _context2.prev = 14;
5290
+ _context2.t0 = _context2["catch"](3);
5358
5291
  listenerApi.dispatch(viewPresetActions.errorViewPreset({
5359
- error: processError(_context3.t0, ViewPresetErrorComponent.PRESET_DETAIL, 'workspace-mappreset-error-save'),
5292
+ error: processError(_context2.t0, ViewPresetErrorComponent.PRESET_DETAIL, 'workspace-mappreset-error-save'),
5360
5293
  panelId: panelId
5361
5294
  }));
5362
- return _context3.abrupt("return", _context3.t0);
5295
+ return _context2.abrupt("return", _context2.t0);
5363
5296
  case 18:
5364
5297
  case "end":
5365
- return _context3.stop();
5298
+ return _context2.stop();
5366
5299
  }
5367
- }, _callee3, null, [[3, 14]]);
5300
+ }, _callee2, null, [[3, 14]]);
5368
5301
  }));
5369
- return function saveViewPresetAsEffect(_x5, _x6) {
5370
- return _ref4.apply(this, arguments);
5302
+ return function saveViewPresetAsEffect(_x3, _x4) {
5303
+ return _ref3.apply(this, arguments);
5371
5304
  };
5372
5305
  }();
5373
5306
  var saveViewPresetEffect = /*#__PURE__*/function () {
5374
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref5, listenerApi) {
5307
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref4, listenerApi) {
5375
5308
  var payload, panelId, viewPreset, viewPresetId, workspaceApi;
5376
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
5377
- while (1) switch (_context4.prev = _context4.next) {
5309
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
5310
+ while (1) switch (_context3.prev = _context3.next) {
5378
5311
  case 0:
5379
- payload = _ref5.payload;
5312
+ payload = _ref4.payload;
5380
5313
  listenerApi.cancelActiveListeners();
5381
5314
  panelId = payload.panelId, viewPreset = payload.viewPreset, viewPresetId = payload.viewPresetId;
5382
- _context4.prev = 3;
5315
+ _context3.prev = 3;
5383
5316
  workspaceApi = getWorkspaceApi();
5384
- _context4.next = 7;
5317
+ _context3.next = 7;
5385
5318
  return workspaceApi.saveViewPreset(viewPresetId, viewPreset);
5386
5319
  case 7:
5387
5320
  listenerApi.dispatch(snackbarActions.openSnackbar(getSnackbarMessage(PresetAction.SAVE, viewPreset.title)));
@@ -5394,24 +5327,24 @@ var saveViewPresetEffect = /*#__PURE__*/function () {
5394
5327
  viewPresetId: viewPresetId,
5395
5328
  viewPreset: viewPreset
5396
5329
  }));
5397
- return _context4.abrupt("return", viewPreset);
5330
+ return _context3.abrupt("return", viewPreset);
5398
5331
  case 13:
5399
- _context4.prev = 13;
5400
- _context4.t0 = _context4["catch"](3);
5332
+ _context3.prev = 13;
5333
+ _context3.t0 = _context3["catch"](3);
5401
5334
  listenerApi.dispatch(viewPresetActions.errorViewPreset({
5402
- error: processError(_context4.t0, ViewPresetErrorComponent.PRESET_DETAIL, 'workspace-mappreset-error-save'),
5335
+ error: processError(_context3.t0, ViewPresetErrorComponent.PRESET_DETAIL, 'workspace-mappreset-error-save'),
5403
5336
  panelId: panelId,
5404
5337
  viewPresetId: viewPresetId
5405
5338
  }));
5406
- return _context4.abrupt("return", _context4.t0);
5339
+ return _context3.abrupt("return", _context3.t0);
5407
5340
  case 17:
5408
5341
  case "end":
5409
- return _context4.stop();
5342
+ return _context3.stop();
5410
5343
  }
5411
- }, _callee4, null, [[3, 13]]);
5344
+ }, _callee3, null, [[3, 13]]);
5412
5345
  }));
5413
- return function saveViewPresetEffect(_x7, _x8) {
5414
- return _ref6.apply(this, arguments);
5346
+ return function saveViewPresetEffect(_x5, _x6) {
5347
+ return _ref5.apply(this, arguments);
5415
5348
  };
5416
5349
  }();
5417
5350
  // save view preset
@@ -5423,12 +5356,12 @@ viewPresetsListener.startListening({
5423
5356
  viewPresetsListener.startListening({
5424
5357
  actionCreator: viewPresetActions.selectViewPreset,
5425
5358
  effect: function () {
5426
- var _effect3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref7, listenerApi) {
5359
+ var _effect2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref6, listenerApi) {
5427
5360
  var payload, panelId, _payload$viewPresetId, viewPresetId, isMapAnimating;
5428
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
5429
- while (1) switch (_context5.prev = _context5.next) {
5361
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
5362
+ while (1) switch (_context4.prev = _context4.next) {
5430
5363
  case 0:
5431
- payload = _ref7.payload;
5364
+ payload = _ref6.payload;
5432
5365
  listenerApi.cancelActiveListeners();
5433
5366
  panelId = payload.panelId, _payload$viewPresetId = payload.viewPresetId, viewPresetId = _payload$viewPresetId === void 0 ? '' : _payload$viewPresetId;
5434
5367
  isMapAnimating = mapSelectors.isAnimating(listenerApi.getState(), panelId);
@@ -5462,12 +5395,12 @@ viewPresetsListener.startListening({
5462
5395
  }
5463
5396
  case 6:
5464
5397
  case "end":
5465
- return _context5.stop();
5398
+ return _context4.stop();
5466
5399
  }
5467
- }, _callee5);
5400
+ }, _callee4);
5468
5401
  }));
5469
- function effect(_x9, _x10) {
5470
- return _effect3.apply(this, arguments);
5402
+ function effect(_x7, _x8) {
5403
+ return _effect2.apply(this, arguments);
5471
5404
  }
5472
5405
  return effect;
5473
5406
  }()
@@ -5476,12 +5409,12 @@ viewPresetsListener.startListening({
5476
5409
  viewPresetsListener.startListening({
5477
5410
  actionCreator: viewPresetActions.onSuccessViewPresetAction,
5478
5411
  effect: function () {
5479
- var _effect4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(_ref8, listenerApi) {
5412
+ var _effect3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref7, listenerApi) {
5480
5413
  var payload, action, viewPresetId, title, panelId, activeMapPresetId, hasChanges, viewPresetFilters, viewPresetSearchQuery;
5481
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
5482
- while (1) switch (_context6.prev = _context6.next) {
5414
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
5415
+ while (1) switch (_context5.prev = _context5.next) {
5483
5416
  case 0:
5484
- payload = _ref8.payload;
5417
+ payload = _ref7.payload;
5485
5418
  listenerApi.cancelActiveListeners();
5486
5419
  action = payload.action, viewPresetId = payload.viewPresetId, title = payload.title, panelId = payload.panelId;
5487
5420
  try {
@@ -5519,12 +5452,12 @@ viewPresetsListener.startListening({
5519
5452
  }
5520
5453
  case 4:
5521
5454
  case "end":
5522
- return _context6.stop();
5455
+ return _context5.stop();
5523
5456
  }
5524
- }, _callee6);
5457
+ }, _callee5);
5525
5458
  }));
5526
- function effect(_x11, _x12) {
5527
- return _effect4.apply(this, arguments);
5459
+ function effect(_x9, _x10) {
5460
+ return _effect3.apply(this, arguments);
5528
5461
  }
5529
5462
  return effect;
5530
5463
  }()
@@ -5548,15 +5481,18 @@ workspaceListListener.startListening({
5548
5481
  workspaceFilterParams = _ref.payload;
5549
5482
  listenerApi.cancelActiveListeners();
5550
5483
  _context.prev = 2;
5551
- _context.next = 5;
5552
- return getWorkspaceApi();
5553
- case 5:
5554
- workspaceApi = _context.sent;
5555
- _context.next = 8;
5484
+ workspaceApi = getWorkspaceApi();
5485
+ _context.next = 6;
5556
5486
  return workspaceApi.getWorkspacePresets(workspaceFilterParams);
5557
- case 8:
5487
+ case 6:
5558
5488
  _yield$workspaceApi$g = _context.sent;
5559
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:
5560
5496
  listenerApi.dispatch(workspaceListActions.fetchedWorkspaceList({
5561
5497
  workspaceList: data
5562
5498
  }));
@@ -5617,7 +5553,7 @@ workspaceListListener.startListening({
5617
5553
  // Retrieve new list with current filter
5618
5554
  workspaceFilters = getWorkspaceListFilters(listenerApi.getState());
5619
5555
  searchQuery = getWorkspaceListSearchQuery(listenerApi.getState());
5620
- listenerApi.dispatch(workspaceListActions.fetchWorkspaceList(constructFilterParams$1(workspaceFilters, searchQuery)));
5556
+ listenerApi.dispatch(workspaceListActions.fetchWorkspaceList(constructFilterParams(workspaceFilters, searchQuery)));
5621
5557
  case 9:
5622
5558
  case "end":
5623
5559
  return _context2.stop();
@@ -5911,14 +5847,7 @@ var slice = createSlice({
5911
5847
  name: 'viewPresetsList',
5912
5848
  reducers: {},
5913
5849
  extraReducers: function extraReducers(builder) {
5914
- builder.addCase(viewPresetActions.fetchedInitialViewPresets, function (draft, action) {
5915
- var viewPresets = action.payload.viewPresets;
5916
- if (!viewPresets || !viewPresets.length) {
5917
- viewPresetsListAdapter.removeAll(draft);
5918
- return;
5919
- }
5920
- viewPresetsListAdapter.setAll(draft, action.payload.viewPresets);
5921
- }).addCase(viewPresetActions.fetchedViewPresets, function (draft, action) {
5850
+ builder.addCase(viewPresetActions.fetchedViewPresets, function (draft, action) {
5922
5851
  var _action$payload = action.payload,
5923
5852
  viewPresets = _action$payload.viewPresets,
5924
5853
  filterParams = _action$payload.filterParams;
@@ -6051,7 +5980,7 @@ var workspaceReducersMap = {
6051
5980
  timeSeries: timeSeriesReducer,
6052
5981
  snackbar: snackbarReducer
6053
5982
  };
6054
- var workspaceMiddlewares = [mapListener.middleware, serviceListener.middleware, layersListener.middleware, syncGroupsListener.middleware, workspaceListener.middleware, workspaceListListener.middleware, viewPresetsListener.middleware, snackbarListener.middleware, openlayersListener.middleware];
5983
+ var workspaceMiddlewares = [mapListener.middleware, serviceListener.middleware, layersListener.middleware, syncGroupsListener.middleware, workspaceListener.middleware, workspaceListListener.middleware, viewPresetsListener.middleware, snackbarListener.middleware];
6055
5984
  var workspaceRootReducer = combineReducers(workspaceReducersMap);
6056
5985
  var createMockStore = function createMockStore(mockState) {
6057
5986
  return configureStore({
@@ -6577,13 +6506,27 @@ var WorkspaceSelectListRow = function WorkspaceSelectListRow(_ref) {
6577
6506
  var onEdit = function onEdit() {
6578
6507
  onClickWorkspacePresetOption(workspacePreset.id, WorkspacePresetAction.EDIT, workspacePreset);
6579
6508
  };
6509
+ var onShare = function onShare() {
6510
+ onClickWorkspacePresetOption(workspacePreset.id, WorkspacePresetAction.SHARE, workspacePreset);
6511
+ };
6580
6512
  var menuItems = [{
6581
6513
  text: t('workspace-duplicate'),
6582
6514
  action: onDuplicate
6583
- }].concat(workspacePreset.scope === 'user' || isAdmin ? [{
6515
+ }];
6516
+ (workspacePreset.scope === PresetScope.user || isAdmin) && menuItems.push({
6584
6517
  text: t('workspace-edit'),
6585
6518
  action: onEdit
6586
- }] : []);
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
+ });
6587
6530
  return jsx(ListItem, {
6588
6531
  disablePadding: true,
6589
6532
  sx: {
@@ -6593,7 +6536,8 @@ var WorkspaceSelectListRow = function WorkspaceSelectListRow(_ref) {
6593
6536
  fontSize: '12px',
6594
6537
  fontWeight: 500,
6595
6538
  textOverflow: 'ellipsis',
6596
- overflow: 'hidden'
6539
+ overflow: 'hidden',
6540
+ whiteSpace: 'nowrap'
6597
6541
  },
6598
6542
  ' .MuiListItemText-secondary': {
6599
6543
  fontSize: '10px',
@@ -6745,6 +6689,7 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
6745
6689
  var panelId = _ref.panelId;
6746
6690
  var _useWorkspaceTranslat = useWorkspaceTranslation(),
6747
6691
  t = _useWorkspaceTranslat.t;
6692
+ var dispatch = useDispatch();
6748
6693
  var _useAuthenticationCon = useAuthenticationContext(),
6749
6694
  currentRole = _useAuthenticationCon.currentRole,
6750
6695
  isLoggedIn = _useAuthenticationCon.isLoggedIn;
@@ -6771,11 +6716,9 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
6771
6716
  var viewPresetListFilters = useSelector(function (store) {
6772
6717
  return getViewPresetListFiltersForView(store, panelId, scope);
6773
6718
  });
6774
- var lastViewPresetListFilters = usePrevious(viewPresetListFilters);
6775
6719
  var viewPresetListSearchQuery = useSelector(function (store) {
6776
6720
  return getViewPresetListSearchQueryForView(store, panelId);
6777
6721
  });
6778
- var lastViewPresetListSearchQuery = usePrevious(viewPresetListSearchQuery);
6779
6722
  var relatedSyncGroupIds = useSelector(function (store) {
6780
6723
  return syncGroupsSelectors.getAllTargetGroupsForSource(store, {
6781
6724
  sourceId: panelId
@@ -6787,14 +6730,6 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
6787
6730
  var isViewPresetsListFetching = useSelector(function (store) {
6788
6731
  return getViewPresetsIsFetching(store, panelId);
6789
6732
  });
6790
- React.useEffect(function () {
6791
- // Only refetch list on changes to the filters if the dialog is open
6792
- if (lastViewPresetListSearchQuery !== viewPresetListSearchQuery && lastViewPresetListSearchQuery !== undefined || lastViewPresetListFilters !== viewPresetListFilters && lastViewPresetListFilters !== undefined) {
6793
- fetchViewPresets();
6794
- }
6795
- // eslint-disable-next-line react-hooks/exhaustive-deps
6796
- }, [viewPresetListFilters, viewPresetListSearchQuery, lastViewPresetListFilters, lastViewPresetListSearchQuery]);
6797
- var dispatch = useDispatch();
6798
6733
  var openViewPresetsDialog = React.useCallback(function (viewPresetDialogOptions) {
6799
6734
  dispatch(viewPresetActions.openViewPresetDialog({
6800
6735
  viewPresetDialog: viewPresetDialogOptions
@@ -6958,36 +6893,32 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
6958
6893
  });
6959
6894
  };
6960
6895
 
6961
- var ResizeMenu = function ResizeMenu(_ref) {
6962
- var onCloseMenu = _ref.onCloseMenu,
6963
- title = _ref.title,
6964
- children = _ref.children;
6965
- return jsx(Resizable, {
6966
- defaultSize: {
6896
+ var ViewPresetMenu = function ViewPresetMenu(_ref) {
6897
+ var closeMenu = _ref.closeMenu,
6898
+ panelId = _ref.panelId,
6899
+ _ref$isOpen = _ref.isOpen,
6900
+ isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen;
6901
+ var _useWorkspaceTranslat = useWorkspaceTranslation(),
6902
+ t = _useWorkspaceTranslat.t;
6903
+ renderCounter.count(ViewPresetMenu.name);
6904
+ return jsx(CustomDialog, {
6905
+ open: isOpen,
6906
+ onClose: function onClose() {
6907
+ if (closeMenu) {
6908
+ closeMenu();
6909
+ }
6910
+ },
6911
+ isResizable: true,
6912
+ hasLayout: false,
6913
+ resizableDefaultSize: {
6967
6914
  width: 380,
6968
6915
  height: '90%'
6969
6916
  },
6970
- maxWidth: "100%",
6971
- minHeight: 110,
6972
- minWidth: 280,
6973
- style: {
6974
- display: 'flex',
6975
- alignItems: 'center',
6976
- justifyContent: 'center'
6977
- },
6978
- enable: {
6979
- top: true,
6980
- right: true,
6981
- bottom: true,
6982
- left: true,
6983
- topRight: true,
6984
- bottomRight: true,
6985
- bottomLeft: true,
6986
- topLeft: true
6987
- },
6917
+ shouldRenderInline: true,
6918
+ "data-testid": "workspace-viewpreset-menu",
6988
6919
  children: jsx(ToolContainer, {
6989
- title: title,
6990
- onClose: onCloseMenu,
6920
+ title: t('workspace-viewpreset-menu'),
6921
+ onClose: closeMenu,
6991
6922
  style: {
6992
6923
  width: '100%',
6993
6924
  height: '100%'
@@ -6995,40 +6926,11 @@ var ResizeMenu = function ResizeMenu(_ref) {
6995
6926
  onClick: function onClick(event) {
6996
6927
  event.stopPropagation();
6997
6928
  },
6998
- children: children
6999
- })
7000
- });
7001
- };
7002
-
7003
- var ViewPresetMenu = function ViewPresetMenu(_ref) {
7004
- var _ref$hideBackdrop = _ref.hideBackdrop,
7005
- hideBackdrop = _ref$hideBackdrop === void 0 ? false : _ref$hideBackdrop,
7006
- closeMenu = _ref.closeMenu,
7007
- panelId = _ref.panelId;
7008
- var _useWorkspaceTranslat = useWorkspaceTranslation(),
7009
- t = _useWorkspaceTranslat.t;
7010
- var toolContainer = jsx(ResizeMenu, {
7011
- title: t('workspace-viewpreset-menu'),
7012
- onCloseMenu: closeMenu,
7013
- children: jsx(ViewPresetMenuListConnect, {
7014
- panelId: panelId
6929
+ children: jsx(ViewPresetMenuListConnect, {
6930
+ panelId: panelId
6931
+ })
7015
6932
  })
7016
6933
  });
7017
- renderCounter.count(ViewPresetMenu.name);
7018
- return hideBackdrop ?
7019
- // Enable hiding backdrop from snapshot tests
7020
- toolContainer : jsxs(Backdrop, {
7021
- "data-testid": "viewpresetMenuBackdrop",
7022
- open: true,
7023
- sx: Object.assign({
7024
- '&.MuiBackdrop-root': {
7025
- position: 'absolute',
7026
- zIndex: 1002
7027
- }
7028
- }, BackdropStyle()),
7029
- onClick: closeMenu,
7030
- children: [BackdropElement(), toolContainer]
7031
- });
7032
6934
  };
7033
6935
 
7034
6936
  var workspacePresetOptionId = 'workspace-options-toolbutton';
@@ -7391,11 +7293,54 @@ var WorkspaceViewTitleConnectNoMemo = function WorkspaceViewTitleConnectNoMemo(_
7391
7293
  };
7392
7294
  var WorkspaceViewTitleConnect = /*#__PURE__*/React.memo(WorkspaceViewTitleConnectNoMemo);
7393
7295
 
7394
- var WorkspaceTileConnect = /*#__PURE__*/React.memo(function (_ref) {
7395
- var _ref$mosaicNodeId = _ref.mosaicNodeId,
7396
- mosaicNodeId = _ref$mosaicNodeId === void 0 ? '' : _ref$mosaicNodeId,
7397
- path = _ref.path,
7398
- componentsLookUp = _ref.componentsLookUp;
7296
+ var FetchViewPresets = function FetchViewPresets(_ref) {
7297
+ var panelId = _ref.panelId;
7298
+ var dispatch = useDispatch();
7299
+ var _useAuthenticationCon = useAuthenticationContext(),
7300
+ currentRole = _useAuthenticationCon.currentRole;
7301
+ var isAdmin = (currentRole == null ? void 0 : currentRole.name) === GEOWEB_ROLE_PRESETS_ADMIN.name;
7302
+ var scope = !isAdmin ? 'user' : 'system';
7303
+ var lastAdmin = usePrevious(isAdmin);
7304
+ var viewPresetListFilters = useSelector(function (store) {
7305
+ return getViewPresetListFiltersForView(store, panelId, scope);
7306
+ });
7307
+ var viewPresetListSearchQuery = useSelector(function (store) {
7308
+ return getViewPresetListSearchQueryForView(store, panelId);
7309
+ });
7310
+ var fetchViewPresets = React.useCallback(function (filterParams) {
7311
+ dispatch(viewPresetActions.fetchViewPresets({
7312
+ panelId: panelId,
7313
+ filterParams: filterParams
7314
+ }));
7315
+ }, [dispatch, panelId]);
7316
+ React.useEffect(function () {
7317
+ var filterParams = constructFilterParams(viewPresetListFilters, viewPresetListSearchQuery);
7318
+ fetchViewPresets(filterParams);
7319
+ }, [fetchViewPresets, viewPresetListFilters, viewPresetListSearchQuery]);
7320
+ React.useEffect(function () {
7321
+ if (isAdmin !== lastAdmin && lastAdmin !== undefined) {
7322
+ // reset list filter when user changes role
7323
+ var filters = [{
7324
+ id: 'system',
7325
+ isSelected: true
7326
+ }, {
7327
+ id: 'user',
7328
+ isSelected: !isAdmin
7329
+ }];
7330
+ dispatch(viewPresetActions.setFilterChips({
7331
+ panelId: panelId,
7332
+ filters: filters
7333
+ }));
7334
+ }
7335
+ // eslint-disable-next-line react-hooks/exhaustive-deps
7336
+ }, [isAdmin]);
7337
+ return null;
7338
+ };
7339
+ var WorkspaceTileConnect = /*#__PURE__*/React.memo(function (_ref2) {
7340
+ var _ref2$mosaicNodeId = _ref2.mosaicNodeId,
7341
+ mosaicNodeId = _ref2$mosaicNodeId === void 0 ? '' : _ref2$mosaicNodeId,
7342
+ path = _ref2.path,
7343
+ componentsLookUp = _ref2.componentsLookUp;
7399
7344
  var dispatch = useDispatch();
7400
7345
  var view = useSelector(function (store) {
7401
7346
  return getViewById(store, mosaicNodeId);
@@ -7418,23 +7363,23 @@ var WorkspaceTileConnect = /*#__PURE__*/React.memo(function (_ref) {
7418
7363
  var addView = React.useCallback(function (view) {
7419
7364
  dispatch(workspaceActions.setNewWorkspaceView(view));
7420
7365
  }, [dispatch]);
7421
- var registerView = React.useCallback(function (_ref2) {
7422
- var panelId = _ref2.panelId,
7423
- mapPresetId = _ref2.mapPresetId;
7366
+ var registerView = React.useCallback(function (_ref3) {
7367
+ var panelId = _ref3.panelId,
7368
+ mapPresetId = _ref3.mapPresetId;
7424
7369
  dispatch(viewPresetActions.registerViewPreset({
7425
7370
  panelId: panelId,
7426
7371
  viewPresetId: mapPresetId
7427
7372
  }));
7428
7373
  }, [dispatch]);
7429
- var unregisterView = React.useCallback(function (_ref3) {
7430
- var panelId = _ref3.panelId;
7374
+ var unregisterView = React.useCallback(function (_ref4) {
7375
+ var panelId = _ref4.panelId;
7431
7376
  dispatch(viewPresetActions.unregisterViewPreset({
7432
7377
  panelId: panelId
7433
7378
  }));
7434
7379
  }, [dispatch]);
7435
- var toggleViewPresetDialog = React.useCallback(function (_ref4) {
7436
- var panelId = _ref4.panelId,
7437
- isViewPresetDialogOpen = _ref4.isViewPresetDialogOpen;
7380
+ var toggleViewPresetDialog = React.useCallback(function (_ref5) {
7381
+ var panelId = _ref5.panelId,
7382
+ isViewPresetDialogOpen = _ref5.isViewPresetDialogOpen;
7438
7383
  dispatch(viewPresetActions.toggleViewPresetListDialog({
7439
7384
  panelId: panelId,
7440
7385
  isViewPresetListDialogOpen: isViewPresetDialogOpen
@@ -7525,17 +7470,20 @@ var WorkspaceTileConnect = /*#__PURE__*/React.memo(function (_ref) {
7525
7470
  title: errorViewPreset,
7526
7471
  shouldClose: true
7527
7472
  })
7528
- }), defaultComponentsLookupResult, genericComponentsLookupResult, isViewPresetDialogOpen && jsx(ViewPresetMenu, {
7473
+ }), defaultComponentsLookupResult, genericComponentsLookupResult, jsx(FetchViewPresets, {
7474
+ panelId: mosaicNodeId
7475
+ }), jsx(ViewPresetMenu, {
7529
7476
  panelId: mosaicNodeId,
7530
7477
  closeMenu: function closeMenu() {
7531
7478
  toggleViewPresetDialog({
7532
7479
  panelId: mosaicNodeId,
7533
7480
  isViewPresetDialogOpen: false
7534
7481
  });
7535
- }
7482
+ },
7483
+ isOpen: isViewPresetDialogOpen
7536
7484
  })]
7537
7485
  });
7538
- }, _.isEqual);
7486
+ }, isEqual);
7539
7487
 
7540
7488
  var WorkspaceView = function WorkspaceView(_ref) {
7541
7489
  var screenConfig = _ref.screenConfig,
@@ -7735,11 +7683,9 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
7735
7683
  var workspaceListFilters = useSelector(function (store) {
7736
7684
  return getWorkspaceListFilters(store, scope);
7737
7685
  });
7738
- var lastWorkspaceListFilters = usePrevious(workspaceListFilters);
7739
7686
  var workspaceSearchQuery = useSelector(function (store) {
7740
7687
  return getWorkspaceListSearchQuery(store);
7741
7688
  });
7742
- var lastWorkspaceSearchQuery = usePrevious(workspaceSearchQuery);
7743
7689
  var isFetching = useSelector(function (store) {
7744
7690
  return getIsWorkspaceListFetching(store);
7745
7691
  });
@@ -7752,7 +7698,7 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
7752
7698
  var _useWorkspaceTranslat = useWorkspaceTranslation(),
7753
7699
  t = _useWorkspaceTranslat.t;
7754
7700
  var fetchWorkspaceList = React.useCallback(function () {
7755
- var filterParams = constructFilterParams$1(workspaceListFilters, workspaceSearchQuery);
7701
+ var filterParams = constructFilterParams(workspaceListFilters, workspaceSearchQuery);
7756
7702
  dispatch(workspaceListActions.fetchWorkspaceList(filterParams));
7757
7703
  }, [dispatch, workspaceListFilters, workspaceSearchQuery]);
7758
7704
  var fetchWorkspace = React.useCallback(function (workspaceId) {
@@ -7777,13 +7723,6 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
7777
7723
  searchQuery: searchQuery
7778
7724
  }));
7779
7725
  }, [dispatch]);
7780
- React.useEffect(function () {
7781
- // Only refetch list on changes to the filters if the dialog is open
7782
- if (lastWorkspaceListFilters !== workspaceListFilters && lastWorkspaceListFilters !== undefined || lastWorkspaceSearchQuery !== workspaceSearchQuery && lastWorkspaceSearchQuery !== undefined) {
7783
- fetchWorkspaceList();
7784
- }
7785
- // eslint-disable-next-line react-hooks/exhaustive-deps
7786
- }, [workspaceListFilters, workspaceSearchQuery, lastWorkspaceListFilters, lastWorkspaceSearchQuery]);
7787
7726
  // If we're loading the `New workspace` preset as defined in the FE, use this instead of retrieving from BE
7788
7727
  var onClickNewPreset = React.useCallback(function () {
7789
7728
  dispatch(routerActions.navigateToUrl({
@@ -7821,18 +7760,6 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
7821
7760
  var presetTitle = affectedPreset == null ? void 0 : affectedPreset.title;
7822
7761
  switch (workspaceAction) {
7823
7762
  case WorkspacePresetAction.DUPLICATE:
7824
- {
7825
- setWorkspaceActionDialogOptions({
7826
- action: workspaceAction,
7827
- presetId: presetId,
7828
- formValues: {
7829
- title: presetTitle,
7830
- "abstract": affectedPreset["abstract"],
7831
- scope: scope
7832
- }
7833
- });
7834
- break;
7835
- }
7836
7763
  case WorkspacePresetAction.EDIT:
7837
7764
  {
7838
7765
  setWorkspaceActionDialogOptions({
@@ -7873,6 +7800,11 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
7873
7800
  });
7874
7801
  break;
7875
7802
  }
7803
+ case WorkspacePresetAction.SHARE:
7804
+ {
7805
+ // TODO
7806
+ break;
7807
+ }
7876
7808
  }
7877
7809
  };
7878
7810
  var isAllSelected = workspaceListFilters.every(function (filter) {
@@ -7882,7 +7814,8 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
7882
7814
  return jsxs(Box, {
7883
7815
  "data-testid": "workspace-selectlist-connect",
7884
7816
  style: {
7885
- height: '100%'
7817
+ height: '100%',
7818
+ width: '100%'
7886
7819
  },
7887
7820
  tabIndex: 0,
7888
7821
  children: [isFetching && jsx(LinearProgress, {
@@ -7936,28 +7869,49 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect() {
7936
7869
  };
7937
7870
 
7938
7871
  var WorkspaceMenu = function WorkspaceMenu(_ref) {
7939
- var _ref$hideBackdrop = _ref.hideBackdrop,
7940
- hideBackdrop = _ref$hideBackdrop === void 0 ? false : _ref$hideBackdrop,
7872
+ var _ref$isOpen = _ref.isOpen,
7873
+ isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
7941
7874
  closeMenu = _ref.closeMenu;
7942
7875
  var _useWorkspaceTranslat = useWorkspaceTranslation(),
7943
7876
  t = _useWorkspaceTranslat.t;
7944
- var toolContainer = jsx(ResizeMenu, {
7945
- title: t('workspace-menu'),
7946
- onCloseMenu: closeMenu,
7947
- children: jsx(WorkspaceSelectListConnect, {})
7948
- });
7949
- return hideBackdrop ?
7950
- // Enable hiding backdrop from snapshot tests
7951
- toolContainer : jsxs(Backdrop, {
7952
- "data-testid": "workspaceMenuBackdrop",
7953
- open: true,
7954
- sx: Object.assign({
7955
- '&.MuiBackdrop-root': {
7956
- top: '40px'
7877
+ return jsx(CustomDialog, {
7878
+ open: isOpen,
7879
+ onClose: function onClose() {
7880
+ if (closeMenu) {
7881
+ closeMenu();
7957
7882
  }
7958
- }, BackdropStyle()),
7959
- onClick: closeMenu,
7960
- children: [BackdropElement(), toolContainer]
7883
+ },
7884
+ isResizable: true,
7885
+ hasLayout: false,
7886
+ resizableDefaultSize: {
7887
+ width: 380,
7888
+ height: '90%'
7889
+ },
7890
+ slotProps: {
7891
+ backdrop: {
7892
+ style: {
7893
+ top: 40
7894
+ }
7895
+ },
7896
+ root: {
7897
+ style: {
7898
+ top: 40
7899
+ }
7900
+ }
7901
+ },
7902
+ "data-testid": "workspace-menu",
7903
+ children: jsx(ToolContainer, {
7904
+ title: t('workspace-menu'),
7905
+ onClose: closeMenu,
7906
+ style: {
7907
+ width: '100%',
7908
+ height: '100%'
7909
+ },
7910
+ onClick: function onClick(event) {
7911
+ event.stopPropagation();
7912
+ },
7913
+ children: jsx(WorkspaceSelectListConnect, {})
7914
+ })
7961
7915
  });
7962
7916
  };
7963
7917
 
@@ -7997,27 +7951,44 @@ var WorkspaceMenuButton = function WorkspaceMenuButton(_ref) {
7997
7951
  },
7998
7952
  children: jsx(PresetWorkspace, {})
7999
7953
  })
8000
- }), showMenu && jsx(WorkspaceMenu, {
7954
+ }), jsx(WorkspaceMenu, {
7955
+ isOpen: showMenu,
8001
7956
  closeMenu: onCloseMenu
8002
7957
  })]
8003
7958
  });
8004
7959
  };
8005
7960
 
8006
- var FetchInitialPresets$1 = function FetchInitialPresets() {
7961
+ var FetchWorkspacePresets = function FetchWorkspacePresets() {
8007
7962
  var dispatch = useDispatch();
8008
7963
  var _useAuthenticationCon = useAuthenticationContext(),
8009
7964
  currentRole = _useAuthenticationCon.currentRole;
8010
7965
  var isAdmin = (currentRole == null ? void 0 : currentRole.name) === GEOWEB_ROLE_PRESETS_ADMIN.name;
8011
- var fetchInitialPresets = React__default.useCallback(function (params) {
7966
+ var scope = !isAdmin ? 'user' : 'system';
7967
+ var lastAdmin = usePrevious(isAdmin);
7968
+ var workspaceListFilters = useSelector(function (store) {
7969
+ return getWorkspaceListFilters(store, scope);
7970
+ });
7971
+ var workspaceSearchQuery = useSelector(getWorkspaceListSearchQuery);
7972
+ var fetchWorkspacePresets = React__default.useCallback(function (params) {
8012
7973
  dispatch(workspaceListActions.fetchWorkspaceList(params));
8013
7974
  }, [dispatch]);
8014
7975
  React__default.useEffect(function () {
8015
- var params = !isAdmin ? {} : {
8016
- scope: 'system'
8017
- };
8018
- fetchInitialPresets(params);
8019
- // eslint-disable-next-line react-hooks/exhaustive-deps
8020
- }, [isAdmin]);
7976
+ var filterParams = constructFilterParams(workspaceListFilters, workspaceSearchQuery);
7977
+ fetchWorkspacePresets(filterParams);
7978
+ }, [fetchWorkspacePresets, workspaceListFilters, workspaceSearchQuery]);
7979
+ React__default.useEffect(function () {
7980
+ if (isAdmin !== lastAdmin && lastAdmin !== undefined) {
7981
+ // reset list filter when user changes role
7982
+ var filters = [{
7983
+ id: 'system',
7984
+ isSelected: true
7985
+ }, {
7986
+ id: 'user',
7987
+ isSelected: !isAdmin
7988
+ }];
7989
+ dispatch(workspaceListActions.setFilterChips(filters));
7990
+ }
7991
+ }, [dispatch, isAdmin, lastAdmin]);
8021
7992
  return null;
8022
7993
  };
8023
7994
  var WorkspaceMenuButtonConnect = function WorkspaceMenuButtonConnect() {
@@ -8031,7 +8002,7 @@ var WorkspaceMenuButtonConnect = function WorkspaceMenuButtonConnect() {
8031
8002
  return getIsWorkspaceListDialogOpen(store);
8032
8003
  });
8033
8004
  return jsxs(Fragment, {
8034
- children: [jsx(FetchInitialPresets$1, {}), jsx(WorkspaceMenuButton, {
8005
+ children: [jsx(FetchWorkspacePresets, {}), jsx(WorkspaceMenuButton, {
8035
8006
  showMenu: isWorkspaceListDialogOpen,
8036
8007
  onToggleDialog: setListDialogOpen
8037
8008
  })]
@@ -8607,20 +8578,26 @@ var WorkspacePresetsFormDialog = function WorkspacePresetsFormDialog(_ref) {
8607
8578
  };
8608
8579
  }();
8609
8580
  var cancelLabel = t('workspace-cancel');
8610
- return jsx(ConfirmationDialog, {
8581
+ return jsx(CustomDialog, {
8611
8582
  "data-testid": "workspace-preset-dialog",
8612
8583
  title: getDialogTitle(action),
8613
8584
  open: isOpen,
8614
- confirmLabel: confirmLabel,
8615
- cancelLabel: cancelLabel,
8616
8585
  description: "",
8617
8586
  onClose: onClose,
8618
8587
  onSubmit: onSubmit,
8619
- isLoading: isLoading,
8620
- sx: {
8621
- width: '330px'
8588
+ isResizable: true,
8589
+ resizableDefaultSize: {
8590
+ width: 500,
8591
+ height: 'auto'
8622
8592
  },
8623
- content: jsx(WorkspacePresetsForm, {
8593
+ actions: jsx(ConfirmationButtons, {
8594
+ onClose: onClose,
8595
+ cancelLabel: cancelLabel,
8596
+ isLoading: isLoading,
8597
+ onSubmit: onSubmit,
8598
+ confirmLabel: confirmLabel
8599
+ }),
8600
+ children: jsx(WorkspacePresetsForm, {
8624
8601
  formValues: formValues,
8625
8602
  error: error,
8626
8603
  onSubmit: onSubmit,
@@ -8676,7 +8653,7 @@ var WorkspaceTabConnect = function WorkspaceTabConnect(_ref) {
8676
8653
  title: title,
8677
8654
  workspaceId: workspaceId,
8678
8655
  appTitle: appTitle
8679
- }), Boolean(dialogDetails) && jsx(WorkspacePresetsFormDialogWrapper, {
8656
+ }), jsx(WorkspacePresetsFormDialogWrapper, {
8680
8657
  isOpen: Boolean(dialogDetails),
8681
8658
  onClose: closeWorkspaceActionDialog,
8682
8659
  presetId: presetId || undefined,
@@ -8987,20 +8964,24 @@ var ViewPresetsFormDialog = function ViewPresetsFormDialog(_ref) {
8987
8964
  return _ref3.apply(this, arguments);
8988
8965
  };
8989
8966
  }();
8990
- return jsx(ConfirmationDialog, {
8967
+ return jsx(CustomDialog, {
8991
8968
  "data-testid": "map-preset-dialog",
8992
8969
  title: title,
8993
8970
  open: isOpen,
8994
- confirmLabel: confirmLabel,
8995
- cancelLabel: t('workspace-cancel'),
8996
8971
  description: "",
8997
8972
  onClose: onClose,
8998
8973
  onSubmit: onSubmit,
8999
- isLoading: isLoading,
9000
8974
  sx: {
9001
8975
  width: '330px'
9002
8976
  },
9003
- content: jsx(ViewPresetsForm, {
8977
+ actions: jsx(ConfirmationButtons, {
8978
+ onClose: onClose,
8979
+ cancelLabel: t('workspace-cancel'),
8980
+ isLoading: isLoading,
8981
+ onSubmit: onSubmit,
8982
+ confirmLabel: confirmLabel
8983
+ }),
8984
+ children: jsx(ViewPresetsForm, {
9004
8985
  viewComponentType: viewComponentType,
9005
8986
  formValues: formValues,
9006
8987
  error: error,
@@ -9066,28 +9047,13 @@ var ViewPresetsFormDialogConnect = function ViewPresetsFormDialogConnect(_ref) {
9066
9047
  }));
9067
9048
  };
9068
9049
 
9069
- var FetchInitialPresets = function FetchInitialPresets(_ref) {
9070
- var isAdmin = _ref.isAdmin;
9071
- var dispatch = useDispatch();
9072
- var fetchInitialPresets = React.useCallback(function (params) {
9073
- dispatch(viewPresetActions.fetchInitialViewPresets(params));
9074
- }, [dispatch]);
9075
- React.useEffect(function () {
9076
- var params = !isAdmin ? {} : {
9077
- scope: 'system'
9078
- };
9079
- fetchInitialPresets(params);
9080
- // eslint-disable-next-line react-hooks/exhaustive-deps
9081
- }, [isAdmin]);
9082
- return null;
9083
- };
9084
- var WorkspaceDetail = function WorkspaceDetail(_ref2) {
9085
- var initialWorkspaceId = _ref2.initialWorkspaceId,
9086
- workspaceId = _ref2.workspaceId,
9087
- children = _ref2.children,
9088
- componentsLookUp = _ref2.componentsLookUp,
9089
- _ref2$isSnapshot = _ref2.isSnapshot,
9090
- isSnapshot = _ref2$isSnapshot === void 0 ? false : _ref2$isSnapshot;
9050
+ var WorkspaceDetail = function WorkspaceDetail(_ref) {
9051
+ var initialWorkspaceId = _ref.initialWorkspaceId,
9052
+ workspaceId = _ref.workspaceId,
9053
+ children = _ref.children,
9054
+ componentsLookUp = _ref.componentsLookUp,
9055
+ _ref$isSnapshot = _ref.isSnapshot,
9056
+ isSnapshot = _ref$isSnapshot === void 0 ? false : _ref$isSnapshot;
9091
9057
  var dispatch = useDispatch();
9092
9058
  var _useWorkspaceTranslat = useWorkspaceTranslation(),
9093
9059
  t = _useWorkspaceTranslat.t;
@@ -9139,9 +9105,7 @@ var WorkspaceDetail = function WorkspaceDetail(_ref2) {
9139
9105
  width: '100%',
9140
9106
  height: '100%'
9141
9107
  },
9142
- children: [jsx(FetchInitialPresets, {
9143
- isAdmin: isAdmin
9144
- }), isLoading && jsx(LinearProgress, {
9108
+ children: [isLoading && jsx(LinearProgress, {
9145
9109
  "data-testid": "loading-bar",
9146
9110
  color: "secondary",
9147
9111
  sx: {