@opengeoweb/layer-select 9.13.0 → 9.15.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.
Files changed (29) hide show
  1. package/index.esm.js +692 -1349
  2. package/package.json +1 -1
  3. package/src/lib/components/LayerList/LayerList.d.ts +7 -3
  4. package/src/lib/components/LayerList/LayerList.spec.d.ts +3 -3
  5. package/src/lib/components/LayerList/LayerListDimensions.d.ts +1 -1
  6. package/src/lib/components/LayerList/LayerListRow.d.ts +4 -2
  7. package/src/lib/components/index.d.ts +0 -1
  8. package/src/lib/store/index.d.ts +0 -1
  9. package/src/lib/store/reducer.d.ts +2 -3
  10. package/src/lib/store/selectors.d.ts +3 -15
  11. package/src/lib/store/types.d.ts +1 -14
  12. package/src/lib/store/utils.d.ts +2 -1
  13. package/src/lib/components/LayerInfo/LayerInfoButton.d.ts +0 -10
  14. package/src/lib/components/LayerInfo/LayerInfoButton.spec.d.ts +0 -1
  15. package/src/lib/components/LayerInfo/LayerInfoButtonConnect.d.ts +0 -11
  16. package/src/lib/components/LayerInfo/LayerInfoButtonConnect.spec.d.ts +0 -1
  17. package/src/lib/components/LayerInfo/LayerInfoDialog.d.ts +0 -13
  18. package/src/lib/components/LayerInfo/LayerInfoDialog.spec.d.ts +0 -1
  19. package/src/lib/components/LayerInfo/LayerInfoDialog.stories.d.ts +0 -25
  20. package/src/lib/components/LayerInfo/LayerInfoDialogConnect.d.ts +0 -2
  21. package/src/lib/components/LayerInfo/LayerInfoLegend.d.ts +0 -9
  22. package/src/lib/components/LayerInfo/LayerInfoLegend.spec.d.ts +0 -1
  23. package/src/lib/components/LayerInfo/LayerInfoList.d.ts +0 -11
  24. package/src/lib/components/LayerInfo/LayerInfoText.d.ts +0 -15
  25. package/src/lib/components/LayerInfo/LayerInfoUtils.d.ts +0 -10
  26. package/src/lib/components/LayerInfo/LayerInfoUtils.spec.d.ts +0 -1
  27. package/src/lib/components/LayerInfo/index.d.ts +0 -8
  28. package/src/lib/store/localStorage.d.ts +0 -3
  29. package/src/lib/store/localStorage.spec.d.ts +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/layer-select",
3
- "version": "9.13.0",
3
+ "version": "9.15.0",
4
4
  "description": "GeoWeb layer select library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { layerTypes, serviceTypes } from '@opengeoweb/store';
