@opengeoweb/workspace 14.5.0 → 14.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.esm.js CHANGED
@@ -1443,7 +1443,7 @@ var viewPresetsAdapter = createEntityAdapter({
1443
1443
  var initialState$2 = viewPresetsAdapter.getInitialState();
1444
1444
  var warningsPresetChangeActions = [publicWarningActions.setWarningFilters];
1445
1445
  var syncGroupChangeActions = [syncGroupsActions.syncGroupRemoveTarget, syncGroupsActions.syncGroupAddTarget];
1446
- var mapPresetChangeActions = [layerActions.setBaseLayers, layerActions.layerDelete, layerActions.addLayer, layerActions.duplicateMapLayer, layerActions.layerChangeEnabled, layerActions.layerChangeName, layerActions.layerChangeStyle, layerActions.layerChangeOpacity, layerActions.layerChangeDimension, mapActions.layerMoveLayer, mapActions.setAutoLayerId, mapActions.setAutoTimestepLayerId, mapActions.setAutoUpdateLayerId, mapActions.toggleAutoUpdate, mapActions.mapStartAnimation, mapActions.mapStopAnimation, mapActions.toggleTimeSliderIsVisible, mapActions.setTimeStep, mapActions.setTimeSliderSpan, mapActions.toggleTimeSpanAuto, mapActions.setAnimationDelay, mapActions.toggleTimestepAuto, mapActions.setAnimationStartTime, mapActions.setAnimationEndTime, mapActions.changeOverlayer, uiActions.setActiveMapIdForDialog, uiActions.setToggleOpenDialog, genericActions.setBbox, mapActions.setBbox];
1446
+ var mapPresetChangeActions = [layerActions.setBaseLayers, layerActions.layerDelete, layerActions.addLayer, layerActions.duplicateMapLayer, layerActions.layerChangeEnabled, layerActions.layerChangeName, layerActions.layerChangeStyle, layerActions.layerChangeOpacity, layerActions.layerChangeDimension, layerActions.layerChangeAcceptanceTime, mapActions.layerMoveLayer, mapActions.setAutoLayerId, mapActions.setAutoTimestepLayerId, mapActions.setAutoUpdateLayerId, mapActions.toggleAutoUpdate, mapActions.mapStartAnimation, mapActions.mapStopAnimation, mapActions.toggleTimeSliderIsVisible, mapActions.setTimeStep, mapActions.setTimeSliderSpan, mapActions.toggleTimeSpanAuto, mapActions.setAnimationDelay, mapActions.toggleTimestepAuto, mapActions.setAnimationStartTime, mapActions.setAnimationEndTime, mapActions.changeOverlayer, uiActions.setActiveMapIdForDialog, uiActions.setToggleOpenDialog, genericActions.setBbox, mapActions.setBbox];
1447
1447
  var timeSeriesPresetChangeActions = [timeSeriesActions.addParameter, timeSeriesActions.addPlot, timeSeriesActions.deleteParameter, timeSeriesActions.deletePlot, timeSeriesActions.moveParameter, timeSeriesActions.movePlot, timeSeriesActions.toggleParameter, timeSeriesActions.togglePlot, timeSeriesActions.patchParameter, timeSeriesActions.updateTitle];
1448
1448
  var supportedMapActionOrigins = [layerTypes.LayerActionOrigin.layerManager, layerTypes.LayerActionOrigin.wmsLoader, mapEnums.MapActionOrigin.map];
1449
1449
  var supportedTimeSeriesActionOrigins = [TimeSeriesTypes.TimeSeriesActionOrigin.timeSeriesManager, TimeSeriesTypes.TimeSeriesActionOrigin.timeSeriesSelect];
@@ -2879,14 +2879,16 @@ var getViewPresetLabelFilters = createSelector(getViewPresetById, function (_sto
2879
2879
  return viewPreset == null ? void 0 : viewPreset.labelFilters;
2880
2880
  }, selectorMemoizationOptions);
2881
2881
 
2882
- var config$1 = sessionStorageProvider.getConfig();
2883
- var presetBaseUrl$1 = (config$1 == null ? void 0 : config$1.GW_PRESET_BACKEND_URL) || '';
2882
+ var getPresetBaseUrl = function getPresetBaseUrl() {
2883
+ var config = sessionStorageProvider.getConfig();
2884
+ return (config == null ? void 0 : config.GW_PRESET_BACKEND_URL) || '';
2885
+ };
2884
2886
  var getViewPreset = /*#__PURE__*/function () {
2885
2887
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(viewpresetId, auth) {
2886
2888
  return _regeneratorRuntime().wrap(function _callee$(_context) {
2887
2889
  while (1) switch (_context.prev = _context.next) {
2888
2890
  case 0:
2889
- return _context.abrupt("return", fetch(presetBaseUrl$1 + "/viewpreset/" + viewpresetId, {
2891
+ return _context.abrupt("return", fetch(getPresetBaseUrl() + "/viewpreset/" + viewpresetId, {
2890
2892
  headers: getHeaders(auth)
2891
2893
  }).then(handleResponse));
2892
2894
  case 1:
@@ -2904,7 +2906,7 @@ var updateViewPreset = /*#__PURE__*/function () {
2904
2906
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
2905
2907
  while (1) switch (_context2.prev = _context2.next) {
2906
2908
  case 0:
2907
- return _context2.abrupt("return", fetch(presetBaseUrl$1 + "/viewpreset/" + viewpresetId, {
2909
+ return _context2.abrupt("return", fetch(getPresetBaseUrl() + "/viewpreset/" + viewpresetId, {
2908
2910
  headers: getHeaders(auth),
2909
2911
  method: 'PUT',
2910
2912
  body: JSON.stringify(data)
@@ -2924,7 +2926,7 @@ var deleteViewPreset = /*#__PURE__*/function () {
2924
2926
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
2925
2927
  while (1) switch (_context3.prev = _context3.next) {
2926
2928
  case 0:
2927
- return _context3.abrupt("return", fetch(presetBaseUrl$1 + "/viewpreset/" + viewPresetId, {
2929
+ return _context3.abrupt("return", fetch(getPresetBaseUrl() + "/viewpreset/" + viewPresetId, {
2928
2930
  method: 'DELETE',
2929
2931
  headers: getHeaders(auth)
2930
2932
  }).then(handleResponse));
@@ -5213,6 +5215,13 @@ workspaceListener.startListening({
5213
5215
  payload = _ref3.payload;
5214
5216
  // Cancel any in-progress instances of this listener
5215
5217
  listenerApi.cancelActiveListeners();
5218
+ // see https://gitlab.com/opengeoweb/geoweb-assets/-/issues/4413
5219
+ _context4.next = 4;
5220
+ return listenerApi.condition(function (_action, currentState) {
5221
+ var _currentState$workspa;
5222
+ return ((_currentState$workspa = currentState.workspace) == null ? void 0 : _currentState$workspa.mosaicNode) === '';
5223
+ }, 500);
5224
+ case 4:
5216
5225
  listenerApi.dispatch(syncGroupsActions.syncGroupClear());
5217
5226
  listenerApi.dispatch(workspaceActions.setPreset(payload));
5218
5227
  allSyncGroups = getSyncGroups(payload.workspacePreset.syncGroups);
@@ -5227,7 +5236,7 @@ workspaceListener.startListening({
5227
5236
  isTimeScrollingEnabled: isTimeScrollingEnabled
5228
5237
  }));
5229
5238
  views = toViewsArray(payload.workspacePreset.views);
5230
- _context4.next = 12;
5239
+ _context4.next = 14;
5231
5240
  return Promise.all(views.map(/*#__PURE__*/function () {
5232
5241
  var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(view) {
5233
5242
  var _view$initialProps$sy, _view$initialProps;
@@ -5259,7 +5268,7 @@ workspaceListener.startListening({
5259
5268
  return _ref4.apply(this, arguments);
5260
5269
  };
5261
5270
  }()));
5262
- case 12:
5271
+ case 14:
5263
5272
  views.forEach(function (view) {
5264
5273
  var panelId = view.mosaicNodeId;
5265
5274
  if (!panelId) {
@@ -5271,7 +5280,7 @@ workspaceListener.startListening({
5271
5280
  isInline: hasInlineConfig
5272
5281
  }));
5273
5282
  });
5274
- case 13:
5283
+ case 15:
5275
5284
  case "end":
5276
5285
  return _context4.stop();
5277
5286
  }
@@ -6763,6 +6772,214 @@ var defaultComponentsLookUp = function defaultComponentsLookUp(_ref3) {
6763
6772
  }
6764
6773
  };
6765
6774
 
6775
+ var config = sessionStorageProvider.getConfig();
6776
+ var presetBaseUrl = (config == null ? void 0 : config.GW_PRESET_BACKEND_URL) || '';
6777
+ var labelsConfigUrl = '/assets/workspaceLabelsConfig.json';
6778
+ var getWorkspaceLabelsConfig = /*#__PURE__*/function () {
6779
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
6780
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
6781
+ while (1) switch (_context.prev = _context.next) {
6782
+ case 0:
6783
+ return _context.abrupt("return", fetch(labelsConfigUrl).then(handleResponse));
6784
+ case 1:
6785
+ case "end":
6786
+ return _context.stop();
6787
+ }
6788
+ }, _callee);
6789
+ }));
6790
+ return function getWorkspaceLabelsConfig() {
6791
+ return _ref.apply(this, arguments);
6792
+ };
6793
+ }();
6794
+ var getWorkspace = /*#__PURE__*/function () {
6795
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(workspaceId, auth) {
6796
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
6797
+ while (1) switch (_context2.prev = _context2.next) {
6798
+ case 0:
6799
+ return _context2.abrupt("return", fetch(presetBaseUrl + "/workspacepreset/" + workspaceId, {
6800
+ headers: getHeaders(auth)
6801
+ }).then(handleResponse));
6802
+ case 1:
6803
+ case "end":
6804
+ return _context2.stop();
6805
+ }
6806
+ }, _callee2);
6807
+ }));
6808
+ return function getWorkspace(_x, _x2) {
6809
+ return _ref2.apply(this, arguments);
6810
+ };
6811
+ }();
6812
+ var deleteWorkspace = /*#__PURE__*/function () {
6813
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(workspaceId, auth) {
6814
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
6815
+ while (1) switch (_context3.prev = _context3.next) {
6816
+ case 0:
6817
+ return _context3.abrupt("return", fetch(presetBaseUrl + "/workspacepreset/" + workspaceId, {
6818
+ headers: getHeaders(auth),
6819
+ method: 'DELETE'
6820
+ }).then(handleResponse));
6821
+ case 1:
6822
+ case "end":
6823
+ return _context3.stop();
6824
+ }
6825
+ }, _callee3);
6826
+ }));
6827
+ return function deleteWorkspace(_x3, _x4) {
6828
+ return _ref3.apply(this, arguments);
6829
+ };
6830
+ }();
6831
+ var updateWorkspace = /*#__PURE__*/function () {
6832
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(workspaceId, data, auth) {
6833
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
6834
+ while (1) switch (_context4.prev = _context4.next) {
6835
+ case 0:
6836
+ return _context4.abrupt("return", fetch(presetBaseUrl + "/workspacepreset/" + workspaceId, {
6837
+ headers: getHeaders(auth),
6838
+ method: 'PUT',
6839
+ body: JSON.stringify(data)
6840
+ }).then(handleResponse));
6841
+ case 1:
6842
+ case "end":
6843
+ return _context4.stop();
6844
+ }
6845
+ }, _callee4);
6846
+ }));
6847
+ return function updateWorkspace(_x5, _x6, _x7) {
6848
+ return _ref4.apply(this, arguments);
6849
+ };
6850
+ }();
6851
+ var createWorkspace = /*#__PURE__*/function () {
6852
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(data, auth) {
6853
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
6854
+ while (1) switch (_context5.prev = _context5.next) {
6855
+ case 0:
6856
+ return _context5.abrupt("return", fetch(presetBaseUrl + "/workspacepreset", {
6857
+ headers: getHeaders(auth),
6858
+ method: 'POST',
6859
+ body: JSON.stringify(data)
6860
+ }).then(handleResponse));
6861
+ case 1:
6862
+ case "end":
6863
+ return _context5.stop();
6864
+ }
6865
+ }, _callee5);
6866
+ }));
6867
+ return function createWorkspace(_x8, _x9) {
6868
+ return _ref5.apply(this, arguments);
6869
+ };
6870
+ }();
6871
+
6872
+ var useWorkspaceLabelsConfig = function useWorkspaceLabelsConfig() {
6873
+ return useQuery({
6874
+ queryKey: ['workspace-labels-config'],
6875
+ queryFn: getWorkspaceLabelsConfig
6876
+ });
6877
+ };
6878
+ var onWorkspaceApiError = function onWorkspaceApiError(dispatch, error, t) {
6879
+ dispatch(workspaceListActions.onErrorWorkspacePresetAction({
6880
+ error: {
6881
+ message: error.message + " " + t('workspace-error-generic'),
6882
+ type: WorkspaceListErrorType.VERBATIM_ERROR,
6883
+ category: error.message === 'Authentication context not found' ? WorkspaceListErrorCategory.AUTH : WorkspaceListErrorCategory.GENERIC
6884
+ }
6885
+ }));
6886
+ };
6887
+ var useDeleteWorkspacePreset = function useDeleteWorkspacePreset() {
6888
+ var _useAuthenticationCon = useAuthenticationContext(),
6889
+ auth = _useAuthenticationCon.auth;
6890
+ var _useSelector = useSelector(getWorkspaceActionFormValues),
6891
+ title = _useSelector.title;
6892
+ var _useWorkspaceTranslat = useWorkspaceTranslation(),
6893
+ t = _useWorkspaceTranslat.t;
6894
+ var dispatch = useDispatch();
6895
+ return useMutation({
6896
+ mutationFn: function () {
6897
+ var _mutationFn = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
6898
+ var id;
6899
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
6900
+ while (1) switch (_context.prev = _context.next) {
6901
+ case 0:
6902
+ id = _ref.id;
6903
+ if (auth) {
6904
+ _context.next = 3;
6905
+ break;
6906
+ }
6907
+ throw new Error('Authentication context not found');
6908
+ case 3:
6909
+ return _context.abrupt("return", deleteWorkspace(id, auth));
6910
+ case 4:
6911
+ case "end":
6912
+ return _context.stop();
6913
+ }
6914
+ }, _callee);
6915
+ }));
6916
+ function mutationFn(_x) {
6917
+ return _mutationFn.apply(this, arguments);
6918
+ }
6919
+ return mutationFn;
6920
+ }(),
6921
+ onSuccess: function onSuccess(data, variables) {
6922
+ dispatch(workspaceListActions.onSuccessWorkspacePresetAction({
6923
+ workspaceId: variables.id,
6924
+ action: WorkspacePresetAction.DELETE,
6925
+ emptyWorkspacePresetTitle: t('workspace-new'),
6926
+ title: title
6927
+ }));
6928
+ },
6929
+ onError: function onError(error) {
6930
+ onWorkspaceApiError(dispatch, error, t);
6931
+ }
6932
+ });
6933
+ };
6934
+ var useCreateWorkspacePreset = function useCreateWorkspacePreset() {
6935
+ var _useAuthenticationCon2 = useAuthenticationContext(),
6936
+ auth = _useAuthenticationCon2.auth;
6937
+ var _useWorkspaceTranslat2 = useWorkspaceTranslation(),
6938
+ t = _useWorkspaceTranslat2.t;
6939
+ var dispatch = useDispatch();
6940
+ return useMutation({
6941
+ mutationFn: function () {
6942
+ var _mutationFn2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
6943
+ var data;
6944
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
6945
+ while (1) switch (_context2.prev = _context2.next) {
6946
+ case 0:
6947
+ data = _ref2.data;
6948
+ if (auth) {
6949
+ _context2.next = 3;
6950
+ break;
6951
+ }
6952
+ throw new Error('Authentication context not found');
6953
+ case 3:
6954
+ return _context2.abrupt("return", createWorkspace(data, auth));
6955
+ case 4:
6956
+ case "end":
6957
+ return _context2.stop();
6958
+ }
6959
+ }, _callee2);
6960
+ }));
6961
+ function mutationFn(_x2) {
6962
+ return _mutationFn2.apply(this, arguments);
6963
+ }
6964
+ return mutationFn;
6965
+ }(),
6966
+ onSuccess: function onSuccess(data, variables) {
6967
+ var location = data == null ? void 0 : data.get('location');
6968
+ var newId = getIdFromUrl(location);
6969
+ var scope = variables.data.scope || 'user';
6970
+ dispatch(workspaceListActions.onSuccessWorkspacePresetAction({
6971
+ workspaceId: newId,
6972
+ action: variables.action || WorkspacePresetAction.SAVE_AS,
6973
+ title: variables.data.title,
6974
+ scope: scope
6975
+ }));
6976
+ },
6977
+ onError: function onError(error) {
6978
+ onWorkspaceApiError(dispatch, error, t);
6979
+ }
6980
+ });
6981
+ };
6982
+
6766
6983
  /* *
6767
6984
  * Licensed under the Apache License, Version 2.0 (the "License");
6768
6985
  * you may not use this file except in compliance with the License.
@@ -7183,7 +7400,8 @@ var PresetLabelsPanel = function PresetLabelsPanel(_ref) {
7183
7400
  var WorkspaceMenuLabelsPanel = function WorkspaceMenuLabelsPanel(_ref) {
7184
7401
  var value = _ref.value,
7185
7402
  onChange = _ref.onChange,
7186
- menuLabels = _ref.menuLabels;
7403
+ menuLabels = _ref.menuLabels,
7404
+ labelsConfig = _ref.labelsConfig;
7187
7405
  var methods = useForm({
7188
7406
  defaultValues: {
7189
7407
  labels: value != null ? value : {},
@@ -7194,6 +7412,7 @@ var WorkspaceMenuLabelsPanel = function WorkspaceMenuLabelsPanel(_ref) {
7194
7412
  children: jsx(PresetLabelsPanel, {
7195
7413
  "data-testid": "workspace-menu-labels-panel",
7196
7414
  isMenuFilterMode: true,
7415
+ labelsConfig: labelsConfig,
7197
7416
  menuLabels: menuLabels,
7198
7417
  onLabelsChange: onChange
7199
7418
  })
@@ -7900,6 +8119,8 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
7900
8119
  t = _useWorkspaceTranslat.t;
7901
8120
  var dispatch = useDispatch();
7902
8121
  var store = useStore();
8122
+ var _useWorkspaceLabelsCo = useWorkspaceLabelsConfig(),
8123
+ labelsConfig = _useWorkspaceLabelsCo.data;
7903
8124
  var _useAuthenticationCon = useAuthenticationContext(),
7904
8125
  currentRole = _useAuthenticationCon.currentRole,
7905
8126
  isLoggedIn = _useAuthenticationCon.isLoggedIn,
@@ -8231,6 +8452,7 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
8231
8452
  },
8232
8453
  children: jsx(FormProvider, Object.assign({}, labelsFormMethods, {
8233
8454
  children: jsx(WorkspaceMenuLabelsPanel, {
8455
+ labelsConfig: labelsConfig,
8234
8456
  menuLabels: viewPresetLabelFilters,
8235
8457
  onChange: onLabelsFilterChange
8236
8458
  })
@@ -8408,103 +8630,6 @@ var ViewPresetMenu = function ViewPresetMenu(_ref) {
8408
8630
  });
8409
8631
  };
8410
8632
 
8411
- var config = sessionStorageProvider.getConfig();
8412
- var presetBaseUrl = (config == null ? void 0 : config.GW_PRESET_BACKEND_URL) || '';
8413
- var labelsConfigUrl = '/assets/workspaceLabelsConfig.json';
8414
- var getWorkspaceLabelsConfig = /*#__PURE__*/function () {
8415
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
8416
- return _regeneratorRuntime().wrap(function _callee$(_context) {
8417
- while (1) switch (_context.prev = _context.next) {
8418
- case 0:
8419
- return _context.abrupt("return", fetch(labelsConfigUrl).then(handleResponse));
8420
- case 1:
8421
- case "end":
8422
- return _context.stop();
8423
- }
8424
- }, _callee);
8425
- }));
8426
- return function getWorkspaceLabelsConfig() {
8427
- return _ref.apply(this, arguments);
8428
- };
8429
- }();
8430
- var getWorkspace = /*#__PURE__*/function () {
8431
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(workspaceId, auth) {
8432
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
8433
- while (1) switch (_context2.prev = _context2.next) {
8434
- case 0:
8435
- return _context2.abrupt("return", fetch(presetBaseUrl + "/workspacepreset/" + workspaceId, {
8436
- headers: getHeaders(auth)
8437
- }).then(handleResponse));
8438
- case 1:
8439
- case "end":
8440
- return _context2.stop();
8441
- }
8442
- }, _callee2);
8443
- }));
8444
- return function getWorkspace(_x, _x2) {
8445
- return _ref2.apply(this, arguments);
8446
- };
8447
- }();
8448
- var deleteWorkspace = /*#__PURE__*/function () {
8449
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(workspaceId, auth) {
8450
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
8451
- while (1) switch (_context3.prev = _context3.next) {
8452
- case 0:
8453
- return _context3.abrupt("return", fetch(presetBaseUrl + "/workspacepreset/" + workspaceId, {
8454
- headers: getHeaders(auth),
8455
- method: 'DELETE'
8456
- }).then(handleResponse));
8457
- case 1:
8458
- case "end":
8459
- return _context3.stop();
8460
- }
8461
- }, _callee3);
8462
- }));
8463
- return function deleteWorkspace(_x3, _x4) {
8464
- return _ref3.apply(this, arguments);
8465
- };
8466
- }();
8467
- var updateWorkspace = /*#__PURE__*/function () {
8468
- var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(workspaceId, data, auth) {
8469
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
8470
- while (1) switch (_context4.prev = _context4.next) {
8471
- case 0:
8472
- return _context4.abrupt("return", fetch(presetBaseUrl + "/workspacepreset/" + workspaceId, {
8473
- headers: getHeaders(auth),
8474
- method: 'PUT',
8475
- body: JSON.stringify(data)
8476
- }).then(handleResponse));
8477
- case 1:
8478
- case "end":
8479
- return _context4.stop();
8480
- }
8481
- }, _callee4);
8482
- }));
8483
- return function updateWorkspace(_x5, _x6, _x7) {
8484
- return _ref4.apply(this, arguments);
8485
- };
8486
- }();
8487
- var createWorkspace = /*#__PURE__*/function () {
8488
- var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(data, auth) {
8489
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
8490
- while (1) switch (_context5.prev = _context5.next) {
8491
- case 0:
8492
- return _context5.abrupt("return", fetch(presetBaseUrl + "/workspacepreset", {
8493
- headers: getHeaders(auth),
8494
- method: 'POST',
8495
- body: JSON.stringify(data)
8496
- }).then(handleResponse));
8497
- case 1:
8498
- case "end":
8499
- return _context5.stop();
8500
- }
8501
- }, _callee5);
8502
- }));
8503
- return function createWorkspace(_x8, _x9) {
8504
- return _ref5.apply(this, arguments);
8505
- };
8506
- }();
8507
-
8508
8633
  var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
