@abcagency/hc-ui-components 1.2.8 → 1.2.9

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 (132) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +516 -516
  2. package/dist/apis/hcApi.js +189 -189
  3. package/dist/apis/hcApi.js.map +1 -1
  4. package/dist/clientToken.js +10 -10
  5. package/dist/clientToken.js.map +1 -1
  6. package/dist/components/HireControlMap.js +135 -135
  7. package/dist/components/HireControlMap.js.map +1 -1
  8. package/dist/components/modules/accordions/MapAccordionItem.js +76 -76
  9. package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -1
  10. package/dist/components/modules/accordions/default.js +108 -108
  11. package/dist/components/modules/accordions/default.js.map +1 -1
  12. package/dist/components/modules/accordions/filterItem.js +50 -50
  13. package/dist/components/modules/accordions/filterItem.js.map +1 -1
  14. package/dist/components/modules/accordions/filters.js +46 -46
  15. package/dist/components/modules/accordions/filters.js.map +1 -1
  16. package/dist/components/modules/buttons/button-group-apply.js +87 -87
  17. package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
  18. package/dist/components/modules/buttons/commute-pill.js +18 -18
  19. package/dist/components/modules/buttons/commute-pill.js.map +1 -1
  20. package/dist/components/modules/buttons/default.js +145 -145
  21. package/dist/components/modules/buttons/default.js.map +1 -1
  22. package/dist/components/modules/buttons/items-pill.js +23 -23
  23. package/dist/components/modules/buttons/items-pill.js.map +1 -1
  24. package/dist/components/modules/buttons/pill-wrapper.js +20 -20
  25. package/dist/components/modules/buttons/pill-wrapper.js.map +1 -1
  26. package/dist/components/modules/buttons/show-all-button.js +39 -39
  27. package/dist/components/modules/buttons/show-all-button.js.map +1 -1
  28. package/dist/components/modules/cards/default.js +102 -102
  29. package/dist/components/modules/cards/default.js.map +1 -1
  30. package/dist/components/modules/cards/filter.js +38 -38
  31. package/dist/components/modules/cards/filter.js.map +1 -1
  32. package/dist/components/modules/dialogs/apply-dialog.js +46 -46
  33. package/dist/components/modules/dialogs/apply-dialog.js.map +1 -1
  34. package/dist/components/modules/filter/commute.js +184 -184
  35. package/dist/components/modules/filter/commute.js.map +1 -1
  36. package/dist/components/modules/filter/index.js +79 -79
  37. package/dist/components/modules/filter/index.js.map +1 -1
  38. package/dist/components/modules/filter/item.js +71 -71
  39. package/dist/components/modules/filter/item.js.map +1 -1
  40. package/dist/components/modules/filter/location.js +68 -68
  41. package/dist/components/modules/filter/location.js.map +1 -1
  42. package/dist/components/modules/filter/points-of-interest.js +38 -38
  43. package/dist/components/modules/filter/points-of-interest.js.map +1 -1
  44. package/dist/components/modules/filter/radio-item.js +46 -46
  45. package/dist/components/modules/filter/radio-item.js.map +1 -1
  46. package/dist/components/modules/filter/search.js +83 -83
  47. package/dist/components/modules/filter/search.js.map +1 -1
  48. package/dist/components/modules/filter/sort.js +93 -93
  49. package/dist/components/modules/filter/sort.js.map +1 -1
  50. package/dist/components/modules/grid.js +39 -39
  51. package/dist/components/modules/grid.js.map +1 -1
  52. package/dist/components/modules/icon.js +23 -23
  53. package/dist/components/modules/icon.js.map +1 -1
  54. package/dist/components/modules/jobListing/listing-details.js +71 -71
  55. package/dist/components/modules/jobListing/listing-details.js.map +1 -1
  56. package/dist/components/modules/maps/info-window-card.js +14 -14
  57. package/dist/components/modules/maps/info-window-card.js.map +1 -1
  58. package/dist/components/modules/maps/info-window-content.js +49 -39
  59. package/dist/components/modules/maps/info-window-content.js.map +1 -1
  60. package/dist/components/modules/maps/list/field-mapper.js +88 -88
  61. package/dist/components/modules/maps/list/field-mapper.js.map +1 -1
  62. package/dist/components/modules/maps/list/header-item.js +59 -59
  63. package/dist/components/modules/maps/list/header-item.js.map +1 -1
  64. package/dist/components/modules/maps/list/header.js +37 -37
  65. package/dist/components/modules/maps/list/header.js.map +1 -1
  66. package/dist/components/modules/maps/list/index.js +93 -93
  67. package/dist/components/modules/maps/list/index.js.map +1 -1
  68. package/dist/components/modules/maps/list/item-expand-card/index.js +16 -16
  69. package/dist/components/modules/maps/list/item-expand-card/index.js.map +1 -1
  70. package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js +38 -38
  71. package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js.map +1 -1
  72. package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js +40 -40
  73. package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js.map +1 -1
  74. package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js +20 -20
  75. package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js.map +1 -1
  76. package/dist/components/modules/maps/list/list-item/index.js +98 -98
  77. package/dist/components/modules/maps/list/list-item/index.js.map +1 -1
  78. package/dist/components/modules/maps/map-list.js +57 -57
  79. package/dist/components/modules/maps/map-list.js.map +1 -1
  80. package/dist/components/modules/maps/map-marker.js +85 -85
  81. package/dist/components/modules/maps/map-marker.js.map +1 -1
  82. package/dist/components/modules/maps/map.js +201 -201
  83. package/dist/components/modules/maps/map.js.map +1 -1
  84. package/dist/components/modules/maps/place-marker.js +37 -37
  85. package/dist/components/modules/maps/place-marker.js.map +1 -1
  86. package/dist/components/modules/maps/tabs.js +84 -84
  87. package/dist/components/modules/maps/tabs.js.map +1 -1
  88. package/dist/constants/placeTypes.js +11 -11
  89. package/dist/constants/placeTypes.js.map +1 -1
  90. package/dist/contexts/mapContext.js +133 -133
  91. package/dist/contexts/mapContext.js.map +1 -1
  92. package/dist/contexts/mapListContext.js +280 -280
  93. package/dist/contexts/mapListContext.js.map +1 -1
  94. package/dist/contexts/placesContext.js +152 -152
  95. package/dist/contexts/placesContext.js.map +1 -1
  96. package/dist/hooks/useList.js +119 -119
  97. package/dist/hooks/useList.js.map +1 -1
  98. package/dist/index.js +2 -2
  99. package/dist/services/_virtual/_rollupPluginBabelHelpers.js +372 -372
  100. package/dist/services/apis/hcApi.js +189 -189
  101. package/dist/services/apis/hcApi.js.map +1 -1
  102. package/dist/services/clientToken.js +7 -7
  103. package/dist/services/clientToken.js.map +1 -1
  104. package/dist/services/configService.js +33 -33
  105. package/dist/services/configService.js.map +1 -1
  106. package/dist/services/googlePlacesNearbyService.js +61 -61
  107. package/dist/services/googlePlacesNearbyService.js.map +1 -1
  108. package/dist/services/listingAggregatorService.js +56 -56
  109. package/dist/services/listingAggregatorService.js.map +1 -1
  110. package/dist/services/listingEntityService.js +36 -36
  111. package/dist/services/listingEntityService.js.map +1 -1
  112. package/dist/services/listingService.js +64 -64
  113. package/dist/services/listingService.js.map +1 -1
  114. package/dist/services/recruiterService.js +36 -36
  115. package/dist/services/recruiterService.js.map +1 -1
  116. package/dist/services/styles/index.css +2 -2
  117. package/dist/styles/index.css +2 -2
  118. package/dist/util/filterUtil.js +213 -213
  119. package/dist/util/filterUtil.js.map +1 -1
  120. package/dist/util/loading.js +16 -16
  121. package/dist/util/loading.js.map +1 -1
  122. package/dist/util/localStorageUtil.js +32 -32
  123. package/dist/util/localStorageUtil.js.map +1 -1
  124. package/dist/util/mapIconUtil.js +73 -73
  125. package/dist/util/mapIconUtil.js.map +1 -1
  126. package/dist/util/mapUtil.js +76 -76
  127. package/dist/util/mapUtil.js.map +1 -1
  128. package/dist/util/sortUtil.js +33 -33
  129. package/dist/util/sortUtil.js.map +1 -1
  130. package/dist/util/stringUtils.js +9 -9
  131. package/dist/util/stringUtils.js.map +1 -1
  132. package/package.json +1 -1
