@opengeoweb/workspace 19.3.0 → 19.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1547,7 +1547,7 @@ var SUPPORTED_TIMESERIES_COMPONENT_TYPES = ['TimeSeries'];
1547
1547
  // 3) Warning list components
1548
1548
  var WARNING_LIST_COMPONENT_TYPES = ['WarningList', 'MaritimeWarnings', 'WarningsTimeline'];
1549
1549
  // TODO: expand it and move to a more centralized place
1550
- var ALL_COMPONENT_TYPES = [].concat(SUPPORTED_COMPONENT_TYPES, SUPPORTED_TIMESERIES_COMPONENT_TYPES, WARNING_LIST_COMPONENT_TYPES, AVIATION_COMPONENT_TYPES, CAP_COMPONENT_TYPES, ['TafModule', 'TrajksModule', 'SpaceweatherModule', 'Plugin']);
1550
+ var ALL_COMPONENT_TYPES = [].concat(SUPPORTED_COMPONENT_TYPES, SUPPORTED_TIMESERIES_COMPONENT_TYPES, WARNING_LIST_COMPONENT_TYPES, AVIATION_COMPONENT_TYPES, CAP_COMPONENT_TYPES, ['TafModule', 'TrajksModule', 'SpaceweatherModule', 'Plugin', 'Soundings']);
1551
1551
  var ViewPresetErrorComponent;
1552
1552
  (function (ViewPresetErrorComponent) {
1553
1553
  ViewPresetErrorComponent["PRESET_DETAIL"] = "PRESET_DETAIL";
@@ -1819,7 +1819,7 @@ var syncGroupChangeActions = [syncGroupsActions.syncGroupRemoveTarget, syncGroup
1819
1819
  var mapPresetChangeActions = [layerActions.setBaseLayers, layerActions.layerDelete, layerActions.addLayer, layerActions.duplicateMapLayer, layerActions.layerChangeEnabled, layerActions.layerChangeName, layerActions.layerChangeStyle, layerActions.layerChangeOpacity, layerActions.layerChangeDimension, layerActions.layerChangeAcceptanceTime, layerActions.SetLayerLegendVisibilityPayload, mapActions.layerMoveLayer, mapActions.setAutoLayerId, mapActions.setAutoTimestepLayerId, mapActions.setAutoUpdateLayerId, mapActions.toggleAutoUpdate, mapActions.mapStartAnimation, mapActions.mapStopAnimation, mapActions.toggleTimeSliderIsVisible, mapActions.setTimeStep, mapActions.setTimeSliderSpan, mapActions.toggleTimeSpanAuto, mapActions.setAnimationDelay, mapActions.toggleTimestepAuto, mapActions.setAnimationStartTime, mapActions.setAnimationEndTime, mapActions.changeOverlayer, uiActions.setActiveMapIdForDialog, uiActions.setToggleOpenDialog, genericActions.setBbox, mapActions.setBbox, mapActions.toggleClock, mapActions.toggleClockOptions, mapActions.setClockPositionSize, mapActions.setDockedLayerManagerSize, mapActions.setDockedLayerManagerPosition, mapActions.setDockedLayerManagerDimensions];
1820
1820
  var pluginPresetChangeActions = [pluginsActions.setGeoWebPluginState];
1821
1821
  var timeSeriesPresetChangeActions = [timeSeriesActions.addParameter, timeSeriesActions.addPlot, timeSeriesActions.deleteParameter, timeSeriesActions.deletePlot, timeSeriesActions.moveParameter, timeSeriesActions.movePlot, timeSeriesActions.toggleParameter, timeSeriesActions.togglePlot, timeSeriesActions.patchParameter, timeSeriesActions.updateTitle];
1822
- var soundingsChangeActions = [soundingsActions.updateSelectedSource, soundingsActions.updateSelectedLocation, soundingsActions.updateDiagramType, soundingsActions.toggleLocationMarkers, soundingsActions.updateProfileDataPreferences, soundingsActions.changeSoundingPanelOrder, soundingsActions.toggleSoundingPanelVisibility, soundingsActions.setPanelIsOpen, soundingsActions.setPanelCustomWidth];
1822
+ var soundingsChangeActions = [soundingsActions.updateSelectedSource, soundingsActions.updateSelectedLocation, soundingsActions.updateDiagramType, soundingsActions.toggleLocationMarkers, soundingsActions.updateProfileDataPreferences, soundingsActions.changeSoundingPanelOrder, soundingsActions.toggleSoundingPanelVisibility, soundingsActions.setPanelIsOpen, soundingsActions.setPanelCustomWidth, soundingsActions.toggleLegendVisibility, soundingsActions.updateSelectedTime, soundingsActions.toggleTimeSliderVisibility];
1823
1823
  var supportedMapActionOrigins = [layerTypes.LayerActionOrigin.layerManager, layerTypes.LayerActionOrigin.legend, layerTypes.LayerActionOrigin.wmsLoader, mapEnums.MapActionOrigin.map];
1824
1824
  var supportedTimeSeriesActionOrigins = [TimeSeriesTypes.TimeSeriesActionOrigin.timeSeriesManager, TimeSeriesTypes.TimeSeriesActionOrigin.timeSeriesSelect];
1825
1825
  var supportedSoundingsActionOrigins = [SoundingsTypes.SoundingsActionOrigin.soundingsComponent, SoundingsTypes.SoundingsActionOrigin.soundingsManager];
@@ -3115,6 +3115,22 @@ var getViewPresetToSendToBackend = createSelector(getViewById, getViewComponentT
3115
3115
  initialProps: (_initialPropsByCompon = initialPropsByComponentType[viewComponentType]) != null ? _initialPropsByCompon : defaultInitialProps
3116
3116
  });
3117
3117
  }, selectorMemoizationOptions);