8509
8634
  var _GENERIC$AUTH$error$c;
8510
8635
  var _ref$isLabelFilterOpe = _ref.isLabelFilterOpen,
@@ -8513,6 +8638,8 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
8513
8638
  var dispatch = useDispatch();
8514
8639
  var _useWorkspaceTranslat = useWorkspaceTranslation(),
8515
8640
  t = _useWorkspaceTranslat.t;
8641
+ var _useWorkspaceLabelsCo = useWorkspaceLabelsConfig(),
8642
+ labelsConfig = _useWorkspaceLabelsCo.data;
8516
8643
  var _useAuthenticationCon = useAuthenticationContext(),
8517
8644
  currentRole = _useAuthenticationCon.currentRole,
8518
8645
  isLoggedIn = _useAuthenticationCon.isLoggedIn,
@@ -8881,6 +9008,7 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
8881
9008
  },
8882
9009
  children: jsx(FormProvider, Object.assign({}, labelsFormMethods, {
8883
9010
  children: jsx(WorkspaceMenuLabelsPanel, {
9011
+ labelsConfig: labelsConfig,
8884
9012
  menuLabels: labelFilters,
8885
9013
  onChange: onLabelsFilterChange
8886
9014
  })
@@ -10201,117 +10329,6 @@ var WorkspaceTab = function WorkspaceTab(_ref) {
10201
10329
  });
10202
10330
  };
10203
10331
 
10204
- var useWorkspaceLabelsConfig = function useWorkspaceLabelsConfig() {
10205
- return useQuery({
10206
- queryKey: ['workspace-labels-config'],
10207
- queryFn: getWorkspaceLabelsConfig
10208
- });
10209
- };
10210
- var onWorkspaceApiError = function onWorkspaceApiError(dispatch, error, t) {
10211
- dispatch(workspaceListActions.onErrorWorkspacePresetAction({
10212
- error: {
10213
- message: error.message + " " + t('workspace-error-generic'),
10214
- type: WorkspaceListErrorType.VERBATIM_ERROR,
10215
- category: error.message === 'Authentication context not found' ? WorkspaceListErrorCategory.AUTH : WorkspaceListErrorCategory.GENERIC
10216
- }
10217
- }));
10218
- };
10219
- var useDeleteWorkspacePreset = function useDeleteWorkspacePreset() {
10220
- var _useAuthenticationCon = useAuthenticationContext(),
10221
- auth = _useAuthenticationCon.auth;
10222
- var _useSelector = useSelector(getWorkspaceActionFormValues),
10223
- title = _useSelector.title;
10224
- var _useWorkspaceTranslat = useWorkspaceTranslation(),
10225
- t = _useWorkspaceTranslat.t;
10226
- var dispatch = useDispatch();
10227
- return useMutation({
10228
- mutationFn: function () {
10229
- var _mutationFn = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
10230
- var id;
10231
- return _regeneratorRuntime().wrap(function _callee$(_context) {
10232
- while (1) switch (_context.prev = _context.next) {
10233
- case 0:
10234
- id = _ref.id;
10235
- if (auth) {
10236
- _context.next = 3;
10237
- break;
10238
- }
10239
- throw new Error('Authentication context not found');
10240
- case 3:
10241
- return _context.abrupt("return", deleteWorkspace(id, auth));
10242
- case 4:
10243
- case "end":
10244
- return _context.stop();
10245
- }
10246
- }, _callee);
10247
- }));
10248
- function mutationFn(_x) {
10249
- return _mutationFn.apply(this, arguments);
10250
- }
10251
- return mutationFn;
10252
- }(),
10253
- onSuccess: function onSuccess(data, variables) {
10254
- dispatch(workspaceListActions.onSuccessWorkspacePresetAction({
10255
- workspaceId: variables.id,
10256
- action: WorkspacePresetAction.DELETE,
10257
- emptyWorkspacePresetTitle: t('workspace-new'),
10258
- title: title
10259
- }));
10260
- },
10261
- onError: function onError(error) {
10262
- onWorkspaceApiError(dispatch, error, t);
10263
- }
10264
- });
10265
- };
10266
- var useCreateWorkspacePreset = function useCreateWorkspacePreset() {
10267
- var _useAuthenticationCon2 = useAuthenticationContext(),
10268
- auth = _useAuthenticationCon2.auth;
10269
- var _useWorkspaceTranslat2 = useWorkspaceTranslation(),
10270
- t = _useWorkspaceTranslat2.t;
10271
- var dispatch = useDispatch();
10272
- return useMutation({
10273
- mutationFn: function () {
10274
- var _mutationFn2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
10275
- var data;
10276
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
10277
- while (1) switch (_context2.prev = _context2.next) {
10278
- case 0:
10279
- data = _ref2.data;
10280
- if (auth) {
10281
- _context2.next = 3;
10282
- break;
10283
- }
10284
- throw new Error('Authentication context not found');
10285
- case 3:
10286
- return _context2.abrupt("return", createWorkspace(data, auth));
10287
- case 4:
10288
- case "end":
10289
- return _context2.stop();
10290
- }
10291
- }, _callee2);
10292
- }));
10293
- function mutationFn(_x2) {
10294
- return _mutationFn2.apply(this, arguments);
10295
- }
10296
- return mutationFn;
10297
- }(),
10298
- onSuccess: function onSuccess(data, variables) {
10299
- var location = data == null ? void 0 : data.get('location');
10300
- var newId = getIdFromUrl(location);
10301
- var scope = variables.data.scope || 'user';
10302
- dispatch(workspaceListActions.onSuccessWorkspacePresetAction({
10303
- workspaceId: newId,
10304
- action: variables.action || WorkspacePresetAction.SAVE_AS,
10305
- title: variables.data.title,
10306
- scope: scope
10307
- }));
10308
- },
10309
- onError: function onError(error) {
10310
- onWorkspaceApiError(dispatch, error, t);
10311
- }
10312
- });
10313
- };
10314
-
10315
10332
  var _excluded$3 = ["title", "description", "abstract"];
