@opengeoweb/workspace 9.15.0 → 9.17.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 +683 -453
- package/package.json +1 -1
- package/src/index.d.ts +2 -0
- package/src/lib/Workspace.stories.d.ts +2 -2
- package/src/lib/components/MapPresetsFormDialog/MapPresetsFormDialog.stories.d.ts +4 -4
- package/src/lib/components/Providers/Providers.d.ts +1 -1
- package/src/lib/components/ViewPresetMenu/ViewPresetMenu.stories.d.ts +2 -2
- package/src/lib/components/ViewPresetMenu/ViewPresetMenuListConnect.d.ts +0 -2
- package/src/lib/components/ViewPresetMenu/ViewPresetsError.stories.d.ts +1 -0
- package/src/lib/components/WorkspaceFilter/WorkspaceFilter.stories.d.ts +2 -2
- package/src/lib/components/WorkspaceMenu/WorkspaceMenu.stories.d.ts +2 -2
- package/src/lib/components/WorkspaceOptions/WorkspaceOptions.stories.d.ts +2 -2
- package/src/lib/components/WorkspaceOptions/WorkspaceOptionsConnect.d.ts +0 -3
- package/src/lib/components/WorkspacePresetsFormDialog/WorkspacePresetsFormDialog.d.ts +0 -9
- package/src/lib/components/WorkspacePresetsFormDialog/WorkspacePresetsFormDialog.stories.d.ts +4 -4
- package/src/lib/components/WorkspaceSelectList/WorkspaceSelectList.d.ts +0 -1
- package/src/lib/components/WorkspaceSelectList/WorkspaceSelectListRow.stories.d.ts +2 -2
- package/src/lib/components/WorkspaceTopBar/WorkspaceTopBar.stories.d.ts +6 -6
- package/src/lib/components/WorkspaceViewTitle/WorkspaceViewTitleConnect.d.ts +0 -3
- package/src/lib/store/viewPresets/reducer.d.ts +1 -2
- package/src/lib/store/viewPresets/sagas.d.ts +0 -2
- package/src/lib/store/viewPresets/utils.d.ts +0 -4
- package/src/lib/store/workspaceList/utils.d.ts +3 -1
- package/src/lib/storyUtils/useFirstTimeError.d.ts +0 -1
- package/src/lib/utils/i18n.d.ts +3 -0
- package/src/lib/storyshots/Storyshots.spec.d.ts +0 -1
package/index.esm.js
CHANGED
|
@@ -3,15 +3,16 @@ import _, { chunk, cloneDeep, isEmpty, isEqual, isString } from 'lodash';
|
|
|
3
3
|
import { syncGroupsTypes, syncGroupsActions, layerActions, mapStoreActions, uiActions, genericActions, mapActions, layerTypes, mapEnums, selectorMemoizationOptions, genericSelectors, mapSelectors, syncGroupsSelectors, routerActions, coreModuleConfig, loadingIndicatorSelectors, uiSelectors } from '@opengeoweb/store';
|
|
4
4
|
import { createApiInstance, createNonAuthApiInstance, getApi, createFakeApiInstance, ApiProvider, useApiContext } from '@opengeoweb/api';
|
|
5
5
|
import { getLeaves, MosaicContext, getAndAssertNodeAtPathExists, createBalancedTreeFromLeaves, MosaicWindow, Mosaic } from 'react-mosaic-component';
|
|
6
|
+
import i18n from 'i18next';
|
|
7
|
+
import { SHARED_NAMESPACE, sharedTranslations, isAxiosError, getAxiosErrorMessage, withEggs, ConfirmationServiceProvider, useConfirmationDialog, CustomIconButton, AlertBanner, CustomTooltip, SearchHighlight, ToggleMenu, usePrevious, ToolContainer, renderCounter, CustomToggleButton, ConfirmationDialog } from '@opengeoweb/shared';
|
|
8
|
+
import { initReactI18next, useTranslation, I18nextProvider } from 'react-i18next';
|
|
9
|
+
import { CORE_NAMESPACE, coreTranslations } from '@opengeoweb/core';
|
|
6
10
|
import { takeLatest, takeEvery, debounce, delay, put, all, select, call as call$g, takeLeading } from 'redux-saga/effects';
|
|
7
|
-
import { isAxiosError, getAxiosErrorMessage, withEggs, ConfirmationServiceProvider, useConfirmationDialog, CustomIconButton, AlertBanner, CustomTooltip, SearchHighlight, ToggleMenu, usePrevious, renderCounter, ToolContainer, CustomToggleButton, ConfirmationDialog } from '@opengeoweb/shared';
|
|
8
11
|
import { snackbarActions, SnackbarWrapperConnect } from '@opengeoweb/snackbar';
|
|
9
12
|
import * as React from 'react';
|
|
10
13
|
import React__default, { useCallback } from 'react';
|
|
11
14
|
import { ThemeWrapper, lightTheme, SplitVertical, SplitHorizontal, Expand, UnExpand, Close, Delete, Preset, PresetWorkspace, PresetTiles, Search, Clear, CloudLoading, CloudIdle, WebAssetOff } from '@opengeoweb/theme';
|
|
12
15
|
import { Provider, useDispatch, useSelector, useStore, shallowEqual } from 'react-redux';
|
|
13
|
-
import i18n from 'i18next';
|
|
14
|
-
import { initReactI18next, useTranslation, I18nextProvider } from 'react-i18next';
|
|
15
16
|
import { timeSeriesModuleConfig } from '@opengeoweb/timeseries';
|
|
16
17
|
import { AuthenticationProvider, useAuthenticationContext } from '@opengeoweb/authentication';
|
|
17
18
|
import { createStore } from '@redux-eggs/redux-toolkit';
|
|
@@ -25,6 +26,257 @@ import { Box as Box$1 } from '@mui/system';
|
|
|
25
26
|
import { ReactHookFormTextField, ReactHookFormHiddenInput, ReactHookFormProvider, defaultFormOptions } from '@opengeoweb/form-fields';
|
|
26
27
|
import { useFormContext } from 'react-hook-form';
|
|
27
28
|
|
|
29
|
+
var en = {
|
|
30
|
+
"workspace-menu": "Workspace menu",
|
|
31
|
+
"workspace-new": "New workspace",
|
|
32
|
+
"workspace-my-presets": "My presets",
|
|
33
|
+
"workspace-system-presets": "System presets",
|
|
34
|
+
"workspace-all-button": "All",
|
|
35
|
+
"workspace-search": "Search",
|
|
36
|
+
"workspace-loading": "Loading",
|
|
37
|
+
"workspace-options": "Options",
|
|
38
|
+
"workspace-results": "results",
|
|
39
|
+
"workspace-delete": "Delete",
|
|
40
|
+
"workspce-clear": "Clear",
|
|
41
|
+
"workspace-save": "Save",
|
|
42
|
+
"workspace-save-as": "Save as",
|
|
43
|
+
"workspace-save-incl-viewpresets": "Save (incl. viewpresets)",
|
|
44
|
+
"workspace-edit": "Edit (name)",
|
|
45
|
+
"workspace-edit-both": "Edit (name and abstract)",
|
|
46
|
+
"geoweb-welcome": "Welcome to GeoWeb. Please use one of the presets to open up new views",
|
|
47
|
+
"workspace-modified-new": "modified",
|
|
48
|
+
"workspace-modified-existing": "not saved",
|
|
49
|
+
"workspace-dialog-delete": "Delete workspace",
|
|
50
|
+
"workspace-duplicate": "Duplicate",
|
|
51
|
+
"workspace-cancel": "Cancel",
|
|
52
|
+
"workspace-dialog-name": "Name",
|
|
53
|
+
"workspace-dialog-abstract": "Abstract",
|
|
54
|
+
"workspace-dialog-confirm-delete-message": "Are you sure to want to delete the \"{{TITLE}}\" workspace preset?",
|
|
55
|
+
"workspace-error-fetch": "Failed to fetch workspace list",
|
|
56
|
+
"workspace-error-fetch-detail": "Failed to fetch workspace {{WORKSPACE_ID}}",
|
|
57
|
+
"workspace-retry": "Try again",
|
|
58
|
+
"workspace-delete-tooltip": "Delete preset",
|
|
59
|
+
"workspace-control-split-horizontal": "Split window horizontally",
|
|
60
|
+
"workspace-control-split-vertical": "Split window vertically",
|
|
61
|
+
"workspace-control-expand": "Expand window",
|
|
62
|
+
"workspace-control-unexpand": "Unexpand window",
|
|
63
|
+
"workspace-control-close": "Close window",
|
|
64
|
+
"workspace-control-close-message-title": "Whoops",
|
|
65
|
+
"workspace-control-close-message-description": "Are you sure you want to close this window? All changes will be lost.",
|
|
66
|
+
"workspace-mappreset-delete-message": "Are you sure to want to delete \"{{TITLE}}\" map preset?",
|
|
67
|
+
"workspace-viewpresets-fail-fetch": "Failed to fetch view {{VIEWPRESET_ID}}",
|
|
68
|
+
"workspace-viewpresets-error": "View presets not available",
|
|
69
|
+
"workspace-mappreset-dialog-title": "Map preset name",
|
|
70
|
+
"workspace-mappreset-save-as": "Save map preset as",
|
|
71
|
+
"workspace-mappreset-new": "New map preset",
|
|
72
|
+
"workspace-mappreset-dialog-title-delete": "Delete map preset",
|
|
73
|
+
"workspace-mappreset-dialog-title-edit": "Edit map preset",
|
|
74
|
+
"workspace-mappreset-error-save": "Map preset not saved: an error occurred during saving. Please try again later.",
|
|
75
|
+
"workspace-mappreset-error-fetch": "Error fetching map preset list",
|
|
76
|
+
"workspace-list-error": "Error fetching workspace preset list",
|
|
77
|
+
"workspace-list-success-save-all": "Workspace \"{{TITLE}}\" and underlying viewpresets successfully saved",
|
|
78
|
+
"workspace-list-success-delete": "Workspace \"{{TITLE}}\" successfully deleted",
|
|
79
|
+
"workspace-list-success-duplicate": "Workspace \"{{TITLE}}\" successfully saved",
|
|
80
|
+
"workspace-list-success-edit": "Workspace \"{{TITLE}}\" successfully edited",
|
|
81
|
+
"workspace-list-success-save": "Workspace \"{{TITLE}}\" successfully saved",
|
|
82
|
+
"workspace-save-error": "Failed to save workspace \"{{TITLE}}\"",
|
|
83
|
+
"workspace-error-generic": "Something went wrong, try again",
|
|
84
|
+
"workspace-viewpreset-success-delete": "Map preset \"{{TITLE}}\" successfully deleted",
|
|
85
|
+
"workspace-viewpreset-success-save-as": "New map preset \"{{TITLE}}\" successfully saved",
|
|
86
|
+
"workspace-viewpreset-success-edit": "Map preset \"{{TITLE}}\" successfully edited",
|
|
87
|
+
"workspace-viewpreset-success-save": "Map preset \"{{TITLE}}\" successfully saved",
|
|
88
|
+
"workspace-viewpreset-menu": "View presets menu"
|
|
89
|
+
};
|
|
90
|
+
var fi = {
|
|
91
|
+
"workspace-menu": "ei käännetty",
|
|
92
|
+
"workspace-new": "ei käännetty",
|
|
93
|
+
"workspace-my-presets": "ei käännetty",
|
|
94
|
+
"workspace-system-presets": "ei käännetty",
|
|
95
|
+
"workspace-all-button": "ei käännetty",
|
|
96
|
+
"workspace-search": "ei käännetty",
|
|
97
|
+
"workspace-loading": "ei käännetty",
|
|
98
|
+
"workspace-options": "ei käännetty",
|
|
99
|
+
"workspace-results": "ei käännetty",
|
|
100
|
+
"workspace-delete": "ei käännetty",
|
|
101
|
+
"workspce-clear": "ei käännetty",
|
|
102
|
+
"workspace-save": "ei käännetty",
|
|
103
|
+
"workspace-save-as": "ei käännetty",
|
|
104
|
+
"workspace-save-incl-viewpresets": "ei käännetty",
|
|
105
|
+
"workspace-edit": "ei käännetty",
|
|
106
|
+
"workspace-edit-both": "ei käännetty",
|
|
107
|
+
"geoweb-welcome": "ei käännetty",
|
|
108
|
+
"workspace-modified-new": "ei käännetty",
|
|
109
|
+
"workspace-modified-existing": "ei käännetty",
|
|
110
|
+
"workspace-dialog-delete": "ei käännetty",
|
|
111
|
+
"workspace-duplicate": "ei käännetty",
|
|
112
|
+
"workspace-cancel": "ei käännetty",
|
|
113
|
+
"workspace-dialog-name": "ei käännetty",
|
|
114
|
+
"workspace-dialog-abstract": "ei käännetty",
|
|
115
|
+
"workspace-dialog-confirm-delete-message": "ei käännetty \"{{TITLE}}\" ei käännetty?",
|
|
116
|
+
"workspace-error-fetch": "ei käännetty",
|
|
117
|
+
"workspace-error-fetch-detail": "ei käännetty",
|
|
118
|
+
"workspace-retry": "ei käännetty",
|
|
119
|
+
"workspace-delete-tooltip": "ei käännetty",
|
|
120
|
+
"workspace-control-split-horizontal": "ei käännetty",
|
|
121
|
+
"workspace-control-split-vertical": "ei käännetty",
|
|
122
|
+
"workspace-control-expand": "ei käännetty",
|
|
123
|
+
"workspace-control-unexpand": "ei käännetty",
|
|
124
|
+
"workspace-control-close": "ei käännetty",
|
|
125
|
+
"workspace-control-close-message-title": "ei käännetty",
|
|
126
|
+
"workspace-control-close-message-description": "ei käännetty",
|
|
127
|
+
"workspace-mappreset-delete-message": "ei käännetty",
|
|
128
|
+
"workspace-viewpresets-fail-fetch": "ei käännetty",
|
|
129
|
+
"workspace-viewpresets-error": "ei käännetty",
|
|
130
|
+
"workspace-mappreset-dialog-title": "ei käännetty",
|
|
131
|
+
"workspace-mappreset-save-as": "ei käännetty",
|
|
132
|
+
"workspace-mappreset-new": "ei käännetty",
|
|
133
|
+
"workspace-mappreset-dialog-title-delete": "ei käännetty",
|
|
134
|
+
"workspace-mappreset-dialog-title-edit": "ei käännetty",
|
|
135
|
+
"workspace-mappreset-error-save": "ei käännetty",
|
|
136
|
+
"workspace-mappreset-error-fetch": "ei käännetty",
|
|
137
|
+
"workspace-list-error": "ei käännetty",
|
|
138
|
+
"workspace-list-success-save-all": "ei käännetty",
|
|
139
|
+
"workspace-list-success-delete": "ei käännetty",
|
|
140
|
+
"workspace-list-success-duplicate": "ei käännetty",
|
|
141
|
+
"workspace-list-success-edit": "ei käännetty",
|
|
142
|
+
"workspace-list-success-save": "ei käännetty",
|
|
143
|
+
"workspace-save-error": "ei käännetty",
|
|
144
|
+
"workspace-error-generic": "ei käännetty",
|
|
145
|
+
"workspace-viewpreset-success-delete": "ei käännetty",
|
|
146
|
+
"workspace-viewpreset-success-save-as": "ei käännetty",
|
|
147
|
+
"workspace-viewpreset-success-edit": "ei käännetty",
|
|
148
|
+
"workspace-viewpreset-success-save": "ei käännetty",
|
|
149
|
+
"workspace-viewpreset-menu": "ei käännetty"
|
|
150
|
+
};
|
|
151
|
+
var no = {
|
|
152
|
+
"workspace-menu": "Arbeidsrommeny",
|
|
153
|
+
"workspace-new": "Nytt arbeidsrom",
|
|
154
|
+
"workspace-my-presets": "Mine presets",
|
|
155
|
+
"workspace-system-presets": "System presets",
|
|
156
|
+
"workspace-all-button": "Alle",
|
|
157
|
+
"workspace-search": "Søk",
|
|
158
|
+
"workspace-loading": "Laster",
|
|
159
|
+
"workspace-options": "Valg",
|
|
160
|
+
"workspace-results": "resultater",
|
|
161
|
+
"workspace-delete": "Slett",
|
|
162
|
+
"workspce-clear": "Tøm",
|
|
163
|
+
"workspace-save": "Lagre",
|
|
164
|
+
"workspace-save-as": "Lagre som",
|
|
165
|
+
"workspace-save-incl-viewpresets": "Lagre (inkl. viewpresets)",
|
|
166
|
+
"workspace-edit": "Endre (navn)",
|
|
167
|
+
"workspace-edit-both": "Endre (navn og abstrakt)",
|
|
168
|
+
"geoweb-welcome": "Velkommen til GeoWeb. Åpne et forhåndsvalg for å åpne nye vinduer",
|
|
169
|
+
"workspace-modified-new": "modifisert",
|
|
170
|
+
"workspace-modified-existing": "ikke lagret",
|
|
171
|
+
"workspace-dialog-delete": "Slett arbeidsrom",
|
|
172
|
+
"workspace-duplicate": "Kopier",
|
|
173
|
+
"workspace-cancel": "Avbryt",
|
|
174
|
+
"workspace-dialog-name": "Navn",
|
|
175
|
+
"workspace-dialog-abstract": "Abstrakt",
|
|
176
|
+
"workspace-dialog-confirm-delete-message": "Er du sikker på at du vil slette \"{{TITLE}}\" arbeidsrommet?",
|
|
177
|
+
"workspace-error-fetch": "Feilet i å hente liste over arbeidsrom",
|
|
178
|
+
"workspace-error-fetch-detail": "Feilet i å hente arbeidsrommet {{WORKSPACE_ID}}",
|
|
179
|
+
"workspace-viewpresets-error": "Presets er ikke tilgjengelig",
|
|
180
|
+
"workspace-retry": "Prøv igjen",
|
|
181
|
+
"workspace-delete-tooltip": "Slett preset",
|
|
182
|
+
"workspace-control-split-horizontal": "Splitt vindu horisontalt",
|
|
183
|
+
"workspace-control-split-vertical": "Splitt vindu vertikalt",
|
|
184
|
+
"workspace-control-expand": "Utvid vindu",
|
|
185
|
+
"workspace-control-unexpand": "Krymp vindu",
|
|
186
|
+
"workspace-control-close": "Lukk vindu",
|
|
187
|
+
"workspace-control-close-message-title": "Whoops",
|
|
188
|
+
"workspace-control-close-message-description": "Er du sikker på at du vil lukke vinduet? Alle endringer vil slettes.",
|
|
189
|
+
"workspace-mappreset-delete-message": "Er du sikker på at du vil slette \"{{TITLE}}\" kart-preset?",
|
|
190
|
+
"workspace-viewpresets-fail-fetch": "Feilet i å hente {{VIEWPRESET_ID}}",
|
|
191
|
+
"workspace-mappreset-dialog-title": "Kartpreset navn",
|
|
192
|
+
"workspace-mappreset-save-as": "Lagre kartpreset som",
|
|
193
|
+
"workspace-mappreset-new": "Ny kartpreset",
|
|
194
|
+
"workspace-mappreset-dialog-title-delete": "Slett kartpreset",
|
|
195
|
+
"workspace-mappreset-dialog-title-edit": "Endre kartpreset",
|
|
196
|
+
"workspace-mappreset-error-save": "Kartpreset ikke lagret: en feil skjedde under lagring. Prøv igjen senere",
|
|
197
|
+
"workspace-mappreset-error-fetch": "Feilet i å hente liste over kartpresets",
|
|
198
|
+
"workspace-list-error": "Feilet i å hente liste over arbeidsrompresets",
|
|
199
|
+
"workspace-list-success-save-all": "Arbeidsrom \"{{TITLE}}\" og underliggende presets er lagret",
|
|
200
|
+
"workspace-list-success-delete": "Arbeidsrom \"{{TITLE}}\" er slettet",
|
|
201
|
+
"workspace-list-success-duplicate": "Arbeidsrom \"{{TITLE}}\" er lagret",
|
|
202
|
+
"workspace-list-success-edit": "Arbeidsrom \"{{TITLE}}\" er endret",
|
|
203
|
+
"workspace-list-success-save": "Arbeidsrom \"{{TITLE}}\" er lagret",
|
|
204
|
+
"workspace-save-error": "Feilet i å lagre arbeidsrom \"{{TITLE}}\"",
|
|
205
|
+
"workspace-error-generic": "Noe feilet, prøv igjen",
|
|
206
|
+
"workspace-viewpreset-success-delete": "Kartpreset \"{{TITLE}}\" er slettet",
|
|
207
|
+
"workspace-viewpreset-success-save-as": "Ny kartpreset \"{{TITLE}}\" er lagret",
|
|
208
|
+
"workspace-viewpreset-success-edit": "Kartpreset \"{{TITLE}}\" er endret",
|
|
209
|
+
"workspace-viewpreset-success-save": "Kartpreset \"{{TITLE}}\" er lagret",
|
|
210
|
+
"workspace-viewpreset-menu": "Vindupresetmeny"
|
|
211
|
+
};
|
|
212
|
+
var nl = {
|
|
213
|
+
"workspace-menu": "Workspace menu",
|
|
214
|
+
"workspace-new": "Nieuwe workspace",
|
|
215
|
+
"workspace-my-presets": "Mijn presets",
|
|
216
|
+
"workspace-system-presets": "Systeem presets",
|
|
217
|
+
"workspace-all-button": "Alle",
|
|
218
|
+
"workspace-search": "Zoeken",
|
|
219
|
+
"workspace-loading": "Laden",
|
|
220
|
+
"workspace-options": "Opties",
|
|
221
|
+
"workspace-results": "resultaten",
|
|
222
|
+
"workspace-delete": "Verwijder",
|
|
223
|
+
"workspce-clear": "Wissen",
|
|
224
|
+
"workspace-save": "Opslaan",
|
|
225
|
+
"workspace-save-as": "Opslaan als",
|
|
226
|
+
"workspace-save-incl-viewpresets": "Opslaan (incl. viewpresets)",
|
|
227
|
+
"workspace-edit": "Aanpassen (naam)",
|
|
228
|
+
"workspace-edit-both": "Aanpassen (naam en abstract)",
|
|
229
|
+
"geoweb-welcome": "Welkom bij GeoWeb. Kies een van de presets om een nieuw venster te openen",
|
|
230
|
+
"workspace-modified-new": "bewerkt",
|
|
231
|
+
"workspace-modified-existing": "niet opgeslagen",
|
|
232
|
+
"workspace-dialog-delete": "Verwijder workspace",
|
|
233
|
+
"workspace-duplicate": "Dupliceer",
|
|
234
|
+
"workspace-cancel": "Annuleer",
|
|
235
|
+
"workspace-dialog-name": "Naam",
|
|
236
|
+
"workspace-dialog-abstract": "Abstract",
|
|
237
|
+
"workspace-dialog-confirm-delete-message": "Weet je zeker dat je workspace preset \"{{TITLE}}\" wilt verwijderen?",
|
|
238
|
+
"workspace-error-fetch": "Ophalen workspace lijst mislukt",
|
|
239
|
+
"workspace-error-fetch-detail": "Ophalen workspace {{WORKSPACE_ID}} mislukt",
|
|
240
|
+
"workspace-viewpresets-error": "View presets niet beschikbaar",
|
|
241
|
+
"workspace-retry": "Opnieuw proberen",
|
|
242
|
+
"workspace-delete-tooltip": "Verwijder preset",
|
|
243
|
+
"workspace-control-split-horizontal": "Splits paneel horizontaal",
|
|
244
|
+
"workspace-control-split-vertical": "Splits paneel verticaal",
|
|
245
|
+
"workspace-control-expand": "Vergroot paneel",
|
|
246
|
+
"workspace-control-unexpand": "Verklein paneel",
|
|
247
|
+
"workspace-control-close": "Sluit paneel",
|
|
248
|
+
"workspace-control-close-message-title": "Oeps",
|
|
249
|
+
"workspace-control-close-message-description": "Weet je zeker dat je dit paneel wilt sluiten? Alle wijzigingen zullen verloren gaan",
|
|
250
|
+
"workspace-mappreset-delete-message": "Weet je zeker dat je map preset \"{{TITLE}}\" wilt verwijderen?",
|
|
251
|
+
"workspace-viewpresets-fail-fetch": "Ophalen van view preset {{VIEWPRESET_ID}} mislukt",
|
|
252
|
+
"workspace-mappreset-dialog-title": "Map preset naam",
|
|
253
|
+
"workspace-mappreset-save-as": "Sla map preset op als",
|
|
254
|
+
"workspace-mappreset-new": "Nieuwe map preset",
|
|
255
|
+
"workspace-mappreset-dialog-title-delete": "Verwijder map preset",
|
|
256
|
+
"workspace-mappreset-dialog-title-edit": "Aanpassen map preset",
|
|
257
|
+
"workspace-mappreset-error-save": "Map preset niet opgeslagen: een ging iets fout met opslaan. Probeer het later nog eens.",
|
|
258
|
+
"workspace-mappreset-error-fetch": "Ophalen map preset lijst mislukt",
|
|
259
|
+
"workspace-list-error": "Ophalen workspace preset lijst mislukt",
|
|
260
|
+
"workspace-list-success-save-all": "Workspace \"{{TITLE}}\" en onderliggende viewpresets zijn succesvol opgeslagen!",
|
|
261
|
+
"workspace-list-success-delete": "Workspace \"{{TITLE}}\" succesvol verwijderd",
|
|
262
|
+
"workspace-list-success-duplicate": "Workspace \"{{TITLE}}\" succesvol opgeslagen",
|
|
263
|
+
"workspace-list-success-edit": "Workspace \"{{TITLE}}\" succesvol aangepast",
|
|
264
|
+
"workspace-list-success-save": "Workspace \"{{TITLE}}\" succesvol opgeslagen",
|
|
265
|
+
"workspace-save-error": "Workspace opslaan \"{{TITLE}}\" mislukt",
|
|
266
|
+
"workspace-error-generic": "Er is iets mis gegaan, probeer het opnieuw",
|
|
267
|
+
"workspace-viewpreset-success-delete": "Map preset \"{{TITLE}}\" succesvol verwijderd",
|
|
268
|
+
"workspace-viewpreset-success-save-as": "Nieuwe map preset \"{{TITLE}}\" succesvol opgeslagen",
|
|
269
|
+
"workspace-viewpreset-success-edit": "Map preset \"{{TITLE}}\" succesvol aangepast",
|
|
270
|
+
"workspace-viewpreset-success-save": "Map preset \"{{TITLE}}\" succesvol opgeslagen",
|
|
271
|
+
"workspace-viewpreset-menu": "View presets menu"
|
|
272
|
+
};
|
|
273
|
+
var workspaceTranslations = {
|
|
274
|
+
en: en,
|
|
275
|
+
fi: fi,
|
|
276
|
+
no: no,
|
|
277
|
+
nl: nl
|
|
278
|
+
};
|
|
279
|
+
|
|
28
280
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
29
281
|
|
|
30
282
|
var check = function (it) {
|
|
@@ -2622,13 +2874,13 @@ var PresetAction;
|
|
|
2622
2874
|
})(PresetAction || (PresetAction = {}));
|
|
2623
2875
|
|
|
2624
2876
|
const viewPresetsListFilterOptions = [{
|
|
2625
|
-
label: '
|
|
2877
|
+
label: 'workspace-my-presets',
|
|
2626
2878
|
id: 'user',
|
|
2627
2879
|
type: 'scope',
|
|
2628
2880
|
isSelected: true,
|
|
2629
2881
|
isDisabled: false
|
|
2630
2882
|
}, {
|
|
2631
|
-
label: '
|
|
2883
|
+
label: 'workspace-system-presets',
|
|
2632
2884
|
id: 'system',
|
|
2633
2885
|
type: 'scope',
|
|
2634
2886
|
isSelected: true,
|
|
@@ -3283,88 +3535,116 @@ fixRegExpWellKnownSymbolLogic$2('split', function (SPLIT, nativeSplit, maybeCall
|
|
|
3283
3535
|
* */
|
|
3284
3536
|
const getCleanSearchQuery = searchQuery => searchQuery.trim().split(/\s+/).join();
|
|
3285
3537
|
|
|
3286
|
-
const
|
|
3287
|
-
const
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
// If all filter chips are selected, an empty string is returned for that filter which is interpreted in the BE as "return all" _
|
|
3316
|
-
const constructFilterParams$1 = (filters, searchQuery) => {
|
|
3317
|
-
// get filters
|
|
3318
|
-
const isAllSelectedForFilters = filters.every(filter => filter.isSelected);
|
|
3319
|
-
// If all filters are selected, ensure we return nothing for scope
|
|
3320
|
-
const {
|
|
3321
|
-
scope
|
|
3322
|
-
} = isAllSelectedForFilters ? {
|
|
3323
|
-
scope: []
|
|
3324
|
-
} : filters.reduce((filterList, filter) => {
|
|
3325
|
-
if (filter.isSelected && filter.type === 'scope') {
|
|
3326
|
-
return Object.assign(Object.assign({}, filter), {
|
|
3327
|
-
scope: filterList.scope.concat(filter.id)
|
|
3328
|
-
});
|
|
3538
|
+
const WORKSPACE_NAMESPACE = 'workspace';
|
|
3539
|
+
const initWorkspaceTestI18n = () => {
|
|
3540
|
+
i18n.use(initReactI18next).init({
|
|
3541
|
+
lng: 'en',
|
|
3542
|
+
ns: WORKSPACE_NAMESPACE,
|
|
3543
|
+
interpolation: {
|
|
3544
|
+
escapeValue: false
|
|
3545
|
+
},
|
|
3546
|
+
resources: {
|
|
3547
|
+
en: {
|
|
3548
|
+
[WORKSPACE_NAMESPACE]: workspaceTranslations.en,
|
|
3549
|
+
[SHARED_NAMESPACE]: sharedTranslations.en,
|
|
3550
|
+
[CORE_NAMESPACE]: coreTranslations.en
|
|
3551
|
+
},
|
|
3552
|
+
fi: {
|
|
3553
|
+
[WORKSPACE_NAMESPACE]: workspaceTranslations.fi,
|
|
3554
|
+
[SHARED_NAMESPACE]: sharedTranslations.fi,
|
|
3555
|
+
[CORE_NAMESPACE]: coreTranslations.fi
|
|
3556
|
+
},
|
|
3557
|
+
no: {
|
|
3558
|
+
[WORKSPACE_NAMESPACE]: workspaceTranslations.no,
|
|
3559
|
+
[SHARED_NAMESPACE]: sharedTranslations.no,
|
|
3560
|
+
[CORE_NAMESPACE]: coreTranslations.no
|
|
3561
|
+
},
|
|
3562
|
+
nl: {
|
|
3563
|
+
[WORKSPACE_NAMESPACE]: workspaceTranslations.nl,
|
|
3564
|
+
[SHARED_NAMESPACE]: sharedTranslations.nl,
|
|
3565
|
+
[CORE_NAMESPACE]: coreTranslations.nl
|
|
3566
|
+
}
|
|
3329
3567
|
}
|
|
3330
|
-
return filterList;
|
|
3331
|
-
}, {
|
|
3332
|
-
scope: []
|
|
3333
|
-
});
|
|
3334
|
-
// get search
|
|
3335
|
-
const search = getCleanSearchQuery(searchQuery);
|
|
3336
|
-
return Object.assign(Object.assign({}, scope.length && {
|
|
3337
|
-
scope: scope.toString()
|
|
3338
|
-
}), search.length && {
|
|
3339
|
-
search
|
|
3340
3568
|
});
|
|
3341
3569
|
};
|
|
3570
|
+
initWorkspaceTestI18n();
|
|
3571
|
+
const ns = [WORKSPACE_NAMESPACE];
|
|
3572
|
+
const translateKeyOutsideComponents = (key, params = undefined) => i18n.t(key, Object.assign({
|
|
3573
|
+
ns
|
|
3574
|
+
}, params));
|
|
3575
|
+
const useWorkspaceTranslation = () => useTranslation(ns);
|
|
3342
3576
|
|
|
3343
|
-
const getSnackbarMessage = (action, title) => {
|
|
3577
|
+
const getSnackbarMessage$1 = (action, title) => {
|
|
3344
3578
|
// Trim and add quotes
|
|
3345
|
-
const trimmedTitle =
|
|
3579
|
+
const trimmedTitle = `${title.trim()}`;
|
|
3346
3580
|
switch (action) {
|
|
3347
3581
|
case WorkspacePresetAction.SAVE_ALL:
|
|
3348
|
-
return
|
|
3582
|
+
return translateKeyOutsideComponents('workspace-list-success-save-all', {
|
|
3583
|
+
TITLE: trimmedTitle
|
|
3584
|
+
});
|
|
3349
3585
|
case WorkspacePresetAction.DELETE:
|
|
3350
|
-
return
|
|
3586
|
+
return translateKeyOutsideComponents('workspace-list-success-delete', {
|
|
3587
|
+
TITLE: trimmedTitle
|
|
3588
|
+
});
|
|
3351
3589
|
case WorkspacePresetAction.DUPLICATE:
|
|
3352
|
-
return
|
|
3590
|
+
return translateKeyOutsideComponents('workspace-list-success-duplicate', {
|
|
3591
|
+
TITLE: trimmedTitle
|
|
3592
|
+
});
|
|
3353
3593
|
case WorkspacePresetAction.EDIT:
|
|
3354
|
-
return
|
|
3594
|
+
return translateKeyOutsideComponents('workspace-list-success-edit', {
|
|
3595
|
+
TITLE: trimmedTitle
|
|
3596
|
+
});
|
|
3355
3597
|
default:
|
|
3356
|
-
return
|
|
3598
|
+
return translateKeyOutsideComponents('workspace-list-success-save', {
|
|
3599
|
+
TITLE: trimmedTitle
|
|
3600
|
+
});
|
|
3357
3601
|
}
|
|
3358
3602
|
};
|
|
3359
|
-
const
|
|
3360
|
-
|
|
3603
|
+
const getEmptyWorkspaceListItem = () => ({
|
|
3604
|
+
id: undefined,
|
|
3605
|
+
title: translateKeyOutsideComponents('workspace-new'),
|
|
3606
|
+
scope: 'system',
|
|
3607
|
+
abstract: '',
|
|
3608
|
+
viewType: 'singleWindow'
|
|
3609
|
+
});
|
|
3610
|
+
const emptyMapWorkspace = Object.assign(Object.assign({}, getEmptyWorkspaceListItem()), {
|
|
3611
|
+
views: {
|
|
3612
|
+
allIds: ['1_screen'],
|
|
3613
|
+
byId: {
|
|
3614
|
+
'1_screen': {
|
|
3615
|
+
title: translateKeyOutsideComponents('workspace-mappreset-new'),
|
|
3616
|
+
componentType: 'Map',
|
|
3617
|
+
initialProps: {
|
|
3618
|
+
mapPreset: {
|
|
3619
|
+
layers: [],
|
|
3620
|
+
proj: {
|
|
3621
|
+
bbox: {
|
|
3622
|
+
left: 58703.6377,
|
|
3623
|
+
bottom: 6408480.4514,
|
|
3624
|
+
right: 3967387.5161,
|
|
3625
|
+
top: 11520588.9031
|
|
3626
|
+
},
|
|
3627
|
+
srs: 'EPSG:3857'
|
|
3628
|
+
},
|
|
3629
|
+
shouldShowLayerManager: true,
|
|
3630
|
+
dockedLayerManagerSize: 'sizeSmall'
|
|
3631
|
+
},
|
|
3632
|
+
syncGroupsIds: []
|
|
3633
|
+
}
|
|
3634
|
+
}
|
|
3635
|
+
}
|
|
3636
|
+
},
|
|
3637
|
+
mosaicNode: '1_screen'
|
|
3638
|
+
});
|
|
3639
|
+
const getEmptyWorkspacePreset = () => ({
|
|
3640
|
+
title: translateKeyOutsideComponents('workspace-new'),
|
|
3361
3641
|
scope: 'system',
|
|
3362
3642
|
abstract: '',
|
|
3363
3643
|
views: {
|
|
3364
3644
|
allIds: ['1_screen'],
|
|
3365
3645
|
byId: {
|
|
3366
3646
|
'1_screen': {
|
|
3367
|
-
title:
|
|
3647
|
+
title: translateKeyOutsideComponents('workspace-mappreset-new'),
|
|
3368
3648
|
componentType: 'Map',
|
|
3369
3649
|
initialProps: {
|
|
3370
3650
|
mapPreset: {
|
|
@@ -3388,15 +3668,15 @@ const emptyMapWorkspace = {
|
|
|
3388
3668
|
},
|
|
3389
3669
|
mosaicNode: '1_screen',
|
|
3390
3670
|
viewType: 'singleWindow'
|
|
3391
|
-
};
|
|
3671
|
+
});
|
|
3392
3672
|
const createCustomEmptyMapWorkspace = customMapPreset => {
|
|
3393
|
-
const customEmptyMapWorkspace = cloneDeep(
|
|
3673
|
+
const customEmptyMapWorkspace = cloneDeep(getEmptyWorkspacePreset());
|
|
3394
3674
|
if (customMapPreset) {
|
|
3395
3675
|
customEmptyMapWorkspace.views.byId['1_screen'].initialProps.mapPreset = customMapPreset;
|
|
3396
3676
|
}
|
|
3397
3677
|
return customEmptyMapWorkspace;
|
|
3398
3678
|
};
|
|
3399
|
-
const constructFilterParams = (filters, searchQuery) => {
|
|
3679
|
+
const constructFilterParams$1 = (filters, searchQuery) => {
|
|
3400
3680
|
// get filters
|
|
3401
3681
|
const {
|
|
3402
3682
|
scope
|
|
@@ -3748,6 +4028,67 @@ const getViewPresetListFilterResultsForView = createSelector(getViewPresetById,
|
|
|
3748
4028
|
return Object.values(filteredResults.entities);
|
|
3749
4029
|
}, selectorMemoizationOptions);
|
|
3750
4030
|
|
|
4031
|
+
const getSnackbarMessage = (action, title) => {
|
|
4032
|
+
// Trim and add quotes
|
|
4033
|
+
const trimmedTitle = title.trim();
|
|
4034
|
+
switch (action) {
|
|
4035
|
+
case PresetAction.DELETE:
|
|
4036
|
+
return translateKeyOutsideComponents('workspace-viewpreset-success-delete', {
|
|
4037
|
+
TITLE: trimmedTitle
|
|
4038
|
+
});
|
|
4039
|
+
case PresetAction.SAVE_AS:
|
|
4040
|
+
return translateKeyOutsideComponents('workspace-viewpreset-success-save-as', {
|
|
4041
|
+
TITLE: trimmedTitle
|
|
4042
|
+
});
|
|
4043
|
+
case PresetAction.EDIT:
|
|
4044
|
+
return translateKeyOutsideComponents('workspace-viewpreset-success-edit', {
|
|
4045
|
+
TITLE: trimmedTitle
|
|
4046
|
+
});
|
|
4047
|
+
default:
|
|
4048
|
+
return translateKeyOutsideComponents('workspace-viewpreset-success-save', {
|
|
4049
|
+
TITLE: trimmedTitle
|
|
4050
|
+
});
|
|
4051
|
+
}
|
|
4052
|
+
};
|
|
4053
|
+
const getPresetsApi = () => getApi(API_NAME);
|
|
4054
|
+
const emptyMapViewPreset = {
|
|
4055
|
+
componentType: 'Map',
|
|
4056
|
+
keywords: '',
|
|
4057
|
+
scope: 'user',
|
|
4058
|
+
title: '',
|
|
4059
|
+
initialProps: {
|
|
4060
|
+
mapPreset: {}
|
|
4061
|
+
}
|
|
4062
|
+
};
|
|
4063
|
+
// Returns object of applied user filters such as scope/search etc
|
|
4064
|
+
// If all filter chips are selected, an empty string is returned for that filter which is interpreted in the BE as "return all" _
|
|
4065
|
+
const constructFilterParams = (filters, searchQuery) => {
|
|
4066
|
+
// get filters
|
|
4067
|
+
const isAllSelectedForFilters = filters.every(filter => filter.isSelected);
|
|
4068
|
+
// If all filters are selected, ensure we return nothing for scope
|
|
4069
|
+
const {
|
|
4070
|
+
scope
|
|
4071
|
+
} = isAllSelectedForFilters ? {
|
|
4072
|
+
scope: []
|
|
4073
|
+
} : filters.reduce((filterList, filter) => {
|
|
4074
|
+
if (filter.isSelected && filter.type === 'scope') {
|
|
4075
|
+
return Object.assign(Object.assign({}, filter), {
|
|
4076
|
+
scope: filterList.scope.concat(filter.id)
|
|
4077
|
+
});
|
|
4078
|
+
}
|
|
4079
|
+
return filterList;
|
|
4080
|
+
}, {
|
|
4081
|
+
scope: []
|
|
4082
|
+
});
|
|
4083
|
+
// get search
|
|
4084
|
+
const search = getCleanSearchQuery(searchQuery);
|
|
4085
|
+
return Object.assign(Object.assign({}, scope.length && {
|
|
4086
|
+
scope: scope.toString()
|
|
4087
|
+
}), search.length && {
|
|
4088
|
+
search
|
|
4089
|
+
});
|
|
4090
|
+
};
|
|
4091
|
+
|
|
3751
4092
|
const workspaceStore = store => (store === null || store === void 0 ? void 0 : store.workspace) || initialState$1;
|
|
3752
4093
|
/**
|
|
3753
4094
|
* Gets workspace state
|
|
@@ -3856,7 +4197,7 @@ const getWorkspaceData = createSelector(getWorkspaceState, getViewPresetsStore,
|
|
|
3856
4197
|
};
|
|
3857
4198
|
}, selectorMemoizationOptions);
|
|
3858
4199
|
const getViewPresetToSendToBackend = createSelector(getViewById, mapSelectors.getMapPreset, syncGroupsSelectors.getAllTargetGroupsForSource, (workspaceView, mapPreset, syncGroupsIds) => {
|
|
3859
|
-
const title = (workspaceView === null || workspaceView === void 0 ? void 0 : workspaceView.title) ||
|
|
4200
|
+
const title = (workspaceView === null || workspaceView === void 0 ? void 0 : workspaceView.title) || translateKeyOutsideComponents('workspace-mappreset-new');
|
|
3860
4201
|
const scope = (workspaceView === null || workspaceView === void 0 ? void 0 : workspaceView.scope) || 'system';
|
|
3861
4202
|
return Object.assign(Object.assign({}, emptyMapViewPreset), {
|
|
3862
4203
|
id: workspaceView === null || workspaceView === void 0 ? void 0 : workspaceView.id,
|
|
@@ -3870,21 +4211,21 @@ const getViewPresetToSendToBackend = createSelector(getViewById, mapSelectors.ge
|
|
|
3870
4211
|
}, selectorMemoizationOptions);
|
|
3871
4212
|
|
|
3872
4213
|
var selectors$1 = /*#__PURE__*/Object.freeze({
|
|
3873
|
-
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3885
|
-
|
|
3886
|
-
|
|
3887
|
-
|
|
4214
|
+
__proto__: null,
|
|
4215
|
+
getWorkspaceState: getWorkspaceState,
|
|
4216
|
+
getInitialViewMapPreset: getInitialViewMapPreset,
|
|
4217
|
+
getMosaicNode: getMosaicNode,
|
|
4218
|
+
getViewById: getViewById,
|
|
4219
|
+
getViewIds: getViewIds,
|
|
4220
|
+
getShouldPreventClose: getShouldPreventClose,
|
|
4221
|
+
isWorkspaceLoading: isWorkspaceLoading,
|
|
4222
|
+
getWorkspaceError: getWorkspaceError,
|
|
4223
|
+
getSelectedWorkspaceTitle: getSelectedWorkspaceTitle,
|
|
4224
|
+
hasWorkspaceChanges: hasWorkspaceChanges,
|
|
4225
|
+
getViewType: getViewType,
|
|
4226
|
+
getSelectedWorkspaceScope: getSelectedWorkspaceScope,
|
|
4227
|
+
getWorkspaceData: getWorkspaceData,
|
|
4228
|
+
getViewPresetToSendToBackend: getViewPresetToSendToBackend
|
|
3888
4229
|
});
|
|
3889
4230
|
|
|
3890
4231
|
/* *
|
|
@@ -6959,7 +7300,7 @@ function* fetchWorkspaceListSaga({
|
|
|
6959
7300
|
} catch (error) {
|
|
6960
7301
|
yield put(workspaceListActions.errorWorkspaceList({
|
|
6961
7302
|
error: {
|
|
6962
|
-
message: '
|
|
7303
|
+
message: translateKeyOutsideComponents('workspace-list-error'),
|
|
6963
7304
|
type: WorkspaceListErrorType.GENERIC
|
|
6964
7305
|
}
|
|
6965
7306
|
}));
|
|
@@ -6974,7 +7315,7 @@ function* onSuccessWorkspacePresetsActionSaga({
|
|
|
6974
7315
|
title
|
|
6975
7316
|
} = payload;
|
|
6976
7317
|
yield put(snackbarActions.openSnackbar({
|
|
6977
|
-
message: getSnackbarMessage(action, title)
|
|
7318
|
+
message: getSnackbarMessage$1(action, title)
|
|
6978
7319
|
}));
|
|
6979
7320
|
// if active workspace has been deleted, empty out url
|
|
6980
7321
|
if (action === WorkspacePresetAction.DELETE && payload.currentActiveWorkspaceId && workspaceId === payload.currentActiveWorkspaceId) {
|
|
@@ -6991,7 +7332,7 @@ function* onSuccessWorkspacePresetsActionSaga({
|
|
|
6991
7332
|
// Retrieve new list with current filter
|
|
6992
7333
|
const workspaceFilters = yield select(getWorkspaceListFilters);
|
|
6993
7334
|
const searchQuery = yield select(getWorkspaceListSearchQuery);
|
|
6994
|
-
yield call$g(fetchWorkspaceListSaga, workspaceListActions.fetchWorkspaceList(constructFilterParams(workspaceFilters, searchQuery)));
|
|
7335
|
+
yield call$g(fetchWorkspaceListSaga, workspaceListActions.fetchWorkspaceList(constructFilterParams$1(workspaceFilters, searchQuery)));
|
|
6995
7336
|
}
|
|
6996
7337
|
function* saveAllViewPresetSaga(viewPresetEntity, workspaceTitle) {
|
|
6997
7338
|
var _a, _b;
|
|
@@ -7177,7 +7518,6 @@ function* rootSaga$1() {
|
|
|
7177
7518
|
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
7178
7519
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
7179
7520
|
* */
|
|
7180
|
-
const MESSAGE_SAVE_PRESET = 'Map preset not saved: an error occurred during saving. Please try again later.';
|
|
7181
7521
|
function* fetchInitialViewPresetsSaga() {
|
|
7182
7522
|
try {
|
|
7183
7523
|
const presetsApi = yield call$g(getPresetsApi);
|
|
@@ -7191,7 +7531,7 @@ function* fetchInitialViewPresetsSaga() {
|
|
|
7191
7531
|
} catch (error) {
|
|
7192
7532
|
yield put(viewPresetActions.errorInitialViewPresets({
|
|
7193
7533
|
error: {
|
|
7194
|
-
message: '
|
|
7534
|
+
message: translateKeyOutsideComponents('workspace-mappreset-error-fetch'),
|
|
7195
7535
|
type: ViewPresetType.PRESET_LIST
|
|
7196
7536
|
}
|
|
7197
7537
|
}));
|
|
@@ -7217,7 +7557,7 @@ function* fetchViewPresetsSaga({
|
|
|
7217
7557
|
} catch (error) {
|
|
7218
7558
|
yield put(viewPresetActions.errorViewPreset({
|
|
7219
7559
|
error: {
|
|
7220
|
-
message: '
|
|
7560
|
+
message: translateKeyOutsideComponents('workspace-mappreset-error-fetch'),
|
|
7221
7561
|
type: ViewPresetType.PRESET_LIST
|
|
7222
7562
|
},
|
|
7223
7563
|
panelId
|
|
@@ -7236,7 +7576,7 @@ function* saveViewPresetSaga({
|
|
|
7236
7576
|
const presetsApi = yield call$g(getPresetsApi);
|
|
7237
7577
|
yield call$g(presetsApi.saveViewPreset, viewPresetId, viewPreset);
|
|
7238
7578
|
yield put(snackbarActions.openSnackbar({
|
|
7239
|
-
message: getSnackbarMessage
|
|
7579
|
+
message: getSnackbarMessage(PresetAction.SAVE, viewPreset.title)
|
|
7240
7580
|
}));
|
|
7241
7581
|
yield put(viewPresetActions.savedViewPreset({
|
|
7242
7582
|
panelId,
|
|
@@ -7245,7 +7585,7 @@ function* saveViewPresetSaga({
|
|
|
7245
7585
|
} catch (error) {
|
|
7246
7586
|
yield put(viewPresetActions.errorViewPreset({
|
|
7247
7587
|
error: {
|
|
7248
|
-
message:
|
|
7588
|
+
message: translateKeyOutsideComponents('workspace-mappreset-error-save'),
|
|
7249
7589
|
type: ViewPresetType.PRESET_DETAIL
|
|
7250
7590
|
},
|
|
7251
7591
|
panelId,
|
|
@@ -7301,7 +7641,7 @@ function* onSuccessViewPresetActionSaga({
|
|
|
7301
7641
|
} = payload;
|
|
7302
7642
|
try {
|
|
7303
7643
|
yield put(snackbarActions.openSnackbar({
|
|
7304
|
-
message: getSnackbarMessage
|
|
7644
|
+
message: getSnackbarMessage(action, title)
|
|
7305
7645
|
}));
|
|
7306
7646
|
const activeMapPresetId = yield select(getViewPresetActiveId, panelId);
|
|
7307
7647
|
// if active preset has been deleted, select the empty new preset
|
|
@@ -7317,7 +7657,7 @@ function* onSuccessViewPresetActionSaga({
|
|
|
7317
7657
|
const viewPresetSearchQuery = yield select(getViewPresetListSearchQueryForView, panelId);
|
|
7318
7658
|
yield call$g(fetchViewPresetsSaga, viewPresetActions.fetchViewPresets({
|
|
7319
7659
|
panelId,
|
|
7320
|
-
filterParams: constructFilterParams
|
|
7660
|
+
filterParams: constructFilterParams(viewPresetFilters, viewPresetSearchQuery)
|
|
7321
7661
|
}));
|
|
7322
7662
|
if (action !== PresetAction.EDIT) {
|
|
7323
7663
|
yield put(viewPresetActions.setViewPresetHasChanges({
|
|
@@ -7370,159 +7710,77 @@ const workspaceModuleConfig = {
|
|
|
7370
7710
|
sagas: [workspaceSaga, rootSaga$1, rootSaga]
|
|
7371
7711
|
};
|
|
7372
7712
|
|
|
7373
|
-
|
|
7374
|
-
|
|
7375
|
-
|
|
7376
|
-
|
|
7377
|
-
|
|
7378
|
-
|
|
7379
|
-
|
|
7380
|
-
|
|
7381
|
-
|
|
7382
|
-
|
|
7383
|
-
|
|
7384
|
-
|
|
7385
|
-
|
|
7386
|
-
|
|
7387
|
-
|
|
7388
|
-
|
|
7389
|
-
};
|
|
7390
|
-
|
|
7391
|
-
|
|
7392
|
-
|
|
7393
|
-
|
|
7394
|
-
|
|
7395
|
-
|
|
7396
|
-
|
|
7397
|
-
|
|
7398
|
-
|
|
7399
|
-
|
|
7400
|
-
|
|
7401
|
-
});
|
|
7402
|
-
|
|
7403
|
-
|
|
7404
|
-
|
|
7405
|
-
|
|
7406
|
-
|
|
7407
|
-
|
|
7408
|
-
|
|
7409
|
-
|
|
7410
|
-
|
|
7411
|
-
|
|
7412
|
-
|
|
7413
|
-
"workspace-delete": "Delete",
|
|
7414
|
-
"workspce-clear": "Clear",
|
|
7415
|
-
"workspace-save": "Save",
|
|
7416
|
-
"workspace-save-as": "Save as",
|
|
7417
|
-
"workspace-save-incl-viewpresets": "Save (incl. viewpresets)",
|
|
7418
|
-
"workspace-edit": "Edit (name)",
|
|
7419
|
-
"workspace-edit-both": "Edit (name and abstract)",
|
|
7420
|
-
"geoweb-welcome": "Welcome to GeoWeb. Please use one of the presets to open up new views"
|
|
7421
|
-
};
|
|
7422
|
-
var fi = {
|
|
7423
|
-
"workspace-menu": "ei käännetty",
|
|
7424
|
-
"workspace-new": "ei käännetty",
|
|
7425
|
-
"workspace-my-presets": "ei käännetty",
|
|
7426
|
-
"workspace-system-presets": "ei käännetty",
|
|
7427
|
-
"workspace-all-button": "ei käännetty",
|
|
7428
|
-
"workspace-search": "ei käännetty",
|
|
7429
|
-
"workspace-loading": "ei käännetty",
|
|
7430
|
-
"workspace-options": "ei käännetty",
|
|
7431
|
-
"workspace-results": "ei käännetty",
|
|
7432
|
-
"workspace-delete": "ei käännetty",
|
|
7433
|
-
"workspce-clear": "ei käännetty",
|
|
7434
|
-
"workspace-save": "ei käännetty",
|
|
7435
|
-
"workspace-save-as": "ei käännetty",
|
|
7436
|
-
"workspace-save-incl-viewpresets": "ei käännetty",
|
|
7437
|
-
"workspace-edit": "ei käännetty",
|
|
7438
|
-
"workspace-edit-both": "ei käännetty",
|
|
7439
|
-
"geoweb-welcome": "ei käännetty"
|
|
7440
|
-
};
|
|
7441
|
-
var no = {
|
|
7442
|
-
"workspace-menu": "Arbeidsrommeny",
|
|
7443
|
-
"workspace-new": "Nytt arbeidsrom",
|
|
7444
|
-
"workspace-my-presets": "Mine presets",
|
|
7445
|
-
"workspace-system-presets": "System presets",
|
|
7446
|
-
"workspace-all-button": "Alle",
|
|
7447
|
-
"workspace-search": "Søk",
|
|
7448
|
-
"workspace-loading": "Laster",
|
|
7449
|
-
"workspace-options": "Valg",
|
|
7450
|
-
"workspace-results": "resultater",
|
|
7451
|
-
"workspace-delete": "Slett",
|
|
7452
|
-
"workspce-clear": "Tøm",
|
|
7453
|
-
"workspace-save": "Lagre",
|
|
7454
|
-
"workspace-save-as": "Lagre som",
|
|
7455
|
-
"workspace-save-incl-viewpresets": "Lagre (inkl. viewpresets)",
|
|
7456
|
-
"workspace-edit": "Endre (navn)",
|
|
7457
|
-
"workspace-edit-both": "Endre (navn og abstrakt)",
|
|
7458
|
-
"geoweb-welcome": "Velkommen til GeoWeb. Åpne et forhåndsvalg for å åpne nye vinduer"
|
|
7459
|
-
};
|
|
7460
|
-
var nl = {
|
|
7461
|
-
"workspace-menu": "niet vertaald",
|
|
7462
|
-
"workspace-new": "niet vertaald",
|
|
7463
|
-
"workspace-my-presets": "niet vertaald",
|
|
7464
|
-
"workspace-system-presets": "niet vertaald",
|
|
7465
|
-
"workspace-all-button": "niet vertaald",
|
|
7466
|
-
"workspce-search": "niet vertaald",
|
|
7467
|
-
"workspace-loading": "niet vertaald",
|
|
7468
|
-
"workspace-options": "niet vertaald",
|
|
7469
|
-
"workspace-results": "niet vertaald",
|
|
7470
|
-
"workspace-delete": "niet vertaald",
|
|
7471
|
-
"workspce-clear": "niet vertaald",
|
|
7472
|
-
"workspace-save": "niet vertaald",
|
|
7473
|
-
"workspace-save-as": "niet vertaald",
|
|
7474
|
-
"workspace-save-incl-viewpresets": "niet vertaald",
|
|
7475
|
-
"workspace-edit": "niet vertaald",
|
|
7476
|
-
"workspace-edit-both": "niet vertaald",
|
|
7477
|
-
"geoweb-welcome": "niet vertaald"
|
|
7478
|
-
};
|
|
7479
|
-
var workspaceTranslations = {
|
|
7480
|
-
en: en,
|
|
7481
|
-
fi: fi,
|
|
7482
|
-
no: no,
|
|
7483
|
-
nl: nl
|
|
7713
|
+
/******************************************************************************
|
|
7714
|
+
Copyright (c) Microsoft Corporation.
|
|
7715
|
+
|
|
7716
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
7717
|
+
purpose with or without fee is hereby granted.
|
|
7718
|
+
|
|
7719
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
7720
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
7721
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
7722
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
7723
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
7724
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
7725
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
7726
|
+
***************************************************************************** */
|
|
7727
|
+
|
|
7728
|
+
function __rest(s, e) {
|
|
7729
|
+
var t = {};
|
|
7730
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
7731
|
+
t[p] = s[p];
|
|
7732
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7733
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7734
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
7735
|
+
t[p[i]] = s[p[i]];
|
|
7736
|
+
}
|
|
7737
|
+
return t;
|
|
7738
|
+
}
|
|
7739
|
+
|
|
7740
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
7741
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
7742
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7743
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7744
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7745
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7746
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
7747
|
+
});
|
|
7748
|
+
}
|
|
7749
|
+
|
|
7750
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
7751
|
+
var e = new Error(message);
|
|
7752
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
7484
7753
|
};
|
|
7485
7754
|
|
|
7486
|
-
/*
|
|
7487
|
-
|
|
7488
|
-
|
|
7489
|
-
|
|
7490
|
-
|
|
7491
|
-
|
|
7492
|
-
|
|
7493
|
-
|
|
7494
|
-
|
|
7495
|
-
|
|
7496
|
-
|
|
7497
|
-
|
|
7498
|
-
|
|
7499
|
-
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
7500
|
-
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
7501
|
-
* */
|
|
7502
|
-
const WORKSPACE_NAMESPACE = 'workspace';
|
|
7503
|
-
const initWorkspaceTestI18n = () => {
|
|
7504
|
-
i18n.use(initReactI18next).init({
|
|
7505
|
-
lng: 'en',
|
|
7506
|
-
ns: WORKSPACE_NAMESPACE,
|
|
7507
|
-
interpolation: {
|
|
7508
|
-
escapeValue: false
|
|
7509
|
-
},
|
|
7510
|
-
resources: {
|
|
7511
|
-
en: {
|
|
7512
|
-
workspace: workspaceTranslations.en
|
|
7513
|
-
},
|
|
7514
|
-
fi: {
|
|
7515
|
-
workspace: workspaceTranslations.fi
|
|
7516
|
-
},
|
|
7517
|
-
no: {
|
|
7518
|
-
workspace: workspaceTranslations.no
|
|
7519
|
-
},
|
|
7520
|
-
nl: {
|
|
7521
|
-
workspace: workspaceTranslations.nl
|
|
7755
|
+
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
7756
|
+
const devToolsStateSanitizer = {
|
|
7757
|
+
stateSanitizer: state => {
|
|
7758
|
+
return produce(state, draftState => {
|
|
7759
|
+
// @ts-ignore
|
|
7760
|
+
if (state['services']) {
|
|
7761
|
+
// @ts-ignore
|
|
7762
|
+
Object.values(state['services'].byId).forEach(service => {
|
|
7763
|
+
// @ts-ignore
|
|
7764
|
+
draftState['services'].byId[service.id].layers =
|
|
7765
|
+
// @ts-ignore
|
|
7766
|
+
service.layers.length;
|
|
7767
|
+
});
|
|
7522
7768
|
}
|
|
7523
|
-
}
|
|
7524
|
-
}
|
|
7769
|
+
});
|
|
7770
|
+
}
|
|
7525
7771
|
};
|
|
7772
|
+
const store = createStore({
|
|
7773
|
+
extensions: [getSagaExtension({})],
|
|
7774
|
+
defaultMiddlewareOptions: {
|
|
7775
|
+
serializableCheck: {
|
|
7776
|
+
warnAfter: 128
|
|
7777
|
+
},
|
|
7778
|
+
immutableCheck: {
|
|
7779
|
+
warnAfter: 128
|
|
7780
|
+
}
|
|
7781
|
+
},
|
|
7782
|
+
devTools: devToolsStateSanitizer
|
|
7783
|
+
});
|
|
7526
7784
|
|
|
7527
7785
|
const WorkspaceThemeProvider = ({
|
|
7528
7786
|
children,
|
|
@@ -7536,6 +7794,10 @@ const WorkspaceWrapperProvider = withEggs([...coreModuleConfig, timeSeriesModule
|
|
|
7536
7794
|
}) => ( /*#__PURE__*/React__default.createElement(WorkspaceThemeProvider, {
|
|
7537
7795
|
theme: theme
|
|
7538
7796
|
}, children)));
|
|
7797
|
+
const DemoWrapper = _a => {
|
|
7798
|
+
var props = __rest(_a, []);
|
|
7799
|
+
return /*#__PURE__*/React__default.createElement(WorkspaceI18nProvider, null, /*#__PURE__*/React__default.createElement(WorkspaceThemeProvider, Object.assign({}, props)));
|
|
7800
|
+
};
|
|
7539
7801
|
const defaultAuthConfig = {
|
|
7540
7802
|
isLoggedIn: true,
|
|
7541
7803
|
auth: {
|
|
@@ -7563,24 +7825,9 @@ const WorkspaceWrapperProviderWithStore = ({
|
|
|
7563
7825
|
}, /*#__PURE__*/React__default.createElement(WorkspaceWrapperProvider, {
|
|
7564
7826
|
theme: theme
|
|
7565
7827
|
}, /*#__PURE__*/React__default.createElement(SnackbarWrapperConnect, null, /*#__PURE__*/React__default.createElement(ConfirmationServiceProvider, null, children))))))));
|
|
7566
|
-
const WorkspaceTranslationsWrapper = ({
|
|
7567
|
-
children
|
|
7568
|
-
}) => {
|
|
7569
|
-
const {
|
|
7570
|
-
i18n
|
|
7571
|
-
} = useTranslation();
|
|
7572
|
-
React__default.useEffect(() => {
|
|
7573
|
-
i18n.addResourceBundle('en', WORKSPACE_NAMESPACE, workspaceTranslations.en);
|
|
7574
|
-
i18n.addResourceBundle('fi', WORKSPACE_NAMESPACE, workspaceTranslations.fi);
|
|
7575
|
-
i18n.addResourceBundle('no', WORKSPACE_NAMESPACE, workspaceTranslations.no);
|
|
7576
|
-
i18n.addResourceBundle('nl', WORKSPACE_NAMESPACE, workspaceTranslations.nl);
|
|
7577
|
-
}, [i18n]);
|
|
7578
|
-
return children;
|
|
7579
|
-
};
|
|
7580
7828
|
const WorkspaceI18nProvider = ({
|
|
7581
7829
|
children
|
|
7582
7830
|
}) => {
|
|
7583
|
-
initWorkspaceTestI18n();
|
|
7584
7831
|
return /*#__PURE__*/React__default.createElement(I18nextProvider, {
|
|
7585
7832
|
i18n: i18n
|
|
7586
7833
|
}, children);
|
|
@@ -7617,48 +7864,6 @@ const WorkspaceModuleProvider = ({
|
|
|
7617
7864
|
}, children);
|
|
7618
7865
|
};
|
|
7619
7866
|
|
|
7620
|
-
/******************************************************************************
|
|
7621
|
-
Copyright (c) Microsoft Corporation.
|
|
7622
|
-
|
|
7623
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
7624
|
-
purpose with or without fee is hereby granted.
|
|
7625
|
-
|
|
7626
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
7627
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
7628
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
7629
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
7630
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
7631
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
7632
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
7633
|
-
***************************************************************************** */
|
|
7634
|
-
|
|
7635
|
-
function __rest(s, e) {
|
|
7636
|
-
var t = {};
|
|
7637
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
7638
|
-
t[p] = s[p];
|
|
7639
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7640
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7641
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
7642
|
-
t[p[i]] = s[p[i]];
|
|
7643
|
-
}
|
|
7644
|
-
return t;
|
|
7645
|
-
}
|
|
7646
|
-
|
|
7647
|
-
function __awaiter(thisArg, _arguments, P, generator) {
|
|
7648
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
7649
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7650
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7651
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7652
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7653
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
7654
|
-
});
|
|
7655
|
-
}
|
|
7656
|
-
|
|
7657
|
-
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
7658
|
-
var e = new Error(message);
|
|
7659
|
-
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
7660
|
-
};
|
|
7661
|
-
|
|
7662
7867
|
// takes a component and connects module methods with workspace store
|
|
7663
7868
|
const ComponentsLookUpWrapper = _a => {
|
|
7664
7869
|
var {
|
|
@@ -7809,6 +8014,9 @@ const WorkspaceControls = ({
|
|
|
7809
8014
|
const {
|
|
7810
8015
|
mosaicActions: actions
|
|
7811
8016
|
} = React.useContext(MosaicContext);
|
|
8017
|
+
const {
|
|
8018
|
+
t
|
|
8019
|
+
} = useWorkspaceTranslation();
|
|
7812
8020
|
const mosaicNode = useSelector(store => getMosaicNode(store));
|
|
7813
8021
|
const [stateAfterExpand, setStateAfterExpand] = React.useState();
|
|
7814
8022
|
const [stateBeforeExpand, setStateBeforeExpand] = React.useState(mosaicNode);
|
|
@@ -7828,9 +8036,9 @@ const WorkspaceControls = ({
|
|
|
7828
8036
|
const onClose = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
7829
8037
|
if (_shouldPreventCloseView) {
|
|
7830
8038
|
yield confirmDialog({
|
|
7831
|
-
title: '
|
|
7832
|
-
description: '
|
|
7833
|
-
confirmLabel: '
|
|
8039
|
+
title: t('workspace-control-close-message-title'),
|
|
8040
|
+
description: t('workspace-control-close-message-description'),
|
|
8041
|
+
confirmLabel: t('workspace-control-close')
|
|
7834
8042
|
});
|
|
7835
8043
|
actions.remove(path);
|
|
7836
8044
|
} else {
|
|
@@ -7849,7 +8057,7 @@ const WorkspaceControls = ({
|
|
|
7849
8057
|
second: newNode
|
|
7850
8058
|
});
|
|
7851
8059
|
},
|
|
7852
|
-
tooltipTitle:
|
|
8060
|
+
tooltipTitle: t('workspace-control-split-horizontal')
|
|
7853
8061
|
}, /*#__PURE__*/React.createElement(SplitVertical, null)), /*#__PURE__*/React.createElement(CustomIconButton, {
|
|
7854
8062
|
"data-testid": "split-vertical-btn",
|
|
7855
8063
|
sx: buttonStyle,
|
|
@@ -7862,7 +8070,7 @@ const WorkspaceControls = ({
|
|
|
7862
8070
|
second: newNode
|
|
7863
8071
|
});
|
|
7864
8072
|
},
|
|
7865
|
-
tooltipTitle:
|
|
8073
|
+
tooltipTitle: t('workspace-control-split-vertical')
|
|
7866
8074
|
}, /*#__PURE__*/React.createElement(SplitHorizontal, null)), !enableUnexpand || isString(mosaicNode) ? ( /*#__PURE__*/React.createElement(CustomIconButton, {
|
|
7867
8075
|
"data-testid": "expand-btn",
|
|
7868
8076
|
sx: buttonStyle,
|
|
@@ -7871,7 +8079,7 @@ const WorkspaceControls = ({
|
|
|
7871
8079
|
setEnableUnexpand(true);
|
|
7872
8080
|
actions.expand(path, 70);
|
|
7873
8081
|
},
|
|
7874
|
-
tooltipTitle:
|
|
8082
|
+
tooltipTitle: t('workspace-control-expand')
|
|
7875
8083
|
}, /*#__PURE__*/React.createElement(Expand, null))) : ( /*#__PURE__*/React.createElement(CustomIconButton, {
|
|
7876
8084
|
"data-testid": "unexpand-btn",
|
|
7877
8085
|
sx: buttonStyle,
|
|
@@ -7879,12 +8087,12 @@ const WorkspaceControls = ({
|
|
|
7879
8087
|
const stateBeforeExpandCopy = isString(stateBeforeExpand) ? stateBeforeExpand : Object.assign({}, stateBeforeExpand);
|
|
7880
8088
|
actions.replaceWith([], stateBeforeExpandCopy);
|
|
7881
8089
|
},
|
|
7882
|
-
tooltipTitle:
|
|
8090
|
+
tooltipTitle: t('workspace-control-unexpand')
|
|
7883
8091
|
}, /*#__PURE__*/React.createElement(UnExpand, null))), /*#__PURE__*/React.createElement(CustomIconButton, {
|
|
7884
8092
|
"data-testid": "close-btn",
|
|
7885
8093
|
sx: buttonStyle,
|
|
7886
8094
|
onClick: onClose,
|
|
7887
|
-
tooltipTitle:
|
|
8095
|
+
tooltipTitle: t('workspace-control-close'),
|
|
7888
8096
|
id: "close-window-button"
|
|
7889
8097
|
}, /*#__PURE__*/React.createElement(Close, null)));
|
|
7890
8098
|
};
|
|
@@ -7910,7 +8118,7 @@ const ViewLoading = ({
|
|
|
7910
8118
|
}) => {
|
|
7911
8119
|
const {
|
|
7912
8120
|
t
|
|
7913
|
-
} =
|
|
8121
|
+
} = useWorkspaceTranslation();
|
|
7914
8122
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LinearProgress, {
|
|
7915
8123
|
"data-testid": "loading-bar",
|
|
7916
8124
|
color: "secondary",
|
|
@@ -7930,6 +8138,9 @@ const ViewError = ({
|
|
|
7930
8138
|
mosaicNodeId
|
|
7931
8139
|
}) => {
|
|
7932
8140
|
const dispatch = useDispatch();
|
|
8141
|
+
const {
|
|
8142
|
+
t
|
|
8143
|
+
} = useWorkspaceTranslation();
|
|
7933
8144
|
const fetchWorkspaceViewPreset = React.useCallback(() => {
|
|
7934
8145
|
dispatch(workspaceActions.fetchWorkspaceViewPreset({
|
|
7935
8146
|
viewPresetId,
|
|
@@ -7937,10 +8148,12 @@ const ViewError = ({
|
|
|
7937
8148
|
}));
|
|
7938
8149
|
}, [dispatch, viewPresetId, mosaicNodeId]);
|
|
7939
8150
|
return /*#__PURE__*/React.createElement(AlertBanner, {
|
|
7940
|
-
title:
|
|
8151
|
+
title: t('workspace-viewpresets-fail-fetch', {
|
|
8152
|
+
VIEWPRESET_ID: viewPresetId
|
|
8153
|
+
}),
|
|
7941
8154
|
shouldClose: true,
|
|
7942
8155
|
actionButtonProps: {
|
|
7943
|
-
title: '
|
|
8156
|
+
title: t('workspace-retry'),
|
|
7944
8157
|
onClick: fetchWorkspaceViewPreset
|
|
7945
8158
|
}
|
|
7946
8159
|
});
|
|
@@ -8064,18 +8277,21 @@ const WorkspaceSelectListRow = ({
|
|
|
8064
8277
|
searchQuery: _searchQuery = '',
|
|
8065
8278
|
testIdPrefix: _testIdPrefix = 'workspace'
|
|
8066
8279
|
}) => {
|
|
8280
|
+
const {
|
|
8281
|
+
t
|
|
8282
|
+
} = useWorkspaceTranslation();
|
|
8067
8283
|
const onDuplicate = () => {
|
|
8068
8284
|
onClickWorkspacePresetOption(workspacePreset.id, WorkspacePresetAction.DUPLICATE, workspacePreset);
|
|
8069
8285
|
};
|
|
8070
8286
|
const onEdit = () => {
|
|
8071
8287
|
onClickWorkspacePresetOption(workspacePreset.id, WorkspacePresetAction.EDIT, workspacePreset);
|
|
8072
8288
|
};
|
|
8073
|
-
const editTitle = _testIdPrefix === 'viewpreset' ? '
|
|
8289
|
+
const editTitle = _testIdPrefix === 'viewpreset' ? 'workspace-edit' : 'workspace-edit-both';
|
|
8074
8290
|
const menuItems = [{
|
|
8075
|
-
text: '
|
|
8291
|
+
text: t('workspace-duplicate'),
|
|
8076
8292
|
action: onDuplicate
|
|
8077
8293
|
}, ...(workspacePreset.scope === 'user' ? [{
|
|
8078
|
-
text: editTitle,
|
|
8294
|
+
text: t(editTitle),
|
|
8079
8295
|
action: onEdit
|
|
8080
8296
|
}] : [])];
|
|
8081
8297
|
return /*#__PURE__*/React__default.createElement(ListItem, {
|
|
@@ -8136,10 +8352,10 @@ const WorkspaceSelectListRow = ({
|
|
|
8136
8352
|
buttonTestId: `${_testIdPrefix}-listOptionsButton`,
|
|
8137
8353
|
menuPosition: "right",
|
|
8138
8354
|
menuItems: menuItems,
|
|
8139
|
-
menuTitle:
|
|
8355
|
+
menuTitle: t('workspace-options'),
|
|
8140
8356
|
isDefaultOpen: _isOptionsMenuOpen
|
|
8141
8357
|
}), workspacePreset.scope === 'user' && ( /*#__PURE__*/React__default.createElement(CustomIconButton, {
|
|
8142
|
-
tooltipTitle:
|
|
8358
|
+
tooltipTitle: t('workspace-delete-tooltip'),
|
|
8143
8359
|
onClick: event => {
|
|
8144
8360
|
event.stopPropagation();
|
|
8145
8361
|
onClickWorkspacePresetOption(workspacePreset.id, WorkspacePresetAction.DELETE, workspacePreset);
|
|
@@ -8214,7 +8430,7 @@ const FilterList = ({
|
|
|
8214
8430
|
}) => {
|
|
8215
8431
|
const {
|
|
8216
8432
|
t
|
|
8217
|
-
} =
|
|
8433
|
+
} = useWorkspaceTranslation();
|
|
8218
8434
|
return /*#__PURE__*/React.createElement(Stack, {
|
|
8219
8435
|
direction: "row",
|
|
8220
8436
|
spacing: 1,
|
|
@@ -8263,7 +8479,7 @@ const SearchField = ({
|
|
|
8263
8479
|
const [localValue, setLocalValue] = React.useState(_value);
|
|
8264
8480
|
const {
|
|
8265
8481
|
t
|
|
8266
|
-
} =
|
|
8482
|
+
} = useWorkspaceTranslation();
|
|
8267
8483
|
const label = t('workspace-search');
|
|
8268
8484
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
8269
8485
|
const handleValueChangeDebounced = React.useCallback(debounce$1(valueChanged, DEBOUNCE_TIMEOUT), []);
|
|
@@ -8338,13 +8554,6 @@ const WorkspaceFilter = ({
|
|
|
8338
8554
|
})));
|
|
8339
8555
|
};
|
|
8340
8556
|
|
|
8341
|
-
const emptyWorkspaceListItem = {
|
|
8342
|
-
id: emptyMapWorkspace.id,
|
|
8343
|
-
title: emptyMapWorkspace.title,
|
|
8344
|
-
scope: emptyMapWorkspace.scope,
|
|
8345
|
-
viewType: emptyMapWorkspace.viewType,
|
|
8346
|
-
abstract: emptyMapWorkspace.abstract
|
|
8347
|
-
};
|
|
8348
8557
|
const MIN_HEIGHT_SCROLLABLE_LIST = 88; // Slightly less than 2 rows
|
|
8349
8558
|
const LIST_PADDING_TOP = 8;
|
|
8350
8559
|
const DEFAULT_RESULTS_HEIGHT = 22;
|
|
@@ -8358,12 +8567,12 @@ const WorkspaceSelectList = ({
|
|
|
8358
8567
|
hideNewWorkspace,
|
|
8359
8568
|
isLoggedIn,
|
|
8360
8569
|
searchQuery,
|
|
8361
|
-
newPreset: _newPreset =
|
|
8570
|
+
newPreset: _newPreset = getEmptyWorkspaceListItem(),
|
|
8362
8571
|
testIdPrefix: _testIdPrefix = 'workspace'
|
|
8363
8572
|
}) => {
|
|
8364
8573
|
const {
|
|
8365
8574
|
t
|
|
8366
|
-
} =
|
|
8575
|
+
} = useWorkspaceTranslation();
|
|
8367
8576
|
const items = React.useMemo(() => !hideNewWorkspace ? [_newPreset, ...workspacePresets] : workspacePresets, [hideNewWorkspace, _newPreset, workspacePresets]);
|
|
8368
8577
|
return /*#__PURE__*/React.createElement(Box, {
|
|
8369
8578
|
"data-testid": `${_testIdPrefix}-selectList`,
|
|
@@ -8408,11 +8617,12 @@ const WorkspaceSelectList = ({
|
|
|
8408
8617
|
})))));
|
|
8409
8618
|
};
|
|
8410
8619
|
|
|
8411
|
-
const ERROR_TITLE = 'View presets not available';
|
|
8412
|
-
const ERROR_RETRY = 'Try again';
|
|
8413
8620
|
const ViewPresetMenuListConnect = ({
|
|
8414
8621
|
panelId
|
|
8415
8622
|
}) => {
|
|
8623
|
+
const {
|
|
8624
|
+
t
|
|
8625
|
+
} = useWorkspaceTranslation();
|
|
8416
8626
|
const viewPresets = useSelector(store => getFilteredViewPresetListForView(store, panelId));
|
|
8417
8627
|
const activeViewPresetId = useSelector(store => getViewPresetActiveId(store, panelId));
|
|
8418
8628
|
const currentMapPreset = useSelector(store => mapSelectors.getMapPreset(store, panelId));
|
|
@@ -8448,7 +8658,7 @@ const ViewPresetMenuListConnect = ({
|
|
|
8448
8658
|
}));
|
|
8449
8659
|
}, [dispatch, panelId]);
|
|
8450
8660
|
const fetchViewPresets = React.useCallback(() => {
|
|
8451
|
-
const filterParams = constructFilterParams
|
|
8661
|
+
const filterParams = constructFilterParams(viewPresetListFilters, viewPresetListSearchQuery);
|
|
8452
8662
|
dispatch(viewPresetActions.fetchViewPresets({
|
|
8453
8663
|
panelId,
|
|
8454
8664
|
filterParams
|
|
@@ -8459,7 +8669,7 @@ const ViewPresetMenuListConnect = ({
|
|
|
8459
8669
|
case WorkspacePresetAction.DUPLICATE:
|
|
8460
8670
|
{
|
|
8461
8671
|
openViewPresetsDialog({
|
|
8462
|
-
title:
|
|
8672
|
+
title: t('workspace-mappreset-save-as'),
|
|
8463
8673
|
action: PresetAction.SAVE_AS,
|
|
8464
8674
|
viewPresetId: presetId,
|
|
8465
8675
|
panelId,
|
|
@@ -8477,7 +8687,7 @@ const ViewPresetMenuListConnect = ({
|
|
|
8477
8687
|
{
|
|
8478
8688
|
const presetTitle = (preset === null || preset === void 0 ? void 0 : preset.title) || '';
|
|
8479
8689
|
openViewPresetsDialog({
|
|
8480
|
-
title:
|
|
8690
|
+
title: t('workspace-mappreset-dialog-title-edit'),
|
|
8481
8691
|
action: PresetAction.EDIT,
|
|
8482
8692
|
panelId,
|
|
8483
8693
|
viewPresetId: presetId,
|
|
@@ -8493,7 +8703,7 @@ const ViewPresetMenuListConnect = ({
|
|
|
8493
8703
|
case WorkspacePresetAction.DELETE:
|
|
8494
8704
|
{
|
|
8495
8705
|
openViewPresetsDialog({
|
|
8496
|
-
title:
|
|
8706
|
+
title: t('workspace-mappreset-dialog-title-delete'),
|
|
8497
8707
|
action: PresetAction.DELETE,
|
|
8498
8708
|
viewPresetId: presetId,
|
|
8499
8709
|
panelId,
|
|
@@ -8548,9 +8758,9 @@ const ViewPresetMenuListConnect = ({
|
|
|
8548
8758
|
top: 0
|
|
8549
8759
|
}
|
|
8550
8760
|
})), !isViewPresetsListFetching && errorViewPresetsList && ( /*#__PURE__*/React.createElement(AlertBanner, {
|
|
8551
|
-
title:
|
|
8761
|
+
title: t('workspace-viewpresets-error'),
|
|
8552
8762
|
actionButtonProps: {
|
|
8553
|
-
title:
|
|
8763
|
+
title: t('workspace-retry'),
|
|
8554
8764
|
onClick: fetchViewPresets
|
|
8555
8765
|
}
|
|
8556
8766
|
})), /*#__PURE__*/React.createElement(Box, {
|
|
@@ -8569,9 +8779,8 @@ const ViewPresetMenuListConnect = ({
|
|
|
8569
8779
|
currentSelectedId: activeViewPresetId || undefined,
|
|
8570
8780
|
onClickPreset: selectViewPreset,
|
|
8571
8781
|
onClickWorkspacePresetOption: onClickViewPresetOption,
|
|
8572
|
-
newPreset: Object.assign(Object.assign({},
|
|
8573
|
-
|
|
8574
|
-
title: MAPPRESET_ACTIVE_TITLE
|
|
8782
|
+
newPreset: Object.assign(Object.assign({}, getEmptyWorkspaceListItem()), {
|
|
8783
|
+
title: t('workspace-mappreset-new')
|
|
8575
8784
|
}),
|
|
8576
8785
|
isLoggedIn: isLoggedIn,
|
|
8577
8786
|
hideNewWorkspace: shouldHideNewWorkspace,
|
|
@@ -8596,12 +8805,14 @@ const ViewPresetMenuListConnect = ({
|
|
|
8596
8805
|
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
8597
8806
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
8598
8807
|
* */
|
|
8599
|
-
const DIALOG_TITLE = 'View presets menu';
|
|
8600
8808
|
const ViewPresetMenu = ({
|
|
8601
8809
|
hideBackdrop: _hideBackdrop = false,
|
|
8602
8810
|
closeMenu,
|
|
8603
8811
|
panelId
|
|
8604
8812
|
}) => {
|
|
8813
|
+
const {
|
|
8814
|
+
t
|
|
8815
|
+
} = useWorkspaceTranslation();
|
|
8605
8816
|
const toolContainer = /*#__PURE__*/React__default.createElement(ToolContainer, {
|
|
8606
8817
|
style: {
|
|
8607
8818
|
width: 320,
|
|
@@ -8609,7 +8820,7 @@ const ViewPresetMenu = ({
|
|
|
8609
8820
|
position: 'absolute',
|
|
8610
8821
|
top: '16px'
|
|
8611
8822
|
},
|
|
8612
|
-
title:
|
|
8823
|
+
title: t('workspace-viewpreset-menu'),
|
|
8613
8824
|
onClose: closeMenu,
|
|
8614
8825
|
onClick: event => {
|
|
8615
8826
|
event.stopPropagation();
|
|
@@ -8649,7 +8860,7 @@ const WorkspaceOptionsNoMemo = ({
|
|
|
8649
8860
|
}) => {
|
|
8650
8861
|
const {
|
|
8651
8862
|
t
|
|
8652
|
-
} =
|
|
8863
|
+
} = useWorkspaceTranslation();
|
|
8653
8864
|
const [anchorEl, setAnchorEl] = React.useState(null);
|
|
8654
8865
|
const isOpen = Boolean(anchorEl);
|
|
8655
8866
|
const handleClick = event => {
|
|
@@ -8737,8 +8948,7 @@ const WorkspaceOptionsNoMemo = ({
|
|
|
8737
8948
|
},
|
|
8738
8949
|
sx: {
|
|
8739
8950
|
'& .MuiMenu-list': {
|
|
8740
|
-
padding: 0
|
|
8741
|
-
width: 200
|
|
8951
|
+
padding: 0
|
|
8742
8952
|
},
|
|
8743
8953
|
'& .MuiMenuItem-root': {
|
|
8744
8954
|
fontSize: 16
|
|
@@ -8800,18 +9010,6 @@ const LoadingIndicatorConnect = ({
|
|
|
8800
9010
|
}));
|
|
8801
9011
|
};
|
|
8802
9012
|
|
|
8803
|
-
const VIEW_PRESET_MENU_TOOLTIP = 'View presets menu';
|
|
8804
|
-
const NEW_TITLE_SUFFIX = '(not saved)';
|
|
8805
|
-
const EXISTING_TITLE_SUFFIX = '(modified)';
|
|
8806
|
-
const getPresetTitle = (title, hasChanges, isNew) => {
|
|
8807
|
-
if (hasChanges && isNew) {
|
|
8808
|
-
return `${title} ${NEW_TITLE_SUFFIX}`;
|
|
8809
|
-
}
|
|
8810
|
-
if (hasChanges && !isNew) {
|
|
8811
|
-
return `${title} ${EXISTING_TITLE_SUFFIX}`;
|
|
8812
|
-
}
|
|
8813
|
-
return title;
|
|
8814
|
-
};
|
|
8815
9013
|
const customIconStyles = (theme, isViewPresetDialogOpen) => {
|
|
8816
9014
|
return {
|
|
8817
9015
|
marginLeft: -1,
|
|
@@ -8834,6 +9032,9 @@ const WorkspaceViewTitleConnectNoMemo = ({
|
|
|
8834
9032
|
const dispatch = useDispatch();
|
|
8835
9033
|
const theme = useTheme();
|
|
8836
9034
|
const store = useStore();
|
|
9035
|
+
const {
|
|
9036
|
+
t
|
|
9037
|
+
} = useWorkspaceTranslation();
|
|
8837
9038
|
const workspaceView = useSelector(store => {
|
|
8838
9039
|
var _a;
|
|
8839
9040
|
const {
|
|
@@ -8848,8 +9049,15 @@ const WorkspaceViewTitleConnectNoMemo = ({
|
|
|
8848
9049
|
const hasMapPresetChanges = useSelector(store => getViewPresetHasChanges(store, panelId));
|
|
8849
9050
|
const activeMapPresetId = useSelector(store => getViewPresetActiveId(store, panelId));
|
|
8850
9051
|
const relatedSyncGroupIds = useSelector(store => syncGroupsSelectors.getAllTargetGroupsForSource(store, panelId));
|
|
9052
|
+
const getPresetTitle = (title, hasChanges, isNew) => {
|
|
9053
|
+
if (!hasChanges) {
|
|
9054
|
+
return title;
|
|
9055
|
+
}
|
|
9056
|
+
const suffix = isNew ? t('workspace-modified-existing') : t('workspace-modified-new');
|
|
9057
|
+
return `${title} (${suffix})`;
|
|
9058
|
+
};
|
|
8851
9059
|
const isNewActive = activeMapPresetId === '';
|
|
8852
|
-
const title = workspaceView.title ||
|
|
9060
|
+
const title = workspaceView.title || t('workspace-mappreset-new');
|
|
8853
9061
|
const viewScope = workspaceView.scope;
|
|
8854
9062
|
const fullTitle = getPresetTitle(title, hasMapPresetChanges, isNewActive);
|
|
8855
9063
|
const openViewPresetsDialog = React.useCallback(viewPresetDialogOptions => {
|
|
@@ -8872,7 +9080,7 @@ const WorkspaceViewTitleConnectNoMemo = ({
|
|
|
8872
9080
|
}, [activeMapPresetId, dispatch, panelId, relatedSyncGroupIds, store, title]);
|
|
8873
9081
|
const onDelete = React.useCallback(() => {
|
|
8874
9082
|
openViewPresetsDialog({
|
|
8875
|
-
title:
|
|
9083
|
+
title: t('workspace-mappreset-dialog-title-delete'),
|
|
8876
9084
|
action: PresetAction.DELETE,
|
|
8877
9085
|
viewPresetId: activeMapPresetId,
|
|
8878
9086
|
panelId,
|
|
@@ -8880,11 +9088,11 @@ const WorkspaceViewTitleConnectNoMemo = ({
|
|
|
8880
9088
|
title
|
|
8881
9089
|
}
|
|
8882
9090
|
});
|
|
8883
|
-
}, [activeMapPresetId, openViewPresetsDialog, panelId, title]);
|
|
9091
|
+
}, [activeMapPresetId, openViewPresetsDialog, panelId, title, t]);
|
|
8884
9092
|
const onSaveAs = React.useCallback(() => {
|
|
8885
9093
|
const formTitle = activeMapPresetId ? title : '';
|
|
8886
9094
|
openViewPresetsDialog({
|
|
8887
|
-
title:
|
|
9095
|
+
title: t('workspace-mappreset-save-as'),
|
|
8888
9096
|
action: PresetAction.SAVE_AS,
|
|
8889
9097
|
viewPresetId: activeMapPresetId,
|
|
8890
9098
|
panelId,
|
|
@@ -8896,11 +9104,11 @@ const WorkspaceViewTitleConnectNoMemo = ({
|
|
|
8896
9104
|
}
|
|
8897
9105
|
}
|
|
8898
9106
|
});
|
|
8899
|
-
}, [activeMapPresetId, openViewPresetsDialog, panelId, relatedSyncGroupIds, store, title]);
|
|
9107
|
+
}, [activeMapPresetId, openViewPresetsDialog, panelId, relatedSyncGroupIds, store, title, t]);
|
|
8900
9108
|
const onEdit = React.useCallback(() => {
|
|
8901
9109
|
const formTitle = activeMapPresetId ? title : '';
|
|
8902
9110
|
openViewPresetsDialog({
|
|
8903
|
-
title:
|
|
9111
|
+
title: t('workspace-mappreset-dialog-title-edit'),
|
|
8904
9112
|
action: PresetAction.EDIT,
|
|
8905
9113
|
panelId,
|
|
8906
9114
|
viewPresetId: activeMapPresetId,
|
|
@@ -8912,7 +9120,7 @@ const WorkspaceViewTitleConnectNoMemo = ({
|
|
|
8912
9120
|
}
|
|
8913
9121
|
}
|
|
8914
9122
|
});
|
|
8915
|
-
}, [activeMapPresetId, openViewPresetsDialog, panelId, relatedSyncGroupIds, store, title]);
|
|
9123
|
+
}, [activeMapPresetId, openViewPresetsDialog, panelId, relatedSyncGroupIds, store, title, t]);
|
|
8916
9124
|
const toggleViewPresetDialog = React.useCallback(({
|
|
8917
9125
|
panelId,
|
|
8918
9126
|
isViewPresetDialogOpen
|
|
@@ -8936,7 +9144,7 @@ const WorkspaceViewTitleConnectNoMemo = ({
|
|
|
8936
9144
|
sx: style,
|
|
8937
9145
|
variant: "tool",
|
|
8938
9146
|
onClick: onClickOpenViewPreset,
|
|
8939
|
-
tooltipTitle:
|
|
9147
|
+
tooltipTitle: t('workspace-viewpreset-menu'),
|
|
8940
9148
|
isSelected: isViewPresetDialogOpen
|
|
8941
9149
|
}, presetIcon), /*#__PURE__*/React.createElement(WorkspaceOptions, {
|
|
8942
9150
|
panelId: panelId,
|
|
@@ -9109,7 +9317,7 @@ const WorkspaceView = ({
|
|
|
9109
9317
|
}) => {
|
|
9110
9318
|
const {
|
|
9111
9319
|
t
|
|
9112
|
-
} =
|
|
9320
|
+
} = useWorkspaceTranslation();
|
|
9113
9321
|
const EmptyView = !_isWorkspaceLoading && ( /*#__PURE__*/React.createElement(Box, {
|
|
9114
9322
|
sx: {
|
|
9115
9323
|
backgroundColor: 'geowebColors.background.surface',
|
|
@@ -9295,7 +9503,7 @@ const WorkspaceSelectListConnect = () => {
|
|
|
9295
9503
|
} = useAuthenticationContext();
|
|
9296
9504
|
const dispatch = useDispatch();
|
|
9297
9505
|
const fetchWorkspaceList = React.useCallback(() => {
|
|
9298
|
-
const filterParams = constructFilterParams(workspaceListFilters, workspaceSearchQuery);
|
|
9506
|
+
const filterParams = constructFilterParams$1(workspaceListFilters, workspaceSearchQuery);
|
|
9299
9507
|
dispatch(workspaceListActions.fetchWorkspaceList(filterParams));
|
|
9300
9508
|
}, [dispatch, workspaceListFilters, workspaceSearchQuery]);
|
|
9301
9509
|
const fetchWorkspace = React.useCallback(workspaceId => {
|
|
@@ -9402,6 +9610,9 @@ const WorkspaceSelectListConnect = () => {
|
|
|
9402
9610
|
};
|
|
9403
9611
|
const isAllSelected = workspaceListFilters.every(filter => filter.isSelected);
|
|
9404
9612
|
const shouldHideNewWorkspace = !isAllSelected || workspaceSearchQuery.length > 0;
|
|
9613
|
+
const {
|
|
9614
|
+
t
|
|
9615
|
+
} = useWorkspaceTranslation();
|
|
9405
9616
|
return /*#__PURE__*/React.createElement("div", {
|
|
9406
9617
|
"data-testid": "workspace-selectlist-connect",
|
|
9407
9618
|
style: {
|
|
@@ -9421,12 +9632,12 @@ const WorkspaceSelectListConnect = () => {
|
|
|
9421
9632
|
whiteSpace: 'normal'
|
|
9422
9633
|
}
|
|
9423
9634
|
}, /*#__PURE__*/React.createElement(AlertBanner, Object.assign({
|
|
9424
|
-
title:
|
|
9635
|
+
title: t('workspace-error-fetch'),
|
|
9425
9636
|
info: error.message,
|
|
9426
9637
|
shouldClose: true
|
|
9427
9638
|
}, error.type === WorkspaceListErrorType.GENERIC && {
|
|
9428
9639
|
actionButtonProps: {
|
|
9429
|
-
title: '
|
|
9640
|
+
title: t('workspace-retry'),
|
|
9430
9641
|
onClick: () => fetchWorkspaceList()
|
|
9431
9642
|
}
|
|
9432
9643
|
})))), /*#__PURE__*/React.createElement(Box, {
|
|
@@ -9473,7 +9684,7 @@ const WorkspaceMenu = ({
|
|
|
9473
9684
|
}) => {
|
|
9474
9685
|
const {
|
|
9475
9686
|
t
|
|
9476
|
-
} =
|
|
9687
|
+
} = useWorkspaceTranslation();
|
|
9477
9688
|
const toolContainer = /*#__PURE__*/React__default.createElement(ToolContainer, {
|
|
9478
9689
|
style: {
|
|
9479
9690
|
width: 320,
|
|
@@ -9526,7 +9737,7 @@ const WorkspaceMenuButton = ({
|
|
|
9526
9737
|
};
|
|
9527
9738
|
const {
|
|
9528
9739
|
t
|
|
9529
|
-
} =
|
|
9740
|
+
} = useWorkspaceTranslation();
|
|
9530
9741
|
const tooltipTitle = t('workspace-menu');
|
|
9531
9742
|
return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Box, {
|
|
9532
9743
|
sx: {
|
|
@@ -9599,21 +9810,15 @@ const WorkspaceMenuButtonConnect = () => {
|
|
|
9599
9810
|
}));
|
|
9600
9811
|
};
|
|
9601
9812
|
|
|
9602
|
-
const TITLE_SUFFIX_NEW_WORKSPACE = 'modified';
|
|
9603
|
-
const TITLE_SUFFIX_EXISTING_WORKSPACE = 'not saved';
|
|
9604
|
-
const getTitle = (title, hasChanges, workspaceId) => {
|
|
9605
|
-
if (!hasChanges) {
|
|
9606
|
-
return title;
|
|
9607
|
-
}
|
|
9608
|
-
const suffix = workspaceId ? TITLE_SUFFIX_NEW_WORKSPACE : TITLE_SUFFIX_EXISTING_WORKSPACE;
|
|
9609
|
-
return `${title} (${suffix})`;
|
|
9610
|
-
};
|
|
9611
9813
|
const WorkspaceOptionsConnect = ({
|
|
9612
9814
|
title,
|
|
9613
9815
|
activeTab,
|
|
9614
9816
|
workspaceId
|
|
9615
9817
|
}) => {
|
|
9616
9818
|
const dispatch = useDispatch();
|
|
9819
|
+
const {
|
|
9820
|
+
t
|
|
9821
|
+
} = useWorkspaceTranslation();
|
|
9617
9822
|
const {
|
|
9618
9823
|
isLoggedIn
|
|
9619
9824
|
} = useAuthenticationContext();
|
|
@@ -9661,6 +9866,13 @@ const WorkspaceOptionsConnect = ({
|
|
|
9661
9866
|
formValues: Object.assign({}, workspaceData)
|
|
9662
9867
|
});
|
|
9663
9868
|
};
|
|
9869
|
+
const getTitle = (title, hasChanges, workspaceId) => {
|
|
9870
|
+
if (!hasChanges) {
|
|
9871
|
+
return title;
|
|
9872
|
+
}
|
|
9873
|
+
const suffix = workspaceId ? t('workspace-modified-new') : t('workspace-modified-existing');
|
|
9874
|
+
return `${title} (${suffix})`;
|
|
9875
|
+
};
|
|
9664
9876
|
const fullTitle = getTitle(title, hasChanges, workspaceId);
|
|
9665
9877
|
return /*#__PURE__*/React.createElement(WorkspaceOptions, {
|
|
9666
9878
|
hasChanges: hasChanges,
|
|
@@ -9727,6 +9939,9 @@ const WorkspacePresetsForm = ({
|
|
|
9727
9939
|
action,
|
|
9728
9940
|
formValues
|
|
9729
9941
|
}) => {
|
|
9942
|
+
const {
|
|
9943
|
+
t
|
|
9944
|
+
} = useWorkspaceTranslation();
|
|
9730
9945
|
const titleField = 'title';
|
|
9731
9946
|
const _a = Object.assign(Object.assign({}, emptyWorkspacePreset), formValues),
|
|
9732
9947
|
{
|
|
@@ -9765,7 +9980,7 @@ const WorkspacePresetsForm = ({
|
|
|
9765
9980
|
}
|
|
9766
9981
|
}, /*#__PURE__*/React__default.createElement(ReactHookFormTextField, {
|
|
9767
9982
|
name: "title",
|
|
9768
|
-
label:
|
|
9983
|
+
label: t('workspace-dialog-name'),
|
|
9769
9984
|
rules: {
|
|
9770
9985
|
required: true,
|
|
9771
9986
|
validate: {
|
|
@@ -9776,7 +9991,7 @@ const WorkspacePresetsForm = ({
|
|
|
9776
9991
|
defaultValue: title
|
|
9777
9992
|
})), /*#__PURE__*/React__default.createElement(ReactHookFormTextField, {
|
|
9778
9993
|
name: "abstract",
|
|
9779
|
-
label:
|
|
9994
|
+
label: t('workspace-dialog-abstract'),
|
|
9780
9995
|
rules: {
|
|
9781
9996
|
required: false
|
|
9782
9997
|
},
|
|
@@ -9794,56 +10009,15 @@ const WorkspacePresetsForm = ({
|
|
|
9794
10009
|
"data-testid": name
|
|
9795
10010
|
}))))), action === WorkspacePresetAction.DELETE && ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Typography, {
|
|
9796
10011
|
variant: "body1"
|
|
9797
|
-
},
|
|
10012
|
+
}, t('workspace-dialog-confirm-delete-message', {
|
|
10013
|
+
TITLE: title
|
|
10014
|
+
})), /*#__PURE__*/React__default.createElement(ReactHookFormHiddenInput, {
|
|
9798
10015
|
key: "title",
|
|
9799
10016
|
name: "title",
|
|
9800
10017
|
defaultValue: title
|
|
9801
10018
|
}))));
|
|
9802
10019
|
};
|
|
9803
10020
|
|
|
9804
|
-
const DIALOG_TITLE_SAVE_AS = 'Save as';
|
|
9805
|
-
const DIALOG_TITLE_SAVE_ALL = 'Save (incl. viewpresets)';
|
|
9806
|
-
const DIALOG_TITLE_DELETE = 'Delete workspace';
|
|
9807
|
-
const DIALOG_TITLE_DUPLICATE = 'Duplicate';
|
|
9808
|
-
const DIALOG_BUTTON_SAVE = 'Save';
|
|
9809
|
-
const DIALOG_BUTTON_DELETE = 'Delete';
|
|
9810
|
-
const DIALOG_BUTTON_EDIT = 'Edit (name and abstract)';
|
|
9811
|
-
const getDialogTitle = action => {
|
|
9812
|
-
switch (action) {
|
|
9813
|
-
case WorkspacePresetAction.DELETE:
|
|
9814
|
-
{
|
|
9815
|
-
return DIALOG_TITLE_DELETE;
|
|
9816
|
-
}
|
|
9817
|
-
case WorkspacePresetAction.DUPLICATE:
|
|
9818
|
-
{
|
|
9819
|
-
return DIALOG_TITLE_DUPLICATE;
|
|
9820
|
-
}
|
|
9821
|
-
case WorkspacePresetAction.SAVE_ALL:
|
|
9822
|
-
{
|
|
9823
|
-
return DIALOG_TITLE_SAVE_ALL;
|
|
9824
|
-
}
|
|
9825
|
-
case WorkspacePresetAction.EDIT:
|
|
9826
|
-
{
|
|
9827
|
-
return DIALOG_BUTTON_EDIT;
|
|
9828
|
-
}
|
|
9829
|
-
default:
|
|
9830
|
-
{
|
|
9831
|
-
return DIALOG_TITLE_SAVE_AS;
|
|
9832
|
-
}
|
|
9833
|
-
}
|
|
9834
|
-
};
|
|
9835
|
-
const getConfirmLabel$1 = action => {
|
|
9836
|
-
switch (action) {
|
|
9837
|
-
case WorkspacePresetAction.DELETE:
|
|
9838
|
-
{
|
|
9839
|
-
return DIALOG_BUTTON_DELETE;
|
|
9840
|
-
}
|
|
9841
|
-
default:
|
|
9842
|
-
{
|
|
9843
|
-
return DIALOG_BUTTON_SAVE;
|
|
9844
|
-
}
|
|
9845
|
-
}
|
|
9846
|
-
};
|
|
9847
10021
|
const WorkspacePresetsFormDialog = ({
|
|
9848
10022
|
isOpen,
|
|
9849
10023
|
action,
|
|
@@ -9858,10 +10032,49 @@ const WorkspacePresetsFormDialog = ({
|
|
|
9858
10032
|
handleSubmit: handleFormSubmit,
|
|
9859
10033
|
reset
|
|
9860
10034
|
} = useFormContext();
|
|
10035
|
+
const {
|
|
10036
|
+
t
|
|
10037
|
+
} = useWorkspaceTranslation();
|
|
9861
10038
|
React__default.useEffect(() => {
|
|
9862
10039
|
reset(formValues);
|
|
9863
10040
|
}, [formValues, reset]);
|
|
9864
|
-
const
|
|
10041
|
+
const getConfirmLabel = action => {
|
|
10042
|
+
switch (action) {
|
|
10043
|
+
case WorkspacePresetAction.DELETE:
|
|
10044
|
+
{
|
|
10045
|
+
return t('workspace-delete');
|
|
10046
|
+
}
|
|
10047
|
+
default:
|
|
10048
|
+
{
|
|
10049
|
+
return t('workspace-save');
|
|
10050
|
+
}
|
|
10051
|
+
}
|
|
10052
|
+
};
|
|
10053
|
+
const getDialogTitle = action => {
|
|
10054
|
+
switch (action) {
|
|
10055
|
+
case WorkspacePresetAction.DELETE:
|
|
10056
|
+
{
|
|
10057
|
+
return t('workspace-dialog-delete');
|
|
10058
|
+
}
|
|
10059
|
+
case WorkspacePresetAction.DUPLICATE:
|
|
10060
|
+
{
|
|
10061
|
+
return t('workspace-duplicate');
|
|
10062
|
+
}
|
|
10063
|
+
case WorkspacePresetAction.SAVE_ALL:
|
|
10064
|
+
{
|
|
10065
|
+
return t('workspace-save-incl-viewpresets');
|
|
10066
|
+
}
|
|
10067
|
+
case WorkspacePresetAction.EDIT:
|
|
10068
|
+
{
|
|
10069
|
+
return t('workspace-edit-both');
|
|
10070
|
+
}
|
|
10071
|
+
default:
|
|
10072
|
+
{
|
|
10073
|
+
return t('workspace-save-as');
|
|
10074
|
+
}
|
|
10075
|
+
}
|
|
10076
|
+
};
|
|
10077
|
+
const confirmLabel = getConfirmLabel(action);
|
|
9865
10078
|
const onSubmit = () => {
|
|
9866
10079
|
handleFormSubmit(newFormValues => {
|
|
9867
10080
|
const {
|
|
@@ -9878,12 +10091,13 @@ const WorkspacePresetsFormDialog = ({
|
|
|
9878
10091
|
onFormSubmit(action, presetId, parsedFormValues);
|
|
9879
10092
|
})();
|
|
9880
10093
|
};
|
|
10094
|
+
const cancelLabel = t('workspace-cancel');
|
|
9881
10095
|
return /*#__PURE__*/React__default.createElement(ConfirmationDialog, {
|
|
9882
10096
|
"data-testid": "workspace-preset-dialog",
|
|
9883
10097
|
title: getDialogTitle(action),
|
|
9884
10098
|
open: isOpen,
|
|
9885
10099
|
confirmLabel: confirmLabel,
|
|
9886
|
-
cancelLabel:
|
|
10100
|
+
cancelLabel: cancelLabel,
|
|
9887
10101
|
description: "",
|
|
9888
10102
|
onClose: onClose,
|
|
9889
10103
|
onSubmit: onSubmit,
|
|
@@ -9979,7 +10193,7 @@ const WorkspaceTabConnect = ({
|
|
|
9979
10193
|
const WorkspaceTopBar = ({
|
|
9980
10194
|
workspaceId
|
|
9981
10195
|
}) => {
|
|
9982
|
-
return /*#__PURE__*/React.createElement(
|
|
10196
|
+
return /*#__PURE__*/React.createElement(Tabs, {
|
|
9983
10197
|
value: 0,
|
|
9984
10198
|
"aria-label": "workspace-bar-tabs",
|
|
9985
10199
|
sx: {
|
|
@@ -9994,13 +10208,14 @@ const WorkspaceTopBar = ({
|
|
|
9994
10208
|
}
|
|
9995
10209
|
}, /*#__PURE__*/React.createElement(WorkspaceTabConnect, {
|
|
9996
10210
|
workspaceId: workspaceId
|
|
9997
|
-
}))
|
|
10211
|
+
}));
|
|
9998
10212
|
};
|
|
9999
10213
|
|
|
10000
10214
|
const validateTitle = value => {
|
|
10001
10215
|
if (!value) {
|
|
10002
10216
|
return true;
|
|
10003
10217
|
}
|
|
10218
|
+
// TODO: use translation from form-fields https://gitlab.com/opengeoweb/opengeoweb/-/issues/4240
|
|
10004
10219
|
return !value.trim().length ? 'This field is required' : true;
|
|
10005
10220
|
};
|
|
10006
10221
|
const MapPresetsForm = ({
|
|
@@ -10010,6 +10225,9 @@ const MapPresetsForm = ({
|
|
|
10010
10225
|
formValues
|
|
10011
10226
|
}) => {
|
|
10012
10227
|
const fieldName = 'title';
|
|
10228
|
+
const {
|
|
10229
|
+
t
|
|
10230
|
+
} = useWorkspaceTranslation();
|
|
10013
10231
|
const _a = Object.assign(Object.assign({}, emptyMapViewPreset), formValues),
|
|
10014
10232
|
{
|
|
10015
10233
|
title
|
|
@@ -10039,7 +10257,7 @@ const MapPresetsForm = ({
|
|
|
10039
10257
|
onSubmit: onSubmitForm
|
|
10040
10258
|
}, /*#__PURE__*/React__default.createElement(ReactHookFormTextField, {
|
|
10041
10259
|
name: "title",
|
|
10042
|
-
label:
|
|
10260
|
+
label: t('workspace-mappreset-dialog-title'),
|
|
10043
10261
|
rules: {
|
|
10044
10262
|
required: true,
|
|
10045
10263
|
validate: {
|
|
@@ -10057,27 +10275,15 @@ const MapPresetsForm = ({
|
|
|
10057
10275
|
"data-testid": name
|
|
10058
10276
|
}))))), action === PresetAction.DELETE && ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Typography, {
|
|
10059
10277
|
variant: "body1"
|
|
10060
|
-
},
|
|
10278
|
+
}, t('workspace-mappreset-delete-message', {
|
|
10279
|
+
TITLE: title
|
|
10280
|
+
})), /*#__PURE__*/React__default.createElement(ReactHookFormHiddenInput, {
|
|
10061
10281
|
key: "title",
|
|
10062
10282
|
name: "title",
|
|
10063
10283
|
defaultValue: title
|
|
10064
10284
|
}))));
|
|
10065
10285
|
};
|
|
10066
10286
|
|
|
10067
|
-
const getConfirmLabel = action => {
|
|
10068
|
-
switch (action) {
|
|
10069
|
-
case PresetAction.DELETE:
|
|
10070
|
-
{
|
|
10071
|
-
return 'Delete';
|
|
10072
|
-
}
|
|
10073
|
-
case PresetAction.SAVE_AS:
|
|
10074
|
-
{
|
|
10075
|
-
return 'Save';
|
|
10076
|
-
}
|
|
10077
|
-
default:
|
|
10078
|
-
return 'Save';
|
|
10079
|
-
}
|
|
10080
|
-
};
|
|
10081
10287
|
const MapPresetsFormDialog = ({
|
|
10082
10288
|
isOpen,
|
|
10083
10289
|
action,
|
|
@@ -10091,6 +10297,9 @@ const MapPresetsFormDialog = ({
|
|
|
10091
10297
|
handleSubmit: handleFormSubmit,
|
|
10092
10298
|
reset
|
|
10093
10299
|
} = useFormContext();
|
|
10300
|
+
const {
|
|
10301
|
+
t
|
|
10302
|
+
} = useWorkspaceTranslation();
|
|
10094
10303
|
const {
|
|
10095
10304
|
api
|
|
10096
10305
|
} = useApiContext();
|
|
@@ -10104,6 +10313,20 @@ const MapPresetsFormDialog = ({
|
|
|
10104
10313
|
React__default.useEffect(() => {
|
|
10105
10314
|
reset(formValues);
|
|
10106
10315
|
}, [formValues, reset]);
|
|
10316
|
+
const getConfirmLabel = action => {
|
|
10317
|
+
switch (action) {
|
|
10318
|
+
case PresetAction.DELETE:
|
|
10319
|
+
{
|
|
10320
|
+
return t('workspace-delete');
|
|
10321
|
+
}
|
|
10322
|
+
case PresetAction.SAVE_AS:
|
|
10323
|
+
{
|
|
10324
|
+
return t('workspace-save');
|
|
10325
|
+
}
|
|
10326
|
+
default:
|
|
10327
|
+
return t('workspace-save');
|
|
10328
|
+
}
|
|
10329
|
+
};
|
|
10107
10330
|
const confirmLabel = getConfirmLabel(action);
|
|
10108
10331
|
const onFormSubmit = newFormValues => __awaiter(void 0, void 0, void 0, function* () {
|
|
10109
10332
|
try {
|
|
@@ -10170,7 +10393,7 @@ const MapPresetsFormDialog = ({
|
|
|
10170
10393
|
title: title,
|
|
10171
10394
|
open: isOpen,
|
|
10172
10395
|
confirmLabel: confirmLabel,
|
|
10173
|
-
cancelLabel:
|
|
10396
|
+
cancelLabel: t('workspace-cancel'),
|
|
10174
10397
|
description: "",
|
|
10175
10398
|
onClose: onClose,
|
|
10176
10399
|
onSubmit: onSubmit,
|
|
@@ -10241,6 +10464,9 @@ const WorkspaceDetail = ({
|
|
|
10241
10464
|
isSnapshot: _isSnapshot = false
|
|
10242
10465
|
}) => {
|
|
10243
10466
|
const dispatch = useDispatch();
|
|
10467
|
+
const {
|
|
10468
|
+
t
|
|
10469
|
+
} = useWorkspaceTranslation();
|
|
10244
10470
|
const error = useSelector(store => getWorkspaceError(store));
|
|
10245
10471
|
const isLoading = useSelector(store => isWorkspaceLoading(store));
|
|
10246
10472
|
const workspaceData = useSelector(store => getWorkspaceData(store));
|
|
@@ -10290,20 +10516,24 @@ const WorkspaceDetail = ({
|
|
|
10290
10516
|
zIndex: 100
|
|
10291
10517
|
}
|
|
10292
10518
|
})), error && error.type !== WorkspaceErrorType.SAVE && ( /*#__PURE__*/React.createElement(AlertBanner, Object.assign({
|
|
10293
|
-
title:
|
|
10519
|
+
title: t('workspace-error-fetch-detail', {
|
|
10520
|
+
WORKSPACE_ID: workspaceId
|
|
10521
|
+
}),
|
|
10294
10522
|
info: error.message,
|
|
10295
10523
|
shouldClose: true
|
|
10296
10524
|
}, error.type === WorkspaceErrorType.GENERIC && {
|
|
10297
10525
|
actionButtonProps: {
|
|
10298
|
-
title: '
|
|
10526
|
+
title: t('workspace-retry'),
|
|
10299
10527
|
onClick: () => fetchWorkspace(workspaceId)
|
|
10300
10528
|
}
|
|
10301
10529
|
}))), children, !_isSnapshot && ( /*#__PURE__*/React.createElement(React.Fragment, null, error && error.type === WorkspaceErrorType.SAVE && ( /*#__PURE__*/React.createElement(AlertBanner, {
|
|
10302
|
-
title:
|
|
10530
|
+
title: t('workspace-save-error', {
|
|
10531
|
+
TITLE: workspaceData.title
|
|
10532
|
+
}),
|
|
10303
10533
|
info: error.message,
|
|
10304
10534
|
shouldClose: true,
|
|
10305
10535
|
actionButtonProps: {
|
|
10306
|
-
title: '
|
|
10536
|
+
title: t('workspace-retry'),
|
|
10307
10537
|
onClick: () => onSave()
|
|
10308
10538
|
}
|
|
10309
10539
|
})), (!error || error.type === WorkspaceErrorType.SAVE) && ( /*#__PURE__*/React.createElement(Box, {
|
|
@@ -10325,4 +10555,4 @@ const WorkspaceDetail = ({
|
|
|
10325
10555
|
}))))), /*#__PURE__*/React.createElement(MapPresetsFormDialogConnect, null));
|
|
10326
10556
|
};
|
|
10327
10557
|
|
|
10328
|
-
export { ComponentsLookUpWrapper, WorkspaceDetail, WorkspaceErrorType, WorkspaceI18nProvider, WorkspaceModuleProvider, WorkspacePresetAction, WorkspaceTopBar,
|
|
10558
|
+
export { ComponentsLookUpWrapper, DemoWrapper, WorkspaceDetail, WorkspaceErrorType, WorkspaceI18nProvider, WorkspaceModuleProvider, WorkspacePresetAction, WorkspaceTopBar, WorkspaceViewConnect, WorkspaceWrapperProviderWithStore, workspaceActions as actions, createBalancedMosaicNode, createCustomEmptyMapWorkspace, defaultAuthConfig, emptyMapWorkspace, getWorkspaceRouteUrl, selectors$1 as selectors, viewPresetActions, workspaceListActions, workspaceModuleConfig, reducer$1 as workspaceReducer, routes as workspaceRoutes, workspaceTranslations };
|