3
- import { layerSelectTypes } from '../../store';
3
+ import { LayerWithServiceName } from '../../store/types';
4
4
  interface AddLayerParams {
5
5
  serviceUrl: string;
6
6
  layerName: string;
@@ -10,15 +10,19 @@ export interface DeleteLayerParams {
10
10
  }
11
11
  export interface LayerListProps {
12
12
  services: serviceTypes.Services;
13
- filteredLayers: layerSelectTypes.ActiveLayerObject[];
13
+ filteredLayers: LayerWithServiceName[];
14
14
  layerSelectHeight: number;
15
15
  serviceListHeight: number;
16
16
  layerSelectWidth: number;
17
17
  addLayer: ({ serviceUrl, layerName }: AddLayerParams) => void;
18
18
  deleteLayer: ({ layerId }: DeleteLayerParams) => void;
19
19
  mapLayers: layerTypes.ReduxLayer[];
20
- mapId: string;
21
20
  searchFilter: string;
21
+ isLayerInfoVisibleInStore: boolean;
22
+ onToggleActiveLayer: ({ serviceUrl, layerName, isActiveLayer, }: AddLayerParams & {
23
+ isActiveLayer: boolean;
24
+ }) => void;
25
+ currentLayerInfo?: AddLayerParams;
22
26
  }
23
27
  export declare const LayerList: React.FC<LayerListProps>;
24
28
  export {};
@@ -1,3 +1,3 @@
1
- import { layerSelectTypes } from '../../store';
2
- export declare const defaultReduxActiveLayers: layerSelectTypes.ActiveLayerObject[];
3
- export declare const defaultReduxActiveLayersWithoutOptionalVariables: layerSelectTypes.ActiveLayerObject[];
1
+ import { LayerWithServiceName } from '../../store/types';
2
+ export declare const defaultReduxActiveLayers: LayerWithServiceName[];
3
+ export declare const defaultReduxActiveLayersWithoutOptionalVariables: LayerWithServiceName[];
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { ListItem } from '../LayerInfo/LayerInfoList';
2
+ import { ListItem } from '@opengeoweb/webmap-react';
3
3
  interface LayerListDimensionsProps {
4
4
  dimensions: ListItem[];
5
5
  }
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { layerTypes, serviceTypes } from '@opengeoweb/store';
3
+ import { LayerProps } from '@opengeoweb/webmap';
3
4
  interface AddLayerParams {
4
5
  serviceUrl: string;
5
6
  layerName: string;
@@ -9,15 +10,16 @@ interface DeleteLayerParams {
9
10
  layerIndex: number;
10
11
  }
11
12
  interface LayerListRowProps {
12
- layer: serviceTypes.ServiceLayer;
13
+ layer: LayerProps;
13
14
  layerIndex: number;
14
15
  service: serviceTypes.ReduxService;
15
16
  addLayer: ({ serviceUrl, layerName }: AddLayerParams) => void;
16
17
  deleteLayer: ({ layerId, layerIndex }: DeleteLayerParams) => void;
17
18
  mapLayers: layerTypes.ReduxLayer[];
18
- mapId: string;
19
19
  layerSelectWidth: number;
20
20
  searchFilter: string;
21
+ hasActiveLayer: boolean;
22
+ onToggleActiveLayer: () => void;
21
23
  }
22
24
  export declare const LayerListRow: React.FC<LayerListRowProps>;
23
25
  export {};
@@ -1,6 +1,5 @@
1
1
  export * from './KeywordFilterButton';
2
2
  export * from './KeywordFilterResults';
3
- export * from './LayerInfo';
4
3
  export * from './LayerList';
5
4
  export * from './LayerSelect';
6
5
  export * from './SearchField';
@@ -2,6 +2,5 @@ export { layerSelectActions, initialState as layerSelectInitialState, reducer as
2
2
  export * as layerSelectSelectors from './selectors';
3
3
  export { useAppSelector } from './selectors';
4
4
  export * as layerSelectTypes from './types';
5
- export * from './localStorage';
6
5
  export * from './config';
7
6
  export { isUserAddedService } from './utils';
@@ -1,6 +1,6 @@
1
1
  import { PayloadAction, Draft } from '@reduxjs/toolkit';
2
2
  import { uiTypes } from '@opengeoweb/store';
3
- import { EnableOnlyOneKeywordPayload, LayerSelectRemoveServicePayload, LayerSelectStoreType, SetActiveLayerInfoPayload, SetSearchFilterPayload, ToggleKeywordsPayload, Filter, ActiveServiceObject, ToggleServicePopupPayload, ServicePopupObject } from './types';
3
+ import { EnableOnlyOneKeywordPayload, LayerSelectRemoveServicePayload, LayerSelectStoreType, SetSearchFilterPayload, ToggleKeywordsPayload, Filter, ActiveServiceObject, ToggleServicePopupPayload, ServicePopupObject } from './types';
4
4
  export declare const layerSelectFilterAdapter: import("@reduxjs/toolkit").EntityAdapter<Filter>;
5
5
  export declare const layerSelectActiveServicesAdapter: import("@reduxjs/toolkit").EntityAdapter<ActiveServiceObject>;
6
6
  export declare const initialServicePopupState: ServicePopupObject;
@@ -23,6 +23,5 @@ export declare const layerSelectActions: import("@reduxjs/toolkit").CaseReducerA
23
23
  }>) => void;
24
24
  toggleFilter: (draft: Draft<LayerSelectStoreType>, action: PayloadAction<ToggleKeywordsPayload>) => void;
25
25
  enableOnlyOneFilter: (draft: Draft<LayerSelectStoreType>, action: PayloadAction<EnableOnlyOneKeywordPayload>) => void;
26
- setActiveLayerInfo: (draft: Draft<LayerSelectStoreType>, action: PayloadAction<SetActiveLayerInfoPayload>) => void;
27
26
  }, uiTypes.DialogTypes.LayerSelect>;
