@opengeoweb/workspace 20.0.0 → 20.0.1
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 +321 -378
- package/dist/src/lib/api/types.d.ts +0 -2
- package/dist/src/lib/api/utils.d.ts +1 -2
- package/dist/src/lib/api/viewpreset-api/hooks.d.ts +4 -4
- package/dist/src/lib/api/workspace-api/hooks.d.ts +4 -5
- package/dist/src/lib/store/viewPresets/selectors.d.ts +0 -91
- package/dist/src/lib/store/viewPresets/types.d.ts +1 -1
- package/dist/src/lib/store/workspaceList/reducer.d.ts +6 -0
- package/dist/src/lib/store/workspaceList/selectors.d.ts +0 -22
- package/dist/src/lib/store/workspaceList/types.d.ts +1 -1
- package/dist/src/lib/store/workspaceList/utils.d.ts +5 -0
- package/dist/src/lib/utils/utils.d.ts +1 -1
- package/package.json +18 -18
package/dist/index.esm.js
CHANGED
|
@@ -7,7 +7,7 @@ import { chunk, cloneDeep, isEqual, isString } from 'lodash';
|
|
|
7
7
|
import { getLeaves, createBalancedTreeFromLeaves, MosaicContext, getAndAssertNodeAtPathExists, MosaicWindow, Mosaic } from 'react-mosaic-component';
|
|
8
8
|
import { queryOptions, useQueryClient, useQuery, useMutation, useIsMutating } from '@tanstack/react-query';
|
|
9
9
|
import { sessionStorageProvider, isAxiosError, getAxiosErrorMessage, isAuthError, isAxiosAuthError, SHARED_NAMESPACE, safelyInitI18nForTestsAndStories, sharedTranslations, ConfirmationServiceProvider, CustomIconButton, useConfirmationDialog, usePrevious, AlertBanner, CustomAccordion, CustomTooltip, linkifyText, dateUtils, SystemScope, SearchHighlight, ToggleMenu, SearchField, Filter, LastUpdateTime, renderCounter, CustomDialog, ToolContainer, CustomToggleButton, ConfirmationButtons } from '@opengeoweb/shared';
|
|
10
|
-
import { pluginsActions, getPluginState, pluginsReducer, PluginProvider, PluginDebugProvider, OverlayPluginMenuButton, usePluginCatalog } from '@opengeoweb/plugins';
|
|
10
|
+
import { pluginsActions, getPluginState, pluginsReducer, PluginProvider, PluginDebugProvider, OverlayPluginMenuButton, usePluginCatalog, OverlayPluginWindows } from '@opengeoweb/plugins';
|
|
11
11
|
import { warningsFiltersActions, publicWarningsSelectors, warningsTranslations, WARN_NAMESPACE } from '@opengeoweb/warnings';
|
|
12
12
|
import { snackbarTypes, snackbarActions, snackbarListener, snackbarReducer, SnackbarWrapperConnect } from '@opengeoweb/snackbar';
|
|
13
13
|
import { isAxiosError as isAxiosError$1 } from 'axios';
|
|
@@ -1226,6 +1226,11 @@ var workspacePresetsFallback = [
|
|
|
1226
1226
|
* Copyright 2026 - Finnish Meteorological Institute (FMI)
|
|
1227
1227
|
* Copyright 2026 - The Norwegian Meteorological Institute (MET Norway)
|
|
1228
1228
|
* */
|
|
1229
|
+
/*
|
|
1230
|
+
configureLibraryDefaults([LIB_KEY], {
|
|
1231
|
+
staleTime: 5 * 60 * 1000,
|
|
1232
|
+
});
|
|
1233
|
+
*/
|
|
1229
1234
|
var LIB_KEY = 'workspace-lib';
|
|
1230
1235
|
var getPresetBaseUrl = function getPresetBaseUrl() {
|
|
1231
1236
|
var config = sessionStorageProvider.getConfig();
|
|
@@ -1647,6 +1652,258 @@ var PresetFilterType;
|
|
|
1647
1652
|
PresetFilterType["favourites"] = "favourites";
|
|
1648
1653
|
})(PresetFilterType || (PresetFilterType = {}));
|
|
1649
1654
|
|
|
1655
|
+
/* eslint-disable no-redeclare */
|
|
1656
|
+
/* *
|
|
1657
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1658
|
+
* you may not use this file except in compliance with the License.
|
|
1659
|
+
* You may obtain a copy of the License at
|
|
1660
|
+
*
|
|
1661
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1662
|
+
*
|
|
1663
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1664
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1665
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1666
|
+
* See the License for the specific language governing permissions and
|
|
1667
|
+
* limitations under the License.
|
|
1668
|
+
*
|
|
1669
|
+
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
1670
|
+
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
1671
|
+
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
1672
|
+
* */
|
|
1673
|
+
var getSnackbarMessage$1 = function getSnackbarMessage(action, title, is_shared) {
|
|
1674
|
+
// Trim and add quotes
|
|
1675
|
+
var trimmedTitle = title.trim();
|
|
1676
|
+
switch (action) {
|
|
1677
|
+
case WorkspacePresetAction.DELETE:
|
|
1678
|
+
return {
|
|
1679
|
+
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
1680
|
+
key: 'workspace-list-success-delete',
|
|
1681
|
+
params: {
|
|
1682
|
+
TITLE: trimmedTitle
|
|
1683
|
+
}
|
|
1684
|
+
};
|
|
1685
|
+
case WorkspacePresetAction.DELETE_SYSTEM_PRESET:
|
|
1686
|
+
return {
|
|
1687
|
+
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
1688
|
+
key: 'workspace-list-success-delete-system',
|
|
1689
|
+
params: {
|
|
1690
|
+
TITLE: trimmedTitle
|
|
1691
|
+
}
|
|
1692
|
+
};
|
|
1693
|
+
case WorkspacePresetAction.DUPLICATE:
|
|
1694
|
+
return {
|
|
1695
|
+
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
1696
|
+
key: 'workspace-list-success-duplicate',
|
|
1697
|
+
params: {
|
|
1698
|
+
TITLE: trimmedTitle
|
|
1699
|
+
}
|
|
1700
|
+
};
|
|
1701
|
+
case WorkspacePresetAction.EDIT:
|
|
1702
|
+
return {
|
|
1703
|
+
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
1704
|
+
key: 'workspace-list-success-edit',
|
|
1705
|
+
params: {
|
|
1706
|
+
TITLE: trimmedTitle
|
|
1707
|
+
}
|
|
1708
|
+
};
|
|
1709
|
+
case WorkspacePresetAction.RESET:
|
|
1710
|
+
return {
|
|
1711
|
+
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
1712
|
+
key: 'workspace-list-success-reset',
|
|
1713
|
+
params: {
|
|
1714
|
+
TITLE: trimmedTitle
|
|
1715
|
+
}
|
|
1716
|
+
};
|
|
1717
|
+
case WorkspacePresetAction.SHARE:
|
|
1718
|
+
return {
|
|
1719
|
+
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
1720
|
+
key: is_shared ? 'workspace-list-success-unshare' : 'workspace-list-success-share',
|
|
1721
|
+
params: {
|
|
1722
|
+
TITLE: trimmedTitle
|
|
1723
|
+
}
|
|
1724
|
+
};
|
|
1725
|
+
default:
|
|
1726
|
+
return {
|
|
1727
|
+
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
1728
|
+
key: 'workspace-list-success-save',
|
|
1729
|
+
params: {
|
|
1730
|
+
TITLE: trimmedTitle
|
|
1731
|
+
}
|
|
1732
|
+
};
|
|
1733
|
+
}
|
|
1734
|
+
};
|
|
1735
|
+
function getEmptyWorkspaceListItem(t) {
|
|
1736
|
+
return {
|
|
1737
|
+
id: undefined,
|
|
1738
|
+
title: t ? t('workspace-new') : undefined,
|
|
1739
|
+
labels: undefined,
|
|
1740
|
+
scope: 'system',
|
|
1741
|
+
"abstract": '',
|
|
1742
|
+
viewType: 'singleWindow'
|
|
1743
|
+
};
|
|
1744
|
+
}
|
|
1745
|
+
function getEmptyMapWorkspace(t) {
|
|
1746
|
+
return Object.assign({}, getEmptyWorkspaceListItem(t), {
|
|
1747
|
+
views: {
|
|
1748
|
+
allIds: ['1_screen'],
|
|
1749
|
+
byId: {
|
|
1750
|
+
'1_screen': {
|
|
1751
|
+
title: t ? t('workspace-mappreset-new') : undefined,
|
|
1752
|
+
componentType: 'Map',
|
|
1753
|
+
initialProps: {
|
|
1754
|
+
mapPreset: {
|
|
1755
|
+
shouldShowLayerManager: true,
|
|
1756
|
+
dockedLayerManagerSize: 'sizeSmall'
|
|
1757
|
+
},
|
|
1758
|
+
syncGroupsIds: []
|
|
1759
|
+
}
|
|
1760
|
+
}
|
|
1761
|
+
}
|
|
1762
|
+
},
|
|
1763
|
+
mosaicNode: '1_screen'
|
|
1764
|
+
});
|
|
1765
|
+
}
|
|
1766
|
+
var getEmptyWorkspacePreset = function getEmptyWorkspacePreset() {
|
|
1767
|
+
return {
|
|
1768
|
+
scope: 'system',
|
|
1769
|
+
"abstract": '',
|
|
1770
|
+
views: {
|
|
1771
|
+
allIds: ['1_screen'],
|
|
1772
|
+
byId: {
|
|
1773
|
+
'1_screen': {
|
|
1774
|
+
componentType: 'Map',
|
|
1775
|
+
initialProps: {
|
|
1776
|
+
mapPreset: {
|
|
1777
|
+
shouldShowLayerManager: true,
|
|
1778
|
+
dockedLayerManagerSize: 'sizeSmall'
|
|
1779
|
+
},
|
|
1780
|
+
syncGroupsIds: []
|
|
1781
|
+
}
|
|
1782
|
+
}
|
|
1783
|
+
}
|
|
1784
|
+
},
|
|
1785
|
+
mosaicNode: '1_screen',
|
|
1786
|
+
viewType: 'singleWindow',
|
|
1787
|
+
username: 'global'
|
|
1788
|
+
};
|
|
1789
|
+
};
|
|
1790
|
+
var createCustomEmptyMapWorkspace = function createCustomEmptyMapWorkspace(emptyWorkspaceTitle, emptyMapWorkspaceTitle, customMapPreset) {
|
|
1791
|
+
var customEmptyMapWorkspace = cloneDeep(getEmptyWorkspacePreset());
|
|
1792
|
+
if (customMapPreset) {
|
|
1793
|
+
customEmptyMapWorkspace.views.byId['1_screen'].initialProps.mapPreset = customMapPreset;
|
|
1794
|
+
}
|
|
1795
|
+
customEmptyMapWorkspace.views.byId['1_screen'].title = emptyMapWorkspaceTitle;
|
|
1796
|
+
var emptyWorkspacePreset = Object.assign({}, customEmptyMapWorkspace, {
|
|
1797
|
+
title: emptyWorkspaceTitle
|
|
1798
|
+
});
|
|
1799
|
+
return emptyWorkspacePreset;
|
|
1800
|
+
};
|
|
1801
|
+
var LOCAL_SOUNDINGS_ID = 'newSoundingsWorkspace';
|
|
1802
|
+
var getNewSoundingsWorkspaceListItem = function getNewSoundingsWorkspaceListItem(t) {
|
|
1803
|
+
return {
|
|
1804
|
+
id: LOCAL_SOUNDINGS_ID,
|
|
1805
|
+
title: t ? t('workspace-new-soundings') : 'New soundings workspace',
|
|
1806
|
+
labels: undefined,
|
|
1807
|
+
scope: 'system',
|
|
1808
|
+
"abstract": '',
|
|
1809
|
+
viewType: 'multiWindow'
|
|
1810
|
+
};
|
|
1811
|
+
};
|
|
1812
|
+
function getNewSoundingsWorkspace(t) {
|
|
1813
|
+
return Object.assign({}, getNewSoundingsWorkspaceListItem(t), {
|
|
1814
|
+
views: {
|
|
1815
|
+
allIds: ['1_screen', '2_screen'],
|
|
1816
|
+
byId: {
|
|
1817
|
+
'1_screen': {
|
|
1818
|
+
mosaicNodeId: '1_screen',
|
|
1819
|
+
title: 'New soundings map',
|
|
1820
|
+
componentType: 'Map',
|
|
1821
|
+
initialProps: {
|
|
1822
|
+
mapPreset: {
|
|
1823
|
+
shouldShowLegend: false,
|
|
1824
|
+
shouldShowLayerManager: false
|
|
1825
|
+
}
|
|
1826
|
+
}
|
|
1827
|
+
},
|
|
1828
|
+
'2_screen': {
|
|
1829
|
+
mosaicNodeId: '2_screen',
|
|
1830
|
+
title: 'New soundings view',
|
|
1831
|
+
componentType: 'Soundings',
|
|
1832
|
+
initialProps: {}
|
|
1833
|
+
}
|
|
1834
|
+
}
|
|
1835
|
+
},
|
|
1836
|
+
linking: {
|
|
1837
|
+
'2_screen': ['1_screen']
|
|
1838
|
+
},
|
|
1839
|
+
syncGroups: [{
|
|
1840
|
+
id: 'Features_2_screen',
|
|
1841
|
+
sourcePanelId: '2_screen',
|
|
1842
|
+
type: 'SYNCGROUPS_TYPE_SETFEATURES'
|
|
1843
|
+
}],
|
|
1844
|
+
mosaicNode: {
|
|
1845
|
+
direction: 'row',
|
|
1846
|
+
first: '1_screen',
|
|
1847
|
+
second: '2_screen'
|
|
1848
|
+
}
|
|
1849
|
+
});
|
|
1850
|
+
}
|
|
1851
|
+
var getBEViewsFromState = function getBEViewsFromState(workspace) {
|
|
1852
|
+
var _workspace$views$allI, _workspace$views;
|
|
1853
|
+
var result = [];
|
|
1854
|
+
((_workspace$views$allI = workspace == null || (_workspace$views = workspace.views) == null ? void 0 : _workspace$views.allIds) != null ? _workspace$views$allI : []).forEach(function (id) {
|
|
1855
|
+
var _workspace$views$byId;
|
|
1856
|
+
var view = (_workspace$views$byId = workspace.views.byId[id]) != null ? _workspace$views$byId : {};
|
|
1857
|
+
result.push({
|
|
1858
|
+
mosaicNodeId: id,
|
|
1859
|
+
title: typeof view.title === 'string' && view.title.trim() ? view.title : id,
|
|
1860
|
+
componentType: view.componentType,
|
|
1861
|
+
initialProps: view.initialProps
|
|
1862
|
+
});
|
|
1863
|
+
});
|
|
1864
|
+
return result;
|
|
1865
|
+
};
|
|
1866
|
+
var togglePresetFilter = function togglePresetFilter(filters, id, isSelected, isAdmin, isFavouritesEnabled) {
|
|
1867
|
+
if (isAdmin === void 0) {
|
|
1868
|
+
isAdmin = false;
|
|
1869
|
+
}
|
|
1870
|
+
if (isFavouritesEnabled === void 0) {
|
|
1871
|
+
isFavouritesEnabled = true;
|
|
1872
|
+
}
|
|
1873
|
+
if (!filters.some(function (filter) {
|
|
1874
|
+
return filter.id === id;
|
|
1875
|
+
})) {
|
|
1876
|
+
return filters;
|
|
1877
|
+
}
|
|
1878
|
+
var availableFilters = filters.filter(function (filter) {
|
|
1879
|
+
if (filter.id === PresetFilterType.favourites) {
|
|
1880
|
+
return isFavouritesEnabled;
|
|
1881
|
+
}
|
|
1882
|
+
return !isAdmin || filter.id === 'system' || filter.id === 'shared';
|
|
1883
|
+
});
|
|
1884
|
+
var allSelected = availableFilters.every(function (filter) {
|
|
1885
|
+
return filter.isSelected;
|
|
1886
|
+
});
|
|
1887
|
+
var allUnselected = availableFilters.every(function (filter) {
|
|
1888
|
+
return filter.id === id ? !isSelected : !filter.isSelected;
|
|
1889
|
+
});
|
|
1890
|
+
return filters.map(function (filter) {
|
|
1891
|
+
if (allSelected) {
|
|
1892
|
+
return Object.assign({}, filter, {
|
|
1893
|
+
isSelected: filter.id === id && isSelected
|
|
1894
|
+
});
|
|
1895
|
+
}
|
|
1896
|
+
if (isAdmin && id !== PresetFilterType.favourites && filter.id !== PresetFilterType.favourites) {
|
|
1897
|
+
return Object.assign({}, filter, {
|
|
1898
|
+
isSelected: filter.id === id
|
|
1899
|
+
});
|
|
1900
|
+
}
|
|
1901
|
+
return Object.assign({}, filter, {
|
|
1902
|
+
isSelected: allUnselected || (filter.id === id ? isSelected : filter.isSelected)
|
|
1903
|
+
});
|
|
1904
|
+
});
|
|
1905
|
+
};
|
|
1906
|
+
|
|
1650
1907
|
/* *
|
|
1651
1908
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1652
1909
|
* you may not use this file except in compliance with the License.
|
|
@@ -1684,7 +1941,13 @@ var sharedFilterState = {
|
|
|
1684
1941
|
};
|
|
1685
1942
|
({
|
|
1686
1943
|
id: PresetFilterType.plugin});
|
|
1687
|
-
var
|
|
1944
|
+
var favouriteFilterState = {
|
|
1945
|
+
label: 'workspace-favourites',
|
|
1946
|
+
id: PresetFilterType.favourites,
|
|
1947
|
+
isSelected: true,
|
|
1948
|
+
isDisabled: false
|
|
1949
|
+
};
|
|
1950
|
+
var defaultPresetFilterState = [personalFilterState, systemFilterState, sharedFilterState, favouriteFilterState];
|
|
1688
1951
|
var initialState$2 = {
|
|
1689
1952
|
error: undefined,
|
|
1690
1953
|
isWorkspaceListDialogOpen: false,
|
|
@@ -1741,58 +2004,11 @@ var slice$2 = createSlice({
|
|
|
1741
2004
|
var _action$payload = action.payload,
|
|
1742
2005
|
id = _action$payload.id,
|
|
1743
2006
|
isSelected = _action$payload.isSelected,
|
|
1744
|
-
isAdmin = _action$payload.isAdmin
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
draft.workspaceListFilters = draft.workspaceListFilters.map(function (filter) {
|
|
1748
|
-
return Object.assign({}, filter, {
|
|
1749
|
-
isSelected: true
|
|
1750
|
-
});
|
|
1751
|
-
});
|
|
1752
|
-
return;
|
|
1753
|
-
}
|
|
1754
|
-
if (draft.favouritesOnly) {
|
|
1755
|
-
draft.favouritesOnly = false;
|
|
1756
|
-
}
|
|
1757
|
-
var relevantFilters = isAdmin ? draft.workspaceListFilters.filter(function (filter) {
|
|
1758
|
-
return filter.id === 'system' || filter.id === 'shared';
|
|
1759
|
-
}) : draft.workspaceListFilters;
|
|
1760
|
-
var index = draft.workspaceListFilters.findIndex(function (filter) {
|
|
1761
|
-
return filter.id === id;
|
|
1762
|
-
});
|
|
1763
|
-
if (index !== -1) {
|
|
1764
|
-
if (isAdmin) {
|
|
1765
|
-
draft.workspaceListFilters.forEach(function (filter, i) {
|
|
1766
|
-
draft.workspaceListFilters[i].isSelected = filter.id === id;
|
|
1767
|
-
});
|
|
1768
|
-
} else {
|
|
1769
|
-
var isAllSelected = relevantFilters.every(function (filter) {
|
|
1770
|
-
return filter.isSelected;
|
|
1771
|
-
});
|
|
1772
|
-
if (isAllSelected) {
|
|
1773
|
-
draft.workspaceListFilters.forEach(function (filter, i) {
|
|
1774
|
-
draft.workspaceListFilters[i].isSelected = filter.id === id ? isSelected : false;
|
|
1775
|
-
});
|
|
1776
|
-
} else {
|
|
1777
|
-
draft.workspaceListFilters[index] = Object.assign({}, draft.workspaceListFilters[index], {
|
|
1778
|
-
isSelected: isSelected
|
|
1779
|
-
});
|
|
1780
|
-
var isAllUnSelected = relevantFilters.every(function (filter) {
|
|
1781
|
-
return !filter.isSelected;
|
|
1782
|
-
});
|
|
1783
|
-
if (isAllUnSelected) {
|
|
1784
|
-
draft.workspaceListFilters.forEach(function (_, i) {
|
|
1785
|
-
draft.workspaceListFilters[i].isSelected = true;
|
|
1786
|
-
});
|
|
1787
|
-
}
|
|
1788
|
-
}
|
|
1789
|
-
}
|
|
1790
|
-
}
|
|
2007
|
+
isAdmin = _action$payload.isAdmin,
|
|
2008
|
+
isFavouritesEnabled = _action$payload.isFavouritesEnabled;
|
|
2009
|
+
draft.workspaceListFilters = togglePresetFilter(draft.workspaceListFilters, id, isSelected, isAdmin, isFavouritesEnabled);
|
|
1791
2010
|
},
|
|
1792
2011
|
setSelectAllFilterChip: function setSelectAllFilterChip(draft) {
|
|
1793
|
-
if (draft.favouritesOnly) {
|
|
1794
|
-
draft.favouritesOnly = false;
|
|
1795
|
-
}
|
|
1796
2012
|
draft.workspaceListFilters = draft.workspaceListFilters.map(function (filter) {
|
|
1797
2013
|
return Object.assign({}, filter, {
|
|
1798
2014
|
isSelected: true
|
|
@@ -1858,7 +2074,7 @@ var defaultViewPresetsFilters = [{
|
|
|
1858
2074
|
id: PresetFilterType.shared,
|
|
1859
2075
|
isSelected: true,
|
|
1860
2076
|
isDisabled: false
|
|
1861
|
-
}];
|
|
2077
|
+
}, favouriteFilterState];
|
|
1862
2078
|
var pluginViewPresetsFilter = {
|
|
1863
2079
|
label: 'shared-filter-plugin-view-presets',
|
|
1864
2080
|
id: PresetFilterType.plugin,
|
|
@@ -2048,64 +2264,17 @@ var slice$1 = createSlice({
|
|
|
2048
2264
|
id = _action$payload1.id,
|
|
2049
2265
|
isSelected = _action$payload1.isSelected,
|
|
2050
2266
|
panelId = _action$payload1.panelId,
|
|
2051
|
-
isAdmin = _action$payload1.isAdmin
|
|
2267
|
+
isAdmin = _action$payload1.isAdmin,
|
|
2268
|
+
isFavouritesEnabled = _action$payload1.isFavouritesEnabled;
|
|
2052
2269
|
var entity = draft.entities[panelId];
|
|
2053
2270
|
if (entity) {
|
|
2054
|
-
|
|
2055
|
-
entity.favouritesOnly = isSelected;
|
|
2056
|
-
entity.filters = entity.filters.map(function (filter) {
|
|
2057
|
-
return Object.assign({}, filter, {
|
|
2058
|
-
isSelected: true
|
|
2059
|
-
});
|
|
2060
|
-
});
|
|
2061
|
-
return;
|
|
2062
|
-
}
|
|
2063
|
-
if (entity.favouritesOnly) {
|
|
2064
|
-
entity.favouritesOnly = false;
|
|
2065
|
-
}
|
|
2066
|
-
var relevantFilters = isAdmin ? entity.filters.filter(function (filter) {
|
|
2067
|
-
return filter.id === 'system' || filter.id === 'shared';
|
|
2068
|
-
}) : entity.filters;
|
|
2069
|
-
var index = entity.filters.findIndex(function (filter) {
|
|
2070
|
-
return filter.id === id;
|
|
2071
|
-
});
|
|
2072
|
-
if (index !== -1) {
|
|
2073
|
-
if (isAdmin) {
|
|
2074
|
-
entity.filters.forEach(function (filter, i) {
|
|
2075
|
-
entity.filters[i].isSelected = filter.id === id;
|
|
2076
|
-
});
|
|
2077
|
-
} else {
|
|
2078
|
-
var isAllSelected = relevantFilters.every(function (filter) {
|
|
2079
|
-
return filter.isSelected;
|
|
2080
|
-
});
|
|
2081
|
-
if (isAllSelected) {
|
|
2082
|
-
entity.filters.forEach(function (filter, i) {
|
|
2083
|
-
entity.filters[i].isSelected = filter.id === id ? isSelected : false;
|
|
2084
|
-
});
|
|
2085
|
-
} else {
|
|
2086
|
-
entity.filters[index] = Object.assign({}, entity.filters[index], {
|
|
2087
|
-
isSelected: isSelected
|
|
2088
|
-
});
|
|
2089
|
-
var isAllUnSelected = relevantFilters.every(function (filter) {
|
|
2090
|
-
return !filter.isSelected;
|
|
2091
|
-
});
|
|
2092
|
-
if (isAllUnSelected) {
|
|
2093
|
-
entity.filters.forEach(function (_, i) {
|
|
2094
|
-
entity.filters[i].isSelected = true;
|
|
2095
|
-
});
|
|
2096
|
-
}
|
|
2097
|
-
}
|
|
2098
|
-
}
|
|
2099
|
-
}
|
|
2271
|
+
entity.filters = togglePresetFilter(entity.filters, id, isSelected, isAdmin, isFavouritesEnabled);
|
|
2100
2272
|
}
|
|
2101
2273
|
},
|
|
2102
2274
|
setSelectAllFilterChip: function setSelectAllFilterChip(draft, action) {
|
|
2103
2275
|
var panelId = action.payload.panelId;
|
|
2104
2276
|
var entity = draft.entities[panelId];
|
|
2105
2277
|
if (entity) {
|
|
2106
|
-
if (entity.favouritesOnly) {
|
|
2107
|
-
entity.favouritesOnly = false;
|
|
2108
|
-
}
|
|
2109
2278
|
entity.filters = entity.filters.map(function (filter) {
|
|
2110
2279
|
return Object.assign({}, filter, {
|
|
2111
2280
|
isSelected: true
|
|
@@ -2317,218 +2486,6 @@ var slice$1 = createSlice({
|
|
|
2317
2486
|
var viewPresetsReducer = slice$1.reducer,
|
|
2318
2487
|
viewPresetActions = slice$1.actions;
|
|
2319
2488
|
|
|
2320
|
-
/* eslint-disable no-redeclare */
|
|
2321
|
-
/* *
|
|
2322
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2323
|
-
* you may not use this file except in compliance with the License.
|
|
2324
|
-
* You may obtain a copy of the License at
|
|
2325
|
-
*
|
|
2326
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2327
|
-
*
|
|
2328
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
2329
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2330
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2331
|
-
* See the License for the specific language governing permissions and
|
|
2332
|
-
* limitations under the License.
|
|
2333
|
-
*
|
|
2334
|
-
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
2335
|
-
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
2336
|
-
* Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
|
|
2337
|
-
* */
|
|
2338
|
-
var getSnackbarMessage$1 = function getSnackbarMessage(action, title, is_shared) {
|
|
2339
|
-
// Trim and add quotes
|
|
2340
|
-
var trimmedTitle = title.trim();
|
|
2341
|
-
switch (action) {
|
|
2342
|
-
case WorkspacePresetAction.DELETE:
|
|
2343
|
-
return {
|
|
2344
|
-
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
2345
|
-
key: 'workspace-list-success-delete',
|
|
2346
|
-
params: {
|
|
2347
|
-
TITLE: trimmedTitle
|
|
2348
|
-
}
|
|
2349
|
-
};
|
|
2350
|
-
case WorkspacePresetAction.DELETE_SYSTEM_PRESET:
|
|
2351
|
-
return {
|
|
2352
|
-
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
2353
|
-
key: 'workspace-list-success-delete-system',
|
|
2354
|
-
params: {
|
|
2355
|
-
TITLE: trimmedTitle
|
|
2356
|
-
}
|
|
2357
|
-
};
|
|
2358
|
-
case WorkspacePresetAction.DUPLICATE:
|
|
2359
|
-
return {
|
|
2360
|
-
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
2361
|
-
key: 'workspace-list-success-duplicate',
|
|
2362
|
-
params: {
|
|
2363
|
-
TITLE: trimmedTitle
|
|
2364
|
-
}
|
|
2365
|
-
};
|
|
2366
|
-
case WorkspacePresetAction.EDIT:
|
|
2367
|
-
return {
|
|
2368
|
-
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
2369
|
-
key: 'workspace-list-success-edit',
|
|
2370
|
-
params: {
|
|
2371
|
-
TITLE: trimmedTitle
|
|
2372
|
-
}
|
|
2373
|
-
};
|
|
2374
|
-
case WorkspacePresetAction.RESET:
|
|
2375
|
-
return {
|
|
2376
|
-
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
2377
|
-
key: 'workspace-list-success-reset',
|
|
2378
|
-
params: {
|
|
2379
|
-
TITLE: trimmedTitle
|
|
2380
|
-
}
|
|
2381
|
-
};
|
|
2382
|
-
case WorkspacePresetAction.SHARE:
|
|
2383
|
-
return {
|
|
2384
|
-
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
2385
|
-
key: is_shared ? 'workspace-list-success-unshare' : 'workspace-list-success-share',
|
|
2386
|
-
params: {
|
|
2387
|
-
TITLE: trimmedTitle
|
|
2388
|
-
}
|
|
2389
|
-
};
|
|
2390
|
-
default:
|
|
2391
|
-
return {
|
|
2392
|
-
type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
|
|
2393
|
-
key: 'workspace-list-success-save',
|
|
2394
|
-
params: {
|
|
2395
|
-
TITLE: trimmedTitle
|
|
2396
|
-
}
|
|
2397
|
-
};
|
|
2398
|
-
}
|
|
2399
|
-
};
|
|
2400
|
-
function getEmptyWorkspaceListItem(t) {
|
|
2401
|
-
return {
|
|
2402
|
-
id: undefined,
|
|
2403
|
-
title: t ? t('workspace-new') : undefined,
|
|
2404
|
-
labels: undefined,
|
|
2405
|
-
scope: 'system',
|
|
2406
|
-
"abstract": '',
|
|
2407
|
-
viewType: 'singleWindow'
|
|
2408
|
-
};
|
|
2409
|
-
}
|
|
2410
|
-
function getEmptyMapWorkspace(t) {
|
|
2411
|
-
return Object.assign({}, getEmptyWorkspaceListItem(t), {
|
|
2412
|
-
views: {
|
|
2413
|
-
allIds: ['1_screen'],
|
|
2414
|
-
byId: {
|
|
2415
|
-
'1_screen': {
|
|
2416
|
-
title: t ? t('workspace-mappreset-new') : undefined,
|
|
2417
|
-
componentType: 'Map',
|
|
2418
|
-
initialProps: {
|
|
2419
|
-
mapPreset: {
|
|
2420
|
-
shouldShowLayerManager: true,
|
|
2421
|
-
dockedLayerManagerSize: 'sizeSmall'
|
|
2422
|
-
},
|
|
2423
|
-
syncGroupsIds: []
|
|
2424
|
-
}
|
|
2425
|
-
}
|
|
2426
|
-
}
|
|
2427
|
-
},
|
|
2428
|
-
mosaicNode: '1_screen'
|
|
2429
|
-
});
|
|
2430
|
-
}
|
|
2431
|
-
var getEmptyWorkspacePreset = function getEmptyWorkspacePreset() {
|
|
2432
|
-
return {
|
|
2433
|
-
scope: 'system',
|
|
2434
|
-
"abstract": '',
|
|
2435
|
-
views: {
|
|
2436
|
-
allIds: ['1_screen'],
|
|
2437
|
-
byId: {
|
|
2438
|
-
'1_screen': {
|
|
2439
|
-
componentType: 'Map',
|
|
2440
|
-
initialProps: {
|
|
2441
|
-
mapPreset: {
|
|
2442
|
-
shouldShowLayerManager: true,
|
|
2443
|
-
dockedLayerManagerSize: 'sizeSmall'
|
|
2444
|
-
},
|
|
2445
|
-
syncGroupsIds: []
|
|
2446
|
-
}
|
|
2447
|
-
}
|
|
2448
|
-
}
|
|
2449
|
-
},
|
|
2450
|
-
mosaicNode: '1_screen',
|
|
2451
|
-
viewType: 'singleWindow',
|
|
2452
|
-
username: 'global'
|
|
2453
|
-
};
|
|
2454
|
-
};
|
|
2455
|
-
var createCustomEmptyMapWorkspace = function createCustomEmptyMapWorkspace(emptyWorkspaceTitle, emptyMapWorkspaceTitle, customMapPreset) {
|
|
2456
|
-
var customEmptyMapWorkspace = cloneDeep(getEmptyWorkspacePreset());
|
|
2457
|
-
if (customMapPreset) {
|
|
2458
|
-
customEmptyMapWorkspace.views.byId['1_screen'].initialProps.mapPreset = customMapPreset;
|
|
2459
|
-
}
|
|
2460
|
-
customEmptyMapWorkspace.views.byId['1_screen'].title = emptyMapWorkspaceTitle;
|
|
2461
|
-
var emptyWorkspacePreset = Object.assign({}, customEmptyMapWorkspace, {
|
|
2462
|
-
title: emptyWorkspaceTitle
|
|
2463
|
-
});
|
|
2464
|
-
return emptyWorkspacePreset;
|
|
2465
|
-
};
|
|
2466
|
-
var LOCAL_SOUNDINGS_ID = 'newSoundingsWorkspace';
|
|
2467
|
-
var getNewSoundingsWorkspaceListItem = function getNewSoundingsWorkspaceListItem(t) {
|
|
2468
|
-
return {
|
|
2469
|
-
id: LOCAL_SOUNDINGS_ID,
|
|
2470
|
-
title: t ? t('workspace-new-soundings') : 'New soundings workspace',
|
|
2471
|
-
labels: undefined,
|
|
2472
|
-
scope: 'system',
|
|
2473
|
-
"abstract": '',
|
|
2474
|
-
viewType: 'multiWindow'
|
|
2475
|
-
};
|
|
2476
|
-
};
|
|
2477
|
-
function getNewSoundingsWorkspace(t) {
|
|
2478
|
-
return Object.assign({}, getNewSoundingsWorkspaceListItem(t), {
|
|
2479
|
-
views: {
|
|
2480
|
-
allIds: ['1_screen', '2_screen'],
|
|
2481
|
-
byId: {
|
|
2482
|
-
'1_screen': {
|
|
2483
|
-
mosaicNodeId: '1_screen',
|
|
2484
|
-
title: 'New soundings map',
|
|
2485
|
-
componentType: 'Map',
|
|
2486
|
-
initialProps: {
|
|
2487
|
-
mapPreset: {
|
|
2488
|
-
shouldShowLegend: false,
|
|
2489
|
-
shouldShowLayerManager: false
|
|
2490
|
-
}
|
|
2491
|
-
}
|
|
2492
|
-
},
|
|
2493
|
-
'2_screen': {
|
|
2494
|
-
mosaicNodeId: '2_screen',
|
|
2495
|
-
title: 'New soundings view',
|
|
2496
|
-
componentType: 'Soundings',
|
|
2497
|
-
initialProps: {}
|
|
2498
|
-
}
|
|
2499
|
-
}
|
|
2500
|
-
},
|
|
2501
|
-
linking: {
|
|
2502
|
-
'2_screen': ['1_screen']
|
|
2503
|
-
},
|
|
2504
|
-
syncGroups: [{
|
|
2505
|
-
id: 'Features_2_screen',
|
|
2506
|
-
sourcePanelId: '2_screen',
|
|
2507
|
-
type: 'SYNCGROUPS_TYPE_SETFEATURES'
|
|
2508
|
-
}],
|
|
2509
|
-
mosaicNode: {
|
|
2510
|
-
direction: 'row',
|
|
2511
|
-
first: '1_screen',
|
|
2512
|
-
second: '2_screen'
|
|
2513
|
-
}
|
|
2514
|
-
});
|
|
2515
|
-
}
|
|
2516
|
-
var getBEViewsFromState = function getBEViewsFromState(workspace) {
|
|
2517
|
-
var _workspace$views$allI, _workspace$views;
|
|
2518
|
-
var result = [];
|
|
2519
|
-
((_workspace$views$allI = workspace == null || (_workspace$views = workspace.views) == null ? void 0 : _workspace$views.allIds) != null ? _workspace$views$allI : []).forEach(function (id) {
|
|
2520
|
-
var _workspace$views$byId;
|
|
2521
|
-
var view = (_workspace$views$byId = workspace.views.byId[id]) != null ? _workspace$views$byId : {};
|
|
2522
|
-
result.push({
|
|
2523
|
-
mosaicNodeId: id,
|
|
2524
|
-
title: typeof view.title === 'string' && view.title.trim() ? view.title : id,
|
|
2525
|
-
componentType: view.componentType,
|
|
2526
|
-
initialProps: view.initialProps
|
|
2527
|
-
});
|
|
2528
|
-
});
|
|
2529
|
-
return result;
|
|
2530
|
-
};
|
|
2531
|
-
|
|
2532
2489
|
var initialState = {
|
|
2533
2490
|
id: '',
|
|
2534
2491
|
title: '',
|
|
@@ -3314,7 +3271,7 @@ var getViewPresetListFiltersForView = createSelector(getViewPresetById, function
|
|
|
3314
3271
|
if (isAdmin) {
|
|
3315
3272
|
// Admin users: Only system and shared filters
|
|
3316
3273
|
return filters.filter(function (filter) {
|
|
3317
|
-
return filter.id === 'system' || filter.id === 'shared';
|
|
3274
|
+
return filter.id === 'system' || filter.id === 'shared' || filter.id === 'favourites';
|
|
3318
3275
|
}).map(function (filter) {
|
|
3319
3276
|
return Object.assign({}, filter, {
|
|
3320
3277
|
isDisabled: false
|
|
@@ -3345,10 +3302,6 @@ var getViewPresetLabelFilters = createSelector(getViewPresetById, function (_sto
|
|
|
3345
3302
|
}, function (viewPreset) {
|
|
3346
3303
|
return viewPreset == null ? void 0 : viewPreset.labelFilters;
|
|
3347
3304
|
}, selectorMemoizationOptions);
|
|
3348
|
-
var getFavouritesOnly$1 = createSelector(getViewPresetById, function (entity) {
|
|
3349
|
-
var _entity$favouritesOnl;
|
|
3350
|
-
return (_entity$favouritesOnl = entity == null ? void 0 : entity.favouritesOnly) != null ? _entity$favouritesOnl : false;
|
|
3351
|
-
});
|
|
3352
3305
|
|
|
3353
3306
|
/* *
|
|
3354
3307
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -3774,7 +3727,7 @@ var getWorkspaceListFilters = createSelector(function (store) {
|
|
|
3774
3727
|
if (isAdmin) {
|
|
3775
3728
|
// Only return system and shared for admins
|
|
3776
3729
|
return filters.filter(function (filter) {
|
|
3777
|
-
return filter.id === 'system' || filter.id === 'shared';
|
|
3730
|
+
return filter.id === 'system' || filter.id === 'shared' || filter.id === 'favourites';
|
|
3778
3731
|
}).map(function (filter) {
|
|
3779
3732
|
return Object.assign({}, filter, {
|
|
3780
3733
|
isDisabled: false
|
|
@@ -3799,17 +3752,6 @@ var getWorkspaceLabelFilters = createSelector(getWorkspaceListStore, function (s
|
|
|
3799
3752
|
}, function (state) {
|
|
3800
3753
|
return state.workspaceLabelFilters;
|
|
3801
3754
|
}, selectorMemoizationOptions);
|
|
3802
|
-
var getFavouritesOnly = createSelector(getWorkspaceListStore, function (state) {
|
|
3803
|
-
var _state$favouritesOnly;
|
|
3804
|
-
return (_state$favouritesOnly = state == null ? void 0 : state.favouritesOnly) != null ? _state$favouritesOnly : false;
|
|
3805
|
-
});
|
|
3806
|
-
var filterAndSortFavouritePresets = function filterAndSortFavouritePresets(presets, isFavourite, favouritesOnly) {
|
|
3807
|
-
return presets.filter(function (preset) {
|
|
3808
|
-
return !favouritesOnly || isFavourite(preset);
|
|
3809
|
-
}).sort(function (first, second) {
|
|
3810
|
-
return Number(isFavourite(second)) - Number(isFavourite(first));
|
|
3811
|
-
});
|
|
3812
|
-
};
|
|
3813
3755
|
|
|
3814
3756
|
var emptyWorkspaceBEData = Object.assign({}, getEmptyMapWorkspace(), {
|
|
3815
3757
|
views: [{
|
|
@@ -6310,7 +6252,12 @@ var humanizeLabelStrings = function humanizeLabelStrings(value) {
|
|
|
6310
6252
|
return match.toUpperCase();
|
|
6311
6253
|
});
|
|
6312
6254
|
};
|
|
6313
|
-
var filterAndSortPresets = function filterAndSortPresets(presets, selectedFilters, username, isAdmin, labelFilters, searchQuery) {
|
|
6255
|
+
var filterAndSortPresets = function filterAndSortPresets(presets, selectedFilters, username, isAdmin, labelFilters, searchQuery, isFavourite) {
|
|
6256
|
+
if (isFavourite === void 0) {
|
|
6257
|
+
isFavourite = function isFavourite() {
|
|
6258
|
+
return false;
|
|
6259
|
+
};
|
|
6260
|
+
}
|
|
6314
6261
|
var searchFiltered = searchQuery ? presets.filter(function (preset) {
|
|
6315
6262
|
var terms = searchQuery.toLowerCase().trim().split(/\s+/).filter(Boolean);
|
|
6316
6263
|
var fields = [preset.title, preset["abstract"], preset.description].filter(Boolean).map(function (field) {
|
|
@@ -6341,7 +6288,7 @@ var filterAndSortPresets = function filterAndSortPresets(presets, selectedFilter
|
|
|
6341
6288
|
// Regular users: Keep everything
|
|
6342
6289
|
return true;
|
|
6343
6290
|
}) : searchFiltered.filter(function (preset) {
|
|
6344
|
-
return selectedIds.includes(PresetFilterType.system) && preset.scope === 'system' || selectedIds.includes(PresetFilterType.personal) && preset.scope === 'user' && preset.username === username || selectedIds.includes(PresetFilterType.shared) && preset.scope === 'user' && preset.is_shared && (isAdmin || preset.username !== username) || selectedIds.includes(PresetFilterType.plugin) && preset.scope === 'plugin';
|
|
6291
|
+
return selectedIds.includes(PresetFilterType.favourites) && isFavourite(preset) || selectedIds.includes(PresetFilterType.system) && preset.scope === 'system' || selectedIds.includes(PresetFilterType.personal) && preset.scope === 'user' && preset.username === username || selectedIds.includes(PresetFilterType.shared) && preset.scope === 'user' && preset.is_shared && (isAdmin || preset.username !== username) || selectedIds.includes(PresetFilterType.plugin) && preset.scope === 'plugin';
|
|
6345
6292
|
});
|
|
6346
6293
|
var labelFiltered = function () {
|
|
6347
6294
|
if (!labelFilters) {
|
|
@@ -6409,7 +6356,9 @@ var filterAndSortPresets = function filterAndSortPresets(presets, selectedFilter
|
|
|
6409
6356
|
});
|
|
6410
6357
|
});
|
|
6411
6358
|
});
|
|
6412
|
-
return filteredByQuery
|
|
6359
|
+
return filteredByQuery.slice().sort(function (first, second) {
|
|
6360
|
+
return Number(isFavourite(second)) - Number(isFavourite(first));
|
|
6361
|
+
});
|
|
6413
6362
|
};
|
|
6414
6363
|
|
|
6415
6364
|
var VIEW_TYPE_KEY = 'viewType';
|
|
@@ -7834,9 +7783,6 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
7834
7783
|
var _useWorkspaceTranslat = useWorkspaceTranslation(),
|
|
7835
7784
|
t = _useWorkspaceTranslat.t;
|
|
7836
7785
|
var favourites = useFavouritePresets('view');
|
|
7837
|
-
var selectedFavouritesOnly = useSelector(function (state) {
|
|
7838
|
-
return getFavouritesOnly$1(state, panelId);
|
|
7839
|
-
});
|
|
7840
7786
|
var dispatch = useDispatch();
|
|
7841
7787
|
var queryClient = useQueryClient();
|
|
7842
7788
|
var store = useStore();
|
|
@@ -7844,7 +7790,6 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
7844
7790
|
currentRole = _useAuthenticationCon.currentRole,
|
|
7845
7791
|
isLoggedIn = _useAuthenticationCon.isLoggedIn,
|
|
7846
7792
|
auth = _useAuthenticationCon.auth;
|
|
7847
|
-
var favouritesOnly = isLoggedIn && selectedFavouritesOnly;
|
|
7848
7793
|
var username = (auth == null ? void 0 : auth.username) || '';
|
|
7849
7794
|
var isAdmin = (currentRole == null ? void 0 : currentRole.name) === GEOWEB_ROLE_PRESETS_ADMIN.name;
|
|
7850
7795
|
var scope = !isAdmin ? 'user' : 'system';
|
|
@@ -7913,13 +7858,12 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
7913
7858
|
}
|
|
7914
7859
|
return Object.values(viewPresetLabelFilters).flat().length;
|
|
7915
7860
|
}, [viewPresetLabelFilters]);
|
|
7916
|
-
var
|
|
7861
|
+
var filteredPresets = React.useMemo(function () {
|
|
7917
7862
|
if (viewPresets) {
|
|
7918
|
-
return [].concat(filterAndSortPresets([].concat(viewPresets, pluginCatalogAsPresets), viewPresetListFilters, username, isAdmin, viewPresetLabelFilters != null ? viewPresetLabelFilters : undefined, viewPresetListSearchQuery));
|
|
7863
|
+
return [].concat(filterAndSortPresets([].concat(viewPresets, pluginCatalogAsPresets), viewPresetListFilters, username, isAdmin, viewPresetLabelFilters != null ? viewPresetLabelFilters : undefined, viewPresetListSearchQuery, favourites.isFavourite));
|
|
7919
7864
|
}
|
|
7920
7865
|
return [];
|
|
7921
|
-
}, [viewPresets, viewPresetListFilters, username, isAdmin, viewPresetLabelFilters, viewPresetListSearchQuery, pluginCatalogAsPresets]);
|
|
7922
|
-
var filteredPresets = filterAndSortFavouritePresets(matchingPresets, favourites.isFavourite, favouritesOnly);
|
|
7866
|
+
}, [viewPresets, viewPresetListFilters, username, isAdmin, viewPresetLabelFilters, viewPresetListSearchQuery, favourites.isFavourite, pluginCatalogAsPresets]);
|
|
7923
7867
|
var labelsFormMethods = useForm({
|
|
7924
7868
|
defaultValues: {
|
|
7925
7869
|
labels: viewPresetLabelFilters
|
|
@@ -8199,9 +8143,10 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
8199
8143
|
id: id,
|
|
8200
8144
|
isSelected: isSelected,
|
|
8201
8145
|
panelId: panelId,
|
|
8202
|
-
isAdmin: isAdmin
|
|
8146
|
+
isAdmin: isAdmin,
|
|
8147
|
+
isFavouritesEnabled: isLoggedIn
|
|
8203
8148
|
}));
|
|
8204
|
-
}, [dispatch, panelId, isAdmin]);
|
|
8149
|
+
}, [dispatch, panelId, isAdmin, isLoggedIn]);
|
|
8205
8150
|
var setSelectAllFilterChip = React.useCallback(function () {
|
|
8206
8151
|
dispatch(viewPresetActions.setSelectAllFilterChip({
|
|
8207
8152
|
panelId: panelId
|
|
@@ -8222,7 +8167,9 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
8222
8167
|
panelId: panelId
|
|
8223
8168
|
}));
|
|
8224
8169
|
}, [dispatch, panelId]);
|
|
8225
|
-
var isAllSelectedForFilters = viewPresetListFilters.
|
|
8170
|
+
var isAllSelectedForFilters = viewPresetListFilters.filter(function (filter) {
|
|
8171
|
+
return isLoggedIn || filter.id !== 'favourites';
|
|
8172
|
+
}).every(function (filter) {
|
|
8226
8173
|
return filter.isSelected;
|
|
8227
8174
|
});
|
|
8228
8175
|
var showLabelFilterToggle = Boolean(onToggleLabelFilter);
|
|
@@ -8329,17 +8276,14 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
8329
8276
|
},
|
|
8330
8277
|
children: jsx(Filter, {
|
|
8331
8278
|
activeLabelFilterCount: activeLabelFilterCount,
|
|
8332
|
-
filters:
|
|
8279
|
+
filters: viewPresetListFilters.map(function (filter) {
|
|
8333
8280
|
return Object.assign({}, filter, {
|
|
8334
|
-
|
|
8281
|
+
label: filter.id === 'favourites' ? t('workspace-favourites') : filter.label,
|
|
8282
|
+
isSelected: !isAllSelectedForFilters && filter.isSelected && (filter.id !== 'favourites' || isLoggedIn),
|
|
8283
|
+
isDisabled: filter.id === 'favourites' ? !isLoggedIn : filter.isDisabled
|
|
8335
8284
|
});
|
|
8336
|
-
}),
|
|
8337
|
-
|
|
8338
|
-
label: t('workspace-favourites'),
|
|
8339
|
-
isSelected: favouritesOnly,
|
|
8340
|
-
isDisabled: !isLoggedIn
|
|
8341
|
-
}]),
|
|
8342
|
-
isAllSelected: isAllSelectedForFilters ? !favouritesOnly : false,
|
|
8285
|
+
}),
|
|
8286
|
+
isAllSelected: isAllSelectedForFilters,
|
|
8343
8287
|
isLabelFilterOpen: isLabelFilterOpen,
|
|
8344
8288
|
onClickFilterChip: onClickFilterChip,
|
|
8345
8289
|
onSearch: onSearchFilter,
|
|
@@ -8379,7 +8323,7 @@ var ViewPresetMenuListConnect = function ViewPresetMenuListConnect(_ref) {
|
|
|
8379
8323
|
children: [jsx(WorkspaceSelectList, {
|
|
8380
8324
|
currentSelectedId: activeViewPresetId || undefined,
|
|
8381
8325
|
favouritesDisabled: favourites.disabled,
|
|
8382
|
-
hideNewWorkspace: shouldHideNewWorkspace
|
|
8326
|
+
hideNewWorkspace: shouldHideNewWorkspace,
|
|
8383
8327
|
infoOpenPresetId: infoPreset == null ? void 0 : infoPreset.id,
|
|
8384
8328
|
isAdmin: isAdmin,
|
|
8385
8329
|
isEditable: isLoggedIn,
|
|
@@ -8617,9 +8561,6 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
8617
8561
|
isLabelFilterOpen = _ref$isLabelFilterOpe === void 0 ? false : _ref$isLabelFilterOpe,
|
|
8618
8562
|
onToggleLabelFilter = _ref.onToggleLabelFilter;
|
|
8619
8563
|
var favourites = useFavouritePresets('workspace');
|
|
8620
|
-
var selectedFavouritesOnly = useSelector(function (state) {
|
|
8621
|
-
return getFavouritesOnly(state);
|
|
8622
|
-
});
|
|
8623
8564
|
var dispatch = useDispatch();
|
|
8624
8565
|
var _useWorkspaceTranslat = useWorkspaceTranslation(),
|
|
8625
8566
|
t = _useWorkspaceTranslat.t;
|
|
@@ -8627,7 +8568,6 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
8627
8568
|
currentRole = _useAuthenticationCon.currentRole,
|
|
8628
8569
|
isLoggedIn = _useAuthenticationCon.isLoggedIn,
|
|
8629
8570
|
auth = _useAuthenticationCon.auth;
|
|
8630
|
-
var favouritesOnly = isLoggedIn && selectedFavouritesOnly;
|
|
8631
8571
|
var username = (auth == null ? void 0 : auth.username) || '';
|
|
8632
8572
|
var isAdmin = (currentRole == null ? void 0 : currentRole.name) === GEOWEB_ROLE_PRESETS_ADMIN.name;
|
|
8633
8573
|
var scope = !isAdmin ? 'user' : 'system';
|
|
@@ -8658,10 +8598,9 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
8658
8598
|
}
|
|
8659
8599
|
return Object.values(labelFilters).flat().length;
|
|
8660
8600
|
}, [labelFilters]);
|
|
8661
|
-
var
|
|
8662
|
-
return filterAndSortPresets(workspacePresets, selectedFilters, username, isAdmin, labelFilters != null ? labelFilters : undefined, workspaceSearchQuery);
|
|
8663
|
-
}, [workspacePresets, selectedFilters, username, isAdmin, labelFilters, workspaceSearchQuery]);
|
|
8664
|
-
var filteredPresets = filterAndSortFavouritePresets(matchingPresets, favourites.isFavourite, favouritesOnly);
|
|
8601
|
+
var filteredPresets = React.useMemo(function () {
|
|
8602
|
+
return filterAndSortPresets(workspacePresets, selectedFilters, username, isAdmin, labelFilters != null ? labelFilters : undefined, workspaceSearchQuery, favourites.isFavourite);
|
|
8603
|
+
}, [workspacePresets, selectedFilters, username, isAdmin, labelFilters, workspaceSearchQuery, favourites.isFavourite]);
|
|
8665
8604
|
var infoPanelAnchorRef = React.useRef(null);
|
|
8666
8605
|
var _React$useState = React.useState(),
|
|
8667
8606
|
infoPreset = _React$useState[0],
|
|
@@ -8707,9 +8646,10 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
8707
8646
|
dispatch(workspaceListActions.toggleSelectFilterChip({
|
|
8708
8647
|
id: id,
|
|
8709
8648
|
isSelected: isSelected,
|
|
8710
|
-
isAdmin: isAdmin
|
|
8649
|
+
isAdmin: isAdmin,
|
|
8650
|
+
isFavouritesEnabled: isLoggedIn
|
|
8711
8651
|
}));
|
|
8712
|
-
}, [dispatch, isAdmin]);
|
|
8652
|
+
}, [dispatch, isAdmin, isLoggedIn]);
|
|
8713
8653
|
var setSelectAllFilterChip = React.useCallback(function () {
|
|
8714
8654
|
dispatch(workspaceListActions.setSelectAllFilterChip());
|
|
8715
8655
|
}, [dispatch]);
|
|
@@ -8965,7 +8905,9 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
8965
8905
|
return _ref2.apply(this, arguments);
|
|
8966
8906
|
};
|
|
8967
8907
|
}();
|
|
8968
|
-
var isAllSelected = workspaceListFilters.length > 0 && workspaceListFilters.
|
|
8908
|
+
var isAllSelected = workspaceListFilters.length > 0 && workspaceListFilters.filter(function (filter) {
|
|
8909
|
+
return isLoggedIn || filter.id !== 'favourites';
|
|
8910
|
+
}).every(function (filter) {
|
|
8969
8911
|
return filter.isSelected;
|
|
8970
8912
|
});
|
|
8971
8913
|
var shouldHideNewWorkspace = !isAllSelected || workspaceSearchQuery.length > 0 || hasActiveLabelFilters;
|
|
@@ -9076,17 +9018,14 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
9076
9018
|
},
|
|
9077
9019
|
children: jsx(Filter, {
|
|
9078
9020
|
activeLabelFilterCount: activeLabelFilterCount,
|
|
9079
|
-
filters:
|
|
9021
|
+
filters: workspaceListFilters.map(function (filter) {
|
|
9080
9022
|
return Object.assign({}, filter, {
|
|
9081
|
-
|
|
9023
|
+
label: filter.id === 'favourites' ? t('workspace-favourites') : filter.label,
|
|
9024
|
+
isSelected: !isAllSelected && filter.isSelected && (filter.id !== 'favourites' || isLoggedIn),
|
|
9025
|
+
isDisabled: filter.id === 'favourites' ? !isLoggedIn : filter.isDisabled
|
|
9082
9026
|
});
|
|
9083
|
-
}),
|
|
9084
|
-
|
|
9085
|
-
label: t('workspace-favourites'),
|
|
9086
|
-
isSelected: favouritesOnly,
|
|
9087
|
-
isDisabled: !isLoggedIn
|
|
9088
|
-
}]),
|
|
9089
|
-
isAllSelected: isAllSelected ? !favouritesOnly : false,
|
|
9027
|
+
}),
|
|
9028
|
+
isAllSelected: isAllSelected,
|
|
9090
9029
|
isLabelFilterOpen: isLabelFilterOpen,
|
|
9091
9030
|
onClickFilterChip: onClickFilterChip,
|
|
9092
9031
|
onSearch: searchFilter,
|
|
@@ -9118,7 +9057,7 @@ var WorkspaceSelectListConnect = function WorkspaceSelectListConnect(_ref) {
|
|
|
9118
9057
|
children: [jsx(WorkspaceSelectList, {
|
|
9119
9058
|
currentSelectedId: currentView.id || '',
|
|
9120
9059
|
favouritesDisabled: favourites.disabled,
|
|
9121
|
-
hideNewWorkspace: shouldHideNewWorkspace
|
|
9060
|
+
hideNewWorkspace: shouldHideNewWorkspace,
|
|
9122
9061
|
infoOpenPresetId: infoPreset == null ? void 0 : infoPreset.id,
|
|
9123
9062
|
isAdmin: isAdmin,
|
|
9124
9063
|
isEditable: isLoggedIn,
|
|
@@ -9926,7 +9865,9 @@ var WorkspaceTileConnect = /*#__PURE__*/React.memo(function (_ref) {
|
|
|
9926
9865
|
var _sessionStorageProvid;
|
|
9927
9866
|
var hasPluginsConfigured = !!((_sessionStorageProvid = sessionStorageProvider.getConfig()) != null && _sessionStorageProvid.GW_PLUGIN_BACKEND_URL);
|
|
9928
9867
|
if (hasPluginsConfigured) {
|
|
9929
|
-
return
|
|
9868
|
+
return defaultViewPresetsFilters.flatMap(function (filter) {
|
|
9869
|
+
return filter.id === 'favourites' ? [pluginViewPresetsFilter, filter] : [filter];
|
|
9870
|
+
});
|
|
9930
9871
|
}
|
|
9931
9872
|
return defaultViewPresetsFilters;
|
|
9932
9873
|
}, []);
|
|
@@ -10075,6 +10016,8 @@ var WorkspaceTileConnect = /*#__PURE__*/React.memo(function (_ref) {
|
|
|
10075
10016
|
},
|
|
10076
10017
|
isOpen: isViewPresetDialogOpen,
|
|
10077
10018
|
panelId: mosaicNodeId
|
|
10019
|
+
}), jsx(OverlayPluginWindows, {
|
|
10020
|
+
panelId: mosaicNodeId
|
|
10078
10021
|
})]
|
|
10079
10022
|
});
|
|
10080
10023
|
}, isEqual);
|