@opengeoweb/workspace 20.2.0 → 21.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +571 -344
- package/dist/src/index.d.ts +1 -1
- package/dist/src/lib/api/workspace-api/api.d.ts +1 -0
- package/dist/src/lib/api/workspace-api/hooks.d.ts +2 -1
- package/dist/src/lib/components/WorkspaceSelectList/WorkspaceSelectList.d.ts +0 -2
- package/dist/src/lib/store/index.d.ts +1 -0
- package/dist/src/lib/store/sentryStateMap.d.ts +3 -0
- package/dist/src/lib/store/viewPresets/utils.d.ts +4 -5
- package/dist/src/lib/store/workspace/types.d.ts +5 -6
- package/dist/src/lib/store/workspaceList/reducer.d.ts +7 -0
- package/dist/src/lib/store/workspaceList/selectors.d.ts +9 -8
- package/dist/src/lib/store/workspaceList/types.d.ts +3 -2
- package/dist/src/lib/store/workspaceList/utils.d.ts +9 -6
- package/package.json +18 -18
package/dist/index.esm.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { createSlice, createEntityAdapter, createSelector, createListenerMiddleware, isAnyOf, combineReducers, configureStore } from '@reduxjs/toolkit';
|
|
2
2
|
import { handleResponse, getHeaders, getQueryClient, QueryClientProviderWrapper, useAuthenticationContext as useAuthenticationContext$1, GEOWEB_ROLE_PRESETS_ADMIN as GEOWEB_ROLE_PRESETS_ADMIN$1 } from '@opengeoweb/api';
|
|
3
3
|
import { soundingsActions, SoundingsTypes, soundingsSelectors, soundingsReducer } from '@opengeoweb/soundings';
|
|
4
|
-
import { syncGroupsTypes, FEATURE_GROUP_PREFIX, syncGroupsActions, layerActions, mapActions, uiActions, genericActions, layerTypes, mapEnums, selectorMemoizationOptions, genericSelectors, mapSelectors, syncGroupsSelectors, routerActions, createViewObjectForNewMap, syncConstants, mapListener, serviceListener, layersListener, syncGroupsListener, openlayersListener, uiReducer, loadingIndicatorReducer, syncGroupsReducer, layerReducer, serviceReducer, mapReducer, uiTypes, isWarningsTimelineLinkSourceAllowed, getTakenWarningTimelineIds, linkComponentTypesConstants, constructSyncSourceDisplayName, uiSelectors, loadingIndicatorSelectors } from '@opengeoweb/store';
|
|
4
|
+
import { syncGroupsTypes, FEATURE_GROUP_PREFIX, syncGroupsActions, layerActions, mapActions, uiActions, genericActions, layerTypes, mapEnums, selectorMemoizationOptions, genericSelectors, mapSelectors, syncGroupsSelectors, routerActions, createViewObjectForNewMap, syncConstants, mapListener, serviceListener, layersListener, syncGroupsListener, openlayersListener, uiReducer, loadingIndicatorReducer, syncGroupsReducer, layerReducer, serviceReducer, mapReducer, uiTypes, isWarningsTimelineLinkSourceAllowed, getTakenWarningTimelineIds, linkComponentTypesConstants, constructSyncSourceDisplayName, uiSelectors, loadingIndicatorSelectors, pickList, pickRecord, pickEntities } from '@opengeoweb/store';
|
|
5
5
|
import { timeSeriesActions, TimeSeriesTypes, timeSeriesSelectors, timeSeriesReducer } from '@opengeoweb/time-series';
|
|
6
6
|
import { chunk, cloneDeep, isEqual, isString } from 'lodash';
|
|
7
7
|
import { getLeaves, createBalancedTreeFromLeaves, MosaicContext, getAndAssertNodeAtPathExists, MosaicWindow, Mosaic } from 'react-mosaic-component';
|
|
8
8
|
import { queryOptions, useQueryClient, useQuery, useMutation, useIsMutating } from '@tanstack/react-query';
|
|
9
|
-
import { sessionStorageProvider,
|
|
9
|
+
import { sessionStorageProvider, SHARED_NAMESPACE, safelyInitI18nForTestsAndStories, sharedTranslations, isAxiosError, getAxiosErrorMessage, isAuthError, isAxiosAuthError, ConfirmationServiceProvider, CustomIconButton, useConfirmationDialog, usePrevious, AlertBanner, CustomAccordion, CustomTooltip, linkifyText, dateUtils, SystemScope, SearchHighlight, ToggleMenu, SearchField, Filter, LastUpdateTime, renderCounter, CustomDialog, ToolContainer, CustomToggleButton, isTargetInteractiveInput, ConfirmationButtons } from '@opengeoweb/shared';
|
|
10
10
|
import { pluginsActions, getPluginState, pluginsReducer, PluginProvider, PluginDebugProvider, OverlayPluginMenuButton, usePluginCatalog, OverlayPluginWindows } from '@opengeoweb/plugins';
|
|
11
|
-
import {
|
|
11
|
+
import { warningsTranslations, WARN_NAMESPACE, warningsFiltersActions, publicWarningsSelectors } from '@opengeoweb/warnings';
|
|
12
12
|
import { snackbarTypes, snackbarActions, snackbarListener, snackbarReducer, SnackbarWrapperConnect } from '@opengeoweb/snackbar';
|
|
13
|
+
import i18n from 'i18next';
|
|
14
|
+
import { useTranslation, I18nextProvider } from 'react-i18next';
|
|
15
|
+
import { coreTranslations, CORE_NAMESPACE, LoadingIndicatorProgressBar } from '@opengeoweb/core';
|
|
16
|
+
import { formFieldsTranslations, FORM_FIELDS_NAMESPACE, ReactHookFormHiddenInput, ReactHookFormTextField, ReactHookFormProvider, defaultFormOptions } from '@opengeoweb/form-fields';
|
|
17
|
+
import { webmapReactTranslations, WEBMAP_REACT_NAMESPACE } from '@opengeoweb/webmap-react';
|
|
13
18
|
import { isAxiosError as isAxiosError$1 } from 'axios';
|
|
14
19
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
15
|
-
import { useTranslation, I18nextProvider } from 'react-i18next';
|
|
16
20
|
import { Provider, useDispatch, useSelector, useStore, shallowEqual } from 'react-redux';
|
|
17
21
|
import { AuthenticationProvider, useAuthenticationContext, GEOWEB_ROLE_PRESETS_ADMIN } from '@opengeoweb/authentication';
|
|
18
22
|
import { ThemeWrapper, lightTheme, Link, LinkOff, SplitHorizontal, SplitVertical, SplitHorizontalWithContent, SplitVerticalWithContent, Expand, UnExpand, ChevronDown, Close, ChevronUp, LockLocked, Star, StarOutline, Info, WorkspacePresetsSystemIcon, WorkspacePresetsPluginIcon, SharedPresetsMyUser, SharedPresetsOtherUsers, WorkspacePresetsMyIcon, BackdropStyle, Options, CloudLoading, CloudIdle, WebAssetOff, Exclamation } from '@opengeoweb/theme';
|
|
19
|
-
import i18n from 'i18next';
|
|
20
|
-
import { coreTranslations, CORE_NAMESPACE, LoadingIndicatorProgressBar } from '@opengeoweb/core';
|
|
21
|
-
import { formFieldsTranslations, FORM_FIELDS_NAMESPACE, ReactHookFormHiddenInput, ReactHookFormTextField, ReactHookFormProvider, defaultFormOptions } from '@opengeoweb/form-fields';
|
|
22
|
-
import { webmapReactTranslations, WEBMAP_REACT_NAMESPACE } from '@opengeoweb/webmap-react';
|
|
23
23
|
import React, { useEffect, useCallback } from 'react';
|
|
24
24
|
import { Menu, Typography, List, ListItem, ListItemButton, ListItemIcon, Checkbox, ListItemText, MenuItem, useTheme, Box, LinearProgress, Button, Stack, FormControlLabel, Chip, Popper, ClickAwayListener, Paper, IconButton, Collapse, Divider, Grid, TextField, ListSubheader, Tabs } from '@mui/material';
|
|
25
25
|
import 'react-mosaic-component/react-mosaic-component.css';
|
|
@@ -34,12 +34,6 @@ var en = {
|
|
|
34
34
|
"workspace-favourites-error": "Could not load or save favourites. Please try again.",
|
|
35
35
|
"workspace-menu": "Workspace menu",
|
|
36
36
|
"workspace-new": "New workspace",
|
|
37
|
-
"workspace-new-soundings": "New soundings workspace",
|
|
38
|
-
"workspace-template-map": "New map preset",
|
|
39
|
-
"workspace-template-timeseries": "New timeseries preset",
|
|
40
|
-
"workspace-template-soundings": "New sounding preset",
|
|
41
|
-
"workspace-template-warninglist": "New warninglist preset",
|
|
42
|
-
"workspace-template-timeline": "New timeline preset",
|
|
43
37
|
"workspace-loading": "Loading",
|
|
44
38
|
"workspace-options": "Options",
|
|
45
39
|
"workspace-results": "results",
|
|
@@ -196,12 +190,6 @@ var fi = {
|
|
|
196
190
|
"workspace-favourites-error": "Suosikkeja ei voitu ladata tai tallentaa. Yritä uudelleen.",
|
|
197
191
|
"workspace-menu": "Workspace menu",
|
|
198
192
|
"workspace-new": "Uusi workspace",
|
|
199
|
-
"workspace-new-soundings": "Uusi luotaustyötila",
|
|
200
|
-
"workspace-template-map": "Uusi map preset",
|
|
201
|
-
"workspace-template-timeseries": "Uusi timeseries preset",
|
|
202
|
-
"workspace-template-soundings": "Uusi luotauspreset",
|
|
203
|
-
"workspace-template-warninglist": "Uusi varoituslistapreset",
|
|
204
|
-
"workspace-template-timeline": "Uusi aikajanapreset",
|
|
205
193
|
"workspace-loading": "Ladataan",
|
|
206
194
|
"workspace-options": "Valinnat",
|
|
207
195
|
"workspace-results": "tulokset",
|
|
@@ -350,12 +338,6 @@ var no = {
|
|
|
350
338
|
"workspace-favourites-error": "Kunne ikke laste eller lagre favoritter. Vennligst prøv igjen.",
|
|
351
339
|
"workspace-menu": "Arbeidsflater",
|
|
352
340
|
"workspace-new": "Ny arbeidsflate",
|
|
353
|
-
"workspace-new-soundings": "New soundings workspace",
|
|
354
|
-
"workspace-template-map": "Ny kartpreset",
|
|
355
|
-
"workspace-template-timeseries": "Ny tidsseriepreset",
|
|
356
|
-
"workspace-template-soundings": "Ny sonderingspreset",
|
|
357
|
-
"workspace-template-warninglist": "Ny varsellistepreset",
|
|
358
|
-
"workspace-template-timeline": "Ny tidslinjepreset",
|
|
359
341
|
"workspace-loading": "Laster",
|
|
360
342
|
"workspace-options": "Valg",
|
|
361
343
|
"workspace-results": "resultater",
|
|
@@ -505,12 +487,6 @@ var nl = {
|
|
|
505
487
|
"workspace-favourites-error": "Kon favorieten niet laden of opslaan. Probeer het opnieuw.",
|
|
506
488
|
"workspace-menu": "Workspace menu",
|
|
507
489
|
"workspace-new": "Nieuwe workspace",
|
|
508
|
-
"workspace-new-soundings": "Nieuwe soundings workspace",
|
|
509
|
-
"workspace-template-map": "Nieuwe map preset",
|
|
510
|
-
"workspace-template-timeseries": "Nieuwe timeseries preset",
|
|
511
|
-
"workspace-template-soundings": "Nieuwe sounding preset",
|
|
512
|
-
"workspace-template-warninglist": "Nieuwe warninglist preset",
|
|
513
|
-
"workspace-template-timeline": "Nieuwe timeline preset",
|
|
514
490
|
"workspace-loading": "Laden",
|
|
515
491
|
"workspace-options": "Opties",
|
|
516
492
|
"workspace-results": "resultaten",
|
|
@@ -1673,7 +1649,6 @@ var PresetFilterType;
|
|
|
1673
1649
|
PresetFilterType["favourites"] = "favourites";
|
|
1674
1650
|
})(PresetFilterType || (PresetFilterType = {}));
|
|
1675
1651
|
|
|
1676
|
-
/* eslint-disable no-redeclare */
|
|
1677
1652
|
/* *
|
|
1678
1653
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1679
1654
|
* you may not use this file except in compliance with the License.
|
|
@@ -1691,6 +1666,34 @@ var PresetFilterType;
|
|
|
1691
1666
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
1692
1667
|
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
1693
1668
|
* */
|
|
1669
|
+
var WORKSPACE_NAMESPACE = 'workspace';
|
|
1670
|
+
var initWorkspaceTestI18n = function initWorkspaceTestI18n() {
|
|
1671
|
+
safelyInitI18nForTestsAndStories(i18n, WORKSPACE_NAMESPACE, [{
|
|
1672
|
+
ns: WORKSPACE_NAMESPACE,
|
|
1673
|
+
translations: workspaceTranslations
|
|
1674
|
+
}, {
|
|
1675
|
+
ns: SHARED_NAMESPACE,
|
|
1676
|
+
translations: sharedTranslations
|
|
1677
|
+
}, {
|
|
1678
|
+
ns: CORE_NAMESPACE,
|
|
1679
|
+
translations: coreTranslations
|
|
1680
|
+
}, {
|
|
1681
|
+
ns: WEBMAP_REACT_NAMESPACE,
|
|
1682
|
+
translations: webmapReactTranslations
|
|
1683
|
+
}, {
|
|
1684
|
+
ns: FORM_FIELDS_NAMESPACE,
|
|
1685
|
+
translations: formFieldsTranslations
|
|
1686
|
+
}, {
|
|
1687
|
+
ns: WARN_NAMESPACE,
|
|
1688
|
+
translations: warningsTranslations
|
|
1689
|
+
}]);
|
|
1690
|
+
};
|
|
1691
|
+
var ns = [WORKSPACE_NAMESPACE, SHARED_NAMESPACE];
|
|
1692
|
+
var useWorkspaceTranslation = function useWorkspaceTranslation() {
|
|
1693
|
+
return useTranslation(ns);
|
|
1694
|
+
};
|
|
1695
|
+
|
|
1696
|
+
var _excluded$7 = ["views"];
|
|
1694
1697
|
var getSnackbarMessage$1 = function getSnackbarMessage(action, title, is_shared) {
|
|
1695
1698
|
// Trim and add quotes
|
|
1696
1699
|
var trimmedTitle = title.trim();
|
|
@@ -1819,61 +1822,73 @@ var createCustomEmptyMapWorkspace = function createCustomEmptyMapWorkspace(empty
|
|
|
1819
1822
|
});
|
|
1820
1823
|
return emptyWorkspacePreset;
|
|
1821
1824
|
};
|
|
1822
|
-
var
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1825
|
+
var FALLBACK_TEMPLATE_LANGUAGE = 'en';
|
|
1826
|
+
// Falls back to English and then to the first title, so a template does not
|
|
1827
|
+
// need a title for every language
|
|
1828
|
+
var getTemplatePresetTitle = function getTemplatePresetTitle(title, language) {
|
|
1829
|
+
var _language, _Object$values$;
|
|
1830
|
+
if (language === void 0) {
|
|
1831
|
+
language = i18n.language;
|
|
1832
|
+
}
|
|
1833
|
+
if (typeof title === 'string') {
|
|
1834
|
+
return title;
|
|
1835
|
+
}
|
|
1836
|
+
var languageCode = [language, (_language = language) == null ? void 0 : _language.split('-')[0], FALLBACK_TEMPLATE_LANGUAGE].find(function (code) {
|
|
1837
|
+
return code && title[code];
|
|
1838
|
+
});
|
|
1839
|
+
return languageCode ? title[languageCode] : (_Object$values$ = Object.values(title)[0]) != null ? _Object$values$ : '';
|
|
1826
1840
|
};
|
|
1827
|
-
var
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
"abstract": '',
|
|
1835
|
-
viewType: 'multiWindow'
|
|
1836
|
-
};
|
|
1841
|
+
var findWorkspaceTemplatePreset = function findWorkspaceTemplatePreset(defaultPresets, presetId) {
|
|
1842
|
+
return (defaultPresets != null ? defaultPresets : []).find(function (preset) {
|
|
1843
|
+
return (preset.id || undefined) === (presetId || undefined);
|
|
1844
|
+
});
|
|
1845
|
+
};
|
|
1846
|
+
var isWorkspaceTemplatePresetId = function isWorkspaceTemplatePresetId(defaultPresets, presetId) {
|
|
1847
|
+
return findWorkspaceTemplatePreset(defaultPresets, presetId) !== undefined;
|
|
1837
1848
|
};
|
|
1838
|
-
function
|
|
1839
|
-
|
|
1849
|
+
var toWorkspacePresetFromTemplate = function toWorkspacePresetFromTemplate(preset, language) {
|
|
1850
|
+
var views = preset.views,
|
|
1851
|
+
rest = _objectWithoutPropertiesLoose(preset, _excluded$7);
|
|
1852
|
+
return Object.assign({}, rest, {
|
|
1853
|
+
title: getTemplatePresetTitle(preset.title, language),
|
|
1840
1854
|
views: {
|
|
1841
|
-
allIds:
|
|
1842
|
-
byId: {
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
title:
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
mapPreset: {
|
|
1849
|
-
shouldShowLegend: false,
|
|
1850
|
-
shouldShowLayerManager: false
|
|
1851
|
-
}
|
|
1852
|
-
}
|
|
1853
|
-
},
|
|
1854
|
-
'2_screen': {
|
|
1855
|
-
mosaicNodeId: '2_screen',
|
|
1856
|
-
title: 'New soundings view',
|
|
1857
|
-
componentType: 'Soundings',
|
|
1858
|
-
initialProps: {}
|
|
1859
|
-
}
|
|
1860
|
-
}
|
|
1861
|
-
},
|
|
1862
|
-
linking: {
|
|
1863
|
-
'2_screen': ['1_screen']
|
|
1864
|
-
},
|
|
1865
|
-
syncGroups: [{
|
|
1866
|
-
id: 'Features_2_screen',
|
|
1867
|
-
sourcePanelId: '2_screen',
|
|
1868
|
-
type: 'SYNCGROUPS_TYPE_SETFEATURES'
|
|
1869
|
-
}],
|
|
1870
|
-
mosaicNode: {
|
|
1871
|
-
direction: 'row',
|
|
1872
|
-
first: '1_screen',
|
|
1873
|
-
second: '2_screen'
|
|
1855
|
+
allIds: views.allIds,
|
|
1856
|
+
byId: Object.fromEntries(views.allIds.map(function (viewId) {
|
|
1857
|
+
var view = views.byId[viewId];
|
|
1858
|
+
return [viewId, Object.assign({}, view, {
|
|
1859
|
+
title: view.title === undefined ? undefined : getTemplatePresetTitle(view.title, language)
|
|
1860
|
+
})];
|
|
1861
|
+
}))
|
|
1874
1862
|
}
|
|
1875
1863
|
});
|
|
1876
|
-
}
|
|
1864
|
+
};
|
|
1865
|
+
var getEmptyMapWorkspaceTitles = function getEmptyMapWorkspaceTitles(preset, language) {
|
|
1866
|
+
var _views$byId$views$all, _views$byId$views$all2;
|
|
1867
|
+
var _toWorkspacePresetFro = toWorkspacePresetFromTemplate(preset, language),
|
|
1868
|
+
title = _toWorkspacePresetFro.title,
|
|
1869
|
+
views = _toWorkspacePresetFro.views;
|
|
1870
|
+
return {
|
|
1871
|
+
newWorkspaceText: title,
|
|
1872
|
+
newMapPresetText: (_views$byId$views$all = (_views$byId$views$all2 = views.byId[views.allIds[0]]) == null ? void 0 : _views$byId$views$all2.title) != null ? _views$byId$views$all : title
|
|
1873
|
+
};
|
|
1874
|
+
};
|
|
1875
|
+
var toWorkspaceTemplateListItem = function toWorkspaceTemplateListItem(preset, language) {
|
|
1876
|
+
var _preset$scope, _preset$abstract, _preset$viewType;
|
|
1877
|
+
return {
|
|
1878
|
+
id: preset.id,
|
|
1879
|
+
title: getTemplatePresetTitle(preset.title, language),
|
|
1880
|
+
labels: preset.labels,
|
|
1881
|
+
scope: (_preset$scope = preset.scope) != null ? _preset$scope : 'system',
|
|
1882
|
+
"abstract": (_preset$abstract = preset["abstract"]) != null ? _preset$abstract : '',
|
|
1883
|
+
viewType: (_preset$viewType = preset.viewType) != null ? _preset$viewType : 'singleWindow',
|
|
1884
|
+
isWorkspaceTemplate: true
|
|
1885
|
+
};
|
|
1886
|
+
};
|
|
1887
|
+
var toWorkspaceTemplateListItems = function toWorkspaceTemplateListItems(defaultPresets, language) {
|
|
1888
|
+
return (defaultPresets != null ? defaultPresets : []).map(function (preset) {
|
|
1889
|
+
return toWorkspaceTemplateListItem(preset, language);
|
|
1890
|
+
});
|
|
1891
|
+
};
|
|
1877
1892
|
var getBEViewsFromState = function getBEViewsFromState(workspace) {
|
|
1878
1893
|
var _workspace$views$allI, _workspace$views;
|
|
1879
1894
|
var result = [];
|
|
@@ -1889,13 +1904,16 @@ var getBEViewsFromState = function getBEViewsFromState(workspace) {
|
|
|
1889
1904
|
});
|
|
1890
1905
|
return result;
|
|
1891
1906
|
};
|
|
1892
|
-
var togglePresetFilter = function togglePresetFilter(filters, id, isSelected, isAdmin, isFavouritesEnabled) {
|
|
1907
|
+
var togglePresetFilter = function togglePresetFilter(filters, id, isSelected, isAdmin, isFavouritesEnabled, isTemplatesEnabled) {
|
|
1893
1908
|
if (isAdmin === void 0) {
|
|
1894
1909
|
isAdmin = false;
|
|
1895
1910
|
}
|
|
1896
1911
|
if (isFavouritesEnabled === void 0) {
|
|
1897
1912
|
isFavouritesEnabled = true;
|
|
1898
1913
|
}
|
|
1914
|
+
if (isTemplatesEnabled === void 0) {
|
|
1915
|
+
isTemplatesEnabled = true;
|
|
1916
|
+
}
|
|
1899
1917
|
if (!filters.some(function (filter) {
|
|
1900
1918
|
return filter.id === id;
|
|
1901
1919
|
})) {
|
|
@@ -1905,6 +1923,9 @@ var togglePresetFilter = function togglePresetFilter(filters, id, isSelected, is
|
|
|
1905
1923
|
if (filter.id === PresetFilterType.favourites) {
|
|
1906
1924
|
return isFavouritesEnabled;
|
|
1907
1925
|
}
|
|
1926
|
+
if (filter.id === PresetFilterType.templates && !isTemplatesEnabled) {
|
|
1927
|
+
return false;
|
|
1928
|
+
}
|
|
1908
1929
|
return !isAdmin || filter.id === PresetFilterType.system || filter.id === PresetFilterType.shared || filter.id === PresetFilterType.templates;
|
|
1909
1930
|
});
|
|
1910
1931
|
var allSelected = availableFilters.every(function (filter) {
|
|
@@ -1919,7 +1940,9 @@ var togglePresetFilter = function togglePresetFilter(filters, id, isSelected, is
|
|
|
1919
1940
|
isSelected: filter.id === id && isSelected
|
|
1920
1941
|
});
|
|
1921
1942
|
}
|
|
1922
|
-
|
|
1943
|
+
// Admins select one scope at a time, deselecting goes through the
|
|
1944
|
+
// regular flow so the last deselected chip falls back to all
|
|
1945
|
+
if (isAdmin && isSelected && id !== PresetFilterType.favourites && filter.id !== PresetFilterType.favourites) {
|
|
1923
1946
|
return Object.assign({}, filter, {
|
|
1924
1947
|
isSelected: filter.id === id
|
|
1925
1948
|
});
|
|
@@ -1967,13 +1990,20 @@ var sharedFilterState = {
|
|
|
1967
1990
|
};
|
|
1968
1991
|
({
|
|
1969
1992
|
id: PresetFilterType.plugin});
|
|
1993
|
+
var templatesFilterState = {
|
|
1994
|
+
label: 'shared-filter-template-presets',
|
|
1995
|
+
id: PresetFilterType.templates,
|
|
1996
|
+
isSelected: true,
|
|
1997
|
+
isDisabled: false
|
|
1998
|
+
};
|
|
1970
1999
|
var favouriteFilterState = {
|
|
1971
2000
|
label: 'workspace-favourites',
|
|
1972
2001
|
id: PresetFilterType.favourites,
|
|
1973
2002
|
isSelected: true,
|
|
1974
2003
|
isDisabled: false
|
|
1975
2004
|
};
|
|
1976
|
-
var defaultPresetFilterState = [personalFilterState, systemFilterState, sharedFilterState, favouriteFilterState];
|
|
2005
|
+
var defaultPresetFilterState = [personalFilterState, systemFilterState, sharedFilterState, templatesFilterState, favouriteFilterState];
|
|
2006
|
+
var ADMIN_WORKSPACE_FILTER_IDS = [PresetFilterType.system, PresetFilterType.shared, PresetFilterType.templates, PresetFilterType.favourites];
|
|
1977
2007
|
var initialState$2 = {
|
|
1978
2008
|
error: undefined,
|
|
1979
2009
|
isWorkspaceListDialogOpen: false,
|
|
@@ -2031,8 +2061,9 @@ var slice$2 = createSlice({
|
|
|
2031
2061
|
id = _action$payload.id,
|
|
2032
2062
|
isSelected = _action$payload.isSelected,
|
|
2033
2063
|
isAdmin = _action$payload.isAdmin,
|
|
2034
|
-
isFavouritesEnabled = _action$payload.isFavouritesEnabled
|
|
2035
|
-
|
|
2064
|
+
isFavouritesEnabled = _action$payload.isFavouritesEnabled,
|
|
2065
|
+
isTemplatesEnabled = _action$payload.isTemplatesEnabled;
|
|
2066
|
+
draft.workspaceListFilters = togglePresetFilter(draft.workspaceListFilters, id, isSelected, isAdmin, isFavouritesEnabled, isTemplatesEnabled);
|
|
2036
2067
|
},
|
|
2037
2068
|
setSelectAllFilterChip: function setSelectAllFilterChip(draft) {
|
|
2038
2069
|
draft.workspaceListFilters = draft.workspaceListFilters.map(function (filter) {
|
|
@@ -2124,7 +2155,7 @@ var warningsPresetChangeActions = [warningsFiltersActions.setWarningFilters, war
|
|
|
2124
2155
|
var syncGroupChangeActions = [syncGroupsActions.syncGroupRemoveTarget, syncGroupsActions.syncGroupAddTarget];
|
|
2125
2156
|
var mapPresetChangeActions = [layerActions.setBaseLayers, layerActions.layerDelete, layerActions.addLayer, layerActions.duplicateMapLayer, layerActions.layerChangeEnabled, layerActions.layerChangeName, layerActions.layerChangeStyle, layerActions.layerChangeOpacity, layerActions.layerChangeDimension, layerActions.layerChangeAcceptanceTime, layerActions.SetLayerLegendVisibilityPayload, mapActions.layerMoveLayer, mapActions.setAutoLayerId, mapActions.setAutoTimestepLayerId, mapActions.setAutoUpdateLayerId, mapActions.toggleAutoUpdate, mapActions.mapStartAnimation, mapActions.mapStopAnimation, mapActions.toggleTimeSliderIsVisible, mapActions.setTimeStep, mapActions.setTimeSliderSpan, mapActions.toggleTimeSpanAuto, mapActions.setAnimationDelay, mapActions.toggleTimestepAuto, mapActions.setAnimationStartTime, mapActions.setAnimationEndTime, mapActions.setAnimationLength, mapActions.changeOverlayer, uiActions.setActiveMapIdForDialog, uiActions.setToggleOpenDialog, genericActions.setBbox, mapActions.setBbox, mapActions.toggleClock, mapActions.toggleClockOptions, mapActions.setClockPositionSize, mapActions.setLegendPositionSize, mapActions.setDockedLayerManagerSize, mapActions.setDockedLayerManagerPosition, mapActions.setDockedLayerManagerDimensions];
|
|
2126
2157
|
var pluginPresetChangeActions = [pluginsActions.setGeoWebPluginState];
|
|
2127
|
-
var timeSeriesPresetChangeActions = [timeSeriesActions.addParameter, timeSeriesActions.addPlot, timeSeriesActions.deleteParameter, timeSeriesActions.deletePlot, timeSeriesActions.moveParameter, timeSeriesActions.movePlot, timeSeriesActions.toggleParameter, timeSeriesActions.togglePlot, timeSeriesActions.patchParameter, timeSeriesActions.updateTitle, timeSeriesActions.setLocationMenuSizeAndPosition, timeSeriesActions.setLocationsDialogOpen];
|
|
2158
|
+
var timeSeriesPresetChangeActions = [timeSeriesActions.addParameter, timeSeriesActions.addPlot, timeSeriesActions.duplicatePlot, timeSeriesActions.deleteParameter, timeSeriesActions.deletePlot, timeSeriesActions.moveParameter, timeSeriesActions.movePlot, timeSeriesActions.toggleParameter, timeSeriesActions.togglePlot, timeSeriesActions.patchParameter, timeSeriesActions.updateTitle, timeSeriesActions.setLocationMenuSizeAndPosition, timeSeriesActions.setLocationsDialogOpen, timeSeriesActions.reorderPlots, timeSeriesActions.setPlotIsOpen, timeSeriesActions.setPlotSize];
|
|
2128
2159
|
var soundingsChangeActions = [soundingsActions.updateSelectedSource, soundingsActions.updateSelectedLocation, soundingsActions.updateDiagramType, soundingsActions.toggleLocationMarkers, soundingsActions.updateProfileDataPreferences, soundingsActions.changeSoundingPanelOrder, soundingsActions.toggleSoundingPanelVisibility, soundingsActions.setPanelIsOpen, soundingsActions.setPanelCustomWidth, soundingsActions.toggleLegendVisibility, soundingsActions.updateSelectedTime, soundingsActions.toggleTimeSliderVisibility, soundingsActions.setLocationMenuSizeAndPosition, soundingsActions.setLocationsMenuOpen];
|
|
2129
2160
|
var supportedMapActionOrigins = [layerTypes.LayerActionOrigin.layerManager, layerTypes.LayerActionOrigin.legend, layerTypes.LayerActionOrigin.wmsLoader, mapEnums.MapActionOrigin.map];
|
|
2130
2161
|
var supportedTimeSeriesActionOrigins = [TimeSeriesTypes.TimeSeriesActionOrigin.timeSeriesManager, TimeSeriesTypes.TimeSeriesActionOrigin.timeSeriesSelect];
|
|
@@ -2973,28 +3004,27 @@ var findViewTemplatePresetForComponentType = function findViewTemplatePresetForC
|
|
|
2973
3004
|
return template.componentType === componentType;
|
|
2974
3005
|
}) : undefined;
|
|
2975
3006
|
};
|
|
2976
|
-
var toTranslatedViewTemplatePreset = function toTranslatedViewTemplatePreset(template,
|
|
3007
|
+
var toTranslatedViewTemplatePreset = function toTranslatedViewTemplatePreset(template, language) {
|
|
2977
3008
|
return Object.assign({}, template, {
|
|
2978
|
-
title: getTemplatePresetTitle(template,
|
|
2979
|
-
titleKey: undefined
|
|
3009
|
+
title: getTemplatePresetTitle(template.title, language)
|
|
2980
3010
|
});
|
|
2981
3011
|
};
|
|
2982
|
-
var toViewPresetFromTemplate = function toViewPresetFromTemplate(template,
|
|
3012
|
+
var toViewPresetFromTemplate = function toViewPresetFromTemplate(template, language) {
|
|
2983
3013
|
var _template$initialProp;
|
|
2984
3014
|
var componentType = template.componentType;
|
|
2985
3015
|
var emptyPreset = emptyViewPreset(componentType);
|
|
2986
3016
|
return Object.assign({}, emptyPreset, {
|
|
2987
|
-
title: getTemplatePresetTitle(template,
|
|
3017
|
+
title: getTemplatePresetTitle(template.title, language),
|
|
2988
3018
|
"abstract": template["abstract"],
|
|
2989
3019
|
description: template.description,
|
|
2990
3020
|
initialProps: (_template$initialProp = template.initialProps) != null ? _template$initialProp : emptyPreset.initialProps
|
|
2991
3021
|
});
|
|
2992
3022
|
};
|
|
2993
|
-
var toViewTemplateListItem = function toViewTemplateListItem(template,
|
|
3023
|
+
var toViewTemplateListItem = function toViewTemplateListItem(template, language) {
|
|
2994
3024
|
var _template$abstract;
|
|
2995
3025
|
return {
|
|
2996
3026
|
id: template.id,
|
|
2997
|
-
title: getTemplatePresetTitle(template,
|
|
3027
|
+
title: getTemplatePresetTitle(template.title, language),
|
|
2998
3028
|
date: '',
|
|
2999
3029
|
scope: 'system',
|
|
3000
3030
|
"abstract": (_template$abstract = template["abstract"]) != null ? _template$abstract : '',
|
|
@@ -3003,9 +3033,9 @@ var toViewTemplateListItem = function toViewTemplateListItem(template, t) {
|
|
|
3003
3033
|
isViewTemplate: true
|
|
3004
3034
|
};
|
|
3005
3035
|
};
|
|
3006
|
-
var toViewTemplateListItems = function toViewTemplateListItems(templates,
|
|
3036
|
+
var toViewTemplateListItems = function toViewTemplateListItems(templates, language) {
|
|
3007
3037
|
return (templates != null ? templates : []).map(function (template) {
|
|
3008
|
-
return toViewTemplateListItem(template,
|
|
3038
|
+
return toViewTemplateListItem(template, language);
|
|
3009
3039
|
});
|
|
3010
3040
|
};
|
|
3011
3041
|
|
|
@@ -3441,6 +3471,10 @@ var getTemplatePresetsFilename = function getTemplatePresetsFilename() {
|
|
|
3441
3471
|
var _sessionStorageProvid;
|
|
3442
3472
|
return ((_sessionStorageProvid = sessionStorageProvider.getConfig()) == null ? void 0 : _sessionStorageProvid.GW_TEMPLATE_PRESETS_FILENAME) || TEMPLATE_PRESETS_FILENAME;
|
|
3443
3473
|
};
|
|
3474
|
+
var isTemplatePresetsEnabled = function isTemplatePresetsEnabled() {
|
|
3475
|
+
var _sessionStorageProvid2;
|
|
3476
|
+
return ((_sessionStorageProvid2 = sessionStorageProvider.getConfig()) == null ? void 0 : _sessionStorageProvid2.GW_FEATURE_TEMPLATE_PRESETS) !== false;
|
|
3477
|
+
};
|
|
3444
3478
|
var getTemplatePresets = /*#__PURE__*/function () {
|
|
3445
3479
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(filename) {
|
|
3446
3480
|
var _response$workspacePr, _response$viewPresets;
|
|
@@ -3451,9 +3485,18 @@ var getTemplatePresets = /*#__PURE__*/function () {
|
|
|
3451
3485
|
if (filename === void 0) {
|
|
3452
3486
|
filename = getTemplatePresetsFilename();
|
|
3453
3487
|
}
|
|
3454
|
-
|
|
3455
|
-
|
|
3488
|
+
if (isTemplatePresetsEnabled()) {
|
|
3489
|
+
_context.n = 1;
|
|
3490
|
+
break;
|
|
3491
|
+
}
|
|
3492
|
+
return _context.a(2, {
|
|
3493
|
+
workspacePresets: [],
|
|
3494
|
+
viewPresets: []
|
|
3495
|
+
});
|
|
3456
3496
|
case 1:
|
|
3497
|
+
_context.n = 2;
|
|
3498
|
+
return fetch("./assets/" + encodeURIComponent(filename)).then(handleResponse);
|
|
3499
|
+
case 2:
|
|
3457
3500
|
response = _context.v;
|
|
3458
3501
|
return _context.a(2, {
|
|
3459
3502
|
workspacePresets: (_response$workspacePr = response == null ? void 0 : response.workspacePresets) != null ? _response$workspacePr : [],
|
|
@@ -3698,7 +3741,10 @@ var workspaceQueryOptions = {
|
|
|
3698
3741
|
}
|
|
3699
3742
|
return queryFn;
|
|
3700
3743
|
}(),
|
|
3701
|
-
staleTime: Infinity
|
|
3744
|
+
staleTime: Infinity,
|
|
3745
|
+
// A missing static file will not appear by retrying, and opening a
|
|
3746
|
+
// workspace waits for this query
|
|
3747
|
+
retry: false
|
|
3702
3748
|
});
|
|
3703
3749
|
},
|
|
3704
3750
|
getWorkspacePreset: function getWorkspacePreset$1(id, credentials) {
|
|
@@ -3862,13 +3908,17 @@ var getWorkspaceListFilters = createSelector(function (store) {
|
|
|
3862
3908
|
return scope;
|
|
3863
3909
|
}, function (_store, _scope, isAdmin) {
|
|
3864
3910
|
return isAdmin;
|
|
3865
|
-
}, function (
|
|
3911
|
+
}, function (_store, _scope, _isAdmin, isTemplatesEnabled) {
|
|
3912
|
+
return isTemplatesEnabled !== false;
|
|
3913
|
+
}, function (state, _scope, isAdmin, isTemplatesEnabled) {
|
|
3866
3914
|
var _state$workspaceListF;
|
|
3867
|
-
var filters = (_state$workspaceListF = state == null ? void 0 : state.workspaceListFilters) != null ? _state$workspaceListF : []
|
|
3915
|
+
var filters = ((_state$workspaceListF = state == null ? void 0 : state.workspaceListFilters) != null ? _state$workspaceListF : []).filter(function (filter) {
|
|
3916
|
+
return isTemplatesEnabled || filter.id !== PresetFilterType.templates;
|
|
3917
|
+
});
|
|
3868
3918
|
if (isAdmin) {
|
|
3869
|
-
// Only return system and
|
|
3919
|
+
// Only return system, shared, template and favourite filters for admins
|
|
3870
3920
|
return filters.filter(function (filter) {
|
|
3871
|
-
return
|
|
3921
|
+
return ADMIN_WORKSPACE_FILTER_IDS.includes(filter.id);
|
|
3872
3922
|
}).map(function (filter) {
|
|
3873
3923
|
return Object.assign({}, filter, {
|
|
3874
3924
|
isDisabled: false
|
|
@@ -3953,7 +4003,7 @@ workspaceListListener.startListening({
|
|
|
3953
4003
|
effect: function () {
|
|
3954
4004
|
var _effect2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref2, listenerApi) {
|
|
3955
4005
|
var _listenerApi$getState2;
|
|
3956
|
-
var payload, workspaceState, credentials, presetId, presetAction, data, emptyMapPresetTitle, emptyWorkspacePresetTitle,
|
|
4006
|
+
var payload, workspaceState, credentials, presetId, presetAction, data, emptyMapPresetTitle, emptyWorkspacePresetTitle, defaultPreset, scope, originalData, workspaceDataNewTitle, _originalData$views, _data$views2, _originalData, mergedViews, payloadToSave, isSaveWorkspaceAction, isSaveAsWorkspaceAction, hasWorkspaceAlreadyBeenSaved, workspaceId, workspaceData, newWorkspace, _listenerApi$getState3, _credentials, hasChanges, message, _listenerApi$getState4, category, _t;
|
|
3957
4007
|
return _regenerator().w(function (_context2) {
|
|
3958
4008
|
while (1) switch (_context2.p = _context2.n) {
|
|
3959
4009
|
case 0:
|
|
@@ -3961,7 +4011,7 @@ workspaceListListener.startListening({
|
|
|
3961
4011
|
listenerApi.cancelActiveListeners();
|
|
3962
4012
|
workspaceState = listenerApi.getState();
|
|
3963
4013
|
credentials = (_listenerApi$getState2 = listenerApi.getState().common) == null || (_listenerApi$getState2 = _listenerApi$getState2.auth) == null ? void 0 : _listenerApi$getState2.credentials;
|
|
3964
|
-
presetId = payload.presetId, presetAction = payload.presetAction, data = payload.data, emptyMapPresetTitle = payload.emptyMapPresetTitle, emptyWorkspacePresetTitle = payload.emptyWorkspacePresetTitle,
|
|
4014
|
+
presetId = payload.presetId, presetAction = payload.presetAction, data = payload.data, emptyMapPresetTitle = payload.emptyMapPresetTitle, emptyWorkspacePresetTitle = payload.emptyWorkspacePresetTitle, defaultPreset = payload.defaultPreset;
|
|
3965
4015
|
scope = data.scope || 'user';
|
|
3966
4016
|
_context2.p = 1;
|
|
3967
4017
|
// duplicate
|
|
@@ -4113,17 +4163,15 @@ workspaceListListener.startListening({
|
|
|
4113
4163
|
case 14:
|
|
4114
4164
|
// Reset
|
|
4115
4165
|
if (presetAction === WorkspacePresetAction.RESET) {
|
|
4116
|
-
// In case we're resetting the
|
|
4117
|
-
if (presetId
|
|
4166
|
+
// In case we're resetting the default preset that opens the empty workspace
|
|
4167
|
+
if (!presetId) {
|
|
4118
4168
|
listenerApi.dispatch(workspaceActions.changeToEmptyMapWorkspace({
|
|
4119
4169
|
newMapPresetText: emptyMapPresetTitle,
|
|
4120
4170
|
newWorkspaceText: emptyWorkspacePresetTitle
|
|
4121
4171
|
}));
|
|
4122
|
-
} else if (
|
|
4172
|
+
} else if (defaultPreset) {
|
|
4123
4173
|
listenerApi.dispatch(workspaceActions.changePreset({
|
|
4124
|
-
workspacePreset:
|
|
4125
|
-
title: emptySoundingsPresetTitle || getNewSoundingsWorkspace().title
|
|
4126
|
-
})
|
|
4174
|
+
workspacePreset: defaultPreset
|
|
4127
4175
|
}));
|
|
4128
4176
|
} else {
|
|
4129
4177
|
listenerApi.dispatch(workspaceActions.fetchWorkspace({
|
|
@@ -4414,20 +4462,50 @@ workspaceListener.startListening({
|
|
|
4414
4462
|
return effect;
|
|
4415
4463
|
}()
|
|
4416
4464
|
});
|
|
4465
|
+
var getWorkspaceTemplatePreset = /*#__PURE__*/function () {
|
|
4466
|
+
var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(workspaceId) {
|
|
4467
|
+
var _yield$getQueryClient, workspacePresets;
|
|
4468
|
+
return _regenerator().w(function (_context7) {
|
|
4469
|
+
while (1) switch (_context7.p = _context7.n) {
|
|
4470
|
+
case 0:
|
|
4471
|
+
if (workspaceId) {
|
|
4472
|
+
_context7.n = 1;
|
|
4473
|
+
break;
|
|
4474
|
+
}
|
|
4475
|
+
return _context7.a(2, undefined);
|
|
4476
|
+
case 1:
|
|
4477
|
+
_context7.p = 1;
|
|
4478
|
+
_context7.n = 2;
|
|
4479
|
+
return getQueryClient().ensureQueryData(workspaceQueryOptions.getTemplatePresets());
|
|
4480
|
+
case 2:
|
|
4481
|
+
_yield$getQueryClient = _context7.v;
|
|
4482
|
+
workspacePresets = _yield$getQueryClient.workspacePresets;
|
|
4483
|
+
return _context7.a(2, findWorkspaceTemplatePreset(workspacePresets, workspaceId));
|
|
4484
|
+
case 3:
|
|
4485
|
+
_context7.p = 3;
|
|
4486
|
+
_context7.v;
|
|
4487
|
+
return _context7.a(2, undefined);
|
|
4488
|
+
}
|
|
4489
|
+
}, _callee7, null, [[1, 3]]);
|
|
4490
|
+
}));
|
|
4491
|
+
return function getWorkspaceTemplatePreset(_x12) {
|
|
4492
|
+
return _ref7.apply(this, arguments);
|
|
4493
|
+
};
|
|
4494
|
+
}();
|
|
4417
4495
|
workspaceListener.startListening({
|
|
4418
4496
|
matcher: isAnyOf(workspaceActions.fetchWorkspace, routerActions.navigateBackOrForward),
|
|
4419
4497
|
effect: function () {
|
|
4420
|
-
var _effect5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
|
4421
|
-
var _listenerApi$getState2, common, payload, workspaceId, _common$auth, _workspaceData$linkin, workspaceData, fullLoadingWorkspace, workspaceIdsInBatches, actionsToDispatch, errorType,
|
|
4422
|
-
return _regenerator().w(function (
|
|
4423
|
-
while (1) switch (
|
|
4498
|
+
var _effect5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee0(action, listenerApi) {
|
|
4499
|
+
var _listenerApi$getState2, common, payload, workspaceId, _common$auth, _workspaceData$linkin, templatePreset, workspacePreset, workspaceData, fullLoadingWorkspace, workspaceIdsInBatches, actionsToDispatch, errorType, _t3;
|
|
4500
|
+
return _regenerator().w(function (_context0) {
|
|
4501
|
+
while (1) switch (_context0.p = _context0.n) {
|
|
4424
4502
|
case 0:
|
|
4425
4503
|
// Cancel any in-progress instances of this listener
|
|
4426
4504
|
listenerApi.cancelActiveListeners();
|
|
4427
4505
|
_listenerApi$getState2 = listenerApi.getState(), common = _listenerApi$getState2.common;
|
|
4428
4506
|
payload = action.payload;
|
|
4429
4507
|
workspaceId = payload.workspaceId;
|
|
4430
|
-
|
|
4508
|
+
_context0.p = 1;
|
|
4431
4509
|
if (action.type === workspaceActions.fetchWorkspace.type) {
|
|
4432
4510
|
listenerApi.dispatch(routerActions.navigateToUrl({
|
|
4433
4511
|
url: getWorkspaceRouteUrl(workspaceId)
|
|
@@ -4436,17 +4514,34 @@ workspaceListener.startListening({
|
|
|
4436
4514
|
listenerApi.dispatch(workspaceListActions.toggleWorkspaceDialog({
|
|
4437
4515
|
isWorkspaceListDialogOpen: false
|
|
4438
4516
|
}));
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
return getQueryClient().fetchQuery(workspaceQueryOptions.getWorkspacePreset(workspaceId, common == null || (_common$auth = common.auth) == null ? void 0 : _common$auth.credentials));
|
|
4517
|
+
_context0.n = 2;
|
|
4518
|
+
return getWorkspaceTemplatePreset(workspaceId);
|
|
4442
4519
|
case 2:
|
|
4443
|
-
|
|
4520
|
+
templatePreset = _context0.v;
|
|
4521
|
+
if (!templatePreset) {
|
|
4522
|
+
_context0.n = 3;
|
|
4523
|
+
break;
|
|
4524
|
+
}
|
|
4525
|
+
workspacePreset = toWorkspacePresetFromTemplate(templatePreset);
|
|
4526
|
+
listenerApi.dispatch(workspaceActions.loadedWorkspace({
|
|
4527
|
+
workspaceId: workspaceId,
|
|
4528
|
+
workspace: workspacePreset
|
|
4529
|
+
}));
|
|
4530
|
+
listenerApi.dispatch(workspaceActions.changePreset({
|
|
4531
|
+
workspacePreset: workspacePreset
|
|
4532
|
+
}));
|
|
4533
|
+
return _context0.a(2);
|
|
4534
|
+
case 3:
|
|
4535
|
+
_context0.n = 4;
|
|
4536
|
+
return getQueryClient().fetchQuery(workspaceQueryOptions.getWorkspacePreset(workspaceId, common == null || (_common$auth = common.auth) == null ? void 0 : _common$auth.credentials));
|
|
4537
|
+
case 4:
|
|
4538
|
+
workspaceData = _context0.v;
|
|
4444
4539
|
if (workspaceData) {
|
|
4445
|
-
|
|
4540
|
+
_context0.n = 5;
|
|
4446
4541
|
break;
|
|
4447
4542
|
}
|
|
4448
4543
|
throw new Error(ERROR_NOT_FOUND);
|
|
4449
|
-
case
|
|
4544
|
+
case 5:
|
|
4450
4545
|
listenerApi.dispatch(workspaceActions.loadedWorkspace({
|
|
4451
4546
|
workspaceId: workspaceId,
|
|
4452
4547
|
workspace: workspaceData
|
|
@@ -4456,83 +4551,82 @@ workspaceListener.startListening({
|
|
|
4456
4551
|
listenerApi.dispatch(workspaceActions.changePreset({
|
|
4457
4552
|
workspacePreset: fullLoadingWorkspace
|
|
4458
4553
|
}));
|
|
4459
|
-
|
|
4554
|
+
_context0.n = 6;
|
|
4460
4555
|
return listenerApi.condition(function (_, state) {
|
|
4461
4556
|
var _state$workspace;
|
|
4462
4557
|
return ((_state$workspace = state.workspace) == null ? void 0 : _state$workspace.id) === fullLoadingWorkspace.id;
|
|
4463
4558
|
});
|
|
4464
|
-
case
|
|
4559
|
+
case 6:
|
|
4465
4560
|
// fetch all individual view presets in batches and collect all actions
|
|
4466
4561
|
workspaceIdsInBatches = getListInChunks(workspaceData.views);
|
|
4467
4562
|
actionsToDispatch = [];
|
|
4468
|
-
|
|
4563
|
+
_context0.n = 7;
|
|
4469
4564
|
return Promise.all(workspaceIdsInBatches.map(/*#__PURE__*/function () {
|
|
4470
|
-
var
|
|
4471
|
-
return _regenerator().w(function (
|
|
4472
|
-
while (1) switch (
|
|
4565
|
+
var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9(batchCall) {
|
|
4566
|
+
return _regenerator().w(function (_context9) {
|
|
4567
|
+
while (1) switch (_context9.n) {
|
|
4473
4568
|
case 0:
|
|
4474
|
-
|
|
4569
|
+
_context9.n = 1;
|
|
4475
4570
|
return Promise.all(batchCall.map(/*#__PURE__*/function () {
|
|
4476
|
-
var
|
|
4477
|
-
return _regenerator().w(function (
|
|
4478
|
-
while (1) switch (
|
|
4571
|
+
var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(view) {
|
|
4572
|
+
return _regenerator().w(function (_context8) {
|
|
4573
|
+
while (1) switch (_context8.n) {
|
|
4479
4574
|
case 0:
|
|
4480
4575
|
if (view.viewPresetId) {
|
|
4481
|
-
|
|
4576
|
+
_context8.n = 1;
|
|
4482
4577
|
break;
|
|
4483
4578
|
}
|
|
4484
|
-
return
|
|
4579
|
+
return _context8.a(2);
|
|
4485
4580
|
case 1:
|
|
4486
|
-
return
|
|
4581
|
+
return _context8.a(2, fetchWorkspaceViewPreset(listenerApi.dispatch, view.viewPresetId, view.mosaicNodeId, common == null ? void 0 : common.auth.credentials));
|
|
4487
4582
|
}
|
|
4488
|
-
},
|
|
4583
|
+
}, _callee8);
|
|
4489
4584
|
}));
|
|
4490
|
-
return function (
|
|
4491
|
-
return
|
|
4585
|
+
return function (_x16) {
|
|
4586
|
+
return _ref9.apply(this, arguments);
|
|
4492
4587
|
};
|
|
4493
4588
|
}()));
|
|
4494
4589
|
case 1:
|
|
4495
|
-
return
|
|
4590
|
+
return _context9.a(2);
|
|
4496
4591
|
}
|
|
4497
|
-
},
|
|
4592
|
+
}, _callee9);
|
|
4498
4593
|
}));
|
|
4499
|
-
return function (
|
|
4500
|
-
return
|
|
4594
|
+
return function (_x15) {
|
|
4595
|
+
return _ref8.apply(this, arguments);
|
|
4501
4596
|
};
|
|
4502
4597
|
}()));
|
|
4503
|
-
case
|
|
4598
|
+
case 7:
|
|
4504
4599
|
// Re-apply feature links
|
|
4505
4600
|
listenerApi.dispatch(genericActions.setLinkedMap({
|
|
4506
4601
|
newLinks: (_workspaceData$linkin = workspaceData.linking) != null ? _workspaceData$linkin : {}
|
|
4507
4602
|
}));
|
|
4508
|
-
// Trigger all actions at once
|
|
4509
4603
|
actionsToDispatch.map(listenerApi.dispatch);
|
|
4510
|
-
|
|
4604
|
+
_context0.n = 10;
|
|
4511
4605
|
break;
|
|
4512
|
-
case
|
|
4513
|
-
|
|
4514
|
-
|
|
4606
|
+
case 8:
|
|
4607
|
+
_context0.p = 8;
|
|
4608
|
+
_t3 = _context0.v;
|
|
4515
4609
|
if (!listenerApi.signal.aborted) {
|
|
4516
|
-
|
|
4610
|
+
_context0.n = 9;
|
|
4517
4611
|
break;
|
|
4518
4612
|
}
|
|
4519
4613
|
console.warn('Fetch workspace listener was canceled, this should not happen too often. Triggers on mount in strict mode.');
|
|
4520
|
-
return
|
|
4521
|
-
case
|
|
4522
|
-
errorType =
|
|
4614
|
+
return _context0.a(2);
|
|
4615
|
+
case 9:
|
|
4616
|
+
errorType = _t3.message === ERROR_NOT_FOUND ? WorkspaceErrorType.NOT_FOUND : WorkspaceErrorType.GENERIC;
|
|
4523
4617
|
listenerApi.dispatch(workspaceActions.errorWorkspace({
|
|
4524
4618
|
workspaceId: workspaceId,
|
|
4525
4619
|
error: {
|
|
4526
|
-
message: getErrorMessage(
|
|
4620
|
+
message: getErrorMessage(_t3),
|
|
4527
4621
|
type: errorType
|
|
4528
4622
|
}
|
|
4529
4623
|
}));
|
|
4530
|
-
case
|
|
4531
|
-
return
|
|
4624
|
+
case 10:
|
|
4625
|
+
return _context0.a(2);
|
|
4532
4626
|
}
|
|
4533
|
-
},
|
|
4627
|
+
}, _callee0, null, [[1, 8]]);
|
|
4534
4628
|
}));
|
|
4535
|
-
function effect(
|
|
4629
|
+
function effect(_x13, _x14) {
|
|
4536
4630
|
return _effect5.apply(this, arguments);
|
|
4537
4631
|
}
|
|
4538
4632
|
return effect;
|
|
@@ -4541,21 +4635,21 @@ workspaceListener.startListening({
|
|
|
4541
4635
|
workspaceListener.startListening({
|
|
4542
4636
|
actionCreator: workspaceActions.saveWorkspacePreset,
|
|
4543
4637
|
effect: function () {
|
|
4544
|
-
var _effect6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
|
4545
|
-
var payload, workspace, _listenerApi$getState3, _workspace$scope, _workspace$username, credentials,
|
|
4546
|
-
return _regenerator().w(function (
|
|
4547
|
-
while (1) switch (
|
|
4638
|
+
var _effect6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee1(_ref0, listenerApi) {
|
|
4639
|
+
var payload, workspace, _listenerApi$getState3, _workspace$scope, _workspace$username, credentials, _t4;
|
|
4640
|
+
return _regenerator().w(function (_context1) {
|
|
4641
|
+
while (1) switch (_context1.p = _context1.n) {
|
|
4548
4642
|
case 0:
|
|
4549
|
-
payload =
|
|
4643
|
+
payload = _ref0.payload;
|
|
4550
4644
|
// Cancel any in-progress instances of this listener
|
|
4551
4645
|
listenerApi.cancelActiveListeners();
|
|
4552
4646
|
workspace = payload.workspace;
|
|
4553
|
-
|
|
4647
|
+
_context1.p = 1;
|
|
4554
4648
|
credentials = (_listenerApi$getState3 = listenerApi.getState().common) == null || (_listenerApi$getState3 = _listenerApi$getState3.auth) == null ? void 0 : _listenerApi$getState3.credentials;
|
|
4555
|
-
|
|
4649
|
+
_context1.n = 2;
|
|
4556
4650
|
return getQueryClient().fetchQuery(workspaceQueryOptions.saveWorkspacePreset(workspace.id, workspace, credentials));
|
|
4557
4651
|
case 2:
|
|
4558
|
-
|
|
4652
|
+
_context1.n = 3;
|
|
4559
4653
|
return getQueryClient().invalidateQueries(workspaceQueryOptions.getWorkspacePreset(workspace.id, credentials));
|
|
4560
4654
|
case 3:
|
|
4561
4655
|
listenerApi.dispatch(workspaceActions.loadedWorkspace(undefined));
|
|
@@ -4567,24 +4661,24 @@ workspaceListener.startListening({
|
|
|
4567
4661
|
views: workspace.views || [emptyWorkspaceBEData],
|
|
4568
4662
|
username: (_workspace$username = workspace.username) != null ? _workspace$username : ''
|
|
4569
4663
|
}));
|
|
4570
|
-
|
|
4664
|
+
_context1.n = 5;
|
|
4571
4665
|
break;
|
|
4572
4666
|
case 4:
|
|
4573
|
-
|
|
4574
|
-
|
|
4667
|
+
_context1.p = 4;
|
|
4668
|
+
_t4 = _context1.v;
|
|
4575
4669
|
listenerApi.dispatch(workspaceActions.errorWorkspace({
|
|
4576
4670
|
workspaceId: workspace.id,
|
|
4577
4671
|
error: {
|
|
4578
|
-
message:
|
|
4672
|
+
message: _t4.message,
|
|
4579
4673
|
type: WorkspaceErrorType.SAVE
|
|
4580
4674
|
}
|
|
4581
4675
|
}));
|
|
4582
4676
|
case 5:
|
|
4583
|
-
return
|
|
4677
|
+
return _context1.a(2);
|
|
4584
4678
|
}
|
|
4585
|
-
},
|
|
4679
|
+
}, _callee1, null, [[1, 4]]);
|
|
4586
4680
|
}));
|
|
4587
|
-
function effect(
|
|
4681
|
+
function effect(_x17, _x18) {
|
|
4588
4682
|
return _effect6.apply(this, arguments);
|
|
4589
4683
|
}
|
|
4590
4684
|
return effect;
|
|
@@ -4593,30 +4687,30 @@ workspaceListener.startListening({
|
|
|
4593
4687
|
workspaceListener.startListening({
|
|
4594
4688
|
actionCreator: workspaceActions.changeToEmptyMapWorkspace,
|
|
4595
4689
|
effect: function () {
|
|
4596
|
-
var _effect7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
|
4690
|
+
var _effect7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee10(action, listenerApi) {
|
|
4597
4691
|
var _action$payload, newMapPresetText, newWorkspaceText, currentWorkspace, intialViewMapPreset;
|
|
4598
|
-
return _regenerator().w(function (
|
|
4599
|
-
while (1) switch (
|
|
4692
|
+
return _regenerator().w(function (_context10) {
|
|
4693
|
+
while (1) switch (_context10.n) {
|
|
4600
4694
|
case 0:
|
|
4601
4695
|
_action$payload = action.payload, newMapPresetText = _action$payload.newMapPresetText, newWorkspaceText = _action$payload.newWorkspaceText; // Cancel any in-progress instances of this listener
|
|
4602
4696
|
listenerApi.cancelActiveListeners();
|
|
4603
4697
|
currentWorkspace = listenerApi.getState().workspace;
|
|
4604
4698
|
if (!((currentWorkspace == null ? void 0 : currentWorkspace.id) === '' && currentWorkspace != null && currentWorkspace.mosaicNode)) {
|
|
4605
|
-
|
|
4699
|
+
_context10.n = 1;
|
|
4606
4700
|
break;
|
|
4607
4701
|
}
|
|
4608
|
-
return
|
|
4702
|
+
return _context10.a(2);
|
|
4609
4703
|
case 1:
|
|
4610
4704
|
intialViewMapPreset = mapSelectors.getdefaultMapSettings(listenerApi.getState());
|
|
4611
4705
|
listenerApi.dispatch(workspaceActions.changePreset({
|
|
4612
4706
|
workspacePreset: createCustomEmptyMapWorkspace(newWorkspaceText, newMapPresetText, intialViewMapPreset)
|
|
4613
4707
|
}));
|
|
4614
4708
|
case 2:
|
|
4615
|
-
return
|
|
4709
|
+
return _context10.a(2);
|
|
4616
4710
|
}
|
|
4617
|
-
},
|
|
4711
|
+
}, _callee10);
|
|
4618
4712
|
}));
|
|
4619
|
-
function effect(
|
|
4713
|
+
function effect(_x19, _x20) {
|
|
4620
4714
|
return _effect7.apply(this, arguments);
|
|
4621
4715
|
}
|
|
4622
4716
|
return effect;
|
|
@@ -4654,13 +4748,13 @@ var generateInitialProps = function generateInitialProps(componentType, original
|
|
|
4654
4748
|
workspaceListener.startListening({
|
|
4655
4749
|
actionCreator: workspaceActions.setNewWorkspaceView,
|
|
4656
4750
|
effect: function () {
|
|
4657
|
-
var _effect8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
|
4751
|
+
var _effect8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee11(_ref1, listenerApi) {
|
|
4658
4752
|
var _getViewPresetToSendT, _initialProps$mapPres;
|
|
4659
4753
|
var payload, mosaicNodeId, componentType, newId, copyOriginalcontent, originalInitialProps, initialProps, _originalInitialProps2, linkedMapIds;
|
|
4660
|
-
return _regenerator().w(function (
|
|
4661
|
-
while (1) switch (
|
|
4754
|
+
return _regenerator().w(function (_context11) {
|
|
4755
|
+
while (1) switch (_context11.n) {
|
|
4662
4756
|
case 0:
|
|
4663
|
-
payload =
|
|
4757
|
+
payload = _ref1.payload;
|
|
4664
4758
|
mosaicNodeId = payload.mosaicNodeId, componentType = payload.componentType, newId = payload.newId, copyOriginalcontent = payload.copyOriginalcontent;
|
|
4665
4759
|
if (componentType === 'Map') {
|
|
4666
4760
|
// TODO: this would be nice to move into the openlayers store
|
|
@@ -4718,40 +4812,40 @@ workspaceListener.startListening({
|
|
|
4718
4812
|
}));
|
|
4719
4813
|
}
|
|
4720
4814
|
case 1:
|
|
4721
|
-
return
|
|
4815
|
+
return _context11.a(2);
|
|
4722
4816
|
}
|
|
4723
|
-
},
|
|
4817
|
+
}, _callee11);
|
|
4724
4818
|
}));
|
|
4725
|
-
function effect(
|
|
4819
|
+
function effect(_x21, _x22) {
|
|
4726
4820
|
return _effect8.apply(this, arguments);
|
|
4727
4821
|
}
|
|
4728
4822
|
return effect;
|
|
4729
4823
|
}()
|
|
4730
4824
|
});
|
|
4731
4825
|
var waitForFrame = /*#__PURE__*/function () {
|
|
4732
|
-
var
|
|
4733
|
-
return _regenerator().w(function (
|
|
4734
|
-
while (1) switch (
|
|
4826
|
+
var _ref10 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee12() {
|
|
4827
|
+
return _regenerator().w(function (_context12) {
|
|
4828
|
+
while (1) switch (_context12.n) {
|
|
4735
4829
|
case 0:
|
|
4736
|
-
return
|
|
4830
|
+
return _context12.a(2, new Promise(function (resolve) {
|
|
4737
4831
|
requestAnimationFrame(function () {
|
|
4738
4832
|
return resolve();
|
|
4739
4833
|
});
|
|
4740
4834
|
}));
|
|
4741
4835
|
}
|
|
4742
|
-
},
|
|
4836
|
+
}, _callee12);
|
|
4743
4837
|
}));
|
|
4744
4838
|
return function waitForFrame() {
|
|
4745
|
-
return
|
|
4839
|
+
return _ref10.apply(this, arguments);
|
|
4746
4840
|
};
|
|
4747
4841
|
}();
|
|
4748
4842
|
workspaceListener.startListening({
|
|
4749
4843
|
actionCreator: workspaceActions.updateWorkspaceViews,
|
|
4750
4844
|
effect: function () {
|
|
4751
|
-
var _effect9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function
|
|
4845
|
+
var _effect9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee13(_, listenerApi) {
|
|
4752
4846
|
var viewCountBefore, viewCountAfter, aViewWasClosed, viewIds;
|
|
4753
|
-
return _regenerator().w(function (
|
|
4754
|
-
while (1) switch (
|
|
4847
|
+
return _regenerator().w(function (_context13) {
|
|
4848
|
+
while (1) switch (_context13.n) {
|
|
4755
4849
|
case 0:
|
|
4756
4850
|
// Cancel any in-progress instances of this listener
|
|
4757
4851
|
listenerApi.cancelActiveListeners();
|
|
@@ -4760,7 +4854,7 @@ workspaceListener.startListening({
|
|
|
4760
4854
|
viewCountBefore = getViewIds(listenerApi.getOriginalState()).length;
|
|
4761
4855
|
viewCountAfter = getViewIds(listenerApi.getState()).length;
|
|
4762
4856
|
aViewWasClosed = viewCountAfter < viewCountBefore;
|
|
4763
|
-
|
|
4857
|
+
_context13.n = 1;
|
|
4764
4858
|
return waitForFrame();
|
|
4765
4859
|
case 1:
|
|
4766
4860
|
/* This will trigger all maps and other components
|
|
@@ -4774,7 +4868,7 @@ workspaceListener.startListening({
|
|
|
4774
4868
|
}
|
|
4775
4869
|
// Adjust the bbox of the original view after the new map is added. This is a temporal solution until the OpenLayers ticket
|
|
4776
4870
|
// https://github.com/openlayers/openlayers/issues/16572 is solved.
|
|
4777
|
-
|
|
4871
|
+
_context13.n = 2;
|
|
4778
4872
|
return waitForFrame();
|
|
4779
4873
|
case 2:
|
|
4780
4874
|
viewIds = getViewIds(listenerApi.getState());
|
|
@@ -4790,11 +4884,11 @@ workspaceListener.startListening({
|
|
|
4790
4884
|
}
|
|
4791
4885
|
});
|
|
4792
4886
|
case 3:
|
|
4793
|
-
return
|
|
4887
|
+
return _context13.a(2);
|
|
4794
4888
|
}
|
|
4795
|
-
},
|
|
4889
|
+
}, _callee13);
|
|
4796
4890
|
}));
|
|
4797
|
-
function effect(
|
|
4891
|
+
function effect(_x23, _x24) {
|
|
4798
4892
|
return _effect9.apply(this, arguments);
|
|
4799
4893
|
}
|
|
4800
4894
|
return effect;
|
|
@@ -5123,50 +5217,6 @@ var createMockStore = function createMockStore(mockState) {
|
|
|
5123
5217
|
});
|
|
5124
5218
|
};
|
|
5125
5219
|
|
|
5126
|
-
/* *
|
|
5127
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5128
|
-
* you may not use this file except in compliance with the License.
|
|
5129
|
-
* You may obtain a copy of the License at
|
|
5130
|
-
*
|
|
5131
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
5132
|
-
*
|
|
5133
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
5134
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
5135
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5136
|
-
* See the License for the specific language governing permissions and
|
|
5137
|
-
* limitations under the License.
|
|
5138
|
-
*
|
|
5139
|
-
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
5140
|
-
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
5141
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
5142
|
-
* */
|
|
5143
|
-
var WORKSPACE_NAMESPACE = 'workspace';
|
|
5144
|
-
var initWorkspaceTestI18n = function initWorkspaceTestI18n() {
|
|
5145
|
-
safelyInitI18nForTestsAndStories(i18n, WORKSPACE_NAMESPACE, [{
|
|
5146
|
-
ns: WORKSPACE_NAMESPACE,
|
|
5147
|
-
translations: workspaceTranslations
|
|
5148
|
-
}, {
|
|
5149
|
-
ns: SHARED_NAMESPACE,
|
|
5150
|
-
translations: sharedTranslations
|
|
5151
|
-
}, {
|
|
5152
|
-
ns: CORE_NAMESPACE,
|
|
5153
|
-
translations: coreTranslations
|
|
5154
|
-
}, {
|
|
5155
|
-
ns: WEBMAP_REACT_NAMESPACE,
|
|
5156
|
-
translations: webmapReactTranslations
|
|
5157
|
-
}, {
|
|
5158
|
-
ns: FORM_FIELDS_NAMESPACE,
|
|
5159
|
-
translations: formFieldsTranslations
|
|
5160
|
-
}, {
|
|
5161
|
-
ns: WARN_NAMESPACE,
|
|
5162
|
-
translations: warningsTranslations
|
|
5163
|
-
}]);
|
|
5164
|
-
};
|
|
5165
|
-
var ns = [WORKSPACE_NAMESPACE, SHARED_NAMESPACE];
|
|
5166
|
-
var useWorkspaceTranslation = function useWorkspaceTranslation() {
|
|
5167
|
-
return useTranslation(ns);
|
|
5168
|
-
};
|
|
5169
|
-
|
|
5170
5220
|
var WorkspaceThemeProvider = function WorkspaceThemeProvider(_ref) {
|
|
5171
5221
|
var children = _ref.children,
|
|
5172
5222
|
_ref$theme = _ref.theme,
|
|
@@ -5890,6 +5940,12 @@ var useResetViewPresetFiltersOnRoleChange = function useResetViewPresetFiltersOn
|
|
|
5890
5940
|
}, {
|
|
5891
5941
|
id: PresetFilterType.shared,
|
|
5892
5942
|
isSelected: true
|
|
5943
|
+
}, {
|
|
5944
|
+
id: PresetFilterType.templates,
|
|
5945
|
+
isSelected: true
|
|
5946
|
+
}, {
|
|
5947
|
+
id: PresetFilterType.favourites,
|
|
5948
|
+
isSelected: true
|
|
5893
5949
|
}];
|
|
5894
5950
|
dispatch(viewPresetActions.setFilterChips({
|
|
5895
5951
|
panelId: panelId,
|
|
@@ -6960,6 +7016,13 @@ var PresetLabelsPanel = function PresetLabelsPanel(_ref) {
|
|
|
6960
7016
|
});
|
|
6961
7017
|
};
|
|
6962
7018
|
|
|
7019
|
+
var useWorkspaceTemplatePresets = function useWorkspaceTemplatePresets() {
|
|
7020
|
+
return useQuery(Object.assign({}, workspaceQueryOptions.getTemplatePresets(), {
|
|
7021
|
+
select: function select(response) {
|
|
7022
|
+
return response.workspacePresets;
|
|
7023
|
+
}
|
|
7024
|
+
}));
|
|
7025
|
+
};
|
|
6963
7026
|
var useWorkspaceLabelsConfig = function useWorkspaceLabelsConfig() {
|
|
6964
7027
|
var _useAuthenticationCon = useAuthenticationContext(),
|
|
6965
7028
|
auth = _useAuthenticationCon.auth;
|
|
@@ -7615,7 +7678,7 @@ var WorkspaceSelectListRow = function WorkspaceSelectListRow(_ref) {
|
|
|
7615
7678
|
var isViewTemplate = Boolean(workspacePreset.isViewTemplate);
|
|
7616
7679
|
var isTemplate = isViewTemplate || Boolean(workspacePreset.isWorkspaceTemplate);
|
|
7617
7680
|
var canDelete = (workspacePreset.scope === SystemScope.user && (auth == null ? void 0 : auth.username) === workspacePreset.username || isAdmin) && Boolean(workspacePreset.id) && !isTemplate;
|
|
7618
|
-
var isNewPreset = !workspacePreset.id ||
|
|
7681
|
+
var isNewPreset = !workspacePreset.id || isTemplate;
|
|
7619
7682
|
var menuItems = [{
|
|
7620
7683
|
text: t('workspace-duplicate'),
|
|
7621
7684
|
action: function action() {
|
|
@@ -7634,7 +7697,7 @@ var WorkspaceSelectListRow = function WorkspaceSelectListRow(_ref) {
|
|
|
7634
7697
|
isDisabled: isNewPreset
|
|
7635
7698
|
}];
|
|
7636
7699
|
// Show "Edit" if it's your own user-scoped preset OR you're an admin
|
|
7637
|
-
if (!
|
|
7700
|
+
if (!isNewPreset && (workspacePreset.scope === SystemScope.user && (auth == null ? void 0 : auth.username) === workspacePreset.username || isAdmin)) {
|
|
7638
7701
|
menuItems.push({
|
|
7639
7702
|
text: t('workspace-edit'),
|
|
7640
7703
|
action: function action() {
|
|
@@ -7685,7 +7748,7 @@ var WorkspaceSelectListRow = function WorkspaceSelectListRow(_ref) {
|
|
|
7685
7748
|
}
|
|
7686
7749
|
return 'workspace-version';
|
|
7687
7750
|
};
|
|
7688
|
-
var showInfoIcon = !!workspacePreset.id &&
|
|
7751
|
+
var showInfoIcon = !!workspacePreset.id && !isTemplate;
|
|
7689
7752
|
return jsx(ListItem, {
|
|
7690
7753
|
disablePadding: true,
|
|
7691
7754
|
sx: {
|
|
@@ -7914,11 +7977,9 @@ var WorkspaceSelectList = function WorkspaceSelectList(_ref2) {
|
|
|
7914
7977
|
currentSelectedId = _ref2.currentSelectedId,
|
|
7915
7978
|
onClickWorkspacePreset = _ref2.onClickWorkspacePreset,
|
|
7916
7979
|
onClickWorkspacePresetOption = _ref2.onClickWorkspacePresetOption,
|
|
7917
|
-
hideNewWorkspace = _ref2.hideNewWorkspace,
|
|
7918
7980
|
isEditable = _ref2.isEditable,
|
|
7919
7981
|
isAdmin = _ref2.isAdmin,
|
|
7920
7982
|
searchQuery = _ref2.searchQuery,
|
|
7921
|
-
newPresets = _ref2.newPresets,
|
|
7922
7983
|
_ref2$testIdPrefix = _ref2.testIdPrefix,
|
|
7923
7984
|
testIdPrefix = _ref2$testIdPrefix === void 0 ? 'workspace' : _ref2$testIdPrefix,
|
|
7924
7985
|
onOpenPresetInfo = _ref2.onOpenPresetInfo,
|
|
@@ -7930,15 +7991,14 @@ var WorkspaceSelectList = function WorkspaceSelectList(_ref2) {
|
|
|
7930
7991
|
var _useWorkspaceTranslat = useWorkspaceTranslation(),
|
|
7931
7992
|
t = _useWorkspaceTranslat.t;
|
|
7932
7993
|
var items = React.useMemo(function () {
|
|
7933
|
-
var newPresetsTruthy = newPresets != null ? newPresets : [];
|
|
7934
7994
|
var favourites = workspacePresets.filter(function (preset) {
|
|
7935
7995
|
return isFavourite == null ? void 0 : isFavourite(preset);
|
|
7936
7996
|
});
|
|
7937
7997
|
var otherPresets = workspacePresets.filter(function (preset) {
|
|
7938
7998
|
return !(isFavourite != null && isFavourite(preset));
|
|
7939
7999
|
});
|
|
7940
|
-
return [].concat(favourites,
|
|
7941
|
-
}, [
|
|
8000
|
+
return [].concat(favourites, otherPresets);
|
|
8001
|
+
}, [workspacePresets, isFavourite]);
|
|
7942
8002
|
return jsxs(Box, {
|
|
7943
8003
|
"data-testid": testIdPrefix + "-selectList",
|
|
7944
8004
|
sx: {
|
|
@@ -7992,7 +8052,8 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
7992
8052
|
_ref$hasSpaceForLabel = _ref.hasSpaceForLabelFilter,
|
|
7993
8053
|
hasSpaceForLabelFilter = _ref$hasSpaceForLabel === void 0 ? true : _ref$hasSpaceForLabel;
|
|
7994
8054
|
var _useWorkspaceTranslat = useWorkspaceTranslation(),
|
|
7995
|
-
t = _useWorkspaceTranslat.t
|
|
8055
|
+
t = _useWorkspaceTranslat.t,
|
|
8056
|
+
i18n = _useWorkspaceTranslat.i18n;
|
|
7996
8057
|
var favourites = useFavouritePresets('view');
|
|
7997
8058
|
var dispatch = useDispatch();
|
|
7998
8059
|
var queryClient = useQueryClient();
|
|
@@ -8049,8 +8110,8 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
8049
8110
|
var _useViewTemplatePrese = useViewTemplatePresets(),
|
|
8050
8111
|
viewTemplatePresets = _useViewTemplatePrese.data;
|
|
8051
8112
|
var templateListItems = React.useMemo(function () {
|
|
8052
|
-
return toViewTemplateListItems(viewTemplatePresets,
|
|
8053
|
-
}, [viewTemplatePresets,
|
|
8113
|
+
return toViewTemplateListItems(viewTemplatePresets, i18n.language);
|
|
8114
|
+
}, [viewTemplatePresets, i18n.language]);
|
|
8054
8115
|
var viewPresetListFilters = useSelector(function (store) {
|
|
8055
8116
|
return getViewPresetListFiltersForView(store, panelId, scope, isAdmin);
|
|
8056
8117
|
});
|
|
@@ -8151,7 +8212,7 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
8151
8212
|
} else if (template) {
|
|
8152
8213
|
dispatch(viewPresetActions.selectViewTemplate({
|
|
8153
8214
|
panelId: panelId,
|
|
8154
|
-
template: toTranslatedViewTemplatePreset(template,
|
|
8215
|
+
template: toTranslatedViewTemplatePreset(template, i18n.language)
|
|
8155
8216
|
}));
|
|
8156
8217
|
} else {
|
|
8157
8218
|
dispatch(viewPresetActions.selectViewPreset({
|
|
@@ -8167,7 +8228,7 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
8167
8228
|
return function (_x) {
|
|
8168
8229
|
return _ref4.apply(this, arguments);
|
|
8169
8230
|
};
|
|
8170
|
-
}(), [dispatch, panelId, pluginCatalog,
|
|
8231
|
+
}(), [dispatch, i18n.language, panelId, pluginCatalog, viewTemplatePresets]);
|
|
8171
8232
|
var refreshViewPresets = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
8172
8233
|
return _regenerator().w(function (_context2) {
|
|
8173
8234
|
while (1) switch (_context2.n) {
|
|
@@ -8646,6 +8707,11 @@ var _ViewPresetMenu = function ViewPresetMenu(_ref) {
|
|
|
8646
8707
|
event.stopPropagation();
|
|
8647
8708
|
},
|
|
8648
8709
|
onClose: closeMenu,
|
|
8710
|
+
onKeyDownCapture: function onKeyDownCapture(event) {
|
|
8711
|
+
if (event.key === 'Escape' && event.target instanceof HTMLInputElement) {
|
|
8712
|
+
closeMenu == null || closeMenu();
|
|
8713
|
+
}
|
|
8714
|
+
},
|
|
8649
8715
|
style: {
|
|
8650
8716
|
width: '100%',
|
|
8651
8717
|
height: '100%'
|
|
@@ -8778,7 +8844,8 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
8778
8844
|
var favourites = useFavouritePresets('workspace');
|
|
8779
8845
|
var dispatch = useDispatch();
|
|
8780
8846
|
var _useWorkspaceTranslat = useWorkspaceTranslation(),
|
|
8781
|
-
t = _useWorkspaceTranslat.t
|
|
8847
|
+
t = _useWorkspaceTranslat.t,
|
|
8848
|
+
i18n = _useWorkspaceTranslat.i18n;
|
|
8782
8849
|
var _useAuthenticationCon = useAuthenticationContext(),
|
|
8783
8850
|
currentRole = _useAuthenticationCon.currentRole,
|
|
8784
8851
|
isLoggedIn = _useAuthenticationCon.isLoggedIn,
|
|
@@ -8795,18 +8862,18 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
8795
8862
|
isFetching = _useWorkspacePresets.isFetching,
|
|
8796
8863
|
queryError = _useWorkspacePresets.error,
|
|
8797
8864
|
refreshWorkspacePresets = _useWorkspacePresets.refetch;
|
|
8798
|
-
var
|
|
8865
|
+
var _useWorkspaceTemplate = useWorkspaceTemplatePresets(),
|
|
8866
|
+
defaultPresets = _useWorkspaceTemplate.data;
|
|
8867
|
+
var isTemplatesEnabled = isTemplatePresetsEnabled();
|
|
8868
|
+
var workspaceTemplateListItems = React.useMemo(function () {
|
|
8869
|
+
return toWorkspaceTemplateListItems(defaultPresets, i18n.language);
|
|
8870
|
+
}, [defaultPresets, i18n.language]);
|
|
8871
|
+
var selectedFilters = useSelector(function (store) {
|
|
8872
|
+
return getWorkspaceListFilters(store, undefined, undefined, isTemplatesEnabled);
|
|
8873
|
+
});
|
|
8799
8874
|
var labelFilters = useSelector(function (store) {
|
|
8800
8875
|
return getWorkspaceLabelFilters(store);
|
|
8801
8876
|
});
|
|
8802
|
-
var hasActiveLabelFilters = React.useMemo(function () {
|
|
8803
|
-
if (!labelFilters) {
|
|
8804
|
-
return false;
|
|
8805
|
-
}
|
|
8806
|
-
return Object.values(labelFilters).some(function (group) {
|
|
8807
|
-
return Array.isArray(group) && group.length > 0;
|
|
8808
|
-
});
|
|
8809
|
-
}, [labelFilters]);
|
|
8810
8877
|
var activeLabelFilterCount = React.useMemo(function () {
|
|
8811
8878
|
if (!labelFilters) {
|
|
8812
8879
|
return 0;
|
|
@@ -8814,8 +8881,8 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
8814
8881
|
return Object.values(labelFilters).flat().length;
|
|
8815
8882
|
}, [labelFilters]);
|
|
8816
8883
|
var filteredPresets = React.useMemo(function () {
|
|
8817
|
-
return filterAndSortPresets(workspacePresets, selectedFilters, username, isAdmin, labelFilters != null ? labelFilters : undefined, workspaceSearchQuery, favourites.isFavourite);
|
|
8818
|
-
}, [workspacePresets, selectedFilters, username, isAdmin, labelFilters, workspaceSearchQuery, favourites.isFavourite]);
|
|
8884
|
+
return filterAndSortPresets([].concat(workspacePresets, workspaceTemplateListItems), selectedFilters, username, isAdmin, labelFilters != null ? labelFilters : undefined, workspaceSearchQuery, favourites.isFavourite);
|
|
8885
|
+
}, [workspacePresets, workspaceTemplateListItems, selectedFilters, username, isAdmin, labelFilters, workspaceSearchQuery, favourites.isFavourite]);
|
|
8819
8886
|
var infoPanelAnchorRef = React.useRef(null);
|
|
8820
8887
|
var _React$useState = React.useState(),
|
|
8821
8888
|
infoPreset = _React$useState[0],
|
|
@@ -8829,7 +8896,7 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
8829
8896
|
return getWorkspaceState(store);
|
|
8830
8897
|
});
|
|
8831
8898
|
var workspaceListFilters = useSelector(function (store) {
|
|
8832
|
-
return getWorkspaceListFilters(store, scope, isAdmin);
|
|
8899
|
+
return getWorkspaceListFilters(store, scope, isAdmin, isTemplatesEnabled);
|
|
8833
8900
|
});
|
|
8834
8901
|
var error = (_useSelector = useSelector(function (store) {
|
|
8835
8902
|
return getWorkspaceListError(store);
|
|
@@ -8849,11 +8916,6 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
8849
8916
|
workspaceId: workspaceId
|
|
8850
8917
|
}));
|
|
8851
8918
|
}, [dispatch]);
|
|
8852
|
-
var setPreset = React.useCallback(function (workspacePreset) {
|
|
8853
|
-
dispatch(workspaceActions.changePreset({
|
|
8854
|
-
workspacePreset: workspacePreset
|
|
8855
|
-
}));
|
|
8856
|
-
}, [dispatch]);
|
|
8857
8919
|
var setWorkspaceActionDialogOptions = React.useCallback(function (dialogOptions) {
|
|
8858
8920
|
dispatch(workspaceListActions.openWorkspaceActionDialogOptions(dialogOptions));
|
|
8859
8921
|
}, [dispatch]);
|
|
@@ -8862,9 +8924,10 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
8862
8924
|
id: id,
|
|
8863
8925
|
isSelected: isSelected,
|
|
8864
8926
|
isAdmin: isAdmin,
|
|
8865
|
-
isFavouritesEnabled: isLoggedIn
|
|
8927
|
+
isFavouritesEnabled: isLoggedIn,
|
|
8928
|
+
isTemplatesEnabled: isTemplatesEnabled
|
|
8866
8929
|
}));
|
|
8867
|
-
}, [dispatch, isAdmin, isLoggedIn]);
|
|
8930
|
+
}, [dispatch, isAdmin, isLoggedIn, isTemplatesEnabled]);
|
|
8868
8931
|
var setSelectAllFilterChip = React.useCallback(function () {
|
|
8869
8932
|
dispatch(workspaceListActions.setSelectAllFilterChip());
|
|
8870
8933
|
}, [dispatch]);
|
|
@@ -8873,34 +8936,23 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
8873
8936
|
searchQuery: searchQuery
|
|
8874
8937
|
}));
|
|
8875
8938
|
}, [dispatch]);
|
|
8876
|
-
//
|
|
8877
|
-
|
|
8939
|
+
// The template preset without an id opens the empty workspace, which has its
|
|
8940
|
+
// own action so the configured default map settings are applied
|
|
8941
|
+
var openEmptyWorkspace = React.useCallback(function (templatePreset) {
|
|
8878
8942
|
dispatch(routerActions.navigateToUrl({
|
|
8879
8943
|
url: getWorkspaceRouteUrl()
|
|
8880
8944
|
}));
|
|
8881
8945
|
dispatch(workspaceListActions.toggleWorkspaceDialog({
|
|
8882
8946
|
isWorkspaceListDialogOpen: false
|
|
8883
8947
|
}));
|
|
8884
|
-
dispatch(workspaceActions.changeToEmptyMapWorkspace(
|
|
8885
|
-
|
|
8886
|
-
newWorkspaceText: t('workspace-new')
|
|
8887
|
-
}));
|
|
8888
|
-
}, [dispatch, t]);
|
|
8889
|
-
var onClickNewSoundingsPreset = React.useCallback(function (id) {
|
|
8890
|
-
dispatch(routerActions.navigateToUrl({
|
|
8891
|
-
url: getWorkspaceRouteUrl(id)
|
|
8892
|
-
}));
|
|
8893
|
-
dispatch(workspaceListActions.toggleWorkspaceDialog({
|
|
8894
|
-
isWorkspaceListDialogOpen: false
|
|
8895
|
-
}));
|
|
8896
|
-
setPreset(getNewSoundingsWorkspace(t));
|
|
8897
|
-
}, [dispatch, setPreset, t]);
|
|
8948
|
+
dispatch(workspaceActions.changeToEmptyMapWorkspace(getEmptyMapWorkspaceTitles(templatePreset, i18n.language)));
|
|
8949
|
+
}, [dispatch, i18n.language]);
|
|
8898
8950
|
var onClickWorkspacePreset = function onClickWorkspacePreset(id) {
|
|
8899
|
-
|
|
8900
|
-
|
|
8901
|
-
|
|
8902
|
-
|
|
8903
|
-
|
|
8951
|
+
var templatePreset = findWorkspaceTemplatePreset(defaultPresets, id);
|
|
8952
|
+
if (templatePreset && !templatePreset.id) {
|
|
8953
|
+
openEmptyWorkspace(templatePreset);
|
|
8954
|
+
} else if (templatePreset || !isFetching) {
|
|
8955
|
+
// The fetchWorkspace listener opens template presets from the asset
|
|
8904
8956
|
fetchWorkspace(id);
|
|
8905
8957
|
}
|
|
8906
8958
|
};
|
|
@@ -8922,12 +8974,14 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
8922
8974
|
return _regenerator().w(function (_context2) {
|
|
8923
8975
|
while (1) switch (_context2.p = _context2.n) {
|
|
8924
8976
|
case 0:
|
|
8925
|
-
// If affectedPreset is
|
|
8977
|
+
// If affectedPreset is a default preset - use the definition from the
|
|
8978
|
+
// `templatePresets.json` asset instead of the BE
|
|
8926
8979
|
affectedPreset = function () {
|
|
8927
|
-
|
|
8928
|
-
|
|
8980
|
+
var defaultPreset = findWorkspaceTemplatePreset(defaultPresets, presetId);
|
|
8981
|
+
if (defaultPreset) {
|
|
8982
|
+
return toWorkspacePresetFromTemplate(defaultPreset, i18n.language);
|
|
8929
8983
|
}
|
|
8930
|
-
return
|
|
8984
|
+
return workspacePresets.find(function (preset) {
|
|
8931
8985
|
return preset.id === presetId;
|
|
8932
8986
|
});
|
|
8933
8987
|
}();
|
|
@@ -8936,11 +8990,11 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
8936
8990
|
_context2.n = _t === WorkspacePresetAction.DUPLICATE ? 1 : _t === WorkspacePresetAction.EDIT ? 3 : _t === WorkspacePresetAction.DELETE ? 5 : _t === WorkspacePresetAction.DELETE_SYSTEM_PRESET ? 6 : _t === WorkspacePresetAction.SHARE ? 7 : _t === WorkspacePresetAction.OPEN_TAB ? 8 : _t === WorkspacePresetAction.COPY_TO_CLIPBOARD ? 9 : 15;
|
|
8937
8991
|
break;
|
|
8938
8992
|
case 1:
|
|
8939
|
-
if (!(!presetId || presetId
|
|
8993
|
+
if (!(!presetId || isWorkspaceTemplatePresetId(defaultPresets, presetId))) {
|
|
8940
8994
|
_context2.n = 2;
|
|
8941
8995
|
break;
|
|
8942
8996
|
}
|
|
8943
|
-
// We are creating a duplicate workspace from
|
|
8997
|
+
// We are creating a duplicate workspace from a default preset
|
|
8944
8998
|
views = getBEViewsFromState(affectedPreset);
|
|
8945
8999
|
setWorkspaceActionDialogOptions({
|
|
8946
9000
|
action: workspaceAction,
|
|
@@ -9125,7 +9179,6 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
9125
9179
|
}).every(function (filter) {
|
|
9126
9180
|
return filter.isSelected;
|
|
9127
9181
|
});
|
|
9128
|
-
var shouldHideNewWorkspace = !isAllSelected || workspaceSearchQuery.length > 0 || hasActiveLabelFilters;
|
|
9129
9182
|
var closeInfo = React.useCallback(function () {
|
|
9130
9183
|
setInfoPreset(undefined);
|
|
9131
9184
|
}, []);
|
|
@@ -9272,12 +9325,10 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
9272
9325
|
children: [jsx(WorkspaceSelectList, {
|
|
9273
9326
|
currentSelectedId: currentView.id || '',
|
|
9274
9327
|
favouritesDisabled: favourites.disabled,
|
|
9275
|
-
hideNewWorkspace: shouldHideNewWorkspace,
|
|
9276
9328
|
infoOpenPresetId: infoPreset == null ? void 0 : infoPreset.id,
|
|
9277
9329
|
isAdmin: isAdmin,
|
|
9278
9330
|
isEditable: isLoggedIn,
|
|
9279
9331
|
isFavourite: favourites.isFavourite,
|
|
9280
|
-
newPresets: [getEmptyWorkspaceListItem(t), getNewSoundingsWorkspaceListItem(t)],
|
|
9281
9332
|
onClickWorkspacePreset: onClickWorkspacePreset,
|
|
9282
9333
|
onClickWorkspacePresetOption: onClickWorkspacePresetOption,
|
|
9283
9334
|
onOpenPresetInfo: onOpenPresetInfo,
|
|
@@ -10084,13 +10135,17 @@ var WorkspaceTileConnect = /*#__PURE__*/React.memo(function (_ref) {
|
|
|
10084
10135
|
useResetViewPresetFiltersOnRoleChange(mosaicNodeId);
|
|
10085
10136
|
var viewPresetsFilters = React.useMemo(function () {
|
|
10086
10137
|
var _sessionStorageProvid;
|
|
10087
|
-
var
|
|
10088
|
-
|
|
10089
|
-
|
|
10090
|
-
|
|
10091
|
-
|
|
10092
|
-
|
|
10093
|
-
|
|
10138
|
+
var hasPlugins = !!((_sessionStorageProvid = sessionStorageProvider.getConfig()) != null && _sessionStorageProvid.GW_PLUGIN_BACKEND_URL);
|
|
10139
|
+
var hasTemplates = isTemplatePresetsEnabled();
|
|
10140
|
+
return defaultViewPresetsFilters.flatMap(function (filter) {
|
|
10141
|
+
if (filter.id === PresetFilterType.templates && !hasTemplates) {
|
|
10142
|
+
return [];
|
|
10143
|
+
}
|
|
10144
|
+
if (filter.id === PresetFilterType.favourites && hasPlugins) {
|
|
10145
|
+
return [pluginViewPresetsFilter, filter];
|
|
10146
|
+
}
|
|
10147
|
+
return [filter];
|
|
10148
|
+
});
|
|
10094
10149
|
}, []);
|
|
10095
10150
|
var view = useSelector(function (store) {
|
|
10096
10151
|
return getViewById(store, mosaicNodeId);
|
|
@@ -10423,6 +10478,33 @@ var WorkspaceViewConnect = function WorkspaceViewConnect(_ref) {
|
|
|
10423
10478
|
return window.removeEventListener('orientationchange', handleOrientationChange);
|
|
10424
10479
|
};
|
|
10425
10480
|
}, [handleOrientationChange]);
|
|
10481
|
+
var isWorkspaceListDialogOpen = useSelector(function (store) {
|
|
10482
|
+
return getIsWorkspaceListDialogOpen(store);
|
|
10483
|
+
});
|
|
10484
|
+
React.useEffect(function () {
|
|
10485
|
+
if (isWorkspaceListDialogOpen) {
|
|
10486
|
+
return undefined;
|
|
10487
|
+
}
|
|
10488
|
+
var handleKeyDown = function handleKeyDown(event) {
|
|
10489
|
+
if (event.code !== 'KeyP' || event.ctrlKey || event.metaKey || event.altKey || event.repeat || event.defaultPrevented || isTargetInteractiveInput(event.target)) {
|
|
10490
|
+
return;
|
|
10491
|
+
}
|
|
10492
|
+
var panelIds = getLeaves(mosaicNode);
|
|
10493
|
+
var panelId = panelIds.includes(activeWindowId) ? activeWindowId : panelIds[0];
|
|
10494
|
+
if (!panelId) {
|
|
10495
|
+
return;
|
|
10496
|
+
}
|
|
10497
|
+
event.preventDefault();
|
|
10498
|
+
dispatch(viewPresetActions.toggleViewPresetListDialog({
|
|
10499
|
+
panelId: panelId,
|
|
10500
|
+
isViewPresetListDialogOpen: true
|
|
10501
|
+
}));
|
|
10502
|
+
};
|
|
10503
|
+
document.addEventListener('keydown', handleKeyDown);
|
|
10504
|
+
return function () {
|
|
10505
|
+
document.removeEventListener('keydown', handleKeyDown);
|
|
10506
|
+
};
|
|
10507
|
+
}, [activeWindowId, dispatch, isWorkspaceListDialogOpen, mosaicNode]);
|
|
10426
10508
|
React.useEffect(function () {
|
|
10427
10509
|
if (!mosaicNode) {
|
|
10428
10510
|
dispatch(workspaceActions.teardownComplete());
|
|
@@ -10476,6 +10558,12 @@ var useResetWorkspaceFiltersOnRoleChange = function useResetWorkspaceFiltersOnRo
|
|
|
10476
10558
|
}, {
|
|
10477
10559
|
id: PresetFilterType.shared,
|
|
10478
10560
|
isSelected: true
|
|
10561
|
+
}, {
|
|
10562
|
+
id: PresetFilterType.templates,
|
|
10563
|
+
isSelected: true
|
|
10564
|
+
}, {
|
|
10565
|
+
id: PresetFilterType.favourites,
|
|
10566
|
+
isSelected: true
|
|
10479
10567
|
}];
|
|
10480
10568
|
dispatch(workspaceListActions.setFilterChips(filters));
|
|
10481
10569
|
}
|
|
@@ -11311,9 +11399,12 @@ var WorkspaceTabConnect = function WorkspaceTabConnect(_ref) {
|
|
|
11311
11399
|
appTitle = _ref.appTitle;
|
|
11312
11400
|
var dispatch = useDispatch();
|
|
11313
11401
|
var _useWorkspaceTranslat = useWorkspaceTranslation(),
|
|
11314
|
-
t = _useWorkspaceTranslat.t
|
|
11402
|
+
t = _useWorkspaceTranslat.t,
|
|
11403
|
+
i18n = _useWorkspaceTranslat.i18n;
|
|
11315
11404
|
var _useAuthenticationCon = useAuthenticationContext(),
|
|
11316
11405
|
auth = _useAuthenticationCon.auth;
|
|
11406
|
+
var _useWorkspaceTemplate = useWorkspaceTemplatePresets(),
|
|
11407
|
+
defaultPresets = _useWorkspaceTemplate.data;
|
|
11317
11408
|
var _useDeleteWorkspacePr = useDeleteWorkspacePreset(),
|
|
11318
11409
|
deleteWorkspace = _useDeleteWorkspacePr.mutate,
|
|
11319
11410
|
isDeletePending = _useDeleteWorkspacePr.isPending;
|
|
@@ -11331,10 +11422,11 @@ var WorkspaceTabConnect = function WorkspaceTabConnect(_ref) {
|
|
|
11331
11422
|
}, [dispatch]);
|
|
11332
11423
|
var onSubmitForm = /*#__PURE__*/function () {
|
|
11333
11424
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(presetAction, presetId, data) {
|
|
11334
|
-
var _oldWorkspace$views, _data$labels, _data$scope, oldWorkspace, viewsToDuplicate, duplicatedWorkspace, _t2, _t3;
|
|
11425
|
+
var defaultPreset, _oldWorkspace$views, _data$labels, _data$scope, oldWorkspace, viewsToDuplicate, duplicatedWorkspace, _t2, _t3;
|
|
11335
11426
|
return _regenerator().w(function (_context2) {
|
|
11336
11427
|
while (1) switch (_context2.n) {
|
|
11337
11428
|
case 0:
|
|
11429
|
+
defaultPreset = findWorkspaceTemplatePreset(defaultPresets, presetId);
|
|
11338
11430
|
_t2 = presetAction;
|
|
11339
11431
|
_context2.n = _t2 === WorkspacePresetAction.DELETE ? 1 : _t2 === WorkspacePresetAction.DELETE_SYSTEM_PRESET ? 1 : _t2 === WorkspacePresetAction.DUPLICATE ? 2 : 8;
|
|
11340
11432
|
break;
|
|
@@ -11344,7 +11436,7 @@ var WorkspaceTabConnect = function WorkspaceTabConnect(_ref) {
|
|
|
11344
11436
|
});
|
|
11345
11437
|
return _context2.a(3, 9);
|
|
11346
11438
|
case 2:
|
|
11347
|
-
if (!(!presetId ||
|
|
11439
|
+
if (!(!presetId || defaultPreset)) {
|
|
11348
11440
|
_context2.n = 3;
|
|
11349
11441
|
break;
|
|
11350
11442
|
}
|
|
@@ -11436,7 +11528,7 @@ var WorkspaceTabConnect = function WorkspaceTabConnect(_ref) {
|
|
|
11436
11528
|
data: data,
|
|
11437
11529
|
emptyMapPresetTitle: t('workspace-mappreset-new'),
|
|
11438
11530
|
emptyWorkspacePresetTitle: t('workspace-new'),
|
|
11439
|
-
|
|
11531
|
+
defaultPreset: defaultPreset ? toWorkspacePresetFromTemplate(defaultPreset, i18n.language) : undefined
|
|
11440
11532
|
}));
|
|
11441
11533
|
return _context2.a(3, 9);
|
|
11442
11534
|
case 9:
|
|
@@ -12093,11 +12185,6 @@ var WorkspaceDetail = function WorkspaceDetail(_ref) {
|
|
|
12093
12185
|
changeToEmptyMapWorkspace();
|
|
12094
12186
|
navigateToUrl(routes.root);
|
|
12095
12187
|
};
|
|
12096
|
-
var setPreset = React.useCallback(function (workspacePreset) {
|
|
12097
|
-
dispatch(workspaceActions.changePreset({
|
|
12098
|
-
workspacePreset: workspacePreset
|
|
12099
|
-
}));
|
|
12100
|
-
}, [dispatch]);
|
|
12101
12188
|
React.useEffect(function () {
|
|
12102
12189
|
var idToFetch = workspaceId || initialWorkspaceId;
|
|
12103
12190
|
var hasWorkspaceData = workspaceState.views.allIds.length > 0;
|
|
@@ -12108,10 +12195,8 @@ var WorkspaceDetail = function WorkspaceDetail(_ref) {
|
|
|
12108
12195
|
isWorkspaceListDialogOpen: true
|
|
12109
12196
|
}));
|
|
12110
12197
|
}
|
|
12111
|
-
} else if (idToFetch === LOCAL_SOUNDINGS_ID) {
|
|
12112
|
-
// If the workspaceId is the local soundings id, we don't want to fetch it from the backend, but instead set it to an empty soundings workspace
|
|
12113
|
-
setPreset(getNewSoundingsWorkspace(t));
|
|
12114
12198
|
} else if (idToFetch) {
|
|
12199
|
+
// The fetchWorkspace listener also opens template presets
|
|
12115
12200
|
fetchWorkspace(idToFetch);
|
|
12116
12201
|
}
|
|
12117
12202
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -12181,10 +12266,128 @@ var WorkspaceDetail = function WorkspaceDetail(_ref) {
|
|
|
12181
12266
|
});
|
|
12182
12267
|
};
|
|
12183
12268
|
|
|
12269
|
+
/* *
|
|
12270
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12271
|
+
* you may not use this file except in compliance with the License.
|
|
12272
|
+
* You may obtain a copy of the License at
|
|
12273
|
+
*
|
|
12274
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12275
|
+
*
|
|
12276
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12277
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12278
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12279
|
+
* See the License for the specific language governing permissions and
|
|
12280
|
+
* limitations under the License.
|
|
12281
|
+
*
|
|
12282
|
+
* Copyright 2026 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
12283
|
+
* Copyright 2026 - Finnish Meteorological Institute (FMI)
|
|
12284
|
+
* Copyright 2026 - The Norwegian Meteorological Institute (MET Norway)
|
|
12285
|
+
* */
|
|
12286
|
+
var isSystemScope = function isSystemScope(scope) {
|
|
12287
|
+
return scope === SystemScope.system;
|
|
12288
|
+
};
|
|
12289
|
+
var pickWorkspaceListError = function pickWorkspaceListError(error) {
|
|
12290
|
+
if (!error) {
|
|
12291
|
+
return undefined;
|
|
12292
|
+
}
|
|
12293
|
+
return error.type === WorkspaceListErrorType.TRANSLATABLE_ERROR ? {
|
|
12294
|
+
type: error.type,
|
|
12295
|
+
category: error.category,
|
|
12296
|
+
key: error.key
|
|
12297
|
+
} : {
|
|
12298
|
+
type: error.type,
|
|
12299
|
+
category: error.category
|
|
12300
|
+
};
|
|
12301
|
+
};
|
|
12302
|
+
var workspaceSentryStateMap = {
|
|
12303
|
+
workspace: function workspace(_workspace) {
|
|
12304
|
+
return {
|
|
12305
|
+
id: isSystemScope(_workspace.scope) ? _workspace.id : undefined,
|
|
12306
|
+
scope: _workspace.scope,
|
|
12307
|
+
viewType: _workspace.viewType,
|
|
12308
|
+
isLoading: _workspace.isLoading,
|
|
12309
|
+
hasChanges: _workspace.hasChanges,
|
|
12310
|
+
error: _workspace.error && {
|
|
12311
|
+
type: _workspace.error.type,
|
|
12312
|
+
message: _workspace.error.message
|
|
12313
|
+
},
|
|
12314
|
+
isTimeScrollingEnabled: _workspace.isTimeScrollingEnabled,
|
|
12315
|
+
syncGroups: pickList(_workspace.syncGroups, function (syncGroup) {
|
|
12316
|
+
return {
|
|
12317
|
+
id: syncGroup.id,
|
|
12318
|
+
type: syncGroup.type,
|
|
12319
|
+
sourcePanelId: syncGroup.sourcePanelId
|
|
12320
|
+
};
|
|
12321
|
+
}),
|
|
12322
|
+
views: pickEntities(_workspace.views, function (view) {
|
|
12323
|
+
return {
|
|
12324
|
+
id: isSystemScope(view.scope) ? view.id : undefined,
|
|
12325
|
+
mosaicNodeId: view.mosaicNodeId,
|
|
12326
|
+
componentType: view.componentType,
|
|
12327
|
+
scope: view.scope,
|
|
12328
|
+
activeLayerId: view.activeLayerId
|
|
12329
|
+
};
|
|
12330
|
+
})
|
|
12331
|
+
};
|
|
12332
|
+
},
|
|
12333
|
+
viewPresets: function viewPresets(_viewPresets) {
|
|
12334
|
+
return {
|
|
12335
|
+
ids: _viewPresets.ids,
|
|
12336
|
+
entities: pickRecord(_viewPresets.entities, function (entity) {
|
|
12337
|
+
return {
|
|
12338
|
+
panelId: entity.panelId,
|
|
12339
|
+
hasChanges: entity.hasChanges,
|
|
12340
|
+
isFetching: entity.isFetching,
|
|
12341
|
+
isViewPresetListDialogOpen: entity.isViewPresetListDialogOpen,
|
|
12342
|
+
error: entity.error && {
|
|
12343
|
+
component: entity.error.component,
|
|
12344
|
+
errorType: entity.error.errorType,
|
|
12345
|
+
message: entity.error.message
|
|
12346
|
+
},
|
|
12347
|
+
filters: pickList(entity.filters, function (filter) {
|
|
12348
|
+
return {
|
|
12349
|
+
id: filter.id,
|
|
12350
|
+
isSelected: filter.isSelected,
|
|
12351
|
+
isDisabled: filter.isDisabled
|
|
12352
|
+
};
|
|
12353
|
+
})
|
|
12354
|
+
};
|
|
12355
|
+
}),
|
|
12356
|
+
viewPresetDialog: _viewPresets.viewPresetDialog && {
|
|
12357
|
+
action: _viewPresets.viewPresetDialog.action,
|
|
12358
|
+
panelId: _viewPresets.viewPresetDialog.panelId,
|
|
12359
|
+
shouldSetActiveViewPreset: _viewPresets.viewPresetDialog.shouldSetActiveViewPreset
|
|
12360
|
+
}
|
|
12361
|
+
};
|
|
12362
|
+
},
|
|
12363
|
+
workspaceList: function workspaceList(_workspaceList) {
|
|
12364
|
+
return {
|
|
12365
|
+
isWorkspaceListDialogOpen: _workspaceList.isWorkspaceListDialogOpen,
|
|
12366
|
+
error: pickWorkspaceListError(_workspaceList.error),
|
|
12367
|
+
workspaceListFilters: pickList(_workspaceList.workspaceListFilters, function (filter) {
|
|
12368
|
+
return {
|
|
12369
|
+
id: filter.id,
|
|
12370
|
+
isSelected: filter.isSelected,
|
|
12371
|
+
isDisabled: filter.isDisabled
|
|
12372
|
+
};
|
|
12373
|
+
}),
|
|
12374
|
+
workspaceActionDialog: _workspaceList.workspaceActionDialog && {
|
|
12375
|
+
action: _workspaceList.workspaceActionDialog.action,
|
|
12376
|
+
hasSaved: _workspaceList.workspaceActionDialog.hasSaved,
|
|
12377
|
+
error: pickWorkspaceListError(_workspaceList.workspaceActionDialog.error)
|
|
12378
|
+
}
|
|
12379
|
+
};
|
|
12380
|
+
}
|
|
12381
|
+
};
|
|
12382
|
+
|
|
12184
12383
|
var workspacePresets$1 = [
|
|
12185
12384
|
{
|
|
12186
|
-
|
|
12187
|
-
|
|
12385
|
+
title: {
|
|
12386
|
+
en: "New workspace",
|
|
12387
|
+
fi: "Uusi workspace",
|
|
12388
|
+
no: "Ny arbeidsflate",
|
|
12389
|
+
nl: "Nieuwe workspace"
|
|
12390
|
+
},
|
|
12188
12391
|
scope: "system",
|
|
12189
12392
|
abstract: "",
|
|
12190
12393
|
viewType: "singleWindow",
|
|
@@ -12195,8 +12398,12 @@ var workspacePresets$1 = [
|
|
|
12195
12398
|
],
|
|
12196
12399
|
byId: {
|
|
12197
12400
|
"1_screen": {
|
|
12198
|
-
|
|
12199
|
-
|
|
12401
|
+
title: {
|
|
12402
|
+
en: "New map preset",
|
|
12403
|
+
fi: "Uusi map preset",
|
|
12404
|
+
no: "Ny snarvei",
|
|
12405
|
+
nl: "Nieuwe map preset"
|
|
12406
|
+
},
|
|
12200
12407
|
componentType: "Map",
|
|
12201
12408
|
initialProps: {
|
|
12202
12409
|
mapPreset: {
|
|
@@ -12214,8 +12421,12 @@ var workspacePresets$1 = [
|
|
|
12214
12421
|
var viewPresets = [
|
|
12215
12422
|
{
|
|
12216
12423
|
id: "template-map",
|
|
12217
|
-
|
|
12218
|
-
|
|
12424
|
+
title: {
|
|
12425
|
+
en: "New map preset",
|
|
12426
|
+
fi: "Uusi map preset",
|
|
12427
|
+
no: "Ny kartpreset",
|
|
12428
|
+
nl: "Nieuwe map preset"
|
|
12429
|
+
},
|
|
12219
12430
|
componentType: "Map",
|
|
12220
12431
|
initialProps: {
|
|
12221
12432
|
mapPreset: {
|
|
@@ -12228,8 +12439,12 @@ var viewPresets = [
|
|
|
12228
12439
|
},
|
|
12229
12440
|
{
|
|
12230
12441
|
id: "template-timeseries",
|
|
12231
|
-
|
|
12232
|
-
|
|
12442
|
+
title: {
|
|
12443
|
+
en: "New timeseries preset",
|
|
12444
|
+
fi: "Uusi timeseries preset",
|
|
12445
|
+
no: "Ny tidsseriepreset",
|
|
12446
|
+
nl: "Nieuwe timeseries preset"
|
|
12447
|
+
},
|
|
12233
12448
|
componentType: "TimeSeries",
|
|
12234
12449
|
initialProps: {
|
|
12235
12450
|
plotPreset: {
|
|
@@ -12247,8 +12462,12 @@ var viewPresets = [
|
|
|
12247
12462
|
},
|
|
12248
12463
|
{
|
|
12249
12464
|
id: "template-soundings",
|
|
12250
|
-
|
|
12251
|
-
|
|
12465
|
+
title: {
|
|
12466
|
+
en: "New sounding preset",
|
|
12467
|
+
fi: "Uusi luotauspreset",
|
|
12468
|
+
no: "Ny sonderingspreset",
|
|
12469
|
+
nl: "Nieuwe sounding preset"
|
|
12470
|
+
},
|
|
12252
12471
|
componentType: "Soundings",
|
|
12253
12472
|
initialProps: {
|
|
12254
12473
|
selectedSources: {
|
|
@@ -12261,16 +12480,24 @@ var viewPresets = [
|
|
|
12261
12480
|
},
|
|
12262
12481
|
{
|
|
12263
12482
|
id: "template-warninglist",
|
|
12264
|
-
|
|
12265
|
-
|
|
12483
|
+
title: {
|
|
12484
|
+
en: "New warninglist preset",
|
|
12485
|
+
fi: "Uusi varoituslistapreset",
|
|
12486
|
+
no: "Ny varsellistepreset",
|
|
12487
|
+
nl: "Nieuwe warninglist preset"
|
|
12488
|
+
},
|
|
12266
12489
|
componentType: "WarningList",
|
|
12267
12490
|
initialProps: {
|
|
12268
12491
|
}
|
|
12269
12492
|
},
|
|
12270
12493
|
{
|
|
12271
12494
|
id: "template-timeline",
|
|
12272
|
-
|
|
12273
|
-
|
|
12495
|
+
title: {
|
|
12496
|
+
en: "New timeline preset",
|
|
12497
|
+
fi: "Uusi aikajanapreset",
|
|
12498
|
+
no: "Ny tidslinjepreset",
|
|
12499
|
+
nl: "Nieuwe timeline preset"
|
|
12500
|
+
},
|
|
12274
12501
|
componentType: "WarningsTimeline",
|
|
12275
12502
|
initialProps: {
|
|
12276
12503
|
}
|
|
@@ -13679,4 +13906,4 @@ var workspaceEndpoints = [].concat(createUserPreferencesEndpoints(), [http.get(/
|
|
|
13679
13906
|
}, _callee6);
|
|
13680
13907
|
})))]);
|
|
13681
13908
|
|
|
13682
|
-
export { ALL_COMPONENT_TYPES, AVIATION_COMPONENT_TYPES, CAP_COMPONENT_TYPES, ComponentsLookUpWrapper, DemoWrapper, PresetAction, SUPPORTED_COMPONENT_TYPES, SUPPORTED_TIMESERIES_COMPONENT_TYPES, ViewPresetErrorComponent, ViewPresetErrorType, WARNING_LIST_COMPONENT_TYPES, WORKSPACE_NAMESPACE, WorkspaceDetail, WorkspaceErrorType, WorkspaceI18nProvider, WorkspacePresetAction, WorkspaceStoreWrapper, WorkspaceThemeProvider, WorkspaceTopBar, WorkspaceViewConnect, WorkspaceWrapperProviderWithStore, createBalancedMosaicNode, createCustomEmptyMapWorkspace, defaultAuthConfig, defaultViewPresetsFilters, getEmptyMapWorkspace, getWorkspaceRouteUrl, selectors$1 as selectors, templatePresetsFixture, viewPresetActions, viewPresetsListener, viewPresetsReducer, workspaceActions, workspaceEndpoints, workspaceListActions, workspaceListListener, workspaceListReducer, workspaceListener, workspaceMiddlewares, workspaceReducer, workspaceReducersMap, routes as workspaceRoutes, workspaceTranslations };
|
|
13909
|
+
export { ALL_COMPONENT_TYPES, AVIATION_COMPONENT_TYPES, CAP_COMPONENT_TYPES, ComponentsLookUpWrapper, DemoWrapper, PresetAction, SUPPORTED_COMPONENT_TYPES, SUPPORTED_TIMESERIES_COMPONENT_TYPES, ViewPresetErrorComponent, ViewPresetErrorType, WARNING_LIST_COMPONENT_TYPES, WORKSPACE_NAMESPACE, WorkspaceDetail, WorkspaceErrorType, WorkspaceI18nProvider, WorkspacePresetAction, WorkspaceStoreWrapper, WorkspaceThemeProvider, WorkspaceTopBar, WorkspaceViewConnect, WorkspaceWrapperProviderWithStore, createBalancedMosaicNode, createCustomEmptyMapWorkspace, defaultAuthConfig, defaultViewPresetsFilters, getEmptyMapWorkspace, getWorkspaceRouteUrl, selectors$1 as selectors, templatePresetsFixture, viewPresetActions, viewPresetsListener, viewPresetsReducer, workspaceActions, workspaceEndpoints, workspaceListActions, workspaceListListener, workspaceListReducer, workspaceListener, workspaceMiddlewares, workspaceReducer, workspaceReducersMap, routes as workspaceRoutes, workspaceSentryStateMap, workspaceTranslations };
|