28
- export type LayerSelectActions = ReturnType<typeof layerSelectActions.setSearchFilter> | ReturnType<typeof layerSelectActions.layerSelectRemoveService> | ReturnType<typeof layerSelectActions.enableActiveService> | ReturnType<typeof layerSelectActions.disableActiveService> | ReturnType<typeof layerSelectActions.toggleFilter> | ReturnType<typeof layerSelectActions.enableOnlyOneFilter> | ReturnType<typeof layerSelectActions.setActiveLayerInfo>;
27
+ export type LayerSelectActions = ReturnType<typeof layerSelectActions.setSearchFilter> | ReturnType<typeof layerSelectActions.layerSelectRemoveService> | ReturnType<typeof layerSelectActions.enableActiveService> | ReturnType<typeof layerSelectActions.disableActiveService> | ReturnType<typeof layerSelectActions.toggleFilter> | ReturnType<typeof layerSelectActions.enableOnlyOneFilter>;
@@ -1,5 +1,5 @@
1
1
  import { TypedUseSelectorHook } from 'react-redux';
2
- import { LayerSelectStoreType, ActiveLayerObject, ActiveServiceObjectEntities, ServicePopupObject, LayerSelectModuleState, RootState, Filter } from './types';
2
+ import { LayerSelectStoreType, ActiveServiceObjectEntities, ServicePopupObject, LayerSelectModuleState, RootState, Filter, LayerWithServiceName } from './types';
3
3
  export declare const useAppSelector: TypedUseSelectorHook<RootState>;
4
4
  /**
5
5
  * Returns search filter string
@@ -76,25 +76,13 @@ export declare const isAllFiltersChecked: ((state: LayerSelectModuleState) => bo
76
76
  }> & {
77
77
  clearCache: () => void;
78
78
  };
79
- /**
80
- * Returns the active layer info
81
- *
82
- * Example getActiveLayerInfo(store);
83
- * @param {object} store store: object - store object
84
- * @returns {object} returnType: ActiveLayerObject
85
- */
86
- export declare const getActiveLayerInfo: ((state: LayerSelectModuleState) => ActiveLayerObject) & import("reselect").OutputSelectorFields<(args_0: LayerSelectStoreType) => ActiveLayerObject, {
87
- clearCache: () => void;
88
- }> & {
89
- clearCache: () => void;
90
- };
91
79
  /**
92
80
  * Returns a filtered active layer object based on the given filter settings
93
81
  * Example: layerSelectSelectors.getFilteredLayers(store, filteredSettings);
94
82
  * @param {object} store store: object - object from which the service state will be extracted
95
- * @returns {array} returnType: ActiveLayerObject - an array of all filtered activelayers
83
+ * @returns {array} returnType: LayerWithServiceName - an array of all filtered activelayers
96
84
  */
