@abcagency/hc-ui-components 1.1.1 → 1.2.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/.editorconfig +12 -0
- package/.eslintrc +144 -0
- package/.prettierignore +3 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.js +516 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/dist/apis/hcApi.js +189 -0
- package/dist/apis/hcApi.js.map +1 -0
- package/dist/clientToken.js +10 -0
- package/dist/clientToken.js.map +1 -0
- package/dist/components/HireControlMap.js +130 -0
- package/dist/components/HireControlMap.js.map +1 -0
- package/dist/components/modules/accordions/MapAccordionItem.js +76 -0
- package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -0
- package/dist/components/modules/accordions/default.js +108 -0
- package/dist/components/modules/accordions/default.js.map +1 -0
- package/dist/components/modules/accordions/filterItem.js +50 -0
- package/dist/components/modules/accordions/filterItem.js.map +1 -0
- package/dist/components/modules/accordions/filters.js +46 -0
- package/dist/components/modules/accordions/filters.js.map +1 -0
- package/dist/components/modules/buttons/button-group-apply.js +84 -0
- package/dist/components/modules/buttons/button-group-apply.js.map +1 -0
- package/dist/components/modules/buttons/commute-pill.js +18 -0
- package/dist/components/modules/buttons/commute-pill.js.map +1 -0
- package/dist/components/modules/buttons/default.js +145 -0
- package/dist/components/modules/buttons/default.js.map +1 -0
- package/dist/components/modules/buttons/items-pill.js +23 -0
- package/dist/components/modules/buttons/items-pill.js.map +1 -0
- package/dist/components/modules/buttons/pill-wrapper.js +20 -0
- package/dist/components/modules/buttons/pill-wrapper.js.map +1 -0
- package/dist/components/modules/buttons/show-all-button.js +39 -0
- package/dist/components/modules/buttons/show-all-button.js.map +1 -0
- package/dist/components/modules/cards/default.js +102 -0
- package/dist/components/modules/cards/default.js.map +1 -0
- package/dist/components/modules/cards/filter.js +38 -0
- package/dist/components/modules/cards/filter.js.map +1 -0
- package/dist/components/modules/dialogs/apply-dialog.js +46 -0
- package/dist/components/modules/dialogs/apply-dialog.js.map +1 -0
- package/dist/components/modules/filter/commute.js +184 -0
- package/dist/components/modules/filter/commute.js.map +1 -0
- package/dist/components/modules/filter/index.js +79 -0
- package/dist/components/modules/filter/index.js.map +1 -0
- package/dist/components/modules/filter/item.js +71 -0
- package/dist/components/modules/filter/item.js.map +1 -0
- package/dist/components/modules/filter/location.js +68 -0
- package/dist/components/modules/filter/location.js.map +1 -0
- package/dist/components/modules/filter/points-of-interest.js +38 -0
- package/dist/components/modules/filter/points-of-interest.js.map +1 -0
- package/dist/components/modules/filter/radio-item.js +46 -0
- package/dist/components/modules/filter/radio-item.js.map +1 -0
- package/dist/components/modules/filter/search.js +83 -0
- package/dist/components/modules/filter/search.js.map +1 -0
- package/dist/components/modules/filter/sort.js +93 -0
- package/dist/components/modules/filter/sort.js.map +1 -0
- package/dist/components/modules/grid.js +39 -0
- package/dist/components/modules/grid.js.map +1 -0
- package/dist/components/modules/icon.js +23 -0
- package/dist/components/modules/icon.js.map +1 -0
- package/dist/components/modules/jobListing/listing-details.js +69 -0
- package/dist/components/modules/jobListing/listing-details.js.map +1 -0
- package/dist/components/modules/maps/info-window-card.js +14 -0
- package/dist/components/modules/maps/info-window-card.js.map +1 -0
- package/dist/components/modules/maps/info-window-content.js +39 -0
- package/dist/components/modules/maps/info-window-content.js.map +1 -0
- package/dist/components/modules/maps/list/field-mapper.js +88 -0
- package/dist/components/modules/maps/list/field-mapper.js.map +1 -0
- package/dist/components/modules/maps/list/header-item.js +59 -0
- package/dist/components/modules/maps/list/header-item.js.map +1 -0
- package/dist/components/modules/maps/list/header.js +37 -0
- package/dist/components/modules/maps/list/header.js.map +1 -0
- package/dist/components/modules/maps/list/index.js +93 -0
- package/dist/components/modules/maps/list/index.js.map +1 -0
- package/dist/components/modules/maps/list/item-expand-card/index.js +16 -0
- package/dist/components/modules/maps/list/item-expand-card/index.js.map +1 -0
- package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js +38 -0
- package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js.map +1 -0
- package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js +40 -0
- package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js.map +1 -0
- package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js +20 -0
- package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js.map +1 -0
- package/dist/components/modules/maps/list/list-item/index.js +98 -0
- package/dist/components/modules/maps/list/list-item/index.js.map +1 -0
- package/dist/components/modules/maps/map-list.js +57 -0
- package/dist/components/modules/maps/map-list.js.map +1 -0
- package/dist/components/modules/maps/map-marker.js +85 -0
- package/dist/components/modules/maps/map-marker.js.map +1 -0
- package/dist/components/modules/maps/map.js +201 -0
- package/dist/components/modules/maps/map.js.map +1 -0
- package/dist/components/modules/maps/place-marker.js +37 -0
- package/dist/components/modules/maps/place-marker.js.map +1 -0
- package/dist/components/modules/maps/tabs.js +84 -0
- package/dist/components/modules/maps/tabs.js.map +1 -0
- package/dist/constants/placeTypes.js +11 -0
- package/dist/constants/placeTypes.js.map +1 -0
- package/dist/contexts/mapContext.js +133 -0
- package/dist/contexts/mapContext.js.map +1 -0
- package/dist/contexts/mapListContext.js +278 -0
- package/dist/contexts/mapListContext.js.map +1 -0
- package/dist/contexts/placesContext.js +152 -0
- package/dist/contexts/placesContext.js.map +1 -0
- package/dist/hooks/useList.js +119 -0
- package/dist/hooks/useList.js.map +1 -0
- package/dist/index.js +2 -4536
- package/dist/index.js.map +1 -0
- package/dist/services/_virtual/_rollupPluginBabelHelpers.js +372 -0
- package/dist/services/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/dist/services/apis/hcApi.js +189 -0
- package/dist/services/apis/hcApi.js.map +1 -0
- package/dist/services/clientToken.js +7 -0
- package/dist/services/clientToken.js.map +1 -0
- package/dist/services/configService.js +33 -0
- package/dist/services/configService.js.map +1 -0
- package/dist/services/googlePlacesNearbyService.js +61 -0
- package/dist/services/googlePlacesNearbyService.js.map +1 -0
- package/dist/services/listingAggregatorService.js +56 -0
- package/dist/services/listingAggregatorService.js.map +1 -0
- package/dist/services/listingEntityService.js +36 -0
- package/dist/services/listingEntityService.js.map +1 -0
- package/dist/services/listingService.js +60 -112
- package/dist/services/listingService.js.map +1 -0
- package/dist/services/recruiterService.js +36 -0
- package/dist/services/recruiterService.js.map +1 -0
- package/dist/services/styles/index.css +3 -0
- package/dist/styles/index.css +3 -0
- package/dist/util/filterUtil.js +213 -0
- package/dist/util/filterUtil.js.map +1 -0
- package/dist/util/loading.js +16 -0
- package/dist/util/loading.js.map +1 -0
- package/dist/util/localStorageUtil.js +32 -0
- package/dist/util/localStorageUtil.js.map +1 -0
- package/dist/util/mapIconUtil.js +73 -0
- package/dist/util/mapIconUtil.js.map +1 -0
- package/dist/util/mapUtil.js +76 -0
- package/dist/util/mapUtil.js.map +1 -0
- package/dist/util/sortUtil.js +33 -0
- package/dist/util/sortUtil.js.map +1 -0
- package/dist/util/stringUtils.js +9 -0
- package/dist/util/stringUtils.js.map +1 -0
- package/jsconfig.json +7 -0
- package/package.json +51 -38
- package/postcss.config.js +13 -15
- package/{src/tailwind/preset.default.js → preset.default.js} +15 -15
- package/rollup.config.mjs +87 -0
- package/src/apis/hcApi.js +93 -87
- package/src/clientToken.js +9 -9
- package/src/components/HireControlMap.js +121 -0
- package/src/components/modules/accordions/MapAccordionItem.js +72 -69
- package/src/components/modules/accordions/default.js +171 -173
- package/src/components/modules/accordions/filterItem.js +53 -53
- package/src/components/modules/accordions/filters.js +47 -44
- package/src/components/modules/buttons/button-group-apply.js +113 -85
- package/src/components/modules/buttons/commute-pill.js +22 -21
- package/src/components/modules/buttons/default.js +196 -196
- package/src/components/modules/buttons/items-pill.js +32 -31
- package/src/components/modules/buttons/pill-wrapper.js +27 -26
- package/src/components/modules/buttons/show-all-button.js +20 -20
- package/src/components/modules/cards/default.js +167 -168
- package/src/components/modules/cards/filter.js +56 -55
- package/src/components/modules/dialogs/apply-dialog.js +48 -47
- package/src/components/modules/filter/commute.js +148 -151
- package/src/components/modules/filter/index.js +87 -86
- package/src/components/modules/filter/item.js +76 -77
- package/src/components/modules/filter/location.js +71 -69
- package/src/components/modules/filter/points-of-interest.js +44 -43
- package/src/components/modules/filter/radio-item.js +53 -51
- package/src/components/modules/filter/search.js +92 -91
- package/src/components/modules/filter/sort.js +83 -83
- package/src/components/modules/grid.js +55 -56
- package/src/components/modules/icon.js +33 -33
- package/src/components/modules/jobListing/listing-details.js +94 -88
- package/src/components/modules/maps/info-window-card.js +17 -17
- package/src/components/modules/maps/info-window-content.js +58 -60
- package/src/components/modules/maps/list/field-mapper.js +112 -111
- package/src/components/modules/maps/list/header-item.js +91 -90
- package/src/components/modules/maps/list/header.js +47 -46
- package/src/components/modules/maps/list/index.js +107 -104
- package/src/components/modules/maps/list/item-expand-card/index.js +22 -21
- package/src/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js +50 -48
- package/src/components/modules/maps/list/item-expand-card/recruiter-details.js +68 -67
- package/src/components/modules/maps/list/item-expand-card/recruiter-headshot.js +22 -22
- package/src/components/modules/maps/list/list-item/index.js +134 -133
- package/src/components/modules/maps/map-list.js +74 -73
- package/src/components/modules/maps/map-marker.js +86 -84
- package/src/components/modules/maps/map.js +229 -226
- package/src/components/modules/maps/place-marker.js +1 -1
- package/src/components/modules/maps/tabs.js +81 -79
- package/src/constants/placeTypes.js +8 -8
- package/src/contexts/mapContext.js +20 -19
- package/src/contexts/mapListContext.js +20 -15
- package/src/contexts/placesContext.js +4 -0
- package/src/hooks/useList.js +12 -10
- package/src/index.js +3 -103
- package/src/services/configService.js +16 -16
- package/src/services/googlePlacesNearbyService.js +33 -33
- package/src/services/listingAggregatorService.js +5 -4
- package/src/services/listingEntityService.js +2 -1
- package/src/services/listingService.js +27 -28
- package/src/services/recruiterService.js +17 -17
- package/src/styles/{globals.css → index.css} +23 -23
- package/src/util/arrayUtil.js +3 -3
- package/src/util/fieldMapper.js +22 -19
- package/src/util/filterUtil.js +19 -19
- package/src/util/loading.js +17 -17
- package/src/util/localStorageUtil.js +26 -26
- package/src/util/mapIconUtil.js +3 -3
- package/src/util/sortUtil.js +32 -32
- package/src/util/stringUtils.js +6 -6
- package/{src/tailwind/tailwind.config.js → tailwind.config.js} +126 -127
- package/dist/globals.css +0 -3
- package/dist/output.css +0 -784
- package/dist/services/globals.css +0 -3
- package/rollup.config.js +0 -68
- package/src/components/layout/footer.js +0 -34
- package/src/components/layout/header.js +0 -23
- package/src/components/layout/layout.js +0 -36
- package/src/components/modules/animations/slidein.js +0 -41
- package/src/components/modules/navigation/nav-link.js +0 -65
- package/src/components/modules/navigation/navbar.js +0 -106
- package/src/components/modules/navigation/skip-link.js +0 -21
- package/src/components/modules/navigation/social.js +0 -29
- package/src/components/modules/sections/default.js +0 -59
- package/src/components/modules/sections/sectionContext.js +0 -4
- package/src/hooks/useClickOutside.js +0 -16
- package/src/hooks/useEventListener.js +0 -25
- package/src/hooks/useEventTracker.js +0 -19
- package/src/hooks/useRefScrollProgress.js +0 -24
- package/src/hooks/useScript.js +0 -63
- package/src/hooks/useScrollDirection.js +0 -39
- package/src/hooks/useSectionTracker.js +0 -95
- package/src/hooks/useUserAgent.js +0 -43
- package/src/hooks/useWindowSize.js +0 -28
- package/src/index.css +0 -25
- package/src/styles/fonts.js +0 -0
- package/src/util/page-head.js +0 -62
- package/src/util/provider.js +0 -12
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, defineProperty as _defineProperty } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React, { useState, useRef, useEffect, createContext, useContext } from 'react';
|
|
3
|
+
import { getStorageObject, setStorageObject } from '../util/localStorageUtil.js';
|
|
4
|
+
|
|
5
|
+
var MapContext = /*#__PURE__*/createContext();
|
|
6
|
+
var useMap = function useMap() {
|
|
7
|
+
var context = useContext(MapContext);
|
|
8
|
+
if (!context) {
|
|
9
|
+
throw new Error("useMap must be used within a MapProvider");
|
|
10
|
+
}
|
|
11
|
+
return context;
|
|
12
|
+
};
|
|
13
|
+
var MapProvider = function MapProvider(_ref) {
|
|
14
|
+
var _getStorageObject;
|
|
15
|
+
var children = _ref.children,
|
|
16
|
+
resetFilters = _ref.resetFilters;
|
|
17
|
+
var _useState = useState(getStorageObject('selectedListItem')),
|
|
18
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
19
|
+
selectedListItem = _useState2[0],
|
|
20
|
+
setSelectedListItem = _useState2[1];
|
|
21
|
+
var _useState3 = useState(getStorageObject('location')),
|
|
22
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
23
|
+
location = _useState4[0],
|
|
24
|
+
setLocation = _useState4[1];
|
|
25
|
+
var _useState5 = useState(getStorageObject("center", {
|
|
26
|
+
lat: 39.8283,
|
|
27
|
+
lng: -98.5795
|
|
28
|
+
})),
|
|
29
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
30
|
+
center = _useState6[0],
|
|
31
|
+
setCenter = _useState6[1];
|
|
32
|
+
var _useState7 = useState(getStorageObject("zoom", 10)),
|
|
33
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
34
|
+
zoom = _useState8[0],
|
|
35
|
+
setZoom = _useState8[1];
|
|
36
|
+
var _useState9 = useState(getStorageObject('commuteLocation')),
|
|
37
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
38
|
+
commuteLocation = _useState10[0],
|
|
39
|
+
setCommuteLocation = _useState10[1];
|
|
40
|
+
var _useState11 = useState([]),
|
|
41
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
42
|
+
selectedPlaces = _useState12[0],
|
|
43
|
+
setSelectedPlaces = _useState12[1];
|
|
44
|
+
var _useState13 = useState(false),
|
|
45
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
46
|
+
mapInteracted = _useState14[0],
|
|
47
|
+
setMapInteracted = _useState14[1];
|
|
48
|
+
var _useState15 = useState((_getStorageObject = getStorageObject('selectedListItem')) !== null && _getStorageObject !== void 0 ? _getStorageObject : {
|
|
49
|
+
id: "defaultId"
|
|
50
|
+
}),
|
|
51
|
+
_useState16 = _slicedToArray(_useState15, 1),
|
|
52
|
+
firstLoadListItem = _useState16[0];
|
|
53
|
+
var _useState17 = useState(null),
|
|
54
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
55
|
+
travelTime = _useState18[0],
|
|
56
|
+
setTravelTime = _useState18[1];
|
|
57
|
+
var userSetZoom = useRef(true);
|
|
58
|
+
useEffect(function () {
|
|
59
|
+
setStorageObject("commuteLocation", commuteLocation);
|
|
60
|
+
if (!commuteLocation) {
|
|
61
|
+
setTravelTime(null);
|
|
62
|
+
}
|
|
63
|
+
}, [commuteLocation]);
|
|
64
|
+
useEffect(function () {
|
|
65
|
+
setStorageObject("selectedListItem", selectedListItem);
|
|
66
|
+
}, [selectedListItem]);
|
|
67
|
+
useEffect(function () {
|
|
68
|
+
localStorage.setItem("zoom", zoom);
|
|
69
|
+
}, [zoom]);
|
|
70
|
+
useEffect(function () {
|
|
71
|
+
if (location == null) {
|
|
72
|
+
localStorage.removeItem("location");
|
|
73
|
+
} else {
|
|
74
|
+
setStorageObject("location", location);
|
|
75
|
+
}
|
|
76
|
+
}, [location]);
|
|
77
|
+
useEffect(function () {
|
|
78
|
+
setStorageObject("center", center);
|
|
79
|
+
}, [center]);
|
|
80
|
+
var selectItem = function selectItem(item, itemLocation, zoom, center) {
|
|
81
|
+
setSelectedListItem(item);
|
|
82
|
+
if (mapInteracted === false && itemLocation != null) {
|
|
83
|
+
setLocation(itemLocation);
|
|
84
|
+
}
|
|
85
|
+
if (mapInteracted === false || itemLocation != null) {
|
|
86
|
+
setLocation(itemLocation);
|
|
87
|
+
setCenter(center);
|
|
88
|
+
}
|
|
89
|
+
if (mapInteracted === false) {
|
|
90
|
+
setZoom(zoom);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
var filterReset = function filterReset() {
|
|
94
|
+
setSelectedPlaces({});
|
|
95
|
+
setSelectedListItem(null);
|
|
96
|
+
setLocation(null);
|
|
97
|
+
setZoom(8);
|
|
98
|
+
setMapInteracted(false);
|
|
99
|
+
};
|
|
100
|
+
if (resetFilters === true) {
|
|
101
|
+
filterReset();
|
|
102
|
+
}
|
|
103
|
+
var selectLocationEntity = function selectLocationEntity(location) {
|
|
104
|
+
localStorage.removeItem("selectedListItem");
|
|
105
|
+
setTimeout(function () {
|
|
106
|
+
return setLocation(location);
|
|
107
|
+
}, 200);
|
|
108
|
+
setSelectedListItem(null);
|
|
109
|
+
};
|
|
110
|
+
return /*#__PURE__*/React.createElement(MapContext.Provider, {
|
|
111
|
+
value: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
|
|
112
|
+
selectedListItem: selectedListItem,
|
|
113
|
+
setSelectedListItem: setSelectedListItem,
|
|
114
|
+
location: location,
|
|
115
|
+
center: center,
|
|
116
|
+
zoom: zoom,
|
|
117
|
+
setZoom: setZoom,
|
|
118
|
+
selectItem: selectItem,
|
|
119
|
+
commuteLocation: commuteLocation,
|
|
120
|
+
setCommuteLocation: setCommuteLocation,
|
|
121
|
+
setSelectedPlaces: setSelectedPlaces,
|
|
122
|
+
selectedPlaces: selectedPlaces,
|
|
123
|
+
selectLocationEntity: selectLocationEntity,
|
|
124
|
+
setLocation: setLocation,
|
|
125
|
+
setMapInteracted: setMapInteracted,
|
|
126
|
+
mapInteracted: mapInteracted,
|
|
127
|
+
userSetZoom: userSetZoom
|
|
128
|
+
}, "setLocation", setLocation), "location", location), "firstLoadListItem", firstLoadListItem), "travelTime", travelTime), "setTravelTime", setTravelTime), "filterReset", filterReset)
|
|
129
|
+
}, children);
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
export { MapProvider, useMap };
|
|
133
|
+
//# sourceMappingURL=mapContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapContext.js","sources":["../../src/contexts/mapContext.js"],"sourcesContent":["import React, { createContext, useState, useContext, useEffect, useRef } from 'react';\nimport { getStorageObject, setStorageObject } from '~/util/localStorageUtil';\n\nconst MapContext = createContext();\n\nexport const useMap = () => {\n\tconst context = useContext(MapContext);\n\tif (!context) {\n\t\tthrow new Error(\"useMap must be used within a MapProvider\");\n\t}\n\treturn context;\n};\n\nexport const MapProvider = ({ children, resetFilters }) => {\n\tconst [selectedListItem, setSelectedListItem] = useState(getStorageObject('selectedListItem'));\n\tconst [location, setLocation] = useState(getStorageObject('location'));\n\tconst [center, setCenter] = useState(getStorageObject(\"center\", { lat: 39.8283, lng: -98.5795 }));\n\tconst [zoom, setZoom] = useState(getStorageObject(\"zoom\", 10));\n\tconst [commuteLocation, setCommuteLocation] = useState(getStorageObject('commuteLocation'));\n\tconst [selectedPlaces, setSelectedPlaces] = useState([]);\n\tconst [mapInteracted, setMapInteracted] = useState(false);\n\tconst [firstLoadListItem] = useState(getStorageObject('selectedListItem') ?? { id: \"defaultId\" });\n\tconst [travelTime, setTravelTime] = useState(null);\n\tconst userSetZoom = useRef(true);\n\n\tuseEffect(() => {\n\t\tsetStorageObject(\"commuteLocation\", commuteLocation);\n\t\tif (!commuteLocation) {\n\t\t\tsetTravelTime(null);\n\t\t}\n\t}, [commuteLocation]);\n\n\tuseEffect(() => {\n\t\tsetStorageObject(\"selectedListItem\", selectedListItem);\n\t}, [selectedListItem]);\n\n\tuseEffect(() => {\n\t\tlocalStorage.setItem(\"zoom\", zoom);\n\t}, [zoom]);\n\n\tuseEffect(() => {\n\t\tif (location == null) {\n\t\t\tlocalStorage.removeItem(\"location\");\n\t\t} else {\n\t\t\tsetStorageObject(\"location\", location);\n\t\t}\n\t}, [location]);\n\n\tuseEffect(() => {\n\t\tsetStorageObject(\"center\", center);\n\t}, [center]);\n\n\tconst selectItem = (item, itemLocation, zoom, center) => {\n\t\tsetSelectedListItem(item);\n\t\tif (mapInteracted === false && itemLocation != null) {\n\t\t\tsetLocation(itemLocation);\n\t\t}\n\t\tif (mapInteracted === false || itemLocation != null) {\n\t\t\tsetLocation(itemLocation);\n\t\t\tsetCenter(center);\n\t\t}\n\t\tif (mapInteracted === false) {\n\t\t\tsetZoom(zoom);\n\n\t\t}\n\n\t};\n\n\tconst filterReset = () => {\n\t\tsetSelectedPlaces({});\n\t\tsetSelectedListItem(null);\n\t\tsetLocation(null);\n\t\tsetZoom(8);\n\t\tsetMapInteracted(false);\n\t};\n\n\tif (resetFilters === true) {\n\t\tfilterReset();\n\t}\n\tconst selectLocationEntity = location => {\n\n\t\tlocalStorage.removeItem(\"selectedListItem\");\n\t\tsetTimeout(() => setLocation(location), 200);\n\t\tsetSelectedListItem(null);\n\t};\n\n\treturn (\n\t\t<MapContext.Provider\n\t\t\tvalue={{\n\t\t\t\tselectedListItem,\n\t\t\t\tsetSelectedListItem,\n\t\t\t\tlocation,\n\t\t\t\tcenter,\n\t\t\t\tzoom,\n\t\t\t\tsetZoom,\n\t\t\t\tselectItem,\n\t\t\t\tcommuteLocation,\n\t\t\t\tsetCommuteLocation,\n\t\t\t\tsetSelectedPlaces,\n\t\t\t\tselectedPlaces,\n\t\t\t\tselectLocationEntity,\n\t\t\t\tsetLocation,\n\t\t\t\tsetMapInteracted,\n\t\t\t\tmapInteracted,\n\t\t\t\tuserSetZoom,\n\t\t\t\tsetLocation,\n\t\t\t\tlocation,\n\t\t\t\tfirstLoadListItem,\n\t\t\t\ttravelTime,\n\t\t\t\tsetTravelTime,\n\t\t\t\tfilterReset\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</MapContext.Provider>\n\t);\n};\n"],"names":["MapContext","createContext","useMap","context","useContext","Error","MapProvider","_ref","_getStorageObject","children","resetFilters","_useState","useState","getStorageObject","_useState2","_slicedToArray","selectedListItem","setSelectedListItem","_useState3","_useState4","location","setLocation","_useState5","lat","lng","_useState6","center","setCenter","_useState7","_useState8","zoom","setZoom","_useState9","_useState10","commuteLocation","setCommuteLocation","_useState11","_useState12","selectedPlaces","setSelectedPlaces","_useState13","_useState14","mapInteracted","setMapInteracted","_useState15","id","_useState16","firstLoadListItem","_useState17","_useState18","travelTime","setTravelTime","userSetZoom","useRef","useEffect","setStorageObject","localStorage","setItem","removeItem","selectItem","item","itemLocation","filterReset","selectLocationEntity","setTimeout","React","createElement","Provider","value","_defineProperty"],"mappings":"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"}
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, toConsumableArray as _toConsumableArray } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React, { useContext, useState, useEffect, createContext } from 'react';
|
|
3
|
+
import { applyFilters, generateFilterOptions, filterListingsByLocation } from '../util/filterUtil.js';
|
|
4
|
+
import { getStorageObject, setStorageObject } from '../util/localStorageUtil.js';
|
|
5
|
+
import { getListingEntities } from '../services/listingEntityService.js';
|
|
6
|
+
import fetchListings from '../services/listingAggregatorService.js';
|
|
7
|
+
|
|
8
|
+
var MapListContext = /*#__PURE__*/createContext();
|
|
9
|
+
var useMapList = function useMapList() {
|
|
10
|
+
return useContext(MapListContext);
|
|
11
|
+
};
|
|
12
|
+
var getQuery = function getQuery() {
|
|
13
|
+
var query;
|
|
14
|
+
//if (!hasQueryInUrl(location)) {
|
|
15
|
+
query = typeof window !== 'undefined' ? localStorage.getItem('query') : '';
|
|
16
|
+
// }
|
|
17
|
+
//else {
|
|
18
|
+
// query = filtersFromURL(location).query;
|
|
19
|
+
// }
|
|
20
|
+
return query;
|
|
21
|
+
};
|
|
22
|
+
var MapListProvider = function MapListProvider(_ref) {
|
|
23
|
+
var children = _ref.children,
|
|
24
|
+
siteConfig = _ref.siteConfig,
|
|
25
|
+
resetFilters = _ref.resetFilters,
|
|
26
|
+
navigateToDetails = _ref.navigateToDetails,
|
|
27
|
+
navigateToEasyApply = _ref.navigateToEasyApply,
|
|
28
|
+
Link = _ref.Link;
|
|
29
|
+
// const location = useLocation();
|
|
30
|
+
// const navigate = useNavigate();
|
|
31
|
+
var _useState = useState(getStorageObject("listings", [])),
|
|
32
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
33
|
+
allListings = _useState2[0],
|
|
34
|
+
setAllListings = _useState2[1];
|
|
35
|
+
var _useState3 = useState([]),
|
|
36
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
37
|
+
filteredListings = _useState4[0],
|
|
38
|
+
setFilteredListings = _useState4[1];
|
|
39
|
+
var _useState5 = useState(false),
|
|
40
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
41
|
+
loading = _useState6[0],
|
|
42
|
+
setLoading = _useState6[1];
|
|
43
|
+
var _useState7 = useState(getStorageObject('mapItems', [])),
|
|
44
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
45
|
+
mapItems = _useState8[0],
|
|
46
|
+
setMapItems = _useState8[1];
|
|
47
|
+
var _useState9 = useState(function () {
|
|
48
|
+
return resetFilters ? null : getQuery();
|
|
49
|
+
}),
|
|
50
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
51
|
+
query = _useState10[0],
|
|
52
|
+
setQuery = _useState10[1];
|
|
53
|
+
var _useState11 = useState(getStorageObject("listingEntities", null)),
|
|
54
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
55
|
+
listingEntities = _useState12[0],
|
|
56
|
+
setListingEntities = _useState12[1];
|
|
57
|
+
var _useState13 = useState(true),
|
|
58
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
59
|
+
firstLoad = _useState14[0],
|
|
60
|
+
setFirstLoad = _useState14[1];
|
|
61
|
+
var _useState15 = useState(null),
|
|
62
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
63
|
+
commuteLocation = _useState16[0],
|
|
64
|
+
setCommuteLocation = _useState16[1];
|
|
65
|
+
var _useState17 = useState(function () {
|
|
66
|
+
return resetFilters ? {} : getStorageObject('selectedFilters', {});
|
|
67
|
+
}),
|
|
68
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
69
|
+
selectedFilters = _useState18[0],
|
|
70
|
+
setSelectedFilters = _useState18[1]; //hasFiltersInURL(location) ? filtersFromURL(location).filters : getStorageObject('selectedFilters', {}));
|
|
71
|
+
var _useState19 = useState(),
|
|
72
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
73
|
+
filterOptions = _useState20[0],
|
|
74
|
+
setFilterOptions = _useState20[1];
|
|
75
|
+
var _useState21 = useState(getStorageObject("recruiters", {})),
|
|
76
|
+
_useState22 = _slicedToArray(_useState21, 2),
|
|
77
|
+
recruiters = _useState22[0],
|
|
78
|
+
setRecruiters = _useState22[1];
|
|
79
|
+
var _useState23 = useState(false),
|
|
80
|
+
_useState24 = _slicedToArray(_useState23, 2),
|
|
81
|
+
filterDialogIsOpen = _useState24[0],
|
|
82
|
+
setFilterDialogIsOpen = _useState24[1];
|
|
83
|
+
var _useState25 = useState("listTab"),
|
|
84
|
+
_useState26 = _slicedToArray(_useState25, 2),
|
|
85
|
+
mobileTab = _useState26[0],
|
|
86
|
+
setMobileTab = _useState26[1];
|
|
87
|
+
var _useState27 = useState([]),
|
|
88
|
+
_useState28 = _slicedToArray(_useState27, 2),
|
|
89
|
+
favorites = _useState28[0],
|
|
90
|
+
setFavorites = _useState28[1];
|
|
91
|
+
var _useState29 = useState(false),
|
|
92
|
+
_useState30 = _slicedToArray(_useState29, 2),
|
|
93
|
+
filterByFavorites = _useState30[0],
|
|
94
|
+
setFilterByFavorites = _useState30[1];
|
|
95
|
+
useEffect(function () {
|
|
96
|
+
var loadedFavorites = JSON.parse(localStorage.getItem('favorites')) || [];
|
|
97
|
+
setFavorites(loadedFavorites);
|
|
98
|
+
}, []);
|
|
99
|
+
useEffect(function () {
|
|
100
|
+
if (commuteLocation === null || commuteLocation === '') return;
|
|
101
|
+
function fetchEntities() {
|
|
102
|
+
return _fetchEntities.apply(this, arguments);
|
|
103
|
+
}
|
|
104
|
+
function _fetchEntities() {
|
|
105
|
+
_fetchEntities = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
106
|
+
var distinctEntityIds, fetchedEntities, newFilteredListings, i;
|
|
107
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
108
|
+
while (1) switch (_context.prev = _context.next) {
|
|
109
|
+
case 0:
|
|
110
|
+
distinctEntityIds = _toConsumableArray(new Set(allListings.map(function (listing) {
|
|
111
|
+
return listing.entityId;
|
|
112
|
+
})));
|
|
113
|
+
_context.prev = 1;
|
|
114
|
+
_context.next = 4;
|
|
115
|
+
return getListingEntities(distinctEntityIds, "".concat(commuteLocation.lat, ", ").concat(commuteLocation.lng));
|
|
116
|
+
case 4:
|
|
117
|
+
fetchedEntities = _context.sent;
|
|
118
|
+
setListingEntities(fetchedEntities);
|
|
119
|
+
newFilteredListings = filteredListings;
|
|
120
|
+
for (i = 0; i < allListings.length; i++) {
|
|
121
|
+
if (newFilteredListings[i].entityId != -1) {
|
|
122
|
+
newFilteredListings[i].fields.travelTime = fetchedEntities[newFilteredListings[i].entityId].travelTime;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
for (i = 0; i < newFilteredListings.length; i++) {
|
|
126
|
+
if (newFilteredListings[i].entityId != -1) {
|
|
127
|
+
newFilteredListings[i].fields.travelTime = fetchedEntities[newFilteredListings[i].entityId].travelTime;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
setFilteredListings(newFilteredListings);
|
|
131
|
+
_context.next = 15;
|
|
132
|
+
break;
|
|
133
|
+
case 12:
|
|
134
|
+
_context.prev = 12;
|
|
135
|
+
_context.t0 = _context["catch"](1);
|
|
136
|
+
console.error("Failed to fetch listing entities:", _context.t0);
|
|
137
|
+
case 15:
|
|
138
|
+
case "end":
|
|
139
|
+
return _context.stop();
|
|
140
|
+
}
|
|
141
|
+
}, _callee, null, [[1, 12]]);
|
|
142
|
+
}));
|
|
143
|
+
return _fetchEntities.apply(this, arguments);
|
|
144
|
+
}
|
|
145
|
+
fetchEntities();
|
|
146
|
+
}, [commuteLocation, allListings, siteConfig.companyId]);
|
|
147
|
+
useEffect(function () {
|
|
148
|
+
var handleFetchListings = /*#__PURE__*/function () {
|
|
149
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
150
|
+
var _yield$fetchListings, listingsResult, fetchedRecruiters, fetchedEntities, distinctItems;
|
|
151
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
152
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
153
|
+
case 0:
|
|
154
|
+
if (!getStorageObject('listings', []).length > 0) {
|
|
155
|
+
setLoading(true);
|
|
156
|
+
}
|
|
157
|
+
_context2.prev = 1;
|
|
158
|
+
_context2.next = 4;
|
|
159
|
+
return fetchListings(query, siteConfig);
|
|
160
|
+
case 4:
|
|
161
|
+
_yield$fetchListings = _context2.sent;
|
|
162
|
+
listingsResult = _yield$fetchListings.listingsResult;
|
|
163
|
+
fetchedRecruiters = _yield$fetchListings.fetchedRecruiters;
|
|
164
|
+
fetchedEntities = _yield$fetchListings.fetchedEntities;
|
|
165
|
+
distinctItems = _yield$fetchListings.distinctItems;
|
|
166
|
+
setAllListings(listingsResult);
|
|
167
|
+
setRecruiters(fetchedRecruiters);
|
|
168
|
+
setListingEntities(fetchedEntities);
|
|
169
|
+
setMapItems(distinctItems);
|
|
170
|
+
setStorageObject("mapItems", distinctItems);
|
|
171
|
+
setStorageObject("listingEntities", fetchedEntities);
|
|
172
|
+
setStorageObject("recruiters", fetchedRecruiters);
|
|
173
|
+
setStorageObject("listings", listingsResult);
|
|
174
|
+
_context2.next = 22;
|
|
175
|
+
break;
|
|
176
|
+
case 19:
|
|
177
|
+
_context2.prev = 19;
|
|
178
|
+
_context2.t0 = _context2["catch"](1);
|
|
179
|
+
console.log(_context2.t0);
|
|
180
|
+
case 22:
|
|
181
|
+
setLoading(false);
|
|
182
|
+
case 23:
|
|
183
|
+
case "end":
|
|
184
|
+
return _context2.stop();
|
|
185
|
+
}
|
|
186
|
+
}, _callee2, null, [[1, 19]]);
|
|
187
|
+
}));
|
|
188
|
+
return function handleFetchListings() {
|
|
189
|
+
return _ref2.apply(this, arguments);
|
|
190
|
+
};
|
|
191
|
+
}();
|
|
192
|
+
handleFetchListings();
|
|
193
|
+
}, [query, siteConfig]);
|
|
194
|
+
useEffect(function () {
|
|
195
|
+
var processListings = function processListings() {
|
|
196
|
+
var _applyFilters = applyFilters(allListings, selectedFilters, query, listingEntities, favorites, siteConfig),
|
|
197
|
+
filteredListings = _applyFilters.filteredListings,
|
|
198
|
+
mapItems = _applyFilters.mapItems;
|
|
199
|
+
if (filterByFavorites) {
|
|
200
|
+
filteredListings = filteredListings.filter(function (x) {
|
|
201
|
+
return favorites.includes(x.id);
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
setFilteredListings(filteredListings);
|
|
205
|
+
// if (firstLoad && hasFiltersInURL(location)) {
|
|
206
|
+
// const { filters } = filtersFromURL(location);
|
|
207
|
+
// setSelectedFilters(filters);
|
|
208
|
+
// }
|
|
209
|
+
if (firstLoad && selectedFilters) ; else if (Object.keys(selectedFilters).length === 0 && !firstLoad) {
|
|
210
|
+
localStorage.removeItem('selectedFilters');
|
|
211
|
+
//updateURLWithFilters(selectedFilters,location, navigate, query);
|
|
212
|
+
} else if (!firstLoad) {
|
|
213
|
+
setStorageObject('selectedFilters', selectedFilters);
|
|
214
|
+
//updateURLWithFilters(selectedFilters,location, navigate, query);
|
|
215
|
+
}
|
|
216
|
+
query != null ? localStorage.setItem('query', query) : localStorage.removeItem('query');
|
|
217
|
+
setMapItems(mapItems);
|
|
218
|
+
if (selectedFilters) {
|
|
219
|
+
var keys = Object.keys(selectedFilters);
|
|
220
|
+
var lastKey = keys[keys.length - 1];
|
|
221
|
+
var options = generateFilterOptions(firstLoad ? allListings : filteredListings, allListings, siteConfig, filterOptions, lastKey, favorites);
|
|
222
|
+
if (options) {
|
|
223
|
+
setFilterOptions(options);
|
|
224
|
+
if (firstLoad) setFirstLoad(false);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
processListings();
|
|
229
|
+
}, [selectedFilters, query, listingEntities, filterByFavorites, favorites]);
|
|
230
|
+
var handleFilterListingsByLocation = function handleFilterListingsByLocation(selectedLocation) {
|
|
231
|
+
var _filterListingsByLoca = filterListingsByLocation(allListings, selectedLocation, listingEntities),
|
|
232
|
+
filteredListings = _filterListingsByLoca.filteredListings;
|
|
233
|
+
setFilteredListings(filteredListings);
|
|
234
|
+
//setMapItems(mapItems);
|
|
235
|
+
};
|
|
236
|
+
var handleSettingFavorites = function handleSettingFavorites(newFavorites) {
|
|
237
|
+
if (newFavorites == null) {
|
|
238
|
+
localStorage.removeItem('favorites');
|
|
239
|
+
} else {
|
|
240
|
+
setFavorites(newFavorites);
|
|
241
|
+
localStorage.setItem('favorites', JSON.stringify(newFavorites));
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
return /*#__PURE__*/React.createElement(MapListContext.Provider, {
|
|
245
|
+
value: {
|
|
246
|
+
loading: loading,
|
|
247
|
+
allListings: allListings,
|
|
248
|
+
filteredListings: filteredListings,
|
|
249
|
+
mapItems: mapItems,
|
|
250
|
+
query: query,
|
|
251
|
+
setFilteredListings: setFilteredListings,
|
|
252
|
+
setQuery: setQuery,
|
|
253
|
+
listingEntities: listingEntities,
|
|
254
|
+
selectedFilters: selectedFilters,
|
|
255
|
+
setSelectedFilters: setSelectedFilters,
|
|
256
|
+
filterOptions: filterOptions,
|
|
257
|
+
recruiters: recruiters,
|
|
258
|
+
handleFilterListingsByLocation: handleFilterListingsByLocation,
|
|
259
|
+
filterDialogIsOpen: filterDialogIsOpen,
|
|
260
|
+
setFilterDialogIsOpen: setFilterDialogIsOpen,
|
|
261
|
+
setMobileTab: setMobileTab,
|
|
262
|
+
mobileTab: mobileTab,
|
|
263
|
+
siteConfig: siteConfig,
|
|
264
|
+
favorites: favorites,
|
|
265
|
+
handleSettingFavorites: handleSettingFavorites,
|
|
266
|
+
setFilterByFavorites: setFilterByFavorites,
|
|
267
|
+
filterByFavorites: filterByFavorites,
|
|
268
|
+
commuteLocation: commuteLocation,
|
|
269
|
+
setCommuteLocation: setCommuteLocation,
|
|
270
|
+
navigateToDetails: navigateToDetails,
|
|
271
|
+
navigateToEasyApply: navigateToEasyApply,
|
|
272
|
+
Link: Link
|
|
273
|
+
}
|
|
274
|
+
}, children);
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
export { MapListProvider, useMapList };
|
|
278
|
+
//# sourceMappingURL=mapListContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapListContext.js","sources":["../../src/contexts/mapListContext.js"],"sourcesContent":["import React, { createContext, useState, useEffect, useContext } from 'react';\n\nimport { generateFilterOptions, applyFilters, filterListingsByLocation } from '~/util/filterUtil';\nimport { getStorageObject, setStorageObject } from '~/util/localStorageUtil';\n\nimport { getListingEntities } from \"~/services/listingEntityService\";\nimport fetchListings from '~/services/listingAggregatorService';\n\nconst MapListContext = createContext();\n\nexport const useMapList = () => useContext(MapListContext);\n\nconst getQuery = () => {\n\tlet query;\n\t//if (!hasQueryInUrl(location)) {\n\tquery = typeof window !== 'undefined' ? localStorage.getItem('query') : '';\n\t// }\n\t//else {\n\t// \tquery = filtersFromURL(location).query;\n\t// }\n\treturn query;\n};\n\nexport const MapListProvider = ({\n\tchildren,\n\tsiteConfig,\n\tresetFilters,\n\tnavigateToDetails,\n\tnavigateToEasyApply,\n\tLink\n}) => {\n\t// const location = useLocation();\n\t// const navigate = useNavigate();\n\tconst [allListings, setAllListings] = useState(getStorageObject(\"listings\", []));\n\tconst [filteredListings, setFilteredListings] = useState([]);\n\tconst [loading, setLoading] = useState(false);\n\tconst [mapItems, setMapItems] = useState(getStorageObject('mapItems', []));\n\tconst [query, setQuery] = useState(() => resetFilters ? null : getQuery());\n\tconst [listingEntities, setListingEntities] = useState(getStorageObject(\"listingEntities\", null));\n\tconst [firstLoad, setFirstLoad] = useState(true);\n\tconst [commuteLocation, setCommuteLocation] = useState(null);\n\tconst [selectedFilters, setSelectedFilters] = useState(() => resetFilters ? {} : getStorageObject('selectedFilters', {}));//hasFiltersInURL(location) ? filtersFromURL(location).filters : getStorageObject('selectedFilters', {}));\n\tconst [filterOptions, setFilterOptions] = useState();\n\tconst [recruiters, setRecruiters] = useState(getStorageObject(\"recruiters\", {}));\n\tconst [filterDialogIsOpen, setFilterDialogIsOpen] = useState(false);\n\tconst [mobileTab, setMobileTab] = useState(\"listTab\");\n\tconst [favorites, setFavorites] = useState([]);\n\tconst [filterByFavorites, setFilterByFavorites] = useState(false);\n\n\tuseEffect(() => {\n\t\tconst loadedFavorites = JSON.parse(localStorage.getItem('favorites')) || [];\n\t\tsetFavorites(loadedFavorites);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (commuteLocation === null || commuteLocation === '') return;\n\t\tasync function fetchEntities() {\n\t\t\tconst distinctEntityIds = [\n\t\t\t\t...new Set(allListings.map(listing => listing.entityId))\n\t\t\t];\n\t\t\ttry {\n\t\t\t\tconst fetchedEntities = await getListingEntities(\n\t\t\t\t\tdistinctEntityIds,\n\t\t\t\t\t`${commuteLocation.lat}, ${commuteLocation.lng}`\n\t\t\t\t);\n\t\t\t\tsetListingEntities(fetchedEntities);\n\t\t\t\tvar newFilteredListings = filteredListings;\n\t\t\t\tfor (var i = 0; i < allListings.length; i++) {\n\t\t\t\t\tif (newFilteredListings[i].entityId != -1) {\n\t\t\t\t\t\tnewFilteredListings[i].fields.travelTime = fetchedEntities[newFilteredListings[i].entityId].travelTime;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i < newFilteredListings.length; i++) {\n\t\t\t\t\tif (newFilteredListings[i].entityId != -1) {\n\t\t\t\t\t\tnewFilteredListings[i].fields.travelTime = fetchedEntities[newFilteredListings[i].entityId].travelTime;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tsetFilteredListings(newFilteredListings);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Failed to fetch listing entities:\", error);\n\t\t\t}\n\t\t}\n\n\t\tfetchEntities();\n\t}, [commuteLocation, allListings, siteConfig.companyId]);\n\n\tuseEffect(() => {\n\t\tconst handleFetchListings = async () => {\n\t\t\tif (!getStorageObject('listings', []).length > 0) {\n\t\t\t\tsetLoading(true);\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst {\n\t\t\t\t\tlistingsResult,\n\t\t\t\t\tfetchedRecruiters,\n\t\t\t\t\tfetchedEntities,\n\t\t\t\t\tdistinctItems\n\t\t\t\t} = await fetchListings(query, siteConfig);\n\t\t\t\tsetAllListings(listingsResult);\n\t\t\t\tsetRecruiters(fetchedRecruiters);\n\t\t\t\tsetListingEntities(fetchedEntities);\n\t\t\t\tsetMapItems(distinctItems);\n\t\t\t\tsetStorageObject(\"mapItems\", distinctItems);\n\t\t\t\tsetStorageObject(\"listingEntities\", fetchedEntities);\n\t\t\t\tsetStorageObject(\"recruiters\", fetchedRecruiters);\n\t\t\t\tsetStorageObject(\"listings\", listingsResult);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(error);\n\t\t\t}\n\t\t\tsetLoading(false);\n\t\t};\n\t\thandleFetchListings();\n\t}, [query, siteConfig]);\n\n\tuseEffect(() => {\n\t\tconst processListings = () => {\n\t\t\tlet { filteredListings, mapItems } = applyFilters(\n\t\t\t\tallListings,\n\t\t\t\tselectedFilters,\n\t\t\t\tquery,\n\t\t\t\tlistingEntities,\n\t\t\t\tfavorites,\n\t\t\t\tsiteConfig\n\t\t\t);\n\t\t\tif (filterByFavorites) {\n\t\t\t\tfilteredListings = filteredListings.filter(x => favorites.includes(x.id));\n\t\t\t}\n\t\t\tsetFilteredListings(filteredListings);\n\t\t\t// if (firstLoad && hasFiltersInURL(location)) {\n\t\t\t// \tconst { filters } = filtersFromURL(location);\n\t\t\t// \tsetSelectedFilters(filters);\n\t\t\t// }\n\t\t\tif (firstLoad && selectedFilters) {\n\t\t\t\t//updateURLWithFilters(selectedFilters,location, navigate, query);\n\t\t\t} else if (Object.keys(selectedFilters).length === 0 && !firstLoad) {\n\t\t\t\tlocalStorage.removeItem('selectedFilters');\n\t\t\t\t//updateURLWithFilters(selectedFilters,location, navigate, query);\n\t\t\t} else if (!firstLoad) {\n\t\t\t\tsetStorageObject('selectedFilters', selectedFilters);\n\t\t\t\t//updateURLWithFilters(selectedFilters,location, navigate, query);\n\t\t\t}\n\t\t\tquery != null ? localStorage.setItem('query', query) : localStorage.removeItem('query');\n\t\t\tsetMapItems(mapItems);\n\n\t\t\tif (selectedFilters) {\n\t\t\t\tconst keys = Object.keys(selectedFilters);\n\t\t\t\tconst lastKey = keys[keys.length - 1];\n\t\t\t\tconst options = generateFilterOptions(\n\t\t\t\t\tfirstLoad ? allListings : filteredListings,\n\t\t\t\t\tallListings,\n\t\t\t\t\tsiteConfig,\n\t\t\t\t\tfilterOptions,\n\t\t\t\t\tlastKey,\n\t\t\t\t\tfavorites\n\t\t\t\t);\n\t\t\t\tif (options) {\n\t\t\t\t\tsetFilterOptions(options);\n\t\t\t\t\tif (firstLoad) setFirstLoad(false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tprocessListings();\n\t}, [selectedFilters, query, listingEntities, filterByFavorites, favorites]);\n\n\tconst handleFilterListingsByLocation = selectedLocation => {\n\t\tconst { filteredListings, mapItems } = filterListingsByLocation(\n\t\t\tallListings,\n\t\t\tselectedLocation,\n\t\t\tlistingEntities,\n\t\t);\n\t\tsetFilteredListings(filteredListings);\n\t\t//setMapItems(mapItems);\n\t};\n\n\tconst handleSettingFavorites = newFavorites => {\n\t\tif (newFavorites == null) {\n\t\t\tlocalStorage.removeItem('favorites');\n\t\t} else {\n\t\t\tsetFavorites(newFavorites);\n\t\t\tlocalStorage.setItem('favorites', JSON.stringify(newFavorites));\n\t\t}\n\t};\n\n\treturn (\n\t\t<MapListContext.Provider value={{\n\t\t\tloading,\n\t\t\tallListings,\n\t\t\tfilteredListings,\n\t\t\tmapItems,\n\t\t\tquery,\n\t\t\tsetFilteredListings,\n\t\t\tsetQuery,\n\t\t\tlistingEntities,\n\t\t\tselectedFilters,\n\t\t\tsetSelectedFilters,\n\t\t\tfilterOptions,\n\t\t\trecruiters,\n\t\t\thandleFilterListingsByLocation,\n\t\t\tfilterDialogIsOpen,\n\t\t\tsetFilterDialogIsOpen,\n\t\t\tsetMobileTab,\n\t\t\tmobileTab,\n\t\t\tsiteConfig,\n\t\t\tfavorites,\n\t\t\thandleSettingFavorites,\n\t\t\tsetFilterByFavorites,\n\t\t\tfilterByFavorites,\n\t\t\tcommuteLocation,\n\t\t\tsetCommuteLocation,\n\t\t\tnavigateToDetails,\n\t\t\tnavigateToEasyApply,\n\t\t\tLink\n\t\t}}>\n\t\t\t{children}\n\t\t</MapListContext.Provider>\n\t);\n};\n"],"names":["MapListContext","createContext","useMapList","useContext","getQuery","query","window","localStorage","getItem","MapListProvider","_ref","children","siteConfig","resetFilters","navigateToDetails","navigateToEasyApply","Link","_useState","useState","getStorageObject","_useState2","_slicedToArray","allListings","setAllListings","_useState3","_useState4","filteredListings","setFilteredListings","_useState5","_useState6","loading","setLoading","_useState7","_useState8","mapItems","setMapItems","_useState9","_useState10","setQuery","_useState11","_useState12","listingEntities","setListingEntities","_useState13","_useState14","firstLoad","setFirstLoad","_useState15","_useState16","commuteLocation","setCommuteLocation","_useState17","_useState18","selectedFilters","setSelectedFilters","_useState19","_useState20","filterOptions","setFilterOptions","_useState21","_useState22","recruiters","setRecruiters","_useState23","_useState24","filterDialogIsOpen","setFilterDialogIsOpen","_useState25","_useState26","mobileTab","setMobileTab","_useState27","_useState28","favorites","setFavorites","_useState29","_useState30","filterByFavorites","setFilterByFavorites","useEffect","loadedFavorites","JSON","parse","fetchEntities","_fetchEntities","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","distinctEntityIds","fetchedEntities","newFilteredListings","i","wrap","_callee$","_context","prev","next","_toConsumableArray","Set","map","listing","entityId","getListingEntities","concat","lat","lng","sent","length","fields","travelTime","t0","console","error","stop","companyId","handleFetchListings","_ref2","_callee2","_yield$fetchListings","listingsResult","fetchedRecruiters","distinctItems","_callee2$","_context2","fetchListings","setStorageObject","log","processListings","_applyFilters","applyFilters","filter","x","includes","id","Object","keys","removeItem","setItem","lastKey","options","generateFilterOptions","handleFilterListingsByLocation","selectedLocation","_filterListingsByLoca","filterListingsByLocation","handleSettingFavorites","newFavorites","stringify","React","createElement","Provider","value"],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, createForOfIteratorHelper as _createForOfIteratorHelper } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React, { useState, useEffect, createContext, useContext } from 'react';
|
|
3
|
+
import { markerIconProps } from '../util/mapIconUtil.js';
|
|
4
|
+
import { useMap } from './mapContext.js';
|
|
5
|
+
import { searchNearbyPlaces } from '../services/googlePlacesNearbyService.js';
|
|
6
|
+
|
|
7
|
+
var PlacesContext = /*#__PURE__*/createContext();
|
|
8
|
+
var usePlaces = function usePlaces() {
|
|
9
|
+
return useContext(PlacesContext);
|
|
10
|
+
};
|
|
11
|
+
var PlacesProvider = function PlacesProvider(_ref) {
|
|
12
|
+
var children = _ref.children,
|
|
13
|
+
placeMappings = _ref.placeMappings,
|
|
14
|
+
markerColors = _ref.markerColors;
|
|
15
|
+
var _useMap = useMap(),
|
|
16
|
+
selectedPlaces = _useMap.selectedPlaces,
|
|
17
|
+
zoom = _useMap.zoom,
|
|
18
|
+
center = _useMap.center;
|
|
19
|
+
var _useState = useState({
|
|
20
|
+
markers: [],
|
|
21
|
+
icon: null
|
|
22
|
+
}),
|
|
23
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
24
|
+
poiMarkers = _useState2[0],
|
|
25
|
+
setPoiMarkers = _useState2[1];
|
|
26
|
+
var _useState3 = useState(center),
|
|
27
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
28
|
+
currentCenter = _useState4[0],
|
|
29
|
+
setCurrentCenter = _useState4[1];
|
|
30
|
+
var _useState5 = useState(zoom),
|
|
31
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
32
|
+
currentZoom = _useState6[0],
|
|
33
|
+
setCurrentZoom = _useState6[1];
|
|
34
|
+
var _useState7 = useState(false),
|
|
35
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
36
|
+
placesWindow = _useState8[0],
|
|
37
|
+
setPlacesWindow = _useState8[1];
|
|
38
|
+
var _useState9 = useState(null),
|
|
39
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
40
|
+
selectedPlaceMarker = _useState10[0],
|
|
41
|
+
setSelectedPlaceMarker = _useState10[1];
|
|
42
|
+
var getRadiusForZoom = function getRadiusForZoom() {
|
|
43
|
+
if (currentZoom >= 18) return 1000;
|
|
44
|
+
if (currentZoom <= 10) return 0;
|
|
45
|
+
var tempZoom = Math.pow(19 - currentZoom, 4.85);
|
|
46
|
+
var radius = tempZoom;
|
|
47
|
+
var minRadius = 1500;
|
|
48
|
+
var maxRadius = 800000;
|
|
49
|
+
if (radius < minRadius) radius = minRadius;else if (radius > maxRadius) radius = maxRadius;
|
|
50
|
+
return radius;
|
|
51
|
+
};
|
|
52
|
+
useEffect(function () {
|
|
53
|
+
if (!selectedPlaces || !selectedPlaces.length > 0 || !center || currentZoom < 12) {
|
|
54
|
+
setPoiMarkers({
|
|
55
|
+
markers: [],
|
|
56
|
+
icon: null
|
|
57
|
+
});
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
var fetchPlaces = /*#__PURE__*/function () {
|
|
61
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
62
|
+
var poiTypes, selectedPOICategories, radius, location, response, newMarkers;
|
|
63
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
64
|
+
while (1) switch (_context.prev = _context.next) {
|
|
65
|
+
case 0:
|
|
66
|
+
poiTypes = [];
|
|
67
|
+
selectedPOICategories = selectedPlaces;
|
|
68
|
+
selectedPOICategories.forEach(function (pointOfInterest) {
|
|
69
|
+
poiTypes = poiTypes.concat(placeMappings[pointOfInterest]);
|
|
70
|
+
});
|
|
71
|
+
radius = getRadiusForZoom();
|
|
72
|
+
location = {
|
|
73
|
+
latitude: currentCenter.lat,
|
|
74
|
+
longitude: currentCenter.lng
|
|
75
|
+
};
|
|
76
|
+
_context.prev = 5;
|
|
77
|
+
_context.next = 8;
|
|
78
|
+
return searchNearbyPlaces(poiTypes, location, radius);
|
|
79
|
+
case 8:
|
|
80
|
+
response = _context.sent;
|
|
81
|
+
newMarkers = response.places.map(function (place) {
|
|
82
|
+
var getParentCategory = function getParentCategory(types) {
|
|
83
|
+
var selectedTypes = selectedPOICategories.reduce(function (acc, category) {
|
|
84
|
+
return acc.concat(placeMappings[category]);
|
|
85
|
+
}, []);
|
|
86
|
+
var _iterator = _createForOfIteratorHelper(types),
|
|
87
|
+
_step;
|
|
88
|
+
try {
|
|
89
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
90
|
+
var type = _step.value;
|
|
91
|
+
if (!selectedTypes.includes(type)) continue;
|
|
92
|
+
for (var category in placeMappings) {
|
|
93
|
+
if (placeMappings[category].includes(type)) {
|
|
94
|
+
return category;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
} catch (err) {
|
|
99
|
+
_iterator.e(err);
|
|
100
|
+
} finally {
|
|
101
|
+
_iterator.f();
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
var icon = markerIconProps(markerColors.placeMarkers, getParentCategory(place.types));
|
|
105
|
+
return {
|
|
106
|
+
position: {
|
|
107
|
+
lat: place.location.latitude,
|
|
108
|
+
lng: place.location.longitude
|
|
109
|
+
},
|
|
110
|
+
title: place.displayName.text,
|
|
111
|
+
icon: icon
|
|
112
|
+
};
|
|
113
|
+
});
|
|
114
|
+
setPoiMarkers({
|
|
115
|
+
markers: newMarkers,
|
|
116
|
+
icon: null
|
|
117
|
+
});
|
|
118
|
+
_context.next = 16;
|
|
119
|
+
break;
|
|
120
|
+
case 13:
|
|
121
|
+
_context.prev = 13;
|
|
122
|
+
_context.t0 = _context["catch"](5);
|
|
123
|
+
console.error('Failed to fetch places:', _context.t0);
|
|
124
|
+
case 16:
|
|
125
|
+
case "end":
|
|
126
|
+
return _context.stop();
|
|
127
|
+
}
|
|
128
|
+
}, _callee, null, [[5, 13]]);
|
|
129
|
+
}));
|
|
130
|
+
return function fetchPlaces() {
|
|
131
|
+
return _ref2.apply(this, arguments);
|
|
132
|
+
};
|
|
133
|
+
}();
|
|
134
|
+
fetchPlaces();
|
|
135
|
+
}, [selectedPlaces, currentZoom, currentCenter]);
|
|
136
|
+
return /*#__PURE__*/React.createElement(PlacesContext.Provider, {
|
|
137
|
+
value: {
|
|
138
|
+
poiMarkers: poiMarkers,
|
|
139
|
+
setCurrentCenter: setCurrentCenter,
|
|
140
|
+
currentCenter: currentCenter,
|
|
141
|
+
setCurrentZoom: setCurrentZoom,
|
|
142
|
+
currentZoom: currentZoom,
|
|
143
|
+
placesWindow: placesWindow,
|
|
144
|
+
setPlacesWindow: setPlacesWindow,
|
|
145
|
+
selectedPlaceMarker: selectedPlaceMarker,
|
|
146
|
+
setSelectedPlaceMarker: setSelectedPlaceMarker
|
|
147
|
+
}
|
|
148
|
+
}, children);
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
export { PlacesProvider, usePlaces };
|
|
152
|
+
//# sourceMappingURL=placesContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placesContext.js","sources":["../../src/contexts/placesContext.js"],"sourcesContent":["import React, { createContext, useContext, useEffect, useState } from 'react';\n\nimport { markerIconProps } from '~/util/mapIconUtil';\n\nimport { useMap } from '~/contexts/mapContext';\n\nimport { searchNearbyPlaces } from '~/services/googlePlacesNearbyService';\n\nconst PlacesContext = createContext();\n\nexport const usePlaces = () => useContext(PlacesContext);\n\nexport const PlacesProvider = ({ children, placeMappings, markerColors }) => {\n\tconst { selectedPlaces, zoom, center } = useMap();\n\tconst [poiMarkers, setPoiMarkers] = useState({ markers: [], icon: null });\n\tconst [currentCenter, setCurrentCenter] = useState(center);\n\tconst [currentZoom, setCurrentZoom] = useState(zoom);\n\tconst [placesWindow, setPlacesWindow] = useState(false);\n\tconst [selectedPlaceMarker, setSelectedPlaceMarker] = useState(null);\n\n\tconst getRadiusForZoom = () => {\n\t\tif (currentZoom >= 18) return 1000;\n\t\tif (currentZoom <= 10) return 0;\n\n\t\tlet tempZoom = Math.pow(19 - currentZoom, 4.85);\n\t\tlet radius = tempZoom;\n\t\tlet minRadius = 1500;\n\t\tlet maxRadius = 800000;\n\n\t\tif (radius < minRadius) radius = minRadius;\n\t\telse if (radius > maxRadius) radius = maxRadius;\n\n\t\treturn radius;\n\t};\n\n\tuseEffect(() => {\n\t\tif (!selectedPlaces || (!selectedPlaces.length > 0) || !center || currentZoom < 12) {\n\t\t\tsetPoiMarkers({ markers: [], icon: null });\n\t\t\treturn;\n\t\t}\n\t\tconst fetchPlaces = async () => {\n\t\t\tlet poiTypes = [];\n\t\t\tconst selectedPOICategories = selectedPlaces;\n\t\t\tselectedPOICategories.forEach(pointOfInterest => {\n\t\t\t\tpoiTypes = poiTypes.concat(placeMappings[pointOfInterest]);\n\t\t\t});\n\n\t\t\tconst radius = getRadiusForZoom();\n\t\t\tconst location = { latitude: currentCenter.lat, longitude: currentCenter.lng };\n\n\t\t\ttry {\n\t\t\t\tconst response = await searchNearbyPlaces(poiTypes, location, radius);\n\t\t\t\tconst newMarkers = response.places.map(place => {\n\t\t\t\t\tconst getParentCategory = types => {\n\t\t\t\t\t\tconst selectedTypes = selectedPOICategories.reduce((acc, category) => {\n\t\t\t\t\t\t\treturn acc.concat(placeMappings[category]);\n\t\t\t\t\t\t}, []);\n\n\t\t\t\t\t\tfor (const type of types) {\n\t\t\t\t\t\t\tif (!selectedTypes.includes(type)) continue;\n\t\t\t\t\t\t\tfor (const category in placeMappings) {\n\t\t\t\t\t\t\t\tif (placeMappings[category].includes(type)) {\n\t\t\t\t\t\t\t\t\treturn category;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tconst icon = markerIconProps(markerColors.placeMarkers, getParentCategory(place.types));\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tposition: { lat: place.location.latitude, lng: place.location.longitude },\n\t\t\t\t\t\ttitle: place.displayName.text,\n\t\t\t\t\t\ticon: icon\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tsetPoiMarkers({ markers: newMarkers, icon: null });\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Failed to fetch places:', error);\n\t\t\t}\n\t\t};\n\n\t\tfetchPlaces();\n\t}, [selectedPlaces, currentZoom, currentCenter]);\n\n\treturn (\n\t\t<PlacesContext.Provider value={{\n\t\t\tpoiMarkers,\n\t\t\tsetCurrentCenter,\n\t\t\tcurrentCenter,\n\t\t\tsetCurrentZoom,\n\t\t\tcurrentZoom,\n\t\t\tplacesWindow,\n\t\t\tsetPlacesWindow,\n\t\t\tselectedPlaceMarker,\n\t\t\tsetSelectedPlaceMarker\n\t\t}}>\n\t\t\t{children}\n\t\t</PlacesContext.Provider>\n\t);\n};\n"],"names":["PlacesContext","createContext","usePlaces","useContext","PlacesProvider","_ref","children","placeMappings","markerColors","_useMap","useMap","selectedPlaces","zoom","center","_useState","useState","markers","icon","_useState2","_slicedToArray","poiMarkers","setPoiMarkers","_useState3","_useState4","currentCenter","setCurrentCenter","_useState5","_useState6","currentZoom","setCurrentZoom","_useState7","_useState8","placesWindow","setPlacesWindow","_useState9","_useState10","selectedPlaceMarker","setSelectedPlaceMarker","getRadiusForZoom","tempZoom","Math","pow","radius","minRadius","maxRadius","useEffect","length","fetchPlaces","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","poiTypes","selectedPOICategories","location","response","newMarkers","wrap","_callee$","_context","prev","next","forEach","pointOfInterest","concat","latitude","lat","longitude","lng","searchNearbyPlaces","sent","places","map","place","getParentCategory","types","selectedTypes","reduce","acc","category","_iterator","_createForOfIteratorHelper","_step","s","n","done","type","value","includes","err","e","f","markerIconProps","placeMarkers","position","title","displayName","text","t0","console","error","stop","apply","arguments","React","createElement","Provider"],"mappings":"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"}
|