@opengeoweb/layer-select 15.0.0 → 15.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.esm.js CHANGED
@@ -10,7 +10,7 @@ import { snackbarListener, snackbarReducer, snackbarTypes, snackbarActions } fro
10
10
  import { Switch, Grid, List, ToggleButtonGroup, ToggleButton, Box, Popper, Grow, Paper, ClickAwayListener, MenuList, MenuItem, Typography, useTheme, Backdrop, CircularProgress, Button, ListItem, ListItemText, LinearProgress, InputAdornment } from '@mui/material';
11
11
  import 'i18next';
12
12
  import { useTranslation } from 'react-i18next';
13
- import { FixedSizeList } from 'react-window';
13
+ import { List as List$1 } from 'react-window';
14
14
  import { getDimensionsList, LayerInfoButton, clearImageCacheForAllMaps } from '@opengeoweb/webmap-react';
15
15
  import { LayerType, webmapUtils, getWMSServiceId, queryWMSServiceInfo, queryWMSLayers, invalidateWMSGetCapabilities } from '@opengeoweb/webmap';
16
16
  import { useFormContext } from 'react-hook-form';
@@ -1788,12 +1788,11 @@ var LayerListRow = function LayerListRow(_ref) {
1788
1788
  });
1789
1789
  };
1790
1790
 
1791
- var LayerList = function LayerList(_ref) {
1792
- var services = _ref.services,
1791
+ var LayerRow = function LayerRow(_ref) {
1792
+ var index = _ref.index,
1793
+ style = _ref.style,
1794
+ services = _ref.services,
1793
1795
  filteredLayers = _ref.filteredLayers,
1794
- layerSelectHeight = _ref.layerSelectHeight,
1795
- serviceListHeight = _ref.serviceListHeight,
1796
- layerSelectWidth = _ref.layerSelectWidth,
1797
1796
  allLayers = _ref.allLayers,
1798
1797
  allMapIds = _ref.allMapIds,
1799
1798
  addLayer = _ref.addLayer,
@@ -1804,13 +1803,70 @@ var LayerList = function LayerList(_ref) {
1804
1803
  searchFilter = _ref.searchFilter,
1805
1804
  isLayerInfoVisibleInStore = _ref.isLayerInfoVisibleInStore,
1806
1805
  _onToggleActiveLayer = _ref.onToggleActiveLayer,
1807
- currentLayerInfo = _ref.currentLayerInfo;
1806
+ currentLayerInfo = _ref.currentLayerInfo,
1807
+ layerSelectWidth = _ref.layerSelectWidth,
1808
+ rowMargin = _ref.rowMargin;
1809
+ var layer = filteredLayers[index];
1810
+ var service = services[layer.serviceName];
1811
+ if (!service) {
1812
+ return jsx("div", {
1813
+ style: style
1814
+ });
1815
+ }
1816
+ var isActiveLayer = isLayerInfoVisibleInStore && (currentLayerInfo == null ? void 0 : currentLayerInfo.serviceUrl) === service.serviceUrl && (currentLayerInfo == null ? void 0 : currentLayerInfo.layerName) === layer.name;
1817
+ var rowStyle = Object.assign({}, style, {
1818
+ boxSizing: 'border-box',
1819
+ paddingBottom: rowMargin
1820
+ });
1821
+ return jsx("div", {
1822
+ style: rowStyle,
1823
+ children: jsx(LayerListRow, {
1824
+ addLayer: addLayer,
1825
+ addLayerToAllMaps: addLayerToAllMaps,
1826
+ allLayers: allLayers,
1827
+ allMapIds: allMapIds,
1828
+ deleteLayer: deleteLayer,
1829
+ hasActiveLayer: isActiveLayer,
1830
+ layer: layer,
1831
+ layerSelectWidth: layerSelectWidth,
1832
+ mapLayers: mapLayers,
1833
+ onToggleActiveLayer: function onToggleActiveLayer() {
1834
+ return _onToggleActiveLayer({
1835
+ serviceUrl: service.serviceUrl,
1836
+ layerName: layer.name,
1837
+ isActiveLayer: isActiveLayer
1838
+ });
1839
+ },
1840
+ removeLayerFromAllMaps: removeLayerFromAllMaps,
1841
+ searchFilter: searchFilter,
1842
+ service: service
1843
+ })
1844
+ }, layer.name);
1845
+ };
1846
+ var LayerList = function LayerList(_ref2) {
1847
+ var services = _ref2.services,
1848
+ filteredLayers = _ref2.filteredLayers,
1849
+ layerSelectHeight = _ref2.layerSelectHeight,
1850
+ serviceListHeight = _ref2.serviceListHeight,
1851
+ layerSelectWidth = _ref2.layerSelectWidth,
1852
+ allLayers = _ref2.allLayers,
1853
+ allMapIds = _ref2.allMapIds,
1854
+ addLayer = _ref2.addLayer,
1855
+ addLayerToAllMaps = _ref2.addLayerToAllMaps,
1856
+ deleteLayer = _ref2.deleteLayer,
1857
+ removeLayerFromAllMaps = _ref2.removeLayerFromAllMaps,
1858
+ mapLayers = _ref2.mapLayers,
1859
+ searchFilter = _ref2.searchFilter,
1860
+ isLayerInfoVisibleInStore = _ref2.isLayerInfoVisibleInStore,
1861
+ onToggleActiveLayer = _ref2.onToggleActiveLayer,
1862
+ currentLayerInfo = _ref2.currentLayerInfo;
1808
1863
  var _useLayerSelectTransl = useLayerSelectTranslation(),
1809
1864
  t = _useLayerSelectTransl.t;
1810
1865
  var rowMargin = 4;
1811
1866
  var rowHeight = widthToRowHeight(layerSelectWidth);
1812
1867
  var layerSelectFilterHeight = 155 + serviceListHeight;
1813
1868
  var minHeight = 320;
1869
+ var listHeight = layerSelectHeight - layerSelectFilterHeight < minHeight ? minHeight : layerSelectHeight - layerSelectFilterHeight;
1814
1870
  return jsxs(Box, {
1815
1871
  "data-testid": "layerList",
1816
1872
  children: [jsxs(Box, {
@@ -1819,41 +1875,31 @@ var LayerList = function LayerList(_ref) {
1819
1875
  fontSize: '12px'
1820
1876
  },
1821
1877
  children: [filteredLayers.length, " ", t('layer-list-results')]
1822
- }), jsx(FixedSizeList, {
1823
- height: layerSelectHeight - layerSelectFilterHeight < minHeight ? minHeight : layerSelectHeight - layerSelectFilterHeight,
1824
- itemCount: filteredLayers.length,
1825
- itemSize: rowHeight + rowMargin,
1826
- width: "100%",
1827
- children: function children(_ref2) {
1828
- var index = _ref2.index,
1829
- style = _ref2.style;
1830
- var filter = filteredLayers[index];
1831
- var service = services[filter.serviceName];
1832
- var isActiveLayer = isLayerInfoVisibleInStore && (currentLayerInfo == null ? void 0 : currentLayerInfo.serviceUrl) === service.serviceUrl && (currentLayerInfo == null ? void 0 : currentLayerInfo.layerName) === filter.name;
1833
- return jsx("div", {
1834
- style: style,
1835
- children: !!service && jsx(LayerListRow, {
1836
- addLayer: addLayer,
1837
- addLayerToAllMaps: addLayerToAllMaps,
1838
- allLayers: allLayers,
1839
- allMapIds: allMapIds,
1840
- deleteLayer: deleteLayer,
1841
- hasActiveLayer: isActiveLayer,
1842
- layer: filter,
1843
- layerSelectWidth: layerSelectWidth,
1844
- mapLayers: mapLayers,
1845
- onToggleActiveLayer: function onToggleActiveLayer() {
1846
- return _onToggleActiveLayer({
1847
- serviceUrl: service == null ? void 0 : service.serviceUrl,
1848
- layerName: filter.name,
1849
- isActiveLayer: isActiveLayer
1850
- });
1851
- },
1852
- removeLayerFromAllMaps: removeLayerFromAllMaps,
1853
- searchFilter: searchFilter,
1854
- service: service
1855
- })
1856
- }, filter.name);
1878
+ }), jsx(List$1, {
1879
+ defaultHeight: minHeight,
1880
+ rowComponent: LayerRow,
1881
+ rowCount: filteredLayers.length,
1882
+ rowHeight: rowHeight + rowMargin,
1883
+ rowProps: {
1884
+ services: services,
1885
+ filteredLayers: filteredLayers,
1886
+ allLayers: allLayers,
1887
+ allMapIds: allMapIds,
1888
+ addLayer: addLayer,
1889
+ addLayerToAllMaps: addLayerToAllMaps,
1890
+ deleteLayer: deleteLayer,
1891
+ removeLayerFromAllMaps: removeLayerFromAllMaps,
1892
+ mapLayers: mapLayers,
1893
+ searchFilter: searchFilter,
1894
+ isLayerInfoVisibleInStore: isLayerInfoVisibleInStore,
1895
+ onToggleActiveLayer: onToggleActiveLayer,
1896
+ currentLayerInfo: currentLayerInfo,
1897
+ layerSelectWidth: layerSelectWidth,
1898
+ rowMargin: rowMargin
1899
+ },
1900
+ style: {
1901
+ height: listHeight,
1902
+ width: '100%'
1857
1903
  }
1858
1904
  })]
1859
1905
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/layer-select",
3
- "version": "15.0.0",
3
+ "version": "15.2.0",
4
4
  "description": "GeoWeb layer select library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -8,15 +8,15 @@
8
8
  "url": "git@gitlab.com:opengeoweb/opengeoweb.git"
9
9
  },
10
10
  "dependencies": {
11
- "@opengeoweb/shared": "15.0.0",
12
- "@opengeoweb/store": "15.0.0",
11
+ "@opengeoweb/shared": "15.2.0",
12
+ "@opengeoweb/store": "15.2.0",
13
13
  "react-redux": "^9.2.0",
14
- "@opengeoweb/theme": "15.0.0",
15
- "@opengeoweb/webmap-react": "15.0.0",
16
- "@opengeoweb/webmap": "15.0.0",
17
- "react-window": "^1.8.10",
18
- "@opengeoweb/snackbar": "15.0.0",
19
- "@opengeoweb/form-fields": "15.0.0",
14
+ "@opengeoweb/theme": "15.2.0",
15
+ "@opengeoweb/webmap-react": "15.2.0",
16
+ "@opengeoweb/webmap": "15.2.0",
17
+ "react-window": "^2.2.6",
18
+ "@opengeoweb/snackbar": "15.2.0",
19
+ "@opengeoweb/form-fields": "15.2.0",
20
20
  "react-hook-form": "^7.50.1",
21
21
  "@reduxjs/toolkit": "^2.6.1",
22
22
  "lodash": "^4.17.21",
@@ -21,7 +21,7 @@ export interface LayerListProps {
21
21
  mapLayers: layerTypes.ReduxLayer[];
22
22
  searchFilter: string;
23
23
  isLayerInfoVisibleInStore: boolean;
24
- onToggleActiveLayer: ({ serviceUrl, layerName, isActiveLayer, }: AddLayerParams & {
24
+ onToggleActiveLayer: (params: AddLayerParams & {
25
25
  isActiveLayer: boolean;
26
26
  }) => void;
27
27
  currentLayerInfo?: AddLayerParams;