10316
10333
  var ERROR_DUPLICATE_TITLE_BE = 'Preset title already in use, please choose a different title';
10317
10334
  var ERROR_LONG_TITLE_BE = 'Preset title cannot exceed 100 characters';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/workspace",
3
- "version": "14.5.0",
3
+ "version": "14.5.2",
4
4
  "description": "GeoWeb Workspace library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -9,33 +9,33 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "react-redux": "^9.2.0",
12
- "@opengeoweb/shared": "14.5.0",
13
- "@opengeoweb/store": "14.5.0",
14
- "@opengeoweb/api": "14.5.0",
12
+ "@opengeoweb/shared": "14.5.2",
13
+ "@opengeoweb/store": "14.5.2",
14
+ "@opengeoweb/api": "14.5.2",
15
15
  "react-hook-form": "^7.50.1",
16
- "@opengeoweb/theme": "14.5.0",
16
+ "@opengeoweb/theme": "14.5.2",
17
17
  "@reduxjs/toolkit": "^2.6.1",
18
- "@opengeoweb/snackbar": "14.5.0",
18
+ "@opengeoweb/snackbar": "14.5.2",
19
19
  "react-window": "^1.8.10",
20
20
  "lodash": "^4.17.21",
21
21
  "axios": "^1.7.7",