@@ -1,280 +1,280 @@
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
- linkFormat = _ref.linkFormat;
30
- // const location = useLocation();
31
- // const navigate = useNavigate();
32
- var _useState = useState(getStorageObject("listings", [])),
33
- _useState2 = _slicedToArray(_useState, 2),
34
- allListings = _useState2[0],
35
- setAllListings = _useState2[1];
36
- var _useState3 = useState([]),
37
- _useState4 = _slicedToArray(_useState3, 2),
38
- filteredListings = _useState4[0],
39
- setFilteredListings = _useState4[1];
40
- var _useState5 = useState(false),
41
- _useState6 = _slicedToArray(_useState5, 2),
42
- loading = _useState6[0],
43
- setLoading = _useState6[1];
44
- var _useState7 = useState(getStorageObject('mapItems', [])),
45
- _useState8 = _slicedToArray(_useState7, 2),
46
- mapItems = _useState8[0],
47
- setMapItems = _useState8[1];
48
- var _useState9 = useState(function () {
49
- return resetFilters ? null : getQuery();
50
- }),
51
- _useState10 = _slicedToArray(_useState9, 2),
52
- query = _useState10[0],
53
- setQuery = _useState10[1];
54
- var _useState11 = useState(getStorageObject("listingEntities", null)),
55
- _useState12 = _slicedToArray(_useState11, 2),
56
- listingEntities = _useState12[0],
57
- setListingEntities = _useState12[1];
58
- var _useState13 = useState(true),
59
- _useState14 = _slicedToArray(_useState13, 2),
60
- firstLoad = _useState14[0],
61
- setFirstLoad = _useState14[1];
62
- var _useState15 = useState(null),
63
- _useState16 = _slicedToArray(_useState15, 2),
64
- commuteLocation = _useState16[0],
65
- setCommuteLocation = _useState16[1];
66
- var _useState17 = useState(function () {
67
- return resetFilters ? {} : getStorageObject('selectedFilters', {});
68
- }),
69
- _useState18 = _slicedToArray(_useState17, 2),
70
- selectedFilters = _useState18[0],
71
- setSelectedFilters = _useState18[1]; //hasFiltersInURL(location) ? filtersFromURL(location).filters : getStorageObject('selectedFilters', {}));
72
- var _useState19 = useState(),
73
- _useState20 = _slicedToArray(_useState19, 2),
74
- filterOptions = _useState20[0],
75
- setFilterOptions = _useState20[1];
76
- var _useState21 = useState(getStorageObject("recruiters", {})),
77
- _useState22 = _slicedToArray(_useState21, 2),
78
- recruiters = _useState22[0],
79
- setRecruiters = _useState22[1];
80
- var _useState23 = useState(false),
81
- _useState24 = _slicedToArray(_useState23, 2),
82
- filterDialogIsOpen = _useState24[0],
83
- setFilterDialogIsOpen = _useState24[1];
84
- var _useState25 = useState("listTab"),
85
- _useState26 = _slicedToArray(_useState25, 2),
86
- mobileTab = _useState26[0],
87
- setMobileTab = _useState26[1];
88
- var _useState27 = useState([]),
89
- _useState28 = _slicedToArray(_useState27, 2),
90
- favorites = _useState28[0],
91
- setFavorites = _useState28[1];
92
- var _useState29 = useState(false),
93
- _useState30 = _slicedToArray(_useState29, 2),
94
- filterByFavorites = _useState30[0],
95
- setFilterByFavorites = _useState30[1];
96
- useEffect(function () {
97
- var loadedFavorites = JSON.parse(localStorage.getItem('favorites')) || [];
98
- setFavorites(loadedFavorites);
99
- }, []);
100
- useEffect(function () {
101
- if (commuteLocation === null || commuteLocation === '') return;
102
- function fetchEntities() {
103
- return _fetchEntities.apply(this, arguments);
104
- }
105
- function _fetchEntities() {
106
- _fetchEntities = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
107
- var distinctEntityIds, fetchedEntities, newFilteredListings, i;
108
- return _regeneratorRuntime().wrap(function _callee$(_context) {
109
- while (1) switch (_context.prev = _context.next) {
110
- case 0:
111
- distinctEntityIds = _toConsumableArray(new Set(allListings.map(function (listing) {
112
- return listing.entityId;
113
- })));
114
- _context.prev = 1;
115
- _context.next = 4;
116
- return getListingEntities(distinctEntityIds, "".concat(commuteLocation.lat, ", ").concat(commuteLocation.lng));
117
- case 4:
118
- fetchedEntities = _context.sent;
119
- setListingEntities(fetchedEntities);
120
- newFilteredListings = filteredListings;
121
- for (i = 0; i < allListings.length; i++) {
122
- if (newFilteredListings[i].entityId != -1) {
123
- newFilteredListings[i].fields.travelTime = fetchedEntities[newFilteredListings[i].entityId].travelTime;
124
- }
125
- }
126
- for (i = 0; i < newFilteredListings.length; i++) {
127
- if (newFilteredListings[i].entityId != -1) {
128
- newFilteredListings[i].fields.travelTime = fetchedEntities[newFilteredListings[i].entityId].travelTime;
129
- }
130
- }
131
- setFilteredListings(newFilteredListings);
132
- _context.next = 15;
133
- break;
134
- case 12:
135
- _context.prev = 12;
136
- _context.t0 = _context["catch"](1);
137
- console.error("Failed to fetch listing entities:", _context.t0);
138
- case 15:
139
- case "end":
140
- return _context.stop();
141
- }
142
- }, _callee, null, [[1, 12]]);
143
- }));
144
- return _fetchEntities.apply(this, arguments);
145
- }
146
- fetchEntities();
147
- }, [commuteLocation, allListings, siteConfig.companyId]);
148
- useEffect(function () {
149
- var handleFetchListings = /*#__PURE__*/function () {
150
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
151
- var _yield$fetchListings, listingsResult, fetchedRecruiters, fetchedEntities, distinctItems;
152
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
153
- while (1) switch (_context2.prev = _context2.next) {
154
- case 0:
155
- if (!getStorageObject('listings', []).length > 0) {
156
- setLoading(true);
157
- }
158
- _context2.prev = 1;
159
- _context2.next = 4;
160
- return fetchListings(query, siteConfig);
161
- case 4:
162
- _yield$fetchListings = _context2.sent;
163
- listingsResult = _yield$fetchListings.listingsResult;
164
- fetchedRecruiters = _yield$fetchListings.fetchedRecruiters;
165
- fetchedEntities = _yield$fetchListings.fetchedEntities;
166
- distinctItems = _yield$fetchListings.distinctItems;
167
- setAllListings(listingsResult);
168
- setRecruiters(fetchedRecruiters);
169
- setListingEntities(fetchedEntities);
170
- setMapItems(distinctItems);
171
- setStorageObject("mapItems", distinctItems);
172
- setStorageObject("listingEntities", fetchedEntities);
173
- setStorageObject("recruiters", fetchedRecruiters);
174
- setStorageObject("listings", listingsResult);
175
- _context2.next = 22;
176
- break;
177
- case 19:
178
- _context2.prev = 19;
179
- _context2.t0 = _context2["catch"](1);
180
- console.log(_context2.t0);
181
- case 22:
182
- setLoading(false);
183
- case 23:
184
- case "end":
185
- return _context2.stop();
186
- }
187
- }, _callee2, null, [[1, 19]]);
188
- }));
189
- return function handleFetchListings() {
190
- return _ref2.apply(this, arguments);
191
- };
192
- }();
193
- handleFetchListings();
194
- }, [query, siteConfig]);
195
- useEffect(function () {
196
- var processListings = function processListings() {
197
- var _applyFilters = applyFilters(allListings, selectedFilters, query, listingEntities, favorites, siteConfig),
198
- filteredListings = _applyFilters.filteredListings,
199
- mapItems = _applyFilters.mapItems;
200
- if (filterByFavorites) {
201
- filteredListings = filteredListings.filter(function (x) {
202
- return favorites.includes(x.id);
203
- });
204
- }
205
- setFilteredListings(filteredListings);
206
- // if (firstLoad && hasFiltersInURL(location)) {
207
- // const { filters } = filtersFromURL(location);
208
- // setSelectedFilters(filters);
209
- // }
210
- if (firstLoad && selectedFilters) ; else if (Object.keys(selectedFilters).length === 0 && !firstLoad) {
211
- localStorage.removeItem('selectedFilters');
212
- //updateURLWithFilters(selectedFilters,location, navigate, query);
213
- } else if (!firstLoad) {
214
- setStorageObject('selectedFilters', selectedFilters);
215
- //updateURLWithFilters(selectedFilters,location, navigate, query);
216
- }
217
- query != null ? localStorage.setItem('query', query) : localStorage.removeItem('query');
218
- setMapItems(mapItems);
219
- if (selectedFilters) {
220
- var keys = Object.keys(selectedFilters);
221
- var lastKey = keys[keys.length - 1];
222
- var options = generateFilterOptions(firstLoad ? allListings : filteredListings, allListings, siteConfig, filterOptions, lastKey, favorites);
223
- if (options) {
224
- setFilterOptions(options);
225
- if (firstLoad) setFirstLoad(false);
226
- }
227
- }
228
- };
229
- processListings();
230
- }, [selectedFilters, query, listingEntities, filterByFavorites, favorites]);
231
- var handleFilterListingsByLocation = function handleFilterListingsByLocation(selectedLocation) {
232
- var _filterListingsByLoca = filterListingsByLocation(allListings, selectedLocation, listingEntities),
233
- filteredListings = _filterListingsByLoca.filteredListings;
234
- setFilteredListings(filteredListings);
235
- //setMapItems(mapItems);
236
- };
237
- var handleSettingFavorites = function handleSettingFavorites(newFavorites) {
238
- if (newFavorites == null) {
239
- localStorage.removeItem('favorites');
240
- } else {
241
- setFavorites(newFavorites);
242
- localStorage.setItem('favorites', JSON.stringify(newFavorites));
243
- }
244
- };
245
- return /*#__PURE__*/React.createElement(MapListContext.Provider, {
246
- value: {
247
- loading: loading,
248
- allListings: allListings,
249
- filteredListings: filteredListings,
250
- mapItems: mapItems,
251
- query: query,
252
- setFilteredListings: setFilteredListings,
253
- setQuery: setQuery,
254
- listingEntities: listingEntities,
255
- selectedFilters: selectedFilters,
256
- setSelectedFilters: setSelectedFilters,
257
- filterOptions: filterOptions,
258
- recruiters: recruiters,
259
- handleFilterListingsByLocation: handleFilterListingsByLocation,
260
- filterDialogIsOpen: filterDialogIsOpen,
261
- setFilterDialogIsOpen: setFilterDialogIsOpen,
262
- setMobileTab: setMobileTab,
263
- mobileTab: mobileTab,
264
- siteConfig: siteConfig,
265
- favorites: favorites,
266
- handleSettingFavorites: handleSettingFavorites,
267
- setFilterByFavorites: setFilterByFavorites,
268
- filterByFavorites: filterByFavorites,
269
- commuteLocation: commuteLocation,
270
- setCommuteLocation: setCommuteLocation,
271
- navigateToDetails: navigateToDetails,
272
- navigateToEasyApply: navigateToEasyApply,
273
- Link: Link,
274
- linkFormat: linkFormat
275
- }
276
- }, children);
277
- };
278
-
279
- export { MapListProvider, useMapList };
280
- //# sourceMappingURL=mapListContext.js.map
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
+ linkFormat = _ref.linkFormat;
30
+ // const location = useLocation();
31
+ // const navigate = useNavigate();
32
+ var _useState = useState(getStorageObject("listings", [])),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ allListings = _useState2[0],
35
+ setAllListings = _useState2[1];
36
+ var _useState3 = useState([]),
37
+ _useState4 = _slicedToArray(_useState3, 2),
38
+ filteredListings = _useState4[0],
39
+ setFilteredListings = _useState4[1];
40
+ var _useState5 = useState(false),
41
+ _useState6 = _slicedToArray(_useState5, 2),
42
+ loading = _useState6[0],
43
+ setLoading = _useState6[1];
44
+ var _useState7 = useState(getStorageObject('mapItems', [])),
45
+ _useState8 = _slicedToArray(_useState7, 2),
46
+ mapItems = _useState8[0],
47
+ setMapItems = _useState8[1];
48
+ var _useState9 = useState(function () {
49
+ return resetFilters ? null : getQuery();
50
+ }),
51
+ _useState10 = _slicedToArray(_useState9, 2),
52
+ query = _useState10[0],
53
+ setQuery = _useState10[1];
54
+ var _useState11 = useState(getStorageObject("listingEntities", null)),
55
+ _useState12 = _slicedToArray(_useState11, 2),
56
+ listingEntities = _useState12[0],
57
+ setListingEntities = _useState12[1];
58
+ var _useState13 = useState(true),
59
+ _useState14 = _slicedToArray(_useState13, 2),
60
+ firstLoad = _useState14[0],
61
+ setFirstLoad = _useState14[1];
62
+ var _useState15 = useState(null),
63
+ _useState16 = _slicedToArray(_useState15, 2),
64
+ commuteLocation = _useState16[0],
65
+ setCommuteLocation = _useState16[1];
66
+ var _useState17 = useState(function () {
67
+ return resetFilters ? {} : getStorageObject('selectedFilters', {});
68
+ }),
69
+ _useState18 = _slicedToArray(_useState17, 2),
70
+ selectedFilters = _useState18[0],
71
+ setSelectedFilters = _useState18[1]; //hasFiltersInURL(location) ? filtersFromURL(location).filters : getStorageObject('selectedFilters', {}));
72
+ var _useState19 = useState(),
73
+ _useState20 = _slicedToArray(_useState19, 2),
74
+ filterOptions = _useState20[0],
75
+ setFilterOptions = _useState20[1];
76
+ var _useState21 = useState(getStorageObject("recruiters", {})),
77
+ _useState22 = _slicedToArray(_useState21, 2),
78
+ recruiters = _useState22[0],
79
+ setRecruiters = _useState22[1];
80
+ var _useState23 = useState(false),
81
+ _useState24 = _slicedToArray(_useState23, 2),
82
+ filterDialogIsOpen = _useState24[0],
83
+ setFilterDialogIsOpen = _useState24[1];
84
+ var _useState25 = useState("listTab"),
85
+ _useState26 = _slicedToArray(_useState25, 2),
86
+ mobileTab = _useState26[0],
87
+ setMobileTab = _useState26[1];
88
+ var _useState27 = useState([]),
89
+ _useState28 = _slicedToArray(_useState27, 2),
90
+ favorites = _useState28[0],
91
+ setFavorites = _useState28[1];
92
+ var _useState29 = useState(false),
93
+ _useState30 = _slicedToArray(_useState29, 2),
94
+ filterByFavorites = _useState30[0],
95
+ setFilterByFavorites = _useState30[1];
96
+ useEffect(function () {
97
+ var loadedFavorites = JSON.parse(localStorage.getItem('favorites')) || [];
98
+ setFavorites(loadedFavorites);
99
+ }, []);
100
+ useEffect(function () {
101
+ if (commuteLocation === null || commuteLocation === '') return;
102
+ function fetchEntities() {
103
+ return _fetchEntities.apply(this, arguments);
104
+ }
105
+ function _fetchEntities() {
106
+ _fetchEntities = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
107
+ var distinctEntityIds, fetchedEntities, newFilteredListings, i;
108
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
109
+ while (1) switch (_context.prev = _context.next) {
110
+ case 0:
111
+ distinctEntityIds = _toConsumableArray(new Set(allListings.map(function (listing) {
112
+ return listing.entityId;
113
+ })));
114
+ _context.prev = 1;
115
+ _context.next = 4;
116
+ return getListingEntities(distinctEntityIds, "".concat(commuteLocation.lat, ", ").concat(commuteLocation.lng));
117
+ case 4:
118
+ fetchedEntities = _context.sent;
119
+ setListingEntities(fetchedEntities);
120
+ newFilteredListings = filteredListings;
121
+ for (i = 0; i < allListings.length; i++) {
122
+ if (newFilteredListings[i].entityId != -1) {
123
+ newFilteredListings[i].fields.travelTime = fetchedEntities[newFilteredListings[i].entityId].travelTime;
124
+ }
125
+ }
126
+ for (i = 0; i < newFilteredListings.length; i++) {
127
+ if (newFilteredListings[i].entityId != -1) {
128
+ newFilteredListings[i].fields.travelTime = fetchedEntities[newFilteredListings[i].entityId].travelTime;
129
+ }
130
+ }
131
+ setFilteredListings(newFilteredListings);
132
+ _context.next = 15;
133
+ break;
134
+ case 12:
135
+ _context.prev = 12;
136
+ _context.t0 = _context["catch"](1);
137
+ console.error("Failed to fetch listing entities:", _context.t0);
138
+ case 15:
139
+ case "end":
140
+ return _context.stop();
141
+ }
142
+ }, _callee, null, [[1, 12]]);
143
+ }));
144
+ return _fetchEntities.apply(this, arguments);
145
+ }
146
+ fetchEntities();
147
+ }, [commuteLocation, allListings, siteConfig.companyId]);
148
+ useEffect(function () {
149
+ var handleFetchListings = /*#__PURE__*/function () {
150
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
151
+ var _yield$fetchListings, listingsResult, fetchedRecruiters, fetchedEntities, distinctItems;
152
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
153
+ while (1) switch (_context2.prev = _context2.next) {
154
+ case 0:
155
+ if (!getStorageObject('listings', []).length > 0) {
156
+ setLoading(true);
157
+ }
158
+ _context2.prev = 1;
159
+ _context2.next = 4;
160
+ return fetchListings(query, siteConfig);
161
+ case 4:
162
+ _yield$fetchListings = _context2.sent;
163
+ listingsResult = _yield$fetchListings.listingsResult;
164
+ fetchedRecruiters = _yield$fetchListings.fetchedRecruiters;
165
+ fetchedEntities = _yield$fetchListings.fetchedEntities;
166
+ distinctItems = _yield$fetchListings.distinctItems;
167
+ setAllListings(listingsResult);
168
+ setRecruiters(fetchedRecruiters);
169
+ setListingEntities(fetchedEntities);
170
+ setMapItems(distinctItems);
171
+ setStorageObject("mapItems", distinctItems);
172
+ setStorageObject("listingEntities", fetchedEntities);
173
+ setStorageObject("recruiters", fetchedRecruiters);
174
+ setStorageObject("listings", listingsResult);
175
+ _context2.next = 22;
176
+ break;
177
+ case 19:
178
+ _context2.prev = 19;
179
+ _context2.t0 = _context2["catch"](1);
180
+ console.log(_context2.t0);
181
+ case 22:
182
+ setLoading(false);
183
+ case 23:
184
+ case "end":
185
+ return _context2.stop();
186
+ }
187
+ }, _callee2, null, [[1, 19]]);
188
+ }));
189
+ return function handleFetchListings() {
190
+ return _ref2.apply(this, arguments);
191
+ };
192
+ }();
193
+ handleFetchListings();
194
+ }, [query, siteConfig]);
195
+ useEffect(function () {
196
+ var processListings = function processListings() {
197
+ var _applyFilters = applyFilters(allListings, selectedFilters, query, listingEntities, favorites, siteConfig),
198
+ filteredListings = _applyFilters.filteredListings,
199
+ mapItems = _applyFilters.mapItems;
200
+ if (filterByFavorites) {
201
+ filteredListings = filteredListings.filter(function (x) {
202
+ return favorites.includes(x.id);
203
+ });
204
+ }
205
+ setFilteredListings(filteredListings);
206
+ // if (firstLoad && hasFiltersInURL(location)) {
207
+ // const { filters } = filtersFromURL(location);
208
+ // setSelectedFilters(filters);
209
+ // }
210
+ if (firstLoad && selectedFilters) ; else if (Object.keys(selectedFilters).length === 0 && !firstLoad) {
211
+ localStorage.removeItem('selectedFilters');
212
+ //updateURLWithFilters(selectedFilters,location, navigate, query);
213
+ } else if (!firstLoad) {
214
+ setStorageObject('selectedFilters', selectedFilters);
215
+ //updateURLWithFilters(selectedFilters,location, navigate, query);
216
+ }
217
+ query != null ? localStorage.setItem('query', query) : localStorage.removeItem('query');
218
+ setMapItems(mapItems);
219
+ if (selectedFilters) {
220
+ var keys = Object.keys(selectedFilters);
221
+ var lastKey = keys[keys.length - 1];
222
+ var options = generateFilterOptions(firstLoad ? allListings : filteredListings, allListings, siteConfig, filterOptions, lastKey, favorites);
223
+ if (options) {
224
+ setFilterOptions(options);
225
+ if (firstLoad) setFirstLoad(false);
226
+ }
227
+ }
228
+ };
229
+ processListings();
230
+ }, [selectedFilters, query, listingEntities, filterByFavorites, favorites]);
231
+ var handleFilterListingsByLocation = function handleFilterListingsByLocation(selectedLocation) {
232
+ var _filterListingsByLoca = filterListingsByLocation(allListings, selectedLocation, listingEntities),
233
+ filteredListings = _filterListingsByLoca.filteredListings;
234
+ setFilteredListings(filteredListings);
235
+ //setMapItems(mapItems);
236
+ };
237
+ var handleSettingFavorites = function handleSettingFavorites(newFavorites) {
238
+ if (newFavorites == null) {
239
+ localStorage.removeItem('favorites');
240
+ } else {
241
+ setFavorites(newFavorites);
242
+ localStorage.setItem('favorites', JSON.stringify(newFavorites));
243
+ }
244
+ };
245
+ return /*#__PURE__*/React.createElement(MapListContext.Provider, {
246
+ value: {
247
+ loading: loading,
248
+ allListings: allListings,
249
+ filteredListings: filteredListings,
250
+ mapItems: mapItems,
251
+ query: query,
252
+ setFilteredListings: setFilteredListings,
253
+ setQuery: setQuery,
254
+ listingEntities: listingEntities,
255
+ selectedFilters: selectedFilters,
256
+ setSelectedFilters: setSelectedFilters,
257
+ filterOptions: filterOptions,
258
+ recruiters: recruiters,
259
+ handleFilterListingsByLocation: handleFilterListingsByLocation,
260
+ filterDialogIsOpen: filterDialogIsOpen,
261
+ setFilterDialogIsOpen: setFilterDialogIsOpen,
262
+ setMobileTab: setMobileTab,
263
+ mobileTab: mobileTab,
264
+ siteConfig: siteConfig,
265
+ favorites: favorites,
266
+ handleSettingFavorites: handleSettingFavorites,
267
+ setFilterByFavorites: setFilterByFavorites,
268
+ filterByFavorites: filterByFavorites,
269
+ commuteLocation: commuteLocation,
270
+ setCommuteLocation: setCommuteLocation,
271
+ navigateToDetails: navigateToDetails,
272
+ navigateToEasyApply: navigateToEasyApply,
273
+ Link: Link,
274
+ linkFormat: linkFormat
275
+ }
276
+ }, children);
277
+ };
278
+
279
+ export { MapListProvider, useMapList };
280
+ //# sourceMappingURL=mapListContext.js.map