3118
+ /**
3119
+ * Gets workspace data with each view's current state included in initialProps.
3120
+ */
3121
+ var getWorkspaceToSendToBackend = function getWorkspaceToSendToBackend(store) {
3122
+ var workspaceData = getWorkspaceData(store);
3123
+ return Object.assign({}, workspaceData, {
3124
+ views: workspaceData.views.map(function (view) {
3125
+ var _presetLike$component, _presetLike$initialPr;
3126
+ var presetLike = getViewPresetToSendToBackend(store, view.mosaicNodeId);
3127
+ return Object.assign({}, view, {
3128
+ componentType: (_presetLike$component = presetLike.componentType) != null ? _presetLike$component : view.componentType,
3129
+ initialProps: (_presetLike$initialPr = presetLike.initialProps) != null ? _presetLike$initialPr : {}
3130
+ });
3131
+ })
3132
+ });
3133
+ };
3118
3134
 
3119
3135
  var selectors$1 = /*#__PURE__*/Object.freeze({
3120
3136
  __proto__: null,
@@ -3133,6 +3149,7 @@ var selectors$1 = /*#__PURE__*/Object.freeze({
3133
3149
  getWorkspaceError: getWorkspaceError,
3134
3150
  getWorkspaceId: getWorkspaceId,
3135
3151
  getWorkspaceState: getWorkspaceState,
3152
+ getWorkspaceToSendToBackend: getWorkspaceToSendToBackend,
3136
3153
  hasWorkspaceChanges: hasWorkspaceChanges,
3137
3154
  isWorkspaceLoading: isWorkspaceLoading
3138
3155
  });
@@ -3766,7 +3783,7 @@ workspaceListListener.startListening({
3766
3783
  effect: function () {
3767
3784
  var _effect2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref2, listenerApi) {
3768
3785
  var _listenerApi$getState2;
3769
- var payload, workspaceState, credentials, presetId, presetAction, data, emptyMapPresetTitle, emptyWorkspacePresetTitle, emptySoundingsPresetTitle, scope, originalData, workspaceDataNewTitle, _originalData$views, _data$views2, _originalData, mergedViews, payloadToSave, isSaveWorkspaceAction, isSaveAsWorkspaceAction, hasWorkspaceAlreadyBeenSaved, workspaceId, workspaceData, viewsWithInitialProps, newWorkspace, _listenerApi$getState3, _credentials, hasChanges, message, _listenerApi$getState4, category, _t;
3786
+ var payload, workspaceState, credentials, presetId, presetAction, data, emptyMapPresetTitle, emptyWorkspacePresetTitle, emptySoundingsPresetTitle, scope, originalData, workspaceDataNewTitle, _originalData$views, _data$views2, _originalData, mergedViews, payloadToSave, isSaveWorkspaceAction, isSaveAsWorkspaceAction, hasWorkspaceAlreadyBeenSaved, workspaceId, workspaceData, newWorkspace, _listenerApi$getState3, _credentials, hasChanges, message, _listenerApi$getState4, category, _t;
3770
3787
  return _regenerator().w(function (_context2) {
3771
3788
  while (1) switch (_context2.p = _context2.n) {
3772
3789
  case 0:
@@ -3868,15 +3885,7 @@ workspaceListListener.startListening({
3868
3885
  }
3869
3886
  hasWorkspaceAlreadyBeenSaved = getWorkspaceDialogIsSaved(workspaceState);
3870
3887
  workspaceId = presetId;
3871
- workspaceData = getWorkspaceData(listenerApi.getState());
3872
- viewsWithInitialProps = workspaceData.views.map(function (view) {
3873
- var _presetLike$component, _presetLike$initialPr;
3874
- var presetLike = getViewPresetToSendToBackend(listenerApi.getState(), view.mosaicNodeId);
3875
- return Object.assign({}, view, {
3876
- componentType: (_presetLike$component = presetLike.componentType) != null ? _presetLike$component : view.componentType,
3877
- initialProps: (_presetLike$initialPr = presetLike.initialProps) != null ? _presetLike$initialPr : {}
3878
- });
3879
- });
3888
+ workspaceData = getWorkspaceToSendToBackend(listenerApi.getState());
3880
3889
  newWorkspace = Object.assign({}, workspaceData, {
3881
3890
  id: workspaceId,
3882
3891
  title: data.title,
@@ -3884,7 +3893,7 @@ workspaceListListener.startListening({
3884
3893
  description: data.description,
3885
3894
  labels: data.labels,
3886
3895
  scope: scope,
3887
- views: viewsWithInitialProps,
3896
+ views: workspaceData.views,
3888
3897
  username: (credentials == null ? void 0 : credentials.username) || ''
3889
3898
  });
3890
3899
  if (!(!hasWorkspaceAlreadyBeenSaved && isSaveAsWorkspaceAction)) {
@@ -10100,42 +10109,35 @@ var WorkspaceOptionsConnect = function WorkspaceOptionsConnect(_ref) {
10100
10109
  isPasteDialogOpen = _React$useState[0],
10101
10110
  setIsPasteDialogOpen = _React$useState[1];
10102
10111
  var onCopyToClipboard = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
10103
- var preset, expanded, sanitized, json;
10112
+ var workspaceWithLiveViews, sanitized, json;
10104
10113
  return _regenerator().w(function (_context) {
10105
10114
  while (1) switch (_context.p = _context.n) {
10106
10115
  case 0:
10107
10116
  _context.p = 0;
10108
- _context.n = 1;
10109
- return getWorkspace(workspaceId, auth);
10110
- case 1:
10111
- preset = _context.v;
10112
- _context.n = 2;
10113
- return expandWorkspaceViewPresets(preset, auth);
10114
- case 2:
10115
- expanded = _context.v;
10116
- sanitized = sanitizeWorkspaceForClipboard(expanded);
10117
+ workspaceWithLiveViews = getWorkspaceToSendToBackend(store.getState());
10118
+ sanitized = sanitizeWorkspaceForClipboard(workspaceWithLiveViews);
10117
10119
  json = JSON.stringify(sanitized, null, 2);
10118
- _context.n = 3;
10120
+ _context.n = 1;
10119
10121
  return writeToClipboard(json);
10120
- case 3:
10122
+ case 1:
10121
10123
  dispatch(snackbarActions.openSnackbar({
10122
10124
  type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
10123
10125
  message: t('workspace-copy-success')
10124
10126
  }));
10125
- _context.n = 5;
10127
+ _context.n = 3;
10126
10128
  break;
10127
- case 4:
10128
- _context.p = 4;
10129
+ case 2:
10130
+ _context.p = 2;
10129
10131
  _context.v;
10130
10132
  dispatch(snackbarActions.openSnackbar({
10131
10133
  type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
10132
10134
  message: t('workspace-error-generic')
10133
10135
  }));
10134
- case 5:
10136
+ case 3:
10135
10137
  return _context.a(2);
10136
10138
  }
10137
- }, _callee, null, [[0, 4]]);
10138
- })), [auth, workspaceId, dispatch, t]);
10139
+ }, _callee, null, [[0, 2]]);
10140
+ })), [dispatch, store, t]);
10139
10141
  var onPasteFromClipboard = React.useCallback(function () {
10140
10142
  setIsPasteDialogOpen(true);
10141
10143
  }, []);
@@ -403,4 +403,8 @@ export declare const getViewPresetToSendToBackend: ((state: any, ...params: any[
403
403
  memoize: typeof import("reselect").weakMapMemoize;
404
404
  argsMemoize: typeof import("reselect").weakMapMemoize;
405
405
  };
406
+ /**
407
+ * Gets workspace data with each view's current state included in initialProps.
408
+ */
409
+ export declare const getWorkspaceToSendToBackend: (store: AppStore) => WorkspaceData;
406
410
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/workspace",
3
- "version": "19.3.0",
3
+ "version": "19.4.0",
4
4
  "description": "GeoWeb Workspace library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {