@opengeoweb/workspace 15.2.0 → 16.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/index.esm.js +1521 -890
- package/package.json +17 -17
- package/src/index.d.ts +0 -1
- package/src/lib/api/viewpreset-api/api.d.ts +2 -3
- package/src/lib/api/viewpreset-api/fakeApi/mockData.d.ts +36 -0
- package/src/lib/api/viewpreset-api/hooks.d.ts +2 -3
- package/src/lib/api/viewpreset-api/queryOptions.d.ts +4 -5
- package/src/lib/api/workspace-api/hooks.d.ts +1 -1
- package/src/lib/components/PastePresetDialog/PastePresetDialog.d.ts +8 -0
- package/src/lib/components/PastePresetDialog/index.d.ts +2 -0
- package/src/lib/components/WorkspaceDetail/WorkspaceDetail.stories.d.ts +1 -8
- package/src/lib/components/WorkspaceDetail/WorkspaceDetailError.stories.d.ts +8 -1
- package/src/lib/components/WorkspaceOptions/WorkspaceOptions.d.ts +4 -0
- package/src/lib/components/WorkspaceSelectList/WorkspacePresetInfo.d.ts +1 -2
- package/src/lib/components/WorkspaceView/SplitButtonsConnect.d.ts +2 -0
- package/src/lib/components/WorkspaceView/WorkSpaceView.stories.d.ts +9 -0
- package/src/lib/hooks/useResetFiltersOnRoleChange.d.ts +5 -0
- package/src/lib/store/store.d.ts +0 -1
- package/src/lib/store/types.d.ts +0 -2
- package/src/lib/store/viewPresets/reducer.d.ts +1 -2
- package/src/lib/store/viewPresets/selectors.d.ts +31 -31
- package/src/lib/store/viewPresets/types.d.ts +4 -5
- package/src/lib/store/workspace/selectors.d.ts +5 -0
- package/src/lib/store/workspace/types.d.ts +6 -2
- package/src/lib/store/workspaceList/types.d.ts +1 -0
- package/src/lib/store/workspaceList/utils.d.ts +1 -2
- package/src/lib/utils/clipboardUtils.d.ts +23 -0
- package/src/lib/utils/utils.d.ts +1 -1
- package/src/lib/hooks/useFetchWorkspacePresets.d.ts +0 -1
- package/src/lib/store/viewPresetsList/index.d.ts +0 -2
- package/src/lib/store/viewPresetsList/reducer.d.ts +0 -10
- package/src/lib/store/viewPresetsList/selectors.d.ts +0 -142
- package/src/lib/store/viewPresetsList/selectors.spec.d.ts +0 -1
- package/src/lib/store/viewPresetsList/types.d.ts +0 -24
- /package/src/lib/{store/viewPresetsList/reducer.spec.d.ts → utils/clipboardUtils.spec.d.ts} +0 -0
package/index.esm.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createEntityAdapter, createSlice, 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
|
-
import { syncGroupsTypes, syncGroupsActions, layerActions, mapActions, uiActions, genericActions, layerTypes, mapEnums, selectorMemoizationOptions, genericSelectors, mapSelectors, syncGroupsSelectors, routerActions, createViewObjectForNewMap, mapListener, serviceListener, layersListener, syncGroupsListener, openlayersListener, uiReducer, loadingIndicatorReducer, syncGroupsReducer, layerReducer, serviceReducer, mapReducer, uiTypes, linkComponentTypesConstants, loadingIndicatorSelectors, uiSelectors } from '@opengeoweb/store';
|
|
3
|
+
import { syncGroupsTypes, syncGroupsActions, layerActions, mapActions, uiActions, genericActions, layerTypes, mapEnums, selectorMemoizationOptions, genericSelectors, mapSelectors, syncGroupsSelectors, routerActions, createViewObjectForNewMap, mapListener, serviceListener, layersListener, syncGroupsListener, openlayersListener, uiReducer, loadingIndicatorReducer, syncGroupsReducer, layerReducer, serviceReducer, mapReducer, uiTypes, linkComponentTypesConstants, constructSyncSourceDisplayName, loadingIndicatorSelectors, uiSelectors } from '@opengeoweb/store';
|
|
4
4
|
import { timeSeriesActions, TimeSeriesTypes, timeSeriesSelectors, timeSeriesReducer } from '@opengeoweb/time-series';
|
|
5
|
-
import { chunk,
|
|
5
|
+
import { chunk, cloneDeep, union, pick, isEqual, isString } from 'lodash';
|
|
6
6
|
import { getLeaves, createBalancedTreeFromLeaves, MosaicContext, getAndAssertNodeAtPathExists, MosaicWindow, Mosaic } from 'react-mosaic-component';
|
|
7
7
|
import { queryOptions, useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
8
|
-
import { sessionStorageProvider, getAxiosErrorMessage, isAxiosError, isAxiosAuthError, safelyInitI18nForTestsAndStories, sharedTranslations, SHARED_NAMESPACE, ConfirmationServiceProvider, CustomIconButton, useConfirmationDialog, usePrevious, AlertBanner, CustomAccordion, CustomTooltip, dateUtils, SystemScope, SearchHighlight, ToggleMenu, SearchField, Filter, LastUpdateTime, renderCounter, CustomDialog, ToolContainer, CustomToggleButton, ConfirmationButtons } from '@opengeoweb/shared';
|
|
8
|
+
import { sessionStorageProvider, getAxiosErrorMessage, isAxiosError, isAuthError, isAxiosAuthError, safelyInitI18nForTestsAndStories, sharedTranslations, SHARED_NAMESPACE, ConfirmationServiceProvider, CustomIconButton, useConfirmationDialog, usePrevious, AlertBanner, CustomAccordion, CustomTooltip, dateUtils, SystemScope, SearchHighlight, ToggleMenu, SearchField, Filter, LastUpdateTime, renderCounter, CustomDialog, ToolContainer, CustomToggleButton, ConfirmationButtons } from '@opengeoweb/shared';
|
|
9
9
|
import { soundingsActions, SoundingsTypes, soundingsSelectors, soundingsReducer } from '@opengeoweb/soundings';
|
|
10
10
|
import { warningsFiltersActions, publicWarningsSelectors, warningsTranslations, WARN_NAMESPACE } from '@opengeoweb/warnings';
|
|
11
11
|
import { snackbarTypes, snackbarActions, snackbarListener, snackbarReducer, SnackbarWrapperConnect } from '@opengeoweb/snackbar';
|
|
@@ -14,13 +14,13 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
|
14
14
|
import { useTranslation, I18nextProvider } from 'react-i18next';
|
|
15
15
|
import { Provider, useDispatch, useSelector, useStore, shallowEqual } from 'react-redux';
|
|
16
16
|
import { AuthenticationProvider, useAuthenticationContext, GEOWEB_ROLE_PRESETS_ADMIN } from '@opengeoweb/authentication';
|
|
17
|
-
import { ThemeWrapper, lightTheme, Link, LinkOff, SplitVertical,
|
|
17
|
+
import { ThemeWrapper, lightTheme, Link, LinkOff, SplitHorizontal, SplitVertical, SplitHorizontalWithContent, SplitVerticalWithContent, Expand, UnExpand, ChevronDown, Close, ChevronUp, LockLocked, Info, WorkspacePresetsSystemIcon, SharedPresetsMyUser, SharedPresetsOtherUsers, WorkspacePresetsMyIcon, BackdropStyle, Options, CloudLoading, CloudIdle, WebAssetOff, Exclamation } from '@opengeoweb/theme';
|
|
18
18
|
import i18n from 'i18next';
|
|
19
19
|
import { coreTranslations, CORE_NAMESPACE, LoadingIndicatorProgressBar } from '@opengeoweb/core';
|
|
20
20
|
import { formFieldsTranslations, FORM_FIELDS_NAMESPACE, ReactHookFormHiddenInput, ReactHookFormTextField, ReactHookFormProvider, defaultFormOptions } from '@opengeoweb/form-fields';
|
|
21
21
|
import { webmapReactTranslations, WEBMAP_REACT_NAMESPACE } from '@opengeoweb/webmap-react';
|
|
22
|
-
import React, {
|
|
23
|
-
import { Menu, Typography, List, ListItem, ListItemButton, ListItemIcon, Checkbox, ListItemText,
|
|
22
|
+
import React, { useEffect, useCallback } from 'react';
|
|
23
|
+
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';
|
|
24
24
|
import 'react-mosaic-component/react-mosaic-component.css';
|
|
25
25
|
import { useFormContext, useWatch, useForm, FormProvider } from 'react-hook-form';
|
|
26
26
|
import { List as List$1 } from 'react-window';
|
|
@@ -60,8 +60,11 @@ var en = {
|
|
|
60
60
|
"workspace-control-split-horizontal": "Split window horizontally",
|
|
61
61
|
"workspace-control-split-vertical": "Split window vertically",
|
|
62
62
|
"workspace-control-split-shift": "Hold shift to copy viewpreset content",
|
|
63
|
+
"workspace-control-split-horizontal-with-data": "Split window horizontally and copy over viewpreset content",
|
|
64
|
+
"workspace-control-split-vertical-with-data": "Split window vertically and copy over viewpreset content",
|
|
63
65
|
"workspace-control-expand": "Expand window",
|
|
64
66
|
"workspace-control-unexpand": "Unexpand window",
|
|
67
|
+
"workspace-control-show-options": "Show options",
|
|
65
68
|
"workspace-control-close": "Close window",
|
|
66
69
|
"workspace-control-close-message-title": "Whoops",
|
|
67
70
|
"workspace-control-close-message-description": "Are you sure you want to close this window? All changes will be lost.",
|
|
@@ -147,7 +150,29 @@ var en = {
|
|
|
147
150
|
"workspace-label-active": "ACTIVE",
|
|
148
151
|
"fetch-config-error-retry": "Retry",
|
|
149
152
|
"fetch-config-error-title": "An error has occured whilst fetching the label configuration",
|
|
150
|
-
"fetch-config-no-labels-available": "There are no labels available, please contact your administrator"
|
|
153
|
+
"fetch-config-no-labels-available": "There are no labels available, please contact your administrator",
|
|
154
|
+
"workspace-copy-to-clipboard": "Copy workspace",
|
|
155
|
+
"workspace-paste-from-clipboard": "Paste workspace",
|
|
156
|
+
"workspace-copy-viewpreset-to-clipboard": "Copy view preset",
|
|
157
|
+
"workspace-paste-viewpreset-from-clipboard": "Paste view preset",
|
|
158
|
+
"workspace-paste-dialog-title": "Paste workspace from clipboard",
|
|
159
|
+
"workspace-paste-viewpreset-dialog-title": "Paste view preset from clipboard",
|
|
160
|
+
"workspace-paste-load-button": "Load workspace",
|
|
161
|
+
"workspace-paste-load-viewpreset-button": "Load view preset",
|
|
162
|
+
"workspace-paste-placeholder": "Paste workspace from clipboard",
|
|
163
|
+
"workspace-paste-viewpreset-placeholder": "Paste view preset from clipboard",
|
|
164
|
+
"workspace-paste-field-label": "Workspace JSON",
|
|
165
|
+
"workspace-paste-viewpreset-field-label": "View preset JSON",
|
|
166
|
+
"workspace-copy-success": "Workspace copied",
|
|
167
|
+
"workspace-paste-success": "Workspace loaded",
|
|
168
|
+
"workspace-copy-viewpreset-success": "View preset copied",
|
|
169
|
+
"workspace-paste-viewpreset-success": "View preset loaded",
|
|
170
|
+
"workspace-paste-validation-invalid-json": "Invalid JSON: {{ERROR}}",
|
|
171
|
+
"workspace-paste-validation-not-object": "Input must be a JSON object",
|
|
172
|
+
"workspace-paste-validation-missing-field": "Missing required field: \"{{ERROR}}\"",
|
|
173
|
+
"workspace-paste-validation-unexpanded-views": "Workspace contains view preset references. Use the Copy button to get a portable version.",
|
|
174
|
+
"workspace-paste-validation-wrong-preset-type": "The clipboard contains a view preset, not a workspace preset.",
|
|
175
|
+
"viewpreset-paste-validation-wrong-preset-type": "The clipboard contains a workspace preset, not a view preset."
|
|
151
176
|
};
|
|
152
177
|
var fi = {
|
|
153
178
|
"workspace-menu": "Workspace menu",
|
|
@@ -182,8 +207,11 @@ var fi = {
|
|
|
182
207
|
"workspace-control-split-horizontal": "Jaa ikkuna vaakasuoraan",
|
|
183
208
|
"workspace-control-split-vertical": "Jaa ikkuna pystysuoraan",
|
|
184
209
|
"workspace-control-split-shift": "Pidä Shift painettuna kopioidaksesi näkymän sisällön",
|
|
210
|
+
"workspace-control-split-horizontal-with-data": "Jaa ikkuna vaakasuunnassa kopioitaessa sisällön päälle",
|
|
211
|
+
"workspace-control-split-vertical-with-data": "Jaa ikkuna pystysuunnassa kopioitaessa sisällön päälle",
|
|
185
212
|
"workspace-control-expand": "Laajenna ikkuna",
|
|
186
213
|
"workspace-control-unexpand": "Supista ikkuna",
|
|
214
|
+
"workspace-control-show-options": "Näytä asetukset",
|
|
187
215
|
"workspace-control-close": "Sulje ikkuna",
|
|
188
216
|
"workspace-control-close-message-title": "Hups",
|
|
189
217
|
"workspace-control-close-message-description": "Oletko varma, että haluat sulkea tämän ikkunan? Kaikki muutokset menetetään",
|
|
@@ -262,7 +290,29 @@ var fi = {
|
|
|
262
290
|
"workspace-labels-dataSource": "ei käännetty",
|
|
263
291
|
"workspace-labels-viewType": "ei käännetty",
|
|
264
292
|
"workspace-presets-form-active-labels": "ei käännetty ({{count}})",
|
|
265
|
-
"workspace-label-active": "ACTIVE"
|
|
293
|
+
"workspace-label-active": "ACTIVE",
|
|
294
|
+
"workspace-copy-to-clipboard": "Copy workspace",
|
|
295
|
+
"workspace-paste-from-clipboard": "Paste workspace",
|
|
296
|
+
"workspace-copy-viewpreset-to-clipboard": "Copy view preset",
|
|
297
|
+
"workspace-paste-viewpreset-from-clipboard": "Paste view preset",
|
|
298
|
+
"workspace-paste-dialog-title": "Paste workspace",
|
|
299
|
+
"workspace-paste-viewpreset-dialog-title": "Paste view preset",
|
|
300
|
+
"workspace-paste-load-button": "Load workspace",
|
|
301
|
+
"workspace-paste-load-viewpreset-button": "Load view preset",
|
|
302
|
+
"workspace-paste-placeholder": "Paste workspace JSON here",
|
|
303
|
+
"workspace-paste-viewpreset-placeholder": "Paste view preset JSON here",
|
|
304
|
+
"workspace-paste-field-label": "Workspace JSON",
|
|
305
|
+
"workspace-paste-viewpreset-field-label": "View preset JSON",
|
|
306
|
+
"workspace-copy-success": "Workspace JSON copied to clipboard",
|
|
307
|
+
"workspace-paste-success": "Workspace loaded",
|
|
308
|
+
"workspace-copy-viewpreset-success": "View preset JSON copied to clipboard",
|
|
309
|
+
"workspace-paste-viewpreset-success": "View preset loaded",
|
|
310
|
+
"workspace-paste-validation-invalid-json": "Invalid JSON: {{ERROR}}",
|
|
311
|
+
"workspace-paste-validation-not-object": "Input must be a JSON object",
|
|
312
|
+
"workspace-paste-validation-missing-field": "Missing required field: \"{{ERROR}}\"",
|
|
313
|
+
"workspace-paste-validation-unexpanded-views": "Workspace contains view preset references. Use the Copy button to get a portable version.",
|
|
314
|
+
"workspace-paste-validation-wrong-preset-type": "The clipboard contains a view preset, not a workspace preset.",
|
|
315
|
+
"viewpreset-paste-validation-wrong-preset-type": "The clipboard contains a workspace preset, not a view preset."
|
|
266
316
|
};
|
|
267
317
|
var no = {
|
|
268
318
|
"workspace-menu": "Arbeidsflater",
|
|
@@ -298,8 +348,11 @@ var no = {
|
|
|
298
348
|
"workspace-control-split-horizontal": "Splitt vindu horisontalt",
|
|
299
349
|
"workspace-control-split-vertical": "Splitt vindu vertikalt",
|
|
300
350
|
"workspace-control-split-shift": "Hold shift for å kopiere viewpreset-innhold",
|
|
351
|
+
"workspace-control-split-horizontal-with-data": "Splitt vindu horisontalt og kopierer viewpreset-innhold",
|
|
352
|
+
"workspace-control-split-vertical-with-data": "Splitt vindu vertikalt og kopierer viewpreset-innhold",
|
|
301
353
|
"workspace-control-expand": "Utvid vindu",
|
|
302
354
|
"workspace-control-unexpand": "Krymp vindu",
|
|
355
|
+
"workspace-control-show-options": "Vis alternativer",
|
|
303
356
|
"workspace-control-close": "Lukk vindu",
|
|
304
357
|
"workspace-control-close-message-title": "Whoops",
|
|
305
358
|
"workspace-control-close-message-description": "Er du sikker på at du vil lukke vinduet? Alle endringer vil slettes.",
|
|
@@ -378,7 +431,29 @@ var no = {
|
|
|
378
431
|
"workspace-labels-dataSource": "Datakilde",
|
|
379
432
|
"workspace-labels-viewType": "Komponent",
|
|
380
433
|
"workspace-presets-form-active-labels": "Aktive valg ({{count}})",
|
|
381
|
-
"workspace-label-active": "AKTIV"
|
|
434
|
+
"workspace-label-active": "AKTIV",
|
|
435
|
+
"workspace-copy-to-clipboard": "Kopier arbeidsflate som JSON",
|
|
436
|
+
"workspace-paste-from-clipboard": "Last arbeidsflate fra JSON",
|
|
437
|
+
"workspace-copy-viewpreset-to-clipboard": "Kopier snarvei som JSON",
|
|
438
|
+
"workspace-paste-viewpreset-from-clipboard": "Last snarvei fra JSON",
|
|
439
|
+
"workspace-paste-dialog-title": "Last inn arbeidsflate fra JSON",
|
|
440
|
+
"workspace-paste-viewpreset-dialog-title": "Last snarvei fra JSON",
|
|
441
|
+
"workspace-paste-load-button": "Last inn arbeidsflate",
|
|
442
|
+
"workspace-paste-load-viewpreset-button": "Last inn snarvei",
|
|
443
|
+
"workspace-paste-placeholder": "Lim inn arbeidsflate-JSON her",
|
|
444
|
+
"workspace-paste-viewpreset-placeholder": "Lim inn snarvei-JSON her",
|
|
445
|
+
"workspace-paste-field-label": "Arbeidsflate-JSON",
|
|
446
|
+
"workspace-paste-viewpreset-field-label": "Snarvei-JSON",
|
|
447
|
+
"workspace-copy-success": "Arbeidsflate-JSON kopiert til utklippstavlen",
|
|
448
|
+
"workspace-paste-success": "Arbeidsflate lastet inn",
|
|
449
|
+
"workspace-copy-viewpreset-success": "Snarvei-JSON kopiert til utklippstavlen",
|
|
450
|
+
"workspace-paste-viewpreset-success": "Snarvei lastet inn",
|
|
451
|
+
"workspace-paste-validation-invalid-json": "Ugyldig JSON: {{ERROR}}",
|
|
452
|
+
"workspace-paste-validation-not-object": "Inndata må være et JSON-objekt",
|
|
453
|
+
"workspace-paste-validation-missing-field": "Mangler påkrevd felt: \"{{ERROR}}\"",
|
|
454
|
+
"workspace-paste-validation-unexpanded-views": "Arbeidsflaten inneholder referanser til snarveier. Bruk Kopier-knappen for å få en kompatibel versjon.",
|
|
455
|
+
"workspace-paste-validation-wrong-preset-type": "Utklippstavlen inneholder en Snarvei, ikke en Arbeidsflate.",
|
|
456
|
+
"viewpreset-paste-validation-wrong-preset-type": "Utklippstavlen inneholder en Arbeidsflate, ikke en Snarvei."
|
|
382
457
|
};
|
|
383
458
|
var nl = {
|
|
384
459
|
"workspace-menu": "Workspace menu",
|
|
@@ -414,8 +489,11 @@ var nl = {
|
|
|
414
489
|
"workspace-control-split-horizontal": "Splits paneel horizontaal",
|
|
415
490
|
"workspace-control-split-vertical": "Splits paneel verticaal",
|
|
416
491
|
"workspace-control-split-shift": "Houdt Shift ingedrukt om viewpreset te kopieren",
|
|
492
|
+
"workspace-control-split-horizontal-with-data": "Splits paneel horizontaal en kopieer de viewpreset",
|
|
493
|
+
"workspace-control-split-vertical-with-data": "Splits paneel verticaal en kopieer de viewpreset",
|
|
417
494
|
"workspace-control-expand": "Vergroot paneel",
|
|
418
495
|
"workspace-control-unexpand": "Verklein paneel",
|
|
496
|
+
"workspace-control-show-options": "Opties weergeven",
|
|
419
497
|
"workspace-control-close": "Sluit paneel",
|
|
420
498
|
"workspace-control-close-message-title": "Oeps",
|
|
421
499
|
"workspace-control-close-message-description": "Weet je zeker dat je dit paneel wilt sluiten? Alle wijzigingen zullen verloren gaan",
|
|
@@ -499,7 +577,29 @@ var nl = {
|
|
|
499
577
|
"workspace-label-active": "ACTIVE",
|
|
500
578
|
"fetch-config-error-retry": "Opnieuw proberen",
|
|
501
579
|
"fetch-config-error-title": "Het ophalen van de label configuratie is mislukt",
|
|
502
|
-
"fetch-config-no-labels-available": "Er zijn geen labels beschikbaar, neem contact op met de administrator"
|
|
580
|
+
"fetch-config-no-labels-available": "Er zijn geen labels beschikbaar, neem contact op met de administrator",
|
|
581
|
+
"workspace-copy-to-clipboard": "Kopieer als JSON",
|
|
582
|
+
"workspace-paste-from-clipboard": "Laad vanuit JSON",
|
|
583
|
+
"workspace-copy-viewpreset-to-clipboard": "Kopieer view preset als JSON",
|
|
584
|
+
"workspace-paste-viewpreset-from-clipboard": "Laad view preset vanuit JSON",
|
|
585
|
+
"workspace-paste-dialog-title": "Laad workspace vanuit JSON",
|
|
586
|
+
"workspace-paste-viewpreset-dialog-title": "Laad view preset vanuit JSON",
|
|
587
|
+
"workspace-paste-load-button": "Laad workspace",
|
|
588
|
+
"workspace-paste-load-viewpreset-button": "Laad view preset",
|
|
589
|
+
"workspace-paste-placeholder": "Plak workspace JSON hier",
|
|
590
|
+
"workspace-paste-viewpreset-placeholder": "Plak view preset JSON hier",
|
|
591
|
+
"workspace-paste-field-label": "Workspace JSON",
|
|
592
|
+
"workspace-paste-viewpreset-field-label": "View preset JSON",
|
|
593
|
+
"workspace-copy-success": "Workspace JSON is gekopieerd naar het clipboard",
|
|
594
|
+
"workspace-paste-success": "Workspace geladen",
|
|
595
|
+
"workspace-copy-viewpreset-success": "View preset JSON is gekopieerd naar het clipboard",
|
|
596
|
+
"workspace-paste-viewpreset-success": "View preset is geladen",
|
|
597
|
+
"workspace-paste-validation-invalid-json": "Ongeldige JSON: {{ERROR}}",
|
|
598
|
+
"workspace-paste-validation-not-object": "De invoer moet een geldig JSON-object zijn.",
|
|
599
|
+
"workspace-paste-validation-missing-field": "Ontbrekend verplicht veld: \"{{ERROR}}\"",
|
|
600
|
+
"workspace-paste-validation-unexpanded-views": "Workspace contains view preset references. Use the Copy button to get a portable version.",
|
|
601
|
+
"workspace-paste-validation-wrong-preset-type": "Het klembord bevat een weergave-opmaakprofiel, geen werkruimte-opmaakprofiel.",
|
|
602
|
+
"viewpreset-paste-validation-wrong-preset-type": "Het klembord bevat een werkruimte-opmaakprofiel, geen weergave-opmaakprofiel."
|
|
503
603
|
};
|
|
504
604
|
var workspaceTranslations = {
|
|
505
605
|
en: en,
|
|
@@ -962,10 +1062,16 @@ var getViewPreset = /*#__PURE__*/function () {
|
|
|
962
1062
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
963
1063
|
while (1) switch (_context.prev = _context.next) {
|
|
964
1064
|
case 0:
|
|
1065
|
+
if (viewpresetId) {
|
|
1066
|
+
_context.next = 2;
|
|
1067
|
+
break;
|
|
1068
|
+
}
|
|
1069
|
+
return _context.abrupt("return", undefined);
|
|
1070
|
+
case 2:
|
|
965
1071
|
return _context.abrupt("return", fetch(getPresetBaseUrl() + "/viewpreset/" + viewpresetId, {
|
|
966
1072
|
headers: getHeaders(auth)
|
|
967
1073
|
}).then(handleResponse));
|
|
968
|
-
case
|
|
1074
|
+
case 3:
|
|
969
1075
|
case "end":
|
|
970
1076
|
return _context.stop();
|
|
971
1077
|
}
|
|
@@ -976,39 +1082,27 @@ var getViewPreset = /*#__PURE__*/function () {
|
|
|
976
1082
|
};
|
|
977
1083
|
}();
|
|
978
1084
|
var getViewPresets$1 = /*#__PURE__*/function () {
|
|
979
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(auth
|
|
980
|
-
var
|
|
1085
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(auth) {
|
|
1086
|
+
var url;
|
|
981
1087
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
982
1088
|
while (1) switch (_context2.prev = _context2.next) {
|
|
983
1089
|
case 0:
|
|
984
|
-
|
|
985
|
-
searchParams = new URLSearchParams();
|
|
986
|
-
if (params) {
|
|
987
|
-
Object.entries(params).forEach(function (_ref3) {
|
|
988
|
-
var key = _ref3[0],
|
|
989
|
-
value = _ref3[1];
|
|
990
|
-
if (value !== undefined && value !== null) {
|
|
991
|
-
searchParams.append(key, String(value));
|
|
992
|
-
}
|
|
993
|
-
});
|
|
994
|
-
}
|
|
995
|
-
queryString = searchParams.toString();
|
|
996
|
-
url = queryString ? baseUrl + "?" + queryString : baseUrl;
|
|
1090
|
+
url = getPresetBaseUrl() + "/viewpreset";
|
|
997
1091
|
return _context2.abrupt("return", fetch(url, {
|
|
998
1092
|
headers: getHeaders(auth)
|
|
999
1093
|
}).then(handleResponse));
|
|
1000
|
-
case
|
|
1094
|
+
case 2:
|
|
1001
1095
|
case "end":
|
|
1002
1096
|
return _context2.stop();
|
|
1003
1097
|
}
|
|
1004
1098
|
}, _callee2);
|
|
1005
1099
|
}));
|
|
1006
|
-
return function getViewPresets(_x3
|
|
1100
|
+
return function getViewPresets(_x3) {
|
|
1007
1101
|
return _ref2.apply(this, arguments);
|
|
1008
1102
|
};
|
|
1009
1103
|
}();
|
|
1010
1104
|
var updateViewPreset = /*#__PURE__*/function () {
|
|
1011
|
-
var
|
|
1105
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(viewpresetId, data, auth) {
|
|
1012
1106
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
1013
1107
|
while (1) switch (_context3.prev = _context3.next) {
|
|
1014
1108
|
case 0:
|
|
@@ -1023,12 +1117,12 @@ var updateViewPreset = /*#__PURE__*/function () {
|
|
|
1023
1117
|
}
|
|
1024
1118
|
}, _callee3);
|
|
1025
1119
|
}));
|
|
1026
|
-
return function updateViewPreset(_x5, _x6
|
|
1027
|
-
return
|
|
1120
|
+
return function updateViewPreset(_x4, _x5, _x6) {
|
|
1121
|
+
return _ref3.apply(this, arguments);
|
|
1028
1122
|
};
|
|
1029
1123
|
}();
|
|
1030
1124
|
var saveViewPreset = /*#__PURE__*/function () {
|
|
1031
|
-
var
|
|
1125
|
+
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(viewPresetId, data, auth) {
|
|
1032
1126
|
var payload;
|
|
1033
1127
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
1034
1128
|
while (1) switch (_context4.prev = _context4.next) {
|
|
@@ -1047,12 +1141,12 @@ var saveViewPreset = /*#__PURE__*/function () {
|
|
|
1047
1141
|
}
|
|
1048
1142
|
}, _callee4);
|
|
1049
1143
|
}));
|
|
1050
|
-
return function saveViewPreset(_x8, _x9
|
|
1051
|
-
return
|
|
1144
|
+
return function saveViewPreset(_x7, _x8, _x9) {
|
|
1145
|
+
return _ref4.apply(this, arguments);
|
|
1052
1146
|
};
|
|
1053
1147
|
}();
|
|
1054
1148
|
var saveViewPresetAs = /*#__PURE__*/function () {
|
|
1055
|
-
var
|
|
1149
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(data, auth) {
|
|
1056
1150
|
var _response$headers$get;
|
|
1057
1151
|
var payload, response, headerLocation;
|
|
1058
1152
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
@@ -1080,12 +1174,12 @@ var saveViewPresetAs = /*#__PURE__*/function () {
|
|
|
1080
1174
|
}
|
|
1081
1175
|
}, _callee5);
|
|
1082
1176
|
}));
|
|
1083
|
-
return function saveViewPresetAs(
|
|
1084
|
-
return
|
|
1177
|
+
return function saveViewPresetAs(_x0, _x1) {
|
|
1178
|
+
return _ref5.apply(this, arguments);
|
|
1085
1179
|
};
|
|
1086
1180
|
}();
|
|
1087
1181
|
var deleteViewPreset = /*#__PURE__*/function () {
|
|
1088
|
-
var
|
|
1182
|
+
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(viewPresetId, auth) {
|
|
1089
1183
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
1090
1184
|
while (1) switch (_context6.prev = _context6.next) {
|
|
1091
1185
|
case 0:
|
|
@@ -1099,8 +1193,8 @@ var deleteViewPreset = /*#__PURE__*/function () {
|
|
|
1099
1193
|
}
|
|
1100
1194
|
}, _callee6);
|
|
1101
1195
|
}));
|
|
1102
|
-
return function deleteViewPreset(
|
|
1103
|
-
return
|
|
1196
|
+
return function deleteViewPreset(_x10, _x11) {
|
|
1197
|
+
return _ref6.apply(this, arguments);
|
|
1104
1198
|
};
|
|
1105
1199
|
}();
|
|
1106
1200
|
|
|
@@ -1145,15 +1239,15 @@ var viewpresetQueryOptions = {
|
|
|
1145
1239
|
}()
|
|
1146
1240
|
});
|
|
1147
1241
|
},
|
|
1148
|
-
getViewPresets: function getViewPresets(
|
|
1242
|
+
getViewPresets: function getViewPresets(credentials) {
|
|
1149
1243
|
return queryOptions({
|
|
1150
|
-
queryKey:
|
|
1244
|
+
queryKey: viewpresetQueryOptions.keys.lists(),
|
|
1151
1245
|
queryFn: function () {
|
|
1152
1246
|
var _queryFn2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
1153
1247
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1154
1248
|
while (1) switch (_context2.prev = _context2.next) {
|
|
1155
1249
|
case 0:
|
|
1156
|
-
return _context2.abrupt("return", getViewPresets$1(credentials
|
|
1250
|
+
return _context2.abrupt("return", getViewPresets$1(credentials));
|
|
1157
1251
|
case 1:
|
|
1158
1252
|
case "end":
|
|
1159
1253
|
return _context2.stop();
|
|
@@ -1272,6 +1366,7 @@ var WorkspacePresetAction;
|
|
|
1272
1366
|
WorkspacePresetAction["SHARE"] = "SHARE";
|
|
1273
1367
|
WorkspacePresetAction["OPEN_TAB"] = "OPEN_TAB";
|
|
1274
1368
|
WorkspacePresetAction["EDIT_TITLE"] = "EDIT_TITLE";
|
|
1369
|
+
WorkspacePresetAction["COPY_TO_CLIPBOARD"] = "COPY_TO_CLIPBOARD";
|
|
1275
1370
|
})(WorkspacePresetAction || (WorkspacePresetAction = {}));
|
|
1276
1371
|
var WorkspaceErrorType;
|
|
1277
1372
|
(function (WorkspaceErrorType) {
|
|
@@ -1383,7 +1478,7 @@ var sharedFilterState = {
|
|
|
1383
1478
|
};
|
|
1384
1479
|
var defaultPresetFilterState = [personalFilterState, systemFilterState, sharedFilterState];
|
|
1385
1480
|
var workspaceListAdapter = createEntityAdapter();
|
|
1386
|
-
var initialState$
|
|
1481
|
+
var initialState$2 = Object.assign({
|
|
1387
1482
|
isFetching: false,
|
|
1388
1483
|
error: undefined,
|
|
1389
1484
|
isWorkspaceListDialogOpen: false
|
|
@@ -1392,8 +1487,8 @@ var initialState$3 = Object.assign({
|
|
|
1392
1487
|
workspaceListFilters: defaultPresetFilterState,
|
|
1393
1488
|
workspaceLabelFilters: undefined
|
|
1394
1489
|
});
|
|
1395
|
-
var slice$
|
|
1396
|
-
initialState: initialState$
|
|
1490
|
+
var slice$2 = createSlice({
|
|
1491
|
+
initialState: initialState$2,
|
|
1397
1492
|
name: 'workspaceList',
|
|
1398
1493
|
reducers: {
|
|
1399
1494
|
fetchWorkspaceList: function fetchWorkspaceList(draft, _action) {
|
|
@@ -1525,8 +1620,8 @@ var slice$3 = createSlice({
|
|
|
1525
1620
|
}
|
|
1526
1621
|
}
|
|
1527
1622
|
});
|
|
1528
|
-
var workspaceListReducer = slice$
|
|
1529
|
-
workspaceListActions = slice$
|
|
1623
|
+
var workspaceListReducer = slice$2.reducer,
|
|
1624
|
+
workspaceListActions = slice$2.actions;
|
|
1530
1625
|
|
|
1531
1626
|
/* *
|
|
1532
1627
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -1567,17 +1662,17 @@ var viewPresetsAdapter = createEntityAdapter({
|
|
|
1567
1662
|
return mapPreset.panelId;
|
|
1568
1663
|
}
|
|
1569
1664
|
});
|
|
1570
|
-
var initialState$
|
|
1665
|
+
var initialState$1 = viewPresetsAdapter.getInitialState();
|
|
1571
1666
|
var warningsPresetChangeActions = [warningsFiltersActions.setWarningFilters];
|
|
1572
1667
|
var syncGroupChangeActions = [syncGroupsActions.syncGroupRemoveTarget, syncGroupsActions.syncGroupAddTarget];
|
|
1573
|
-
var mapPresetChangeActions = [layerActions.setBaseLayers, layerActions.layerDelete, layerActions.addLayer, layerActions.duplicateMapLayer, layerActions.layerChangeEnabled, layerActions.layerChangeName, layerActions.layerChangeStyle, layerActions.layerChangeOpacity, layerActions.layerChangeDimension, layerActions.layerChangeAcceptanceTime, 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.changeOverlayer, uiActions.setActiveMapIdForDialog, uiActions.setToggleOpenDialog, genericActions.setBbox, mapActions.setBbox, mapActions.toggleClock, mapActions.setClockPositionSize];
|
|
1668
|
+
var mapPresetChangeActions = [layerActions.setBaseLayers, layerActions.layerDelete, layerActions.addLayer, layerActions.duplicateMapLayer, layerActions.layerChangeEnabled, layerActions.layerChangeName, layerActions.layerChangeStyle, layerActions.layerChangeOpacity, layerActions.layerChangeDimension, layerActions.layerChangeAcceptanceTime, 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.changeOverlayer, uiActions.setActiveMapIdForDialog, uiActions.setToggleOpenDialog, genericActions.setBbox, mapActions.setBbox, mapActions.toggleClock, mapActions.toggleClockOptions, mapActions.setClockPositionSize, mapActions.setDockedLayerManagerSize, mapActions.setDockedLayerManagerPosition, mapActions.setDockedLayerManagerDimensions];
|
|
1574
1669
|
var timeSeriesPresetChangeActions = [timeSeriesActions.addParameter, timeSeriesActions.addPlot, timeSeriesActions.deleteParameter, timeSeriesActions.deletePlot, timeSeriesActions.moveParameter, timeSeriesActions.movePlot, timeSeriesActions.toggleParameter, timeSeriesActions.togglePlot, timeSeriesActions.patchParameter, timeSeriesActions.updateTitle];
|
|
1575
|
-
var soundingsChangeActions = [soundingsActions.updateSelectedSource, soundingsActions.updateSelectedLocation, soundingsActions.updateSelectedTime, soundingsActions.updateDiagramType, soundingsActions.toggleLocationMarkers];
|
|
1670
|
+
var soundingsChangeActions = [soundingsActions.updateSelectedSource, soundingsActions.updateSelectedLocation, soundingsActions.updateSelectedTime, soundingsActions.updateDiagramType, soundingsActions.toggleLocationMarkers, soundingsActions.changeSoundingPanelOrder, soundingsActions.toggleSoundingPanelVisibility];
|
|
1576
1671
|
var supportedMapActionOrigins = [layerTypes.LayerActionOrigin.layerManager, layerTypes.LayerActionOrigin.wmsLoader, mapEnums.MapActionOrigin.map];
|
|
1577
1672
|
var supportedTimeSeriesActionOrigins = [TimeSeriesTypes.TimeSeriesActionOrigin.timeSeriesManager, TimeSeriesTypes.TimeSeriesActionOrigin.timeSeriesSelect];
|
|
1578
|
-
var supportedSoundingsActionOrigins = [SoundingsTypes.SoundingsActionOrigin.soundingsComponent];
|
|
1579
|
-
var slice$
|
|
1580
|
-
initialState: initialState$
|
|
1673
|
+
var supportedSoundingsActionOrigins = [SoundingsTypes.SoundingsActionOrigin.soundingsComponent, SoundingsTypes.SoundingsActionOrigin.soundingsManager];
|
|
1674
|
+
var slice$1 = createSlice({
|
|
1675
|
+
initialState: initialState$1,
|
|
1581
1676
|
name: 'viewPresets',
|
|
1582
1677
|
reducers: {
|
|
1583
1678
|
// fetch list actions
|
|
@@ -1590,44 +1685,10 @@ var slice$2 = createSlice({
|
|
|
1590
1685
|
viewPresetsAdapter.setOne(draft, entity);
|
|
1591
1686
|
}
|
|
1592
1687
|
},
|
|
1593
|
-
|
|
1688
|
+
fetchedViewPreset: function fetchedViewPreset(draft, action) {
|
|
1594
1689
|
var _action$payload = action.payload,
|
|
1595
1690
|
panelId = _action$payload.panelId,
|
|
1596
|
-
|
|
1597
|
-
filterParams = _action$payload.filterParams;
|
|
1598
|
-
var entity = draft.entities[panelId];
|
|
1599
|
-
if (entity) {
|
|
1600
|
-
entity.isFetching = false;
|
|
1601
|
-
// If there are filter params, set filter results
|
|
1602
|
-
if (Object.keys(filterParams).length !== 0 && viewPresets.length !== 0) {
|
|
1603
|
-
var _viewPresets$reduce = viewPresets.reduce(function (result, viewPreset) {
|
|
1604
|
-
var _Object$assign;
|
|
1605
|
-
return {
|
|
1606
|
-
ids: [].concat(result.ids, [viewPreset.id]),
|
|
1607
|
-
entities: Object.assign({}, result.entities, (_Object$assign = {}, _Object$assign[viewPreset.id] = viewPreset, _Object$assign))
|
|
1608
|
-
};
|
|
1609
|
-
}, {
|
|
1610
|
-
ids: [],
|
|
1611
|
-
entities: {}
|
|
1612
|
-
}),
|
|
1613
|
-
ids = _viewPresets$reduce.ids,
|
|
1614
|
-
entities = _viewPresets$reduce.entities;
|
|
1615
|
-
entity.filterResults.entities = entities;
|
|
1616
|
-
entity.filterResults.ids = ids;
|
|
1617
|
-
} else {
|
|
1618
|
-
// If no filtering applied or no results returned from BE, clear out filter results
|
|
1619
|
-
entity.filterResults = {
|
|
1620
|
-
entities: {},
|
|
1621
|
-
ids: []
|
|
1622
|
-
};
|
|
1623
|
-
}
|
|
1624
|
-
viewPresetsAdapter.setOne(draft, entity);
|
|
1625
|
-
}
|
|
1626
|
-
},
|
|
1627
|
-
fetchedViewPreset: function fetchedViewPreset(draft, action) {
|
|
1628
|
-
var _action$payload2 = action.payload,
|
|
1629
|
-
panelId = _action$payload2.panelId,
|
|
1630
|
-
mapPresetId = _action$payload2.viewPresetId;
|
|
1691
|
+
mapPresetId = _action$payload.viewPresetId;
|
|
1631
1692
|
var entity = draft.entities[panelId];
|
|
1632
1693
|
if (entity) {
|
|
1633
1694
|
entity.isFetching = false;
|
|
@@ -1647,9 +1708,9 @@ var slice$2 = createSlice({
|
|
|
1647
1708
|
}
|
|
1648
1709
|
},
|
|
1649
1710
|
savedViewPreset: function savedViewPreset(draft, action) {
|
|
1650
|
-
var _action$
|
|
1651
|
-
panelId = _action$
|
|
1652
|
-
viewPresetId = _action$
|
|
1711
|
+
var _action$payload2 = action.payload,
|
|
1712
|
+
panelId = _action$payload2.panelId,
|
|
1713
|
+
viewPresetId = _action$payload2.viewPresetId;
|
|
1653
1714
|
var entity = draft.entities[panelId];
|
|
1654
1715
|
if (entity) {
|
|
1655
1716
|
entity.isFetching = false;
|
|
@@ -1659,9 +1720,9 @@ var slice$2 = createSlice({
|
|
|
1659
1720
|
}
|
|
1660
1721
|
},
|
|
1661
1722
|
errorViewPreset: function errorViewPreset(draft, action) {
|
|
1662
|
-
var _action$
|
|
1663
|
-
panelId = _action$
|
|
1664
|
-
error = _action$
|
|
1723
|
+
var _action$payload3 = action.payload,
|
|
1724
|
+
panelId = _action$payload3.panelId,
|
|
1725
|
+
error = _action$payload3.error;
|
|
1665
1726
|
var entity = draft.entities[panelId];
|
|
1666
1727
|
if (entity) {
|
|
1667
1728
|
entity.error = error;
|
|
@@ -1671,9 +1732,9 @@ var slice$2 = createSlice({
|
|
|
1671
1732
|
},
|
|
1672
1733
|
// map actions
|
|
1673
1734
|
setViewPresetHasChanges: function setViewPresetHasChanges(draft, action) {
|
|
1674
|
-
var _action$
|
|
1675
|
-
panelId = _action$
|
|
1676
|
-
hasChanges = _action$
|
|
1735
|
+
var _action$payload4 = action.payload,
|
|
1736
|
+
panelId = _action$payload4.panelId,
|
|
1737
|
+
hasChanges = _action$payload4.hasChanges;
|
|
1677
1738
|
var entity = draft.entities[panelId];
|
|
1678
1739
|
if (entity) {
|
|
1679
1740
|
entity.hasChanges = hasChanges;
|
|
@@ -1681,9 +1742,9 @@ var slice$2 = createSlice({
|
|
|
1681
1742
|
}
|
|
1682
1743
|
},
|
|
1683
1744
|
setViewPresetInline: function setViewPresetInline(draft, action) {
|
|
1684
|
-
var _action$
|
|
1685
|
-
panelId = _action$
|
|
1686
|
-
isInline = _action$
|
|
1745
|
+
var _action$payload5 = action.payload,
|
|
1746
|
+
panelId = _action$payload5.panelId,
|
|
1747
|
+
isInline = _action$payload5.isInline;
|
|
1687
1748
|
var entity = draft.entities[panelId];
|
|
1688
1749
|
if (entity) {
|
|
1689
1750
|
if (isInline) {
|
|
@@ -1693,9 +1754,9 @@ var slice$2 = createSlice({
|
|
|
1693
1754
|
}
|
|
1694
1755
|
},
|
|
1695
1756
|
setActiveViewPresetId: function setActiveViewPresetId(draft, action) {
|
|
1696
|
-
var _action$
|
|
1697
|
-
panelId = _action$
|
|
1698
|
-
mapPresetId = _action$
|
|
1757
|
+
var _action$payload6 = action.payload,
|
|
1758
|
+
panelId = _action$payload6.panelId,
|
|
1759
|
+
mapPresetId = _action$payload6.viewPresetId;
|
|
1699
1760
|
var entity = draft.entities[panelId];
|
|
1700
1761
|
if (entity) {
|
|
1701
1762
|
entity.activeViewPresetId = mapPresetId;
|
|
@@ -1704,9 +1765,9 @@ var slice$2 = createSlice({
|
|
|
1704
1765
|
}
|
|
1705
1766
|
},
|
|
1706
1767
|
selectViewPreset: function selectViewPreset(draft, action) {
|
|
1707
|
-
var _action$
|
|
1708
|
-
panelId = _action$
|
|
1709
|
-
mapPresetId = _action$
|
|
1768
|
+
var _action$payload7 = action.payload,
|
|
1769
|
+
panelId = _action$payload7.panelId,
|
|
1770
|
+
mapPresetId = _action$payload7.viewPresetId;
|
|
1710
1771
|
var entity = draft.entities[panelId];
|
|
1711
1772
|
if (entity) {
|
|
1712
1773
|
// only update activeMapPresetId after selecting a NEW preset
|
|
@@ -1722,9 +1783,9 @@ var slice$2 = createSlice({
|
|
|
1722
1783
|
// action is intercepted in mapPresets/listener
|
|
1723
1784
|
onSuccessViewPresetAction: function onSuccessViewPresetAction(_draft, _action) {},
|
|
1724
1785
|
registerViewPreset: function registerViewPreset(draft, action) {
|
|
1725
|
-
var _action$
|
|
1726
|
-
mapId = _action$
|
|
1727
|
-
mapPresetId = _action$
|
|
1786
|
+
var _action$payload8 = action.payload,
|
|
1787
|
+
mapId = _action$payload8.panelId,
|
|
1788
|
+
mapPresetId = _action$payload8.viewPresetId;
|
|
1728
1789
|
viewPresetsAdapter.setOne(draft, {
|
|
1729
1790
|
panelId: mapId,
|
|
1730
1791
|
activeViewPresetId: mapPresetId,
|
|
@@ -1753,9 +1814,9 @@ var slice$2 = createSlice({
|
|
|
1753
1814
|
delete draft.viewPresetDialog;
|
|
1754
1815
|
},
|
|
1755
1816
|
toggleViewPresetListDialog: function toggleViewPresetListDialog(draft, action) {
|
|
1756
|
-
var _action$
|
|
1757
|
-
isViewPresetDialogOpen = _action$
|
|
1758
|
-
panelId = _action$
|
|
1817
|
+
var _action$payload9 = action.payload,
|
|
1818
|
+
isViewPresetDialogOpen = _action$payload9.isViewPresetListDialogOpen,
|
|
1819
|
+
panelId = _action$payload9.panelId;
|
|
1759
1820
|
var entity = draft.entities[panelId];
|
|
1760
1821
|
if (entity) {
|
|
1761
1822
|
entity.isViewPresetListDialogOpen = isViewPresetDialogOpen;
|
|
@@ -1763,11 +1824,11 @@ var slice$2 = createSlice({
|
|
|
1763
1824
|
}
|
|
1764
1825
|
},
|
|
1765
1826
|
toggleSelectFilterChip: function toggleSelectFilterChip(draft, action) {
|
|
1766
|
-
var _action$
|
|
1767
|
-
id = _action$
|
|
1768
|
-
isSelected = _action$
|
|
1769
|
-
panelId = _action$
|
|
1770
|
-
isAdmin = _action$
|
|
1827
|
+
var _action$payload0 = action.payload,
|
|
1828
|
+
id = _action$payload0.id,
|
|
1829
|
+
isSelected = _action$payload0.isSelected,
|
|
1830
|
+
panelId = _action$payload0.panelId,
|
|
1831
|
+
isAdmin = _action$payload0.isAdmin;
|
|
1771
1832
|
var entity = draft.entities[panelId];
|
|
1772
1833
|
if (entity) {
|
|
1773
1834
|
var relevantFilters = isAdmin ? entity.filters.filter(function (filter) {
|
|
@@ -1818,9 +1879,9 @@ var slice$2 = createSlice({
|
|
|
1818
1879
|
}
|
|
1819
1880
|
},
|
|
1820
1881
|
setFilterChips: function setFilterChips(draft, action) {
|
|
1821
|
-
var _action$
|
|
1822
|
-
panelId = _action$
|
|
1823
|
-
filters = _action$
|
|
1882
|
+
var _action$payload1 = action.payload,
|
|
1883
|
+
panelId = _action$payload1.panelId,
|
|
1884
|
+
filters = _action$payload1.filters;
|
|
1824
1885
|
var entity = draft.entities[panelId];
|
|
1825
1886
|
if (!entity) {
|
|
1826
1887
|
return;
|
|
@@ -1836,18 +1897,18 @@ var slice$2 = createSlice({
|
|
|
1836
1897
|
});
|
|
1837
1898
|
},
|
|
1838
1899
|
searchFilter: function searchFilter(draft, action) {
|
|
1839
|
-
var _action$
|
|
1840
|
-
searchQuery = _action$
|
|
1841
|
-
panelId = _action$
|
|
1900
|
+
var _action$payload10 = action.payload,
|
|
1901
|
+
searchQuery = _action$payload10.searchQuery,
|
|
1902
|
+
panelId = _action$payload10.panelId;
|
|
1842
1903
|
var entity = draft.entities[panelId];
|
|
1843
1904
|
if (entity) {
|
|
1844
1905
|
entity.searchQuery = searchQuery;
|
|
1845
1906
|
}
|
|
1846
1907
|
},
|
|
1847
1908
|
setViewPresetLabelFilters: function setViewPresetLabelFilters(draft, action) {
|
|
1848
|
-
var _action$
|
|
1849
|
-
panelId = _action$
|
|
1850
|
-
labels = _action$
|
|
1909
|
+
var _action$payload11 = action.payload,
|
|
1910
|
+
panelId = _action$payload11.panelId,
|
|
1911
|
+
labels = _action$payload11.labels;
|
|
1851
1912
|
var entity = draft.entities[panelId];
|
|
1852
1913
|
if (!entity) {
|
|
1853
1914
|
return;
|
|
@@ -1867,9 +1928,9 @@ var slice$2 = createSlice({
|
|
|
1867
1928
|
},
|
|
1868
1929
|
extraReducers: function extraReducers(builder) {
|
|
1869
1930
|
builder.addCase(mapActions.setMapPresetError, function (draft, action) {
|
|
1870
|
-
var _action$
|
|
1871
|
-
mapId = _action$
|
|
1872
|
-
error = _action$
|
|
1931
|
+
var _action$payload12 = action.payload,
|
|
1932
|
+
mapId = _action$payload12.mapId,
|
|
1933
|
+
error = _action$payload12.error;
|
|
1873
1934
|
var entity = draft.entities[mapId];
|
|
1874
1935
|
if (entity) {
|
|
1875
1936
|
entity.error = error ? {
|
|
@@ -1892,9 +1953,9 @@ var slice$2 = createSlice({
|
|
|
1892
1953
|
}
|
|
1893
1954
|
});
|
|
1894
1955
|
builder.addCase(workspaceListActions.onSuccessWorkspacePresetAction, function (draft, action) {
|
|
1895
|
-
var _action$
|
|
1896
|
-
wsAction = _action$
|
|
1897
|
-
views = _action$
|
|
1956
|
+
var _action$payload13 = action.payload,
|
|
1957
|
+
wsAction = _action$payload13.action,
|
|
1958
|
+
views = _action$payload13.views;
|
|
1898
1959
|
var shouldClear = wsAction === WorkspacePresetAction.SAVE || wsAction === WorkspacePresetAction.SAVE_AS || wsAction === WorkspacePresetAction.SAVE_SYSTEM_PRESET || wsAction === WorkspacePresetAction.SAVE_SYSTEM_PRESET_AS || wsAction === WorkspacePresetAction.EDIT;
|
|
1899
1960
|
if (!shouldClear) {
|
|
1900
1961
|
return;
|
|
@@ -1922,9 +1983,9 @@ var slice$2 = createSlice({
|
|
|
1922
1983
|
});
|
|
1923
1984
|
warningsPresetChangeActions.map(function (warningsAction) {
|
|
1924
1985
|
return builder.addCase(warningsAction, function (draft, action) {
|
|
1925
|
-
var _action$
|
|
1926
|
-
systemUpdate = _action$
|
|
1927
|
-
panelId = _action$
|
|
1986
|
+
var _action$payload14 = action.payload,
|
|
1987
|
+
systemUpdate = _action$payload14.systemUpdate,
|
|
1988
|
+
panelId = _action$payload14.panelId;
|
|
1928
1989
|
if (!systemUpdate && panelId) {
|
|
1929
1990
|
var entity = draft.entities[panelId];
|
|
1930
1991
|
if (entity && !(entity != null && entity.hasChanges)) {
|
|
@@ -1936,9 +1997,9 @@ var slice$2 = createSlice({
|
|
|
1936
1997
|
});
|
|
1937
1998
|
syncGroupChangeActions.map(function (syncGroupAction) {
|
|
1938
1999
|
return builder.addCase(syncGroupAction, function (draft, action) {
|
|
1939
|
-
var _action$
|
|
1940
|
-
origin = _action$
|
|
1941
|
-
targetId = _action$
|
|
2000
|
+
var _action$payload15 = action.payload,
|
|
2001
|
+
origin = _action$payload15.origin,
|
|
2002
|
+
targetId = _action$payload15.targetId;
|
|
1942
2003
|
if (origin === 'user') {
|
|
1943
2004
|
var entity = draft.entities[targetId];
|
|
1944
2005
|
if (entity && !(entity != null && entity.hasChanges)) {
|
|
@@ -1950,9 +2011,9 @@ var slice$2 = createSlice({
|
|
|
1950
2011
|
});
|
|
1951
2012
|
mapPresetChangeActions.map(function (mapPresetAction) {
|
|
1952
2013
|
return builder.addCase(mapPresetAction, function (draft, action) {
|
|
1953
|
-
var _action$
|
|
1954
|
-
mapId = _action$
|
|
1955
|
-
origin = _action$
|
|
2014
|
+
var _action$payload16 = action.payload,
|
|
2015
|
+
mapId = _action$payload16.mapId,
|
|
2016
|
+
origin = _action$payload16.origin;
|
|
1956
2017
|
var isChangeOriginSupported = supportedMapActionOrigins.includes(origin);
|
|
1957
2018
|
if (isChangeOriginSupported && mapId) {
|
|
1958
2019
|
var entity = draft.entities[mapId];
|
|
@@ -1965,9 +2026,9 @@ var slice$2 = createSlice({
|
|
|
1965
2026
|
});
|
|
1966
2027
|
timeSeriesPresetChangeActions.map(function (timeSeriesPresetAction) {
|
|
1967
2028
|
return builder.addCase(timeSeriesPresetAction, function (draft, action) {
|
|
1968
|
-
var _action$
|
|
1969
|
-
panelId = _action$
|
|
1970
|
-
origin = _action$
|
|
2029
|
+
var _action$payload17 = action.payload,
|
|
2030
|
+
panelId = _action$payload17.panelId,
|
|
2031
|
+
origin = _action$payload17.origin;
|
|
1971
2032
|
var isChangeOriginSupported = supportedTimeSeriesActionOrigins.includes(origin);
|
|
1972
2033
|
var changesRelevantProperties = timeSeriesPresetAction.type === timeSeriesActions.patchParameter.type ? Object.keys(action.payload.parameter).filter(function (key) {
|
|
1973
2034
|
return key !== 'id' && key !== 'instanceId';
|
|
@@ -1983,9 +2044,9 @@ var slice$2 = createSlice({
|
|
|
1983
2044
|
});
|
|
1984
2045
|
soundingsChangeActions.map(function (soundingsAction) {
|
|
1985
2046
|
return builder.addCase(soundingsAction, function (draft, action) {
|
|
1986
|
-
var _action$
|
|
1987
|
-
panelId = _action$
|
|
1988
|
-
origin = _action$
|
|
2047
|
+
var _action$payload18 = action.payload,
|
|
2048
|
+
panelId = _action$payload18.panelId,
|
|
2049
|
+
origin = _action$payload18.origin;
|
|
1989
2050
|
var isChangeOriginSupported = supportedSoundingsActionOrigins.includes(origin);
|
|
1990
2051
|
if (isChangeOriginSupported && panelId && panelId !== '') {
|
|
1991
2052
|
var entity = draft.entities[panelId];
|
|
@@ -1998,8 +2059,8 @@ var slice$2 = createSlice({
|
|
|
1998
2059
|
});
|
|
1999
2060
|
}
|
|
2000
2061
|
});
|
|
2001
|
-
var viewPresetsReducer = slice$
|
|
2002
|
-
viewPresetActions = slice$
|
|
2062
|
+
var viewPresetsReducer = slice$1.reducer,
|
|
2063
|
+
viewPresetActions = slice$1.actions;
|
|
2003
2064
|
|
|
2004
2065
|
/* *
|
|
2005
2066
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -2037,7 +2098,7 @@ var humanizeLabelStrings = function humanizeLabelStrings(value) {
|
|
|
2037
2098
|
return match.toUpperCase();
|
|
2038
2099
|
});
|
|
2039
2100
|
};
|
|
2040
|
-
var filterAndSortPresets = function filterAndSortPresets(presets, selectedFilters, username, isAdmin, labelFilters) {
|
|
2101
|
+
var filterAndSortPresets = function filterAndSortPresets(presets, selectedFilters, username, isAdmin, labelFilters, searchQuery) {
|
|
2041
2102
|
var selectedIds = selectedFilters.filter(function (filter) {
|
|
2042
2103
|
return filter.isSelected;
|
|
2043
2104
|
}).map(function (filter) {
|
|
@@ -2106,7 +2167,21 @@ var filterAndSortPresets = function filterAndSortPresets(presets, selectedFilter
|
|
|
2106
2167
|
}).sort(function (presetA, presetB) {
|
|
2107
2168
|
return presetA.title.localeCompare(presetB.title);
|
|
2108
2169
|
});
|
|
2109
|
-
|
|
2170
|
+
var filteredByQuery = [].concat(systemPresets, personalPresets, sharedPresets).filter(function (preset) {
|
|
2171
|
+
if (!searchQuery) {
|
|
2172
|
+
return true;
|
|
2173
|
+
}
|
|
2174
|
+
var terms = searchQuery.toLowerCase().trim().split(/\s+/).filter(Boolean);
|
|
2175
|
+
var fields = [preset.title, preset["abstract"], preset.description].filter(Boolean).map(function (fil) {
|
|
2176
|
+
return fil.toLowerCase();
|
|
2177
|
+
});
|
|
2178
|
+
return terms.every(function (term) {
|
|
2179
|
+
return fields.some(function (field) {
|
|
2180
|
+
return field.includes(term);
|
|
2181
|
+
});
|
|
2182
|
+
});
|
|
2183
|
+
});
|
|
2184
|
+
return filteredByQuery;
|
|
2110
2185
|
};
|
|
2111
2186
|
|
|
2112
2187
|
/* eslint-disable no-redeclare */
|
|
@@ -2240,7 +2315,8 @@ var getEmptyWorkspacePreset = function getEmptyWorkspacePreset() {
|
|
|
2240
2315
|
}
|
|
2241
2316
|
},
|
|
2242
2317
|
mosaicNode: '1_screen',
|
|
2243
|
-
viewType: 'singleWindow'
|
|
2318
|
+
viewType: 'singleWindow',
|
|
2319
|
+
username: 'global'
|
|
2244
2320
|
};
|
|
2245
2321
|
};
|
|
2246
2322
|
var createCustomEmptyMapWorkspace = function createCustomEmptyMapWorkspace(emptyWorkspaceTitle, emptyMapWorkspaceTitle, customMapPreset) {
|
|
@@ -2272,7 +2348,7 @@ var constructFilterParams = function constructFilterParams(filters, searchQuery)
|
|
|
2272
2348
|
});
|
|
2273
2349
|
};
|
|
2274
2350
|
|
|
2275
|
-
var initialState
|
|
2351
|
+
var initialState = {
|
|
2276
2352
|
id: '',
|
|
2277
2353
|
title: '',
|
|
2278
2354
|
views: {
|
|
@@ -2285,8 +2361,8 @@ var initialState$1 = {
|
|
|
2285
2361
|
hasChanges: false
|
|
2286
2362
|
};
|
|
2287
2363
|
var workspacePresetChangeActions = [viewPresetActions.selectViewPreset, viewPresetActions.setActiveViewPresetId, syncGroupsActions.syncGroupRemoveGroup, syncGroupsActions.syncGroupAddGroup, syncGroupsActions.syncGroupToggleIsTimeScrollingEnabled, syncGroupsActions.updateLinkedMap];
|
|
2288
|
-
var slice
|
|
2289
|
-
initialState: initialState
|
|
2364
|
+
var slice = createSlice({
|
|
2365
|
+
initialState: initialState,
|
|
2290
2366
|
name: 'workspace',
|
|
2291
2367
|
reducers: {
|
|
2292
2368
|
addWorkspaceView: function addWorkspaceView(draft, action) {
|
|
@@ -2361,7 +2437,9 @@ var slice$1 = createSlice({
|
|
|
2361
2437
|
draft.description = workspacePreset.description;
|
|
2362
2438
|
draft.labels = workspacePreset.labels;
|
|
2363
2439
|
draft.scope = workspacePreset.scope;
|
|
2440
|
+
draft.username = workspacePreset.username;
|
|
2364
2441
|
draft.syncGroups = [];
|
|
2442
|
+
draft.username = workspacePreset.username;
|
|
2365
2443
|
},
|
|
2366
2444
|
changeToEmptyMapWorkspace: function changeToEmptyMapWorkspace(draft, action) {
|
|
2367
2445
|
return draft;
|
|
@@ -2378,7 +2456,7 @@ var slice$1 = createSlice({
|
|
|
2378
2456
|
});
|
|
2379
2457
|
if (duplicateIdWithinPreset.length) {
|
|
2380
2458
|
console.warn('Invalid preset: duplicate viewId found.');
|
|
2381
|
-
return initialState
|
|
2459
|
+
return initialState;
|
|
2382
2460
|
}
|
|
2383
2461
|
draft.views = newViews;
|
|
2384
2462
|
if (action.payload.workspacePreset.syncGroups) {
|
|
@@ -2396,6 +2474,7 @@ var slice$1 = createSlice({
|
|
|
2396
2474
|
draft.isTimeScrollingEnabled = action.payload.workspacePreset.isTimeScrollingEnabled;
|
|
2397
2475
|
draft.labels = action.payload.workspacePreset.labels;
|
|
2398
2476
|
draft.description = action.payload.workspacePreset.description;
|
|
2477
|
+
draft.username = action.payload.workspacePreset.username;
|
|
2399
2478
|
return draft;
|
|
2400
2479
|
},
|
|
2401
2480
|
setPreventCloseView: function setPreventCloseView(draft, action) {
|
|
@@ -2422,6 +2501,7 @@ var slice$1 = createSlice({
|
|
|
2422
2501
|
draft["abstract"] = ws["abstract"];
|
|
2423
2502
|
draft.labels = ws.labels;
|
|
2424
2503
|
draft.description = ws.description;
|
|
2504
|
+
draft.username = typeof ws.username === 'string' ? ws.username : undefined;
|
|
2425
2505
|
var wsViews = ws.views;
|
|
2426
2506
|
var viewsArray = [];
|
|
2427
2507
|
if (Array.isArray(wsViews)) {
|
|
@@ -2490,6 +2570,7 @@ var slice$1 = createSlice({
|
|
|
2490
2570
|
draft.labels = action.payload.labels;
|
|
2491
2571
|
draft.hasChanges = false;
|
|
2492
2572
|
draft.scope = action.payload.scope || 'user';
|
|
2573
|
+
draft.username = 'username' in action.payload && typeof action.payload.username === 'string' ? action.payload.username : undefined;
|
|
2493
2574
|
}
|
|
2494
2575
|
if ((action.payload.action === WorkspacePresetAction.EDIT || action.payload.action === WorkspacePresetAction.EDIT_TITLE) && action.payload.workspaceId === draft.id) {
|
|
2495
2576
|
var _draft$views;
|
|
@@ -2516,7 +2597,9 @@ var slice$1 = createSlice({
|
|
|
2516
2597
|
draft.title = action.payload.emptyWorkspacePresetTitle;
|
|
2517
2598
|
draft["abstract"] = getEmptyMapWorkspace()["abstract"];
|
|
2518
2599
|
draft.scope = getEmptyMapWorkspace().scope;
|
|
2600
|
+
draft.username = undefined;
|
|
2519
2601
|
draft.hasChanges = true;
|
|
2602
|
+
draft.username = '';
|
|
2520
2603
|
}
|
|
2521
2604
|
}).addCase(viewPresetActions.fetchedViewPreset, function (draft, action) {
|
|
2522
2605
|
var _action$payload4 = action.payload,
|
|
@@ -2578,8 +2661,8 @@ var slice$1 = createSlice({
|
|
|
2578
2661
|
});
|
|
2579
2662
|
}
|
|
2580
2663
|
});
|
|
2581
|
-
var workspaceReducer = slice
|
|
2582
|
-
var workspaceActions = Object.assign({}, slice
|
|
2664
|
+
var workspaceReducer = slice.reducer;
|
|
2665
|
+
var workspaceActions = Object.assign({}, slice.actions);
|
|
2583
2666
|
|
|
2584
2667
|
/* *
|
|
2585
2668
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -2708,7 +2791,7 @@ var emptyViewPreset = function emptyViewPreset(componentType) {
|
|
|
2708
2791
|
* */
|
|
2709
2792
|
var getWorkspaceState = function getWorkspaceState(store) {
|
|
2710
2793
|
var _store$workspace;
|
|
2711
|
-
return (_store$workspace = store == null ? void 0 : store.workspace) != null ? _store$workspace : initialState
|
|
2794
|
+
return (_store$workspace = store == null ? void 0 : store.workspace) != null ? _store$workspace : initialState;
|
|
2712
2795
|
};
|
|
2713
2796
|
/**
|
|
2714
2797
|
* Gets component types from the views used in the workspace
|
|
@@ -2735,6 +2818,10 @@ var getComponentTypesFromActiveViews = createSelector([function (state) {
|
|
|
2735
2818
|
var getMosaicNode = createSelector(getWorkspaceState, function (state) {
|
|
2736
2819
|
return state == null ? void 0 : state.mosaicNode;
|
|
2737
2820
|
}, selectorMemoizationOptions);
|
|
2821
|
+
var getWorkspaceId = function getWorkspaceId(store) {
|
|
2822
|
+
var _getWorkspaceState;
|
|
2823
|
+
return (_getWorkspaceState = getWorkspaceState(store)) == null ? void 0 : _getWorkspaceState.id;
|
|
2824
|
+
};
|
|
2738
2825
|
/**
|
|
2739
2826
|
* Gets view from workspace state
|
|
2740
2827
|
*
|
|
@@ -2849,7 +2936,8 @@ var getWorkspaceData = createSelector(getWorkspaceState, genericSelectors.getSyn
|
|
|
2849
2936
|
linking: linkedState,
|
|
2850
2937
|
labels: workspaceStore.labels,
|
|
2851
2938
|
description: workspaceStore.description,
|
|
2852
|
-
updated: workspaceStore.updated
|
|
2939
|
+
updated: workspaceStore.updated,
|
|
2940
|
+
username: workspaceStore.username
|
|
2853
2941
|
};
|
|
2854
2942
|
}, selectorMemoizationOptions);
|
|
2855
2943
|
var getViewComponentType = createSelector(getViewById, function (store) {
|
|
@@ -2910,6 +2998,7 @@ var selectors$2 = /*#__PURE__*/Object.freeze({
|
|
|
2910
2998
|
getViewsById: getViewsById,
|
|
2911
2999
|
getWorkspaceData: getWorkspaceData,
|
|
2912
3000
|
getWorkspaceError: getWorkspaceError,
|
|
3001
|
+
getWorkspaceId: getWorkspaceId,
|
|
2913
3002
|
getWorkspaceState: getWorkspaceState,
|
|
2914
3003
|
hasWorkspaceChanges: hasWorkspaceChanges,
|
|
2915
3004
|
isWorkspaceLoading: isWorkspaceLoading
|
|
@@ -2936,7 +3025,7 @@ var getViewPresetsStore = function getViewPresetsStore(store) {
|
|
|
2936
3025
|
if (store != null && store.viewPresets) {
|
|
2937
3026
|
return store.viewPresets;
|
|
2938
3027
|
}
|
|
2939
|
-
return initialState$
|
|
3028
|
+
return initialState$1;
|
|
2940
3029
|
};
|
|
2941
3030
|
var EMPTY_VIEW_PRESETS = {
|
|
2942
3031
|
entities: {},
|
|
@@ -3024,7 +3113,7 @@ var getViewPresetListSearchQueryForView = createSelector(getViewPresetById, func
|
|
|
3024
3113
|
}, selectorMemoizationOptions);
|
|
3025
3114
|
// Used to retrieve the filtered view preset list for your view - if no filters/search applied it will be empty
|
|
3026
3115
|
// To ensure you retrieve the view preset list specific for your view (incl and excl filters), use getFilteredViewPresetListForView
|
|
3027
|
-
|
|
3116
|
+
createSelector(getViewPresetById, function (viewPresetById) {
|
|
3028
3117
|
var filteredResults = (viewPresetById == null ? void 0 : viewPresetById.filterResults) || {
|
|
3029
3118
|
entities: {}};
|
|
3030
3119
|
return Object.values(filteredResults.entities);
|
|
@@ -3310,7 +3399,9 @@ var workspaceQueryOptions = {
|
|
|
3310
3399
|
return _queryFn2.apply(this, arguments);
|
|
3311
3400
|
}
|
|
3312
3401
|
return queryFn;
|
|
3313
|
-
}()
|
|
3402
|
+
}(),
|
|
3403
|
+
staleTime: 2 * 60 * 1000,
|
|
3404
|
+
refetchOnMount: true
|
|
3314
3405
|
});
|
|
3315
3406
|
},
|
|
3316
3407
|
saveWorkspacePreset: function saveWorkspacePreset$1(id, data, credentials) {
|
|
@@ -3391,11 +3482,8 @@ var selectors = workspaceListAdapter.getSelectors(function (state) {
|
|
|
3391
3482
|
ids: []
|
|
3392
3483
|
};
|
|
3393
3484
|
});
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
return selectors.selectById(store, id);
|
|
3397
|
-
};
|
|
3398
|
-
var getIsWorkspaceListFetching = createSelector(getWorkspaceListStore, function (store) {
|
|
3485
|
+
selectors.selectAll;
|
|
3486
|
+
createSelector(getWorkspaceListStore, function (store) {
|
|
3399
3487
|
return store;
|
|
3400
3488
|
}, function (state) {
|
|
3401
3489
|
return (state == null ? void 0 : state.isFetching) || false;
|
|
@@ -3496,79 +3584,24 @@ var emptyWorkspaceBEData = Object.assign({}, getEmptyMapWorkspace(), {
|
|
|
3496
3584
|
});
|
|
3497
3585
|
var workspaceListListener = createListenerMiddleware();
|
|
3498
3586
|
workspaceListListener.startListening({
|
|
3499
|
-
actionCreator: workspaceListActions.
|
|
3587
|
+
actionCreator: workspaceListActions.onSuccessWorkspacePresetAction,
|
|
3500
3588
|
effect: function () {
|
|
3501
3589
|
var _effect = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref, listenerApi) {
|
|
3502
|
-
var
|
|
3590
|
+
var _listenerApi$getOrigi, _listenerApi$getState;
|
|
3591
|
+
var payload, currentWorkspaceId, credentials, action, workspaceId, title, is_shared;
|
|
3503
3592
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
3504
3593
|
while (1) switch (_context.prev = _context.next) {
|
|
3505
3594
|
case 0:
|
|
3506
|
-
|
|
3507
|
-
listenerApi.cancelActiveListeners();
|
|
3508
|
-
_listenerApi$getState = listenerApi.getState(), common = _listenerApi$getState.common;
|
|
3509
|
-
_context.prev = 3;
|
|
3510
|
-
_context.next = 6;
|
|
3511
|
-
return getQueryClient().fetchQuery(workspaceQueryOptions.getWorkspacePresets(workspaceFilterParams, common == null ? void 0 : common.auth.credentials));
|
|
3512
|
-
case 6:
|
|
3513
|
-
data = _context.sent;
|
|
3514
|
-
if (!listenerApi.signal.aborted) {
|
|
3515
|
-
_context.next = 9;
|
|
3516
|
-
break;
|
|
3517
|
-
}
|
|
3518
|
-
return _context.abrupt("return");
|
|
3519
|
-
case 9:
|
|
3520
|
-
listenerApi.dispatch(workspaceListActions.fetchedWorkspaceList({
|
|
3521
|
-
workspaceList: data
|
|
3522
|
-
}));
|
|
3523
|
-
_context.next = 17;
|
|
3524
|
-
break;
|
|
3525
|
-
case 12:
|
|
3526
|
-
_context.prev = 12;
|
|
3527
|
-
_context.t0 = _context["catch"](3);
|
|
3528
|
-
isAuthError = isAxiosAuthError(_context.t0);
|
|
3529
|
-
workspaceListError = isAuthError ? {
|
|
3530
|
-
type: WorkspaceListErrorType.VERBATIM_ERROR,
|
|
3531
|
-
message: getAxiosErrorMessage(_context.t0),
|
|
3532
|
-
category: WorkspaceListErrorCategory.AUTH
|
|
3533
|
-
} : {
|
|
3534
|
-
type: WorkspaceListErrorType.TRANSLATABLE_ERROR,
|
|
3535
|
-
key: 'workspace-list-error',
|
|
3536
|
-
category: WorkspaceListErrorCategory.GENERIC
|
|
3537
|
-
};
|
|
3538
|
-
listenerApi.dispatch(workspaceListActions.errorWorkspaceList({
|
|
3539
|
-
error: workspaceListError
|
|
3540
|
-
}));
|
|
3541
|
-
case 17:
|
|
3542
|
-
case "end":
|
|
3543
|
-
return _context.stop();
|
|
3544
|
-
}
|
|
3545
|
-
}, _callee, null, [[3, 12]]);
|
|
3546
|
-
}));
|
|
3547
|
-
function effect(_x, _x2) {
|
|
3548
|
-
return _effect.apply(this, arguments);
|
|
3549
|
-
}
|
|
3550
|
-
return effect;
|
|
3551
|
-
}()
|
|
3552
|
-
});
|
|
3553
|
-
workspaceListListener.startListening({
|
|
3554
|
-
actionCreator: workspaceListActions.onSuccessWorkspacePresetAction,
|
|
3555
|
-
effect: function () {
|
|
3556
|
-
var _effect2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2, listenerApi) {
|
|
3557
|
-
var _listenerApi$getOrigi, _listenerApi$getState2;
|
|
3558
|
-
var payload, currentWorkspaceId, credentials, action, workspaceId, title, is_shared, searchQuery;
|
|
3559
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
3560
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
3561
|
-
case 0:
|
|
3562
|
-
payload = _ref2.payload;
|
|
3595
|
+
payload = _ref.payload;
|
|
3563
3596
|
listenerApi.cancelActiveListeners();
|
|
3564
3597
|
currentWorkspaceId = (_listenerApi$getOrigi = listenerApi.getOriginalState().workspace) == null ? void 0 : _listenerApi$getOrigi.id;
|
|
3565
|
-
credentials = (_listenerApi$
|
|
3598
|
+
credentials = (_listenerApi$getState = listenerApi.getState().common) == null || (_listenerApi$getState = _listenerApi$getState.auth) == null ? void 0 : _listenerApi$getState.credentials;
|
|
3566
3599
|
action = payload.action, workspaceId = payload.workspaceId, title = payload.title; // eslint-disable-next-line @typescript-eslint/naming-convention
|
|
3567
3600
|
is_shared = 'is_shared' in payload ? payload.is_shared : undefined;
|
|
3568
|
-
|
|
3601
|
+
_context.next = 8;
|
|
3569
3602
|
return getQueryClient().invalidateQueries(workspaceQueryOptions.getWorkspacePreset(workspaceId, credentials));
|
|
3570
3603
|
case 8:
|
|
3571
|
-
|
|
3604
|
+
_context.next = 10;
|
|
3572
3605
|
return getQueryClient().invalidateQueries({
|
|
3573
3606
|
queryKey: workspaceQueryOptions.keys.lists()
|
|
3574
3607
|
});
|
|
@@ -3586,17 +3619,14 @@ workspaceListListener.startListening({
|
|
|
3586
3619
|
url: getWorkspaceRouteUrl(workspaceId)
|
|
3587
3620
|
}));
|
|
3588
3621
|
}
|
|
3589
|
-
|
|
3590
|
-
searchQuery = getWorkspaceListSearchQuery(listenerApi.getState());
|
|
3591
|
-
listenerApi.dispatch(workspaceListActions.fetchWorkspaceList(constructFilterParams([], searchQuery)));
|
|
3592
|
-
case 15:
|
|
3622
|
+
case 13:
|
|
3593
3623
|
case "end":
|
|
3594
|
-
return
|
|
3624
|
+
return _context.stop();
|
|
3595
3625
|
}
|
|
3596
|
-
},
|
|
3626
|
+
}, _callee);
|
|
3597
3627
|
}));
|
|
3598
|
-
function effect(
|
|
3599
|
-
return
|
|
3628
|
+
function effect(_x, _x2) {
|
|
3629
|
+
return _effect.apply(this, arguments);
|
|
3600
3630
|
}
|
|
3601
3631
|
return effect;
|
|
3602
3632
|
}()
|
|
@@ -3604,43 +3634,45 @@ workspaceListListener.startListening({
|
|
|
3604
3634
|
workspaceListListener.startListening({
|
|
3605
3635
|
actionCreator: workspaceListActions.submitFormWorkspaceActionDialogOptions,
|
|
3606
3636
|
effect: function () {
|
|
3607
|
-
var
|
|
3608
|
-
var _listenerApi$
|
|
3609
|
-
var payload, workspaceState, credentials, presetId, presetAction, data, emptyMapPresetTitle, emptyWorkspacePresetTitle, scope, originalData, workspaceDataNewTitle, _originalData$views, _data$views2, _originalData, mergedViews, payloadToSave, isSaveWorkspaceAction, isSaveAsWorkspaceAction, hasWorkspaceAlreadyBeenSaved, workspaceId, workspaceData, viewsWithInitialProps, newWorkspace, _listenerApi$
|
|
3610
|
-
return _regeneratorRuntime().wrap(function
|
|
3611
|
-
while (1) switch (
|
|
3637
|
+
var _effect2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2, listenerApi) {
|
|
3638
|
+
var _listenerApi$getState2;
|
|
3639
|
+
var payload, workspaceState, credentials, presetId, presetAction, data, emptyMapPresetTitle, emptyWorkspacePresetTitle, scope, originalData, workspaceDataNewTitle, _originalData$views, _data$views2, _originalData, mergedViews, payloadToSave, isSaveWorkspaceAction, isSaveAsWorkspaceAction, hasWorkspaceAlreadyBeenSaved, workspaceId, workspaceData, viewsWithInitialProps, newWorkspace, _listenerApi$getState3, _credentials, hasChanges, message, _listenerApi$getState4, category;
|
|
3640
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
3641
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
3612
3642
|
case 0:
|
|
3613
|
-
payload =
|
|
3643
|
+
payload = _ref2.payload;
|
|
3614
3644
|
listenerApi.cancelActiveListeners();
|
|
3615
3645
|
workspaceState = listenerApi.getState();
|
|
3616
|
-
credentials = (_listenerApi$
|
|
3617
|
-
_context3.prev = 4;
|
|
3646
|
+
credentials = (_listenerApi$getState2 = listenerApi.getState().common) == null || (_listenerApi$getState2 = _listenerApi$getState2.auth) == null ? void 0 : _listenerApi$getState2.credentials;
|
|
3618
3647
|
presetId = payload.presetId, presetAction = payload.presetAction, data = payload.data, emptyMapPresetTitle = payload.emptyMapPresetTitle, emptyWorkspacePresetTitle = payload.emptyWorkspacePresetTitle;
|
|
3619
|
-
scope = data.scope || 'user';
|
|
3648
|
+
scope = data.scope || 'user';
|
|
3649
|
+
_context2.prev = 6;
|
|
3650
|
+
// duplicate
|
|
3620
3651
|
if (presetAction === WorkspacePresetAction.DUPLICATE) ;
|
|
3621
3652
|
// delete
|
|
3622
3653
|
if (presetAction === WorkspacePresetAction.DELETE || presetAction === WorkspacePresetAction.DELETE_SYSTEM_PRESET) ;
|
|
3623
3654
|
// edit
|
|
3624
3655
|
if (!(presetAction === WorkspacePresetAction.EDIT)) {
|
|
3625
|
-
|
|
3656
|
+
_context2.next = 19;
|
|
3626
3657
|
break;
|
|
3627
3658
|
}
|
|
3628
|
-
|
|
3659
|
+
_context2.next = 12;
|
|
3629
3660
|
return getQueryClient().fetchQuery(workspaceQueryOptions.getWorkspacePreset(presetId, credentials));
|
|
3630
3661
|
case 12:
|
|
3631
|
-
originalData =
|
|
3662
|
+
originalData = _context2.sent;
|
|
3632
3663
|
workspaceDataNewTitle = Object.assign({}, originalData, {
|
|
3633
3664
|
title: data.title,
|
|
3634
3665
|
"abstract": data["abstract"],
|
|
3635
3666
|
description: data.description,
|
|
3636
3667
|
labels: data.labels,
|
|
3637
3668
|
updated: data.updated,
|
|
3638
|
-
updatedBy: data.updatedBy
|
|
3669
|
+
updatedBy: data.updatedBy,
|
|
3670
|
+
username: data.username
|
|
3639
3671
|
});
|
|
3640
|
-
|
|
3672
|
+
_context2.next = 16;
|
|
3641
3673
|
return getQueryClient().fetchQuery(workspaceQueryOptions.saveWorkspacePreset(presetId, workspaceDataNewTitle, credentials));
|
|
3642
3674
|
case 16:
|
|
3643
|
-
|
|
3675
|
+
_context2.next = 18;
|
|
3644
3676
|
return getQueryClient().invalidateQueries(workspaceQueryOptions.getWorkspacePreset(presetId, credentials));
|
|
3645
3677
|
case 18:
|
|
3646
3678
|
listenerApi.dispatch(workspaceListActions.onSuccessWorkspacePresetAction({
|
|
@@ -3652,17 +3684,18 @@ workspaceListListener.startListening({
|
|
|
3652
3684
|
labels: data.labels,
|
|
3653
3685
|
updated: data.updated,
|
|
3654
3686
|
updatedBy: data.updatedBy,
|
|
3687
|
+
username: data.username,
|
|
3655
3688
|
scope: scope
|
|
3656
3689
|
}));
|
|
3657
3690
|
case 19:
|
|
3658
3691
|
if (!(presetAction === WorkspacePresetAction.EDIT_TITLE)) {
|
|
3659
|
-
|
|
3692
|
+
_context2.next = 30;
|
|
3660
3693
|
break;
|
|
3661
3694
|
}
|
|
3662
|
-
|
|
3695
|
+
_context2.next = 22;
|
|
3663
3696
|
return getQueryClient().fetchQuery(workspaceQueryOptions.getWorkspacePreset(presetId, credentials));
|
|
3664
3697
|
case 22:
|
|
3665
|
-
_originalData =
|
|
3698
|
+
_originalData = _context2.sent;
|
|
3666
3699
|
// 2) Merge the single (or few) edited view titles from `data.views`
|
|
3667
3700
|
mergedViews = ((_originalData$views = _originalData.views) != null ? _originalData$views : []).map(function (view) {
|
|
3668
3701
|
var _data$views, _updated$title;
|
|
@@ -3676,10 +3709,10 @@ workspaceListListener.startListening({
|
|
|
3676
3709
|
payloadToSave = Object.assign({}, _originalData, {
|
|
3677
3710
|
views: mergedViews
|
|
3678
3711
|
});
|
|
3679
|
-
|
|
3712
|
+
_context2.next = 27;
|
|
3680
3713
|
return getQueryClient().fetchQuery(workspaceQueryOptions.saveWorkspacePreset(presetId, payloadToSave, credentials));
|
|
3681
3714
|
case 27:
|
|
3682
|
-
|
|
3715
|
+
_context2.next = 29;
|
|
3683
3716
|
return getQueryClient().invalidateQueries(workspaceQueryOptions.getWorkspacePreset(presetId, credentials));
|
|
3684
3717
|
case 29:
|
|
3685
3718
|
// 4) Notify success so reducer updates local state
|
|
@@ -3689,6 +3722,7 @@ workspaceListListener.startListening({
|
|
|
3689
3722
|
// keep original workspace title/abstract untouched
|
|
3690
3723
|
title: _originalData.title,
|
|
3691
3724
|
"abstract": _originalData["abstract"],
|
|
3725
|
+
username: _originalData.username,
|
|
3692
3726
|
scope: scope,
|
|
3693
3727
|
// you can send only the edited ones, or the merged full list.
|
|
3694
3728
|
// Reducer uses mosaicNodeId+title from `views` to patch state.
|
|
@@ -3699,7 +3733,7 @@ workspaceListListener.startListening({
|
|
|
3699
3733
|
isSaveWorkspaceAction = presetAction === WorkspacePresetAction.SAVE_SYSTEM_PRESET || presetAction === WorkspacePresetAction.SAVE;
|
|
3700
3734
|
isSaveAsWorkspaceAction = presetAction === WorkspacePresetAction.SAVE_SYSTEM_PRESET_AS || presetAction === WorkspacePresetAction.SAVE_AS;
|
|
3701
3735
|
if (!(isSaveWorkspaceAction || isSaveAsWorkspaceAction)) {
|
|
3702
|
-
|
|
3736
|
+
_context2.next = 54;
|
|
3703
3737
|
break;
|
|
3704
3738
|
}
|
|
3705
3739
|
hasWorkspaceAlreadyBeenSaved = getWorkspaceDialogIsSaved(workspaceState);
|
|
@@ -3720,17 +3754,18 @@ workspaceListListener.startListening({
|
|
|
3720
3754
|
description: data.description,
|
|
3721
3755
|
labels: data.labels,
|
|
3722
3756
|
scope: scope,
|
|
3723
|
-
views: viewsWithInitialProps
|
|
3757
|
+
views: viewsWithInitialProps,
|
|
3758
|
+
username: (credentials == null ? void 0 : credentials.username) || ''
|
|
3724
3759
|
});
|
|
3725
3760
|
if (!(!hasWorkspaceAlreadyBeenSaved && isSaveAsWorkspaceAction)) {
|
|
3726
|
-
|
|
3761
|
+
_context2.next = 44;
|
|
3727
3762
|
break;
|
|
3728
3763
|
}
|
|
3729
|
-
_credentials = (_listenerApi$
|
|
3730
|
-
|
|
3764
|
+
_credentials = (_listenerApi$getState3 = listenerApi.getState().common) == null || (_listenerApi$getState3 = _listenerApi$getState3.auth) == null ? void 0 : _listenerApi$getState3.credentials;
|
|
3765
|
+
_context2.next = 42;
|
|
3731
3766
|
return getQueryClient().fetchQuery(workspaceQueryOptions.saveWorkspacePresetAs(newWorkspace, _credentials));
|
|
3732
3767
|
case 42:
|
|
3733
|
-
workspaceId =
|
|
3768
|
+
workspaceId = _context2.sent;
|
|
3734
3769
|
newWorkspace = Object.assign({}, newWorkspace, {
|
|
3735
3770
|
id: workspaceId
|
|
3736
3771
|
});
|
|
@@ -3739,18 +3774,18 @@ workspaceListListener.startListening({
|
|
|
3739
3774
|
presetId: workspaceId
|
|
3740
3775
|
}));
|
|
3741
3776
|
if (isSaveAsWorkspaceAction) {
|
|
3742
|
-
|
|
3777
|
+
_context2.next = 52;
|
|
3743
3778
|
break;
|
|
3744
3779
|
}
|
|
3745
3780
|
hasChanges = hasWorkspaceChanges(listenerApi.getState());
|
|
3746
3781
|
if (!hasChanges) {
|
|
3747
|
-
|
|
3782
|
+
_context2.next = 52;
|
|
3748
3783
|
break;
|
|
3749
3784
|
}
|
|
3750
|
-
|
|
3785
|
+
_context2.next = 50;
|
|
3751
3786
|
return getQueryClient().fetchQuery(workspaceQueryOptions.saveWorkspacePreset(workspaceId, newWorkspace, credentials));
|
|
3752
3787
|
case 50:
|
|
3753
|
-
|
|
3788
|
+
_context2.next = 52;
|
|
3754
3789
|
return getQueryClient().invalidateQueries(workspaceQueryOptions.getWorkspacePreset(presetId, credentials));
|
|
3755
3790
|
case 52:
|
|
3756
3791
|
listenerApi.dispatch(workspaceListActions.onSuccessWorkspacePresetAction({
|
|
@@ -3760,6 +3795,7 @@ workspaceListListener.startListening({
|
|
|
3760
3795
|
"abstract": newWorkspace["abstract"],
|
|
3761
3796
|
description: newWorkspace.description,
|
|
3762
3797
|
labels: newWorkspace.labels,
|
|
3798
|
+
username: newWorkspace.username,
|
|
3763
3799
|
scope: scope
|
|
3764
3800
|
}));
|
|
3765
3801
|
listenerApi.dispatch(routerActions.navigateToUrl({
|
|
@@ -3790,13 +3826,22 @@ workspaceListListener.startListening({
|
|
|
3790
3826
|
scope: scope
|
|
3791
3827
|
}));
|
|
3792
3828
|
}
|
|
3793
|
-
|
|
3829
|
+
_context2.next = 63;
|
|
3794
3830
|
break;
|
|
3795
3831
|
case 57:
|
|
3796
|
-
|
|
3797
|
-
|
|
3798
|
-
message = isAxiosError(
|
|
3799
|
-
|
|
3832
|
+
_context2.prev = 57;
|
|
3833
|
+
_context2.t0 = _context2["catch"](6);
|
|
3834
|
+
message = isAxiosError(_context2.t0) ? getAxiosErrorMessage(_context2.t0) : _context2.t0.message;
|
|
3835
|
+
if (presetAction === WorkspacePresetAction.SAVE || presetAction === WorkspacePresetAction.SAVE_SYSTEM_PRESET) {
|
|
3836
|
+
listenerApi.dispatch(workspaceActions.errorWorkspace({
|
|
3837
|
+
workspaceId: presetId || ((_listenerApi$getState4 = listenerApi.getState().workspace) == null ? void 0 : _listenerApi$getState4.id) || '',
|
|
3838
|
+
error: {
|
|
3839
|
+
message: message,
|
|
3840
|
+
type: WorkspaceErrorType.SAVE
|
|
3841
|
+
}
|
|
3842
|
+
}));
|
|
3843
|
+
}
|
|
3844
|
+
category = isAuthError(_context2.t0) ? WorkspaceListErrorCategory.AUTH : WorkspaceListErrorCategory.GENERIC;
|
|
3800
3845
|
listenerApi.dispatch(workspaceListActions.onErrorWorkspacePresetAction({
|
|
3801
3846
|
error: {
|
|
3802
3847
|
type: WorkspaceListErrorType.VERBATIM_ERROR,
|
|
@@ -3804,14 +3849,14 @@ workspaceListListener.startListening({
|
|
|
3804
3849
|
message: message
|
|
3805
3850
|
}
|
|
3806
3851
|
}));
|
|
3807
|
-
case
|
|
3852
|
+
case 63:
|
|
3808
3853
|
case "end":
|
|
3809
|
-
return
|
|
3854
|
+
return _context2.stop();
|
|
3810
3855
|
}
|
|
3811
|
-
},
|
|
3856
|
+
}, _callee2, null, [[6, 57]]);
|
|
3812
3857
|
}));
|
|
3813
|
-
function effect(
|
|
3814
|
-
return
|
|
3858
|
+
function effect(_x3, _x4) {
|
|
3859
|
+
return _effect2.apply(this, arguments);
|
|
3815
3860
|
}
|
|
3816
3861
|
return effect;
|
|
3817
3862
|
}()
|
|
@@ -3959,7 +4004,13 @@ workspaceListener.startListening({
|
|
|
3959
4004
|
isInline: hasInlineConfig
|
|
3960
4005
|
}));
|
|
3961
4006
|
});
|
|
3962
|
-
|
|
4007
|
+
if (payload.markAsChanged) {
|
|
4008
|
+
listenerApi.dispatch(workspaceActions.markWorkspaceChanged());
|
|
4009
|
+
listenerApi.dispatch(routerActions.navigateToUrl({
|
|
4010
|
+
url: getWorkspaceRouteUrl()
|
|
4011
|
+
}));
|
|
4012
|
+
}
|
|
4013
|
+
case 19:
|
|
3963
4014
|
case "end":
|
|
3964
4015
|
return _context4.stop();
|
|
3965
4016
|
}
|
|
@@ -4184,7 +4235,7 @@ workspaceListener.startListening({
|
|
|
4184
4235
|
actionCreator: workspaceActions.saveWorkspacePreset,
|
|
4185
4236
|
effect: function () {
|
|
4186
4237
|
var _effect6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee0(_ref9, listenerApi) {
|
|
4187
|
-
var payload, workspace, _listenerApi$getState3, _workspace$scope, credentials;
|
|
4238
|
+
var payload, workspace, _listenerApi$getState3, _workspace$scope, _workspace$username, credentials;
|
|
4188
4239
|
return _regeneratorRuntime().wrap(function _callee0$(_context0) {
|
|
4189
4240
|
while (1) switch (_context0.prev = _context0.next) {
|
|
4190
4241
|
case 0:
|
|
@@ -4206,7 +4257,8 @@ workspaceListener.startListening({
|
|
|
4206
4257
|
workspaceId: workspace.id,
|
|
4207
4258
|
title: workspace.title,
|
|
4208
4259
|
scope: (_workspace$scope = workspace.scope) != null ? _workspace$scope : 'user',
|
|
4209
|
-
views: workspace.views || [emptyWorkspaceBEData]
|
|
4260
|
+
views: workspace.views || [emptyWorkspaceBEData],
|
|
4261
|
+
username: (_workspace$username = workspace.username) != null ? _workspace$username : ''
|
|
4210
4262
|
}));
|
|
4211
4263
|
_context0.next = 16;
|
|
4212
4264
|
break;
|
|
@@ -4412,100 +4464,6 @@ workspaceListener.startListening({
|
|
|
4412
4464
|
}()
|
|
4413
4465
|
});
|
|
4414
4466
|
|
|
4415
|
-
/* *
|
|
4416
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4417
|
-
* you may not use this file except in compliance with the License.
|
|
4418
|
-
* You may obtain a copy of the License at
|
|
4419
|
-
*
|
|
4420
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
4421
|
-
*
|
|
4422
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
4423
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
4424
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4425
|
-
* See the License for the specific language governing permissions and
|
|
4426
|
-
* limitations under the License.
|
|
4427
|
-
*
|
|
4428
|
-
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4429
|
-
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
4430
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
4431
|
-
* */
|
|
4432
|
-
var viewPresetsListAdapter = createEntityAdapter();
|
|
4433
|
-
var initialState = viewPresetsListAdapter.getInitialState();
|
|
4434
|
-
var slice = createSlice({
|
|
4435
|
-
initialState: initialState,
|
|
4436
|
-
name: 'viewPresetsList',
|
|
4437
|
-
reducers: {
|
|
4438
|
-
fetchViewPresetsList: function fetchViewPresetsList(_draft, _action) {
|
|
4439
|
-
// action is intercepted in viewPresets/listener
|
|
4440
|
-
},
|
|
4441
|
-
fetchedViewPresetsList: function fetchedViewPresetsList(draft, action) {
|
|
4442
|
-
var viewPresets = action.payload.viewPresets;
|
|
4443
|
-
if (!(viewPresets != null && viewPresets.length)) {
|
|
4444
|
-
viewPresetsListAdapter.removeAll(draft);
|
|
4445
|
-
return;
|
|
4446
|
-
}
|
|
4447
|
-
viewPresetsListAdapter.setAll(draft, viewPresets);
|
|
4448
|
-
}
|
|
4449
|
-
},
|
|
4450
|
-
extraReducers: function extraReducers(builder) {
|
|
4451
|
-
builder.addCase(viewPresetActions.fetchedViewPresets, function (draft, action) {
|
|
4452
|
-
var _action$payload = action.payload,
|
|
4453
|
-
viewPresets = _action$payload.viewPresets,
|
|
4454
|
-
filterParams = _action$payload.filterParams;
|
|
4455
|
-
// If there are filter params applied, don't do anything, these results are put in the specific panel filterResults
|
|
4456
|
-
var hasFilterParams = Object.keys(filterParams).length !== 0;
|
|
4457
|
-
var isDefaultScopeOnly = Object.keys(filterParams).length === 1 && filterParams.scope === 'user,system';
|
|
4458
|
-
if (hasFilterParams && !isDefaultScopeOnly) {
|
|
4459
|
-
return;
|
|
4460
|
-
}
|
|
4461
|
-
if (!(viewPresets != null && viewPresets.length)) {
|
|
4462
|
-
viewPresetsListAdapter.removeAll(draft);
|
|
4463
|
-
return;
|
|
4464
|
-
}
|
|
4465
|
-
viewPresetsListAdapter.setAll(draft, action.payload.viewPresets);
|
|
4466
|
-
});
|
|
4467
|
-
}
|
|
4468
|
-
});
|
|
4469
|
-
var viewPresetsListReducer = slice.reducer,
|
|
4470
|
-
viewPresetsListActions = slice.actions;
|
|
4471
|
-
|
|
4472
|
-
/* *
|
|
4473
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4474
|
-
* you may not use this file except in compliance with the License.
|
|
4475
|
-
* You may obtain a copy of the License at
|
|
4476
|
-
*
|
|
4477
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
4478
|
-
*
|
|
4479
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
4480
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
4481
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4482
|
-
* See the License for the specific language governing permissions and
|
|
4483
|
-
* limitations under the License.
|
|
4484
|
-
*
|
|
4485
|
-
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4486
|
-
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
4487
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
4488
|
-
* */
|
|
4489
|
-
// Used to retrieve the unfiltered, general view preset list.
|
|
4490
|
-
// To ensure you retrieve the view preset list specific for your view, use getFilteredViewPresetListForView
|
|
4491
|
-
var _viewPresetsListAdapt = viewPresetsListAdapter.getSelectors(function (state) {
|
|
4492
|
-
var _state$viewPresetsLis;
|
|
4493
|
-
return (_state$viewPresetsLis = state == null ? void 0 : state.viewPresetsList) != null ? _state$viewPresetsLis : {
|
|
4494
|
-
entities: {},
|
|
4495
|
-
ids: []
|
|
4496
|
-
};
|
|
4497
|
-
}),
|
|
4498
|
-
getViewPresetsList = _viewPresetsListAdapt.selectAll,
|
|
4499
|
-
getViewPresetFromList = _viewPresetsListAdapt.selectById;
|
|
4500
|
-
var getFilteredViewPresetListForView = createSelector(getViewPresetsList, getViewPresetListFilterResultsForView, getViewPresetListSearchQueryForView, function (fullViewPresetsList, filteredResults, searchQuery) {
|
|
4501
|
-
if (searchQuery !== '') {
|
|
4502
|
-
// Search active: return what backend gave us
|
|
4503
|
-
return filteredResults;
|
|
4504
|
-
}
|
|
4505
|
-
// No search: return full unfiltered list
|
|
4506
|
-
return fullViewPresetsList != null ? fullViewPresetsList : [];
|
|
4507
|
-
}, selectorMemoizationOptions);
|
|
4508
|
-
|
|
4509
4467
|
var processError = function processError(error, component, errorMessageKey) {
|
|
4510
4468
|
var message = isAxiosError$1(error) ? getAxiosErrorMessage(error) : errorMessageKey;
|
|
4511
4469
|
var errorType = isAxiosAuthError(error) ? ViewPresetErrorType.AUTH : ViewPresetErrorType.GENERIC;
|
|
@@ -4516,92 +4474,18 @@ var processError = function processError(error, component, errorMessageKey) {
|
|
|
4516
4474
|
};
|
|
4517
4475
|
};
|
|
4518
4476
|
var viewPresetsListener = createListenerMiddleware();
|
|
4519
|
-
// fetch view presets
|
|
4520
|
-
viewPresetsListener.startListening({
|
|
4521
|
-
actionCreator: viewPresetActions.fetchViewPresets,
|
|
4522
|
-
effect: function () {
|
|
4523
|
-
var _effect = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref, listenerApi) {
|
|
4524
|
-
var payload, _listenerApi$getState, common, panelId, filterParams, viewPresets;
|
|
4525
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
4526
|
-
while (1) switch (_context.prev = _context.next) {
|
|
4527
|
-
case 0:
|
|
4528
|
-
payload = _ref.payload;
|
|
4529
|
-
listenerApi.cancelActiveListeners();
|
|
4530
|
-
_listenerApi$getState = listenerApi.getState(), common = _listenerApi$getState.common;
|
|
4531
|
-
panelId = payload.panelId, filterParams = payload.filterParams;
|
|
4532
|
-
_context.prev = 4;
|
|
4533
|
-
_context.next = 7;
|
|
4534
|
-
return getQueryClient().fetchQuery(viewpresetQueryOptions.getViewPresets(filterParams, common == null ? void 0 : common.auth.credentials));
|
|
4535
|
-
case 7:
|
|
4536
|
-
viewPresets = _context.sent;
|
|
4537
|
-
listenerApi.dispatch(viewPresetActions.fetchedViewPresets({
|
|
4538
|
-
viewPresets: viewPresets,
|
|
4539
|
-
panelId: panelId,
|
|
4540
|
-
filterParams: filterParams
|
|
4541
|
-
}));
|
|
4542
|
-
_context.next = 14;
|
|
4543
|
-
break;
|
|
4544
|
-
case 11:
|
|
4545
|
-
_context.prev = 11;
|
|
4546
|
-
_context.t0 = _context["catch"](4);
|
|
4547
|
-
listenerApi.dispatch(viewPresetActions.errorViewPreset({
|
|
4548
|
-
error: processError(_context.t0, ViewPresetErrorComponent.PRESET_LIST, 'workspace-mappreset-error-fetch'),
|
|
4549
|
-
panelId: panelId
|
|
4550
|
-
}));
|
|
4551
|
-
case 14:
|
|
4552
|
-
case "end":
|
|
4553
|
-
return _context.stop();
|
|
4554
|
-
}
|
|
4555
|
-
}, _callee, null, [[4, 11]]);
|
|
4556
|
-
}));
|
|
4557
|
-
function effect(_x, _x2) {
|
|
4558
|
-
return _effect.apply(this, arguments);
|
|
4559
|
-
}
|
|
4560
|
-
return effect;
|
|
4561
|
-
}()
|
|
4562
|
-
});
|
|
4563
|
-
// fetch full view presets list
|
|
4564
|
-
viewPresetsListener.startListening({
|
|
4565
|
-
actionCreator: viewPresetsListActions.fetchViewPresetsList,
|
|
4566
|
-
effect: function () {
|
|
4567
|
-
var _effect2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_, listenerApi) {
|
|
4568
|
-
var _listenerApi$getState2, common, viewPresets;
|
|
4569
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
4570
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
4571
|
-
case 0:
|
|
4572
|
-
_listenerApi$getState2 = listenerApi.getState(), common = _listenerApi$getState2.common;
|
|
4573
|
-
listenerApi.cancelActiveListeners();
|
|
4574
|
-
_context2.next = 4;
|
|
4575
|
-
return getQueryClient().fetchQuery(viewpresetQueryOptions.getViewPresets(undefined, common == null ? void 0 : common.auth.credentials));
|
|
4576
|
-
case 4:
|
|
4577
|
-
viewPresets = _context2.sent;
|
|
4578
|
-
listenerApi.dispatch(viewPresetsListActions.fetchedViewPresetsList({
|
|
4579
|
-
viewPresets: viewPresets
|
|
4580
|
-
}));
|
|
4581
|
-
case 6:
|
|
4582
|
-
case "end":
|
|
4583
|
-
return _context2.stop();
|
|
4584
|
-
}
|
|
4585
|
-
}, _callee2);
|
|
4586
|
-
}));
|
|
4587
|
-
function effect(_x3, _x4) {
|
|
4588
|
-
return _effect2.apply(this, arguments);
|
|
4589
|
-
}
|
|
4590
|
-
return effect;
|
|
4591
|
-
}()
|
|
4592
|
-
});
|
|
4593
4477
|
var saveViewPresetEffect = /*#__PURE__*/function () {
|
|
4594
|
-
var
|
|
4595
|
-
var payload, panelId, viewPreset, viewPresetId, hasChanges, _listenerApi$
|
|
4596
|
-
return _regeneratorRuntime().wrap(function
|
|
4597
|
-
while (1) switch (
|
|
4478
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref, listenerApi) {
|
|
4479
|
+
var payload, panelId, viewPreset, viewPresetId, hasChanges, _listenerApi$getState, credentials;
|
|
4480
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
4481
|
+
while (1) switch (_context.prev = _context.next) {
|
|
4598
4482
|
case 0:
|
|
4599
|
-
payload =
|
|
4483
|
+
payload = _ref.payload;
|
|
4600
4484
|
listenerApi.cancelActiveListeners();
|
|
4601
4485
|
panelId = payload.panelId, viewPreset = payload.viewPreset, viewPresetId = payload.viewPresetId;
|
|
4602
4486
|
hasChanges = getViewPresetHasChanges(listenerApi.getState(), panelId);
|
|
4603
4487
|
if (hasChanges) {
|
|
4604
|
-
|
|
4488
|
+
_context.next = 8;
|
|
4605
4489
|
break;
|
|
4606
4490
|
}
|
|
4607
4491
|
listenerApi.dispatch(snackbarActions.openSnackbar(getSnackbarMessage(PresetAction.SAVE, viewPreset.title)));
|
|
@@ -4609,17 +4493,17 @@ var saveViewPresetEffect = /*#__PURE__*/function () {
|
|
|
4609
4493
|
panelId: panelId,
|
|
4610
4494
|
viewPresetId: viewPresetId
|
|
4611
4495
|
}));
|
|
4612
|
-
return
|
|
4496
|
+
return _context.abrupt("return");
|
|
4613
4497
|
case 8:
|
|
4614
|
-
|
|
4615
|
-
credentials = (_listenerApi$
|
|
4616
|
-
|
|
4498
|
+
_context.prev = 8;
|
|
4499
|
+
credentials = (_listenerApi$getState = listenerApi.getState().common) == null || (_listenerApi$getState = _listenerApi$getState.auth) == null ? void 0 : _listenerApi$getState.credentials;
|
|
4500
|
+
_context.next = 12;
|
|
4617
4501
|
return getQueryClient().fetchQuery(viewpresetQueryOptions.saveViewPreset(viewPresetId, viewPreset, credentials));
|
|
4618
4502
|
case 12:
|
|
4619
|
-
|
|
4503
|
+
_context.next = 14;
|
|
4620
4504
|
return getQueryClient().invalidateQueries(viewpresetQueryOptions.getViewPreset(viewPresetId));
|
|
4621
4505
|
case 14:
|
|
4622
|
-
|
|
4506
|
+
_context.next = 16;
|
|
4623
4507
|
return getQueryClient().invalidateQueries({
|
|
4624
4508
|
queryKey: viewpresetQueryOptions.keys.lists()
|
|
4625
4509
|
});
|
|
@@ -4634,24 +4518,24 @@ var saveViewPresetEffect = /*#__PURE__*/function () {
|
|
|
4634
4518
|
viewPresetId: viewPresetId,
|
|
4635
4519
|
viewPreset: viewPreset
|
|
4636
4520
|
}));
|
|
4637
|
-
|
|
4521
|
+
_context.next = 24;
|
|
4638
4522
|
break;
|
|
4639
4523
|
case 21:
|
|
4640
|
-
|
|
4641
|
-
|
|
4524
|
+
_context.prev = 21;
|
|
4525
|
+
_context.t0 = _context["catch"](8);
|
|
4642
4526
|
listenerApi.dispatch(viewPresetActions.errorViewPreset({
|
|
4643
|
-
error: processError(
|
|
4527
|
+
error: processError(_context.t0, ViewPresetErrorComponent.PRESET_DETAIL, 'workspace-mappreset-error-save'),
|
|
4644
4528
|
panelId: panelId,
|
|
4645
4529
|
viewPresetId: viewPresetId
|
|
4646
4530
|
}));
|
|
4647
4531
|
case 24:
|
|
4648
4532
|
case "end":
|
|
4649
|
-
return
|
|
4533
|
+
return _context.stop();
|
|
4650
4534
|
}
|
|
4651
|
-
},
|
|
4535
|
+
}, _callee, null, [[8, 21]]);
|
|
4652
4536
|
}));
|
|
4653
|
-
return function saveViewPresetEffect(
|
|
4654
|
-
return
|
|
4537
|
+
return function saveViewPresetEffect(_x, _x2) {
|
|
4538
|
+
return _ref2.apply(this, arguments);
|
|
4655
4539
|
};
|
|
4656
4540
|
}();
|
|
4657
4541
|
// save view preset
|
|
@@ -4663,12 +4547,12 @@ viewPresetsListener.startListening({
|
|
|
4663
4547
|
viewPresetsListener.startListening({
|
|
4664
4548
|
actionCreator: viewPresetActions.selectViewPreset,
|
|
4665
4549
|
effect: function () {
|
|
4666
|
-
var
|
|
4550
|
+
var _effect = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref3, listenerApi) {
|
|
4667
4551
|
var payload, panelId, _payload$viewPresetId, viewPresetId, isMapAnimating;
|
|
4668
|
-
return _regeneratorRuntime().wrap(function
|
|
4669
|
-
while (1) switch (
|
|
4552
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
4553
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
4670
4554
|
case 0:
|
|
4671
|
-
payload =
|
|
4555
|
+
payload = _ref3.payload;
|
|
4672
4556
|
listenerApi.cancelActiveListeners();
|
|
4673
4557
|
panelId = payload.panelId, _payload$viewPresetId = payload.viewPresetId, viewPresetId = _payload$viewPresetId === void 0 ? '' : _payload$viewPresetId;
|
|
4674
4558
|
isMapAnimating = mapSelectors.isAnimating(listenerApi.getState(), panelId);
|
|
@@ -4702,12 +4586,12 @@ viewPresetsListener.startListening({
|
|
|
4702
4586
|
}
|
|
4703
4587
|
case 6:
|
|
4704
4588
|
case "end":
|
|
4705
|
-
return
|
|
4589
|
+
return _context2.stop();
|
|
4706
4590
|
}
|
|
4707
|
-
},
|
|
4591
|
+
}, _callee2);
|
|
4708
4592
|
}));
|
|
4709
|
-
function effect(
|
|
4710
|
-
return
|
|
4593
|
+
function effect(_x3, _x4) {
|
|
4594
|
+
return _effect.apply(this, arguments);
|
|
4711
4595
|
}
|
|
4712
4596
|
return effect;
|
|
4713
4597
|
}()
|
|
@@ -4716,19 +4600,19 @@ viewPresetsListener.startListening({
|
|
|
4716
4600
|
viewPresetsListener.startListening({
|
|
4717
4601
|
actionCreator: viewPresetActions.onSuccessViewPresetAction,
|
|
4718
4602
|
effect: function () {
|
|
4719
|
-
var
|
|
4603
|
+
var _effect2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref4, listenerApi) {
|
|
4720
4604
|
var payload, action, viewPresetId, title, panelId, is_shared, activeMapPresetId, hasChanges, viewPresetSearchQuery;
|
|
4721
|
-
return _regeneratorRuntime().wrap(function
|
|
4722
|
-
while (1) switch (
|
|
4605
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
4606
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
4723
4607
|
case 0:
|
|
4724
|
-
payload =
|
|
4608
|
+
payload = _ref4.payload;
|
|
4725
4609
|
listenerApi.cancelActiveListeners();
|
|
4726
4610
|
action = payload.action, viewPresetId = payload.viewPresetId, title = payload.title, panelId = payload.panelId; // eslint-disable-next-line @typescript-eslint/naming-convention
|
|
4727
4611
|
is_shared = 'is_shared' in payload ? payload.is_shared : undefined;
|
|
4728
|
-
|
|
4612
|
+
_context3.next = 6;
|
|
4729
4613
|
return getQueryClient().invalidateQueries(viewpresetQueryOptions.getViewPreset(viewPresetId));
|
|
4730
4614
|
case 6:
|
|
4731
|
-
|
|
4615
|
+
_context3.next = 8;
|
|
4732
4616
|
return getQueryClient().invalidateQueries({
|
|
4733
4617
|
queryKey: viewpresetQueryOptions.keys.lists()
|
|
4734
4618
|
});
|
|
@@ -4750,9 +4634,6 @@ viewPresetsListener.startListening({
|
|
|
4750
4634
|
panelId: panelId,
|
|
4751
4635
|
filterParams: constructFilterParams([], viewPresetSearchQuery)
|
|
4752
4636
|
}));
|
|
4753
|
-
} else {
|
|
4754
|
-
// Fetch the full list to update the list store with the latest presets
|
|
4755
|
-
listenerApi.dispatch(viewPresetsListActions.fetchViewPresetsList());
|
|
4756
4637
|
}
|
|
4757
4638
|
if (action !== PresetAction.EDIT) {
|
|
4758
4639
|
listenerApi.dispatch(viewPresetActions.setViewPresetHasChanges({
|
|
@@ -4771,12 +4652,12 @@ viewPresetsListener.startListening({
|
|
|
4771
4652
|
}
|
|
4772
4653
|
case 9:
|
|
4773
4654
|
case "end":
|
|
4774
|
-
return
|
|
4655
|
+
return _context3.stop();
|
|
4775
4656
|
}
|
|
4776
|
-
},
|
|
4657
|
+
}, _callee3);
|
|
4777
4658
|
}));
|
|
4778
|
-
function effect(
|
|
4779
|
-
return
|
|
4659
|
+
function effect(_x5, _x6) {
|
|
4660
|
+
return _effect2.apply(this, arguments);
|
|
4780
4661
|
}
|
|
4781
4662
|
return effect;
|
|
4782
4663
|
}()
|
|
@@ -4808,7 +4689,6 @@ var workspaceReducersMap = {
|
|
|
4808
4689
|
ui: uiReducer,
|
|
4809
4690
|
workspace: workspaceReducer,
|
|
4810
4691
|
workspaceList: workspaceListReducer,
|
|
4811
|
-
viewPresetsList: viewPresetsListReducer,
|
|
4812
4692
|
viewPresets: viewPresetsReducer,
|
|
4813
4693
|
timeSeries: timeSeriesReducer,
|
|
4814
4694
|
soundings: soundingsReducer,
|
|
@@ -4949,12 +4829,12 @@ var WorkspaceI18nProvider = function WorkspaceI18nProvider(_ref5) {
|
|
|
4949
4829
|
});
|
|
4950
4830
|
};
|
|
4951
4831
|
|
|
4952
|
-
var _excluded$
|
|
4832
|
+
var _excluded$6 = ["component", "payload"];
|
|
4953
4833
|
// takes a component and connects module methods with workspace store
|
|
4954
4834
|
var ComponentsLookUpWrapper = function ComponentsLookUpWrapper(_ref) {
|
|
4955
4835
|
var component = _ref.component,
|
|
4956
4836
|
payload = _ref.payload,
|
|
4957
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
4837
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$6);
|
|
4958
4838
|
var RenderComponent = component;
|
|
4959
4839
|
var dispatch = useDispatch();
|
|
4960
4840
|
var viewId = payload.id;
|
|
@@ -5152,6 +5032,7 @@ var LinkMenuConnect = function LinkMenuConnect(_ref) {
|
|
|
5152
5032
|
children: maps.map(function (mapId) {
|
|
5153
5033
|
var _viewsById$mapId;
|
|
5154
5034
|
var labelId = "checkbox-link-label-" + mapId;
|
|
5035
|
+
var mapTitle = constructSyncSourceDisplayName(mapId, viewsById[mapId], ((_viewsById$mapId = viewsById[mapId]) == null ? void 0 : _viewsById$mapId.title) || mapId);
|
|
5155
5036
|
return jsx(ListItem, {
|
|
5156
5037
|
dense: true,
|
|
5157
5038
|
disablePadding: true,
|
|
@@ -5180,8 +5061,7 @@ var LinkMenuConnect = function LinkMenuConnect(_ref) {
|
|
|
5180
5061
|
})
|
|
5181
5062
|
}), jsx(ListItemText, {
|
|
5182
5063
|
id: labelId,
|
|
5183
|
-
primary:
|
|
5184
|
-
secondary: mapId
|
|
5064
|
+
primary: mapTitle
|
|
5185
5065
|
})]
|
|
5186
5066
|
})
|
|
5187
5067
|
}, mapId);
|
|
@@ -5191,13 +5071,29 @@ var LinkMenuConnect = function LinkMenuConnect(_ref) {
|
|
|
5191
5071
|
});
|
|
5192
5072
|
};
|
|
5193
5073
|
|
|
5074
|
+
var wrapInMenuItem = function wrapInMenuItem(inMenuItem, component, isDisabled) {
|
|
5075
|
+
if (isDisabled === void 0) {
|
|
5076
|
+
isDisabled = false;
|
|
5077
|
+
}
|
|
5078
|
+
if (inMenuItem) {
|
|
5079
|
+
return jsx(MenuItem, {
|
|
5080
|
+
disabled: isDisabled,
|
|
5081
|
+
children: component
|
|
5082
|
+
});
|
|
5083
|
+
}
|
|
5084
|
+
return component;
|
|
5085
|
+
};
|
|
5194
5086
|
var buttonStyle$1 = {
|
|
5195
5087
|
marginLeft: 0.5,
|
|
5196
5088
|
marginRight: 0.5
|
|
5197
5089
|
};
|
|
5198
5090
|
var SplitButtonsConnect = function SplitButtonsConnect(_ref) {
|
|
5199
5091
|
var panelId = _ref.panelId,
|
|
5200
|
-
path = _ref.path
|
|
5092
|
+
path = _ref.path,
|
|
5093
|
+
_ref$inMenuItem = _ref.inMenuItem,
|
|
5094
|
+
inMenuItem = _ref$inMenuItem === void 0 ? false : _ref$inMenuItem,
|
|
5095
|
+
_ref$isVerticalSplitD = _ref.isVerticalSplitDisabled,
|
|
5096
|
+
isVerticalSplitDisabled = _ref$isVerticalSplitD === void 0 ? false : _ref$isVerticalSplitD;
|
|
5201
5097
|
var _useWorkspaceTranslat = useWorkspaceTranslation(),
|
|
5202
5098
|
t = _useWorkspaceTranslat.t;
|
|
5203
5099
|
var _React$useContext = React.useContext(MosaicContext),
|
|
@@ -5212,19 +5108,19 @@ var SplitButtonsConnect = function SplitButtonsConnect(_ref) {
|
|
|
5212
5108
|
var addView = React.useCallback(function (view) {
|
|
5213
5109
|
dispatch(workspaceActions.setNewWorkspaceView(view));
|
|
5214
5110
|
}, [dispatch]);
|
|
5215
|
-
var createNode = React.useCallback(function (
|
|
5111
|
+
var createNode = React.useCallback(function (copyContent) {
|
|
5216
5112
|
var newId = getUniqueId(viewIds);
|
|
5217
5113
|
addView({
|
|
5218
|
-
// If
|
|
5219
|
-
componentType:
|
|
5114
|
+
// If content not copied - open new map
|
|
5115
|
+
componentType: copyContent ? viewComponentType : 'Map',
|
|
5220
5116
|
mosaicNodeId: panelId,
|
|
5221
5117
|
newId: newId,
|
|
5222
|
-
copyOriginalcontent:
|
|
5118
|
+
copyOriginalcontent: copyContent
|
|
5223
5119
|
});
|
|
5224
5120
|
return newId;
|
|
5225
5121
|
}, [addView, panelId, viewComponentType, viewIds]);
|
|
5226
5122
|
return jsxs(Fragment, {
|
|
5227
|
-
children: [jsx(CustomIconButton, {
|
|
5123
|
+
children: [wrapInMenuItem(inMenuItem, jsx(CustomIconButton, {
|
|
5228
5124
|
"data-testid": "split-horizontal-btn",
|
|
5229
5125
|
onClick: function onClick(event) {
|
|
5230
5126
|
var newNode = createNode(event.shiftKey);
|
|
@@ -5237,9 +5133,10 @@ var SplitButtonsConnect = function SplitButtonsConnect(_ref) {
|
|
|
5237
5133
|
},
|
|
5238
5134
|
sx: buttonStyle$1,
|
|
5239
5135
|
tooltipTitle: t('workspace-control-split-horizontal') + " - " + t('workspace-control-split-shift'),
|
|
5240
|
-
children: jsx(
|
|
5241
|
-
}), jsx(CustomIconButton, {
|
|
5136
|
+
children: jsx(SplitHorizontal, {})
|
|
5137
|
+
})), wrapInMenuItem(inMenuItem, jsx(CustomIconButton, {
|
|
5242
5138
|
"data-testid": "split-vertical-btn",
|
|
5139
|
+
disabled: isVerticalSplitDisabled,
|
|
5243
5140
|
onClick: function onClick(event) {
|
|
5244
5141
|
var newNode = createNode(event.shiftKey);
|
|
5245
5142
|
var previousNode = getAndAssertNodeAtPathExists(actions.getRoot(), path);
|
|
@@ -5251,8 +5148,39 @@ var SplitButtonsConnect = function SplitButtonsConnect(_ref) {
|
|
|
5251
5148
|
},
|
|
5252
5149
|
sx: buttonStyle$1,
|
|
5253
5150
|
tooltipTitle: t('workspace-control-split-vertical') + " - " + t('workspace-control-split-shift'),
|
|
5254
|
-
children: jsx(
|
|
5255
|
-
})
|
|
5151
|
+
children: jsx(SplitVertical, {})
|
|
5152
|
+
}), isVerticalSplitDisabled), wrapInMenuItem(inMenuItem, jsx(CustomIconButton, {
|
|
5153
|
+
"data-testid": "split-horizontal-btn-copy-content",
|
|
5154
|
+
onClick: function onClick(event) {
|
|
5155
|
+
// Always copy over content
|
|
5156
|
+
var newNode = createNode(true);
|
|
5157
|
+
var previousNode = getAndAssertNodeAtPathExists(actions.getRoot(), path);
|
|
5158
|
+
actions.replaceWith(path, {
|
|
5159
|
+
direction: 'column',
|
|
5160
|
+
first: previousNode,
|
|
5161
|
+
second: newNode
|
|
5162
|
+
});
|
|
5163
|
+
},
|
|
5164
|
+
sx: buttonStyle$1,
|
|
5165
|
+
tooltipTitle: t('workspace-control-split-horizontal-with-data'),
|
|
5166
|
+
children: jsx(SplitHorizontalWithContent, {})
|
|
5167
|
+
})), wrapInMenuItem(inMenuItem, jsx(CustomIconButton, {
|
|
5168
|
+
"data-testid": "split-vertical-btn-copy-content",
|
|
5169
|
+
disabled: isVerticalSplitDisabled,
|
|
5170
|
+
onClick: function onClick(event) {
|
|
5171
|
+
// Always copy over content
|
|
5172
|
+
var newNode = createNode(true);
|
|
5173
|
+
var previousNode = getAndAssertNodeAtPathExists(actions.getRoot(), path);
|
|
5174
|
+
actions.replaceWith(path, {
|
|
5175
|
+
direction: 'row',
|
|
5176
|
+
first: previousNode,
|
|
5177
|
+
second: newNode
|
|
5178
|
+
});
|
|
5179
|
+
},
|
|
5180
|
+
sx: buttonStyle$1,
|
|
5181
|
+
tooltipTitle: t('workspace-control-split-vertical-with-data'),
|
|
5182
|
+
children: jsx(SplitVerticalWithContent, {})
|
|
5183
|
+
}), isVerticalSplitDisabled)]
|
|
5256
5184
|
});
|
|
5257
5185
|
};
|
|
5258
5186
|
|
|
@@ -5261,12 +5189,21 @@ var buttonStyle = {
|
|
|
5261
5189
|
marginRight: 0.5
|
|
5262
5190
|
};
|
|
5263
5191
|
var WorkspaceControls = function WorkspaceControls(_ref) {
|
|
5192
|
+
var _sx, _sx2;
|
|
5264
5193
|
var panelId = _ref.panelId;
|
|
5265
5194
|
_ref.createNode;
|
|
5266
5195
|
var path = _ref.path,
|
|
5267
5196
|
_ref$shouldPreventClo = _ref.shouldPreventCloseView,
|
|
5268
5197
|
shouldPreventCloseView = _ref$shouldPreventClo === void 0 ? false : _ref$shouldPreventClo,
|
|
5269
5198
|
removeLinkedMap = _ref.removeLinkedMap;
|
|
5199
|
+
var theme = useTheme();
|
|
5200
|
+
var _React$useState = React.useState(null),
|
|
5201
|
+
anchorEl = _React$useState[0],
|
|
5202
|
+
setAnchorEl = _React$useState[1];
|
|
5203
|
+
var isOpen = Boolean(anchorEl);
|
|
5204
|
+
var handleClick = function handleClick(event) {
|
|
5205
|
+
setAnchorEl(anchorEl ? null : event.currentTarget);
|
|
5206
|
+
};
|
|
5270
5207
|
var confirmDialog = useConfirmationDialog();
|
|
5271
5208
|
var _React$useContext = React.useContext(MosaicContext),
|
|
5272
5209
|
actions = _React$useContext.mosaicActions;
|
|
@@ -5275,15 +5212,15 @@ var WorkspaceControls = function WorkspaceControls(_ref) {
|
|
|
5275
5212
|
var mosaicNode = useSelector(function (store) {
|
|
5276
5213
|
return getMosaicNode(store);
|
|
5277
5214
|
});
|
|
5278
|
-
var _React$
|
|
5279
|
-
stateAfterExpand = _React$
|
|
5280
|
-
setStateAfterExpand = _React$
|
|
5281
|
-
var _React$
|
|
5282
|
-
stateBeforeExpand = _React$
|
|
5283
|
-
setStateBeforeExpand = _React$
|
|
5284
|
-
var _React$
|
|
5285
|
-
enableUnexpand = _React$
|
|
5286
|
-
setEnableUnexpand = _React$
|
|
5215
|
+
var _React$useState2 = React.useState(),
|
|
5216
|
+
stateAfterExpand = _React$useState2[0],
|
|
5217
|
+
setStateAfterExpand = _React$useState2[1];
|
|
5218
|
+
var _React$useState3 = React.useState(mosaicNode),
|
|
5219
|
+
stateBeforeExpand = _React$useState3[0],
|
|
5220
|
+
setStateBeforeExpand = _React$useState3[1];
|
|
5221
|
+
var _React$useState4 = React.useState(false),
|
|
5222
|
+
enableUnexpand = _React$useState4[0],
|
|
5223
|
+
setEnableUnexpand = _React$useState4[1];
|
|
5287
5224
|
React.useEffect(function () {
|
|
5288
5225
|
if (enableUnexpand) {
|
|
5289
5226
|
if (stateAfterExpand === undefined) {
|
|
@@ -5329,31 +5266,100 @@ var WorkspaceControls = function WorkspaceControls(_ref) {
|
|
|
5329
5266
|
return _ref2.apply(this, arguments);
|
|
5330
5267
|
};
|
|
5331
5268
|
}();
|
|
5269
|
+
var expandButton = !enableUnexpand || isString(mosaicNode) ? jsx(CustomIconButton, {
|
|
5270
|
+
"data-testid": "expand-btn",
|
|
5271
|
+
onClick: function onClick() {
|
|
5272
|
+
setStateBeforeExpand(mosaicNode);
|
|
5273
|
+
setEnableUnexpand(true);
|
|
5274
|
+
actions.expand(path, 70);
|
|
5275
|
+
},
|
|
5276
|
+
sx: buttonStyle,
|
|
5277
|
+
tooltipTitle: t('workspace-control-expand'),
|
|
5278
|
+
children: jsx(Expand, {})
|
|
5279
|
+
}) : jsx(CustomIconButton, {
|
|
5280
|
+
"data-testid": "unexpand-btn",
|
|
5281
|
+
onClick: function onClick() {
|
|
5282
|
+
var stateBeforeExpandCopy = isString(stateBeforeExpand) ? stateBeforeExpand : Object.assign({}, stateBeforeExpand);
|
|
5283
|
+
actions.replaceWith([], stateBeforeExpandCopy);
|
|
5284
|
+
},
|
|
5285
|
+
sx: buttonStyle,
|
|
5286
|
+
tooltipTitle: t('workspace-control-unexpand'),
|
|
5287
|
+
children: jsx(UnExpand, {})
|
|
5288
|
+
});
|
|
5332
5289
|
return jsxs(Fragment, {
|
|
5333
|
-
children: [
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5338
|
-
|
|
5339
|
-
|
|
5340
|
-
|
|
5341
|
-
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
|
|
5345
|
-
|
|
5346
|
-
|
|
5347
|
-
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
|
|
5351
|
-
|
|
5352
|
-
|
|
5353
|
-
|
|
5354
|
-
|
|
5355
|
-
|
|
5356
|
-
|
|
5290
|
+
children: [jsxs(Box, {
|
|
5291
|
+
"data-testid": "workspace-view-controls-options-dropdown",
|
|
5292
|
+
sx: (_sx = {}, _sx["@container workspace-view-container (min-width: 495px)"] = {
|
|
5293
|
+
display: 'none'
|
|
5294
|
+
}, _sx.paddingLeft = '8px', _sx),
|
|
5295
|
+
children: [jsx(LinkMenuConnect, {
|
|
5296
|
+
panelId: panelId
|
|
5297
|
+
}), jsxs(CustomIconButton, {
|
|
5298
|
+
"aria-label": "workspace view controls",
|
|
5299
|
+
"data-testid": "workspace-view-controls",
|
|
5300
|
+
isSelected: isOpen,
|
|
5301
|
+
onClick: handleClick,
|
|
5302
|
+
sx: {
|
|
5303
|
+
'&&': {
|
|
5304
|
+
backgroundColor: !isOpen ? 'transparent' : 'geowebColors.workspace.tabButtonHover',
|
|
5305
|
+
'&:hover': {
|
|
5306
|
+
backgroundColor: 'geowebColors.workspace.tabButtonHover'
|
|
5307
|
+
},
|
|
5308
|
+
'.MuiSvgIcon-root > path': {
|
|
5309
|
+
fill: isOpen ? theme.palette.geowebColors.iconButtons.tool.active.color : undefined
|
|
5310
|
+
}
|
|
5311
|
+
}
|
|
5312
|
+
},
|
|
5313
|
+
tooltipTitle: t('workspace-control-show-options'),
|
|
5314
|
+
variant: "tool",
|
|
5315
|
+
children: [jsx(ChevronDown, {}), jsxs(Menu, {
|
|
5316
|
+
anchorEl: anchorEl,
|
|
5317
|
+
anchorOrigin: {
|
|
5318
|
+
vertical: 21,
|
|
5319
|
+
horizontal: 6
|
|
5320
|
+
},
|
|
5321
|
+
onClose: function onClose() {
|
|
5322
|
+
return setAnchorEl(null);
|
|
5323
|
+
},
|
|
5324
|
+
open: !!isOpen,
|
|
5325
|
+
slotProps: {
|
|
5326
|
+
backdrop: {
|
|
5327
|
+
style: {
|
|
5328
|
+
opacity: 0,
|
|
5329
|
+
transition: 'none'
|
|
5330
|
+
}
|
|
5331
|
+
}
|
|
5332
|
+
},
|
|
5333
|
+
sx: {
|
|
5334
|
+
'& .MuiMenu-list': {
|
|
5335
|
+
padding: 0
|
|
5336
|
+
},
|
|
5337
|
+
'& .MuiMenuItem-root': {
|
|
5338
|
+
padding: '2px',
|
|
5339
|
+
minHeight: '32px !important'
|
|
5340
|
+
}
|
|
5341
|
+
},
|
|
5342
|
+
children: [jsx(SplitButtonsConnect, {
|
|
5343
|
+
inMenuItem: true,
|
|
5344
|
+
isVerticalSplitDisabled: true,
|
|
5345
|
+
panelId: panelId,
|
|
5346
|
+
path: path
|
|
5347
|
+
}), jsx(MenuItem, {
|
|
5348
|
+
children: expandButton
|
|
5349
|
+
})]
|
|
5350
|
+
})]
|
|
5351
|
+
})]
|
|
5352
|
+
}), jsxs(Box, {
|
|
5353
|
+
"data-testid": "workspace-view-controls-options-buttons",
|
|
5354
|
+
sx: (_sx2 = {}, _sx2["@container workspace-view-container (max-width: 494px)"] = {
|
|
5355
|
+
display: 'none'
|
|
5356
|
+
}, _sx2.paddingLeft = '4px', _sx2),
|
|
5357
|
+
children: [jsx(LinkMenuConnect, {
|
|
5358
|
+
panelId: panelId
|
|
5359
|
+
}), jsx(SplitButtonsConnect, {
|
|
5360
|
+
panelId: panelId,
|
|
5361
|
+
path: path
|
|
5362
|
+
}), expandButton]
|
|
5357
5363
|
}), jsx(CustomIconButton, {
|
|
5358
5364
|
"data-testid": "close-btn",
|
|
5359
5365
|
id: "close-window-button",
|
|
@@ -5388,22 +5394,6 @@ var useFetchViewPresets = function useFetchViewPresets(panelId) {
|
|
|
5388
5394
|
currentRole = _useAuthenticationCon.currentRole;
|
|
5389
5395
|
var isAdmin = (currentRole == null ? void 0 : currentRole.name) === GEOWEB_ROLE_PRESETS_ADMIN.name;
|
|
5390
5396
|
var lastAdmin = usePrevious(isAdmin);
|
|
5391
|
-
var viewPresetListSearchQuery = useSelector(function (store) {
|
|
5392
|
-
return getViewPresetListSearchQueryForView(store, panelId);
|
|
5393
|
-
});
|
|
5394
|
-
var prevSearch = usePrevious(viewPresetListSearchQuery);
|
|
5395
|
-
var fetchViewPresets = useCallback(function (params) {
|
|
5396
|
-
dispatch(viewPresetActions.fetchViewPresets(params));
|
|
5397
|
-
}, [dispatch]);
|
|
5398
|
-
useEffect(function () {
|
|
5399
|
-
if (viewPresetListSearchQuery !== prevSearch) {
|
|
5400
|
-
var filterParams = constructFilterParams([], viewPresetListSearchQuery);
|
|
5401
|
-
fetchViewPresets({
|
|
5402
|
-
filterParams: filterParams,
|
|
5403
|
-
panelId: panelId
|
|
5404
|
-
});
|
|
5405
|
-
}
|
|
5406
|
-
}, [fetchViewPresets, panelId, prevSearch, viewPresetListSearchQuery]);
|
|
5407
5397
|
useEffect(function () {
|
|
5408
5398
|
if (isAdmin !== lastAdmin && lastAdmin !== undefined) {
|
|
5409
5399
|
// reset list filter when user changes role
|
|
@@ -5488,6 +5478,300 @@ var defaultComponentsLookUp = function defaultComponentsLookUp(_ref3) {
|
|
|
5488
5478
|
}
|
|
5489
5479
|
};
|
|
5490
5480
|
|
|
5481
|
+
var useDeleteViewPreset = function useDeleteViewPreset() {
|
|
5482
|
+
var _useAuthenticationCon = useAuthenticationContext(),
|
|
5483
|
+
auth = _useAuthenticationCon.auth;
|
|
5484
|
+
return useMutation({
|
|
5485
|
+
mutationFn: function () {
|
|
5486
|
+
var _mutationFn = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
|
|
5487
|
+
var id;
|
|
5488
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
5489
|
+
while (1) switch (_context.prev = _context.next) {
|
|
5490
|
+
case 0:
|
|
5491
|
+
id = _ref.id;
|
|
5492
|
+
if (auth) {
|
|
5493
|
+
_context.next = 3;
|
|
5494
|
+
break;
|
|
5495
|
+
}
|
|
5496
|
+
throw new Error('Authentication context not found');
|
|
5497
|
+
case 3:
|
|
5498
|
+
return _context.abrupt("return", deleteViewPreset(id, auth));
|
|
5499
|
+
case 4:
|
|
5500
|
+
case "end":
|
|
5501
|
+
return _context.stop();
|
|
5502
|
+
}
|
|
5503
|
+
}, _callee);
|
|
5504
|
+
}));
|
|
5505
|
+
function mutationFn(_x) {
|
|
5506
|
+
return _mutationFn.apply(this, arguments);
|
|
5507
|
+
}
|
|
5508
|
+
return mutationFn;
|
|
5509
|
+
}()
|
|
5510
|
+
});
|
|
5511
|
+
};
|
|
5512
|
+
var useSaveViewPreset = function useSaveViewPreset() {
|
|
5513
|
+
var _useAuthenticationCon2 = useAuthenticationContext(),
|
|
5514
|
+
auth = _useAuthenticationCon2.auth;
|
|
5515
|
+
return useMutation({
|
|
5516
|
+
mutationFn: function () {
|
|
5517
|
+
var _mutationFn2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
|
|
5518
|
+
var id, data;
|
|
5519
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
5520
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
5521
|
+
case 0:
|
|
5522
|
+
id = _ref2.id, data = _ref2.data;
|
|
5523
|
+
if (auth) {
|
|
5524
|
+
_context2.next = 3;
|
|
5525
|
+
break;
|
|
5526
|
+
}
|
|
5527
|
+
throw new Error('Authentication context not found');
|
|
5528
|
+
case 3:
|
|
5529
|
+
return _context2.abrupt("return", saveViewPreset(id, data, auth));
|
|
5530
|
+
case 4:
|
|
5531
|
+
case "end":
|
|
5532
|
+
return _context2.stop();
|
|
5533
|
+
}
|
|
5534
|
+
}, _callee2);
|
|
5535
|
+
}));
|
|
5536
|
+
function mutationFn(_x2) {
|
|
5537
|
+
return _mutationFn2.apply(this, arguments);
|
|
5538
|
+
}
|
|
5539
|
+
return mutationFn;
|
|
5540
|
+
}()
|
|
5541
|
+
});
|
|
5542
|
+
};
|
|
5543
|
+
var useSaveViewPresetAs = function useSaveViewPresetAs() {
|
|
5544
|
+
var _useAuthenticationCon3 = useAuthenticationContext(),
|
|
5545
|
+
auth = _useAuthenticationCon3.auth;
|
|
5546
|
+
return useMutation({
|
|
5547
|
+
mutationFn: function () {
|
|
5548
|
+
var _mutationFn3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3) {
|
|
5549
|
+
var data;
|
|
5550
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
5551
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
5552
|
+
case 0:
|
|
5553
|
+
data = _ref3.data;
|
|
5554
|
+
if (auth) {
|
|
5555
|
+
_context3.next = 3;
|
|
5556
|
+
break;
|
|
5557
|
+
}
|
|
5558
|
+
throw new Error('Authentication context not found');
|
|
5559
|
+
case 3:
|
|
5560
|
+
return _context3.abrupt("return", saveViewPresetAs(data, auth));
|
|
5561
|
+
case 4:
|
|
5562
|
+
case "end":
|
|
5563
|
+
return _context3.stop();
|
|
5564
|
+
}
|
|
5565
|
+
}, _callee3);
|
|
5566
|
+
}));
|
|
5567
|
+
function mutationFn(_x3) {
|
|
5568
|
+
return _mutationFn3.apply(this, arguments);
|
|
5569
|
+
}
|
|
5570
|
+
return mutationFn;
|
|
5571
|
+
}()
|
|
5572
|
+
});
|
|
5573
|
+
};
|
|
5574
|
+
var useViewPresets = function useViewPresets() {
|
|
5575
|
+
var _useAuthenticationCon5 = useAuthenticationContext(),
|
|
5576
|
+
auth = _useAuthenticationCon5.auth;
|
|
5577
|
+
return useQuery(viewpresetQueryOptions.getViewPresets(auth));
|
|
5578
|
+
};
|
|
5579
|
+
|
|
5580
|
+
var _excluded$5 = ["originalViewPresetId"];
|
|
5581
|
+
var writeToClipboard = /*#__PURE__*/function () {
|
|
5582
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(text) {
|
|
5583
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
5584
|
+
while (1) switch (_context.prev = _context.next) {
|
|
5585
|
+
case 0:
|
|
5586
|
+
window.focus();
|
|
5587
|
+
_context.next = 3;
|
|
5588
|
+
return navigator.clipboard.writeText(text);
|
|
5589
|
+
case 3:
|
|
5590
|
+
case "end":
|
|
5591
|
+
return _context.stop();
|
|
5592
|
+
}
|
|
5593
|
+
}, _callee);
|
|
5594
|
+
}));
|
|
5595
|
+
return function writeToClipboard(_x) {
|
|
5596
|
+
return _ref.apply(this, arguments);
|
|
5597
|
+
};
|
|
5598
|
+
}();
|
|
5599
|
+
/**
|
|
5600
|
+
* For each view that only has a viewPresetId reference (old-style), fetch
|
|
5601
|
+
* the full view preset from BE and replaces the reference with inline
|
|
5602
|
+
* componentType + initialProps.
|
|
5603
|
+
*/
|
|
5604
|
+
var expandWorkspaceViewPresets = /*#__PURE__*/function () {
|
|
5605
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(preset, auth) {
|
|
5606
|
+
var expandedViews;
|
|
5607
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
5608
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
5609
|
+
case 0:
|
|
5610
|
+
_context3.next = 2;
|
|
5611
|
+
return Promise.all(preset.views.map(/*#__PURE__*/function () {
|
|
5612
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(view) {
|
|
5613
|
+
var _view$title;
|
|
5614
|
+
var fullPreset;
|
|
5615
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
5616
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
5617
|
+
case 0:
|
|
5618
|
+
if (!(!view.viewPresetId || view.componentType)) {
|
|
5619
|
+
_context2.next = 2;
|
|
5620
|
+
break;
|
|
5621
|
+
}
|
|
5622
|
+
return _context2.abrupt("return", view);
|
|
5623
|
+
case 2:
|
|
5624
|
+
_context2.next = 4;
|
|
5625
|
+
return getQueryClient().fetchQuery(viewpresetQueryOptions.getViewPreset(view.viewPresetId, auth));
|
|
5626
|
+
case 4:
|
|
5627
|
+
fullPreset = _context2.sent;
|
|
5628
|
+
return _context2.abrupt("return", {
|
|
5629
|
+
mosaicNodeId: view.mosaicNodeId,
|
|
5630
|
+
title: (_view$title = view.title) != null ? _view$title : fullPreset.title,
|
|
5631
|
+
componentType: fullPreset.componentType,
|
|
5632
|
+
initialProps: fullPreset.initialProps
|
|
5633
|
+
});
|
|
5634
|
+
case 6:
|
|
5635
|
+
case "end":
|
|
5636
|
+
return _context2.stop();
|
|
5637
|
+
}
|
|
5638
|
+
}, _callee2);
|
|
5639
|
+
}));
|
|
5640
|
+
return function (_x4) {
|
|
5641
|
+
return _ref3.apply(this, arguments);
|
|
5642
|
+
};
|
|
5643
|
+
}()));
|
|
5644
|
+
case 2:
|
|
5645
|
+
expandedViews = _context3.sent;
|
|
5646
|
+
return _context3.abrupt("return", Object.assign({}, preset, {
|
|
5647
|
+
views: expandedViews
|
|
5648
|
+
}));
|
|
5649
|
+
case 4:
|
|
5650
|
+
case "end":
|
|
5651
|
+
return _context3.stop();
|
|
5652
|
+
}
|
|
5653
|
+
}, _callee3);
|
|
5654
|
+
}));
|
|
5655
|
+
return function expandWorkspaceViewPresets(_x2, _x3) {
|
|
5656
|
+
return _ref2.apply(this, arguments);
|
|
5657
|
+
};
|
|
5658
|
+
}();
|
|
5659
|
+
var sanitizeWorkspaceForClipboard = function sanitizeWorkspaceForClipboard(preset) {
|
|
5660
|
+
var views = Array.isArray(preset.views) ? preset.views.map(function (_ref4) {
|
|
5661
|
+
_ref4.originalViewPresetId;
|
|
5662
|
+
var view = _objectWithoutPropertiesLoose(_ref4, _excluded$5);
|
|
5663
|
+
return view;
|
|
5664
|
+
}) : preset.views;
|
|
5665
|
+
return Object.assign({}, preset, {
|
|
5666
|
+
id: undefined,
|
|
5667
|
+
views: views,
|
|
5668
|
+
is_shared: false,
|
|
5669
|
+
scope: 'user'
|
|
5670
|
+
});
|
|
5671
|
+
};
|
|
5672
|
+
var sanitizeViewPresetForClipboard = function sanitizeViewPresetForClipboard(preset) {
|
|
5673
|
+
var _preset$keywords;
|
|
5674
|
+
return Object.assign({}, preset, {
|
|
5675
|
+
keywords: (_preset$keywords = preset.keywords) != null ? _preset$keywords : '',
|
|
5676
|
+
id: undefined,
|
|
5677
|
+
is_shared: false,
|
|
5678
|
+
scope: 'user'
|
|
5679
|
+
});
|
|
5680
|
+
};
|
|
5681
|
+
var validateWorkspacePresetJson = function validateWorkspacePresetJson(jsonString) {
|
|
5682
|
+
var parsed;
|
|
5683
|
+
try {
|
|
5684
|
+
parsed = JSON.parse(jsonString);
|
|
5685
|
+
} catch (e) {
|
|
5686
|
+
return {
|
|
5687
|
+
error: 'workspace-paste-validation-invalid-json',
|
|
5688
|
+
errorParam: e instanceof Error ? e.message : String(e)
|
|
5689
|
+
};
|
|
5690
|
+
}
|
|
5691
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
5692
|
+
return {
|
|
5693
|
+
error: 'workspace-paste-validation-not-object'
|
|
5694
|
+
};
|
|
5695
|
+
}
|
|
5696
|
+
var obj = parsed;
|
|
5697
|
+
if (typeof obj['componentType'] === 'string') {
|
|
5698
|
+
return {
|
|
5699
|
+
error: 'workspace-paste-validation-wrong-preset-type'
|
|
5700
|
+
};
|
|
5701
|
+
}
|
|
5702
|
+
if (typeof obj['title'] !== 'string' || !obj['title'].trim()) {
|
|
5703
|
+
return {
|
|
5704
|
+
error: 'workspace-paste-validation-missing-field',
|
|
5705
|
+
errorParam: 'title'
|
|
5706
|
+
};
|
|
5707
|
+
}
|
|
5708
|
+
if (!Array.isArray(obj['views'])) {
|
|
5709
|
+
return {
|
|
5710
|
+
error: 'workspace-paste-validation-missing-field',
|
|
5711
|
+
errorParam: 'views'
|
|
5712
|
+
};
|
|
5713
|
+
}
|
|
5714
|
+
if (obj['mosaicNode'] === undefined || obj['mosaicNode'] === null) {
|
|
5715
|
+
return {
|
|
5716
|
+
error: 'workspace-paste-validation-missing-field',
|
|
5717
|
+
errorParam: 'mosaicNode'
|
|
5718
|
+
};
|
|
5719
|
+
}
|
|
5720
|
+
var hasUnexpandedViews = obj['views'].some(function (view) {
|
|
5721
|
+
return 'viewPresetId' in view && !('componentType' in view);
|
|
5722
|
+
});
|
|
5723
|
+
if (hasUnexpandedViews) {
|
|
5724
|
+
return {
|
|
5725
|
+
error: 'workspace-paste-validation-unexpanded-views'
|
|
5726
|
+
};
|
|
5727
|
+
}
|
|
5728
|
+
return null;
|
|
5729
|
+
};
|
|
5730
|
+
/**
|
|
5731
|
+
* Validates that the parsed value is a valid ViewPreset structure.
|
|
5732
|
+
*/
|
|
5733
|
+
var validateViewPresetJson = function validateViewPresetJson(jsonString) {
|
|
5734
|
+
var parsed;
|
|
5735
|
+
try {
|
|
5736
|
+
parsed = JSON.parse(jsonString);
|
|
5737
|
+
} catch (e) {
|
|
5738
|
+
return {
|
|
5739
|
+
error: 'workspace-paste-validation-invalid-json',
|
|
5740
|
+
errorParam: e instanceof Error ? e.message : String(e)
|
|
5741
|
+
};
|
|
5742
|
+
}
|
|
5743
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
5744
|
+
return {
|
|
5745
|
+
error: 'workspace-paste-validation-not-object'
|
|
5746
|
+
};
|
|
5747
|
+
}
|
|
5748
|
+
var obj = parsed;
|
|
5749
|
+
if (Array.isArray(obj['views'])) {
|
|
5750
|
+
return {
|
|
5751
|
+
error: 'viewpreset-paste-validation-wrong-preset-type'
|
|
5752
|
+
};
|
|
5753
|
+
}
|
|
5754
|
+
if (typeof obj['title'] !== 'string' || !obj['title'].trim()) {
|
|
5755
|
+
return {
|
|
5756
|
+
error: 'workspace-paste-validation-missing-field',
|
|
5757
|
+
errorParam: 'title'
|
|
5758
|
+
};
|
|
5759
|
+
}
|
|
5760
|
+
if (typeof obj['componentType'] !== 'string' || !obj['componentType']) {
|
|
5761
|
+
return {
|
|
5762
|
+
error: 'workspace-paste-validation-missing-field',
|
|
5763
|
+
errorParam: 'componentType'
|
|
5764
|
+
};
|
|
5765
|
+
}
|
|
5766
|
+
if (typeof obj['keywords'] !== 'string') {
|
|
5767
|
+
return {
|
|
5768
|
+
error: 'workspace-paste-validation-missing-field',
|
|
5769
|
+
errorParam: 'keywords'
|
|
5770
|
+
};
|
|
5771
|
+
}
|
|
5772
|
+
return null;
|
|
5773
|
+
};
|
|
5774
|
+
|
|
5491
5775
|
var VIEW_TYPE_KEY = 'viewType';
|
|
5492
5776
|
var normalizeLabels = function normalizeLabels(labels, available) {
|
|
5493
5777
|
var result = {};
|
|
@@ -5902,6 +6186,11 @@ var useWorkspaceLabelsConfig = function useWorkspaceLabelsConfig() {
|
|
|
5902
6186
|
}()
|
|
5903
6187
|
});
|
|
5904
6188
|
};
|
|
6189
|
+
var useWorkspacePresets = function useWorkspacePresets(params) {
|
|
6190
|
+
var _useAuthenticationCon2 = useAuthenticationContext(),
|
|
6191
|
+
auth = _useAuthenticationCon2.auth;
|
|
6192
|
+
return useQuery(workspaceQueryOptions.getWorkspacePresets(params, auth));
|
|
6193
|
+
};
|
|
5905
6194
|
var onWorkspaceApiError = function onWorkspaceApiError(dispatch, error, t) {
|
|
5906
6195
|
dispatch(workspaceListActions.onErrorWorkspacePresetAction({
|
|
5907
6196
|
error: {
|
|
@@ -5998,7 +6287,8 @@ var useCreateWorkspacePreset = function useCreateWorkspacePreset() {
|
|
|
5998
6287
|
workspaceId: newId,
|
|
5999
6288
|
action: variables.action || WorkspacePresetAction.SAVE_AS,
|
|
6000
6289
|
title: variables.data.title,
|
|
6001
|
-
scope: scope
|
|
6290
|
+
scope: scope,
|
|
6291
|
+
username: variables.data.username || ''
|
|
6002
6292
|
}));
|
|
6003
6293
|
},
|
|
6004
6294
|
onError: function onError(error) {
|
|
@@ -6512,6 +6802,11 @@ var WorkspaceSelectListRow = function WorkspaceSelectListRow(_ref) {
|
|
|
6512
6802
|
action: function action() {
|
|
6513
6803
|
return onClick(WorkspacePresetAction.OPEN_TAB);
|
|
6514
6804
|
}
|
|
6805
|
+
}, {
|
|
6806
|
+
text: testIdPrefix === 'viewpreset' ? t('workspace-copy-viewpreset-to-clipboard') : t('workspace-copy-to-clipboard'),
|
|
6807
|
+
action: function action() {
|
|
6808
|
+
return onClick(WorkspacePresetAction.COPY_TO_CLIPBOARD);
|
|
6809
|
+
}
|
|
6515
6810
|
}];
|
|
6516
6811
|
// Show "Edit" if it's your own user-scoped preset OR you're an admin
|
|
6517
6812
|
if (workspacePreset.scope === SystemScope.user && (auth == null ? void 0 : auth.username) === workspacePreset.username || isAdmin) {
|
|
@@ -6798,9 +7093,9 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
6798
7093
|
var username = (auth == null ? void 0 : auth.username) || '';
|
|
6799
7094
|
var isAdmin = (currentRole == null ? void 0 : currentRole.name) === GEOWEB_ROLE_PRESETS_ADMIN.name;
|
|
6800
7095
|
var scope = !isAdmin ? 'user' : 'system';
|
|
6801
|
-
var
|
|
6802
|
-
|
|
6803
|
-
|
|
7096
|
+
var _useViewPresets = useViewPresets(),
|
|
7097
|
+
viewPresets = _useViewPresets.data,
|
|
7098
|
+
isViewPresetsListFetching = _useViewPresets.isFetching;
|
|
6804
7099
|
var viewPresetListFilters = useSelector(function (store) {
|
|
6805
7100
|
return getViewPresetListFiltersForView(store, panelId, scope, isAdmin);
|
|
6806
7101
|
});
|
|
@@ -6825,8 +7120,11 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
6825
7120
|
return Object.values(viewPresetLabelFilters).flat().length;
|
|
6826
7121
|
}, [viewPresetLabelFilters]);
|
|
6827
7122
|
var filteredPresets = React.useMemo(function () {
|
|
6828
|
-
|
|
6829
|
-
|
|
7123
|
+
if (viewPresets) {
|
|
7124
|
+
return filterAndSortPresets(viewPresets, viewPresetListFilters, username, isAdmin, viewPresetLabelFilters != null ? viewPresetLabelFilters : undefined, viewPresetListSearchQuery);
|
|
7125
|
+
}
|
|
7126
|
+
return [];
|
|
7127
|
+
}, [viewPresets, viewPresetListFilters, username, isAdmin, viewPresetLabelFilters, viewPresetListSearchQuery]);
|
|
6830
7128
|
var labelsFormMethods = useForm({
|
|
6831
7129
|
defaultValues: {
|
|
6832
7130
|
labels: viewPresetLabelFilters
|
|
@@ -6869,9 +7167,6 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
6869
7167
|
var error = useSelector(function (store) {
|
|
6870
7168
|
return getViewPresetsError(store, panelId);
|
|
6871
7169
|
});
|
|
6872
|
-
var isViewPresetsListFetching = useSelector(function (store) {
|
|
6873
|
-
return getViewPresetsIsFetching(store, panelId);
|
|
6874
|
-
});
|
|
6875
7170
|
var openViewPresetsDialog = React.useCallback(function (viewPresetDialogOptions) {
|
|
6876
7171
|
dispatch(viewPresetActions.openViewPresetDialog({
|
|
6877
7172
|
viewPresetDialog: viewPresetDialogOptions
|
|
@@ -6899,13 +7194,11 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
6899
7194
|
queryKey: viewpresetQueryOptions.keys.lists()
|
|
6900
7195
|
});
|
|
6901
7196
|
case 2:
|
|
6902
|
-
fetchViewPresets();
|
|
6903
|
-
case 3:
|
|
6904
7197
|
case "end":
|
|
6905
7198
|
return _context.stop();
|
|
6906
7199
|
}
|
|
6907
7200
|
}, _callee);
|
|
6908
|
-
})), [queryClient
|
|
7201
|
+
})), [queryClient]);
|
|
6909
7202
|
var constructInitialProps = function constructInitialProps() {
|
|
6910
7203
|
switch (viewComponentType) {
|
|
6911
7204
|
case 'WarningList':
|
|
@@ -6921,123 +7214,156 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
6921
7214
|
return undefined;
|
|
6922
7215
|
}
|
|
6923
7216
|
};
|
|
6924
|
-
var onClickViewPresetOption = function
|
|
6925
|
-
|
|
6926
|
-
|
|
6927
|
-
|
|
6928
|
-
|
|
6929
|
-
|
|
6930
|
-
|
|
6931
|
-
|
|
6932
|
-
|
|
6933
|
-
|
|
6934
|
-
|
|
6935
|
-
|
|
6936
|
-
|
|
6937
|
-
panelId:
|
|
6938
|
-
|
|
6939
|
-
|
|
6940
|
-
title:
|
|
6941
|
-
|
|
6942
|
-
|
|
6943
|
-
|
|
6944
|
-
|
|
6945
|
-
|
|
6946
|
-
|
|
7217
|
+
var onClickViewPresetOption = /*#__PURE__*/function () {
|
|
7218
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(presetId, workspaceAction, preset) {
|
|
7219
|
+
var presetTitle, fullPreset, sanitized;
|
|
7220
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
7221
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
7222
|
+
case 0:
|
|
7223
|
+
_context2.t0 = workspaceAction;
|
|
7224
|
+
_context2.next = _context2.t0 === WorkspacePresetAction.DUPLICATE ? 3 : _context2.t0 === WorkspacePresetAction.EDIT ? 5 : _context2.t0 === WorkspacePresetAction.SHARE ? 9 : _context2.t0 === WorkspacePresetAction.DELETE_SYSTEM_PRESET ? 11 : _context2.t0 === WorkspacePresetAction.DELETE ? 11 : _context2.t0 === WorkspacePresetAction.COPY_TO_CLIPBOARD ? 13 : 27;
|
|
7225
|
+
break;
|
|
7226
|
+
case 3:
|
|
7227
|
+
getQueryClient().fetchQuery(viewpresetQueryOptions.getViewPreset(presetId, auth)).then(function (presetFromBE) {
|
|
7228
|
+
var _getViewById, _ref4, _preset$initialProps;
|
|
7229
|
+
var preset = presetFromBE;
|
|
7230
|
+
var fallbackInitialProps = (_getViewById = getViewById(store.getState(), panelId)) == null ? void 0 : _getViewById.initialProps;
|
|
7231
|
+
var initialPropsForForm = (_ref4 = (_preset$initialProps = preset.initialProps) != null ? _preset$initialProps : fallbackInitialProps) != null ? _ref4 : constructInitialProps();
|
|
7232
|
+
openViewPresetsDialog({
|
|
7233
|
+
title: t('workspace-mappreset-save-as'),
|
|
7234
|
+
action: PresetAction.SAVE_AS,
|
|
7235
|
+
viewPresetId: presetId,
|
|
7236
|
+
panelId: panelId,
|
|
7237
|
+
shouldSetActiveViewPreset: false,
|
|
7238
|
+
formValues: {
|
|
7239
|
+
title: preset.title,
|
|
7240
|
+
description: preset.description,
|
|
7241
|
+
initialProps: initialPropsForForm,
|
|
7242
|
+
"abstract": preset["abstract"],
|
|
7243
|
+
labels: preset.labels,
|
|
7244
|
+
componentType: preset.componentType
|
|
7245
|
+
}
|
|
7246
|
+
});
|
|
7247
|
+
})["catch"](function () {
|
|
7248
|
+
openViewPresetsDialog({
|
|
7249
|
+
title: t('workspace-mappreset-save-as'),
|
|
7250
|
+
action: PresetAction.SAVE_AS,
|
|
7251
|
+
viewPresetId: presetId,
|
|
7252
|
+
panelId: panelId,
|
|
7253
|
+
shouldSetActiveViewPreset: false,
|
|
7254
|
+
formValues: {
|
|
7255
|
+
title: preset.title,
|
|
7256
|
+
description: preset.description,
|
|
7257
|
+
initialProps: constructInitialProps(),
|
|
7258
|
+
"abstract": preset["abstract"],
|
|
7259
|
+
labels: preset.labels,
|
|
7260
|
+
componentType: viewComponentType
|
|
7261
|
+
}
|
|
7262
|
+
});
|
|
6947
7263
|
});
|
|
6948
|
-
|
|
7264
|
+
return _context2.abrupt("break", 28);
|
|
7265
|
+
case 5:
|
|
7266
|
+
presetTitle = (preset == null ? void 0 : preset.title) || '';
|
|
6949
7267
|
openViewPresetsDialog({
|
|
6950
|
-
title: t('workspace-mappreset-
|
|
6951
|
-
action: PresetAction.
|
|
6952
|
-
viewPresetId: presetId,
|
|
7268
|
+
title: t('workspace-mappreset-dialog-title-edit'),
|
|
7269
|
+
action: PresetAction.EDIT,
|
|
6953
7270
|
panelId: panelId,
|
|
6954
|
-
|
|
7271
|
+
viewPresetId: presetId,
|
|
6955
7272
|
formValues: {
|
|
6956
|
-
title:
|
|
7273
|
+
title: presetTitle,
|
|
6957
7274
|
description: preset.description,
|
|
6958
|
-
initialProps: constructInitialProps(),
|
|
6959
7275
|
"abstract": preset["abstract"],
|
|
6960
7276
|
labels: preset.labels,
|
|
6961
|
-
|
|
7277
|
+
updated: new Date().toISOString()
|
|
6962
7278
|
}
|
|
6963
7279
|
});
|
|
6964
|
-
|
|
6965
|
-
|
|
6966
|
-
|
|
6967
|
-
|
|
6968
|
-
|
|
6969
|
-
|
|
6970
|
-
|
|
6971
|
-
|
|
6972
|
-
|
|
6973
|
-
|
|
6974
|
-
|
|
6975
|
-
|
|
6976
|
-
|
|
6977
|
-
|
|
6978
|
-
|
|
6979
|
-
|
|
6980
|
-
|
|
6981
|
-
}
|
|
6982
|
-
|
|
6983
|
-
|
|
7280
|
+
void getQueryClient().fetchQuery(viewpresetQueryOptions.getViewPreset(presetId, auth)).then(function (fullPreset) {
|
|
7281
|
+
openViewPresetsDialog({
|
|
7282
|
+
title: t('workspace-mappreset-dialog-title-edit'),
|
|
7283
|
+
action: PresetAction.EDIT,
|
|
7284
|
+
panelId: panelId,
|
|
7285
|
+
viewPresetId: presetId,
|
|
7286
|
+
formValues: {
|
|
7287
|
+
title: fullPreset.title,
|
|
7288
|
+
description: fullPreset.description,
|
|
7289
|
+
"abstract": fullPreset["abstract"],
|
|
7290
|
+
labels: fullPreset.labels,
|
|
7291
|
+
componentType: fullPreset.componentType,
|
|
7292
|
+
initialProps: fullPreset.initialProps
|
|
7293
|
+
}
|
|
7294
|
+
});
|
|
7295
|
+
})["catch"](function () {
|
|
7296
|
+
// Leave dialog with initial data if fetch fails; errors handled elsewhere
|
|
7297
|
+
});
|
|
7298
|
+
return _context2.abrupt("break", 28);
|
|
7299
|
+
case 9:
|
|
7300
|
+
void getQueryClient().fetchQuery(viewpresetQueryOptions.getViewPreset(presetId, auth)).then(function (preset) {
|
|
7301
|
+
return void updateViewPreset(presetId, Object.assign({}, preset, {
|
|
7302
|
+
is_shared: !preset.is_shared
|
|
7303
|
+
}), auth).then(function () {
|
|
7304
|
+
dispatch(viewPresetActions.onSuccessViewPresetAction({
|
|
7305
|
+
panelId: panelId,
|
|
7306
|
+
viewPresetId: presetId,
|
|
7307
|
+
activeViewPresetId: activeViewPresetId,
|
|
7308
|
+
action: PresetAction.SHARE,
|
|
7309
|
+
title: preset.title,
|
|
7310
|
+
description: preset.description,
|
|
7311
|
+
scope: scope,
|
|
7312
|
+
"abstract": preset["abstract"],
|
|
7313
|
+
is_shared: preset.is_shared
|
|
7314
|
+
}));
|
|
7315
|
+
fetchViewPresets();
|
|
7316
|
+
});
|
|
7317
|
+
});
|
|
7318
|
+
return _context2.abrupt("break", 28);
|
|
7319
|
+
case 11:
|
|
6984
7320
|
openViewPresetsDialog({
|
|
6985
|
-
title: t('workspace-mappreset-dialog-title-
|
|
6986
|
-
action: PresetAction.
|
|
6987
|
-
panelId: panelId,
|
|
7321
|
+
title: t('workspace-mappreset-dialog-title-delete'),
|
|
7322
|
+
action: PresetAction.DELETE,
|
|
6988
7323
|
viewPresetId: presetId,
|
|
7324
|
+
panelId: panelId,
|
|
6989
7325
|
formValues: {
|
|
6990
|
-
title:
|
|
6991
|
-
description: fullPreset.description,
|
|
6992
|
-
"abstract": fullPreset["abstract"],
|
|
6993
|
-
labels: fullPreset.labels,
|
|
6994
|
-
componentType: fullPreset.componentType,
|
|
6995
|
-
initialProps: fullPreset.initialProps
|
|
7326
|
+
title: preset.title
|
|
6996
7327
|
}
|
|
6997
7328
|
});
|
|
6998
|
-
|
|
6999
|
-
|
|
7000
|
-
|
|
7001
|
-
|
|
7002
|
-
|
|
7003
|
-
|
|
7004
|
-
|
|
7005
|
-
|
|
7006
|
-
|
|
7007
|
-
|
|
7008
|
-
|
|
7009
|
-
|
|
7010
|
-
|
|
7011
|
-
|
|
7012
|
-
|
|
7013
|
-
|
|
7014
|
-
|
|
7015
|
-
|
|
7016
|
-
|
|
7017
|
-
|
|
7018
|
-
|
|
7019
|
-
|
|
7020
|
-
|
|
7021
|
-
});
|
|
7022
|
-
|
|
7023
|
-
|
|
7024
|
-
|
|
7025
|
-
|
|
7026
|
-
|
|
7027
|
-
|
|
7028
|
-
|
|
7029
|
-
title: t('workspace-mappreset-dialog-title-delete'),
|
|
7030
|
-
action: PresetAction.DELETE,
|
|
7031
|
-
viewPresetId: presetId,
|
|
7032
|
-
panelId: panelId,
|
|
7033
|
-
formValues: {
|
|
7034
|
-
title: preset.title
|
|
7035
|
-
}
|
|
7036
|
-
});
|
|
7037
|
-
break;
|
|
7329
|
+
return _context2.abrupt("break", 28);
|
|
7330
|
+
case 13:
|
|
7331
|
+
_context2.prev = 13;
|
|
7332
|
+
_context2.next = 16;
|
|
7333
|
+
return getQueryClient().fetchQuery(viewpresetQueryOptions.getViewPreset(presetId, auth));
|
|
7334
|
+
case 16:
|
|
7335
|
+
fullPreset = _context2.sent;
|
|
7336
|
+
sanitized = sanitizeViewPresetForClipboard(fullPreset);
|
|
7337
|
+
_context2.next = 20;
|
|
7338
|
+
return writeToClipboard(JSON.stringify(sanitized, null, 2));
|
|
7339
|
+
case 20:
|
|
7340
|
+
dispatch(snackbarActions.openSnackbar({
|
|
7341
|
+
type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
|
|
7342
|
+
message: t('workspace-copy-viewpreset-success')
|
|
7343
|
+
}));
|
|
7344
|
+
_context2.next = 26;
|
|
7345
|
+
break;
|
|
7346
|
+
case 23:
|
|
7347
|
+
_context2.prev = 23;
|
|
7348
|
+
_context2.t1 = _context2["catch"](13);
|
|
7349
|
+
dispatch(snackbarActions.openSnackbar({
|
|
7350
|
+
type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
|
|
7351
|
+
message: t('workspace-error-generic')
|
|
7352
|
+
}));
|
|
7353
|
+
case 26:
|
|
7354
|
+
return _context2.abrupt("break", 28);
|
|
7355
|
+
case 27:
|
|
7356
|
+
return _context2.abrupt("break", 28);
|
|
7357
|
+
case 28:
|
|
7358
|
+
case "end":
|
|
7359
|
+
return _context2.stop();
|
|
7038
7360
|
}
|
|
7039
|
-
|
|
7040
|
-
|
|
7361
|
+
}, _callee2, null, [[13, 23]]);
|
|
7362
|
+
}));
|
|
7363
|
+
return function onClickViewPresetOption(_x, _x2, _x3) {
|
|
7364
|
+
return _ref3.apply(this, arguments);
|
|
7365
|
+
};
|
|
7366
|
+
}();
|
|
7041
7367
|
var onSearchFilter = React.useCallback(function (searchQuery) {
|
|
7042
7368
|
dispatch(viewPresetActions.searchFilter({
|
|
7043
7369
|
searchQuery: searchQuery,
|
|
@@ -7189,16 +7515,16 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
7189
7515
|
children: jsx(LastUpdateTime, {
|
|
7190
7516
|
hideLabel: true,
|
|
7191
7517
|
onPressRefresh: function () {
|
|
7192
|
-
var _onPressRefresh = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
7193
|
-
return _regeneratorRuntime().wrap(function
|
|
7194
|
-
while (1) switch (
|
|
7518
|
+
var _onPressRefresh = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
7519
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
7520
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
7195
7521
|
case 0:
|
|
7196
|
-
return
|
|
7522
|
+
return _context3.abrupt("return", refreshViewPresets());
|
|
7197
7523
|
case 1:
|
|
7198
7524
|
case "end":
|
|
7199
|
-
return
|
|
7525
|
+
return _context3.stop();
|
|
7200
7526
|
}
|
|
7201
|
-
},
|
|
7527
|
+
}, _callee3);
|
|
7202
7528
|
}));
|
|
7203
7529
|
function onPressRefresh() {
|
|
7204
7530
|
return _onPressRefresh.apply(this, arguments);
|
|
@@ -7333,8 +7659,116 @@ var ViewPresetMenu = function ViewPresetMenu(_ref) {
|
|
|
7333
7659
|
});
|
|
7334
7660
|
};
|
|
7335
7661
|
|
|
7662
|
+
var PastePresetDialog = function PastePresetDialog(_ref) {
|
|
7663
|
+
var isOpen = _ref.isOpen,
|
|
7664
|
+
mode = _ref.mode,
|
|
7665
|
+
onClose = _ref.onClose,
|
|
7666
|
+
onConfirm = _ref.onConfirm;
|
|
7667
|
+
var _useWorkspaceTranslat = useWorkspaceTranslation(),
|
|
7668
|
+
t = _useWorkspaceTranslat.t;
|
|
7669
|
+
var _React$useState = React.useState(''),
|
|
7670
|
+
pastedText = _React$useState[0],
|
|
7671
|
+
setPastedText = _React$useState[1];
|
|
7672
|
+
var _React$useState2 = React.useState(),
|
|
7673
|
+
validationError = _React$useState2[0],
|
|
7674
|
+
setValidationError = _React$useState2[1];
|
|
7675
|
+
// Reset state when dialog closes
|
|
7676
|
+
React.useEffect(function () {
|
|
7677
|
+
if (!isOpen) {
|
|
7678
|
+
setPastedText('');
|
|
7679
|
+
setValidationError(undefined);
|
|
7680
|
+
}
|
|
7681
|
+
}, [isOpen]);
|
|
7682
|
+
var validate = function validate(value) {
|
|
7683
|
+
if (!value.trim()) {
|
|
7684
|
+
return undefined;
|
|
7685
|
+
}
|
|
7686
|
+
var result = mode === 'workspace' ? validateWorkspacePresetJson(value) : validateViewPresetJson(value);
|
|
7687
|
+
if (!result) {
|
|
7688
|
+
return undefined;
|
|
7689
|
+
}
|
|
7690
|
+
return result.errorParam ? t(result.error, {
|
|
7691
|
+
ERROR: result.errorParam
|
|
7692
|
+
}) : t(result.error);
|
|
7693
|
+
};
|
|
7694
|
+
var handleChange = function handleChange(value) {
|
|
7695
|
+
setPastedText(value);
|
|
7696
|
+
setValidationError(validate(value));
|
|
7697
|
+
};
|
|
7698
|
+
var handleSubmit = function handleSubmit() {
|
|
7699
|
+
var error = validate(pastedText);
|
|
7700
|
+
if (error) {
|
|
7701
|
+
setValidationError(error);
|
|
7702
|
+
return;
|
|
7703
|
+
}
|
|
7704
|
+
onConfirm(pastedText);
|
|
7705
|
+
onClose();
|
|
7706
|
+
};
|
|
7707
|
+
var isWorkspace = mode === 'workspace';
|
|
7708
|
+
var dialogTitle = isWorkspace ? t('workspace-paste-dialog-title') : t('workspace-paste-viewpreset-dialog-title');
|
|
7709
|
+
var confirmLabel = isWorkspace ? t('workspace-paste-load-button') : t('workspace-paste-load-viewpreset-button');
|
|
7710
|
+
var fieldLabel = isWorkspace ? t('workspace-paste-field-label') : t('workspace-paste-viewpreset-field-label');
|
|
7711
|
+
var isConfirmDisabled = !pastedText.trim() || Boolean(validationError);
|
|
7712
|
+
return jsx(CustomDialog, {
|
|
7713
|
+
actions: jsxs(Box, {
|
|
7714
|
+
sx: {
|
|
7715
|
+
display: 'flex',
|
|
7716
|
+
gap: 1,
|
|
7717
|
+
justifyContent: 'flex-end'
|
|
7718
|
+
},
|
|
7719
|
+
children: [jsx(Button, {
|
|
7720
|
+
"data-testid": "paste-preset-cancel",
|
|
7721
|
+
onClick: onClose,
|
|
7722
|
+
variant: "tertiary",
|
|
7723
|
+
children: t('workspace-cancel')
|
|
7724
|
+
}), jsx(Button, {
|
|
7725
|
+
"data-testid": "paste-preset-confirm",
|
|
7726
|
+
disabled: isConfirmDisabled,
|
|
7727
|
+
onClick: handleSubmit,
|
|
7728
|
+
variant: "primary",
|
|
7729
|
+
children: confirmLabel
|
|
7730
|
+
})]
|
|
7731
|
+
}),
|
|
7732
|
+
"data-testid": "paste-preset-dialog",
|
|
7733
|
+
onClose: onClose,
|
|
7734
|
+
open: isOpen,
|
|
7735
|
+
sx: {
|
|
7736
|
+
width: 800,
|
|
7737
|
+
height: 'auto',
|
|
7738
|
+
mx: 'auto'
|
|
7739
|
+
},
|
|
7740
|
+
title: dialogTitle,
|
|
7741
|
+
children: jsx(TextField, {
|
|
7742
|
+
"data-testid": "paste-preset-textarea",
|
|
7743
|
+
error: Boolean(validationError),
|
|
7744
|
+
fullWidth: true,
|
|
7745
|
+
helperText: validationError,
|
|
7746
|
+
label: fieldLabel,
|
|
7747
|
+
multiline: true,
|
|
7748
|
+
onChange: function onChange(e) {
|
|
7749
|
+
return handleChange(e.target.value);
|
|
7750
|
+
},
|
|
7751
|
+
onKeyDown: function onKeyDown(e) {
|
|
7752
|
+
var allowed = e.ctrlKey || e.metaKey || e.key === 'Tab';
|
|
7753
|
+
if (!allowed) {
|
|
7754
|
+
e.preventDefault();
|
|
7755
|
+
}
|
|
7756
|
+
},
|
|
7757
|
+
rows: 8,
|
|
7758
|
+
sx: {
|
|
7759
|
+
'& .MuiInputBase-input': {
|
|
7760
|
+
fontFamily: 'monospace',
|
|
7761
|
+
fontSize: 12
|
|
7762
|
+
}
|
|
7763
|
+
},
|
|
7764
|
+
value: pastedText,
|
|
7765
|
+
variant: "filled"
|
|
7766
|
+
})
|
|
7767
|
+
});
|
|
7768
|
+
};
|
|
7769
|
+
|
|
7336
7770
|
var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
7337
|
-
var _GENERIC$AUTH$error$c;
|
|
7771
|
+
var _useSelector, _GENERIC$AUTH$error$c;
|
|
7338
7772
|
var _ref$isLabelFilterOpe = _ref.isLabelFilterOpen,
|
|
7339
7773
|
isLabelFilterOpen = _ref$isLabelFilterOpe === void 0 ? false : _ref$isLabelFilterOpe,
|
|
7340
7774
|
onToggleLabelFilter = _ref.onToggleLabelFilter;
|
|
@@ -7348,9 +7782,18 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
7348
7782
|
var username = (auth == null ? void 0 : auth.username) || '';
|
|
7349
7783
|
var isAdmin = (currentRole == null ? void 0 : currentRole.name) === GEOWEB_ROLE_PRESETS_ADMIN.name;
|
|
7350
7784
|
var scope = !isAdmin ? 'user' : 'system';
|
|
7351
|
-
var
|
|
7352
|
-
return
|
|
7785
|
+
var workspaceSearchQuery = useSelector(function (store) {
|
|
7786
|
+
return getWorkspaceListSearchQuery(store);
|
|
7353
7787
|
});
|
|
7788
|
+
var filterParams = React.useMemo(function () {
|
|
7789
|
+
return constructFilterParams([], workspaceSearchQuery);
|
|
7790
|
+
}, [workspaceSearchQuery]);
|
|
7791
|
+
var _useWorkspacePresets = useWorkspacePresets(filterParams),
|
|
7792
|
+
_useWorkspacePresets$ = _useWorkspacePresets.data,
|
|
7793
|
+
workspacePresets = _useWorkspacePresets$ === void 0 ? [] : _useWorkspacePresets$,
|
|
7794
|
+
isFetching = _useWorkspacePresets.isFetching,
|
|
7795
|
+
queryError = _useWorkspacePresets.error,
|
|
7796
|
+
refreshWorkspacePresets = _useWorkspacePresets.refetch;
|
|
7354
7797
|
var selectedFilters = useSelector(getWorkspaceListFilters);
|
|
7355
7798
|
var labelFilters = useSelector(function (store) {
|
|
7356
7799
|
return getWorkspaceLabelFilters(store);
|
|
@@ -7387,41 +7830,19 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
7387
7830
|
var workspaceListFilters = useSelector(function (store) {
|
|
7388
7831
|
return getWorkspaceListFilters(store, scope, isAdmin);
|
|
7389
7832
|
});
|
|
7390
|
-
var
|
|
7391
|
-
return getWorkspaceListSearchQuery(store);
|
|
7392
|
-
});
|
|
7393
|
-
var isFetching = useSelector(function (store) {
|
|
7394
|
-
return getIsWorkspaceListFetching(store);
|
|
7395
|
-
});
|
|
7396
|
-
var error = useSelector(function (store) {
|
|
7833
|
+
var error = (_useSelector = useSelector(function (store) {
|
|
7397
7834
|
return getWorkspaceListError(store);
|
|
7398
|
-
})
|
|
7835
|
+
})) != null ? _useSelector : queryError ? {
|
|
7836
|
+
type: WorkspaceListErrorType.VERBATIM_ERROR,
|
|
7837
|
+
category: queryError.cause === 401 || queryError.cause === 403 ? WorkspaceListErrorCategory.AUTH : WorkspaceListErrorCategory.GENERIC,
|
|
7838
|
+
message: queryError.message
|
|
7839
|
+
} : undefined;
|
|
7399
7840
|
var onLabelsFilterChange = React.useCallback(function (labels) {
|
|
7400
7841
|
dispatch(workspaceListActions.setWorkspaceLabelFilters({
|
|
7401
7842
|
labels: labels
|
|
7402
7843
|
}));
|
|
7403
7844
|
}, [dispatch]);
|
|
7404
7845
|
var showLabelFilterToggle = Boolean(onToggleLabelFilter);
|
|
7405
|
-
var fetchWorkspaceList = React.useCallback(function () {
|
|
7406
|
-
var filterParams = constructFilterParams([], workspaceSearchQuery);
|
|
7407
|
-
dispatch(workspaceListActions.fetchWorkspaceList(filterParams));
|
|
7408
|
-
}, [dispatch, workspaceSearchQuery]);
|
|
7409
|
-
var refreshWorkspacePresets = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
7410
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
7411
|
-
while (1) switch (_context.prev = _context.next) {
|
|
7412
|
-
case 0:
|
|
7413
|
-
_context.next = 2;
|
|
7414
|
-
return getQueryClient().invalidateQueries({
|
|
7415
|
-
queryKey: workspaceQueryOptions.keys.lists()
|
|
7416
|
-
});
|
|
7417
|
-
case 2:
|
|
7418
|
-
fetchWorkspaceList();
|
|
7419
|
-
case 3:
|
|
7420
|
-
case "end":
|
|
7421
|
-
return _context.stop();
|
|
7422
|
-
}
|
|
7423
|
-
}, _callee);
|
|
7424
|
-
})), [fetchWorkspaceList]);
|
|
7425
7846
|
var fetchWorkspace = React.useCallback(function (workspaceId) {
|
|
7426
7847
|
dispatch(workspaceActions.fetchWorkspace({
|
|
7427
7848
|
workspaceId: workspaceId
|
|
@@ -7491,18 +7912,18 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
7491
7912
|
return result;
|
|
7492
7913
|
}, [currentView]);
|
|
7493
7914
|
var onClickWorkspacePresetOption = /*#__PURE__*/function () {
|
|
7494
|
-
var
|
|
7495
|
-
var affectedPreset, presetTitle, _currentView$syncGrou, currentViews, adminMetadata, buildFormValues, url;
|
|
7496
|
-
return _regeneratorRuntime().wrap(function
|
|
7497
|
-
while (1) switch (
|
|
7915
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(presetId, workspaceAction) {
|
|
7916
|
+
var affectedPreset, presetTitle, _currentView$syncGrou, currentViews, adminMetadata, buildFormValues, url, preset, expanded, sanitized;
|
|
7917
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
7918
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
7498
7919
|
case 0:
|
|
7499
7920
|
// If affectedPreset is the FE defined `New workspace` - use the definition from FE instead of BE
|
|
7500
7921
|
affectedPreset = presetId === getEmptyMapWorkspace(t).id ? getEmptyMapWorkspace(t) : workspacePresets.find(function (preset) {
|
|
7501
7922
|
return preset.id === presetId;
|
|
7502
7923
|
});
|
|
7503
7924
|
presetTitle = affectedPreset == null ? void 0 : affectedPreset.title;
|
|
7504
|
-
|
|
7505
|
-
|
|
7925
|
+
_context2.t0 = workspaceAction;
|
|
7926
|
+
_context2.next = _context2.t0 === WorkspacePresetAction.DUPLICATE ? 5 : _context2.t0 === WorkspacePresetAction.EDIT ? 8 : _context2.t0 === WorkspacePresetAction.DELETE ? 16 : _context2.t0 === WorkspacePresetAction.DELETE_SYSTEM_PRESET ? 18 : _context2.t0 === WorkspacePresetAction.SHARE ? 20 : _context2.t0 === WorkspacePresetAction.OPEN_TAB ? 22 : _context2.t0 === WorkspacePresetAction.COPY_TO_CLIPBOARD ? 25 : 42;
|
|
7506
7927
|
break;
|
|
7507
7928
|
case 5:
|
|
7508
7929
|
currentViews = currentViewsToBE();
|
|
@@ -7520,30 +7941,30 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
7520
7941
|
syncGroups: (_currentView$syncGrou = currentView.syncGroups) != null ? _currentView$syncGrou : []
|
|
7521
7942
|
}
|
|
7522
7943
|
});
|
|
7523
|
-
return
|
|
7944
|
+
return _context2.abrupt("break", 43);
|
|
7524
7945
|
case 8:
|
|
7525
7946
|
adminMetadata = isAdmin && auth != null && auth.username ? {
|
|
7526
7947
|
updated: new Date().toISOString(),
|
|
7527
7948
|
updatedBy: auth.username
|
|
7528
7949
|
} : {};
|
|
7529
7950
|
buildFormValues = function buildFormValues(presetDetails, presetViews) {
|
|
7530
|
-
var
|
|
7951
|
+
var _ref3, _presetDetails$title, _presetDetails$abstra, _presetDetails$descri, _presetDetails$labels, _ref4, _presetDetails$mosaic, _presetDetails$scope;
|
|
7531
7952
|
if (presetViews === void 0) {
|
|
7532
7953
|
presetViews = [];
|
|
7533
7954
|
}
|
|
7534
7955
|
return Object.assign({
|
|
7535
|
-
title: (
|
|
7956
|
+
title: (_ref3 = (_presetDetails$title = presetDetails == null ? void 0 : presetDetails.title) != null ? _presetDetails$title : presetTitle) != null ? _ref3 : '',
|
|
7536
7957
|
"abstract": (_presetDetails$abstra = presetDetails == null ? void 0 : presetDetails["abstract"]) != null ? _presetDetails$abstra : affectedPreset == null ? void 0 : affectedPreset["abstract"],
|
|
7537
7958
|
description: (_presetDetails$descri = presetDetails == null ? void 0 : presetDetails.description) != null ? _presetDetails$descri : affectedPreset == null ? void 0 : affectedPreset.description,
|
|
7538
7959
|
labels: (_presetDetails$labels = presetDetails == null ? void 0 : presetDetails.labels) != null ? _presetDetails$labels : affectedPreset == null ? void 0 : affectedPreset.labels,
|
|
7539
|
-
mosaicNode: (
|
|
7960
|
+
mosaicNode: (_ref4 = (_presetDetails$mosaic = presetDetails == null ? void 0 : presetDetails.mosaicNode) != null ? _presetDetails$mosaic : currentView == null ? void 0 : currentView.mosaicNode) != null ? _ref4 : undefined,
|
|
7540
7961
|
scope: (_presetDetails$scope = presetDetails == null ? void 0 : presetDetails.scope) != null ? _presetDetails$scope : scope,
|
|
7541
7962
|
views: presetViews,
|
|
7542
7963
|
updated: new Date().toISOString()
|
|
7543
7964
|
}, adminMetadata);
|
|
7544
7965
|
}; // If editing the active workspace, keep using the current workspace data
|
|
7545
7966
|
if (!(presetId === (currentView == null ? void 0 : currentView.id) || !auth)) {
|
|
7546
|
-
|
|
7967
|
+
_context2.next = 13;
|
|
7547
7968
|
break;
|
|
7548
7969
|
}
|
|
7549
7970
|
setWorkspaceActionDialogOptions({
|
|
@@ -7551,7 +7972,7 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
7551
7972
|
presetId: presetId,
|
|
7552
7973
|
formValues: buildFormValues(currentView, currentViewsToBE())
|
|
7553
7974
|
});
|
|
7554
|
-
return
|
|
7975
|
+
return _context2.abrupt("break", 43);
|
|
7555
7976
|
case 13:
|
|
7556
7977
|
// Open dialog immediately with basic data, then hydrate with full preset once fetched
|
|
7557
7978
|
setWorkspaceActionDialogOptions({
|
|
@@ -7575,7 +7996,7 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
7575
7996
|
}
|
|
7576
7997
|
}));
|
|
7577
7998
|
});
|
|
7578
|
-
return
|
|
7999
|
+
return _context2.abrupt("break", 43);
|
|
7579
8000
|
case 16:
|
|
7580
8001
|
setWorkspaceActionDialogOptions({
|
|
7581
8002
|
action: workspaceAction,
|
|
@@ -7585,7 +8006,7 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
7585
8006
|
scope: scope
|
|
7586
8007
|
}
|
|
7587
8008
|
});
|
|
7588
|
-
return
|
|
8009
|
+
return _context2.abrupt("break", 43);
|
|
7589
8010
|
case 18:
|
|
7590
8011
|
setWorkspaceActionDialogOptions({
|
|
7591
8012
|
action: workspaceAction,
|
|
@@ -7595,14 +8016,14 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
7595
8016
|
scope: scope
|
|
7596
8017
|
}
|
|
7597
8018
|
});
|
|
7598
|
-
return
|
|
8019
|
+
return _context2.abrupt("break", 43);
|
|
7599
8020
|
case 20:
|
|
7600
8021
|
void getWorkspace(presetId, auth).then(/*#__PURE__*/function () {
|
|
7601
|
-
var
|
|
7602
|
-
return _regeneratorRuntime().wrap(function
|
|
7603
|
-
while (1) switch (
|
|
8022
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(preset) {
|
|
8023
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
8024
|
+
while (1) switch (_context.prev = _context.next) {
|
|
7604
8025
|
case 0:
|
|
7605
|
-
return
|
|
8026
|
+
return _context.abrupt("return", updateWorkspace(presetId, Object.assign({}, preset, {
|
|
7606
8027
|
is_shared: !preset.is_shared
|
|
7607
8028
|
}), auth).then(function () {
|
|
7608
8029
|
dispatch(workspaceListActions.onSuccessWorkspacePresetAction({
|
|
@@ -7612,7 +8033,6 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
7612
8033
|
scope: scope,
|
|
7613
8034
|
is_shared: preset.is_shared
|
|
7614
8035
|
}));
|
|
7615
|
-
fetchWorkspaceList();
|
|
7616
8036
|
})["catch"](function (error) {
|
|
7617
8037
|
dispatch(workspaceListActions.onErrorWorkspacePresetAction({
|
|
7618
8038
|
error: {
|
|
@@ -7624,29 +8044,58 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
7624
8044
|
}));
|
|
7625
8045
|
case 1:
|
|
7626
8046
|
case "end":
|
|
7627
|
-
return
|
|
8047
|
+
return _context.stop();
|
|
7628
8048
|
}
|
|
7629
|
-
},
|
|
8049
|
+
}, _callee);
|
|
7630
8050
|
}));
|
|
7631
8051
|
return function (_x3) {
|
|
7632
|
-
return
|
|
8052
|
+
return _ref5.apply(this, arguments);
|
|
7633
8053
|
};
|
|
7634
8054
|
}());
|
|
7635
|
-
return
|
|
8055
|
+
return _context2.abrupt("break", 43);
|
|
7636
8056
|
case 22:
|
|
7637
8057
|
url = getWorkspaceRouteUrl(presetId);
|
|
7638
8058
|
window.open(url, '_blank');
|
|
7639
|
-
return
|
|
8059
|
+
return _context2.abrupt("break", 43);
|
|
7640
8060
|
case 25:
|
|
7641
|
-
|
|
7642
|
-
|
|
8061
|
+
_context2.prev = 25;
|
|
8062
|
+
_context2.next = 28;
|
|
8063
|
+
return getWorkspace(presetId, auth);
|
|
8064
|
+
case 28:
|
|
8065
|
+
preset = _context2.sent;
|
|
8066
|
+
_context2.next = 31;
|
|
8067
|
+
return expandWorkspaceViewPresets(preset, auth);
|
|
8068
|
+
case 31:
|
|
8069
|
+
expanded = _context2.sent;
|
|
8070
|
+
sanitized = sanitizeWorkspaceForClipboard(expanded);
|
|
8071
|
+
_context2.next = 35;
|
|
8072
|
+
return writeToClipboard(JSON.stringify(sanitized, null, 2));
|
|
8073
|
+
case 35:
|
|
8074
|
+
dispatch(snackbarActions.openSnackbar({
|
|
8075
|
+
type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
|
|
8076
|
+
message: t('workspace-copy-success')
|
|
8077
|
+
}));
|
|
8078
|
+
_context2.next = 41;
|
|
8079
|
+
break;
|
|
8080
|
+
case 38:
|
|
8081
|
+
_context2.prev = 38;
|
|
8082
|
+
_context2.t1 = _context2["catch"](25);
|
|
8083
|
+
dispatch(snackbarActions.openSnackbar({
|
|
8084
|
+
type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
|
|
8085
|
+
message: t('workspace-error-generic')
|
|
8086
|
+
}));
|
|
8087
|
+
case 41:
|
|
8088
|
+
return _context2.abrupt("break", 43);
|
|
8089
|
+
case 42:
|
|
8090
|
+
return _context2.abrupt("break", 43);
|
|
8091
|
+
case 43:
|
|
7643
8092
|
case "end":
|
|
7644
|
-
return
|
|
8093
|
+
return _context2.stop();
|
|
7645
8094
|
}
|
|
7646
|
-
},
|
|
8095
|
+
}, _callee2, null, [[25, 38]]);
|
|
7647
8096
|
}));
|
|
7648
8097
|
return function onClickWorkspacePresetOption(_x, _x2) {
|
|
7649
|
-
return
|
|
8098
|
+
return _ref2.apply(this, arguments);
|
|
7650
8099
|
};
|
|
7651
8100
|
}();
|
|
7652
8101
|
var isAllSelected = workspaceListFilters.length > 0 && workspaceListFilters.every(function (filter) {
|
|
@@ -7973,6 +8422,10 @@ var WorkspaceOptions = function WorkspaceOptions(_ref) {
|
|
|
7973
8422
|
handleEditTitle = _ref.handleEditTitle,
|
|
7974
8423
|
handleDelete = _ref.handleDelete,
|
|
7975
8424
|
handleReset = _ref.handleReset,
|
|
8425
|
+
handleCopyToClipboard = _ref.handleCopyToClipboard,
|
|
8426
|
+
handlePasteFromClipboard = _ref.handlePasteFromClipboard,
|
|
8427
|
+
copyToClipboardLabel = _ref.copyToClipboardLabel,
|
|
8428
|
+
pasteFromClipboardLabel = _ref.pasteFromClipboardLabel,
|
|
7976
8429
|
_ref$isDisabled = _ref.isDisabled,
|
|
7977
8430
|
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
7978
8431
|
_ref$isDefaultOpen = _ref.isDefaultOpen,
|
|
@@ -8004,6 +8457,12 @@ var WorkspaceOptions = function WorkspaceOptions(_ref) {
|
|
|
8004
8457
|
}] : [], [{
|
|
8005
8458
|
title: t('workspace-reset'),
|
|
8006
8459
|
callback: handleReset
|
|
8460
|
+
}, {
|
|
8461
|
+
title: copyToClipboardLabel != null ? copyToClipboardLabel : t('workspace-copy-to-clipboard'),
|
|
8462
|
+
callback: handleCopyToClipboard
|
|
8463
|
+
}, {
|
|
8464
|
+
title: pasteFromClipboardLabel != null ? pasteFromClipboardLabel : t('workspace-paste-from-clipboard'),
|
|
8465
|
+
callback: handlePasteFromClipboard
|
|
8007
8466
|
}, {
|
|
8008
8467
|
title: t('workspace-delete'),
|
|
8009
8468
|
callback: handleDelete
|
|
@@ -8125,7 +8584,7 @@ var LoadingIndicatorConnect = function LoadingIndicatorConnect(_ref) {
|
|
|
8125
8584
|
|
|
8126
8585
|
var _excluded$4 = ["title", "scope"];
|
|
8127
8586
|
var WorkspaceViewTitleConnectNoMemo = function WorkspaceViewTitleConnectNoMemo(_ref) {
|
|
8128
|
-
var _currentWorkspace$sco, _currentViewPreset$ab, _currentViewPreset$de, _currentViewPreset$la, _currentWorkspacePres;
|
|
8587
|
+
var _currentWorkspace$sco, _currentViewPreset$ab, _currentViewPreset$de, _currentViewPreset$la, _ref7, _currentWorkspacePres;
|
|
8129
8588
|
var panelId = _ref.panelId,
|
|
8130
8589
|
isViewPresetDialogOpen = _ref.isViewPresetDialogOpen;
|
|
8131
8590
|
var dispatch = useDispatch();
|
|
@@ -8137,6 +8596,15 @@ var WorkspaceViewTitleConnectNoMemo = function WorkspaceViewTitleConnectNoMemo(_
|
|
|
8137
8596
|
isLoggedIn = _useAuthenticationCon.isLoggedIn,
|
|
8138
8597
|
auth = _useAuthenticationCon.auth;
|
|
8139
8598
|
var isAdmin = (currentRole == null ? void 0 : currentRole.name) === GEOWEB_ROLE_PRESETS_ADMIN.name;
|
|
8599
|
+
var activeViewPresetId = useSelector(function (store) {
|
|
8600
|
+
return getViewPresetActiveId(store, panelId);
|
|
8601
|
+
});
|
|
8602
|
+
// TODO this should be fetched from the view. But it is currently missing username
|
|
8603
|
+
var _useViewPresets = useViewPresets(),
|
|
8604
|
+
viewPresets = _useViewPresets.data;
|
|
8605
|
+
var currentViewPreset = viewPresets == null ? void 0 : viewPresets.find(function (preset) {
|
|
8606
|
+
return preset.id === activeViewPresetId;
|
|
8607
|
+
});
|
|
8140
8608
|
var workspaceView = useSelector(function (store) {
|
|
8141
8609
|
var _getViewById;
|
|
8142
8610
|
var _ref2 = (_getViewById = getViewById(store, panelId)) != null ? _getViewById : {},
|
|
@@ -8148,12 +8616,18 @@ var WorkspaceViewTitleConnectNoMemo = function WorkspaceViewTitleConnectNoMemo(_
|
|
|
8148
8616
|
scope: scope
|
|
8149
8617
|
}, restProps);
|
|
8150
8618
|
}, shallowEqual);
|
|
8619
|
+
var liveViewPreset = useSelector(function (store) {
|
|
8620
|
+
return getViewPresetToSendToBackend(store, panelId);
|
|
8621
|
+
});
|
|
8151
8622
|
// whole workspace (id/title/abstract/scope + views)
|
|
8152
8623
|
var currentWorkspace = useSelector(function (store) {
|
|
8153
8624
|
return getWorkspaceState(store);
|
|
8154
8625
|
});
|
|
8155
|
-
var
|
|
8156
|
-
|
|
8626
|
+
var _useWorkspacePresets = useWorkspacePresets(),
|
|
8627
|
+
_useWorkspacePresets$ = _useWorkspacePresets.data,
|
|
8628
|
+
workspacePresetList = _useWorkspacePresets$ === void 0 ? [] : _useWorkspacePresets$;
|
|
8629
|
+
var currentWorkspacePresetDetails = workspacePresetList.find(function (preset) {
|
|
8630
|
+
return preset.id === currentWorkspace.id;
|
|
8157
8631
|
});
|
|
8158
8632
|
var workspaceScope = (_currentWorkspace$sco = currentWorkspace == null ? void 0 : currentWorkspace.scope) != null ? _currentWorkspace$sco : 'user';
|
|
8159
8633
|
var thisView = useSelector(function (store) {
|
|
@@ -8165,15 +8639,9 @@ var WorkspaceViewTitleConnectNoMemo = function WorkspaceViewTitleConnectNoMemo(_
|
|
|
8165
8639
|
var hasViewPresetChanges = useSelector(function (store) {
|
|
8166
8640
|
return getViewPresetHasChanges(store, panelId);
|
|
8167
8641
|
});
|
|
8168
|
-
var activeViewPresetId = useSelector(function (store) {
|
|
8169
|
-
return getViewPresetActiveId(store, panelId);
|
|
8170
|
-
});
|
|
8171
8642
|
var relatedSyncGroupIds = useSelector(function (store) {
|
|
8172
8643
|
return syncGroupsSelectors.getAllTargetGroupsForSource(store, panelId);
|
|
8173
8644
|
});
|
|
8174
|
-
var currentViewPreset = useSelector(function (store) {
|
|
8175
|
-
return activeViewPresetId ? getViewPresetFromList(store, activeViewPresetId) : undefined;
|
|
8176
|
-
});
|
|
8177
8645
|
var looksLikeUuid = function looksLikeUuid(string) {
|
|
8178
8646
|
return !!string && /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(string);
|
|
8179
8647
|
};
|
|
@@ -8193,6 +8661,8 @@ var WorkspaceViewTitleConnectNoMemo = function WorkspaceViewTitleConnectNoMemo(_
|
|
|
8193
8661
|
var showChangedInViewTitle = !!hasViewPresetChanges;
|
|
8194
8662
|
var isNewForDisplay = isNewActive && !hasViewPresetChanges;
|
|
8195
8663
|
var fullTitle = getPresetTitle(title, showChangedInViewTitle, isNewForDisplay, t);
|
|
8664
|
+
// Whether or not to display the panelId next to the preset title
|
|
8665
|
+
var showPanelId = constructSyncSourceDisplayName(panelId, workspaceView, title + " (" + panelId + ")").includes("(" + panelId + ")");
|
|
8196
8666
|
var openViewPresetsDialog = React.useCallback(function (viewPresetDialogOptions) {
|
|
8197
8667
|
dispatch(viewPresetActions.openViewPresetDialog({
|
|
8198
8668
|
viewPresetDialog: viewPresetDialogOptions
|
|
@@ -8328,9 +8798,97 @@ var WorkspaceViewTitleConnectNoMemo = function WorkspaceViewTitleConnectNoMemo(_
|
|
|
8328
8798
|
});
|
|
8329
8799
|
}
|
|
8330
8800
|
}, [isPlainWorkspaceView, currentWorkspace, thisView, panelId, dispatch, openViewPresetsDialog, activeViewPresetId, title, t]);
|
|
8331
|
-
var
|
|
8332
|
-
|
|
8333
|
-
|
|
8801
|
+
var _React$useState = React.useState(false),
|
|
8802
|
+
isPasteDialogOpen = _React$useState[0],
|
|
8803
|
+
setIsPasteDialogOpen = _React$useState[1];
|
|
8804
|
+
var onCopyToClipboard = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
8805
|
+
var fullPreset, sanitized, json;
|
|
8806
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
8807
|
+
while (1) switch (_context.prev = _context.next) {
|
|
8808
|
+
case 0:
|
|
8809
|
+
_context.prev = 0;
|
|
8810
|
+
if (!isActiveWorkspaceView) {
|
|
8811
|
+
_context.next = 5;
|
|
8812
|
+
break;
|
|
8813
|
+
}
|
|
8814
|
+
fullPreset = Object.assign({}, liveViewPreset, {
|
|
8815
|
+
title: title
|
|
8816
|
+
});
|
|
8817
|
+
_context.next = 16;
|
|
8818
|
+
break;
|
|
8819
|
+
case 5:
|
|
8820
|
+
_context.prev = 5;
|
|
8821
|
+
_context.next = 8;
|
|
8822
|
+
return getQueryClient().fetchQuery(viewpresetQueryOptions.getViewPreset(activeViewPresetId, auth));
|
|
8823
|
+
case 8:
|
|
8824
|
+
fullPreset = _context.sent;
|
|
8825
|
+
_context.next = 16;
|
|
8826
|
+
break;
|
|
8827
|
+
case 11:
|
|
8828
|
+
_context.prev = 11;
|
|
8829
|
+
_context.t0 = _context["catch"](5);
|
|
8830
|
+
if (liveViewPreset.initialProps) {
|
|
8831
|
+
_context.next = 15;
|
|
8832
|
+
break;
|
|
8833
|
+
}
|
|
8834
|
+
throw new Error('View preset not available');
|
|
8835
|
+
case 15:
|
|
8836
|
+
fullPreset = liveViewPreset;
|
|
8837
|
+
case 16:
|
|
8838
|
+
sanitized = sanitizeViewPresetForClipboard(fullPreset);
|
|
8839
|
+
json = JSON.stringify(sanitized, null, 2);
|
|
8840
|
+
_context.next = 20;
|
|
8841
|
+
return writeToClipboard(json);
|
|
8842
|
+
case 20:
|
|
8843
|
+
dispatch(snackbarActions.openSnackbar({
|
|
8844
|
+
type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
|
|
8845
|
+
message: t('workspace-copy-viewpreset-success')
|
|
8846
|
+
}));
|
|
8847
|
+
_context.next = 26;
|
|
8848
|
+
break;
|
|
8849
|
+
case 23:
|
|
8850
|
+
_context.prev = 23;
|
|
8851
|
+
_context.t1 = _context["catch"](0);
|
|
8852
|
+
dispatch(snackbarActions.openSnackbar({
|
|
8853
|
+
type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
|
|
8854
|
+
message: t('workspace-error-generic')
|
|
8855
|
+
}));
|
|
8856
|
+
case 26:
|
|
8857
|
+
case "end":
|
|
8858
|
+
return _context.stop();
|
|
8859
|
+
}
|
|
8860
|
+
}, _callee, null, [[0, 23], [5, 11]]);
|
|
8861
|
+
})), [activeViewPresetId, auth, dispatch, isActiveWorkspaceView, liveViewPreset, t, title]);
|
|
8862
|
+
var onPasteFromClipboard = function onPasteFromClipboard() {
|
|
8863
|
+
setIsPasteDialogOpen(true);
|
|
8864
|
+
};
|
|
8865
|
+
var onPasteViewPresetConfirm = React.useCallback(function (jsonString) {
|
|
8866
|
+
var parsed = JSON.parse(jsonString);
|
|
8867
|
+
var sanitized = sanitizeViewPresetForClipboard(parsed);
|
|
8868
|
+
if (sanitized.componentType === 'Map' && sanitized.initialProps) {
|
|
8869
|
+
dispatch(mapActions.setMapPreset({
|
|
8870
|
+
mapId: panelId,
|
|
8871
|
+
initialProps: sanitized.initialProps
|
|
8872
|
+
}));
|
|
8873
|
+
}
|
|
8874
|
+
dispatch(viewPresetActions.fetchedViewPreset({
|
|
8875
|
+
viewPreset: sanitized,
|
|
8876
|
+
viewPresetId: '',
|
|
8877
|
+
panelId: panelId
|
|
8878
|
+
}));
|
|
8879
|
+
dispatch(workspaceActions.updateWorkspaceView({
|
|
8880
|
+
mosaicNodeId: panelId,
|
|
8881
|
+
viewPreset: sanitized
|
|
8882
|
+
}));
|
|
8883
|
+
dispatch(workspaceActions.markWorkspaceChanged());
|
|
8884
|
+
dispatch(snackbarActions.openSnackbar({
|
|
8885
|
+
type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
|
|
8886
|
+
message: t('workspace-paste-viewpreset-success')
|
|
8887
|
+
}));
|
|
8888
|
+
}, [dispatch, panelId, t]);
|
|
8889
|
+
var toggleViewPresetDialog = React.useCallback(function (_ref6) {
|
|
8890
|
+
var panelId = _ref6.panelId,
|
|
8891
|
+
isViewPresetDialogOpen = _ref6.isViewPresetDialogOpen;
|
|
8334
8892
|
dispatch(viewPresetActions.toggleViewPresetListDialog({
|
|
8335
8893
|
panelId: panelId,
|
|
8336
8894
|
isViewPresetListDialogOpen: isViewPresetDialogOpen
|
|
@@ -8344,14 +8902,14 @@ var WorkspaceViewTitleConnectNoMemo = function WorkspaceViewTitleConnectNoMemo(_
|
|
|
8344
8902
|
}, [isViewPresetDialogOpen, panelId, toggleViewPresetDialog]);
|
|
8345
8903
|
renderCounter.count(WorkspaceViewTitleConnectNoMemo.name);
|
|
8346
8904
|
var viewpresetCreator = (currentViewPreset == null ? void 0 : currentViewPreset.username) || '';
|
|
8347
|
-
var workspaceOwner = (_currentWorkspacePres = currentWorkspacePresetDetails == null ? void 0 : currentWorkspacePresetDetails.username) != null ? _currentWorkspacePres : undefined;
|
|
8905
|
+
var workspaceOwner = (_ref7 = (_currentWorkspacePres = currentWorkspacePresetDetails == null ? void 0 : currentWorkspacePresetDetails.username) != null ? _currentWorkspacePres : currentWorkspace == null ? void 0 : currentWorkspace.username) != null ? _ref7 : undefined;
|
|
8348
8906
|
var isUserPresetCreator = !isAdmin && !!(auth != null && auth.username) && auth.username === viewpresetCreator;
|
|
8349
|
-
var isWorkspaceOwner = !isAdmin && !!workspaceOwner && (auth == null ? void 0 : auth.username) === workspaceOwner;
|
|
8907
|
+
var isWorkspaceOwner = !isAdmin && (!!workspaceOwner && (auth == null ? void 0 : auth.username) === workspaceOwner || !workspaceOwner && workspaceScope === 'user' && isLoggedIn);
|
|
8350
8908
|
var currentViewScope = (currentViewPreset == null ? void 0 : currentViewPreset.scope) || 'system';
|
|
8351
8909
|
// Regular viewPresets
|
|
8352
8910
|
var isEnabled = !isPlainWorkspaceView && isLoggedIn && activeViewPresetId !== '' && (currentViewScope === 'user' && isUserPresetCreator || currentViewScope === 'system' && isAdmin);
|
|
8353
8911
|
// Workspace views
|
|
8354
|
-
var
|
|
8912
|
+
var canEditWorkspaceViewTitle = isLoggedIn && (workspaceScope === 'user' && isWorkspaceOwner || workspaceScope === 'system' && isAdmin);
|
|
8355
8913
|
return (
|
|
8356
8914
|
// Zero-length string assignment prevents showing title as an empty object '[object Object]'.
|
|
8357
8915
|
// in child components. This is a workaround for a limitation in the Tooltip component.
|
|
@@ -8419,7 +8977,7 @@ var WorkspaceViewTitleConnectNoMemo = function WorkspaceViewTitleConnectNoMemo(_
|
|
|
8419
8977
|
whiteSpace: 'nowrap',
|
|
8420
8978
|
width: '100%'
|
|
8421
8979
|
},
|
|
8422
|
-
children: [fullTitle, jsx(Box, {
|
|
8980
|
+
children: [fullTitle, showPanelId ? jsx(Box, {
|
|
8423
8981
|
component: "span",
|
|
8424
8982
|
sx: {
|
|
8425
8983
|
fontStyle: 'normal',
|
|
@@ -8428,17 +8986,21 @@ var WorkspaceViewTitleConnectNoMemo = function WorkspaceViewTitleConnectNoMemo(_
|
|
|
8428
8986
|
color: isViewPresetDialogOpen ? 'geowebColors.text.inverse' : 'geowebColors.captions.captionStatus.rgba'
|
|
8429
8987
|
},
|
|
8430
8988
|
children: panelId
|
|
8431
|
-
})]
|
|
8989
|
+
}) : null]
|
|
8432
8990
|
})
|
|
8433
8991
|
})
|
|
8434
8992
|
}), jsx(WorkspaceOptions, {
|
|
8993
|
+
copyToClipboardLabel: t('workspace-copy-viewpreset-to-clipboard'),
|
|
8994
|
+
handleCopyToClipboard: (isPresetBacked || isActiveWorkspaceView) && isLoggedIn ? onCopyToClipboard : undefined,
|
|
8435
8995
|
handleDelete: isEnabled ? onDelete : undefined,
|
|
8436
8996
|
handleEdit: isEnabled ? onEdit : undefined,
|
|
8437
|
-
handleEditTitle:
|
|
8997
|
+
handleEditTitle: canEditWorkspaceViewTitle ? handleEditTitle : undefined,
|
|
8998
|
+
handlePasteFromClipboard: isLoggedIn ? onPasteFromClipboard : undefined,
|
|
8438
8999
|
handleReset: onReset,
|
|
8439
9000
|
handleSave: isEnabled ? onSave : undefined,
|
|
8440
9001
|
handleSaveAs: isLoggedIn ? onSaveAs : undefined,
|
|
8441
9002
|
id: viewPresetOptionId,
|
|
9003
|
+
pasteFromClipboardLabel: t('workspace-paste-viewpreset-from-clipboard'),
|
|
8442
9004
|
showEditTitleOption: true
|
|
8443
9005
|
})]
|
|
8444
9006
|
}), jsx(Box, {
|
|
@@ -8450,6 +9012,13 @@ var WorkspaceViewTitleConnectNoMemo = function WorkspaceViewTitleConnectNoMemo(_
|
|
|
8450
9012
|
children: jsx(LoadingIndicatorConnect, {
|
|
8451
9013
|
panelId: panelId
|
|
8452
9014
|
})
|
|
9015
|
+
}), jsx(PastePresetDialog, {
|
|
9016
|
+
isOpen: isPasteDialogOpen,
|
|
9017
|
+
mode: "viewpreset",
|
|
9018
|
+
onClose: function onClose() {
|
|
9019
|
+
return setIsPasteDialogOpen(false);
|
|
9020
|
+
},
|
|
9021
|
+
onConfirm: onPasteViewPresetConfirm
|
|
8453
9022
|
})]
|
|
8454
9023
|
})
|
|
8455
9024
|
);
|
|
@@ -8689,7 +9258,9 @@ var WorkspaceView = function WorkspaceView(_ref) {
|
|
|
8689
9258
|
},
|
|
8690
9259
|
'.mosaic-window-toolbar .mosaic-window-title': {
|
|
8691
9260
|
color: windowIsActive ? theme.palette.geowebColors.typographyAndIcons.text : theme.palette.geowebColors.typographyAndIcons.inactiveText
|
|
8692
|
-
}
|
|
9261
|
+
},
|
|
9262
|
+
containerName: 'workspace-view-container',
|
|
9263
|
+
containerType: 'inline-size'
|
|
8693
9264
|
};
|
|
8694
9265
|
},
|
|
8695
9266
|
children: jsx(WorkspaceTileConnect, {
|
|
@@ -8802,26 +9373,18 @@ var WorkspaceViewConnect = function WorkspaceViewConnect(_ref) {
|
|
|
8802
9373
|
* Copyright 2025 - Finnish Meteorological Institute (FMI)
|
|
8803
9374
|
* Copyright 2025 - The Norwegian Meteorological Institute (MET Norway)
|
|
8804
9375
|
* */
|
|
8805
|
-
|
|
9376
|
+
/**
|
|
9377
|
+
* Resets workspace list filter chips when the user's role changes
|
|
9378
|
+
* between admin and non-admin.
|
|
9379
|
+
*/
|
|
9380
|
+
var useResetFiltersOnRoleChange = function useResetFiltersOnRoleChange() {
|
|
8806
9381
|
var dispatch = useDispatch();
|
|
8807
9382
|
var _useAuthenticationCon = useAuthenticationContext(),
|
|
8808
9383
|
currentRole = _useAuthenticationCon.currentRole;
|
|
8809
9384
|
var isAdmin = (currentRole == null ? void 0 : currentRole.name) === GEOWEB_ROLE_PRESETS_ADMIN.name;
|
|
8810
9385
|
var lastAdmin = usePrevious(isAdmin);
|
|
8811
|
-
var workspaceSearchQuery = useSelector(getWorkspaceListSearchQuery);
|
|
8812
|
-
var prevSearch = usePrevious(workspaceSearchQuery);
|
|
8813
|
-
var fetchWorkspacePresets = useCallback(function (params) {
|
|
8814
|
-
dispatch(workspaceListActions.fetchWorkspaceList(params));
|
|
8815
|
-
}, [dispatch]);
|
|
8816
|
-
useEffect(function () {
|
|
8817
|
-
if (workspaceSearchQuery !== prevSearch) {
|
|
8818
|
-
var filterParams = constructFilterParams([], workspaceSearchQuery);
|
|
8819
|
-
fetchWorkspacePresets(filterParams);
|
|
8820
|
-
}
|
|
8821
|
-
}, [fetchWorkspacePresets, prevSearch, workspaceSearchQuery]);
|
|
8822
9386
|
useEffect(function () {
|
|
8823
9387
|
if (isAdmin !== lastAdmin && lastAdmin !== undefined) {
|
|
8824
|
-
// reset list filter when user changes role
|
|
8825
9388
|
var filters = [{
|
|
8826
9389
|
id: PresetFilterType.system,
|
|
8827
9390
|
isSelected: true
|
|
@@ -8856,7 +9419,7 @@ var WorkspaceMenuButtonConnect = function WorkspaceMenuButtonConnect(_ref) {
|
|
|
8856
9419
|
isWorkspaceListDialogOpen: isListDialogOpen
|
|
8857
9420
|
}));
|
|
8858
9421
|
}, [dispatch]);
|
|
8859
|
-
|
|
9422
|
+
useResetFiltersOnRoleChange();
|
|
8860
9423
|
var isNew = workspaceId === undefined || workspaceId === '';
|
|
8861
9424
|
var fullTitle = getPresetTitle(title, hasChanges, isNew, t);
|
|
8862
9425
|
React.useEffect(function () {
|
|
@@ -8872,7 +9435,7 @@ var WorkspaceMenuButtonConnect = function WorkspaceMenuButtonConnect(_ref) {
|
|
|
8872
9435
|
};
|
|
8873
9436
|
|
|
8874
9437
|
var WorkspaceOptionsConnect = function WorkspaceOptionsConnect(_ref) {
|
|
8875
|
-
var
|
|
9438
|
+
var _workspaceData$userna;
|
|
8876
9439
|
var title = _ref.title,
|
|
8877
9440
|
workspaceId = _ref.workspaceId;
|
|
8878
9441
|
var dispatch = useDispatch();
|
|
@@ -8891,14 +9454,14 @@ var WorkspaceOptionsConnect = function WorkspaceOptionsConnect(_ref) {
|
|
|
8891
9454
|
var workspaceData = useSelector(function (store) {
|
|
8892
9455
|
return getWorkspaceData(store);
|
|
8893
9456
|
});
|
|
8894
|
-
var
|
|
8895
|
-
return workspaceId ? getWorkspacePresetFromList(store, workspaceId) : undefined;
|
|
8896
|
-
});
|
|
8897
|
-
var workspaceCreator = (_currentWorkspacePres = currentWorkspacePreset == null ? void 0 : currentWorkspacePreset.username) != null ? _currentWorkspacePres : '';
|
|
9457
|
+
var workspaceCreator = (_workspaceData$userna = workspaceData == null ? void 0 : workspaceData.username) != null ? _workspaceData$userna : '';
|
|
8898
9458
|
var viewIds = useSelector(function (store) {
|
|
8899
9459
|
return getViewIds(store);
|
|
8900
9460
|
});
|
|
8901
|
-
var
|
|
9461
|
+
var storeWorkspaceId = useSelector(function (store) {
|
|
9462
|
+
return getWorkspaceId(store);
|
|
9463
|
+
});
|
|
9464
|
+
var isNew = !storeWorkspaceId;
|
|
8902
9465
|
var isUserPreset = workspaceScope === 'user';
|
|
8903
9466
|
var isUserPresetCreator = (auth == null ? void 0 : auth.username) === workspaceCreator;
|
|
8904
9467
|
var setWorkspaceActionDialogOptions = React.useCallback(function (dialogOptions) {
|
|
@@ -9023,13 +9586,81 @@ var WorkspaceOptionsConnect = function WorkspaceOptionsConnect(_ref) {
|
|
|
9023
9586
|
}
|
|
9024
9587
|
return isUserPreset && isUserPresetCreator ? onEdit : undefined;
|
|
9025
9588
|
};
|
|
9026
|
-
|
|
9027
|
-
|
|
9028
|
-
|
|
9029
|
-
|
|
9030
|
-
|
|
9031
|
-
|
|
9032
|
-
|
|
9589
|
+
var _React$useState = React.useState(false),
|
|
9590
|
+
isPasteDialogOpen = _React$useState[0],
|
|
9591
|
+
setIsPasteDialogOpen = _React$useState[1];
|
|
9592
|
+
var onCopyToClipboard = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
9593
|
+
var preset, expanded, sanitized, json;
|
|
9594
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
9595
|
+
while (1) switch (_context.prev = _context.next) {
|
|
9596
|
+
case 0:
|
|
9597
|
+
_context.prev = 0;
|
|
9598
|
+
_context.next = 3;
|
|
9599
|
+
return getWorkspace(workspaceId, auth);
|
|
9600
|
+
case 3:
|
|
9601
|
+
preset = _context.sent;
|
|
9602
|
+
_context.next = 6;
|
|
9603
|
+
return expandWorkspaceViewPresets(preset, auth);
|
|
9604
|
+
case 6:
|
|
9605
|
+
expanded = _context.sent;
|
|
9606
|
+
sanitized = sanitizeWorkspaceForClipboard(expanded);
|
|
9607
|
+
json = JSON.stringify(sanitized, null, 2);
|
|
9608
|
+
_context.next = 11;
|
|
9609
|
+
return writeToClipboard(json);
|
|
9610
|
+
case 11:
|
|
9611
|
+
dispatch(snackbarActions.openSnackbar({
|
|
9612
|
+
type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
|
|
9613
|
+
message: t('workspace-copy-success')
|
|
9614
|
+
}));
|
|
9615
|
+
_context.next = 17;
|
|
9616
|
+
break;
|
|
9617
|
+
case 14:
|
|
9618
|
+
_context.prev = 14;
|
|
9619
|
+
_context.t0 = _context["catch"](0);
|
|
9620
|
+
dispatch(snackbarActions.openSnackbar({
|
|
9621
|
+
type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
|
|
9622
|
+
message: t('workspace-error-generic')
|
|
9623
|
+
}));
|
|
9624
|
+
case 17:
|
|
9625
|
+
case "end":
|
|
9626
|
+
return _context.stop();
|
|
9627
|
+
}
|
|
9628
|
+
}, _callee, null, [[0, 14]]);
|
|
9629
|
+
})), [auth, workspaceId, dispatch, t]);
|
|
9630
|
+
var onPasteFromClipboard = React.useCallback(function () {
|
|
9631
|
+
setIsPasteDialogOpen(true);
|
|
9632
|
+
}, []);
|
|
9633
|
+
var onPasteConfirm = React.useCallback(function (jsonString) {
|
|
9634
|
+
var parsed = JSON.parse(jsonString);
|
|
9635
|
+
var sanitized = sanitizeWorkspaceForClipboard(parsed);
|
|
9636
|
+
var workspacePreset = getLoadingWorkspace(sanitized);
|
|
9637
|
+
dispatch(workspaceActions.changePreset({
|
|
9638
|
+
workspacePreset: workspacePreset,
|
|
9639
|
+
markAsChanged: true
|
|
9640
|
+
}));
|
|
9641
|
+
dispatch(snackbarActions.openSnackbar({
|
|
9642
|
+
type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
|
|
9643
|
+
message: t('workspace-paste-success')
|
|
9644
|
+
}));
|
|
9645
|
+
}, [dispatch, t]);
|
|
9646
|
+
return jsxs(Fragment, {
|
|
9647
|
+
children: [jsx(WorkspaceOptions, {
|
|
9648
|
+
handleCopyToClipboard: isNew ? undefined : onCopyToClipboard,
|
|
9649
|
+
handleDelete: getOnDelete(),
|
|
9650
|
+
handleEdit: handleEdit(),
|
|
9651
|
+
handlePasteFromClipboard: onPasteFromClipboard,
|
|
9652
|
+
handleReset: onReset,
|
|
9653
|
+
handleSave: handleSave(),
|
|
9654
|
+
handleSaveAs: handleSaveAs(),
|
|
9655
|
+
isDisabled: !viewIds.length || !isLoggedIn
|
|
9656
|
+
}), jsx(PastePresetDialog, {
|
|
9657
|
+
isOpen: isPasteDialogOpen,
|
|
9658
|
+
mode: "workspace",
|
|
9659
|
+
onClose: function onClose() {
|
|
9660
|
+
return setIsPasteDialogOpen(false);
|
|
9661
|
+
},
|
|
9662
|
+
onConfirm: onPasteConfirm
|
|
9663
|
+
})]
|
|
9033
9664
|
});
|
|
9034
9665
|
};
|
|
9035
9666
|
|
|
@@ -9072,6 +9703,7 @@ var emptyWorkspacePreset = {
|
|
|
9072
9703
|
"abstract": ''
|
|
9073
9704
|
};
|
|
9074
9705
|
var SHORT_DESC_LIMIT$1 = 100;
|
|
9706
|
+
var VIEW_TITLE_LIMIT = 100;
|
|
9075
9707
|
var WorkspacePresetsForm = function WorkspacePresetsForm(_ref) {
|
|
9076
9708
|
var _watch;
|
|
9077
9709
|
var error = _ref.error,
|
|
@@ -9130,7 +9762,7 @@ var WorkspacePresetsForm = function WorkspacePresetsForm(_ref) {
|
|
|
9130
9762
|
};
|
|
9131
9763
|
var hasFormInput = action === WorkspacePresetAction.DUPLICATE || action === WorkspacePresetAction.SAVE || action === WorkspacePresetAction.SAVE_AS || action === WorkspacePresetAction.EDIT || action === WorkspacePresetAction.EDIT_TITLE || action === WorkspacePresetAction.SAVE_SYSTEM_PRESET || action === WorkspacePresetAction.SAVE_SYSTEM_PRESET_AS;
|
|
9132
9764
|
// disable form inputs
|
|
9133
|
-
var isDisabled =
|
|
9765
|
+
var isDisabled = isLoading || hasSavedWorkspace && action !== WorkspacePresetAction.EDIT_TITLE;
|
|
9134
9766
|
var shouldShowLabelsForm = action === WorkspacePresetAction.SAVE_SYSTEM_PRESET_AS || action === WorkspacePresetAction.SAVE_AS || action === WorkspacePresetAction.EDIT;
|
|
9135
9767
|
return jsxs(Fragment, {
|
|
9136
9768
|
children: [!!error && !shouldShowTitleError && jsx(Box, {
|
|
@@ -9173,7 +9805,16 @@ var WorkspacePresetsForm = function WorkspacePresetsForm(_ref) {
|
|
|
9173
9805
|
label: mosaicNodeId || t('workspace-view-title'),
|
|
9174
9806
|
name: "views.0.title",
|
|
9175
9807
|
rules: {
|
|
9176
|
-
required: false
|
|
9808
|
+
required: false,
|
|
9809
|
+
maxLength: {
|
|
9810
|
+
value: VIEW_TITLE_LIMIT,
|
|
9811
|
+
message: "Maximum " + VIEW_TITLE_LIMIT + " characters"
|
|
9812
|
+
}
|
|
9813
|
+
},
|
|
9814
|
+
slotProps: {
|
|
9815
|
+
htmlInput: {
|
|
9816
|
+
maxLength: VIEW_TITLE_LIMIT
|
|
9817
|
+
}
|
|
9177
9818
|
}
|
|
9178
9819
|
})]
|
|
9179
9820
|
});
|
|
@@ -9966,100 +10607,6 @@ var ViewPresetsForm = function ViewPresetsForm(_ref) {
|
|
|
9966
10607
|
});
|
|
9967
10608
|
};
|
|
9968
10609
|
|
|
9969
|
-
var useDeleteViewPreset = function useDeleteViewPreset() {
|
|
9970
|
-
var _useAuthenticationCon = useAuthenticationContext(),
|
|
9971
|
-
auth = _useAuthenticationCon.auth;
|
|
9972
|
-
return useMutation({
|
|
9973
|
-
mutationFn: function () {
|
|
9974
|
-
var _mutationFn = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
|
|
9975
|
-
var id;
|
|
9976
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
9977
|
-
while (1) switch (_context.prev = _context.next) {
|
|
9978
|
-
case 0:
|
|
9979
|
-
id = _ref.id;
|
|
9980
|
-
if (auth) {
|
|
9981
|
-
_context.next = 3;
|
|
9982
|
-
break;
|
|
9983
|
-
}
|
|
9984
|
-
throw new Error('Authentication context not found');
|
|
9985
|
-
case 3:
|
|
9986
|
-
return _context.abrupt("return", deleteViewPreset(id, auth));
|
|
9987
|
-
case 4:
|
|
9988
|
-
case "end":
|
|
9989
|
-
return _context.stop();
|
|
9990
|
-
}
|
|
9991
|
-
}, _callee);
|
|
9992
|
-
}));
|
|
9993
|
-
function mutationFn(_x) {
|
|
9994
|
-
return _mutationFn.apply(this, arguments);
|
|
9995
|
-
}
|
|
9996
|
-
return mutationFn;
|
|
9997
|
-
}()
|
|
9998
|
-
});
|
|
9999
|
-
};
|
|
10000
|
-
var useSaveViewPreset = function useSaveViewPreset() {
|
|
10001
|
-
var _useAuthenticationCon2 = useAuthenticationContext(),
|
|
10002
|
-
auth = _useAuthenticationCon2.auth;
|
|
10003
|
-
return useMutation({
|
|
10004
|
-
mutationFn: function () {
|
|
10005
|
-
var _mutationFn2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
|
|
10006
|
-
var id, data;
|
|
10007
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
10008
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
10009
|
-
case 0:
|
|
10010
|
-
id = _ref2.id, data = _ref2.data;
|
|
10011
|
-
if (auth) {
|
|
10012
|
-
_context2.next = 3;
|
|
10013
|
-
break;
|
|
10014
|
-
}
|
|
10015
|
-
throw new Error('Authentication context not found');
|
|
10016
|
-
case 3:
|
|
10017
|
-
return _context2.abrupt("return", saveViewPreset(id, data, auth));
|
|
10018
|
-
case 4:
|
|
10019
|
-
case "end":
|
|
10020
|
-
return _context2.stop();
|
|
10021
|
-
}
|
|
10022
|
-
}, _callee2);
|
|
10023
|
-
}));
|
|
10024
|
-
function mutationFn(_x2) {
|
|
10025
|
-
return _mutationFn2.apply(this, arguments);
|
|
10026
|
-
}
|
|
10027
|
-
return mutationFn;
|
|
10028
|
-
}()
|
|
10029
|
-
});
|
|
10030
|
-
};
|
|
10031
|
-
var useSaveViewPresetAs = function useSaveViewPresetAs() {
|
|
10032
|
-
var _useAuthenticationCon3 = useAuthenticationContext(),
|
|
10033
|
-
auth = _useAuthenticationCon3.auth;
|
|
10034
|
-
return useMutation({
|
|
10035
|
-
mutationFn: function () {
|
|
10036
|
-
var _mutationFn3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3) {
|
|
10037
|
-
var data;
|
|
10038
|
-
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
10039
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
10040
|
-
case 0:
|
|
10041
|
-
data = _ref3.data;
|
|
10042
|
-
if (auth) {
|
|
10043
|
-
_context3.next = 3;
|
|
10044
|
-
break;
|
|
10045
|
-
}
|
|
10046
|
-
throw new Error('Authentication context not found');
|
|
10047
|
-
case 3:
|
|
10048
|
-
return _context3.abrupt("return", saveViewPresetAs(data, auth));
|
|
10049
|
-
case 4:
|
|
10050
|
-
case "end":
|
|
10051
|
-
return _context3.stop();
|
|
10052
|
-
}
|
|
10053
|
-
}, _callee3);
|
|
10054
|
-
}));
|
|
10055
|
-
function mutationFn(_x3) {
|
|
10056
|
-
return _mutationFn3.apply(this, arguments);
|
|
10057
|
-
}
|
|
10058
|
-
return mutationFn;
|
|
10059
|
-
}()
|
|
10060
|
-
});
|
|
10061
|
-
};
|
|
10062
|
-
|
|
10063
10610
|
var _excluded = ["title"];
|
|
10064
10611
|
var ViewPresetsFormDialog = function ViewPresetsFormDialog(_ref) {
|
|
10065
10612
|
var isOpen = _ref.isOpen,
|
|
@@ -10594,8 +11141,8 @@ var workspacePresets = [
|
|
|
10594
11141
|
defaultOverlayer: "countryborders"
|
|
10595
11142
|
},
|
|
10596
11143
|
syncGroupsIds: [
|
|
10597
|
-
"
|
|
10598
|
-
"
|
|
11144
|
+
"Area_RadarTemp",
|
|
11145
|
+
"Time_RadarTemp"
|
|
10599
11146
|
]
|
|
10600
11147
|
},
|
|
10601
11148
|
title: "Radar",
|
|
@@ -10688,8 +11235,8 @@ var workspacePresets = [
|
|
|
10688
11235
|
defaultOverlayer: "countryborders"
|
|
10689
11236
|
},
|
|
10690
11237
|
syncGroupsIds: [
|
|
10691
|
-
"
|
|
10692
|
-
"
|
|
11238
|
+
"Area_RadarTemp",
|
|
11239
|
+
"Time_RadarTemp"
|
|
10693
11240
|
]
|
|
10694
11241
|
},
|
|
10695
11242
|
title: "Temperature"
|
|
@@ -10707,8 +11254,8 @@ var workspacePresets = [
|
|
|
10707
11254
|
],
|
|
10708
11255
|
mosaicNode: {
|
|
10709
11256
|
direction: "row",
|
|
10710
|
-
first: "
|
|
10711
|
-
second: "
|
|
11257
|
+
first: "viewA",
|
|
11258
|
+
second: "viewB",
|
|
10712
11259
|
splitPercentage: 50
|
|
10713
11260
|
}
|
|
10714
11261
|
},
|
|
@@ -11185,7 +11732,36 @@ var workspacePresets = [
|
|
|
11185
11732
|
views: [
|
|
11186
11733
|
{
|
|
11187
11734
|
mosaicNodeId: "view-1",
|
|
11188
|
-
|
|
11735
|
+
componentType: "HarmonieTempAndPrecipPreset",
|
|
11736
|
+
initialProps: {
|
|
11737
|
+
layers: {
|
|
11738
|
+
topRow: {
|
|
11739
|
+
service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
|
|
11740
|
+
name: "air_temperature_hagl",
|
|
11741
|
+
style: "temperature_wow/shaded",
|
|
11742
|
+
id: "layerid_18",
|
|
11743
|
+
layerType: "mapLayer",
|
|
11744
|
+
enabled: true
|
|
11745
|
+
},
|
|
11746
|
+
bottomRow: {
|
|
11747
|
+
service: "https://geoservices.knmi.nl/adaguc-server?DATASET=uwcw_ha43_dini_5p5km",
|
|
11748
|
+
name: "total_precipitation_rate_hagl",
|
|
11749
|
+
id: "layerid_19",
|
|
11750
|
+
layerType: "mapLayer",
|
|
11751
|
+
enabled: true
|
|
11752
|
+
},
|
|
11753
|
+
topRowSyncGroups: [
|
|
11754
|
+
"timeLayerGroupA",
|
|
11755
|
+
"areaLayerGroupA",
|
|
11756
|
+
"layerGroupA"
|
|
11757
|
+
],
|
|
11758
|
+
bottomRowSyncGroups: [
|
|
11759
|
+
"timeLayerGroupA",
|
|
11760
|
+
"areaLayerGroupA",
|
|
11761
|
+
"layerGroupB"
|
|
11762
|
+
]
|
|
11763
|
+
}
|
|
11764
|
+
}
|
|
11189
11765
|
}
|
|
11190
11766
|
],
|
|
11191
11767
|
syncGroups: [
|
|
@@ -11211,9 +11787,11 @@ var workspacePresets = [
|
|
|
11211
11787
|
{
|
|
11212
11788
|
id: "screenConfigD",
|
|
11213
11789
|
title: "Radar & Sat",
|
|
11214
|
-
scope: "
|
|
11790
|
+
scope: "user",
|
|
11791
|
+
username: "user.name",
|
|
11215
11792
|
abstract: "",
|
|
11216
11793
|
viewType: "multiWindow",
|
|
11794
|
+
description: "en stor ost",
|
|
11217
11795
|
views: [
|
|
11218
11796
|
{
|
|
11219
11797
|
mosaicNodeId: "viewAsat",
|
|
@@ -11480,7 +12058,8 @@ var workspacePresets = [
|
|
|
11480
12058
|
viewPresetId: "radar"
|
|
11481
12059
|
}
|
|
11482
12060
|
],
|
|
11483
|
-
mosaicNode: "radarView"
|
|
12061
|
+
mosaicNode: "radarView",
|
|
12062
|
+
username: "user.name"
|
|
11484
12063
|
},
|
|
11485
12064
|
{
|
|
11486
12065
|
id: "workspaceHarmonie",
|
|
@@ -11662,6 +12241,57 @@ var workspacePresets = [
|
|
|
11662
12241
|
}
|
|
11663
12242
|
],
|
|
11664
12243
|
mosaicNode: "screen_no_1"
|
|
12244
|
+
},
|
|
12245
|
+
{
|
|
12246
|
+
id: "screenConfigLayerLoadFailure",
|
|
12247
|
+
title: "Layer load failure demo",
|
|
12248
|
+
scope: "system",
|
|
12249
|
+
abstract: "Workspace with one intentionally broken layer",
|
|
12250
|
+
viewType: "singleWindow",
|
|
12251
|
+
views: [
|
|
12252
|
+
{
|
|
12253
|
+
mosaicNodeId: "view-1",
|
|
12254
|
+
componentType: "Map",
|
|
12255
|
+
title: "Broken layer map",
|
|
12256
|
+
initialProps: {
|
|
12257
|
+
mapPreset: {
|
|
12258
|
+
proj: {
|
|
12259
|
+
bbox: {
|
|
12260
|
+
left: -450651.2255879827,
|
|
12261
|
+
bottom: 6490531.093143953,
|
|
12262
|
+
right: 1428345.8183648037,
|
|
12263
|
+
top: 7438773.776232235
|
|
12264
|
+
},
|
|
12265
|
+
srs: "EPSG:3857"
|
|
12266
|
+
},
|
|
12267
|
+
layers: [
|
|
12268
|
+
{
|
|
12269
|
+
id: "layerid_base_1",
|
|
12270
|
+
name: "WorldMap_Light_Grey_Canvas",
|
|
12271
|
+
type: "twms",
|
|
12272
|
+
enabled: true,
|
|
12273
|
+
layerType: "baseLayer"
|
|
12274
|
+
},
|
|
12275
|
+
{
|
|
12276
|
+
id: "layerid_broken_1",
|
|
12277
|
+
name: "this_layer_does_not_exist",
|
|
12278
|
+
service: "https://broken-wms.invalid/adagucserver?dataset=does_not_exist",
|
|
12279
|
+
format: "image/png",
|
|
12280
|
+
enabled: true,
|
|
12281
|
+
layerType: "mapLayer"
|
|
12282
|
+
}
|
|
12283
|
+
],
|
|
12284
|
+
showTimeSlider: false,
|
|
12285
|
+
shouldAutoUpdate: false
|
|
12286
|
+
},
|
|
12287
|
+
syncGroupsIds: [
|
|
12288
|
+
]
|
|
12289
|
+
}
|
|
12290
|
+
}
|
|
12291
|
+
],
|
|
12292
|
+
syncGroups: [
|
|
12293
|
+
],
|
|
12294
|
+
mosaicNode: "view-1"
|
|
11665
12295
|
}
|
|
11666
12296
|
];
|
|
11667
12297
|
|
|
@@ -11700,7 +12330,8 @@ var workspacePresetList = workspacePresets.map(function (preset) {
|
|
|
11700
12330
|
scope: preset.scope,
|
|
11701
12331
|
viewType: preset.viewType,
|
|
11702
12332
|
"abstract": (_preset$abstract = preset["abstract"]) != null ? _preset$abstract : '',
|
|
11703
|
-
description: preset.description
|
|
12333
|
+
description: preset.description,
|
|
12334
|
+
username: preset.username
|
|
11704
12335
|
};
|
|
11705
12336
|
});
|
|
11706
12337
|
var workspaceEndpoints = [http["delete"](/^.*\/workspacepreset\/(.*)$/, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
@@ -11807,4 +12438,4 @@ var workspaceEndpoints = [http["delete"](/^.*\/workspacepreset\/(.*)$/, /*#__PUR
|
|
|
11807
12438
|
}, _callee6);
|
|
11808
12439
|
})))];
|
|
11809
12440
|
|
|
11810
|
-
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, getEmptyMapWorkspace, getWorkspaceRouteUrl, selectors$2 as selectors, viewPresetActions,
|
|
12441
|
+
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, getEmptyMapWorkspace, getWorkspaceRouteUrl, selectors$2 as selectors, viewPresetActions, viewPresetsListener, viewPresetsReducer, workspaceActions, workspaceEndpoints, workspaceListActions, workspaceListListener, workspaceListReducer, workspaceListener, workspaceMiddlewares, workspaceReducer, workspaceReducersMap, routes as workspaceRoutes, workspaceTranslations };
|