@opengeoweb/workspace 20.0.1-nightly-20261015 → 20.1.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
|
@@ -1819,6 +1819,11 @@ var createCustomEmptyMapWorkspace = function createCustomEmptyMapWorkspace(empty
|
|
|
1819
1819
|
});
|
|
1820
1820
|
return emptyWorkspacePreset;
|
|
1821
1821
|
};
|
|
1822
|
+
var getTemplatePresetTitle = function getTemplatePresetTitle(preset, t) {
|
|
1823
|
+
return preset.titleKey && t ? t(preset.titleKey, {
|
|
1824
|
+
defaultValue: preset.title
|
|
1825
|
+
}) : preset.title;
|
|
1826
|
+
};
|
|
1822
1827
|
var LOCAL_SOUNDINGS_ID = 'newSoundingsWorkspace';
|
|
1823
1828
|
var getNewSoundingsWorkspaceListItem = function getNewSoundingsWorkspaceListItem(t) {
|
|
1824
1829
|
return {
|
|
@@ -1900,7 +1905,7 @@ var togglePresetFilter = function togglePresetFilter(filters, id, isSelected, is
|
|
|
1900
1905
|
if (filter.id === PresetFilterType.favourites) {
|
|
1901
1906
|
return isFavouritesEnabled;
|
|
1902
1907
|
}
|
|
1903
|
-
return !isAdmin || filter.id ===
|
|
1908
|
+
return !isAdmin || filter.id === PresetFilterType.system || filter.id === PresetFilterType.shared || filter.id === PresetFilterType.templates;
|
|
1904
1909
|
});
|
|
1905
1910
|
var allSelected = availableFilters.every(function (filter) {
|
|
1906
1911
|
return filter.isSelected;
|
|
@@ -2095,7 +2100,13 @@ var defaultViewPresetsFilters = [{
|
|
|
2095
2100
|
id: PresetFilterType.shared,
|
|
2096
2101
|
isSelected: true,
|
|
2097
2102
|
isDisabled: false
|
|
2103
|
+
}, {
|
|
2104
|
+
label: 'shared-filter-template-presets',
|
|
2105
|
+
id: PresetFilterType.templates,
|
|
2106
|
+
isSelected: true,
|
|
2107
|
+
isDisabled: false
|
|
2098
2108
|
}, favouriteFilterState];
|
|
2109
|
+
var ADMIN_VIEW_PRESET_FILTER_IDS = [PresetFilterType.system, PresetFilterType.shared, PresetFilterType.templates, PresetFilterType.favourites];
|
|
2099
2110
|
var pluginViewPresetsFilter = {
|
|
2100
2111
|
label: 'shared-filter-plugin-view-presets',
|
|
2101
2112
|
id: PresetFilterType.plugin,
|
|
@@ -2227,6 +2238,17 @@ var slice$1 = createSlice({
|
|
|
2227
2238
|
viewPresetsAdapter.setOne(draft, entity);
|
|
2228
2239
|
}
|
|
2229
2240
|
},
|
|
2241
|
+
// the view itself is replaced in viewPresets/listener
|
|
2242
|
+
selectViewTemplate: function selectViewTemplate(draft, action) {
|
|
2243
|
+
var panelId = action.payload.panelId;
|
|
2244
|
+
var entity = draft.entities[panelId];
|
|
2245
|
+
if (entity) {
|
|
2246
|
+
entity.activeViewPresetId = '';
|
|
2247
|
+
entity.error = undefined;
|
|
2248
|
+
entity.isViewPresetListDialogOpen = false;
|
|
2249
|
+
viewPresetsAdapter.setOne(draft, entity);
|
|
2250
|
+
}
|
|
2251
|
+
},
|
|
2230
2252
|
selectViewPlugin: function selectViewPlugin(draft, action) {
|
|
2231
2253
|
var _action$payload8 = action.payload,
|
|
2232
2254
|
panelId = _action$payload8.panelId,
|
|
@@ -2941,6 +2963,51 @@ var emptyViewPreset = function emptyViewPreset(componentType) {
|
|
|
2941
2963
|
initialProps: initialPropsByType[actualComponentType]
|
|
2942
2964
|
};
|
|
2943
2965
|
};
|
|
2966
|
+
var findViewTemplatePreset = function findViewTemplatePreset(templates, presetId) {
|
|
2967
|
+
return presetId ? (templates != null ? templates : []).find(function (template) {
|
|
2968
|
+
return template.id === presetId;
|
|
2969
|
+
}) : undefined;
|
|
2970
|
+
};
|
|
2971
|
+
var findViewTemplatePresetForComponentType = function findViewTemplatePresetForComponentType(templates, componentType) {
|
|
2972
|
+
return componentType ? (templates != null ? templates : []).find(function (template) {
|
|
2973
|
+
return template.componentType === componentType;
|
|
2974
|
+
}) : undefined;
|
|
2975
|
+
};
|
|
2976
|
+
var toTranslatedViewTemplatePreset = function toTranslatedViewTemplatePreset(template, t) {
|
|
2977
|
+
return Object.assign({}, template, {
|
|
2978
|
+
title: getTemplatePresetTitle(template, t),
|
|
2979
|
+
titleKey: undefined
|
|
2980
|
+
});
|
|
2981
|
+
};
|
|
2982
|
+
var toViewPresetFromTemplate = function toViewPresetFromTemplate(template, t) {
|
|
2983
|
+
var _template$initialProp;
|
|
2984
|
+
var componentType = template.componentType;
|
|
2985
|
+
var emptyPreset = emptyViewPreset(componentType);
|
|
2986
|
+
return Object.assign({}, emptyPreset, {
|
|
2987
|
+
title: getTemplatePresetTitle(template, t),
|
|
2988
|
+
"abstract": template["abstract"],
|
|
2989
|
+
description: template.description,
|
|
2990
|
+
initialProps: (_template$initialProp = template.initialProps) != null ? _template$initialProp : emptyPreset.initialProps
|
|
2991
|
+
});
|
|
2992
|
+
};
|
|
2993
|
+
var toViewTemplateListItem = function toViewTemplateListItem(template, t) {
|
|
2994
|
+
var _template$abstract;
|
|
2995
|
+
return {
|
|
2996
|
+
id: template.id,
|
|
2997
|
+
title: getTemplatePresetTitle(template, t),
|
|
2998
|
+
date: '',
|
|
2999
|
+
scope: 'system',
|
|
3000
|
+
"abstract": (_template$abstract = template["abstract"]) != null ? _template$abstract : '',
|
|
3001
|
+
description: template.description,
|
|
3002
|
+
labels: template.labels,
|
|
3003
|
+
isViewTemplate: true
|
|
3004
|
+
};
|
|
3005
|
+
};
|
|
3006
|
+
var toViewTemplateListItems = function toViewTemplateListItems(templates, t) {
|
|
3007
|
+
return (templates != null ? templates : []).map(function (template) {
|
|
3008
|
+
return toViewTemplateListItem(template, t);
|
|
3009
|
+
});
|
|
3010
|
+
};
|
|
2944
3011
|
|
|
2945
3012
|
/* *
|
|
2946
3013
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -3290,9 +3357,9 @@ var getViewPresetListFiltersForView = createSelector(getViewPresetById, function
|
|
|
3290
3357
|
}, function (viewPreset, _scope, isAdmin) {
|
|
3291
3358
|
var filters = (viewPreset == null ? void 0 : viewPreset.filters) || [];
|
|
3292
3359
|
if (isAdmin) {
|
|
3293
|
-
// Admin users: Only system and
|
|
3360
|
+
// Admin users: Only system, shared, template and favourite filters
|
|
3294
3361
|
return filters.filter(function (filter) {
|
|
3295
|
-
return
|
|
3362
|
+
return ADMIN_VIEW_PRESET_FILTER_IDS.includes(filter.id);
|
|
3296
3363
|
}).map(function (filter) {
|
|
3297
3364
|
return Object.assign({}, filter, {
|
|
3298
3365
|
isDisabled: false
|
|
@@ -4857,17 +4924,62 @@ viewPresetsListener.startListening({
|
|
|
4857
4924
|
return effect;
|
|
4858
4925
|
}()
|
|
4859
4926
|
});
|
|
4860
|
-
// select view preset
|
|
4861
4927
|
viewPresetsListener.startListening({
|
|
4862
|
-
actionCreator: viewPresetActions.
|
|
4928
|
+
actionCreator: viewPresetActions.selectViewTemplate,
|
|
4863
4929
|
effect: function () {
|
|
4864
4930
|
var _effect2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref4, listenerApi) {
|
|
4865
|
-
var payload, panelId,
|
|
4931
|
+
var payload, panelId, template, isMapAnimating, viewPreset;
|
|
4866
4932
|
return _regenerator().w(function (_context3) {
|
|
4867
4933
|
while (1) switch (_context3.n) {
|
|
4868
4934
|
case 0:
|
|
4869
4935
|
payload = _ref4.payload;
|
|
4870
4936
|
listenerApi.cancelActiveListeners();
|
|
4937
|
+
panelId = payload.panelId, template = payload.template;
|
|
4938
|
+
isMapAnimating = mapSelectors.isAnimating(listenerApi.getState(), panelId);
|
|
4939
|
+
if (isMapAnimating) {
|
|
4940
|
+
listenerApi.dispatch(mapActions.mapStopAnimation({
|
|
4941
|
+
mapId: panelId
|
|
4942
|
+
}));
|
|
4943
|
+
}
|
|
4944
|
+
viewPreset = toViewPresetFromTemplate(template); // A map keeps its state in the store, so it needs to be reset explicitly,
|
|
4945
|
+
// the other modules pick up the initialProps of the new view themselves
|
|
4946
|
+
if (viewPreset.componentType === 'Map') {
|
|
4947
|
+
listenerApi.dispatch(mapActions.setMapPreset({
|
|
4948
|
+
mapId: panelId,
|
|
4949
|
+
initialProps: viewPreset.initialProps
|
|
4950
|
+
}));
|
|
4951
|
+
}
|
|
4952
|
+
listenerApi.dispatch(workspaceActions.updateWorkspaceView({
|
|
4953
|
+
mosaicNodeId: panelId,
|
|
4954
|
+
viewPreset: viewPreset
|
|
4955
|
+
}));
|
|
4956
|
+
listenerApi.dispatch(viewPresetActions.fetchedViewPreset({
|
|
4957
|
+
panelId: panelId,
|
|
4958
|
+
viewPresetId: '',
|
|
4959
|
+
viewPreset: viewPreset
|
|
4960
|
+
}));
|
|
4961
|
+
case 1:
|
|
4962
|
+
return _context3.a(2);
|
|
4963
|
+
}
|
|
4964
|
+
}, _callee3);
|
|
4965
|
+
}));
|
|
4966
|
+
function effect(_x5, _x6) {
|
|
4967
|
+
return _effect2.apply(this, arguments);
|
|
4968
|
+
}
|
|
4969
|
+
return effect;
|
|
4970
|
+
}()
|
|
4971
|
+
});
|
|
4972
|
+
// select view preset
|
|
4973
|
+
viewPresetsListener.startListening({
|
|
4974
|
+
actionCreator: viewPresetActions.selectViewPreset,
|
|
4975
|
+
effect: function () {
|
|
4976
|
+
var _effect3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(_ref5, listenerApi) {
|
|
4977
|
+
var payload, panelId, _payload$viewPresetId, viewPresetId, isMapAnimating;
|
|
4978
|
+
return _regenerator().w(function (_context4) {
|
|
4979
|
+
while (1) switch (_context4.n) {
|
|
4980
|
+
case 0:
|
|
4981
|
+
payload = _ref5.payload;
|
|
4982
|
+
listenerApi.cancelActiveListeners();
|
|
4871
4983
|
panelId = payload.panelId, _payload$viewPresetId = payload.viewPresetId, viewPresetId = _payload$viewPresetId === void 0 ? '' : _payload$viewPresetId;
|
|
4872
4984
|
isMapAnimating = mapSelectors.isAnimating(listenerApi.getState(), panelId);
|
|
4873
4985
|
if (isMapAnimating) {
|
|
@@ -4898,12 +5010,12 @@ viewPresetsListener.startListening({
|
|
|
4898
5010
|
}));
|
|
4899
5011
|
}
|
|
4900
5012
|
case 1:
|
|
4901
|
-
return
|
|
5013
|
+
return _context4.a(2);
|
|
4902
5014
|
}
|
|
4903
|
-
},
|
|
5015
|
+
}, _callee4);
|
|
4904
5016
|
}));
|
|
4905
|
-
function effect(
|
|
4906
|
-
return
|
|
5017
|
+
function effect(_x7, _x8) {
|
|
5018
|
+
return _effect3.apply(this, arguments);
|
|
4907
5019
|
}
|
|
4908
5020
|
return effect;
|
|
4909
5021
|
}()
|
|
@@ -4912,19 +5024,19 @@ viewPresetsListener.startListening({
|
|
|
4912
5024
|
viewPresetsListener.startListening({
|
|
4913
5025
|
actionCreator: viewPresetActions.onSuccessViewPresetAction,
|
|
4914
5026
|
effect: function () {
|
|
4915
|
-
var
|
|
5027
|
+
var _effect4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(_ref6, listenerApi) {
|
|
4916
5028
|
var payload, action, viewPresetId, title, panelId, is_shared, activeMapPresetId, hasChanges;
|
|
4917
|
-
return _regenerator().w(function (
|
|
4918
|
-
while (1) switch (
|
|
5029
|
+
return _regenerator().w(function (_context5) {
|
|
5030
|
+
while (1) switch (_context5.n) {
|
|
4919
5031
|
case 0:
|
|
4920
|
-
payload =
|
|
5032
|
+
payload = _ref6.payload;
|
|
4921
5033
|
listenerApi.cancelActiveListeners();
|
|
4922
5034
|
action = payload.action, viewPresetId = payload.viewPresetId, title = payload.title, panelId = payload.panelId; // eslint-disable-next-line @typescript-eslint/naming-convention
|
|
4923
5035
|
is_shared = 'is_shared' in payload ? payload.is_shared : undefined;
|
|
4924
|
-
|
|
5036
|
+
_context5.n = 1;
|
|
4925
5037
|
return getQueryClient().invalidateQueries(viewpresetQueryOptions.getViewPreset(viewPresetId));
|
|
4926
5038
|
case 1:
|
|
4927
|
-
|
|
5039
|
+
_context5.n = 2;
|
|
4928
5040
|
return getQueryClient().invalidateQueries({
|
|
4929
5041
|
queryKey: viewpresetQueryOptions.keys.lists()
|
|
4930
5042
|
});
|
|
@@ -4956,12 +5068,12 @@ viewPresetsListener.startListening({
|
|
|
4956
5068
|
// TODO: use error handling of mapPreset https://gitlab.com/opengeoweb/opengeoweb/-/issues/3043
|
|
4957
5069
|
}
|
|
4958
5070
|
case 3:
|
|
4959
|
-
return
|
|
5071
|
+
return _context5.a(2);
|
|
4960
5072
|
}
|
|
4961
|
-
},
|
|
5073
|
+
}, _callee5);
|
|
4962
5074
|
}));
|
|
4963
|
-
function effect(
|
|
4964
|
-
return
|
|
5075
|
+
function effect(_x9, _x0) {
|
|
5076
|
+
return _effect4.apply(this, arguments);
|
|
4965
5077
|
}
|
|
4966
5078
|
return effect;
|
|
4967
5079
|
}()
|
|
@@ -6015,6 +6127,13 @@ var useFavouritePresets = function useFavouritePresets(type) {
|
|
|
6015
6127
|
};
|
|
6016
6128
|
};
|
|
6017
6129
|
|
|
6130
|
+
var useViewTemplatePresets = function useViewTemplatePresets() {
|
|
6131
|
+
return useQuery(Object.assign({}, workspaceQueryOptions.getTemplatePresets(), {
|
|
6132
|
+
select: function select(response) {
|
|
6133
|
+
return response.viewPresets;
|
|
6134
|
+
}
|
|
6135
|
+
}));
|
|
6136
|
+
};
|
|
6018
6137
|
var useDeleteViewPreset = function useDeleteViewPreset() {
|
|
6019
6138
|
var _useAuthenticationCon = useAuthenticationContext(),
|
|
6020
6139
|
auth = _useAuthenticationCon.auth;
|
|
@@ -7865,6 +7984,7 @@ var WorkspaceSelectList = function WorkspaceSelectList(_ref2) {
|
|
|
7865
7984
|
};
|
|
7866
7985
|
|
|
7867
7986
|
var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
7987
|
+
var _findViewTemplatePres, _ref8;
|
|
7868
7988
|
var panelId = _ref.panelId,
|
|
7869
7989
|
_ref$isLabelFilterOpe = _ref.isLabelFilterOpen,
|
|
7870
7990
|
isLabelFilterOpen = _ref$isLabelFilterOpe === void 0 ? false : _ref$isLabelFilterOpe,
|
|
@@ -7926,6 +8046,11 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
7926
8046
|
var _useViewPresets = useViewPresets(),
|
|
7927
8047
|
viewPresets = _useViewPresets.data,
|
|
7928
8048
|
isViewPresetsListFetching = _useViewPresets.isFetching;
|
|
8049
|
+
var _useViewTemplatePrese = useViewTemplatePresets(),
|
|
8050
|
+
viewTemplatePresets = _useViewTemplatePrese.data;
|
|
8051
|
+
var templateListItems = React.useMemo(function () {
|
|
8052
|
+
return toViewTemplateListItems(viewTemplatePresets, t);
|
|
8053
|
+
}, [viewTemplatePresets, t]);
|
|
7929
8054
|
var viewPresetListFilters = useSelector(function (store) {
|
|
7930
8055
|
return getViewPresetListFiltersForView(store, panelId, scope, isAdmin);
|
|
7931
8056
|
});
|
|
@@ -7950,11 +8075,8 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
7950
8075
|
return Object.values(viewPresetLabelFilters).flat().length;
|
|
7951
8076
|
}, [viewPresetLabelFilters]);
|
|
7952
8077
|
var filteredPresets = React.useMemo(function () {
|
|
7953
|
-
|
|
7954
|
-
|
|
7955
|
-
}
|
|
7956
|
-
return [];
|
|
7957
|
-
}, [viewPresets, viewPresetListFilters, username, isAdmin, viewPresetLabelFilters, viewPresetListSearchQuery, favourites.isFavourite, pluginCatalogAsPresets]);
|
|
8078
|
+
return filterAndSortPresets([].concat(viewPresets != null ? viewPresets : [], pluginCatalogAsPresets, templateListItems), viewPresetListFilters, username, isAdmin, viewPresetLabelFilters != null ? viewPresetLabelFilters : undefined, viewPresetListSearchQuery, favourites.isFavourite);
|
|
8079
|
+
}, [viewPresets, viewPresetListFilters, username, isAdmin, viewPresetLabelFilters, viewPresetListSearchQuery, favourites.isFavourite, pluginCatalogAsPresets, templateListItems]);
|
|
7958
8080
|
var labelsFormMethods = useForm({
|
|
7959
8081
|
defaultValues: {
|
|
7960
8082
|
labels: viewPresetLabelFilters
|
|
@@ -8015,16 +8137,22 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
8015
8137
|
}, [dispatch, panelId, pluginCatalog]);
|
|
8016
8138
|
var selectViewPreset = React.useCallback(/*#__PURE__*/function () {
|
|
8017
8139
|
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(viewPresetId) {
|
|
8018
|
-
var plugin;
|
|
8140
|
+
var plugin, template;
|
|
8019
8141
|
return _regenerator().w(function (_context) {
|
|
8020
8142
|
while (1) switch (_context.n) {
|
|
8021
8143
|
case 0:
|
|
8022
|
-
plugin = pluginCatalog == null ? void 0 : pluginCatalog[viewPresetId];
|
|
8144
|
+
plugin = pluginCatalog == null ? void 0 : pluginCatalog[viewPresetId];
|
|
8145
|
+
template = findViewTemplatePreset(viewTemplatePresets, viewPresetId); // only on loading a plugin view from outside geoweb, not when selecting a regular preset
|
|
8023
8146
|
if (plugin) {
|
|
8024
8147
|
dispatch(viewPresetActions.selectViewPlugin({
|
|
8025
8148
|
panelId: panelId,
|
|
8026
8149
|
pluginMetaData: plugin
|
|
8027
8150
|
}));
|
|
8151
|
+
} else if (template) {
|
|
8152
|
+
dispatch(viewPresetActions.selectViewTemplate({
|
|
8153
|
+
panelId: panelId,
|
|
8154
|
+
template: toTranslatedViewTemplatePreset(template, t)
|
|
8155
|
+
}));
|
|
8028
8156
|
} else {
|
|
8029
8157
|
dispatch(viewPresetActions.selectViewPreset({
|
|
8030
8158
|
panelId: panelId,
|
|
@@ -8039,7 +8167,7 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
8039
8167
|
return function (_x) {
|
|
8040
8168
|
return _ref4.apply(this, arguments);
|
|
8041
8169
|
};
|
|
8042
|
-
}(), [dispatch, panelId, pluginCatalog]);
|
|
8170
|
+
}(), [dispatch, panelId, pluginCatalog, t, viewTemplatePresets]);
|
|
8043
8171
|
var refreshViewPresets = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
8044
8172
|
return _regenerator().w(function (_context2) {
|
|
8045
8173
|
while (1) switch (_context2.n) {
|
|
@@ -8264,7 +8392,7 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
8264
8392
|
return filter.isSelected;
|
|
8265
8393
|
});
|
|
8266
8394
|
var showLabelFilterToggle = Boolean(onToggleLabelFilter);
|
|
8267
|
-
var
|
|
8395
|
+
var activeTemplateId = (_findViewTemplatePres = findViewTemplatePresetForComponentType(viewTemplatePresets, viewComponentType)) == null ? void 0 : _findViewTemplatePres.id;
|
|
8268
8396
|
var closeInfo = React.useCallback(function () {
|
|
8269
8397
|
setInfoPreset(undefined);
|
|
8270
8398
|
}, []);
|
|
@@ -8412,16 +8540,12 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
8412
8540
|
minHeight: 0
|
|
8413
8541
|
},
|
|
8414
8542
|
children: [jsx(WorkspaceSelectList, {
|
|
8415
|
-
currentSelectedId: activeViewPresetId || undefined,
|
|
8543
|
+
currentSelectedId: (_ref8 = activeViewPresetId || activeTemplateId) != null ? _ref8 : undefined,
|
|
8416
8544
|
favouritesDisabled: favourites.disabled,
|
|
8417
|
-
hideNewWorkspace: shouldHideNewWorkspace,
|
|
8418
8545
|
infoOpenPresetId: infoPreset == null ? void 0 : infoPreset.id,
|
|
8419
8546
|
isAdmin: isAdmin,
|
|
8420
8547
|
isEditable: isLoggedIn,
|
|
8421
8548
|
isFavourite: favourites.isFavourite,
|
|
8422
|
-
newPresets: [Object.assign({}, getEmptyWorkspaceListItem(t), {
|
|
8423
|
-
title: t('workspace-mappreset-new')
|
|
8424
|
-
})],
|
|
8425
8549
|
onClickWorkspacePreset: selectViewPreset,
|
|
8426
8550
|
onClickWorkspacePresetOption: onClickViewPresetOption,
|
|
8427
8551
|
onOpenPresetInfo: onOpenPresetInfo,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { UseQueryResult } from '@tanstack/react-query';
|
|
2
2
|
import type { UseMutationReturnType } from '@opengeoweb/api';
|
|
3
3
|
import type { ViewPreset } from '../../store/viewPresets/types';
|
|
4
|
-
import type { ViewPresetListItem } from '../../store/workspace/types';
|
|
4
|
+
import type { ViewPresetListItem, ViewTemplatePreset } from '../../store/workspace/types';
|
|
5
|
+
export declare const useViewTemplatePresets: () => UseQueryResult<ViewTemplatePreset[]>;
|
|
5
6
|
export declare const useDeleteViewPreset: () => UseMutationReturnType<Headers | null, {
|
|
6
7
|
id: string;
|
|
7
8
|
}>;
|
|
@@ -2,8 +2,10 @@ import type { Draft, PayloadAction } from '@reduxjs/toolkit';
|
|
|
2
2
|
import { SoundingsTypes } from '@opengeoweb/soundings';
|
|
3
3
|
import { layerTypes, mapEnums } from '@opengeoweb/store';
|
|
4
4
|
import { TimeSeriesTypes } from '@opengeoweb/time-series';
|
|
5
|
-
import type { ClearViewPresetLabelFiltersPayload, ErrorViewPresetPayload, FetchedViewPresetPayload, FetchViewPresetsPayload, OnSuccesViewPresetActionPayload, OpenViewPresetDialogPayload, RegisterViewPresetPayload, SavedViewPresetPayload, SaveViewPresetPayload, SearchWorkspaceFilter, SelectPluginPayload, SelectViewPresetPayload, SetActiveViewPresetIdPayload, SetFilterChipsPayload, SetSelectAllFilterChip, SetViewPresetHasChangePayload, SetViewPresetInlineOverridePayload, SetViewPresetLabelFiltersPayload, ToggleSelectFilterChip, ToggleViewPresetListDialogPayload, UnregisterViewPresetPayload, ViewPresetEntity, ViewPresetsListFilter, ViewPresetState } from './types';
|
|
5
|
+
import type { ClearViewPresetLabelFiltersPayload, ErrorViewPresetPayload, FetchedViewPresetPayload, FetchViewPresetsPayload, OnSuccesViewPresetActionPayload, OpenViewPresetDialogPayload, RegisterViewPresetPayload, SavedViewPresetPayload, SaveViewPresetPayload, SearchWorkspaceFilter, SelectPluginPayload, SelectViewPresetPayload, SelectViewTemplatePayload, SetActiveViewPresetIdPayload, SetFilterChipsPayload, SetSelectAllFilterChip, SetViewPresetHasChangePayload, SetViewPresetInlineOverridePayload, SetViewPresetLabelFiltersPayload, ToggleSelectFilterChip, ToggleViewPresetListDialogPayload, UnregisterViewPresetPayload, ViewPresetEntity, ViewPresetsListFilter, ViewPresetState } from './types';
|
|
6
|
+
import { PresetFilterType } from '../workspaceList/types';
|
|
6
7
|
export declare const defaultViewPresetsFilters: ViewPresetsListFilter[];
|
|
8
|
+
export declare const ADMIN_VIEW_PRESET_FILTER_IDS: (PresetFilterType | 'all')[];
|
|
7
9
|
export declare const pluginViewPresetsFilter: ViewPresetsListFilter;
|
|
8
10
|
export declare const viewPresetsAdapter: import("@reduxjs/toolkit").EntityAdapter<ViewPresetEntity, string>;
|
|
9
11
|
export declare const initialState: ViewPresetState;
|
|
@@ -23,6 +25,7 @@ export declare const viewPresetsReducer: import("redux").Reducer<ViewPresetState
|
|
|
23
25
|
setViewPresetInline: (draft: Draft<ViewPresetState>, action: PayloadAction<SetViewPresetInlineOverridePayload>) => void;
|
|
24
26
|
setActiveViewPresetId: (draft: Draft<ViewPresetState>, action: PayloadAction<SetActiveViewPresetIdPayload>) => void;
|
|
25
27
|
selectViewPreset: (draft: Draft<ViewPresetState>, action: PayloadAction<SelectViewPresetPayload>) => void;
|
|
28
|
+
selectViewTemplate: (draft: Draft<ViewPresetState>, action: PayloadAction<SelectViewTemplatePayload>) => void;
|
|
26
29
|
selectViewPlugin: (draft: Draft<ViewPresetState>, action: PayloadAction<SelectPluginPayload>) => void;
|
|
27
30
|
onSuccessViewPresetAction: (_draft: Draft<ViewPresetState>, _action: PayloadAction<OnSuccesViewPresetActionPayload>) => void;
|
|
28
31
|
registerViewPreset: (draft: Draft<ViewPresetState>, action: PayloadAction<RegisterViewPresetPayload>) => void;
|
|
@@ -5,7 +5,7 @@ import type { SystemScope } from '@opengeoweb/shared';
|
|
|
5
5
|
import type { SoundingsComponentType } from '@opengeoweb/soundings';
|
|
6
6
|
import type { SupportedComponentTypes as SupportedTimeSeriesComponentTypes } from '@opengeoweb/time-series';
|
|
7
7
|
import type { WarningListComponentType } from '@opengeoweb/warnings';
|
|
8
|
-
import type { ViewPresetListItem, WorkspaceLabelsConfigResponse, WorkspacePresetLabels, WorkspaceViewPresetComponentsLookupType } from '../workspace/types';
|
|
8
|
+
import type { ViewTemplatePreset, ViewPresetListItem, WorkspaceLabelsConfigResponse, WorkspacePresetLabels, WorkspaceViewPresetComponentsLookupType } from '../workspace/types';
|
|
9
9
|
import type { PresetFilterType } from '../workspaceList/types';
|
|
10
10
|
export declare const AVIATION_COMPONENT_TYPES: readonly ["AirmetModule", "SigmetModule"];
|
|
11
11
|
export type AviationComponentType = (typeof AVIATION_COMPONENT_TYPES)[number];
|
|
@@ -151,6 +151,9 @@ export interface SelectViewPresetPayload extends ViewPresetAction {
|
|
|
151
151
|
export interface SelectPluginPayload extends ViewPresetAction {
|
|
152
152
|
pluginMetaData?: PluginMeta;
|
|
153
153
|
}
|
|
154
|
+
export interface SelectViewTemplatePayload extends ViewPresetAction {
|
|
155
|
+
template: ViewTemplatePreset;
|
|
156
|
+
}
|
|
154
157
|
export interface RegisterViewPresetPayload extends ViewPresetAction {
|
|
155
158
|
viewPresetId: string;
|
|
156
159
|
filters?: ViewPresetsListFilter[];
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
+
import type { TFunction } from 'i18next';
|
|
1
2
|
import { snackbarTypes } from '@opengeoweb/snackbar';
|
|
2
3
|
import type { ViewPreset, WorkspaceSupportedComponentTypes } from './types';
|
|
3
4
|
import { PresetAction } from './types';
|
|
5
|
+
import type { ViewTemplatePreset, ViewPresetListItem } from '../workspace/types';
|
|
4
6
|
export declare const getSnackbarMessage: (action: PresetAction, title: string, is_shared?: boolean) => snackbarTypes.TranslatableMessage;
|
|
5
7
|
export declare const emptyViewPreset: (componentType?: WorkspaceSupportedComponentTypes | undefined) => ViewPreset;
|
|
8
|
+
export declare const findViewTemplatePreset: (templates: ViewTemplatePreset[] | undefined, presetId?: string) => ViewTemplatePreset | undefined;
|
|
9
|
+
export declare const findViewTemplatePresetForComponentType: (templates: ViewTemplatePreset[] | undefined, componentType?: WorkspaceSupportedComponentTypes) => ViewTemplatePreset | undefined;
|
|
10
|
+
export declare const toTranslatedViewTemplatePreset: (template: ViewTemplatePreset, t?: TFunction) => ViewTemplatePreset;
|
|
11
|
+
export declare const toViewPresetFromTemplate: (template: ViewTemplatePreset, t?: TFunction) => ViewPreset;
|
|
12
|
+
export declare const toViewTemplateListItem: (template: ViewTemplatePreset, t?: TFunction) => ViewPresetListItem;
|
|
13
|
+
export declare const toViewTemplateListItems: (templates: ViewTemplatePreset[] | undefined, t?: TFunction) => ViewPresetListItem[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengeoweb/workspace",
|
|
3
|
-
"version": "20.0
|
|
3
|
+
"version": "20.1.0",
|
|
4
4
|
"description": "GeoWeb Workspace library for the opengeoweb project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -21,33 +21,33 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"react-redux": "^9.2.0",
|
|
24
|
-
"@opengeoweb/shared": "20.0
|
|
25
|
-
"@opengeoweb/store": "20.0
|
|
26
|
-
"@opengeoweb/api": "20.0
|
|
24
|
+
"@opengeoweb/shared": "20.1.0",
|
|
25
|
+
"@opengeoweb/store": "20.1.0",
|
|
26
|
+
"@opengeoweb/api": "20.1.0",
|
|
27
27
|
"react-hook-form": "^7.50.1",
|
|
28
|
-
"@opengeoweb/theme": "20.0
|
|
28
|
+
"@opengeoweb/theme": "20.1.0",
|
|
29
29
|
"@reduxjs/toolkit": "^2.6.1",
|
|
30
|
-
"@opengeoweb/snackbar": "20.0
|
|
30
|
+
"@opengeoweb/snackbar": "20.1.0",
|
|
31
31
|
"react-window": "^2.2.6",
|
|
32
32
|
"lodash": "^4.18.1",
|
|
33
33
|
"axios": "^1.20.0",
|
|
34
34
|
"react-mosaic-component": "npm:react-mosaic-component-opengeoweb@^6.1.1-opengeoweb.1",
|
|
35
|
-
"@opengeoweb/form-fields": "20.0
|
|
36
|
-
"@opengeoweb/time-series": "20.0
|
|
37
|
-
"@opengeoweb/authentication": "20.0
|
|
38
|
-
"@opengeoweb/plugins": "20.0
|
|
39
|
-
"@opengeoweb/core": "20.0
|
|
40
|
-
"@opengeoweb/taf": "20.0
|
|
41
|
-
"@opengeoweb/sigmet-airmet": "20.0
|
|
42
|
-
"@opengeoweb/warnings": "20.0
|
|
43
|
-
"@opengeoweb/space-weather": "20.0
|
|
35
|
+
"@opengeoweb/form-fields": "20.1.0",
|
|
36
|
+
"@opengeoweb/time-series": "20.1.0",
|
|
37
|
+
"@opengeoweb/authentication": "20.1.0",
|
|
38
|
+
"@opengeoweb/plugins": "20.1.0",
|
|
39
|
+
"@opengeoweb/core": "20.1.0",
|
|
40
|
+
"@opengeoweb/taf": "20.1.0",
|
|
41
|
+
"@opengeoweb/sigmet-airmet": "20.1.0",
|
|
42
|
+
"@opengeoweb/warnings": "20.1.0",
|
|
43
|
+
"@opengeoweb/space-weather": "20.1.0",
|
|
44
44
|
"i18next": "^25.0.1",
|
|
45
45
|
"react-i18next": "^15.1.1",
|
|
46
46
|
"@mui/material": "^9.0.1",
|
|
47
|
-
"@opengeoweb/webmap-react": "20.0
|
|
47
|
+
"@opengeoweb/webmap-react": "20.1.0",
|
|
48
48
|
"@tanstack/react-query": "^5.85.5",
|
|
49
|
-
"@opengeoweb/soundings": "20.0
|
|
50
|
-
"@opengeoweb/knmi-components": "20.0
|
|
49
|
+
"@opengeoweb/soundings": "20.1.0",
|
|
50
|
+
"@opengeoweb/knmi-components": "20.1.0",
|
|
51
51
|
"@mui/system": "^9.0.1"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|