22
22
  "react-virtualized-auto-sizer": "^1.0.21",
23
23
  "react-mosaic-component": "^6.1.0",
24
- "@opengeoweb/form-fields": "14.5.0",
25
- "@opengeoweb/time-series": "14.5.0",
26
- "@opengeoweb/authentication": "14.5.0",
27
- "@opengeoweb/core": "14.5.0",
28
- "@opengeoweb/taf": "14.5.0",
29
- "@opengeoweb/sigmet-airmet": "14.5.0",
30
- "@opengeoweb/warnings": "14.5.0",
31
- "@opengeoweb/space-weather": "14.5.0",
24
+ "@opengeoweb/form-fields": "14.5.2",
25
+ "@opengeoweb/time-series": "14.5.2",
26
+ "@opengeoweb/authentication": "14.5.2",
27
+ "@opengeoweb/core": "14.5.2",
28
+ "@opengeoweb/taf": "14.5.2",
29
+ "@opengeoweb/sigmet-airmet": "14.5.2",
30
+ "@opengeoweb/warnings": "14.5.2",
31
+ "@opengeoweb/space-weather": "14.5.2",
32
32
  "i18next": "^25.0.1",
33
33
  "react-i18next": "^15.1.1",
34
34
  "@mui/material": "^7.0.1",