97
- export declare const getFilteredLayers: ((state: LayerSelectModuleState & import("@opengeoweb/store").CoreAppStore) => ActiveLayerObject[]) & import("reselect").OutputSelectorFields<(args_0: string[], args_1: import("dist/libs/store/src/store/mapStore/types").Services, args_2: string[], args_3: boolean, args_4: string) => ActiveLayerObject[], {
85
+ export declare const getFilteredLayers: ((state: LayerSelectModuleState & import("@opengeoweb/store").CoreAppStore) => LayerWithServiceName[]) & import("reselect").OutputSelectorFields<(args_0: string[], args_1: import("dist/libs/store/src/store/mapStore/types").Services, args_2: string[], args_3: boolean, args_4: string) => LayerWithServiceName[], {
98
86
  clearCache: () => void;
99
87
  }> & {
100
88
  clearCache: () => void;
@@ -1,16 +1,7 @@
1
1
  import { CoreAppStore, serviceTypes } from '@opengeoweb/store';
2
2
  import { EntityState } from '@reduxjs/toolkit';
3
3
  export type RootState = CoreAppStore & LayerSelectModuleState;
4
- export type NoIdService = Omit<LayerSelectService, 'id'>;
5
- export type UserAddedServices = Record<string, NoIdService>;
6
- export interface LayerSelectService {
7
- name: string;
8
- url: string;
9
- id: string;
10
- scope?: serviceTypes.ServiceScope;
11
- abstract?: string;
12
- }
13
- export interface ActiveLayerObject extends serviceTypes.ServiceLayer {
4
+ export interface LayerWithServiceName extends serviceTypes.ServiceLayer {
14
5
  serviceName: string;
15
6
  }
16
7
  export interface ActiveServiceObject {
@@ -51,7 +42,6 @@ export interface ServicePopupObject {
51
42
  export interface LayerSelectStoreType {
52
43
  filters: FiltersType;
53
44
  allServicesEnabled: boolean;
54
- activeLayerInfo: ActiveLayerObject;
55
45
  servicePopup: ServicePopupObject;
56
46
  }
57
47
  export interface LayerSelectModuleState {
@@ -79,6 +69,3 @@ export interface ToggleKeywordsPayload {
79
69
  export interface EnableOnlyOneKeywordPayload {
80
70
  filterId: string;
81
71
  }
82
- export interface SetActiveLayerInfoPayload {
83
- layer: ActiveLayerObject;
84
- }
@@ -1,7 +1,8 @@
1
1
  import { EntityAdapter, Draft } from '@reduxjs/toolkit';
2
2
  import { serviceTypes } from '@opengeoweb/store';
3
+ import { LayerProps } from '@opengeoweb/webmap';
3
4
  import { Filter, FilterType, LayerSelectStoreType } from './types';
4
5
  export declare const getFilterId: (filterType: FilterType, filterName: string) => string;
5
6
  export declare const produceFilters: (filterNames: string[], filterType: FilterType, draft: Draft<LayerSelectStoreType>, layerSelectFilterAdapter: EntityAdapter<Filter>) => void;
6
- export declare const filterLayersFromService: (serviceId: string, services: serviceTypes.Services, filterIds: string[], allFiltersActive: boolean, searchString: string) => serviceTypes.ServiceLayer[];
7
+ export declare const filterLayersFromService: (serviceId: string, services: serviceTypes.Services, filterIds: string[], allFiltersActive: boolean, searchString: string) => LayerProps[];
7
8
  export declare const isUserAddedService: (scope: serviceTypes.ServiceScope) => boolean;
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- import { CustomIconProps } from '@opengeoweb/shared';
3
- interface LayerInfoButtonProps extends CustomIconProps {
4
- disabled?: boolean;
5
- isOpenInStore?: boolean;
6
- isActive?: boolean;
7
- onClick?: () => void;
8
- }
9
- export declare const LayerInfoButton: React.FC<LayerInfoButtonProps>;
10
- export {};
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { uiTypes, serviceTypes } from '@opengeoweb/store';
3
- interface LayerInfoButtonProps {
4
- isLayerMissing?: boolean;
5
- layer: serviceTypes.ServiceLayer;
6
- mapId: string;
7
- serviceName: string;
8
- source?: uiTypes.Source;
9
- }
10
- export declare const LayerInfoButtonConnect: React.FC<LayerInfoButtonProps>;
11
- export {};
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- import { uiTypes } from '@opengeoweb/store';
3
- import { layerSelectTypes } from '../../store';
4
- export interface LayerInfoDialogProps {
5
- layer: layerSelectTypes.ActiveLayerObject;
6
- onClose: () => void;
7
- isOpen: boolean;
8
- onMouseDown?: () => void;
9
- order?: number;
10
- source?: uiTypes.Source;
11
- dialogHeight?: number;
12
- }
13
- export declare const LayerInfoDialog: React.FC<LayerInfoDialogProps>;
@@ -1,25 +0,0 @@
1
- import * as React from 'react';
2
- declare const _default: {
3
- title: string;
4
- };
5
- export default _default;
6
- export declare const LayerInfoDialogLight: {
7
- (): React.ReactElement;
8
- storyName: string;
9
- parameters: {
10
- zeplinLink: {
11
- name: string;
12
- link: string;
13
- }[];
14
- };
15
- };
16
- export declare const LayerInfoDialogDark: {
17
- (): React.ReactElement;
18
- storyName: string;
19
- parameters: {
20
- zeplinLink: {
21
- name: string;
22
- link: string;
23
- }[];
24
- };
25
- };
@@ -1,2 +0,0 @@
1
- import React from 'react';
2
- export declare const LayerInfoDialogConnect: React.FC;
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import { mapTypes } from '@opengeoweb/store';
3
- export interface LayerInfoLegendProps {
4
- title: string;
5
- name: string;
6
- dimensions: mapTypes.Dimension[];
7
- legendURL: string;
8
- }
9
- export declare const LayerInfoLegend: React.FC<LayerInfoLegendProps>;
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- export interface ListItem {
3
- label: string;
4
- value: string;
5
- icon: React.ReactElement;
6
- }
7
- export interface LayerInfoListProps {
8
- label: string;
9
- list: ListItem[];
10
- }
11
- export declare const LayerInfoList: React.FC<LayerInfoListProps>;
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- export interface LayerInfoTextProps {
3
- label: string;
4
- value: string;
5
- }
6
- export declare const textStyle: {
7
- lineHeight: string;
8
- letterSpacing: string;
9
- };
10
- export declare const textStyleWithMargin: {
11
- marginBottom: number;
12
- lineHeight: string;
13
- letterSpacing: string;
14
- };
15
- export declare const LayerInfoText: React.FC<LayerInfoTextProps>;
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- import { mapTypes } from '@opengeoweb/store';
3
- import { ListItem } from './LayerInfoList';
4
- import { layerSelectTypes } from '../../store';
5
- export declare const getLayerStyles: (layer: layerSelectTypes.ActiveLayerObject) => string;
6
- export declare const getDimensionValue: (name: string, dimensions: mapTypes.Dimension[]) => string;
7
- export declare const getLayerBbox: (layer: layerSelectTypes.ActiveLayerObject) => string;
8
- export declare const getDimensionIcon: (name: string, dimensions: mapTypes.Dimension[]) => React.ReactElement;
9
- export declare const getDimensionLabel: (name: string) => string;
10
- export declare const getDimensionsList: (dimensions: mapTypes.Dimension[]) => ListItem[];
@@ -1 +0,0 @@
1
- export {};
@@ -1,8 +0,0 @@
1
- export * from './LayerInfoButton';
2
- export * from './LayerInfoButtonConnect';
3
- export * from './LayerInfoDialog';
4
- export * from './LayerInfoDialogConnect';
5
- export * from './LayerInfoLegend';
6
- export * from './LayerInfoList';
7
- export * from './LayerInfoText';
8
- export * from './LayerInfoUtils';
@@ -1,3 +0,0 @@
1
- import { UserAddedServices } from './types';
2
- export declare const getUserAddedServices: () => UserAddedServices;
3
- export declare const setUserAddedServices: (services: UserAddedServices) => void;
@@ -1 +0,0 @@
1
- export {};