@opengeoweb/workspace 9.15.0 → 9.16.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 +674 -453
- package/package.json +1 -1
- package/src/index.d.ts +2 -0
- package/src/lib/components/Providers/Providers.d.ts +1 -1
- 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/WorkspaceOptions/WorkspaceOptionsConnect.d.ts +0 -3
- package/src/lib/components/WorkspacePresetsFormDialog/WorkspacePresetsFormDialog.d.ts +0 -9
- package/src/lib/components/WorkspaceSelectList/WorkspaceSelectList.d.ts +0 -1
- 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 +244 -0
package/index.esm.js
CHANGED
|
@@ -3,15 +3,15 @@ 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 { initReactI18next, useTranslation, I18nextProvider } from 'react-i18next';
|
|
8
|
+
import { handleOutsideComponentTranslations, isAxiosError, getAxiosErrorMessage, withEggs, ConfirmationServiceProvider, useConfirmationDialog, CustomIconButton, AlertBanner, CustomTooltip, SearchHighlight, ToggleMenu, usePrevious, ToolContainer, renderCounter, CustomToggleButton, ConfirmationDialog } from '@opengeoweb/shared';
|
|
6
9
|
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
10
|
import { snackbarActions, SnackbarWrapperConnect } from '@opengeoweb/snackbar';
|
|
9
11
|
import * as React from 'react';
|
|
10
12
|
import React__default, { useCallback } from 'react';
|
|
11
13
|
import { ThemeWrapper, lightTheme, SplitVertical, SplitHorizontal, Expand, UnExpand, Close, Delete, Preset, PresetWorkspace, PresetTiles, Search, Clear, CloudLoading, CloudIdle, WebAssetOff } from '@opengeoweb/theme';
|
|
12
14
|
import { Provider, useDispatch, useSelector, useStore, shallowEqual } from 'react-redux';
|
|
13
|
-
import i18n from 'i18next';
|
|
14
|
-
import { initReactI18next, useTranslation, I18nextProvider } from 'react-i18next';
|
|
15
15
|
import { timeSeriesModuleConfig } from '@opengeoweb/timeseries';
|
|
16
16
|
import { AuthenticationProvider, useAuthenticationContext } from '@opengeoweb/authentication';
|
|
17
17
|
import { createStore } from '@redux-eggs/redux-toolkit';
|
|
@@ -25,6 +25,257 @@ import { Box as Box$1 } from '@mui/system';
|
|
|
25
25
|
import { ReactHookFormTextField, ReactHookFormHiddenInput, ReactHookFormProvider, defaultFormOptions } from '@opengeoweb/form-fields';
|
|
26
26
|
import { useFormContext } from 'react-hook-form';
|
|
27
27
|
|
|
28
|
+
var en = {
|
|
29
|
+
"workspace-menu": "Workspace menu",
|
|
30
|
+
"workspace-new": "New workspace",
|
|
31
|
+
"workspace-my-presets": "My presets",
|
|
32
|
+
"workspace-system-presets": "System presets",
|
|
33
|
+
"workspace-all-button": "All",
|
|
34
|
+
"workspace-search": "Search",
|
|
35
|
+
"workspace-loading": "Loading",
|
|
36
|
+
"workspace-options": "Options",
|
|
37
|
+
"workspace-results": "results",
|
|
38
|
+
"workspace-delete": "Delete",
|
|
39
|
+
"workspce-clear": "Clear",
|
|
40
|
+
"workspace-save": "Save",
|
|
41
|
+
"workspace-save-as": "Save as",
|
|
42
|
+
"workspace-save-incl-viewpresets": "Save (incl. viewpresets)",
|
|
43
|
+
"workspace-edit": "Edit (name)",
|
|
44
|
+
"workspace-edit-both": "Edit (name and abstract)",
|
|
45
|
+
"geoweb-welcome": "Welcome to GeoWeb. Please use one of the presets to open up new views",
|
|
46
|
+
"workspace-modified-new": "modified",
|
|
47
|
+
"workspace-modified-existing": "not saved",
|
|
48
|
+
"workspace-dialog-delete": "Delete workspace",
|
|
49
|
+
"workspace-duplicate": "Duplicate",
|
|
50
|
+
"workspace-cancel": "Cancel",
|
|
51
|
+
"workspace-dialog-name": "Name",
|
|
52
|
+
"workspace-dialog-abstract": "Abstract",
|
|
53
|
+
"workspace-dialog-confirm-delete-message": "Are you sure to want to delete the \"{{TITLE}}\" workspace preset?",
|
|
54
|
+
"workspace-error-fetch": "Failed to fetch workspace list",
|
|
55
|
+
"workspace-error-fetch-detail": "Failed to fetch workspace {{WORKSPACE_ID}}",
|
|
56
|
+
"workspace-retry": "Try again",
|
|
57
|
+
"workspace-delete-tooltip": "Delete preset",
|
|
58
|
+
"workspace-control-split-horizontal": "Split window horizontally",
|
|
59
|
+
"workspace-control-split-vertical": "Split window vertically",
|
|
60
|
+
"workspace-control-expand": "Expand window",
|
|
61
|
+
"workspace-control-unexpand": "Unexpand window",
|
|
62
|
+
"workspace-control-close": "Close window",
|
|
63
|
+
"workspace-control-close-message-title": "Whoops",
|
|
64
|
+
"workspace-control-close-message-description": "Are you sure you want to close this window? All changes will be lost.",
|
|
65
|
+
"workspace-mappreset-delete-message": "Are you sure to want to delete \"{{TITLE}}\" map preset?",
|
|
66
|
+
"workspace-viewpresets-fail-fetch": "Failed to fetch view {{VIEWPRESET_ID}}",
|
|
67
|
+
"workspace-viewpresets-error": "View presets not available",
|
|
68
|
+
"workspace-mappreset-dialog-title": "Map preset name",
|
|
69
|
+
"workspace-mappreset-save-as": "Save map preset as",
|
|
70
|
+
"workspace-mappreset-new": "New map preset",
|
|
71
|
+
"workspace-mappreset-dialog-title-delete": "Delete map preset",
|
|
72
|
+
"workspace-mappreset-dialog-title-edit": "Edit map preset",
|
|
73
|
+
"workspace-mappreset-error-save": "Map preset not saved: an error occurred during saving. Please try again later.",
|
|
74
|
+
"workspace-mappreset-error-fetch": "Error fetching map preset list",
|
|
75
|
+
"workspace-list-error": "Error fetching workspace preset list",
|
|
76
|
+
"workspace-list-success-save-all": "Workspace \"{{TITLE}}\" and underlying viewpresets successfully saved",
|
|
77
|
+
"workspace-list-success-delete": "Workspace \"{{TITLE}}\" successfully deleted",
|
|
78
|
+
"workspace-list-success-duplicate": "Workspace \"{{TITLE}}\" successfully saved",
|
|
79
|
+
"workspace-list-success-edit": "Workspace \"{{TITLE}}\" successfully edited",
|
|
80
|
+
"workspace-list-success-save": "Workspace \"{{TITLE}}\" successfully saved",
|
|
81
|
+
"workspace-save-error": "Failed to save workspace \"{{TITLE}}\"",
|
|
82
|
+
"workspace-error-generic": "Something went wrong, try again",
|
|
83
|
+
"workspace-viewpreset-success-delete": "Map preset \"{{TITLE}}\" successfully deleted",
|
|
84
|
+
"workspace-viewpreset-success-save-as": "New map preset \"{{TITLE}}\" successfully saved",
|
|
85
|
+
"workspace-viewpreset-success-edit": "Map preset \"{{TITLE}}\" successfully edited",
|
|
86
|
+
"workspace-viewpreset-success-save": "Map preset \"{{TITLE}}\" successfully saved",
|
|
87
|
+
"workspace-viewpreset-menu": "View presets menu"
|
|
88
|
+
};
|
|
89
|
+
var fi = {
|
|
90
|
+
"workspace-menu": "ei käännetty",
|
|
91
|
+
"workspace-new": "ei käännetty",
|
|
92
|
+
"workspace-my-presets": "ei käännetty",
|
|
93
|
+
"workspace-system-presets": "ei käännetty",
|
|
94
|
+
"workspace-all-button": "ei käännetty",
|
|
95
|
+
"workspace-search": "ei käännetty",
|
|
96
|
+
"workspace-loading": "ei käännetty",
|
|
97
|
+
"workspace-options": "ei käännetty",
|
|
98
|
+
"workspace-results": "ei käännetty",
|
|
99
|
+
"workspace-delete": "ei käännetty",
|
|
100
|
+
"workspce-clear": "ei käännetty",
|
|
101
|
+
"workspace-save": "ei käännetty",
|
|
102
|
+
"workspace-save-as": "ei käännetty",
|
|
103
|
+
"workspace-save-incl-viewpresets": "ei käännetty",
|
|
104
|
+
"workspace-edit": "ei käännetty",
|
|
105
|
+
"workspace-edit-both": "ei käännetty",
|
|
106
|
+
"geoweb-welcome": "ei käännetty",
|
|
107
|
+
"workspace-modified-new": "ei käännetty",
|
|
108
|
+
"workspace-modified-existing": "ei käännetty",
|
|
109
|
+
"workspace-dialog-delete": "ei käännetty",
|
|
110
|
+
"workspace-duplicate": "ei käännetty",
|
|
111
|
+
"workspace-cancel": "ei käännetty",
|
|
112
|
+
"workspace-dialog-name": "ei käännetty",
|
|
113
|
+
"workspace-dialog-abstract": "ei käännetty",
|
|
114
|
+
"workspace-dialog-confirm-delete-message": "ei käännetty \"{{TITLE}}\" ei käännetty?",
|
|
115
|
+
"workspace-error-fetch": "ei käännetty",
|
|
116
|
+
"workspace-error-fetch-detail": "ei käännetty",
|
|
117
|
+
"workspace-retry": "ei käännetty",
|
|
118
|
+
"workspace-delete-tooltip": "ei käännetty",
|
|
119
|
+
"workspace-control-split-horizontal": "ei käännetty",
|
|
120
|
+
"workspace-control-split-vertical": "ei käännetty",
|
|
121
|
+
"workspace-control-expand": "ei käännetty",
|
|
122
|
+
"workspace-control-unexpand": "ei käännetty",
|
|
123
|
+
"workspace-control-close": "ei käännetty",
|
|
124
|
+
"workspace-control-close-message-title": "ei käännetty",
|
|
125
|
+
"workspace-control-close-message-description": "ei käännetty",
|
|
126
|
+
"workspace-mappreset-delete-message": "ei käännetty",
|
|
127
|
+
"workspace-viewpresets-fail-fetch": "ei käännetty",
|
|
128
|
+
"workspace-viewpresets-error": "ei käännetty",
|
|
129
|
+
"workspace-mappreset-dialog-title": "ei käännetty",
|
|
130
|
+
"workspace-mappreset-save-as": "ei käännetty",
|
|
131
|
+
"workspace-mappreset-new": "ei käännetty",
|
|
132
|
+
"workspace-mappreset-dialog-title-delete": "ei käännetty",
|
|
133
|
+
"workspace-mappreset-dialog-title-edit": "ei käännetty",
|
|
134
|
+
"workspace-mappreset-error-save": "ei käännetty",
|
|
135
|
+
"workspace-mappreset-error-fetch": "ei käännetty",
|
|
136
|
+
"workspace-list-error": "ei käännetty",
|
|
137
|
+
"workspace-list-success-save-all": "ei käännetty",
|
|
138
|
+
"workspace-list-success-delete": "ei käännetty",
|
|
139
|
+
"workspace-list-success-duplicate": "ei käännetty",
|
|
140
|
+
"workspace-list-success-edit": "ei käännetty",
|
|
141
|
+
"workspace-list-success-save": "ei käännetty",
|
|
142
|
+
"workspace-save-error": "ei käännetty",
|
|
143
|
+
"workspace-error-generic": "ei käännetty",
|
|
144
|
+
"workspace-viewpreset-success-delete": "ei käännetty",
|
|
145
|
+
"workspace-viewpreset-success-save-as": "ei käännetty",
|
|
146
|
+
"workspace-viewpreset-success-edit": "ei käännetty",
|
|
147
|
+
"workspace-viewpreset-success-save": "ei käännetty",
|
|
148
|
+
"workspace-viewpreset-menu": "ei käännetty"
|
|
149
|
+
};
|
|
150
|
+
var no = {
|
|
151
|
+
"workspace-menu": "Arbeidsrommeny",
|
|
152
|
+
"workspace-new": "Nytt arbeidsrom",
|
|
153
|
+
"workspace-my-presets": "Mine presets",
|
|
154
|
+
"workspace-system-presets": "System presets",
|
|
155
|
+
"workspace-all-button": "Alle",
|
|
156
|
+
"workspace-search": "Søk",
|
|
157
|
+
"workspace-loading": "Laster",
|
|
158
|
+
"workspace-options": "Valg",
|
|
159
|
+
"workspace-results": "resultater",
|
|
160
|
+
"workspace-delete": "Slett",
|
|
161
|
+
"workspce-clear": "Tøm",
|
|
162
|
+
"workspace-save": "Lagre",
|
|
163
|
+
"workspace-save-as": "Lagre som",
|
|
164
|
+
"workspace-save-incl-viewpresets": "Lagre (inkl. viewpresets)",
|
|
165
|
+
"workspace-edit": "Endre (navn)",
|
|
166
|
+
"workspace-edit-both": "Endre (navn og abstrakt)",
|
|
167
|
+
"geoweb-welcome": "Velkommen til GeoWeb. Åpne et forhåndsvalg for å åpne nye vinduer",
|
|
168
|
+
"workspace-modified-new": "ikke oversatt",
|
|
169
|
+
"workspace-modified-existing": "ikke oversatt",
|
|
170
|
+
"workspace-dialog-delete": "ikke oversatt",
|
|
171
|
+
"workspace-duplicate": "ikke oversatt",
|
|
172
|
+
"workspace-cancel": "ikke oversatt",
|
|
173
|
+
"workspace-dialog-name": "ikke oversatt",
|
|
174
|
+
"workspace-dialog-abstract": "ikke oversatt",
|
|
175
|
+
"workspace-dialog-confirm-delete-message": "ikke oversatt \"{{TITLE}}\" ikke oversatt",
|
|
176
|
+
"workspace-error-fetch": "ikke oversatt",
|
|
177
|
+
"workspace-error-fetch-detail": "ikke oversatt",
|
|
178
|
+
"workspace-viewpresets-error": "ikke oversatt",
|
|
179
|
+
"workspace-retry": "ikke oversatt",
|
|
180
|
+
"workspace-delete-tooltip": "ikke oversatt",
|
|
181
|
+
"workspace-control-split-horizontal": "ikke oversatt",
|
|
182
|
+
"workspace-control-split-vertical": "ikke oversatt",
|
|
183
|
+
"workspace-control-expand": "ikke oversatt",
|
|
184
|
+
"workspace-control-unexpand": "ikke oversatt",
|
|
185
|
+
"workspace-control-close": "ikke oversatt",
|
|
186
|
+
"workspace-control-close-message-title": "ikke oversatt",
|
|
187
|
+
"workspace-control-close-message-description": "ikke oversatt",
|
|
188
|
+
"workspace-mappreset-delete-message": "ikke oversatt",
|
|
189
|
+
"workspace-viewpresets-fail-fetch": "ikke oversatt",
|
|
190
|
+
"workspace-mappreset-dialog-title": "ikke oversatt",
|
|
191
|
+
"workspace-mappreset-save-as": "ikke oversatt",
|
|
192
|
+
"workspace-mappreset-new": "ikke oversatt",
|
|
193
|
+
"workspace-mappreset-dialog-title-delete": "ikke oversatt",
|
|
194
|
+
"workspace-mappreset-dialog-title-edit": "ikke oversattt",
|
|
195
|
+
"workspace-mappreset-error-save": "ikke oversattt",
|
|
196
|
+
"workspace-mappreset-error-fetch": "ikke oversattt",
|
|
197
|
+
"workspace-list-error": "ikke oversattt",
|
|
198
|
+
"workspace-list-success-save-all": "ikke oversattt",
|
|
199
|
+
"workspace-list-success-delete": "ikke oversattt",
|
|
200
|
+
"workspace-list-success-duplicate": "ikke oversattt",
|
|
201
|
+
"workspace-list-success-edit": "ikke oversattt",
|
|
202
|
+
"workspace-list-success-save": "ikke oversattt",
|
|
203
|
+
"workspace-save-error": "ikke oversattt",
|
|
204
|
+
"workspace-error-generic": "ikke oversattt",
|
|
205
|
+
"workspace-viewpreset-success-delete": "ikke oversattt",
|
|
206
|
+
"workspace-viewpreset-success-save-as": "ikke oversattt",
|
|
207
|
+
"workspace-viewpreset-success-edit": "ikke oversattt",
|
|
208
|
+
"workspace-viewpreset-success-save": "ikke oversattt",
|
|
209
|
+
"workspace-viewpreset-menu": "kke oversattt"
|
|
210
|
+
};
|
|
211
|
+
var nl = {
|
|
212
|
+
"workspace-menu": "Workspace menu",
|
|
213
|
+
"workspace-new": "Nieuwe workspace",
|
|
214
|
+
"workspace-my-presets": "Mijn presets",
|
|
215
|
+
"workspace-system-presets": "Systeem presets",
|
|
216
|
+
"workspace-all-button": "Alle",
|
|
217
|
+
"workspace-search": "Zoeken",
|
|
218
|
+
"workspace-loading": "Laden",
|
|
219
|
+
"workspace-options": "Opties",
|
|
220
|
+
"workspace-results": "resultaten",
|
|
221
|
+
"workspace-delete": "Verwijder",
|
|
222
|
+
"workspce-clear": "Wissen",
|
|
223
|
+
"workspace-save": "Opslaan",
|
|
224
|
+
"workspace-save-as": "Opslaan als",
|
|
225
|
+
"workspace-save-incl-viewpresets": "Opslaan (incl. viewpresets)",
|
|
226
|
+
"workspace-edit": "Aanpassen (naam)",
|
|
227
|
+
"workspace-edit-both": "Aanpassen (naam en abstract)",
|
|
228
|
+
"geoweb-welcome": "Welkom bij GeoWeb. Kies een van de presets om een nieuw venster te openen",
|
|
229
|
+
"workspace-modified-new": "bewerkt",
|
|
230
|
+
"workspace-modified-existing": "niet opgeslagen",
|
|
231
|
+
"workspace-dialog-delete": "Verwijder workspace",
|
|
232
|
+
"workspace-duplicate": "Dupliceer",
|
|
233
|
+
"workspace-cancel": "Annuleer",
|
|
234
|
+
"workspace-dialog-name": "Naam",
|
|
235
|
+
"workspace-dialog-abstract": "Abstract",
|
|
236
|
+
"workspace-dialog-confirm-delete-message": "Weet je zeker dat je workspace preset \"{{TITLE}}\" wilt verwijderen?",
|
|
237
|
+
"workspace-error-fetch": "Ophalen workspace lijst mislukt",
|
|
238
|
+
"workspace-error-fetch-detail": "Ophalen workspace {{WORKSPACE_ID}} mislukt",
|
|
239
|
+
"workspace-viewpresets-error": "View presets niet beschikbaar",
|
|
240
|
+
"workspace-retry": "Opnieuw proberen",
|
|
241
|
+
"workspace-delete-tooltip": "Verwijder preset",
|
|
242
|
+
"workspace-control-split-horizontal": "Splits paneel horizontaal",
|
|
243
|
+
"workspace-control-split-vertical": "Splits paneel verticaal",
|
|
244
|
+
"workspace-control-expand": "Vergroot paneel",
|
|
245
|
+
"workspace-control-unexpand": "Verklein paneel",
|
|
246
|
+
"workspace-control-close": "Sluit paneel",
|
|
247
|
+
"workspace-control-close-message-title": "Oeps",
|
|
248
|
+
"workspace-control-close-message-description": "Weet je zeker dat je dit paneel wilt sluiten? Alle wijzigingen zullen verloren gaan",
|
|
249
|
+
"workspace-mappreset-delete-message": "Weet je zeker dat je map preset \"{{TITLE}}\" wilt verwijderen?",
|
|
250
|
+
"workspace-viewpresets-fail-fetch": "Ophalen van view preset {{VIEWPRESET_ID}} mislukt",
|
|
251
|
+
"workspace-mappreset-dialog-title": "Map preset naam",
|
|
252
|
+
"workspace-mappreset-save-as": "Sla map preset op als",
|
|
253
|
+
"workspace-mappreset-new": "Nieuwe map preset",
|
|
254
|
+
"workspace-mappreset-dialog-title-delete": "Verwijder map preset",
|
|
255
|
+
"workspace-mappreset-dialog-title-edit": "Aanpassen map preset",
|
|
256
|
+
"workspace-mappreset-error-save": "Map preset niet opgeslagen: een ging iets fout met opslaan. Probeer het later nog eens.",
|
|
257
|
+
"workspace-mappreset-error-fetch": "Ophalen map preset lijst mislukt",
|
|
258
|
+
"workspace-list-error": "Ophalen workspace preset lijst mislukt",
|
|
259
|
+
"workspace-list-success-save-all": "Workspace \"{{TITLE}}\" en onderliggende viewpresets zijn succesvol opgeslagen!",
|
|
260
|
+
"workspace-list-success-delete": "Workspace \"{{TITLE}}\" succesvol verwijderd",
|
|
261
|
+
"workspace-list-success-duplicate": "Workspace \"{{TITLE}}\" succesvol opgeslagen",
|
|
262
|
+
"workspace-list-success-edit": "Workspace \"{{TITLE}}\" succesvol aangepast",
|
|
263
|
+
"workspace-list-success-save": "Workspace \"{{TITLE}}\" succesvol opgeslagen",
|
|
264
|
+
"workspace-save-error": "Workspace opslaan \"{{TITLE}}\" mislukt",
|
|
265
|
+
"workspace-error-generic": "Er is iets mis gegaan, probeer het opnieuw",
|
|
266
|
+
"workspace-viewpreset-success-delete": "Map preset \"{{TITLE}}\" succesvol verwijderd",
|
|
267
|
+
"workspace-viewpreset-success-save-as": "Nieuwe map preset \"{{TITLE}}\" succesvol opgeslagen",
|
|
268
|
+
"workspace-viewpreset-success-edit": "Map preset \"{{TITLE}}\" succesvol aangepast",
|
|
269
|
+
"workspace-viewpreset-success-save": "Map preset \"{{TITLE}}\" succesvol opgeslagen",
|
|
270
|
+
"workspace-viewpreset-menu": "View presets menu"
|
|
271
|
+
};
|
|
272
|
+
var workspaceTranslations = {
|
|
273
|
+
en: en,
|
|
274
|
+
fi: fi,
|
|
275
|
+
no: no,
|
|
276
|
+
nl: nl
|
|
277
|
+
};
|
|
278
|
+
|
|
28
279
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
29
280
|
|
|
30
281
|
var check = function (it) {
|
|
@@ -2622,13 +2873,13 @@ var PresetAction;
|
|
|
2622
2873
|
})(PresetAction || (PresetAction = {}));
|
|
2623
2874
|
|
|
2624
2875
|
const viewPresetsListFilterOptions = [{
|
|
2625
|
-
label: '
|
|
2876
|
+
label: 'workspace-my-presets',
|
|
2626
2877
|
id: 'user',
|
|
2627
2878
|
type: 'scope',
|
|
2628
2879
|
isSelected: true,
|
|
2629
2880
|
isDisabled: false
|
|
2630
2881
|
}, {
|
|
2631
|
-
label: '
|
|
2882
|
+
label: 'workspace-system-presets',
|
|
2632
2883
|
id: 'system',
|
|
2633
2884
|
type: 'scope',
|
|
2634
2885
|
isSelected: true,
|
|
@@ -3283,88 +3534,108 @@ fixRegExpWellKnownSymbolLogic$2('split', function (SPLIT, nativeSplit, maybeCall
|
|
|
3283
3534
|
* */
|
|
3284
3535
|
const getCleanSearchQuery = searchQuery => searchQuery.trim().split(/\s+/).join();
|
|
3285
3536
|
|
|
3286
|
-
const
|
|
3287
|
-
const
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
}
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
keywords: '',
|
|
3308
|
-
scope: 'user',
|
|
3309
|
-
title: '',
|
|
3310
|
-
initialProps: {
|
|
3311
|
-
mapPreset: {}
|
|
3312
|
-
}
|
|
3313
|
-
};
|
|
3314
|
-
// Returns object of applied user filters such as scope/search etc
|
|
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
|
-
});
|
|
3537
|
+
const WORKSPACE_NAMESPACE = 'workspace';
|
|
3538
|
+
const initWorkspaceTestI18n = () => {
|
|
3539
|
+
i18n.use(initReactI18next).init({
|
|
3540
|
+
lng: 'en',
|
|
3541
|
+
ns: WORKSPACE_NAMESPACE,
|
|
3542
|
+
interpolation: {
|
|
3543
|
+
escapeValue: false
|
|
3544
|
+
},
|
|
3545
|
+
resources: {
|
|
3546
|
+
en: {
|
|
3547
|
+
[WORKSPACE_NAMESPACE]: workspaceTranslations.en
|
|
3548
|
+
},
|
|
3549
|
+
fi: {
|
|
3550
|
+
[WORKSPACE_NAMESPACE]: workspaceTranslations.fi
|
|
3551
|
+
},
|
|
3552
|
+
no: {
|
|
3553
|
+
[WORKSPACE_NAMESPACE]: workspaceTranslations.no
|
|
3554
|
+
},
|
|
3555
|
+
nl: {
|
|
3556
|
+
[WORKSPACE_NAMESPACE]: workspaceTranslations.nl
|
|
3557
|
+
}
|
|
3329
3558
|
}
|
|
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
3559
|
});
|
|
3341
3560
|
};
|
|
3561
|
+
initWorkspaceTestI18n();
|
|
3562
|
+
const outsideComponentTranslations = handleOutsideComponentTranslations(workspaceTranslations, WORKSPACE_NAMESPACE);
|
|
3563
|
+
const translateKeyOutsideComponents = (key, params = undefined) => i18n.t(key, Object.assign({
|
|
3564
|
+
ns: WORKSPACE_NAMESPACE
|
|
3565
|
+
}, params));
|
|
3566
|
+
const useWorkspaceTranslation = () => useTranslation(WORKSPACE_NAMESPACE);
|
|
3342
3567
|
|
|
3343
|
-
const getSnackbarMessage = (action, title) => {
|
|
3568
|
+
const getSnackbarMessage$1 = (action, title) => {
|
|
3344
3569
|
// Trim and add quotes
|
|
3345
|
-
const trimmedTitle =
|
|
3570
|
+
const trimmedTitle = `${title.trim()}`;
|
|
3346
3571
|
switch (action) {
|
|
3347
3572
|
case WorkspacePresetAction.SAVE_ALL:
|
|
3348
|
-
return
|
|
3573
|
+
return translateKeyOutsideComponents('workspace-list-success-save-all', {
|
|
3574
|
+
TITLE: trimmedTitle
|
|
3575
|
+
});
|
|
3349
3576
|
case WorkspacePresetAction.DELETE:
|
|
3350
|
-
return
|
|
3577
|
+
return translateKeyOutsideComponents('workspace-list-success-delete', {
|
|
3578
|
+
TITLE: trimmedTitle
|
|
3579
|
+
});
|
|
3351
3580
|
case WorkspacePresetAction.DUPLICATE:
|
|
3352
|
-
return
|
|
3581
|
+
return translateKeyOutsideComponents('workspace-list-success-duplicate', {
|
|
3582
|
+
TITLE: trimmedTitle
|
|
3583
|
+
});
|
|
3353
3584
|
case WorkspacePresetAction.EDIT:
|
|
3354
|
-
return
|
|
3585
|
+
return translateKeyOutsideComponents('workspace-list-success-edit', {
|
|
3586
|
+
TITLE: trimmedTitle
|
|
3587
|
+
});
|
|
3355
3588
|
default:
|
|
3356
|
-
return
|
|
3589
|
+
return translateKeyOutsideComponents('workspace-list-success-save', {
|
|
3590
|
+
TITLE: trimmedTitle
|
|
3591
|
+
});
|
|
3357
3592
|
}
|
|
3358
3593
|
};
|
|
3359
|
-
const
|
|
3360
|
-
|
|
3594
|
+
const getEmptyWorkspaceListItem = () => ({
|
|
3595
|
+
id: undefined,
|
|
3596
|
+
title: translateKeyOutsideComponents('workspace-new'),
|
|
3597
|
+
scope: 'system',
|
|
3598
|
+
abstract: '',
|
|
3599
|
+
viewType: 'singleWindow'
|
|
3600
|
+
});
|
|
3601
|
+
const emptyMapWorkspace = Object.assign(Object.assign({}, getEmptyWorkspaceListItem()), {
|
|
3602
|
+
views: {
|
|
3603
|
+
allIds: ['1_screen'],
|
|
3604
|
+
byId: {
|
|
3605
|
+
'1_screen': {
|
|
3606
|
+
title: translateKeyOutsideComponents('workspace-mappreset-new'),
|
|
3607
|
+
componentType: 'Map',
|
|
3608
|
+
initialProps: {
|
|
3609
|
+
mapPreset: {
|
|
3610
|
+
layers: [],
|
|
3611
|
+
proj: {
|
|
3612
|
+
bbox: {
|
|
3613
|
+
left: 58703.6377,
|
|
3614
|
+
bottom: 6408480.4514,
|
|
3615
|
+
right: 3967387.5161,
|
|
3616
|
+
top: 11520588.9031
|
|
3617
|
+
},
|
|
3618
|
+
srs: 'EPSG:3857'
|
|
3619
|
+
},
|
|
3620
|
+
shouldShowLayerManager: true,
|
|
3621
|
+
dockedLayerManagerSize: 'sizeSmall'
|
|
3622
|
+
},
|
|
3623
|
+
syncGroupsIds: []
|
|
3624
|
+
}
|
|
3625
|
+
}
|
|
3626
|
+
}
|
|
3627
|
+
},
|
|
3628
|
+
mosaicNode: '1_screen'
|
|
3629
|
+
});
|
|
3630
|
+
const getEmptyWorkspacePreset = () => ({
|
|
3631
|
+
title: translateKeyOutsideComponents('workspace-new'),
|
|
3361
3632
|
scope: 'system',
|
|
3362
3633
|
abstract: '',
|
|
3363
3634
|
views: {
|
|
3364
3635
|
allIds: ['1_screen'],
|
|
3365
3636
|
byId: {
|
|
3366
3637
|
'1_screen': {
|
|
3367
|
-
title:
|
|
3638
|
+
title: translateKeyOutsideComponents('workspace-mappreset-new'),
|
|
3368
3639
|
componentType: 'Map',
|
|
3369
3640
|
initialProps: {
|
|
3370
3641
|
mapPreset: {
|
|
@@ -3388,15 +3659,15 @@ const emptyMapWorkspace = {
|
|
|
3388
3659
|
},
|
|
3389
3660
|
mosaicNode: '1_screen',
|
|
3390
3661
|
viewType: 'singleWindow'
|
|
3391
|
-
};
|
|
3662
|
+
});
|
|
3392
3663
|
const createCustomEmptyMapWorkspace = customMapPreset => {
|
|
3393
|
-
const customEmptyMapWorkspace = cloneDeep(
|
|
3664
|
+
const customEmptyMapWorkspace = cloneDeep(getEmptyWorkspacePreset());
|
|
3394
3665
|
if (customMapPreset) {
|
|
3395
3666
|
customEmptyMapWorkspace.views.byId['1_screen'].initialProps.mapPreset = customMapPreset;
|
|
3396
3667
|
}
|
|
3397
3668
|
return customEmptyMapWorkspace;
|
|
3398
3669
|
};
|
|
3399
|
-
const constructFilterParams = (filters, searchQuery) => {
|
|
3670
|
+
const constructFilterParams$1 = (filters, searchQuery) => {
|
|
3400
3671
|
// get filters
|
|
3401
3672
|
const {
|
|
3402
3673
|
scope
|
|
@@ -3748,6 +4019,67 @@ const getViewPresetListFilterResultsForView = createSelector(getViewPresetById,
|
|
|
3748
4019
|
return Object.values(filteredResults.entities);
|
|
3749
4020
|
}, selectorMemoizationOptions);
|
|
3750
4021
|
|
|
4022
|
+
const getSnackbarMessage = (action, title) => {
|
|
4023
|
+
// Trim and add quotes
|
|
4024
|
+
const trimmedTitle = title.trim();
|
|
4025
|
+
switch (action) {
|
|
4026
|
+
case PresetAction.DELETE:
|
|
4027
|
+
return translateKeyOutsideComponents('workspace-viewpreset-success-delete', {
|
|
4028
|
+
TITLE: trimmedTitle
|
|
4029
|
+
});
|
|
4030
|
+
case PresetAction.SAVE_AS:
|
|
4031
|
+
return translateKeyOutsideComponents('workspace-viewpreset-success-save-as', {
|
|
4032
|
+
TITLE: trimmedTitle
|
|
4033
|
+
});
|
|
4034
|
+
case PresetAction.EDIT:
|
|
4035
|
+
return translateKeyOutsideComponents('workspace-viewpreset-success-edit', {
|
|
4036
|
+
TITLE: trimmedTitle
|
|
4037
|
+
});
|
|
4038
|
+
default:
|
|
4039
|
+
return translateKeyOutsideComponents('workspace-viewpreset-success-save', {
|
|
4040
|
+
TITLE: trimmedTitle
|
|
4041
|
+
});
|
|
4042
|
+
}
|
|
4043
|
+
};
|
|
4044
|
+
const getPresetsApi = () => getApi(API_NAME);
|
|
4045
|
+
const emptyMapViewPreset = {
|
|
4046
|
+
componentType: 'Map',
|
|
4047
|
+
keywords: '',
|
|
4048
|
+
scope: 'user',
|
|
4049
|
+
title: '',
|
|
4050
|
+
initialProps: {
|
|
4051
|
+
mapPreset: {}
|
|
4052
|
+
}
|
|
4053
|
+
};
|
|
4054
|
+
// Returns object of applied user filters such as scope/search etc
|
|
4055
|
+
// If all filter chips are selected, an empty string is returned for that filter which is interpreted in the BE as "return all" _
|
|
4056
|
+
const constructFilterParams = (filters, searchQuery) => {
|
|
4057
|
+
// get filters
|
|
4058
|
+
const isAllSelectedForFilters = filters.every(filter => filter.isSelected);
|
|
4059
|
+
// If all filters are selected, ensure we return nothing for scope
|
|
4060
|
+
const {
|
|
4061
|
+
scope
|
|
4062
|
+
} = isAllSelectedForFilters ? {
|
|
4063
|
+
scope: []
|
|
4064
|
+
} : filters.reduce((filterList, filter) => {
|
|
4065
|
+
if (filter.isSelected && filter.type === 'scope') {
|
|
4066
|
+
return Object.assign(Object.assign({}, filter), {
|
|
4067
|
+
scope: filterList.scope.concat(filter.id)
|
|
4068
|
+
});
|
|
4069
|
+
}
|
|
4070
|
+
return filterList;
|
|
4071
|
+
}, {
|
|
4072
|
+
scope: []
|
|
4073
|
+
});
|
|
4074
|
+
// get search
|
|
4075
|
+
const search = getCleanSearchQuery(searchQuery);
|
|
4076
|
+
return Object.assign(Object.assign({}, scope.length && {
|
|
4077
|
+
scope: scope.toString()
|
|
4078
|
+
}), search.length && {
|
|
4079
|
+
search
|
|
4080
|
+
});
|
|
4081
|
+
};
|
|
4082
|
+
|
|
3751
4083
|
const workspaceStore = store => (store === null || store === void 0 ? void 0 : store.workspace) || initialState$1;
|
|
3752
4084
|
/**
|
|
3753
4085
|
* Gets workspace state
|
|
@@ -3856,7 +4188,7 @@ const getWorkspaceData = createSelector(getWorkspaceState, getViewPresetsStore,
|
|
|
3856
4188
|
};
|
|
3857
4189
|
}, selectorMemoizationOptions);
|
|
3858
4190
|
const getViewPresetToSendToBackend = createSelector(getViewById, mapSelectors.getMapPreset, syncGroupsSelectors.getAllTargetGroupsForSource, (workspaceView, mapPreset, syncGroupsIds) => {
|
|
3859
|
-
const title = (workspaceView === null || workspaceView === void 0 ? void 0 : workspaceView.title) ||
|
|
4191
|
+
const title = (workspaceView === null || workspaceView === void 0 ? void 0 : workspaceView.title) || outsideComponentTranslations['workspace-mappreset-new'];
|
|
3860
4192
|
const scope = (workspaceView === null || workspaceView === void 0 ? void 0 : workspaceView.scope) || 'system';
|
|
3861
4193
|
return Object.assign(Object.assign({}, emptyMapViewPreset), {
|
|
3862
4194
|
id: workspaceView === null || workspaceView === void 0 ? void 0 : workspaceView.id,
|
|
@@ -3870,21 +4202,21 @@ const getViewPresetToSendToBackend = createSelector(getViewById, mapSelectors.ge
|
|
|
3870
4202
|
}, selectorMemoizationOptions);
|
|
3871
4203
|
|
|
3872
4204
|
var selectors$1 = /*#__PURE__*/Object.freeze({
|
|
3873
|
-
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3885
|
-
|
|
3886
|
-
|
|
3887
|
-
|
|
4205
|
+
__proto__: null,
|
|
4206
|
+
getWorkspaceState: getWorkspaceState,
|
|
4207
|
+
getInitialViewMapPreset: getInitialViewMapPreset,
|
|
4208
|
+
getMosaicNode: getMosaicNode,
|
|
4209
|
+
getViewById: getViewById,
|
|
4210
|
+
getViewIds: getViewIds,
|
|
4211
|
+
getShouldPreventClose: getShouldPreventClose,
|
|
4212
|
+
isWorkspaceLoading: isWorkspaceLoading,
|
|
4213
|
+
getWorkspaceError: getWorkspaceError,
|
|
4214
|
+
getSelectedWorkspaceTitle: getSelectedWorkspaceTitle,
|
|
4215
|
+
hasWorkspaceChanges: hasWorkspaceChanges,
|
|
4216
|
+
getViewType: getViewType,
|
|
4217
|
+
getSelectedWorkspaceScope: getSelectedWorkspaceScope,
|
|
4218
|
+
getWorkspaceData: getWorkspaceData,
|
|
4219
|
+
getViewPresetToSendToBackend: getViewPresetToSendToBackend
|
|
3888
4220
|
});
|
|
3889
4221
|
|
|
3890
4222
|
/* *
|
|
@@ -6959,7 +7291,7 @@ function* fetchWorkspaceListSaga({
|
|
|
6959
7291
|
} catch (error) {
|
|
6960
7292
|
yield put(workspaceListActions.errorWorkspaceList({
|
|
6961
7293
|
error: {
|
|
6962
|
-
message: '
|
|
7294
|
+
message: translateKeyOutsideComponents('workspace-list-error'),
|
|
6963
7295
|
type: WorkspaceListErrorType.GENERIC
|
|
6964
7296
|
}
|
|
6965
7297
|
}));
|
|
@@ -6974,7 +7306,7 @@ function* onSuccessWorkspacePresetsActionSaga({
|
|
|
6974
7306
|
title
|
|
6975
7307
|
} = payload;
|
|
6976
7308
|
yield put(snackbarActions.openSnackbar({
|
|
6977
|
-
message: getSnackbarMessage(action, title)
|
|
7309
|
+
message: getSnackbarMessage$1(action, title)
|
|
6978
7310
|
}));
|
|
6979
7311
|
// if active workspace has been deleted, empty out url
|
|
6980
7312
|
if (action === WorkspacePresetAction.DELETE && payload.currentActiveWorkspaceId && workspaceId === payload.currentActiveWorkspaceId) {
|
|
@@ -6991,7 +7323,7 @@ function* onSuccessWorkspacePresetsActionSaga({
|
|
|
6991
7323
|
// Retrieve new list with current filter
|
|
6992
7324
|
const workspaceFilters = yield select(getWorkspaceListFilters);
|
|
6993
7325
|
const searchQuery = yield select(getWorkspaceListSearchQuery);
|
|
6994
|
-
yield call$g(fetchWorkspaceListSaga, workspaceListActions.fetchWorkspaceList(constructFilterParams(workspaceFilters, searchQuery)));
|
|
7326
|
+
yield call$g(fetchWorkspaceListSaga, workspaceListActions.fetchWorkspaceList(constructFilterParams$1(workspaceFilters, searchQuery)));
|
|
6995
7327
|
}
|
|
6996
7328
|
function* saveAllViewPresetSaga(viewPresetEntity, workspaceTitle) {
|
|
6997
7329
|
var _a, _b;
|
|
@@ -7177,7 +7509,6 @@ function* rootSaga$1() {
|
|
|
7177
7509
|
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
7178
7510
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
7179
7511
|
* */
|
|
7180
|
-
const MESSAGE_SAVE_PRESET = 'Map preset not saved: an error occurred during saving. Please try again later.';
|
|
7181
7512
|
function* fetchInitialViewPresetsSaga() {
|
|
7182
7513
|
try {
|
|
7183
7514
|
const presetsApi = yield call$g(getPresetsApi);
|
|
@@ -7191,7 +7522,7 @@ function* fetchInitialViewPresetsSaga() {
|
|
|
7191
7522
|
} catch (error) {
|
|
7192
7523
|
yield put(viewPresetActions.errorInitialViewPresets({
|
|
7193
7524
|
error: {
|
|
7194
|
-
message: '
|
|
7525
|
+
message: translateKeyOutsideComponents('workspace-mappreset-error-fetch'),
|
|
7195
7526
|
type: ViewPresetType.PRESET_LIST
|
|
7196
7527
|
}
|
|
7197
7528
|
}));
|
|
@@ -7217,7 +7548,7 @@ function* fetchViewPresetsSaga({
|
|
|
7217
7548
|
} catch (error) {
|
|
7218
7549
|
yield put(viewPresetActions.errorViewPreset({
|
|
7219
7550
|
error: {
|
|
7220
|
-
message: '
|
|
7551
|
+
message: translateKeyOutsideComponents('workspace-mappreset-error-fetch'),
|
|
7221
7552
|
type: ViewPresetType.PRESET_LIST
|
|
7222
7553
|
},
|
|
7223
7554
|
panelId
|
|
@@ -7236,7 +7567,7 @@ function* saveViewPresetSaga({
|
|
|
7236
7567
|
const presetsApi = yield call$g(getPresetsApi);
|
|
7237
7568
|
yield call$g(presetsApi.saveViewPreset, viewPresetId, viewPreset);
|
|
7238
7569
|
yield put(snackbarActions.openSnackbar({
|
|
7239
|
-
message: getSnackbarMessage
|
|
7570
|
+
message: getSnackbarMessage(PresetAction.SAVE, viewPreset.title)
|
|
7240
7571
|
}));
|
|
7241
7572
|
yield put(viewPresetActions.savedViewPreset({
|
|
7242
7573
|
panelId,
|
|
@@ -7245,7 +7576,7 @@ function* saveViewPresetSaga({
|
|
|
7245
7576
|
} catch (error) {
|
|
7246
7577
|
yield put(viewPresetActions.errorViewPreset({
|
|
7247
7578
|
error: {
|
|
7248
|
-
message:
|
|
7579
|
+
message: translateKeyOutsideComponents('workspace-mappreset-error-save'),
|
|
7249
7580
|
type: ViewPresetType.PRESET_DETAIL
|
|
7250
7581
|
},
|
|
7251
7582
|
panelId,
|
|
@@ -7301,7 +7632,7 @@ function* onSuccessViewPresetActionSaga({
|
|
|
7301
7632
|
} = payload;
|
|
7302
7633
|
try {
|
|
7303
7634
|
yield put(snackbarActions.openSnackbar({
|
|
7304
|
-
message: getSnackbarMessage
|
|
7635
|
+
message: getSnackbarMessage(action, title)
|
|
7305
7636
|
}));
|
|
7306
7637
|
const activeMapPresetId = yield select(getViewPresetActiveId, panelId);
|
|
7307
7638
|
// if active preset has been deleted, select the empty new preset
|
|
@@ -7317,7 +7648,7 @@ function* onSuccessViewPresetActionSaga({
|
|
|
7317
7648
|
const viewPresetSearchQuery = yield select(getViewPresetListSearchQueryForView, panelId);
|
|
7318
7649
|
yield call$g(fetchViewPresetsSaga, viewPresetActions.fetchViewPresets({
|
|
7319
7650
|
panelId,
|
|
7320
|
-
filterParams: constructFilterParams
|
|
7651
|
+
filterParams: constructFilterParams(viewPresetFilters, viewPresetSearchQuery)
|
|
7321
7652
|
}));
|
|
7322
7653
|
if (action !== PresetAction.EDIT) {
|
|
7323
7654
|
yield put(viewPresetActions.setViewPresetHasChanges({
|
|
@@ -7370,159 +7701,77 @@ const workspaceModuleConfig = {
|
|
|
7370
7701
|
sagas: [workspaceSaga, rootSaga$1, rootSaga]
|
|
7371
7702
|
};
|
|
7372
7703
|
|
|
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
|
|
7704
|
+
/******************************************************************************
|
|
7705
|
+
Copyright (c) Microsoft Corporation.
|
|
7706
|
+
|
|
7707
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
7708
|
+
purpose with or without fee is hereby granted.
|
|
7709
|
+
|
|
7710
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
7711
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
7712
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
7713
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
7714
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
7715
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
7716
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
7717
|
+
***************************************************************************** */
|
|
7718
|
+
|
|
7719
|
+
function __rest(s, e) {
|
|
7720
|
+
var t = {};
|
|
7721
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
7722
|
+
t[p] = s[p];
|
|
7723
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7724
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7725
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
7726
|
+
t[p[i]] = s[p[i]];
|
|
7727
|
+
}
|
|
7728
|
+
return t;
|
|
7729
|
+
}
|
|
7730
|
+
|
|
7731
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
7732
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
7733
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7734
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7735
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7736
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7737
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
7738
|
+
});
|
|
7739
|
+
}
|
|
7740
|
+
|
|
7741
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
7742
|
+
var e = new Error(message);
|
|
7743
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
7484
7744
|
};
|
|
7485
7745
|
|
|
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
|
|
7746
|
+
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
7747
|
+
const devToolsStateSanitizer = {
|
|
7748
|
+
stateSanitizer: state => {
|
|
7749
|
+
return produce(state, draftState => {
|
|
7750
|
+
// @ts-ignore
|
|
7751
|
+
if (state['services']) {
|
|
7752
|
+
// @ts-ignore
|
|
7753
|
+
Object.values(state['services'].byId).forEach(service => {
|
|
7754
|
+
// @ts-ignore
|
|
7755
|
+
draftState['services'].byId[service.id].layers =
|
|
7756
|
+
// @ts-ignore
|
|
7757
|
+
service.layers.length;
|
|
7758
|
+
});
|
|
7522
7759
|
}
|
|
7523
|
-
}
|
|
7524
|
-
}
|
|
7760
|
+
});
|
|
7761
|
+
}
|
|
7525
7762
|
};
|
|
7763
|
+
const store = createStore({
|
|
7764
|
+
extensions: [getSagaExtension({})],
|
|
7765
|
+
defaultMiddlewareOptions: {
|
|
7766
|
+
serializableCheck: {
|
|
7767
|
+
warnAfter: 128
|
|
7768
|
+
},
|
|
7769
|
+
immutableCheck: {
|
|
7770
|
+
warnAfter: 128
|
|
7771
|
+
}
|
|
7772
|
+
},
|
|
7773
|
+
devTools: devToolsStateSanitizer
|
|
7774
|
+
});
|
|
7526
7775
|
|
|
7527
7776
|
const WorkspaceThemeProvider = ({
|
|
7528
7777
|
children,
|
|
@@ -7536,6 +7785,10 @@ const WorkspaceWrapperProvider = withEggs([...coreModuleConfig, timeSeriesModule
|
|
|
7536
7785
|
}) => ( /*#__PURE__*/React__default.createElement(WorkspaceThemeProvider, {
|
|
7537
7786
|
theme: theme
|
|
7538
7787
|
}, children)));
|
|
7788
|
+
const DemoWrapper = _a => {
|
|
7789
|
+
var props = __rest(_a, []);
|
|
7790
|
+
return /*#__PURE__*/React__default.createElement(WorkspaceI18nProvider, null, /*#__PURE__*/React__default.createElement(WorkspaceThemeProvider, Object.assign({}, props)));
|
|
7791
|
+
};
|
|
7539
7792
|
const defaultAuthConfig = {
|
|
7540
7793
|
isLoggedIn: true,
|
|
7541
7794
|
auth: {
|
|
@@ -7563,24 +7816,9 @@ const WorkspaceWrapperProviderWithStore = ({
|
|
|
7563
7816
|
}, /*#__PURE__*/React__default.createElement(WorkspaceWrapperProvider, {
|
|
7564
7817
|
theme: theme
|
|
7565
7818
|
}, /*#__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
7819
|
const WorkspaceI18nProvider = ({
|
|
7581
7820
|
children
|
|
7582
7821
|
}) => {
|
|
7583
|
-
initWorkspaceTestI18n();
|
|
7584
7822
|
return /*#__PURE__*/React__default.createElement(I18nextProvider, {
|
|
7585
7823
|
i18n: i18n
|
|
7586
7824
|
}, children);
|
|
@@ -7617,48 +7855,6 @@ const WorkspaceModuleProvider = ({
|
|
|
7617
7855
|
}, children);
|
|
7618
7856
|
};
|
|
7619
7857
|
|
|
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
7858
|
// takes a component and connects module methods with workspace store
|
|
7663
7859
|
const ComponentsLookUpWrapper = _a => {
|
|
7664
7860
|
var {
|
|
@@ -7809,6 +8005,9 @@ const WorkspaceControls = ({
|
|
|
7809
8005
|
const {
|
|
7810
8006
|
mosaicActions: actions
|
|
7811
8007
|
} = React.useContext(MosaicContext);
|
|
8008
|
+
const {
|
|
8009
|
+
t
|
|
8010
|
+
} = useWorkspaceTranslation();
|
|
7812
8011
|
const mosaicNode = useSelector(store => getMosaicNode(store));
|
|
7813
8012
|
const [stateAfterExpand, setStateAfterExpand] = React.useState();
|
|
7814
8013
|
const [stateBeforeExpand, setStateBeforeExpand] = React.useState(mosaicNode);
|
|
@@ -7828,9 +8027,9 @@ const WorkspaceControls = ({
|
|
|
7828
8027
|
const onClose = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
7829
8028
|
if (_shouldPreventCloseView) {
|
|
7830
8029
|
yield confirmDialog({
|
|
7831
|
-
title: '
|
|
7832
|
-
description: '
|
|
7833
|
-
confirmLabel: '
|
|
8030
|
+
title: t('workspace-control-close-message-title'),
|
|
8031
|
+
description: t('workspace-control-close-message-description'),
|
|
8032
|
+
confirmLabel: t('workspace-control-close')
|
|
7834
8033
|
});
|
|
7835
8034
|
actions.remove(path);
|
|
7836
8035
|
} else {
|
|
@@ -7849,7 +8048,7 @@ const WorkspaceControls = ({
|
|
|
7849
8048
|
second: newNode
|
|
7850
8049
|
});
|
|
7851
8050
|
},
|
|
7852
|
-
tooltipTitle:
|
|
8051
|
+
tooltipTitle: t('workspace-control-split-horizontal')
|
|
7853
8052
|
}, /*#__PURE__*/React.createElement(SplitVertical, null)), /*#__PURE__*/React.createElement(CustomIconButton, {
|
|
7854
8053
|
"data-testid": "split-vertical-btn",
|
|
7855
8054
|
sx: buttonStyle,
|
|
@@ -7862,7 +8061,7 @@ const WorkspaceControls = ({
|
|
|
7862
8061
|
second: newNode
|
|
7863
8062
|
});
|
|
7864
8063
|
},
|
|
7865
|
-
tooltipTitle:
|
|
8064
|
+
tooltipTitle: t('workspace-control-split-vertical')
|
|
7866
8065
|
}, /*#__PURE__*/React.createElement(SplitHorizontal, null)), !enableUnexpand || isString(mosaicNode) ? ( /*#__PURE__*/React.createElement(CustomIconButton, {
|
|
7867
8066
|
"data-testid": "expand-btn",
|
|
7868
8067
|
sx: buttonStyle,
|
|
@@ -7871,7 +8070,7 @@ const WorkspaceControls = ({
|
|
|
7871
8070
|
setEnableUnexpand(true);
|
|
7872
8071
|
actions.expand(path, 70);
|
|
7873
8072
|
},
|
|
7874
|
-
tooltipTitle:
|
|
8073
|
+
tooltipTitle: t('workspace-control-expand')
|
|
7875
8074
|
}, /*#__PURE__*/React.createElement(Expand, null))) : ( /*#__PURE__*/React.createElement(CustomIconButton, {
|
|
7876
8075
|
"data-testid": "unexpand-btn",
|
|
7877
8076
|
sx: buttonStyle,
|
|
@@ -7879,12 +8078,12 @@ const WorkspaceControls = ({
|
|
|
7879
8078
|
const stateBeforeExpandCopy = isString(stateBeforeExpand) ? stateBeforeExpand : Object.assign({}, stateBeforeExpand);
|
|
7880
8079
|
actions.replaceWith([], stateBeforeExpandCopy);
|
|
7881
8080
|
},
|
|
7882
|
-
tooltipTitle:
|
|
8081
|
+
tooltipTitle: t('workspace-control-unexpand')
|
|
7883
8082
|
}, /*#__PURE__*/React.createElement(UnExpand, null))), /*#__PURE__*/React.createElement(CustomIconButton, {
|
|
7884
8083
|
"data-testid": "close-btn",
|
|
7885
8084
|
sx: buttonStyle,
|
|
7886
8085
|
onClick: onClose,
|
|
7887
|
-
tooltipTitle:
|
|
8086
|
+
tooltipTitle: t('workspace-control-close'),
|
|
7888
8087
|
id: "close-window-button"
|
|
7889
8088
|
}, /*#__PURE__*/React.createElement(Close, null)));
|
|
7890
8089
|
};
|
|
@@ -7910,7 +8109,7 @@ const ViewLoading = ({
|
|
|
7910
8109
|
}) => {
|
|
7911
8110
|
const {
|
|
7912
8111
|
t
|
|
7913
|
-
} =
|
|
8112
|
+
} = useWorkspaceTranslation();
|
|
7914
8113
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LinearProgress, {
|
|
7915
8114
|
"data-testid": "loading-bar",
|
|
7916
8115
|
color: "secondary",
|
|
@@ -7930,6 +8129,9 @@ const ViewError = ({
|
|
|
7930
8129
|
mosaicNodeId
|
|
7931
8130
|
}) => {
|
|
7932
8131
|
const dispatch = useDispatch();
|
|
8132
|
+
const {
|
|
8133
|
+
t
|
|
8134
|
+
} = useWorkspaceTranslation();
|
|
7933
8135
|
const fetchWorkspaceViewPreset = React.useCallback(() => {
|
|
7934
8136
|
dispatch(workspaceActions.fetchWorkspaceViewPreset({
|
|
7935
8137
|
viewPresetId,
|
|
@@ -7937,10 +8139,12 @@ const ViewError = ({
|
|
|
7937
8139
|
}));
|
|
7938
8140
|
}, [dispatch, viewPresetId, mosaicNodeId]);
|
|
7939
8141
|
return /*#__PURE__*/React.createElement(AlertBanner, {
|
|
7940
|
-
title:
|
|
8142
|
+
title: t('workspace-viewpresets-fail-fetch', {
|
|
8143
|
+
VIEWPRESET_ID: viewPresetId
|
|
8144
|
+
}),
|
|
7941
8145
|
shouldClose: true,
|
|
7942
8146
|
actionButtonProps: {
|
|
7943
|
-
title: '
|
|
8147
|
+
title: t('workspace-retry'),
|
|
7944
8148
|
onClick: fetchWorkspaceViewPreset
|
|
7945
8149
|
}
|
|
7946
8150
|
});
|
|
@@ -8064,18 +8268,21 @@ const WorkspaceSelectListRow = ({
|
|
|
8064
8268
|
searchQuery: _searchQuery = '',
|
|
8065
8269
|
testIdPrefix: _testIdPrefix = 'workspace'
|
|
8066
8270
|
}) => {
|
|
8271
|
+
const {
|
|
8272
|
+
t
|
|
8273
|
+
} = useWorkspaceTranslation();
|
|
8067
8274
|
const onDuplicate = () => {
|
|
8068
8275
|
onClickWorkspacePresetOption(workspacePreset.id, WorkspacePresetAction.DUPLICATE, workspacePreset);
|
|
8069
8276
|
};
|
|
8070
8277
|
const onEdit = () => {
|
|
8071
8278
|
onClickWorkspacePresetOption(workspacePreset.id, WorkspacePresetAction.EDIT, workspacePreset);
|
|
8072
8279
|
};
|
|
8073
|
-
const editTitle = _testIdPrefix === 'viewpreset' ? '
|
|
8280
|
+
const editTitle = _testIdPrefix === 'viewpreset' ? 'workspace-edit' : 'workspace-edit-both';
|
|
8074
8281
|
const menuItems = [{
|
|
8075
|
-
text: '
|
|
8282
|
+
text: t('workspace-duplicate'),
|
|
8076
8283
|
action: onDuplicate
|
|
8077
8284
|
}, ...(workspacePreset.scope === 'user' ? [{
|
|
8078
|
-
text: editTitle,
|
|
8285
|
+
text: t(editTitle),
|
|
8079
8286
|
action: onEdit
|
|
8080
8287
|
}] : [])];
|
|
8081
8288
|
return /*#__PURE__*/React__default.createElement(ListItem, {
|
|
@@ -8136,10 +8343,10 @@ const WorkspaceSelectListRow = ({
|
|
|
8136
8343
|
buttonTestId: `${_testIdPrefix}-listOptionsButton`,
|
|
8137
8344
|
menuPosition: "right",
|
|
8138
8345
|
menuItems: menuItems,
|
|
8139
|
-
menuTitle:
|
|
8346
|
+
menuTitle: t('workspace-options'),
|
|
8140
8347
|
isDefaultOpen: _isOptionsMenuOpen
|
|
8141
8348
|
}), workspacePreset.scope === 'user' && ( /*#__PURE__*/React__default.createElement(CustomIconButton, {
|
|
8142
|
-
tooltipTitle:
|
|
8349
|
+
tooltipTitle: t('workspace-delete-tooltip'),
|
|
8143
8350
|
onClick: event => {
|
|
8144
8351
|
event.stopPropagation();
|
|
8145
8352
|
onClickWorkspacePresetOption(workspacePreset.id, WorkspacePresetAction.DELETE, workspacePreset);
|
|
@@ -8214,7 +8421,7 @@ const FilterList = ({
|
|
|
8214
8421
|
}) => {
|
|
8215
8422
|
const {
|
|
8216
8423
|
t
|
|
8217
|
-
} =
|
|
8424
|
+
} = useWorkspaceTranslation();
|
|
8218
8425
|
return /*#__PURE__*/React.createElement(Stack, {
|
|
8219
8426
|
direction: "row",
|
|
8220
8427
|
spacing: 1,
|
|
@@ -8263,7 +8470,7 @@ const SearchField = ({
|
|
|
8263
8470
|
const [localValue, setLocalValue] = React.useState(_value);
|
|
8264
8471
|
const {
|
|
8265
8472
|
t
|
|
8266
|
-
} =
|
|
8473
|
+
} = useWorkspaceTranslation();
|
|
8267
8474
|
const label = t('workspace-search');
|
|
8268
8475
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
8269
8476
|
const handleValueChangeDebounced = React.useCallback(debounce$1(valueChanged, DEBOUNCE_TIMEOUT), []);
|
|
@@ -8338,13 +8545,6 @@ const WorkspaceFilter = ({
|
|
|
8338
8545
|
})));
|
|
8339
8546
|
};
|
|
8340
8547
|
|
|
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
8548
|
const MIN_HEIGHT_SCROLLABLE_LIST = 88; // Slightly less than 2 rows
|
|
8349
8549
|
const LIST_PADDING_TOP = 8;
|
|
8350
8550
|
const DEFAULT_RESULTS_HEIGHT = 22;
|
|
@@ -8358,12 +8558,12 @@ const WorkspaceSelectList = ({
|
|
|
8358
8558
|
hideNewWorkspace,
|
|
8359
8559
|
isLoggedIn,
|
|
8360
8560
|
searchQuery,
|
|
8361
|
-
newPreset: _newPreset =
|
|
8561
|
+
newPreset: _newPreset = getEmptyWorkspaceListItem(),
|
|
8362
8562
|
testIdPrefix: _testIdPrefix = 'workspace'
|
|
8363
8563
|
}) => {
|
|
8364
8564
|
const {
|
|
8365
8565
|
t
|
|
8366
|
-
} =
|
|
8566
|
+
} = useWorkspaceTranslation();
|
|
8367
8567
|
const items = React.useMemo(() => !hideNewWorkspace ? [_newPreset, ...workspacePresets] : workspacePresets, [hideNewWorkspace, _newPreset, workspacePresets]);
|
|
8368
8568
|
return /*#__PURE__*/React.createElement(Box, {
|
|
8369
8569
|
"data-testid": `${_testIdPrefix}-selectList`,
|
|
@@ -8408,11 +8608,12 @@ const WorkspaceSelectList = ({
|
|
|
8408
8608
|
})))));
|
|
8409
8609
|
};
|
|
8410
8610
|
|
|
8411
|
-
const ERROR_TITLE = 'View presets not available';
|
|
8412
|
-
const ERROR_RETRY = 'Try again';
|
|
8413
8611
|
const ViewPresetMenuListConnect = ({
|
|
8414
8612
|
panelId
|
|
8415
8613
|
}) => {
|
|
8614
|
+
const {
|
|
8615
|
+
t
|
|
8616
|
+
} = useWorkspaceTranslation();
|
|
8416
8617
|
const viewPresets = useSelector(store => getFilteredViewPresetListForView(store, panelId));
|
|
8417
8618
|
const activeViewPresetId = useSelector(store => getViewPresetActiveId(store, panelId));
|
|
8418
8619
|
const currentMapPreset = useSelector(store => mapSelectors.getMapPreset(store, panelId));
|
|
@@ -8448,7 +8649,7 @@ const ViewPresetMenuListConnect = ({
|
|
|
8448
8649
|
}));
|
|
8449
8650
|
}, [dispatch, panelId]);
|
|
8450
8651
|
const fetchViewPresets = React.useCallback(() => {
|
|
8451
|
-
const filterParams = constructFilterParams
|
|
8652
|
+
const filterParams = constructFilterParams(viewPresetListFilters, viewPresetListSearchQuery);
|
|
8452
8653
|
dispatch(viewPresetActions.fetchViewPresets({
|
|
8453
8654
|
panelId,
|
|
8454
8655
|
filterParams
|
|
@@ -8459,7 +8660,7 @@ const ViewPresetMenuListConnect = ({
|
|
|
8459
8660
|
case WorkspacePresetAction.DUPLICATE:
|
|
8460
8661
|
{
|
|
8461
8662
|
openViewPresetsDialog({
|
|
8462
|
-
title:
|
|
8663
|
+
title: t('workspace-mappreset-save-as'),
|
|
8463
8664
|
action: PresetAction.SAVE_AS,
|
|
8464
8665
|
viewPresetId: presetId,
|
|
8465
8666
|
panelId,
|
|
@@ -8477,7 +8678,7 @@ const ViewPresetMenuListConnect = ({
|
|
|
8477
8678
|
{
|
|
8478
8679
|
const presetTitle = (preset === null || preset === void 0 ? void 0 : preset.title) || '';
|
|
8479
8680
|
openViewPresetsDialog({
|
|
8480
|
-
title:
|
|
8681
|
+
title: t('workspace-mappreset-dialog-title-edit'),
|
|
8481
8682
|
action: PresetAction.EDIT,
|
|
8482
8683
|
panelId,
|
|
8483
8684
|
viewPresetId: presetId,
|
|
@@ -8493,7 +8694,7 @@ const ViewPresetMenuListConnect = ({
|
|
|
8493
8694
|
case WorkspacePresetAction.DELETE:
|
|
8494
8695
|
{
|
|
8495
8696
|
openViewPresetsDialog({
|
|
8496
|
-
title:
|
|
8697
|
+
title: t('workspace-mappreset-dialog-title-delete'),
|
|
8497
8698
|
action: PresetAction.DELETE,
|
|
8498
8699
|
viewPresetId: presetId,
|
|
8499
8700
|
panelId,
|
|
@@ -8548,9 +8749,9 @@ const ViewPresetMenuListConnect = ({
|
|
|
8548
8749
|
top: 0
|
|
8549
8750
|
}
|
|
8550
8751
|
})), !isViewPresetsListFetching && errorViewPresetsList && ( /*#__PURE__*/React.createElement(AlertBanner, {
|
|
8551
|
-
title:
|
|
8752
|
+
title: t('workspace-viewpresets-error'),
|
|
8552
8753
|
actionButtonProps: {
|
|
8553
|
-
title:
|
|
8754
|
+
title: t('workspace-retry'),
|
|
8554
8755
|
onClick: fetchViewPresets
|
|
8555
8756
|
}
|
|
8556
8757
|
})), /*#__PURE__*/React.createElement(Box, {
|
|
@@ -8569,9 +8770,8 @@ const ViewPresetMenuListConnect = ({
|
|
|
8569
8770
|
currentSelectedId: activeViewPresetId || undefined,
|
|
8570
8771
|
onClickPreset: selectViewPreset,
|
|
8571
8772
|
onClickWorkspacePresetOption: onClickViewPresetOption,
|
|
8572
|
-
newPreset: Object.assign(Object.assign({},
|
|
8573
|
-
|
|
8574
|
-
title: MAPPRESET_ACTIVE_TITLE
|
|
8773
|
+
newPreset: Object.assign(Object.assign({}, getEmptyWorkspaceListItem()), {
|
|
8774
|
+
title: t('workspace-mappreset-new')
|
|
8575
8775
|
}),
|
|
8576
8776
|
isLoggedIn: isLoggedIn,
|
|
8577
8777
|
hideNewWorkspace: shouldHideNewWorkspace,
|
|
@@ -8596,12 +8796,14 @@ const ViewPresetMenuListConnect = ({
|
|
|
8596
8796
|
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
8597
8797
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
8598
8798
|
* */
|
|
8599
|
-
const DIALOG_TITLE = 'View presets menu';
|
|
8600
8799
|
const ViewPresetMenu = ({
|
|
8601
8800
|
hideBackdrop: _hideBackdrop = false,
|
|
8602
8801
|
closeMenu,
|
|
8603
8802
|
panelId
|
|
8604
8803
|
}) => {
|
|
8804
|
+
const {
|
|
8805
|
+
t
|
|
8806
|
+
} = useWorkspaceTranslation();
|
|
8605
8807
|
const toolContainer = /*#__PURE__*/React__default.createElement(ToolContainer, {
|
|
8606
8808
|
style: {
|
|
8607
8809
|
width: 320,
|
|
@@ -8609,7 +8811,7 @@ const ViewPresetMenu = ({
|
|
|
8609
8811
|
position: 'absolute',
|
|
8610
8812
|
top: '16px'
|
|
8611
8813
|
},
|
|
8612
|
-
title:
|
|
8814
|
+
title: t('workspace-viewpreset-menu'),
|
|
8613
8815
|
onClose: closeMenu,
|
|
8614
8816
|
onClick: event => {
|
|
8615
8817
|
event.stopPropagation();
|
|
@@ -8649,7 +8851,7 @@ const WorkspaceOptionsNoMemo = ({
|
|
|
8649
8851
|
}) => {
|
|
8650
8852
|
const {
|
|
8651
8853
|
t
|
|
8652
|
-
} =
|
|
8854
|
+
} = useWorkspaceTranslation();
|
|
8653
8855
|
const [anchorEl, setAnchorEl] = React.useState(null);
|
|
8654
8856
|
const isOpen = Boolean(anchorEl);
|
|
8655
8857
|
const handleClick = event => {
|
|
@@ -8737,8 +8939,7 @@ const WorkspaceOptionsNoMemo = ({
|
|
|
8737
8939
|
},
|
|
8738
8940
|
sx: {
|
|
8739
8941
|
'& .MuiMenu-list': {
|
|
8740
|
-
padding: 0
|
|
8741
|
-
width: 200
|
|
8942
|
+
padding: 0
|
|
8742
8943
|
},
|
|
8743
8944
|
'& .MuiMenuItem-root': {
|
|
8744
8945
|
fontSize: 16
|
|
@@ -8800,18 +9001,6 @@ const LoadingIndicatorConnect = ({
|
|
|
8800
9001
|
}));
|
|
8801
9002
|
};
|
|
8802
9003
|
|
|
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
9004
|
const customIconStyles = (theme, isViewPresetDialogOpen) => {
|
|
8816
9005
|
return {
|
|
8817
9006
|
marginLeft: -1,
|
|
@@ -8834,6 +9023,9 @@ const WorkspaceViewTitleConnectNoMemo = ({
|
|
|
8834
9023
|
const dispatch = useDispatch();
|
|
8835
9024
|
const theme = useTheme();
|
|
8836
9025
|
const store = useStore();
|
|
9026
|
+
const {
|
|
9027
|
+
t
|
|
9028
|
+
} = useWorkspaceTranslation();
|
|
8837
9029
|
const workspaceView = useSelector(store => {
|
|
8838
9030
|
var _a;
|
|
8839
9031
|
const {
|
|
@@ -8848,8 +9040,15 @@ const WorkspaceViewTitleConnectNoMemo = ({
|
|
|
8848
9040
|
const hasMapPresetChanges = useSelector(store => getViewPresetHasChanges(store, panelId));
|
|
8849
9041
|
const activeMapPresetId = useSelector(store => getViewPresetActiveId(store, panelId));
|
|
8850
9042
|
const relatedSyncGroupIds = useSelector(store => syncGroupsSelectors.getAllTargetGroupsForSource(store, panelId));
|
|
9043
|
+
const getPresetTitle = (title, hasChanges, isNew) => {
|
|
9044
|
+
if (!hasChanges) {
|
|
9045
|
+
return title;
|
|
9046
|
+
}
|
|
9047
|
+
const suffix = isNew ? t('workspace-modified-existing') : t('workspace-modified-new');
|
|
9048
|
+
return `${title} (${suffix})`;
|
|
9049
|
+
};
|
|
8851
9050
|
const isNewActive = activeMapPresetId === '';
|
|
8852
|
-
const title = workspaceView.title ||
|
|
9051
|
+
const title = workspaceView.title || t('workspace-mappreset-new');
|
|
8853
9052
|
const viewScope = workspaceView.scope;
|
|
8854
9053
|
const fullTitle = getPresetTitle(title, hasMapPresetChanges, isNewActive);
|
|
8855
9054
|
const openViewPresetsDialog = React.useCallback(viewPresetDialogOptions => {
|
|
@@ -8872,7 +9071,7 @@ const WorkspaceViewTitleConnectNoMemo = ({
|
|
|
8872
9071
|
}, [activeMapPresetId, dispatch, panelId, relatedSyncGroupIds, store, title]);
|
|
8873
9072
|
const onDelete = React.useCallback(() => {
|
|
8874
9073
|
openViewPresetsDialog({
|
|
8875
|
-
title:
|
|
9074
|
+
title: t('workspace-mappreset-dialog-title-delete'),
|
|
8876
9075
|
action: PresetAction.DELETE,
|
|
8877
9076
|
viewPresetId: activeMapPresetId,
|
|
8878
9077
|
panelId,
|
|
@@ -8880,11 +9079,11 @@ const WorkspaceViewTitleConnectNoMemo = ({
|
|
|
8880
9079
|
title
|
|
8881
9080
|
}
|
|
8882
9081
|
});
|
|
8883
|
-
}, [activeMapPresetId, openViewPresetsDialog, panelId, title]);
|
|
9082
|
+
}, [activeMapPresetId, openViewPresetsDialog, panelId, title, t]);
|
|
8884
9083
|
const onSaveAs = React.useCallback(() => {
|
|
8885
9084
|
const formTitle = activeMapPresetId ? title : '';
|
|
8886
9085
|
openViewPresetsDialog({
|
|
8887
|
-
title:
|
|
9086
|
+
title: t('workspace-mappreset-save-as'),
|
|
8888
9087
|
action: PresetAction.SAVE_AS,
|
|
8889
9088
|
viewPresetId: activeMapPresetId,
|
|
8890
9089
|
panelId,
|
|
@@ -8896,11 +9095,11 @@ const WorkspaceViewTitleConnectNoMemo = ({
|
|
|
8896
9095
|
}
|
|
8897
9096
|
}
|
|
8898
9097
|
});
|
|
8899
|
-
}, [activeMapPresetId, openViewPresetsDialog, panelId, relatedSyncGroupIds, store, title]);
|
|
9098
|
+
}, [activeMapPresetId, openViewPresetsDialog, panelId, relatedSyncGroupIds, store, title, t]);
|
|
8900
9099
|
const onEdit = React.useCallback(() => {
|
|
8901
9100
|
const formTitle = activeMapPresetId ? title : '';
|
|
8902
9101
|
openViewPresetsDialog({
|
|
8903
|
-
title:
|
|
9102
|
+
title: t('workspace-mappreset-dialog-title-edit'),
|
|
8904
9103
|
action: PresetAction.EDIT,
|
|
8905
9104
|
panelId,
|
|
8906
9105
|
viewPresetId: activeMapPresetId,
|
|
@@ -8912,7 +9111,7 @@ const WorkspaceViewTitleConnectNoMemo = ({
|
|
|
8912
9111
|
}
|
|
8913
9112
|
}
|
|
8914
9113
|
});
|
|
8915
|
-
}, [activeMapPresetId, openViewPresetsDialog, panelId, relatedSyncGroupIds, store, title]);
|
|
9114
|
+
}, [activeMapPresetId, openViewPresetsDialog, panelId, relatedSyncGroupIds, store, title, t]);
|
|
8916
9115
|
const toggleViewPresetDialog = React.useCallback(({
|
|
8917
9116
|
panelId,
|
|
8918
9117
|
isViewPresetDialogOpen
|
|
@@ -8936,7 +9135,7 @@ const WorkspaceViewTitleConnectNoMemo = ({
|
|
|
8936
9135
|
sx: style,
|
|
8937
9136
|
variant: "tool",
|
|
8938
9137
|
onClick: onClickOpenViewPreset,
|
|
8939
|
-
tooltipTitle:
|
|
9138
|
+
tooltipTitle: t('workspace-viewpreset-menu'),
|
|
8940
9139
|
isSelected: isViewPresetDialogOpen
|
|
8941
9140
|
}, presetIcon), /*#__PURE__*/React.createElement(WorkspaceOptions, {
|
|
8942
9141
|
panelId: panelId,
|
|
@@ -9109,7 +9308,7 @@ const WorkspaceView = ({
|
|
|
9109
9308
|
}) => {
|
|
9110
9309
|
const {
|
|
9111
9310
|
t
|
|
9112
|
-
} =
|
|
9311
|
+
} = useWorkspaceTranslation();
|
|
9113
9312
|
const EmptyView = !_isWorkspaceLoading && ( /*#__PURE__*/React.createElement(Box, {
|
|
9114
9313
|
sx: {
|
|
9115
9314
|
backgroundColor: 'geowebColors.background.surface',
|
|
@@ -9295,7 +9494,7 @@ const WorkspaceSelectListConnect = () => {
|
|
|
9295
9494
|
} = useAuthenticationContext();
|
|
9296
9495
|
const dispatch = useDispatch();
|
|
9297
9496
|
const fetchWorkspaceList = React.useCallback(() => {
|
|
9298
|
-
const filterParams = constructFilterParams(workspaceListFilters, workspaceSearchQuery);
|
|
9497
|
+
const filterParams = constructFilterParams$1(workspaceListFilters, workspaceSearchQuery);
|
|
9299
9498
|
dispatch(workspaceListActions.fetchWorkspaceList(filterParams));
|
|
9300
9499
|
}, [dispatch, workspaceListFilters, workspaceSearchQuery]);
|
|
9301
9500
|
const fetchWorkspace = React.useCallback(workspaceId => {
|
|
@@ -9402,6 +9601,9 @@ const WorkspaceSelectListConnect = () => {
|
|
|
9402
9601
|
};
|
|
9403
9602
|
const isAllSelected = workspaceListFilters.every(filter => filter.isSelected);
|
|
9404
9603
|
const shouldHideNewWorkspace = !isAllSelected || workspaceSearchQuery.length > 0;
|
|
9604
|
+
const {
|
|
9605
|
+
t
|
|
9606
|
+
} = useWorkspaceTranslation();
|
|
9405
9607
|
return /*#__PURE__*/React.createElement("div", {
|
|
9406
9608
|
"data-testid": "workspace-selectlist-connect",
|
|
9407
9609
|
style: {
|
|
@@ -9421,12 +9623,12 @@ const WorkspaceSelectListConnect = () => {
|
|
|
9421
9623
|
whiteSpace: 'normal'
|
|
9422
9624
|
}
|
|
9423
9625
|
}, /*#__PURE__*/React.createElement(AlertBanner, Object.assign({
|
|
9424
|
-
title:
|
|
9626
|
+
title: t('workspace-error-fetch'),
|
|
9425
9627
|
info: error.message,
|
|
9426
9628
|
shouldClose: true
|
|
9427
9629
|
}, error.type === WorkspaceListErrorType.GENERIC && {
|
|
9428
9630
|
actionButtonProps: {
|
|
9429
|
-
title: '
|
|
9631
|
+
title: t('workspace-retry'),
|
|
9430
9632
|
onClick: () => fetchWorkspaceList()
|
|
9431
9633
|
}
|
|
9432
9634
|
})))), /*#__PURE__*/React.createElement(Box, {
|
|
@@ -9473,7 +9675,7 @@ const WorkspaceMenu = ({
|
|
|
9473
9675
|
}) => {
|
|
9474
9676
|
const {
|
|
9475
9677
|
t
|
|
9476
|
-
} =
|
|
9678
|
+
} = useWorkspaceTranslation();
|
|
9477
9679
|
const toolContainer = /*#__PURE__*/React__default.createElement(ToolContainer, {
|
|
9478
9680
|
style: {
|
|
9479
9681
|
width: 320,
|
|
@@ -9526,7 +9728,7 @@ const WorkspaceMenuButton = ({
|
|
|
9526
9728
|
};
|
|
9527
9729
|
const {
|
|
9528
9730
|
t
|
|
9529
|
-
} =
|
|
9731
|
+
} = useWorkspaceTranslation();
|
|
9530
9732
|
const tooltipTitle = t('workspace-menu');
|
|
9531
9733
|
return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Box, {
|
|
9532
9734
|
sx: {
|
|
@@ -9599,21 +9801,15 @@ const WorkspaceMenuButtonConnect = () => {
|
|
|
9599
9801
|
}));
|
|
9600
9802
|
};
|
|
9601
9803
|
|
|
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
9804
|
const WorkspaceOptionsConnect = ({
|
|
9612
9805
|
title,
|
|
9613
9806
|
activeTab,
|
|
9614
9807
|
workspaceId
|
|
9615
9808
|
}) => {
|
|
9616
9809
|
const dispatch = useDispatch();
|
|
9810
|
+
const {
|
|
9811
|
+
t
|
|
9812
|
+
} = useWorkspaceTranslation();
|
|
9617
9813
|
const {
|
|
9618
9814
|
isLoggedIn
|
|
9619
9815
|
} = useAuthenticationContext();
|
|
@@ -9661,6 +9857,13 @@ const WorkspaceOptionsConnect = ({
|
|
|
9661
9857
|
formValues: Object.assign({}, workspaceData)
|
|
9662
9858
|
});
|
|
9663
9859
|
};
|
|
9860
|
+
const getTitle = (title, hasChanges, workspaceId) => {
|
|
9861
|
+
if (!hasChanges) {
|
|
9862
|
+
return title;
|
|
9863
|
+
}
|
|
9864
|
+
const suffix = workspaceId ? t('workspace-modified-new') : t('workspace-modified-existing');
|
|
9865
|
+
return `${title} (${suffix})`;
|
|
9866
|
+
};
|
|
9664
9867
|
const fullTitle = getTitle(title, hasChanges, workspaceId);
|
|
9665
9868
|
return /*#__PURE__*/React.createElement(WorkspaceOptions, {
|
|
9666
9869
|
hasChanges: hasChanges,
|
|
@@ -9727,6 +9930,9 @@ const WorkspacePresetsForm = ({
|
|
|
9727
9930
|
action,
|
|
9728
9931
|
formValues
|
|
9729
9932
|
}) => {
|
|
9933
|
+
const {
|
|
9934
|
+
t
|
|
9935
|
+
} = useWorkspaceTranslation();
|
|
9730
9936
|
const titleField = 'title';
|
|
9731
9937
|
const _a = Object.assign(Object.assign({}, emptyWorkspacePreset), formValues),
|
|
9732
9938
|
{
|
|
@@ -9765,7 +9971,7 @@ const WorkspacePresetsForm = ({
|
|
|
9765
9971
|
}
|
|
9766
9972
|
}, /*#__PURE__*/React__default.createElement(ReactHookFormTextField, {
|
|
9767
9973
|
name: "title",
|
|
9768
|
-
label:
|
|
9974
|
+
label: t('workspace-dialog-name'),
|
|
9769
9975
|
rules: {
|
|
9770
9976
|
required: true,
|
|
9771
9977
|
validate: {
|
|
@@ -9776,7 +9982,7 @@ const WorkspacePresetsForm = ({
|
|
|
9776
9982
|
defaultValue: title
|
|
9777
9983
|
})), /*#__PURE__*/React__default.createElement(ReactHookFormTextField, {
|
|
9778
9984
|
name: "abstract",
|
|
9779
|
-
label:
|
|
9985
|
+
label: t('workspace-dialog-abstract'),
|
|
9780
9986
|
rules: {
|
|
9781
9987
|
required: false
|
|
9782
9988
|
},
|
|
@@ -9794,56 +10000,15 @@ const WorkspacePresetsForm = ({
|
|
|
9794
10000
|
"data-testid": name
|
|
9795
10001
|
}))))), action === WorkspacePresetAction.DELETE && ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Typography, {
|
|
9796
10002
|
variant: "body1"
|
|
9797
|
-
},
|
|
10003
|
+
}, t('workspace-dialog-confirm-delete-message', {
|
|
10004
|
+
TITLE: title
|
|
10005
|
+
})), /*#__PURE__*/React__default.createElement(ReactHookFormHiddenInput, {
|
|
9798
10006
|
key: "title",
|
|
9799
10007
|
name: "title",
|
|
9800
10008
|
defaultValue: title
|
|
9801
10009
|
}))));
|
|
9802
10010
|
};
|
|
9803
10011
|
|
|
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
10012
|
const WorkspacePresetsFormDialog = ({
|
|
9848
10013
|
isOpen,
|
|
9849
10014
|
action,
|
|
@@ -9858,10 +10023,49 @@ const WorkspacePresetsFormDialog = ({
|
|
|
9858
10023
|
handleSubmit: handleFormSubmit,
|
|
9859
10024
|
reset
|
|
9860
10025
|
} = useFormContext();
|
|
10026
|
+
const {
|
|
10027
|
+
t
|
|
10028
|
+
} = useWorkspaceTranslation();
|
|
9861
10029
|
React__default.useEffect(() => {
|
|
9862
10030
|
reset(formValues);
|
|
9863
10031
|
}, [formValues, reset]);
|
|
9864
|
-
const
|
|
10032
|
+
const getConfirmLabel = action => {
|
|
10033
|
+
switch (action) {
|
|
10034
|
+
case WorkspacePresetAction.DELETE:
|
|
10035
|
+
{
|
|
10036
|
+
return t('workspace-delete');
|
|
10037
|
+
}
|
|
10038
|
+
default:
|
|
10039
|
+
{
|
|
10040
|
+
return t('workspace-save');
|
|
10041
|
+
}
|
|
10042
|
+
}
|
|
10043
|
+
};
|
|
10044
|
+
const getDialogTitle = action => {
|
|
10045
|
+
switch (action) {
|
|
10046
|
+
case WorkspacePresetAction.DELETE:
|
|
10047
|
+
{
|
|
10048
|
+
return t('workspace-dialog-delete');
|
|
10049
|
+
}
|
|
10050
|
+
case WorkspacePresetAction.DUPLICATE:
|
|
10051
|
+
{
|
|
10052
|
+
return t('workspace-duplicate');
|
|
10053
|
+
}
|
|
10054
|
+
case WorkspacePresetAction.SAVE_ALL:
|
|
10055
|
+
{
|
|
10056
|
+
return t('workspace-save-incl-viewpresets');
|
|
10057
|
+
}
|
|
10058
|
+
case WorkspacePresetAction.EDIT:
|
|
10059
|
+
{
|
|
10060
|
+
return t('workspace-edit-both');
|
|
10061
|
+
}
|
|
10062
|
+
default:
|
|
10063
|
+
{
|
|
10064
|
+
return t('workspace-save-as');
|
|
10065
|
+
}
|
|
10066
|
+
}
|
|
10067
|
+
};
|
|
10068
|
+
const confirmLabel = getConfirmLabel(action);
|
|
9865
10069
|
const onSubmit = () => {
|
|
9866
10070
|
handleFormSubmit(newFormValues => {
|
|
9867
10071
|
const {
|
|
@@ -9878,12 +10082,13 @@ const WorkspacePresetsFormDialog = ({
|
|
|
9878
10082
|
onFormSubmit(action, presetId, parsedFormValues);
|
|
9879
10083
|
})();
|
|
9880
10084
|
};
|
|
10085
|
+
const cancelLabel = t('workspace-cancel');
|
|
9881
10086
|
return /*#__PURE__*/React__default.createElement(ConfirmationDialog, {
|
|
9882
10087
|
"data-testid": "workspace-preset-dialog",
|
|
9883
10088
|
title: getDialogTitle(action),
|
|
9884
10089
|
open: isOpen,
|
|
9885
10090
|
confirmLabel: confirmLabel,
|
|
9886
|
-
cancelLabel:
|
|
10091
|
+
cancelLabel: cancelLabel,
|
|
9887
10092
|
description: "",
|
|
9888
10093
|
onClose: onClose,
|
|
9889
10094
|
onSubmit: onSubmit,
|
|
@@ -9979,7 +10184,7 @@ const WorkspaceTabConnect = ({
|
|
|
9979
10184
|
const WorkspaceTopBar = ({
|
|
9980
10185
|
workspaceId
|
|
9981
10186
|
}) => {
|
|
9982
|
-
return /*#__PURE__*/React.createElement(
|
|
10187
|
+
return /*#__PURE__*/React.createElement(Tabs, {
|
|
9983
10188
|
value: 0,
|
|
9984
10189
|
"aria-label": "workspace-bar-tabs",
|
|
9985
10190
|
sx: {
|
|
@@ -9994,13 +10199,14 @@ const WorkspaceTopBar = ({
|
|
|
9994
10199
|
}
|
|
9995
10200
|
}, /*#__PURE__*/React.createElement(WorkspaceTabConnect, {
|
|
9996
10201
|
workspaceId: workspaceId
|
|
9997
|
-
}))
|
|
10202
|
+
}));
|
|
9998
10203
|
};
|
|
9999
10204
|
|
|
10000
10205
|
const validateTitle = value => {
|
|
10001
10206
|
if (!value) {
|
|
10002
10207
|
return true;
|
|
10003
10208
|
}
|
|
10209
|
+
// TODO: use translation from form-fields https://gitlab.com/opengeoweb/opengeoweb/-/issues/4240
|
|
10004
10210
|
return !value.trim().length ? 'This field is required' : true;
|
|
10005
10211
|
};
|
|
10006
10212
|
const MapPresetsForm = ({
|
|
@@ -10010,6 +10216,9 @@ const MapPresetsForm = ({
|
|
|
10010
10216
|
formValues
|
|
10011
10217
|
}) => {
|
|
10012
10218
|
const fieldName = 'title';
|
|
10219
|
+
const {
|
|
10220
|
+
t
|
|
10221
|
+
} = useWorkspaceTranslation();
|
|
10013
10222
|
const _a = Object.assign(Object.assign({}, emptyMapViewPreset), formValues),
|
|
10014
10223
|
{
|
|
10015
10224
|
title
|
|
@@ -10039,7 +10248,7 @@ const MapPresetsForm = ({
|
|
|
10039
10248
|
onSubmit: onSubmitForm
|
|
10040
10249
|
}, /*#__PURE__*/React__default.createElement(ReactHookFormTextField, {
|
|
10041
10250
|
name: "title",
|
|
10042
|
-
label:
|
|
10251
|
+
label: t('workspace-mappreset-dialog-title'),
|
|
10043
10252
|
rules: {
|
|
10044
10253
|
required: true,
|
|
10045
10254
|
validate: {
|
|
@@ -10057,27 +10266,15 @@ const MapPresetsForm = ({
|
|
|
10057
10266
|
"data-testid": name
|
|
10058
10267
|
}))))), action === PresetAction.DELETE && ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Typography, {
|
|
10059
10268
|
variant: "body1"
|
|
10060
|
-
},
|
|
10269
|
+
}, t('workspace-mappreset-delete-message', {
|
|
10270
|
+
TITLE: title
|
|
10271
|
+
})), /*#__PURE__*/React__default.createElement(ReactHookFormHiddenInput, {
|
|
10061
10272
|
key: "title",
|
|
10062
10273
|
name: "title",
|
|
10063
10274
|
defaultValue: title
|
|
10064
10275
|
}))));
|
|
10065
10276
|
};
|
|
10066
10277
|
|
|
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
10278
|
const MapPresetsFormDialog = ({
|
|
10082
10279
|
isOpen,
|
|
10083
10280
|
action,
|
|
@@ -10091,6 +10288,9 @@ const MapPresetsFormDialog = ({
|
|
|
10091
10288
|
handleSubmit: handleFormSubmit,
|
|
10092
10289
|
reset
|
|
10093
10290
|
} = useFormContext();
|
|
10291
|
+
const {
|
|
10292
|
+
t
|
|
10293
|
+
} = useWorkspaceTranslation();
|
|
10094
10294
|
const {
|
|
10095
10295
|
api
|
|
10096
10296
|
} = useApiContext();
|
|
@@ -10104,6 +10304,20 @@ const MapPresetsFormDialog = ({
|
|
|
10104
10304
|
React__default.useEffect(() => {
|
|
10105
10305
|
reset(formValues);
|
|
10106
10306
|
}, [formValues, reset]);
|
|
10307
|
+
const getConfirmLabel = action => {
|
|
10308
|
+
switch (action) {
|
|
10309
|
+
case PresetAction.DELETE:
|
|
10310
|
+
{
|
|
10311
|
+
return t('workspace-delete');
|
|
10312
|
+
}
|
|
10313
|
+
case PresetAction.SAVE_AS:
|
|
10314
|
+
{
|
|
10315
|
+
return t('workspace-save');
|
|
10316
|
+
}
|
|
10317
|
+
default:
|
|
10318
|
+
return t('workspace-save');
|
|
10319
|
+
}
|
|
10320
|
+
};
|
|
10107
10321
|
const confirmLabel = getConfirmLabel(action);
|
|
10108
10322
|
const onFormSubmit = newFormValues => __awaiter(void 0, void 0, void 0, function* () {
|
|
10109
10323
|
try {
|
|
@@ -10170,7 +10384,7 @@ const MapPresetsFormDialog = ({
|
|
|
10170
10384
|
title: title,
|
|
10171
10385
|
open: isOpen,
|
|
10172
10386
|
confirmLabel: confirmLabel,
|
|
10173
|
-
cancelLabel:
|
|
10387
|
+
cancelLabel: t('workspace-cancel'),
|
|
10174
10388
|
description: "",
|
|
10175
10389
|
onClose: onClose,
|
|
10176
10390
|
onSubmit: onSubmit,
|
|
@@ -10241,6 +10455,9 @@ const WorkspaceDetail = ({
|
|
|
10241
10455
|
isSnapshot: _isSnapshot = false
|
|
10242
10456
|
}) => {
|
|
10243
10457
|
const dispatch = useDispatch();
|
|
10458
|
+
const {
|
|
10459
|
+
t
|
|
10460
|
+
} = useWorkspaceTranslation();
|
|
10244
10461
|
const error = useSelector(store => getWorkspaceError(store));
|
|
10245
10462
|
const isLoading = useSelector(store => isWorkspaceLoading(store));
|
|
10246
10463
|
const workspaceData = useSelector(store => getWorkspaceData(store));
|
|
@@ -10290,20 +10507,24 @@ const WorkspaceDetail = ({
|
|
|
10290
10507
|
zIndex: 100
|
|
10291
10508
|
}
|
|
10292
10509
|
})), error && error.type !== WorkspaceErrorType.SAVE && ( /*#__PURE__*/React.createElement(AlertBanner, Object.assign({
|
|
10293
|
-
title:
|
|
10510
|
+
title: t('workspace-error-fetch-detail', {
|
|
10511
|
+
WORKSPACE_ID: workspaceId
|
|
10512
|
+
}),
|
|
10294
10513
|
info: error.message,
|
|
10295
10514
|
shouldClose: true
|
|
10296
10515
|
}, error.type === WorkspaceErrorType.GENERIC && {
|
|
10297
10516
|
actionButtonProps: {
|
|
10298
|
-
title: '
|
|
10517
|
+
title: t('workspace-retry'),
|
|
10299
10518
|
onClick: () => fetchWorkspace(workspaceId)
|
|
10300
10519
|
}
|
|
10301
10520
|
}))), children, !_isSnapshot && ( /*#__PURE__*/React.createElement(React.Fragment, null, error && error.type === WorkspaceErrorType.SAVE && ( /*#__PURE__*/React.createElement(AlertBanner, {
|
|
10302
|
-
title:
|
|
10521
|
+
title: t('workspace-save-error', {
|
|
10522
|
+
TITLE: workspaceData.title
|
|
10523
|
+
}),
|
|
10303
10524
|
info: error.message,
|
|
10304
10525
|
shouldClose: true,
|
|
10305
10526
|
actionButtonProps: {
|
|
10306
|
-
title: '
|
|
10527
|
+
title: t('workspace-retry'),
|
|
10307
10528
|
onClick: () => onSave()
|
|
10308
10529
|
}
|
|
10309
10530
|
})), (!error || error.type === WorkspaceErrorType.SAVE) && ( /*#__PURE__*/React.createElement(Box, {
|
|
@@ -10325,4 +10546,4 @@ const WorkspaceDetail = ({
|
|
|
10325
10546
|
}))))), /*#__PURE__*/React.createElement(MapPresetsFormDialogConnect, null));
|
|
10326
10547
|
};
|
|
10327
10548
|
|
|
10328
|
-
export { ComponentsLookUpWrapper, WorkspaceDetail, WorkspaceErrorType, WorkspaceI18nProvider, WorkspaceModuleProvider, WorkspacePresetAction, WorkspaceTopBar,
|
|
10549
|
+
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 };
|