@abcagency/hc-ui-components 1.3.18 → 1.3.19
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/dist/_virtual/_rollupPluginBabelHelpers.js +1 -1
- package/dist/apis/hcApi.js +85 -183
- package/dist/apis/hcApi.js.map +1 -1
- package/dist/components/HireControlMap.js +10 -5
- package/dist/components/HireControlMap.js.map +1 -1
- package/dist/components/modules/accordions/MapAccordionItem.js +10 -67
- package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -1
- package/dist/components/modules/filter/index.js.map +1 -1
- package/dist/components/modules/filter/radio-item.js +1 -2
- package/dist/components/modules/filter/radio-item.js.map +1 -1
- package/dist/components/modules/jobListing/listing-details-container.js +45 -0
- package/dist/components/modules/jobListing/listing-details-container.js.map +1 -0
- package/dist/components/modules/jobListing/listing-details.js +24 -24
- package/dist/components/modules/jobListing/listing-details.js.map +1 -1
- package/dist/components/modules/{maps/list → list}/field-mapper.js +8 -7
- package/dist/components/modules/list/field-mapper.js.map +1 -0
- package/dist/components/modules/{maps/list → list}/header-item.js +2 -2
- package/dist/components/modules/list/header-item.js.map +1 -0
- package/dist/components/modules/{maps/list → list}/header.js +6 -4
- package/dist/components/modules/list/header.js.map +1 -0
- package/dist/components/modules/list/index.js +36 -0
- package/dist/components/modules/list/index.js.map +1 -0
- package/dist/components/modules/{maps/list → list}/item-expand-card/index.js +3 -1
- package/dist/components/modules/list/item-expand-card/index.js.map +1 -0
- package/dist/components/modules/{maps/list → list}/item-expand-card/recruiter-contact-nav.js +2 -2
- package/dist/components/modules/list/item-expand-card/recruiter-contact-nav.js.map +1 -0
- package/dist/components/modules/{maps/list → list}/item-expand-card/recruiter-details.js +1 -1
- package/dist/components/modules/list/item-expand-card/recruiter-details.js.map +1 -0
- package/dist/components/modules/list/item-expand-card/recruiter-headshot.js.map +1 -0
- package/dist/components/modules/list/item-list.js +28 -0
- package/dist/components/modules/list/item-list.js.map +1 -0
- package/dist/components/modules/list/list-item/index.js +75 -0
- package/dist/components/modules/list/list-item/index.js.map +1 -0
- package/dist/components/modules/list/list-item/list-item-container.js +47 -0
- package/dist/components/modules/list/list-item/list-item-container.js.map +1 -0
- package/dist/components/modules/{maps/list/list-item/index.js → list/list-item/list-item.js} +29 -33
- package/dist/components/modules/list/list-item/list-item.js.map +1 -0
- package/dist/components/modules/maps/map-list.js +3 -3
- package/dist/components/modules/maps/map-list.js.map +1 -1
- package/dist/contexts/mapContext.js +84 -113
- package/dist/contexts/mapContext.js.map +1 -1
- package/dist/contexts/mapListContext.js +181 -293
- package/dist/contexts/mapListContext.js.map +1 -1
- package/dist/contexts/trackEventContext.js +1 -1
- package/dist/services/configService.js +10 -28
- package/dist/services/configService.js.map +1 -1
- package/dist/services/googlePlacesNearbyService.js +33 -58
- package/dist/services/googlePlacesNearbyService.js.map +1 -1
- package/dist/services/listingAggregatorService.js +35 -75
- package/dist/services/listingAggregatorService.js.map +1 -1
- package/dist/services/listingEntityService.js +10 -31
- package/dist/services/listingEntityService.js.map +1 -1
- package/dist/services/listingService.js +26 -60
- package/dist/services/listingService.js.map +1 -1
- package/dist/services/recruiterService.js +11 -31
- package/dist/services/recruiterService.js.map +1 -1
- package/dist/types/apis/hcApi.d.ts +5 -0
- package/dist/types/clientToken.d.ts +2 -0
- package/dist/types/components/modules/accordions/MapAccordionItem.d.ts +9 -0
- package/dist/types/components/modules/accordions/default.d.ts +19 -0
- package/dist/types/components/modules/buttons/button-group-apply.d.ts +24 -0
- package/dist/types/components/modules/buttons/commute-pill.d.ts +5 -0
- package/dist/types/components/modules/buttons/default.d.ts +48 -0
- package/dist/types/components/modules/buttons/pill-wrapper.d.ts +3 -0
- package/dist/types/components/modules/dialogs/apply-dialog.d.ts +8 -0
- package/dist/types/components/modules/filter/sort.d.ts +8 -0
- package/dist/types/components/modules/grid.d.ts +8 -0
- package/dist/types/components/modules/icon.d.ts +10 -0
- package/dist/types/components/modules/jobListing/listing-details-container.d.ts +6 -0
- package/dist/types/components/modules/jobListing/listing-details.d.ts +18 -0
- package/dist/types/components/modules/list/field-mapper.d.ts +10 -0
- package/dist/types/components/modules/list/header-item.d.ts +11 -0
- package/dist/types/components/modules/list/header.d.ts +11 -0
- package/dist/types/components/modules/list/index.d.ts +9 -0
- package/dist/types/components/modules/list/item-expand-card/index.d.ts +7 -0
- package/dist/types/components/modules/list/item-expand-card/recruiter-contact-nav.d.ts +17 -0
- package/dist/types/components/modules/list/item-expand-card/recruiter-details.d.ts +21 -0
- package/dist/types/components/modules/list/item-expand-card/recruiter-headshot.d.ts +8 -0
- package/dist/types/components/modules/list/item-list.d.ts +21 -0
- package/dist/types/components/modules/list/list-item/index.d.ts +12 -0
- package/dist/types/components/modules/list/list-item/list-item-container.d.ts +14 -0
- package/dist/types/components/modules/list/list-item/list-item.d.ts +3 -0
- package/dist/types/constants/eventTypes.d.ts +13 -0
- package/dist/types/contexts/mapContext.d.ts +29 -0
- package/dist/types/contexts/mapListContext.d.ts +58 -0
- package/dist/types/contexts/trackEventContext.d.ts +6 -0
- package/dist/types/enums/SectionType.d.ts +9 -0
- package/dist/types/hooks/useList.d.ts +13 -0
- package/dist/types/services/configService.d.ts +6 -0
- package/dist/types/services/googlePlacesNearbyService.d.ts +5 -0
- package/dist/types/services/listingAggregatorService.d.ts +12 -0
- package/dist/types/services/listingEntityService.d.ts +6 -0
- package/dist/types/services/listingService.d.ts +9 -0
- package/dist/types/services/recruiterService.d.ts +6 -0
- package/dist/types/types/Address.d.ts +7 -0
- package/dist/types/types/ContentSection.d.ts +8 -0
- package/dist/types/types/GetListingParams.d.ts +8 -0
- package/dist/types/types/LatLng.d.ts +4 -0
- package/dist/types/types/ListingEntity.d.ts +10 -0
- package/dist/types/types/ListingFields.d.ts +20 -0
- package/dist/types/types/Listings.d.ts +31 -0
- package/dist/types/types/Recruiter.d.ts +9 -0
- package/dist/types/types/SimilarListing.d.ts +24 -0
- package/dist/types/types/config/Colors.d.ts +8 -0
- package/dist/types/types/config/MapConfig.d.ts +29 -0
- package/dist/types/types/config/PointsOfInterestConfig.d.ts +13 -0
- package/dist/types/types/config/SearchConfig.d.ts +4 -0
- package/dist/types/util/filterUtil.d.ts +28 -0
- package/dist/types/util/loading.d.ts +3 -0
- package/dist/types/util/localStorageUtil.d.ts +3 -0
- package/dist/types/util/mapUtil.d.ts +15 -0
- package/dist/types/util/sortUtil.d.ts +1 -0
- package/dist/types/util/stringUtils.d.ts +1 -0
- package/dist/util/filterUtil.js +1 -3
- package/dist/util/filterUtil.js.map +1 -1
- package/dist/util/localStorageUtil.js +37 -28
- package/dist/util/localStorageUtil.js.map +1 -1
- package/dist/util/mapUtil.js.map +1 -1
- package/package.json +23 -17
- package/rollup.config.mjs +23 -19
- package/src/apis/{hcApi.js → hcApi.ts} +27 -11
- package/src/components/HireControlMap.js +132 -129
- package/src/components/modules/accordions/MapAccordionItem.js +32 -74
- package/src/components/modules/filter/index.js +89 -89
- package/src/components/modules/filter/radio-item.js +0 -1
- package/src/components/modules/jobListing/listing-details-container.js +40 -0
- package/src/components/modules/jobListing/listing-details.js +209 -99
- package/src/components/modules/{maps/list → list}/field-mapper.js +114 -112
- package/src/components/modules/{maps/list → list}/header.js +49 -47
- package/src/components/modules/list/index.tsx +83 -0
- package/src/components/modules/{maps/list → list}/item-expand-card/index.js +24 -22
- package/src/components/modules/list/item-list.tsx +198 -0
- package/src/components/modules/list/list-item/index.js +70 -0
- package/src/components/modules/list/list-item/list-item-container.js +43 -0
- package/src/components/modules/{maps/list/list-item/index.js → list/list-item/list-item.js} +32 -38
- package/src/components/modules/maps/map-list.js +74 -74
- package/src/contexts/mapContext.tsx +129 -0
- package/src/contexts/mapListContext.tsx +297 -0
- package/src/enums/SectionType.ts +9 -0
- package/src/services/{configService.js → configService.ts} +16 -16
- package/src/services/{googlePlacesNearbyService.js → googlePlacesNearbyService.ts} +11 -2
- package/src/services/listingAggregatorService.ts +76 -0
- package/src/services/listingEntityService.ts +16 -0
- package/src/services/listingService.ts +40 -0
- package/src/services/{recruiterService.js → recruiterService.ts} +18 -17
- package/src/types/Address.ts +7 -0
- package/src/types/ContentSection.ts +9 -0
- package/src/types/GetListingParams.ts +8 -0
- package/src/types/LatLng.ts +4 -0
- package/src/types/ListingEntity.ts +11 -0
- package/src/types/ListingFields.ts +20 -0
- package/src/types/Listings.ts +32 -0
- package/src/types/Recruiter.ts +9 -0
- package/src/types/SimilarListing.ts +24 -0
- package/src/types/config/Colors.ts +8 -0
- package/src/types/config/MapConfig.ts +30 -0
- package/src/types/config/PointsOfInterestConfig.ts +13 -0
- package/src/types/config/SearchConfig.ts +4 -0
- package/src/util/filterUtil.js +239 -239
- package/src/util/localStorageUtil.ts +34 -0
- package/src/util/mapUtil.js +91 -91
- package/tsconfig.json +23 -0
- package/dist/components/modules/maps/list/field-mapper.js.map +0 -1
- package/dist/components/modules/maps/list/header-item.js.map +0 -1
- package/dist/components/modules/maps/list/header.js.map +0 -1
- package/dist/components/modules/maps/list/index.js +0 -102
- package/dist/components/modules/maps/list/index.js.map +0 -1
- package/dist/components/modules/maps/list/item-expand-card/index.js.map +0 -1
- package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js.map +0 -1
- package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js.map +0 -1
- package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js.map +0 -1
- package/dist/components/modules/maps/list/list-item/index.js.map +0 -1
- package/dist/services/_virtual/_rollupPluginBabelHelpers.js +0 -372
- package/dist/services/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/dist/services/apis/hcApi.js +0 -189
- package/dist/services/apis/hcApi.js.map +0 -1
- package/dist/services/clientToken.js +0 -7
- package/dist/services/clientToken.js.map +0 -1
- package/dist/services/styles/index.css +0 -3
- package/src/components/modules/maps/list/index.js +0 -112
- package/src/contexts/mapContext.js +0 -101
- package/src/contexts/mapListContext.js +0 -242
- package/src/services/listingAggregatorService.js +0 -50
- package/src/services/listingEntityService.js +0 -15
- package/src/services/listingService.js +0 -26
- package/src/util/localStorageUtil.js +0 -27
- /package/dist/components/modules/{maps/list → list}/item-expand-card/recruiter-headshot.js +0 -0
- /package/src/components/modules/{maps/list → list}/header-item.js +0 -0
- /package/src/components/modules/{maps/list → list}/item-expand-card/recruiter-contact-nav.js +0 -0
- /package/src/components/modules/{maps/list → list}/item-expand-card/recruiter-details.js +0 -0
- /package/src/components/modules/{maps/list → list}/item-expand-card/recruiter-headshot.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/modules/list/list-item/index.js"],"sourcesContent":["import React from 'react';\nimport { useMap } from '~/contexts/mapContext';\nimport { useMapList } from '~/contexts/mapListContext';\nimport { useTrackEvent } from '~/contexts/trackEventContext';\nimport { setStorageObject } from '~/util/localStorageUtil';\nimport MapAccordionItem from '~/components/modules/accordions/MapAccordionItem';\nimport ListItemContainer from '~/components/modules/list/list-item/list-item-container';\n\nconst MapAccordionItemContainer = ({\n\tshowMap,\n\titem,\n\titemRefs,\n\tfieldsShown,\n\titemExpandedContent,\n\tspecialFeatures,\n\tisActive,\n\thasListItemSelected\n}) => {\n\tconst { mapItems } = useMapList();\n\tconst { selectItem } = useMap();\n\tconst { trackEvent, eventTypes } = useTrackEvent();\n\n\tconst setSelectedItemAndZoomMap = (item, isActive) => {\n\t\tif (isActive) {\n\t\t\tlocalStorage.removeItem(\"selectedListItem\");\n\t\t\tconst location = mapItems.find(x => Object.prototype.hasOwnProperty.call(x.items, item.id)) || null;\n\t\t\tselectItem(null, null, 9, { lat: 39.8283, lng: -98.5795 });\n\t\t} else {\n\t\t\tsetStorageObject(\"selectedListItem\", item);\n\t\t\tconst location = mapItems.find(x => Object.prototype.hasOwnProperty.call(x.items, item.id)) || null;\n\t\t\tselectItem(item, location, 12, {\n\t\t\t\tlat: location?.latitude,\n\t\t\t\tlng: location?.longitude\n\t\t\t});\n\t\t}\n\t};\n\n\tconst handleItemClick = item => {\n\t\ttrackEvent(eventTypes.JOB_LISTING_SELECTED, {\n\t\t\tjobTitle: item.fields.position,\n\t\t\tjobCategory: item.fields.category,\n\t\t\tentityDisplayName: item?.mapDetails?.entityDisplayName\n\t\t});\n\n\t\tsetSelectedItemAndZoomMap(item, isActive);\n\t};\n\n\treturn (\n\t\t<MapAccordionItem\n\t\t\titem={item}\n\t\t\titemRefs={itemRefs}\n\t\t\titemExpandedContent={itemExpandedContent}\n\t\t\tisActive={isActive}\n\n\t\t>\n\t\t\t<ListItemContainer\n\t\t\t\tshowMap={showMap}\n\t\t\t\titem={item}\n\t\t\t\titemRefs={itemRefs}\n\t\t\t\tfieldsShown={fieldsShown}\n\t\t\t\tspecialFeatures={specialFeatures}\n\t\t\t\tisActive={isActive}\n\t\t\t\thasListItemSelected={hasListItemSelected}\n\t\t\t\tonClick={() => handleItemClick(item)}\n\t\t\t/>\n\t\t</MapAccordionItem>\n\t);\n};\n\nexport default MapAccordionItemContainer;\n"],"names":["MapAccordionItemContainer","_ref","showMap","item","itemRefs","fieldsShown","itemExpandedContent","specialFeatures","isActive","hasListItemSelected","_useMapList","useMapList","mapItems","_useMap","useMap","selectItem","_useTrackEvent","useTrackEvent","trackEvent","eventTypes","setSelectedItemAndZoomMap","localStorage","removeItem","find","x","Object","prototype","hasOwnProperty","call","items","id","lat","lng","setStorageObject","location","latitude","longitude","handleItemClick","_item$mapDetails","JOB_LISTING_SELECTED","jobTitle","fields","position","jobCategory","category","entityDisplayName","mapDetails","React","createElement","MapAccordionItem","ListItemContainer","onClick"],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useMapList } from '../../../../contexts/mapListContext.js';
|
|
4
|
+
import { useTrackEvent } from '../../../../contexts/trackEventContext.js';
|
|
5
|
+
import ListItem from './list-item.js';
|
|
6
|
+
|
|
7
|
+
var _excluded = ["isActive", "showMap", "item", "itemRefs", "fieldsShown", "specialFeatures", "className", "bodyClassName", "onItemSelected"];
|
|
8
|
+
var ListItemContainer = function ListItemContainer(_ref) {
|
|
9
|
+
var isActive = _ref.isActive,
|
|
10
|
+
showMap = _ref.showMap,
|
|
11
|
+
item = _ref.item,
|
|
12
|
+
itemRefs = _ref.itemRefs,
|
|
13
|
+
fieldsShown = _ref.fieldsShown,
|
|
14
|
+
specialFeatures = _ref.specialFeatures;
|
|
15
|
+
_ref.className;
|
|
16
|
+
var bodyClassName = _ref.bodyClassName,
|
|
17
|
+
onItemSelected = _ref.onItemSelected,
|
|
18
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
19
|
+
var _useMapList = useMapList(),
|
|
20
|
+
siteConfig = _useMapList.siteConfig,
|
|
21
|
+
favorites = _useMapList.favorites,
|
|
22
|
+
handleSettingFavorites = _useMapList.handleSettingFavorites,
|
|
23
|
+
setMobileTab = _useMapList.setMobileTab;
|
|
24
|
+
var _useTrackEvent = useTrackEvent(),
|
|
25
|
+
trackEvent = _useTrackEvent.trackEvent,
|
|
26
|
+
eventTypes = _useTrackEvent.eventTypes;
|
|
27
|
+
return /*#__PURE__*/React.createElement(ListItem, _extends({
|
|
28
|
+
isActive: isActive,
|
|
29
|
+
showMap: showMap,
|
|
30
|
+
item: item,
|
|
31
|
+
itemRefs: itemRefs,
|
|
32
|
+
fieldsShown: fieldsShown,
|
|
33
|
+
specialFeatures: specialFeatures,
|
|
34
|
+
className: isActive ? "!hc-border-secondary hc-border hc-border-b-0" : "hc-opacity-85",
|
|
35
|
+
bodyClassName: bodyClassName,
|
|
36
|
+
onItemSelected: onItemSelected,
|
|
37
|
+
setMobileTab: setMobileTab,
|
|
38
|
+
siteConfig: siteConfig,
|
|
39
|
+
trackEvent: trackEvent,
|
|
40
|
+
eventTypes: eventTypes,
|
|
41
|
+
favorites: favorites,
|
|
42
|
+
handleSettingFavorites: handleSettingFavorites
|
|
43
|
+
}, props));
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export { ListItemContainer as default };
|
|
47
|
+
//# sourceMappingURL=list-item-container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-item-container.js","sources":["../../../../../src/components/modules/list/list-item/list-item-container.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { useMapList } from '~/contexts/mapListContext';\nimport { useTrackEvent } from '~/contexts/trackEventContext';\nimport ListItem from '~/components/modules/list/list-item/list-item';\n\nconst ListItemContainer = ({\n\tisActive,\n\tshowMap,\n\titem,\n\titemRefs,\n\tfieldsShown,\n\tspecialFeatures,\n\tclassName,\n\tbodyClassName,\n\tonItemSelected,\n\t...props\n}) => {\n\tconst { siteConfig, favorites, handleSettingFavorites, setMobileTab } = useMapList();\n\tconst { trackEvent, eventTypes } = useTrackEvent();\n\n\treturn (\n\t\t<ListItem\n\t\t\tisActive={isActive}\n\t\t\tshowMap={showMap}\n\t\t\titem={item}\n\t\t\titemRefs={itemRefs}\n\t\t\tfieldsShown={fieldsShown}\n\t\t\tspecialFeatures={specialFeatures}\n\t\t\tclassName={isActive ? \"!hc-border-secondary hc-border hc-border-b-0\" : \"hc-opacity-85\"}\n\t\t\tbodyClassName={bodyClassName}\n\t\t\tonItemSelected={onItemSelected}\n\t\t\tsetMobileTab={setMobileTab}\n\t\t\tsiteConfig={siteConfig}\n\t\t\ttrackEvent={trackEvent}\n\t\t\teventTypes={eventTypes}\n\t\t\tfavorites={favorites}\n\t\t\thandleSettingFavorites={handleSettingFavorites}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nexport default ListItemContainer;\n"],"names":["ListItemContainer","_ref","isActive","showMap","item","itemRefs","fieldsShown","specialFeatures","className","bodyClassName","onItemSelected","props","_objectWithoutProperties","_excluded","_useMapList","useMapList","siteConfig","favorites","handleSettingFavorites","setMobileTab","_useTrackEvent","useTrackEvent","trackEvent","eventTypes","React","createElement","ListItem","_extends"],"mappings":";;;;;;;AAKA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAWjB;AAAA,EAAA,IAVLC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;IACRC,OAAO,GAAAF,IAAA,CAAPE,OAAO,CAAA;IACPC,IAAI,GAAAH,IAAA,CAAJG,IAAI,CAAA;IACJC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ,CAAA;IACRC,WAAW,GAAAL,IAAA,CAAXK,WAAW,CAAA;IACXC,eAAe,GAAAN,IAAA,CAAfM,eAAe,CAAA;IACNN,IAAA,CAATO,SAAS,CAAA;QACTC,aAAa,GAAAR,IAAA,CAAbQ,aAAa,CAAA;IACbC,cAAc,GAAAT,IAAA,CAAdS,cAAc,CAAA;AACXC,IAAAA,KAAK,GAAAC,wBAAA,CAAAX,IAAA,EAAAY,SAAA,EAAA;AAER,EAAA,IAAAC,WAAA,GAAwEC,UAAU,EAAE;IAA5EC,UAAU,GAAAF,WAAA,CAAVE,UAAU;IAAEC,SAAS,GAAAH,WAAA,CAATG,SAAS;IAAEC,sBAAsB,GAAAJ,WAAA,CAAtBI,sBAAsB;IAAEC,YAAY,GAAAL,WAAA,CAAZK,YAAY,CAAA;AACnE,EAAA,IAAAC,cAAA,GAAmCC,aAAa,EAAE;IAA1CC,UAAU,GAAAF,cAAA,CAAVE,UAAU;IAAEC,UAAU,GAAAH,cAAA,CAAVG,UAAU,CAAA;AAE9B,EAAA,oBACCC,KAAA,CAAAC,aAAA,CAACC,QAAQ,EAAAC,QAAA,CAAA;AACRzB,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,eAAe,EAAEA,eAAgB;AACjCC,IAAAA,SAAS,EAAEN,QAAQ,GAAG,8CAA8C,GAAG,eAAgB;AACvFO,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,cAAc,EAAEA,cAAe;AAC/BS,IAAAA,YAAY,EAAEA,YAAa;AAC3BH,IAAAA,UAAU,EAAEA,UAAW;AACvBM,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,UAAU,EAAEA,UAAW;AACvBN,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,sBAAsB,EAAEA,sBAAAA;GACpBP,EAAAA,KAAK,CACT,CAAC,CAAA;AAEJ;;;;"}
|
package/dist/components/modules/{maps/list/list-item/index.js → list/list-item/list-item.js}
RENAMED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends, toConsumableArray as _toConsumableArray } from '
|
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends, toConsumableArray as _toConsumableArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import React, { forwardRef } from 'react';
|
|
3
|
-
import Grid from '
|
|
4
|
-
import IconContained from '
|
|
3
|
+
import Grid from '../../grid.js';
|
|
4
|
+
import IconContained from '../../icon.js';
|
|
5
5
|
import FieldMapper from '../field-mapper.js';
|
|
6
|
-
import { useMapList } from '../../../../../contexts/mapListContext.js';
|
|
7
|
-
import { useTrackEvent } from '../../../../../contexts/trackEventContext.js';
|
|
8
6
|
|
|
9
|
-
var _excluded = ["isActive", "bodyClassName", "className", "item", "fieldsShown", "specialFeatures", "onItemSelected", "showMap", "setMobileTab", "favorites", "
|
|
7
|
+
var _excluded = ["isActive", "bodyClassName", "className", "item", "fieldsShown", "specialFeatures", "onItemSelected", "showMap", "setMobileTab", "handleSettingFavorites", "favorites", "includeFavorite", "siteConfig", "trackEvent", "eventTypes"];
|
|
10
8
|
var ListItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
11
|
-
var _item$
|
|
9
|
+
var _item$mapDetails, _item$mapDetails2, _item$mapDetails3, _item$mapDetails4;
|
|
12
10
|
var isActive = _ref.isActive,
|
|
13
11
|
bodyClassName = _ref.bodyClassName,
|
|
14
12
|
className = _ref.className,
|
|
@@ -18,22 +16,23 @@ var ListItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
18
16
|
onItemSelected = _ref.onItemSelected,
|
|
19
17
|
showMap = _ref.showMap,
|
|
20
18
|
setMobileTab = _ref.setMobileTab,
|
|
19
|
+
handleSettingFavorites = _ref.handleSettingFavorites,
|
|
21
20
|
favorites = _ref.favorites,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
var mapPinColor = siteConfig.colors.primary.replace("#", "");
|
|
21
|
+
_ref$includeFavorite = _ref.includeFavorite,
|
|
22
|
+
includeFavorite = _ref$includeFavorite === void 0 ? false : _ref$includeFavorite,
|
|
23
|
+
siteConfig = _ref.siteConfig;
|
|
24
|
+
_ref.trackEvent;
|
|
25
|
+
_ref.eventTypes;
|
|
26
|
+
var props = _objectWithoutProperties(_ref, _excluded);
|
|
27
|
+
var mapPinColor = !showMap ? null : siteConfig.colors.primary.replace("#", "");
|
|
30
28
|
var handleClick = function handleClick() {
|
|
31
29
|
if (onItemSelected) {
|
|
32
30
|
onItemSelected(item);
|
|
33
31
|
}
|
|
34
32
|
};
|
|
35
33
|
var isFavorite = favorites.includes(item.id);
|
|
36
|
-
var handleFavouriteClick = function handleFavouriteClick(event) {
|
|
34
|
+
var handleFavouriteClick = function handleFavouriteClick(event, item) {
|
|
35
|
+
if (!includeFavorite) return;
|
|
37
36
|
event.stopPropagation();
|
|
38
37
|
var updatedFavorites;
|
|
39
38
|
if (isFavorite) {
|
|
@@ -41,26 +40,22 @@ var ListItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
41
40
|
return fav !== item.id;
|
|
42
41
|
});
|
|
43
42
|
} else {
|
|
44
|
-
var _item$mapDetails;
|
|
45
|
-
trackEvent(eventTypes.FAVORITE_SELECTED, {
|
|
46
|
-
jobTitle: item.fields.position,
|
|
47
|
-
jobCategory: item.fields.category,
|
|
48
|
-
entityDisplayName: item === null || item === void 0 || (_item$mapDetails = item.mapDetails) === null || _item$mapDetails === void 0 ? void 0 : _item$mapDetails.entityDisplayName
|
|
49
|
-
});
|
|
50
43
|
updatedFavorites = [].concat(_toConsumableArray(favorites), [item.id]);
|
|
51
44
|
}
|
|
52
45
|
isFavorite = !isFavorite;
|
|
53
|
-
|
|
46
|
+
handleSettingFavorites(updatedFavorites);
|
|
54
47
|
};
|
|
55
48
|
return /*#__PURE__*/React.createElement("button", _extends({
|
|
56
49
|
ref: ref,
|
|
57
|
-
onClick:
|
|
58
|
-
|
|
50
|
+
onClick: function onClick() {
|
|
51
|
+
handleClick();
|
|
52
|
+
},
|
|
53
|
+
className: "\n hc-group hc-relative hc-flex md:hc-flex-col hc-w-full md:hc-pl-4 hc-text-left hc-bg-clip-border hc-border hc-border-transparent hc-break-words hc-overflow-hidden hc-cursor-pointer hc-transition-colors hover:hc-bg-uiAccent/5 focus:hover:hc-bg-uiAccent/5\n ".concat(isActive ? "hc-bg-uiAccent/5 hc-border-secondary hc-border" : "hc-text-uiText hc-bg-white", "\n ").concat(className !== null && className !== void 0 ? className : "", "\n ")
|
|
59
54
|
}, props), /*#__PURE__*/React.createElement(Grid, {
|
|
60
55
|
columns: "hc-grid-flow-col hc-auto-cols-fr",
|
|
61
56
|
gap: "hc-gap-2",
|
|
62
57
|
isAnimated: false,
|
|
63
|
-
className: "\n
|
|
58
|
+
className: "\n hc-block md:hc-grid hc-p-2 hc-ps-4 hc-w-full hc-grow hc-leading-tight hc-text-sm md:hc-text-xs lg:hc-text-sm\n ".concat(bodyClassName !== null && bodyClassName !== void 0 ? bodyClassName : "", "\n ")
|
|
64
59
|
}, /*#__PURE__*/React.createElement(Grid.Item, {
|
|
65
60
|
className: "hc-hidden md:hc-block md:hc-absolute md:hc-left-1.5 hc-top-1.5"
|
|
66
61
|
}, /*#__PURE__*/React.createElement("span", {
|
|
@@ -68,14 +63,15 @@ var ListItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
68
63
|
}, "Expand row"), /*#__PURE__*/React.createElement(IconContained, {
|
|
69
64
|
icon: "fluent-emoji-high-contrast:plus",
|
|
70
65
|
size: "hc-size-2.5",
|
|
71
|
-
className: "\n
|
|
66
|
+
className: "\n hc-opacity-0 hc-text-uiText/60 hc-transition group-hover:hc-opacity-100 group-active:hc-opacity-100\n ".concat(isActive ? "hc-opacity-100 hc-rotate-45" : "", "\n ")
|
|
72
67
|
})), /*#__PURE__*/React.createElement(FieldMapper, {
|
|
73
68
|
item: item,
|
|
74
69
|
fieldsShown: fieldsShown,
|
|
75
70
|
specialFeatures: specialFeatures,
|
|
76
71
|
isFavorite: isFavorite,
|
|
72
|
+
includeFavorite: includeFavorite,
|
|
77
73
|
handleFavouriteClick: handleFavouriteClick
|
|
78
|
-
}), /*#__PURE__*/React.createElement(Grid.Item, {
|
|
74
|
+
}), includeFavorite && /*#__PURE__*/React.createElement(Grid.Item, {
|
|
79
75
|
key: "favorites",
|
|
80
76
|
className: "hc-hidden md:hc-block hc-col-span-1"
|
|
81
77
|
}, /*#__PURE__*/React.createElement(IconContained, {
|
|
@@ -83,9 +79,9 @@ var ListItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
83
79
|
size: "hc-size-3.5",
|
|
84
80
|
iconClasses: isFavorite ? "hc-text-primary" : "",
|
|
85
81
|
title: !isFavorite ? 'Add job to favorites' : 'Remove job from favorites',
|
|
86
|
-
className: "
|
|
82
|
+
className: "hc-pr-2 hc-transition-opacity hc-duration-300 hc-cursor-pointer hc-opacity-100",
|
|
87
83
|
onClick: function onClick(e) {
|
|
88
|
-
|
|
84
|
+
handleFavouriteClick(e, item);
|
|
89
85
|
}
|
|
90
86
|
}))), showMap && /*#__PURE__*/React.createElement("div", {
|
|
91
87
|
onClick: function onClick() {
|
|
@@ -94,15 +90,15 @@ var ListItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
94
90
|
},
|
|
95
91
|
className: "md:hc-hidden hc-w-2/5 sm:hc-w-1/3 hc-p-1.5 hc-my-1 hc-bg-uiAccent/5 hc-border hc-border-uiAccent/10 hc-rounded-sm"
|
|
96
92
|
}, /*#__PURE__*/React.createElement("img", {
|
|
97
|
-
src: "https://maps.googleapis.com/maps/api/staticmap?scale=2¢er=".concat((_item$
|
|
93
|
+
src: "https://maps.googleapis.com/maps/api/staticmap?scale=2¢er=".concat((_item$mapDetails = item.mapDetails) === null || _item$mapDetails === void 0 ? void 0 : _item$mapDetails.latitude, ",").concat((_item$mapDetails2 = item.mapDetails) === null || _item$mapDetails2 === void 0 ? void 0 : _item$mapDetails2.longitude, "&zoom=10&size=240x180&maptype=roadmap&markers=color:0x").concat(mapPinColor, "%7Clabel:\u2022%7C").concat((_item$mapDetails3 = item.mapDetails) === null || _item$mapDetails3 === void 0 ? void 0 : _item$mapDetails3.latitude, ",").concat((_item$mapDetails4 = item.mapDetails) === null || _item$mapDetails4 === void 0 ? void 0 : _item$mapDetails4.longitude, "&key=", "AIzaSyAXPlfaoMCrmjNV1u-vFYdLBi7GkGeh4S4"),
|
|
98
94
|
alt: "Map of location for ".concat(item.fields.position),
|
|
99
95
|
className: "hc-w-full hc-h-full hc-object-cover"
|
|
100
96
|
})));
|
|
101
97
|
});
|
|
102
98
|
ListItem.displayName = "ListItem";
|
|
103
99
|
var ListItem$1 = /*#__PURE__*/React.memo(ListItem, function (prevProps, nextProps) {
|
|
104
|
-
return
|
|
100
|
+
return prevProps.isActive === nextProps.isActive && prevProps.favorites === nextProps.favorites && prevProps.item.id === nextProps.item.id && prevProps.fieldsShown === nextProps.fieldsShown && prevProps.bodyClassName === nextProps.bodyClassName && prevProps.className === nextProps.className;
|
|
105
101
|
});
|
|
106
102
|
|
|
107
103
|
export { ListItem$1 as default };
|
|
108
|
-
//# sourceMappingURL=
|
|
104
|
+
//# sourceMappingURL=list-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-item.js","sources":["../../../../../src/components/modules/list/list-item/list-item.js"],"sourcesContent":["import React, { forwardRef, useState } from 'react';\nimport Grid from '~/components/modules/grid';\nimport Icon from '~/components/modules/icon';\nimport FieldMapper from '~/components/modules/list/field-mapper';\n\nconst ListItem = forwardRef(\n\t(\n\t\t{\n\t\t\tisActive,\n\t\t\tbodyClassName,\n\t\t\tclassName,\n\t\t\titem,\n\t\t\tfieldsShown,\n\t\t\tspecialFeatures,\n\t\t\tonItemSelected,\n\t\t\tshowMap,\n\t\t\tsetMobileTab,\n\t\t\thandleSettingFavorites,\n\t\t\tfavorites,\n\t\t\tincludeFavorite = false,\n\t\t\tsiteConfig,\n\t\t\ttrackEvent,\n\t\t\teventTypes,\n\t\t\t...props\n\t\t},\n\t\tref\n\t) => {\n\t\tconst mapPinColor = !showMap ? null : siteConfig.colors.primary.replace(\"#\", \"\");\n\n\t\tconst handleClick = () => {\n\t\t\tif (onItemSelected) {\n\t\t\t\tonItemSelected(item);\n\t\t\t}\n\t\t};\n\t\tlet isFavorite = favorites.includes(item.id);\n\n\t\tconst handleFavouriteClick = (event, item) => {\n\t\t\tif(!includeFavorite)return;\n\t\t\tevent.stopPropagation();\n\t\t\tlet updatedFavorites;\n\t\t\tif (isFavorite) {\n\t\t\t\tupdatedFavorites = favorites.filter(fav => fav !== item.id);\n\t\t\t} else {\n\t\t\t\tupdatedFavorites = [...favorites, item.id];\n\t\t\t}\n\t\t\tisFavorite = !isFavorite;\n\t\t\thandleSettingFavorites(updatedFavorites);\n\t\t};\n\t\treturn (\n\t\t\t<button\n\t\t\t\tref={ref}\n\t\t\t\tonClick={() => { handleClick(); }}\n\t\t\t\tclassName={`\n hc-group hc-relative hc-flex md:hc-flex-col hc-w-full md:hc-pl-4 hc-text-left hc-bg-clip-border hc-border hc-border-transparent hc-break-words hc-overflow-hidden hc-cursor-pointer hc-transition-colors hover:hc-bg-uiAccent/5 focus:hover:hc-bg-uiAccent/5\n ${isActive ? \"hc-bg-uiAccent/5 hc-border-secondary hc-border\" : \"hc-text-uiText hc-bg-white\"}\n ${className ?? \"\"}\n `}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<Grid\n\t\t\t\t\tcolumns=\"hc-grid-flow-col hc-auto-cols-fr\"\n\t\t\t\t\tgap=\"hc-gap-2\"\n\t\t\t\t\tisAnimated={false}\n\t\t\t\t\tclassName={`\n hc-block md:hc-grid hc-p-2 hc-ps-4 hc-w-full hc-grow hc-leading-tight hc-text-sm md:hc-text-xs lg:hc-text-sm\n ${bodyClassName ?? \"\"}\n `}\n\t\t\t\t>\n\t\t\t\t\t<Grid.Item className=\"hc-hidden md:hc-block md:hc-absolute md:hc-left-1.5 hc-top-1.5\">\n\t\t\t\t\t\t<span className=\"hc-sr-only\">Expand row</span>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon=\"fluent-emoji-high-contrast:plus\"\n\t\t\t\t\t\t\tsize=\"hc-size-2.5\"\n\t\t\t\t\t\t\tclassName={`\n hc-opacity-0 hc-text-uiText/60 hc-transition group-hover:hc-opacity-100 group-active:hc-opacity-100\n ${isActive ? \"hc-opacity-100 hc-rotate-45\" : \"\"}\n `}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Grid.Item>\n\t\t\t\t\t<FieldMapper\n\t\t\t\t\t\titem={item}\n\t\t\t\t\t\tfieldsShown={fieldsShown}\n\t\t\t\t\t\tspecialFeatures={specialFeatures}\n\t\t\t\t\t\tisFavorite={isFavorite}\n\t\t\t\t\t\tincludeFavorite={includeFavorite}\n\t\t\t\t\t\thandleFavouriteClick={handleFavouriteClick}\n\t\t\t\t\t/>\n\t\t\t\t\t{includeFavorite &&\n\t\t\t\t\t<Grid.Item\n\t\t\t\t\t\tkey={\"favorites\"}\n\t\t\t\t\t\tclassName=\"hc-hidden md:hc-block hc-col-span-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={isFavorite ? \"mdi:heart\" : \"mdi:heart-outline\"}\n\t\t\t\t\t\t\tsize=\"hc-size-3.5\"\n\t\t\t\t\t\t\ticonClasses={isFavorite ? \"hc-text-primary\" : \"\"}\n\t\t\t\t\t\t\ttitle={!isFavorite ? 'Add job to favorites' : 'Remove job from favorites'}\n\t\t\t\t\t\t\tclassName=\"hc-pr-2 hc-transition-opacity hc-duration-300 hc-cursor-pointer hc-opacity-100\"\n\t\t\t\t\t\t\tonClick={e => {handleFavouriteClick(e, item);}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Grid.Item>\n\t\t\t\t\t}\n\t\t\t\t</Grid>\n\t\t\t\t{showMap && (\n\t\t\t\t\t<div onClick={() => { setMobileTab(\"mapTab\"); handleClick(); }} className=\"md:hc-hidden hc-w-2/5 sm:hc-w-1/3 hc-p-1.5 hc-my-1 hc-bg-uiAccent/5 hc-border hc-border-uiAccent/10 hc-rounded-sm\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={`https://maps.googleapis.com/maps/api/staticmap?scale=2¢er=${item.mapDetails?.latitude},${item.mapDetails?.longitude}&zoom=10&size=240x180&maptype=roadmap&markers=color:0x${mapPinColor}%7Clabel:•%7C${item.mapDetails?.latitude},${item.mapDetails?.longitude}&key=${process.env.GOOGLE_MAPS_API_KEY}`}\n\t\t\t\t\t\t\talt={`Map of location for ${item.fields.position}`}\n\t\t\t\t\t\t\tclassName=\"hc-w-full hc-h-full hc-object-cover\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</button>\n\t\t);\n\t}\n);\n\nListItem.displayName = \"ListItem\";\n\nexport default React.memo(ListItem, (prevProps, nextProps) => {\n\treturn (\n\t\tprevProps.isActive === nextProps.isActive &&\n\t\tprevProps.favorites === nextProps.favorites &&\n prevProps.item.id === nextProps.item.id &&\n prevProps.fieldsShown === nextProps.fieldsShown &&\n prevProps.bodyClassName === nextProps.bodyClassName &&\n prevProps.className === nextProps.className\n\t);\n});\n"],"names":["ListItem","forwardRef","_ref","ref","_item$mapDetails","_item$mapDetails2","_item$mapDetails3","_item$mapDetails4","isActive","bodyClassName","className","item","fieldsShown","specialFeatures","onItemSelected","showMap","setMobileTab","handleSettingFavorites","favorites","_ref$includeFavorite","includeFavorite","siteConfig","trackEvent","eventTypes","props","_objectWithoutProperties","_excluded","mapPinColor","colors","primary","replace","handleClick","isFavorite","includes","id","handleFavouriteClick","event","stopPropagation","updatedFavorites","filter","fav","concat","_toConsumableArray","React","createElement","_extends","onClick","Grid","columns","gap","isAnimated","Item","Icon","icon","size","FieldMapper","key","iconClasses","title","e","src","mapDetails","latitude","longitude","alt","fields","position","displayName","memo","prevProps","nextProps"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
2
|
+
import ItemsListContainer from '../list/index.js';
|
|
3
3
|
import Map from './map.js';
|
|
4
4
|
import MapTabs from './tabs.js';
|
|
5
5
|
import Filter from '../filter/index.js';
|
|
@@ -40,11 +40,11 @@ var MapList = function MapList(_ref) {
|
|
|
40
40
|
var map = /*#__PURE__*/React.createElement(Map, mapProps);
|
|
41
41
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
42
42
|
className: "\n\t\t\t\t\t".concat(showMap == false ? "md:hc-grid-rows-[100vh]" : "md:hc-grid-rows-[50vh_50vh]", "\n\t\t\t\t\tmd:hc-grid md:hc-pt-4 hc-overflow-hidden hc-relative bg-gray-100\n\t\t\t\t")
|
|
43
|
-
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(
|
|
43
|
+
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(ItemsListContainer, listProps)), /*#__PURE__*/React.createElement("div", null, showMap && map)), /*#__PURE__*/React.createElement("div", {
|
|
44
44
|
className: "md:hc-hidden"
|
|
45
45
|
}, /*#__PURE__*/React.createElement(MapTabs, {
|
|
46
46
|
showMap: showMap,
|
|
47
|
-
list: /*#__PURE__*/React.createElement(
|
|
47
|
+
list: /*#__PURE__*/React.createElement(ItemsListContainer, listProps),
|
|
48
48
|
map: !loading && showMap && map,
|
|
49
49
|
filter: /*#__PURE__*/React.createElement(Filter, {
|
|
50
50
|
showMap: showMap,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-list.js","sources":["../../../../src/components/modules/maps/map-list.js"],"sourcesContent":["import React from 'react';\
|
|
1
|
+
{"version":3,"file":"map-list.js","sources":["../../../../src/components/modules/maps/map-list.js"],"sourcesContent":["import React from 'react';\n\nimport List from '~/components/modules/list';\nimport Map from '~/components/modules/maps/map';\nimport Tabs from '~/components/modules/maps/tabs';\nimport Filter from '~/components/modules/filter';\n\nconst MapList = ({\n\tloading = false,\n\tmapDetails,\n\tmarkerConfigs,\n\titemExpandedContent,\n\tfieldsShown,\n\tspecialFeatures,\n\tfieldNames,\n\tshowMap,\n\tplaceMappings\n}) => {\n\n\tconst listProps = {\n\t\tfieldsShown: fieldsShown,\n\t\tfieldNames: fieldNames,\n\t\titemExpandedContent: itemExpandedContent,\n\t\tloading: loading,\n\t\tshowMap: showMap,\n\t\tspecialFeatures: specialFeatures\n\t};\n\n\tconst mapProps = {\n\t\tmapDetails: mapDetails,\n\t\tmarkerConfigs: markerConfigs,\n\t\tplaceMappings: placeMappings,\n\t\tclusterGridSize: 60,\n\t\tshowMap: showMap\n\t};\n\n\t// useEffect(() => {\n\t// \tif (selectedItem !== null) {\n\t// \t\ttrackEvent(\"Map\", \"View Location\", selectedItem[titlePropName]);\n\t// \t}\n\t// \t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t// }, []);\n\tconst map = <Map {...mapProps} />;\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={`\n\t\t\t\t\t${showMap == false ? \"md:hc-grid-rows-[100vh]\" : \"md:hc-grid-rows-[50vh_50vh]\"}\n\t\t\t\t\tmd:hc-grid md:hc-pt-4 hc-overflow-hidden hc-relative bg-gray-100\n\t\t\t\t`}\n\t\t\t>\n\t\t\t\t<div>\n\t\t\t\t\t<List {...listProps} />\n\t\t\t\t</div>\n\t\t\t\t<div>{showMap && map}</div>\n\t\t\t</div>\n\t\t\t<div className=\"md:hc-hidden\">\n\t\t\t\t<Tabs\n\t\t\t\t\tshowMap={showMap}\n\t\t\t\t\tlist={<List {...listProps} />}\n\t\t\t\t\tmap={!loading && showMap && map}\n\t\t\t\t\tfilter={\n\t\t\t\t\t\t<Filter\n\t\t\t\t\t\t\tshowMap={showMap}\n\t\t\t\t\t\t\tclassName=\"md:hc-hidden\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default MapList;\n"],"names":["MapList","_ref","_ref$loading","loading","mapDetails","markerConfigs","itemExpandedContent","fieldsShown","specialFeatures","fieldNames","showMap","placeMappings","listProps","mapProps","clusterGridSize","map","React","createElement","Map","Fragment","className","concat","List","Tabs","list","filter","Filter"],"mappings":";;;;;;AAOA,IAAMA,OAAO,GAAG,SAAVA,OAAOA,CAAAC,IAAA,EAUP;AAAA,EAAA,IAAAC,YAAA,GAAAD,IAAA,CATLE,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,YAAA;IACfE,UAAU,GAAAH,IAAA,CAAVG,UAAU;IACVC,aAAa,GAAAJ,IAAA,CAAbI,aAAa;IACbC,mBAAmB,GAAAL,IAAA,CAAnBK,mBAAmB;IACnBC,WAAW,GAAAN,IAAA,CAAXM,WAAW;IACXC,eAAe,GAAAP,IAAA,CAAfO,eAAe;IACfC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;IACVC,OAAO,GAAAT,IAAA,CAAPS,OAAO;IACPC,aAAa,GAAAV,IAAA,CAAbU,aAAa,CAAA;AAGb,EAAA,IAAMC,SAAS,GAAG;AACjBL,IAAAA,WAAW,EAAEA,WAAW;AACxBE,IAAAA,UAAU,EAAEA,UAAU;AACtBH,IAAAA,mBAAmB,EAAEA,mBAAmB;AACxCH,IAAAA,OAAO,EAAEA,OAAO;AAChBO,IAAAA,OAAO,EAAEA,OAAO;AAChBF,IAAAA,eAAe,EAAEA,eAAAA;GACjB,CAAA;AAED,EAAA,IAAMK,QAAQ,GAAG;AAChBT,IAAAA,UAAU,EAAEA,UAAU;AACtBC,IAAAA,aAAa,EAAEA,aAAa;AAC5BM,IAAAA,aAAa,EAAEA,aAAa;AAC5BG,IAAAA,eAAe,EAAE,EAAE;AACnBJ,IAAAA,OAAO,EAAEA,OAAAA;GACT,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;EACA,IAAMK,GAAG,gBAAGC,KAAA,CAAAC,aAAA,CAACC,GAAG,EAAKL,QAAW,CAAC,CAAA;EACjC,oBACCG,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAG,QAAA,EAAA,IAAA,eACCH,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACCG,SAAS,EAAA,cAAA,CAAAC,MAAA,CACNX,OAAO,IAAI,KAAK,GAAG,yBAAyB,GAAG,6BAA6B,EAAA,wFAAA,CAAA;GAI/EM,eAAAA,KAAA,CAAAC,aAAA,CACCD,KAAAA,EAAAA,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACK,kBAAI,EAAKV,SAAY,CAClB,CAAC,eACNI,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,EAAMP,OAAO,IAAIK,GAAS,CACtB,CAAC,eACNC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,cAAA;AAAc,GAAA,eAC5BJ,KAAA,CAAAC,aAAA,CAACM,OAAI,EAAA;AACJb,IAAAA,OAAO,EAAEA,OAAQ;IACjBc,IAAI,eAAER,KAAA,CAAAC,aAAA,CAACK,kBAAI,EAAKV,SAAY,CAAE;AAC9BG,IAAAA,GAAG,EAAE,CAACZ,OAAO,IAAIO,OAAO,IAAIK,GAAI;AAChCU,IAAAA,MAAM,eACLT,KAAA,CAAAC,aAAA,CAACS,MAAM,EAAA;AACNhB,MAAAA,OAAO,EAAEA,OAAQ;AACjBU,MAAAA,SAAS,EAAC,cAAA;KACV,CAAA;GAEF,CACG,CACJ,CAAC,CAAA;AAEL;;;;"}
|
|
@@ -1,118 +1,89 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import React, { useState, useRef, useEffect, createContext, useContext } from 'react';
|
|
1
|
+
import React, { createContext, useState, useRef, useEffect, useContext } from 'react';
|
|
3
2
|
import { getStorageObject, setStorageObject } from '../util/localStorageUtil.js';
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
var selectLocationEntity = function selectLocationEntity(location) {
|
|
90
|
-
localStorage.removeItem("selectedListItem");
|
|
91
|
-
setTimeout(function () {
|
|
92
|
-
return setLocation(location);
|
|
93
|
-
}, 200);
|
|
94
|
-
setSelectedListItem(null);
|
|
95
|
-
};
|
|
96
|
-
return /*#__PURE__*/React.createElement(MapContext.Provider, {
|
|
97
|
-
value: {
|
|
98
|
-
selectedListItem: selectedListItem,
|
|
99
|
-
setSelectedListItem: setSelectedListItem,
|
|
100
|
-
location: location,
|
|
101
|
-
center: center,
|
|
102
|
-
zoom: zoom,
|
|
103
|
-
setZoom: setZoom,
|
|
104
|
-
selectItem: selectItem,
|
|
105
|
-
setSelectedPlaces: setSelectedPlaces,
|
|
106
|
-
selectedPlaces: selectedPlaces,
|
|
107
|
-
selectLocationEntity: selectLocationEntity,
|
|
108
|
-
setLocation: setLocation,
|
|
109
|
-
setMapInteracted: setMapInteracted,
|
|
110
|
-
mapInteracted: mapInteracted,
|
|
111
|
-
userSetZoom: userSetZoom,
|
|
112
|
-
firstLoadListItem: firstLoadListItem,
|
|
113
|
-
filterReset: filterReset
|
|
114
|
-
}
|
|
115
|
-
}, children);
|
|
4
|
+
const MapContext = createContext(undefined);
|
|
5
|
+
const useMap = () => {
|
|
6
|
+
const context = useContext(MapContext);
|
|
7
|
+
if (!context) {
|
|
8
|
+
throw new Error("useMap must be used within a MapProvider");
|
|
9
|
+
}
|
|
10
|
+
return context;
|
|
11
|
+
};
|
|
12
|
+
const MapProvider = ({ children, resetFilters }) => {
|
|
13
|
+
const [selectedListItem, setSelectedListItem] = useState(getStorageObject('selectedListItem'));
|
|
14
|
+
const [location, setLocation] = useState(getStorageObject('location'));
|
|
15
|
+
const [center, setCenter] = useState(getStorageObject("center", { lat: 39.8283, lng: -98.5795 }) || { lat: 39.8283, lng: -98.5795 });
|
|
16
|
+
const [zoom, setZoom] = useState(getStorageObject("zoom", 10) || 10);
|
|
17
|
+
const [selectedPlaces, setSelectedPlaces] = useState([]);
|
|
18
|
+
const [mapInteracted, setMapInteracted] = useState(false);
|
|
19
|
+
const [firstLoadListItem] = useState(getStorageObject('selectedListItem', { id: "defaultId" }));
|
|
20
|
+
const userSetZoom = useRef(true);
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
setStorageObject("selectedListItem", selectedListItem);
|
|
23
|
+
}, [selectedListItem]);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
localStorage.setItem("zoom", zoom.toString());
|
|
26
|
+
}, [zoom]);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (location == null) {
|
|
29
|
+
localStorage.removeItem("location");
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
setStorageObject("location", location);
|
|
33
|
+
}
|
|
34
|
+
}, [location]);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
setStorageObject("center", center);
|
|
37
|
+
}, [center]);
|
|
38
|
+
const selectItem = (item, itemLocation, zoom, center) => {
|
|
39
|
+
setSelectedListItem(item);
|
|
40
|
+
if (mapInteracted === false && itemLocation != null) {
|
|
41
|
+
setLocation(itemLocation);
|
|
42
|
+
}
|
|
43
|
+
if (mapInteracted === false || itemLocation != null) {
|
|
44
|
+
setLocation(itemLocation);
|
|
45
|
+
setCenter(center);
|
|
46
|
+
}
|
|
47
|
+
if (mapInteracted === false) {
|
|
48
|
+
setZoom(zoom);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
const filterReset = () => {
|
|
52
|
+
setSelectedPlaces([]);
|
|
53
|
+
setSelectedListItem(null);
|
|
54
|
+
setLocation(null);
|
|
55
|
+
setZoom(8);
|
|
56
|
+
setMapInteracted(false);
|
|
57
|
+
};
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
if (resetFilters === true) {
|
|
60
|
+
filterReset();
|
|
61
|
+
}
|
|
62
|
+
}, [resetFilters]);
|
|
63
|
+
const selectLocationEntity = (location) => {
|
|
64
|
+
localStorage.removeItem("selectedListItem");
|
|
65
|
+
setTimeout(() => setLocation(location), 200);
|
|
66
|
+
setSelectedListItem(null);
|
|
67
|
+
};
|
|
68
|
+
return (React.createElement(MapContext.Provider, { value: {
|
|
69
|
+
selectedListItem,
|
|
70
|
+
setSelectedListItem,
|
|
71
|
+
location,
|
|
72
|
+
center,
|
|
73
|
+
setCenter,
|
|
74
|
+
zoom,
|
|
75
|
+
setZoom,
|
|
76
|
+
selectItem,
|
|
77
|
+
setSelectedPlaces,
|
|
78
|
+
selectedPlaces,
|
|
79
|
+
selectLocationEntity,
|
|
80
|
+
setLocation,
|
|
81
|
+
setMapInteracted,
|
|
82
|
+
mapInteracted,
|
|
83
|
+
userSetZoom,
|
|
84
|
+
firstLoadListItem,
|
|
85
|
+
filterReset
|
|
86
|
+
} }, children));
|
|
116
87
|
};
|
|
117
88
|
|
|
118
89
|
export { MapProvider, useMap };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapContext.js","sources":["../../src/contexts/mapContext.
|
|
1
|
+
{"version":3,"file":"mapContext.js","sources":["../../src/contexts/mapContext.tsx"],"sourcesContent":["import React, { createContext, useState, useContext, useEffect, useRef, ReactNode } from 'react';\nimport { getStorageObject, setStorageObject } from '~/util/localStorageUtil';\nimport { Listing } from '~/types/Listings';\nimport { LatLng } from '~/types/LatLng';\ninterface IMapContext {\n selectedListItem: Listing | null;\n setSelectedListItem: (item: Listing | null) => void;\n location: any | null;\n setLocation: (location: LatLng | null) => void;\n center: LatLng;\n setCenter: (center: LatLng) => void;\n zoom: number;\n setZoom: (zoom: number) => void;\n selectedPlaces: string[];\n setSelectedPlaces: (places: string[]) => void;\n mapInteracted: boolean;\n setMapInteracted: (interacted: boolean) => void;\n userSetZoom: React.MutableRefObject<boolean>;\n firstLoadListItem: any;\n selectItem: (item: Listing, itemLocation: LatLng | null, zoom: number, center: LatLng) => void;\n filterReset: () => void;\n selectLocationEntity: (location: LatLng) => void;\n}\n\nconst MapContext = createContext<IMapContext | undefined>(undefined);\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\ninterface MapProviderProps {\n children: ReactNode;\n resetFilters: boolean;\n}\n\nexport const MapProvider: React.FC<MapProviderProps> = ({ children, resetFilters }) => {\n\tconst [selectedListItem, setSelectedListItem] = useState<Listing | null>(getStorageObject('selectedListItem'));\n\tconst [location, setLocation] = useState<any>(getStorageObject('location'));\n\tconst [center, setCenter] = useState<LatLng>(getStorageObject(\"center\", { lat: 39.8283, lng: -98.5795 }) || { lat: 39.8283, lng: -98.5795 });\n\tconst [zoom, setZoom] = useState<number>(getStorageObject(\"zoom\", 10) || 10);\n\tconst [selectedPlaces, setSelectedPlaces] = useState<string[]>([]);\n\tconst [mapInteracted, setMapInteracted] = useState<boolean>(false);\n\tconst [firstLoadListItem] = useState<any>(getStorageObject('selectedListItem', { id: \"defaultId\" }));\n\tconst userSetZoom = useRef<boolean>(true);\n\n\tuseEffect(() => {\n\t\tsetStorageObject(\"selectedListItem\", selectedListItem);\n\t}, [selectedListItem]);\n\n\tuseEffect(() => {\n\t\tlocalStorage.setItem(\"zoom\", zoom.toString());\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: Listing, itemLocation: LatLng | null, zoom: number, center: LatLng) => {\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\t\t}\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\tuseEffect(() => {\n\t\tif (resetFilters === true) {\n\t\t\tfilterReset();\n\t\t}\n\t}, [resetFilters]);\n\n\tconst selectLocationEntity = (location: LatLng) => {\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\tsetCenter,\n\t\t\t\tzoom,\n\t\t\t\tsetZoom,\n\t\t\t\tselectItem,\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\tfirstLoadListItem,\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":[],"mappings":"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"}
|