@bpd-library/components 2.0.1-beta.0 → 2.0.1-beta.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.
|
@@ -46,7 +46,8 @@ export interface MapState {
|
|
|
46
46
|
directionsSetting?: MapDirectionsSetting;
|
|
47
47
|
currentZoom?: number;
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
declare type MapStoreActions = 'updateMapData' | 'updateHover' | 'clearHover' | 'updateClick' | 'setFocus' | 'clearFocus' | 'updateSearchResult' | 'clearSearchResult' | 'updateSearchIsMoving' | 'setFilter' | 'clearFilter' | 'setMapInstance' | 'setLayerRaster' | 'manualSearch' | 'setIsochrone' | 'clearIsochrone' | 'setDirections' | 'clearDirections' | 'setZoom';
|
|
50
|
+
export declare const mapStore: import("@bpd-library/utilities").Store<MapState, MapStoreActions>;
|
|
50
51
|
export declare const updateMapData: (data: MapDataItem[]) => void;
|
|
51
52
|
export declare const clearHover: () => void;
|
|
52
53
|
export declare const updateHover: (hover: MapDataItem) => void;
|
|
@@ -1,53 +1,34 @@
|
|
|
1
|
-
import { createStore } from '@
|
|
1
|
+
import { createStore } from '@bpd-library/utilities';
|
|
2
2
|
const initialState = {
|
|
3
3
|
data: [],
|
|
4
4
|
hover: {},
|
|
5
5
|
focus: {},
|
|
6
6
|
searchIsMoving: false,
|
|
7
7
|
};
|
|
8
|
-
const UPDATE_MAP_DATA = 'updateMapData';
|
|
9
|
-
const UPDATE_HOVER = 'updateHover';
|
|
10
|
-
const CLEAR_HOVER = 'clearHover';
|
|
11
|
-
const UPDATE_CLICK = 'updateClick';
|
|
12
|
-
const SET_FOCUS = 'setFocus';
|
|
13
|
-
const CLEAR_FOCUS = 'clearFocus';
|
|
14
|
-
const UPDATE_SEARCH_RESULT = 'updateSearchResult';
|
|
15
|
-
const CLEAR_SEARCH_RESULT = 'clearSearchResult';
|
|
16
|
-
const UPDATE_SEARCH_IS_MOVING = 'updateSearchIsMoving';
|
|
17
|
-
const SET_FILTER = 'setFilter';
|
|
18
|
-
const CLEAR_FILTER = 'clearFilter';
|
|
19
|
-
const SET_MAP_INSTANCE = 'setMapInstance';
|
|
20
|
-
const SET_LAYER_RASTER = 'SET_LAYER_RASTER';
|
|
21
|
-
const MANUAL_SEARCH = 'manualSearch';
|
|
22
|
-
const SET_ISOCHRONE = 'setIsochrone';
|
|
23
|
-
const CLEAR_ISOCHRONE = 'clearIsochrone';
|
|
24
|
-
const SET_DIRECTIONS = 'setDirections';
|
|
25
|
-
const CLEAR_DIRECTIONS = 'clearDirections';
|
|
26
|
-
const SET_ZOOM = 'setZoom';
|
|
27
8
|
const actions = {
|
|
28
|
-
|
|
9
|
+
updateMapData: (state, data) => {
|
|
29
10
|
state.data = data;
|
|
30
11
|
return state;
|
|
31
12
|
},
|
|
32
|
-
|
|
13
|
+
updateHover: (state, hover) => {
|
|
33
14
|
state.hover = {
|
|
34
15
|
current: hover,
|
|
35
16
|
previous: state.hover.current,
|
|
36
17
|
};
|
|
37
18
|
return state;
|
|
38
19
|
},
|
|
39
|
-
|
|
20
|
+
clearHover: (state) => {
|
|
40
21
|
state.hover = {
|
|
41
22
|
current: undefined,
|
|
42
23
|
previous: state.hover.current,
|
|
43
24
|
};
|
|
44
25
|
return state;
|
|
45
26
|
},
|
|
46
|
-
|
|
27
|
+
updateClick: (state, click) => {
|
|
47
28
|
state.click = Object.assign({}, click);
|
|
48
29
|
return state;
|
|
49
30
|
},
|
|
50
|
-
|
|
31
|
+
setFocus: (state, { ids, options }) => {
|
|
51
32
|
var _a;
|
|
52
33
|
const dataItems = state.data.filter(({ id }) => ids.indexOf(id) > -1);
|
|
53
34
|
if (dataItems.length) {
|
|
@@ -59,126 +40,126 @@ const actions = {
|
|
|
59
40
|
}
|
|
60
41
|
return state;
|
|
61
42
|
},
|
|
62
|
-
|
|
43
|
+
clearFocus: (state) => {
|
|
63
44
|
state.focus = {
|
|
64
45
|
current: undefined,
|
|
65
46
|
previous: state.focus.current,
|
|
66
47
|
};
|
|
67
48
|
return state;
|
|
68
49
|
},
|
|
69
|
-
|
|
50
|
+
updateSearchResult: (state, searchResult) => {
|
|
70
51
|
state.searchResult = searchResult;
|
|
71
52
|
return state;
|
|
72
53
|
},
|
|
73
|
-
|
|
54
|
+
clearSearchResult: (state) => {
|
|
74
55
|
state.searchResult = undefined;
|
|
75
56
|
return state;
|
|
76
57
|
},
|
|
77
|
-
|
|
58
|
+
setFilter: (state, data) => {
|
|
78
59
|
state.filter = data;
|
|
79
60
|
return state;
|
|
80
61
|
},
|
|
81
|
-
|
|
62
|
+
clearFilter: (state) => {
|
|
82
63
|
state.filter = undefined;
|
|
83
64
|
return state;
|
|
84
65
|
},
|
|
85
|
-
|
|
66
|
+
setMapInstance: (state, mapInstance) => {
|
|
86
67
|
state.mapInstance = mapInstance;
|
|
87
68
|
return state;
|
|
88
69
|
},
|
|
89
|
-
|
|
70
|
+
manualSearch: (state, query) => {
|
|
90
71
|
state.manualSearch = query;
|
|
91
72
|
return state;
|
|
92
73
|
},
|
|
93
|
-
|
|
74
|
+
updateSearchIsMoving: (state, searchIsMoving) => {
|
|
94
75
|
state.searchIsMoving = searchIsMoving;
|
|
95
76
|
return state;
|
|
96
77
|
},
|
|
97
|
-
|
|
78
|
+
setLayerRaster: (state, layerRasterSettings) => {
|
|
98
79
|
state.layerRasterSettings = layerRasterSettings;
|
|
99
80
|
return state;
|
|
100
81
|
},
|
|
101
|
-
|
|
82
|
+
setIsochrone: (state, isochroneSetting) => {
|
|
102
83
|
state.isochroneSetting = isochroneSetting;
|
|
103
84
|
return state;
|
|
104
85
|
},
|
|
105
|
-
|
|
86
|
+
clearIsochrone: (state) => {
|
|
106
87
|
state.isochroneSetting = undefined;
|
|
107
88
|
return state;
|
|
108
89
|
},
|
|
109
|
-
|
|
90
|
+
setDirections: (state, directionsSetting) => {
|
|
110
91
|
state.directionsSetting = directionsSetting;
|
|
111
92
|
return state;
|
|
112
93
|
},
|
|
113
|
-
|
|
94
|
+
clearDirections: (state) => {
|
|
114
95
|
state.directionsSetting = undefined;
|
|
115
96
|
return state;
|
|
116
97
|
},
|
|
117
|
-
|
|
98
|
+
setZoom: (state, zoom) => {
|
|
118
99
|
state.currentZoom = zoom;
|
|
119
100
|
return state;
|
|
120
101
|
},
|
|
121
102
|
};
|
|
122
103
|
export const mapStore = createStore({
|
|
123
104
|
initialState,
|
|
124
|
-
actions
|
|
105
|
+
actions,
|
|
125
106
|
});
|
|
126
107
|
export const updateMapData = (data) => {
|
|
127
|
-
mapStore.dispatch(
|
|
108
|
+
mapStore.dispatch('updateMapData', data);
|
|
128
109
|
};
|
|
129
110
|
export const clearHover = () => {
|
|
130
|
-
mapStore.dispatch(
|
|
111
|
+
mapStore.dispatch('clearHover');
|
|
131
112
|
};
|
|
132
113
|
export const updateHover = (hover) => {
|
|
133
|
-
mapStore.dispatch(
|
|
114
|
+
mapStore.dispatch('updateHover', hover);
|
|
134
115
|
};
|
|
135
116
|
export const updateClick = (click) => {
|
|
136
|
-
mapStore.dispatch(
|
|
117
|
+
mapStore.dispatch('updateClick', click);
|
|
137
118
|
};
|
|
138
119
|
export const setFocus = (ids, options = {}) => {
|
|
139
|
-
mapStore.dispatch(
|
|
120
|
+
mapStore.dispatch('setFocus', { ids, options });
|
|
140
121
|
};
|
|
141
122
|
export const clearFocus = () => {
|
|
142
|
-
mapStore.dispatch(
|
|
123
|
+
mapStore.dispatch('clearFocus');
|
|
143
124
|
};
|
|
144
125
|
export const updateSearchResult = (searchResult) => {
|
|
145
|
-
mapStore.dispatch(
|
|
126
|
+
mapStore.dispatch('updateSearchResult', searchResult);
|
|
146
127
|
};
|
|
147
128
|
export const clearSearchResult = () => {
|
|
148
|
-
mapStore.dispatch(
|
|
129
|
+
mapStore.dispatch('clearSearchResult');
|
|
149
130
|
};
|
|
150
131
|
export const setFilter = (data) => {
|
|
151
|
-
mapStore.dispatch(
|
|
132
|
+
mapStore.dispatch('setFilter', data);
|
|
152
133
|
};
|
|
153
134
|
export const clearFilter = () => {
|
|
154
|
-
mapStore.dispatch(
|
|
135
|
+
mapStore.dispatch('clearFilter');
|
|
155
136
|
};
|
|
156
137
|
export const setMapInstance = (mapInstance) => {
|
|
157
|
-
mapStore.dispatch(
|
|
138
|
+
mapStore.dispatch('setMapInstance', mapInstance);
|
|
158
139
|
};
|
|
159
140
|
export const manualSearch = (query) => {
|
|
160
|
-
mapStore.dispatch(
|
|
141
|
+
mapStore.dispatch('manualSearch', query);
|
|
161
142
|
};
|
|
162
143
|
export const updateSearchIsMoving = (isMoving) => {
|
|
163
|
-
mapStore.dispatch(
|
|
144
|
+
mapStore.dispatch('updateSearchIsMoving', isMoving);
|
|
164
145
|
};
|
|
165
146
|
export const setLayerRaster = (layerRasterSettings) => {
|
|
166
|
-
mapStore.dispatch(
|
|
147
|
+
mapStore.dispatch('setLayerRaster', layerRasterSettings);
|
|
167
148
|
};
|
|
168
149
|
export const setIsochrone = (isochroneSetting) => {
|
|
169
|
-
mapStore.dispatch(
|
|
150
|
+
mapStore.dispatch('setIsochrone', isochroneSetting);
|
|
170
151
|
};
|
|
171
152
|
export const clearIsochrone = () => {
|
|
172
|
-
mapStore.dispatch(
|
|
153
|
+
mapStore.dispatch('clearIsochrone');
|
|
173
154
|
};
|
|
174
155
|
export const setDirections = (directionsSetting) => {
|
|
175
|
-
mapStore.dispatch(
|
|
156
|
+
mapStore.dispatch('setDirections', directionsSetting);
|
|
176
157
|
};
|
|
177
158
|
export const clearDirections = () => {
|
|
178
|
-
mapStore.dispatch(
|
|
159
|
+
mapStore.dispatch('clearDirections');
|
|
179
160
|
};
|
|
180
161
|
export const setZoom = (zoom) => {
|
|
181
|
-
mapStore.dispatch(
|
|
162
|
+
mapStore.dispatch('setZoom', zoom);
|
|
182
163
|
};
|
|
183
164
|
export const getMapboxData = () => mapStore.getState().data;
|
|
184
165
|
export const getHover = () => mapStore.getState().hover;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/molecules/map/store/store.ts"],"names":[],"mappings":"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","sourcesContent":["import { createStore } from '@atomify/kit';\nimport {\n BoundingBox,\n Coordinate,\n MapDataItem,\n MapDirectionsSetting,\n MapIsochroneSetting,\n} from '@bpd-library/types';\n\nexport type SearchResultPlace = {\n country?: string;\n province?: string;\n city?: string;\n district?: string;\n};\n\nexport type SearchResult = {\n items: MapDataItem[];\n result: any;\n place?: SearchResultPlace;\n originalBoundingBox?: BoundingBox;\n expandedBoundingBox?: BoundingBox;\n kmPadding?: number;\n};\n\ninterface MapFocusOptions {\n zoom?: boolean;\n static?: boolean;\n}\n\nexport interface MapLayerRasterSettings {\n layerRaster: string;\n minzoom?: number;\n maxzoom?: number;\n}\n\nexport type MapManualSearch = string | Coordinate;\n\nexport interface MapState {\n data: MapDataItem[];\n mapInstance?: mapboxgl.Map;\n hover: {\n current?: MapDataItem;\n previous?: MapDataItem;\n };\n filter?: MapDataItem[];\n click?: MapDataItem;\n focus: {\n current?: MapDataItem[];\n previous?: MapDataItem[];\n options?: MapFocusOptions;\n };\n searchResult?: SearchResult;\n searchIsMoving: boolean;\n manualSearch?: MapManualSearch;\n layerRasterSettings?: MapLayerRasterSettings;\n isochroneSetting?: MapIsochroneSetting;\n directionsSetting?: MapDirectionsSetting;\n currentZoom?: number;\n}\n\nconst initialState: MapState = {\n data: [],\n hover: {},\n focus: {},\n searchIsMoving: false,\n};\n\nconst UPDATE_MAP_DATA = 'updateMapData';\nconst UPDATE_HOVER = 'updateHover';\nconst CLEAR_HOVER = 'clearHover';\nconst UPDATE_CLICK = 'updateClick';\nconst SET_FOCUS = 'setFocus';\nconst CLEAR_FOCUS = 'clearFocus';\nconst UPDATE_SEARCH_RESULT = 'updateSearchResult';\nconst CLEAR_SEARCH_RESULT = 'clearSearchResult';\nconst UPDATE_SEARCH_IS_MOVING = 'updateSearchIsMoving';\nconst SET_FILTER = 'setFilter';\nconst CLEAR_FILTER = 'clearFilter';\nconst SET_MAP_INSTANCE = 'setMapInstance';\nconst SET_LAYER_RASTER = 'SET_LAYER_RASTER';\nconst MANUAL_SEARCH = 'manualSearch';\nconst SET_ISOCHRONE = 'setIsochrone';\nconst CLEAR_ISOCHRONE = 'clearIsochrone';\nconst SET_DIRECTIONS = 'setDirections';\nconst CLEAR_DIRECTIONS = 'clearDirections';\nconst SET_ZOOM = 'setZoom';\n\nconst actions = {\n [UPDATE_MAP_DATA]: (state: MapState, data: MapDataItem[]) => {\n state.data = data;\n return state;\n },\n [UPDATE_HOVER]: (state: MapState, hover: MapDataItem) => {\n state.hover = {\n current: hover,\n previous: state.hover.current,\n };\n\n return state;\n },\n [CLEAR_HOVER]: (state: MapState) => {\n state.hover = {\n current: undefined,\n previous: state.hover.current,\n };\n\n return state;\n },\n [UPDATE_CLICK]: (state: MapState, click: MapDataItem) => {\n state.click = { ...click };\n return state;\n },\n [SET_FOCUS]: (\n state: MapState,\n { ids, options }: { ids: string[]; options: MapFocusOptions },\n ) => {\n const dataItems = state.data.filter(({ id }) => ids.indexOf(id) > -1);\n\n if (dataItems.length) {\n state.focus = {\n current: dataItems,\n previous: state.focus?.current,\n options,\n };\n }\n\n return state;\n },\n [CLEAR_FOCUS]: (state: MapState) => {\n state.focus = {\n current: undefined,\n previous: state.focus.current,\n };\n\n return state;\n },\n [UPDATE_SEARCH_RESULT]: (state: MapState, searchResult: SearchResult) => {\n state.searchResult = searchResult;\n return state;\n },\n [CLEAR_SEARCH_RESULT]: (state: MapState) => {\n state.searchResult = undefined;\n return state;\n },\n [SET_FILTER]: (state: MapState, data: MapDataItem[]) => {\n state.filter = data;\n return state;\n },\n [CLEAR_FILTER]: (state: MapState) => {\n state.filter = undefined;\n return state;\n },\n [SET_MAP_INSTANCE]: (state: MapState, mapInstance: mapboxgl.Map) => {\n state.mapInstance = mapInstance;\n return state;\n },\n [MANUAL_SEARCH]: (state: MapState, query: MapManualSearch) => {\n state.manualSearch = query;\n return state;\n },\n [UPDATE_SEARCH_IS_MOVING]: (state: MapState, searchIsMoving: boolean) => {\n state.searchIsMoving = searchIsMoving;\n return state;\n },\n [SET_LAYER_RASTER]: (state: MapState, layerRasterSettings: MapLayerRasterSettings) => {\n state.layerRasterSettings = layerRasterSettings;\n return state;\n },\n [SET_ISOCHRONE]: (state: MapState, isochroneSetting: MapIsochroneSetting) => {\n state.isochroneSetting = isochroneSetting;\n return state;\n },\n [CLEAR_ISOCHRONE]: (state: MapState) => {\n state.isochroneSetting = undefined;\n return state;\n },\n [SET_DIRECTIONS]: (state: MapState, directionsSetting: MapDirectionsSetting) => {\n state.directionsSetting = directionsSetting;\n return state;\n },\n [CLEAR_DIRECTIONS]: (state: MapState) => {\n state.directionsSetting = undefined;\n return state;\n },\n [SET_ZOOM]: (state: MapState, zoom: number) => {\n state.currentZoom = zoom;\n return state;\n },\n};\n\nexport const mapStore = createStore<MapState>({\n initialState,\n actions: actions as any,\n});\n\n/*\n Setters\n*/\nexport const updateMapData = (data: MapDataItem[]) => {\n mapStore.dispatch(UPDATE_MAP_DATA, data);\n};\n\nexport const clearHover = () => {\n mapStore.dispatch(CLEAR_HOVER);\n};\n\nexport const updateHover = (hover: MapDataItem) => {\n mapStore.dispatch(UPDATE_HOVER, hover);\n};\n\nexport const updateClick = (click: MapDataItem) => {\n mapStore.dispatch(UPDATE_CLICK, click);\n};\n\nexport const setFocus = (ids: string[], options: MapFocusOptions = {}) => {\n mapStore.dispatch(SET_FOCUS, { ids, options });\n};\n\nexport const clearFocus = () => {\n mapStore.dispatch(CLEAR_FOCUS);\n};\n\nexport const updateSearchResult = (searchResult: SearchResult) => {\n mapStore.dispatch(UPDATE_SEARCH_RESULT, searchResult);\n};\n\nexport const clearSearchResult = () => {\n mapStore.dispatch(CLEAR_SEARCH_RESULT);\n};\n\nexport const setFilter = (data: MapDataItem[]) => {\n mapStore.dispatch(SET_FILTER, data);\n};\n\nexport const clearFilter = () => {\n mapStore.dispatch(CLEAR_FILTER);\n};\n\nexport const setMapInstance = (mapInstance: mapboxgl.Map) => {\n mapStore.dispatch(SET_MAP_INSTANCE, mapInstance);\n};\n\nexport const manualSearch = (query: MapManualSearch) => {\n mapStore.dispatch(MANUAL_SEARCH, query);\n};\n\nexport const updateSearchIsMoving = (isMoving: boolean) => {\n mapStore.dispatch(UPDATE_SEARCH_IS_MOVING, isMoving);\n};\n\nexport const setLayerRaster = (layerRasterSettings: MapLayerRasterSettings) => {\n mapStore.dispatch(SET_LAYER_RASTER, layerRasterSettings);\n};\n\nexport const setIsochrone = (isochroneSetting: MapIsochroneSetting) => {\n mapStore.dispatch(SET_ISOCHRONE, isochroneSetting);\n};\n\nexport const clearIsochrone = () => {\n mapStore.dispatch(CLEAR_ISOCHRONE);\n};\n\nexport const setDirections = (directionsSetting: MapDirectionsSetting) => {\n mapStore.dispatch(SET_DIRECTIONS, directionsSetting);\n};\n\nexport const clearDirections = () => {\n mapStore.dispatch(CLEAR_DIRECTIONS);\n};\n\nexport const setZoom = (zoom: number) => {\n mapStore.dispatch(SET_ZOOM, zoom);\n};\n\n/*\n Getters\n*/\nexport const getMapboxData = () => mapStore.getState().data;\nexport const getHover = () => mapStore.getState().hover;\nexport const getMapInstance = () => mapStore.getState().mapInstance;\nexport const getSearchIsMoving = () => mapStore.getState().searchIsMoving;\n"]}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/molecules/map/store/store.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BoundingBox,\n Coordinate,\n MapDataItem,\n MapDirectionsSetting,\n MapIsochroneSetting,\n} from '@bpd-library/types';\nimport { Actions, createStore } from '@bpd-library/utilities';\n\nexport type SearchResultPlace = {\n country?: string;\n province?: string;\n city?: string;\n district?: string;\n};\n\nexport type SearchResult = {\n items: MapDataItem[];\n result: any;\n place?: SearchResultPlace;\n originalBoundingBox?: BoundingBox;\n expandedBoundingBox?: BoundingBox;\n kmPadding?: number;\n};\n\ninterface MapFocusOptions {\n zoom?: boolean;\n static?: boolean;\n}\n\nexport interface MapLayerRasterSettings {\n layerRaster: string;\n minzoom?: number;\n maxzoom?: number;\n}\n\nexport type MapManualSearch = string | Coordinate;\n\nexport interface MapState {\n data: MapDataItem[];\n mapInstance?: mapboxgl.Map;\n hover: {\n current?: MapDataItem;\n previous?: MapDataItem;\n };\n filter?: MapDataItem[];\n click?: MapDataItem;\n focus: {\n current?: MapDataItem[];\n previous?: MapDataItem[];\n options?: MapFocusOptions;\n };\n searchResult?: SearchResult;\n searchIsMoving: boolean;\n manualSearch?: MapManualSearch;\n layerRasterSettings?: MapLayerRasterSettings;\n isochroneSetting?: MapIsochroneSetting;\n directionsSetting?: MapDirectionsSetting;\n currentZoom?: number;\n}\n\nconst initialState: MapState = {\n data: [],\n hover: {},\n focus: {},\n searchIsMoving: false,\n};\n\ntype MapStoreActions =\n | 'updateMapData'\n | 'updateHover'\n | 'clearHover'\n | 'updateClick'\n | 'setFocus'\n | 'clearFocus'\n | 'updateSearchResult'\n | 'clearSearchResult'\n | 'updateSearchIsMoving'\n | 'setFilter'\n | 'clearFilter'\n | 'setMapInstance'\n | 'setLayerRaster'\n | 'manualSearch'\n | 'setIsochrone'\n | 'clearIsochrone'\n | 'setDirections'\n | 'clearDirections'\n | 'setZoom';\n\nconst actions: Actions<MapStoreActions, MapState> = {\n updateMapData: (state: MapState, data: MapDataItem[]) => {\n state.data = data;\n return state;\n },\n updateHover: (state: MapState, hover: MapDataItem) => {\n state.hover = {\n current: hover,\n previous: state.hover.current,\n };\n\n return state;\n },\n clearHover: (state: MapState) => {\n state.hover = {\n current: undefined,\n previous: state.hover.current,\n };\n\n return state;\n },\n updateClick: (state: MapState, click: MapDataItem) => {\n state.click = { ...click };\n return state;\n },\n setFocus: (state: MapState, { ids, options }: { ids: string[]; options: MapFocusOptions }) => {\n const dataItems = state.data.filter(({ id }) => ids.indexOf(id) > -1);\n\n if (dataItems.length) {\n state.focus = {\n current: dataItems,\n previous: state.focus?.current,\n options,\n };\n }\n\n return state;\n },\n clearFocus: (state: MapState) => {\n state.focus = {\n current: undefined,\n previous: state.focus.current,\n };\n\n return state;\n },\n updateSearchResult: (state: MapState, searchResult: SearchResult) => {\n state.searchResult = searchResult;\n return state;\n },\n clearSearchResult: (state: MapState) => {\n state.searchResult = undefined;\n return state;\n },\n setFilter: (state: MapState, data: MapDataItem[]) => {\n state.filter = data;\n return state;\n },\n clearFilter: (state: MapState) => {\n state.filter = undefined;\n return state;\n },\n setMapInstance: (state: MapState, mapInstance: mapboxgl.Map) => {\n state.mapInstance = mapInstance;\n return state;\n },\n manualSearch: (state: MapState, query: MapManualSearch) => {\n state.manualSearch = query;\n return state;\n },\n updateSearchIsMoving: (state: MapState, searchIsMoving: boolean) => {\n state.searchIsMoving = searchIsMoving;\n return state;\n },\n setLayerRaster: (state: MapState, layerRasterSettings: MapLayerRasterSettings) => {\n state.layerRasterSettings = layerRasterSettings;\n return state;\n },\n setIsochrone: (state: MapState, isochroneSetting: MapIsochroneSetting) => {\n state.isochroneSetting = isochroneSetting;\n return state;\n },\n clearIsochrone: (state: MapState) => {\n state.isochroneSetting = undefined;\n return state;\n },\n setDirections: (state: MapState, directionsSetting: MapDirectionsSetting) => {\n state.directionsSetting = directionsSetting;\n return state;\n },\n clearDirections: (state: MapState) => {\n state.directionsSetting = undefined;\n return state;\n },\n setZoom: (state: MapState, zoom: number) => {\n state.currentZoom = zoom;\n return state;\n },\n};\n\nexport const mapStore = createStore<MapState, MapStoreActions>({\n initialState,\n actions,\n});\n\n/*\n Setters\n*/\nexport const updateMapData = (data: MapDataItem[]) => {\n mapStore.dispatch('updateMapData', data);\n};\n\nexport const clearHover = () => {\n mapStore.dispatch('clearHover');\n};\n\nexport const updateHover = (hover: MapDataItem) => {\n mapStore.dispatch('updateHover', hover);\n};\n\nexport const updateClick = (click: MapDataItem) => {\n mapStore.dispatch('updateClick', click);\n};\n\nexport const setFocus = (ids: string[], options: MapFocusOptions = {}) => {\n mapStore.dispatch('setFocus', { ids, options });\n};\n\nexport const clearFocus = () => {\n mapStore.dispatch('clearFocus');\n};\n\nexport const updateSearchResult = (searchResult: SearchResult) => {\n mapStore.dispatch('updateSearchResult', searchResult);\n};\n\nexport const clearSearchResult = () => {\n mapStore.dispatch('clearSearchResult');\n};\n\nexport const setFilter = (data: MapDataItem[]) => {\n mapStore.dispatch('setFilter', data);\n};\n\nexport const clearFilter = () => {\n mapStore.dispatch('clearFilter');\n};\n\nexport const setMapInstance = (mapInstance: mapboxgl.Map) => {\n mapStore.dispatch('setMapInstance', mapInstance);\n};\n\nexport const manualSearch = (query: MapManualSearch) => {\n mapStore.dispatch('manualSearch', query);\n};\n\nexport const updateSearchIsMoving = (isMoving: boolean) => {\n mapStore.dispatch('updateSearchIsMoving', isMoving);\n};\n\nexport const setLayerRaster = (layerRasterSettings: MapLayerRasterSettings) => {\n mapStore.dispatch('setLayerRaster', layerRasterSettings);\n};\n\nexport const setIsochrone = (isochroneSetting: MapIsochroneSetting) => {\n mapStore.dispatch('setIsochrone', isochroneSetting);\n};\n\nexport const clearIsochrone = () => {\n mapStore.dispatch('clearIsochrone');\n};\n\nexport const setDirections = (directionsSetting: MapDirectionsSetting) => {\n mapStore.dispatch('setDirections', directionsSetting);\n};\n\nexport const clearDirections = () => {\n mapStore.dispatch('clearDirections');\n};\n\nexport const setZoom = (zoom: number) => {\n mapStore.dispatch('setZoom', zoom);\n};\n\n/*\n Getters\n*/\nexport const getMapboxData = () => mapStore.getState().data;\nexport const getHover = () => mapStore.getState().hover;\nexport const getMapInstance = () => mapStore.getState().mapInstance;\nexport const getSearchIsMoving = () => mapStore.getState().searchIsMoving;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bpd-library/components",
|
|
3
|
-
"version": "2.0.1-beta.
|
|
3
|
+
"version": "2.0.1-beta.1",
|
|
4
4
|
"description": "Description",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -46,14 +46,14 @@
|
|
|
46
46
|
"publishConfig": {
|
|
47
47
|
"access": "public"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "c783aa4e97552f8a34dbacb671ad884005dcf01d",
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@atomify/core": "2.4.1",
|
|
52
52
|
"@atomify/hooks": "1.1.11",
|
|
53
53
|
"@atomify/jsx": "1.7.1",
|
|
54
54
|
"@atomify/kit": "1.1.11",
|
|
55
|
-
"@bpd-library/types": "^2.0.1-beta.
|
|
56
|
-
"@bpd-library/utilities": "^2.0.1-beta.
|
|
55
|
+
"@bpd-library/types": "^2.0.1-beta.1",
|
|
56
|
+
"@bpd-library/utilities": "^2.0.1-beta.1",
|
|
57
57
|
"@mapbox/mapbox-gl-geocoder": "^4.7.0",
|
|
58
58
|
"@mapbox/mapbox-gl-language": "^0.10.1",
|
|
59
59
|
"@turf/helpers": "^6.5.0",
|