35
- "@opengeoweb/webmap-react": "14.5.0",
35
+ "@opengeoweb/webmap-react": "14.5.2",
36
36
  "@tanstack/react-query": "^5.85.5",
37
- "@opengeoweb/soundings": "14.5.0",
38
- "@opengeoweb/knmi-components": "14.5.0",
37
+ "@opengeoweb/soundings": "14.5.2",
38
+ "@opengeoweb/knmi-components": "14.5.2",
39
39
  "@mui/system": "^7.3.5"
40
40
  },
41
41
  "peerDependencies": {
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
- import type { WorkspacePresetLabels } from '../../store/workspace/types';
2
+ import type { WorkspaceLabelsConfigResponse, WorkspacePresetLabels } from '../../store/workspace/types';
3
3
  export interface WorkspaceMenuLabelsPanelProps {
4
4
  value?: WorkspacePresetLabels;
5
5
  onChange?: (labels: WorkspacePresetLabels) => void;
6
6
  menuLabels?: WorkspacePresetLabels;
7
+ labelsConfig: WorkspaceLabelsConfigResponse | undefined;
7
8
  }
8
9
  declare const WorkspaceMenuLabelsPanel: React.FC<WorkspaceMenuLabelsPanelProps>;
9
10
  export default WorkspaceMenuLabelsPanel;