@abcagency/hc-ui-components 1.4.9 → 1.4.12
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/components/HireControlMap.js +14 -5
- package/dist/components/HireControlMap.js.map +1 -1
- package/dist/components/containers/accordions/filter-item-container.js +2 -2
- package/dist/components/containers/accordions/filter-item-container.js.map +1 -1
- package/dist/components/containers/accordions/map-accordion-item-container.js +6 -2
- package/dist/components/containers/accordions/map-accordion-item-container.js.map +1 -1
- package/dist/components/containers/filter/filter-item-container.js +10 -10
- package/dist/components/containers/filter/filter-item-container.js.map +1 -1
- package/dist/components/containers/maps/info-window-content-container.js.map +1 -1
- package/dist/components/containers/maps/map-container.js +0 -1
- package/dist/components/containers/maps/map-container.js.map +1 -1
- package/dist/components/modules/buttons/button-group-apply.js +12 -12
- package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
- package/dist/components/modules/dialogs/apply-dialog.js +4 -4
- package/dist/components/modules/dialogs/apply-dialog.js.map +1 -1
- package/dist/components/modules/list/field-mapper-desktop.js +2 -2
- package/dist/components/modules/list/field-mapper-desktop.js.map +1 -1
- package/dist/components/modules/list/field-mapper-mobile.js +8 -8
- package/dist/components/modules/list/field-mapper-mobile.js.map +1 -1
- package/dist/components/modules/list/header-item.js +1 -1
- package/dist/components/modules/list/header-item.js.map +1 -1
- package/dist/contexts/mapListContext.js +17 -15
- package/dist/contexts/mapListContext.js.map +1 -1
- package/dist/services/listingAggregatorService.js +7 -8
- package/dist/services/listingAggregatorService.js.map +1 -1
- package/dist/services/listingEntityService.js +3 -2
- package/dist/services/listingEntityService.js.map +1 -1
- package/dist/services/listingService.js +1 -16
- package/dist/services/listingService.js.map +1 -1
- package/dist/types/contexts/mapListContext.d.ts +1 -1
- package/dist/types/services/listingAggregatorService.d.ts +2 -2
- package/dist/types/services/listingEntityService.d.ts +2 -3
- package/dist/types/types/GetListingParams.d.ts +1 -1
- package/dist/types/types/ListingEntity.d.ts +2 -1
- package/dist/types/types/ListingFields.d.ts +4 -2
- package/dist/types/types/Listings.d.ts +0 -1
- package/dist/types/util/mapUtil.d.ts +3 -3
- package/dist/util/filterUtil.js +5 -5
- package/dist/util/filterUtil.js.map +1 -1
- package/dist/util/mapUtil.js +33 -25
- package/dist/util/mapUtil.js.map +1 -1
- package/package.json +1 -1
- package/src/components/HireControlMap.js +15 -6
- package/src/components/containers/accordions/filter-item-container.js +2 -2
- package/src/components/containers/accordions/map-accordion-item-container.js +6 -2
- package/src/components/containers/filter/filter-item-container.js +10 -10
- package/src/components/containers/maps/info-window-content-container.js +1 -1
- package/src/components/containers/maps/map-container.js +2 -1
- package/src/components/modules/buttons/button-group-apply.js +8 -8
- package/src/components/modules/dialogs/apply-dialog.js +2 -2
- package/src/components/modules/list/field-mapper-desktop.jsx +2 -2
- package/src/components/modules/list/field-mapper-mobile.jsx +8 -8
- package/src/components/modules/list/header-item.js +1 -1
- package/src/contexts/mapListContext.tsx +37 -40
- package/src/services/listingAggregatorService.ts +12 -11
- package/src/services/listingEntityService.ts +3 -3
- package/src/services/listingService.ts +1 -11
- package/src/types/GetListingParams.ts +1 -1
- package/src/types/ListingEntity.ts +2 -1
- package/src/types/ListingFields.ts +4 -2
- package/src/types/Listings.ts +0 -1
- package/src/util/filterUtil.js +6 -6
- package/src/util/mapUtil.js +48 -41
|
@@ -38,8 +38,8 @@ var ButtonGroupApply = function ButtonGroupApply(_ref) {
|
|
|
38
38
|
var trackApplyNow = function trackApplyNow() {
|
|
39
39
|
//console.log('calling trackApplyNow');
|
|
40
40
|
trackEvent(eventTypes.APPLY_NOW_CLICKED, {
|
|
41
|
-
jobCategory: item.fields.
|
|
42
|
-
jobCategoryClass: item.fields.
|
|
41
|
+
jobCategory: item.fields.subCategory,
|
|
42
|
+
jobCategoryClass: item.fields.category,
|
|
43
43
|
jobEntity: item.fields.entityName,
|
|
44
44
|
jobListingId: item.id,
|
|
45
45
|
jobSchedule: item.fields.schedule
|
|
@@ -48,8 +48,8 @@ var ButtonGroupApply = function ButtonGroupApply(_ref) {
|
|
|
48
48
|
var trackApplyOpen = function trackApplyOpen() {
|
|
49
49
|
//console.log('calling trackApplyOpen');
|
|
50
50
|
trackEvent(eventTypes.APPLY_OPEN_CLICKED, {
|
|
51
|
-
jobCategory: item.fields.
|
|
52
|
-
jobCategoryClass: item.fields.
|
|
51
|
+
jobCategory: item.fields.subCategory,
|
|
52
|
+
jobCategoryClass: item.fields.category,
|
|
53
53
|
jobEntity: item.fields.entityName,
|
|
54
54
|
jobListingId: item.id,
|
|
55
55
|
jobSchedule: item.fields.schedule
|
|
@@ -58,8 +58,8 @@ var ButtonGroupApply = function ButtonGroupApply(_ref) {
|
|
|
58
58
|
var trackEasyApply = function trackEasyApply() {
|
|
59
59
|
//console.log('calling trackEasyApply');
|
|
60
60
|
trackEvent(eventTypes.EASY_APPLY_CLICKED, {
|
|
61
|
-
jobCategory: item.fields.
|
|
62
|
-
jobCategoryClass: item.fields.
|
|
61
|
+
jobCategory: item.fields.subCategory,
|
|
62
|
+
jobCategoryClass: item.fields.category,
|
|
63
63
|
jobEntity: item.fields.entityName,
|
|
64
64
|
jobListingId: item.id,
|
|
65
65
|
jobSchedule: item.fields.schedule
|
|
@@ -68,8 +68,8 @@ var ButtonGroupApply = function ButtonGroupApply(_ref) {
|
|
|
68
68
|
var trackViewDetails = function trackViewDetails() {
|
|
69
69
|
//console.log('calling trackViewDetails');
|
|
70
70
|
trackEvent(eventTypes.VIEW_DETAILS_CLICKED, {
|
|
71
|
-
jobCategory: item.fields.
|
|
72
|
-
jobCategoryClass: item.fields.
|
|
71
|
+
jobCategory: item.fields.subCategory,
|
|
72
|
+
jobCategoryClass: item.fields.category,
|
|
73
73
|
jobEntity: item.fields.entityName,
|
|
74
74
|
jobListingId: item.id,
|
|
75
75
|
jobSchedule: item.fields.schedule
|
|
@@ -92,16 +92,16 @@ var ButtonGroupApply = function ButtonGroupApply(_ref) {
|
|
|
92
92
|
execOnClick: trackViewDetails,
|
|
93
93
|
isIframe: isIframe,
|
|
94
94
|
iframeMsgType: "DETAILS_LINK"
|
|
95
|
-
}, detailsText) : null, item.applyOnline ==
|
|
96
|
-
href: item.applyUrl,
|
|
95
|
+
}, detailsText) : null, item.fields.applyOnline == true && item.fields.applyUrl && !includeDialog && /*#__PURE__*/React__default.createElement(Button.Anchor, {
|
|
96
|
+
href: item.fields.applyUrl,
|
|
97
97
|
variant: applyButtonVariant,
|
|
98
98
|
size: buttonSize,
|
|
99
99
|
className: "map-apply-now-button",
|
|
100
100
|
execOnClick: trackApplyNow,
|
|
101
101
|
isIframe: isIframe,
|
|
102
102
|
iframeMsgType: "APPLY_NOW_LINK"
|
|
103
|
-
}, applyNowText), item.applyOnline ==
|
|
104
|
-
applyUrl: item.applyUrl,
|
|
103
|
+
}, applyNowText), item.fields.applyOnline == true && item.fields.applyUrl && includeDialog && /*#__PURE__*/React__default.createElement(ApplyDialog, {
|
|
104
|
+
applyUrl: item.fields.applyUrl,
|
|
105
105
|
internalApplyLink: internalApplyLink,
|
|
106
106
|
companyName: companyName,
|
|
107
107
|
item: item,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-group-apply.js","sources":["../../../../src/components/modules/buttons/button-group-apply.js"],"sourcesContent":["import React from 'react';\nimport { twMerge } from 'tailwind-merge';\n\nimport Button from '~/components/modules/buttons/default';\nimport ApplyDialog from '../dialogs/apply-dialog';\n\nconst ButtonGroupApply = ({\n\tuseDetailsPostMessage,\n\tnavigateToDetails,\n\tnavigateToEasyApply,\n\tLink,\n\tlinkFormat,\n\teasyApplyUrl,\n\tapplyNowText = 'Apply Now',\n\tisIframe,\n\tdetailsUrl,\n\tdetailsText = 'View Details',\n\teasyApplyText,\n\tclassName,\n\tbuttonSize = 'sm',\n\tapplyButtonVariant = 'primary',\n\tdetailsButtonVariant = 'outline',\n\tincludeDialog = false,\n\tinternalApplyLink,\n\titem,\n\tcompanyName,\n\ttrackEvent,\n\teventTypes\n}) => {\n\tconst href = linkFormat.replace('[slug]', item.slug ?? item.id);\n\n\tconst trackApplyNow = () => {\n\t\t//console.log('calling trackApplyNow');\n\t\ttrackEvent(eventTypes.APPLY_NOW_CLICKED, { jobCategory: item.fields.category, jobCategoryClass: item.fields.categoryClass, jobEntity: item.fields.entityName, jobListingId: item.id, jobSchedule: item.fields.schedule });\n\t};\n\tconst trackApplyOpen = () => {\n\t\t//console.log('calling trackApplyOpen');\n\t\ttrackEvent(eventTypes.APPLY_OPEN_CLICKED, { jobCategory: item.fields.category, jobCategoryClass: item.fields.categoryClass, jobEntity: item.fields.entityName, jobListingId: item.id, jobSchedule: item.fields.schedule });\n\t};\n\tconst trackEasyApply = () => {\n\t\t//console.log('calling trackEasyApply');\n\t\ttrackEvent(eventTypes.EASY_APPLY_CLICKED, { jobCategory: item.fields.category, jobCategoryClass: item.fields.categoryClass, jobEntity: item.fields.entityName, jobListingId: item.id, jobSchedule: item.fields.schedule });\n\t};\n\tconst trackViewDetails = () => {\n\t\t//console.log('calling trackViewDetails');\n\t\ttrackEvent(eventTypes.VIEW_DETAILS_CLICKED, { jobCategory: item.fields.category, jobCategoryClass: item.fields.categoryClass, jobEntity: item.fields.entityName, jobListingId: item.id, jobSchedule: item.fields.schedule });\n\t};\n\n\treturn (\n\t\t<nav\n\t\t\tclassName={twMerge`\n hc-flex hc-flex-row hc-justify-between hc-gap-2 hc-w-full\n ${className ?? ''}\n `}\n\t\t>\n\t\t\t{Link ? (\n\t\t\t\t<Button.Link\n\t\t\t\t\tLink={Link}\n\t\t\t\t\thref={href}\n\t\t\t\t\tvariant={detailsButtonVariant}\n\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\tclassName={\"map-details-button\"}\n\t\t\t\t\tsendEvent = {trackViewDetails}\n\t\t\t\t>\n\t\t\t\t\t{detailsText}\n\t\t\t\t</Button.Link>\n\t\t\t) : detailsUrl ? (\n\t\t\t\t<Button.Anchor\n\t\t\t\t\thref={detailsUrl}\n\t\t\t\t\tvariant={detailsButtonVariant}\n\t\t\t\t\tclassName={\"map-details-button\"}\n\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\texecOnClick={trackViewDetails}\n\t\t\t\t\tisIframe={isIframe}\n\t\t\t\t\tiframeMsgType={\"DETAILS_LINK\"}\n\t\t\t\t>\n\t\t\t\t\t{detailsText}\n\t\t\t\t</Button.Anchor>\n\t\t\t) : null}\n\n\t\t\t{item.applyOnline == 1 && item.applyUrl && !includeDialog &&\n\t\t\t\t<Button.Anchor\n\t\t\t\t\thref={item.applyUrl}\n\t\t\t\t\tvariant={applyButtonVariant}\n\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\tclassName={\"map-apply-now-button\"}\n\t\t\t\t\texecOnClick={trackApplyNow}\n\t\t\t\t\tisIframe={isIframe}\n\t\t\t\t\tiframeMsgType={\"APPLY_NOW_LINK\"}\n\t\t\t\t>\n\t\t\t\t\t{applyNowText}\n\t\t\t\t</Button.Anchor>\n\t\t\t}\n\t\t\t{item.applyOnline == 1 && item.applyUrl && includeDialog &&\n\t\t\t\t<ApplyDialog applyUrl={item.applyUrl} internalApplyLink={internalApplyLink} companyName={companyName} item={item} trackEvent={trackEvent} eventTypes={eventTypes} isIframe={isIframe}>\n\t\t\t\t\t<Button.Anchor\n\t\t\t\t\t\tvariant={applyButtonVariant}\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tclassName={\"map-apply-now-button\"}\n\t\t\t\t\t\texecOnClick={trackApplyOpen}\n\t\t\t\t\t>\n\t\t\t\t\t\t{applyNowText}\n\t\t\t\t\t</Button.Anchor>\n\t\t\t\t</ApplyDialog>\n\t\t\t}\n\t\t\t{item.easyApply == 1 && easyApplyUrl &&\n\t\t\t\t<Button.Anchor\n\t\t\t\t\thref={`${easyApplyUrl}${item.id}`}\n\t\t\t\t\tvariant={applyButtonVariant}\n\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\tclassName={\"map-apply-now-button\"}\n\t\t\t\t\texecOnClick={trackEasyApply}\n\t\t\t\t\tisIframe={isIframe}\n\t\t\t\t\tiframeMsgType={\"EASY_APPLY_LINK\"}\n\t\t\t\t>\n\t\t\t\t\t{easyApplyText}\n\t\t\t\t</Button.Anchor>\n\t\t\t}\n\t\t</nav>\n\t);\n};\n\nexport default ButtonGroupApply;\n"],"names":["ButtonGroupApply","_ref","_item$slug","useDetailsPostMessage","navigateToDetails","navigateToEasyApply","Link","linkFormat","easyApplyUrl","_ref$applyNowText","applyNowText","isIframe","detailsUrl","_ref$detailsText","detailsText","easyApplyText","className","_ref$buttonSize","buttonSize","_ref$applyButtonVaria","applyButtonVariant","_ref$detailsButtonVar","detailsButtonVariant","_ref$includeDialog","includeDialog","internalApplyLink","item","companyName","trackEvent","eventTypes","href","replace","slug","id","trackApplyNow","APPLY_NOW_CLICKED","jobCategory","fields","category","jobCategoryClass","categoryClass","jobEntity","entityName","jobListingId","jobSchedule","schedule","trackApplyOpen","APPLY_OPEN_CLICKED","trackEasyApply","EASY_APPLY_CLICKED","trackViewDetails","VIEW_DETAILS_CLICKED","React","createElement","twMerge","_templateObject","_taggedTemplateLiteral","Button","variant","size","sendEvent","Anchor","execOnClick","iframeMsgType","applyOnline","applyUrl","ApplyDialog","easyApply","concat"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"button-group-apply.js","sources":["../../../../src/components/modules/buttons/button-group-apply.js"],"sourcesContent":["import React from 'react';\nimport { twMerge } from 'tailwind-merge';\n\nimport Button from '~/components/modules/buttons/default';\nimport ApplyDialog from '../dialogs/apply-dialog';\n\nconst ButtonGroupApply = ({\n\tuseDetailsPostMessage,\n\tnavigateToDetails,\n\tnavigateToEasyApply,\n\tLink,\n\tlinkFormat,\n\teasyApplyUrl,\n\tapplyNowText = 'Apply Now',\n\tisIframe,\n\tdetailsUrl,\n\tdetailsText = 'View Details',\n\teasyApplyText,\n\tclassName,\n\tbuttonSize = 'sm',\n\tapplyButtonVariant = 'primary',\n\tdetailsButtonVariant = 'outline',\n\tincludeDialog = false,\n\tinternalApplyLink,\n\titem,\n\tcompanyName,\n\ttrackEvent,\n\teventTypes\n}) => {\n\tconst href = linkFormat.replace('[slug]', item.slug ?? item.id);\n\n\tconst trackApplyNow = () => {\n\t\t//console.log('calling trackApplyNow');\n\t\ttrackEvent(eventTypes.APPLY_NOW_CLICKED, { jobCategory: item.fields.subCategory, jobCategoryClass: item.fields.category, jobEntity: item.fields.entityName, jobListingId: item.id, jobSchedule: item.fields.schedule });\n\t};\n\tconst trackApplyOpen = () => {\n\t\t//console.log('calling trackApplyOpen');\n\t\ttrackEvent(eventTypes.APPLY_OPEN_CLICKED, { jobCategory: item.fields.subCategory, jobCategoryClass: item.fields.category, jobEntity: item.fields.entityName, jobListingId: item.id, jobSchedule: item.fields.schedule });\n\t};\n\tconst trackEasyApply = () => {\n\t\t//console.log('calling trackEasyApply');\n\t\ttrackEvent(eventTypes.EASY_APPLY_CLICKED, { jobCategory: item.fields.subCategory, jobCategoryClass: item.fields.category, jobEntity: item.fields.entityName, jobListingId: item.id, jobSchedule: item.fields.schedule });\n\t};\n\tconst trackViewDetails = () => {\n\t\t//console.log('calling trackViewDetails');\n\t\ttrackEvent(eventTypes.VIEW_DETAILS_CLICKED, { jobCategory: item.fields.subCategory, jobCategoryClass: item.fields.category, jobEntity: item.fields.entityName, jobListingId: item.id, jobSchedule: item.fields.schedule });\n\t};\n\n\treturn (\n\t\t<nav\n\t\t\tclassName={twMerge`\n hc-flex hc-flex-row hc-justify-between hc-gap-2 hc-w-full\n ${className ?? ''}\n `}\n\t\t>\n\t\t\t{Link ? (\n\t\t\t\t<Button.Link\n\t\t\t\t\tLink={Link}\n\t\t\t\t\thref={href}\n\t\t\t\t\tvariant={detailsButtonVariant}\n\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\tclassName={\"map-details-button\"}\n\t\t\t\t\tsendEvent = {trackViewDetails}\n\t\t\t\t>\n\t\t\t\t\t{detailsText}\n\t\t\t\t</Button.Link>\n\t\t\t) : detailsUrl ? (\n\t\t\t\t<Button.Anchor\n\t\t\t\t\thref={detailsUrl}\n\t\t\t\t\tvariant={detailsButtonVariant}\n\t\t\t\t\tclassName={\"map-details-button\"}\n\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\texecOnClick={trackViewDetails}\n\t\t\t\t\tisIframe={isIframe}\n\t\t\t\t\tiframeMsgType={\"DETAILS_LINK\"}\n\t\t\t\t>\n\t\t\t\t\t{detailsText}\n\t\t\t\t</Button.Anchor>\n\t\t\t) : null}\n\n\t\t\t{item.fields.applyOnline == true && item.fields.applyUrl && !includeDialog &&\n\t\t\t\t<Button.Anchor\n\t\t\t\t\thref={item.fields.applyUrl}\n\t\t\t\t\tvariant={applyButtonVariant}\n\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\tclassName={\"map-apply-now-button\"}\n\t\t\t\t\texecOnClick={trackApplyNow}\n\t\t\t\t\tisIframe={isIframe}\n\t\t\t\t\tiframeMsgType={\"APPLY_NOW_LINK\"}\n\t\t\t\t>\n\t\t\t\t\t{applyNowText}\n\t\t\t\t</Button.Anchor>\n\t\t\t}\n\t\t\t{item.fields.applyOnline == true && item.fields.applyUrl && includeDialog &&\n\t\t\t\t<ApplyDialog applyUrl={item.fields.applyUrl} internalApplyLink={internalApplyLink} companyName={companyName} item={item} trackEvent={trackEvent} eventTypes={eventTypes} isIframe={isIframe}>\n\t\t\t\t\t<Button.Anchor\n\t\t\t\t\t\tvariant={applyButtonVariant}\n\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\tclassName={\"map-apply-now-button\"}\n\t\t\t\t\t\texecOnClick={trackApplyOpen}\n\t\t\t\t\t>\n\t\t\t\t\t\t{applyNowText}\n\t\t\t\t\t</Button.Anchor>\n\t\t\t\t</ApplyDialog>\n\t\t\t}\n\t\t\t{item.easyApply == 1 && easyApplyUrl &&\n\t\t\t\t<Button.Anchor\n\t\t\t\t\thref={`${easyApplyUrl}${item.id}`}\n\t\t\t\t\tvariant={applyButtonVariant}\n\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\tclassName={\"map-apply-now-button\"}\n\t\t\t\t\texecOnClick={trackEasyApply}\n\t\t\t\t\tisIframe={isIframe}\n\t\t\t\t\tiframeMsgType={\"EASY_APPLY_LINK\"}\n\t\t\t\t>\n\t\t\t\t\t{easyApplyText}\n\t\t\t\t</Button.Anchor>\n\t\t\t}\n\t\t</nav>\n\t);\n};\n\nexport default ButtonGroupApply;\n"],"names":["ButtonGroupApply","_ref","_item$slug","useDetailsPostMessage","navigateToDetails","navigateToEasyApply","Link","linkFormat","easyApplyUrl","_ref$applyNowText","applyNowText","isIframe","detailsUrl","_ref$detailsText","detailsText","easyApplyText","className","_ref$buttonSize","buttonSize","_ref$applyButtonVaria","applyButtonVariant","_ref$detailsButtonVar","detailsButtonVariant","_ref$includeDialog","includeDialog","internalApplyLink","item","companyName","trackEvent","eventTypes","href","replace","slug","id","trackApplyNow","APPLY_NOW_CLICKED","jobCategory","fields","subCategory","jobCategoryClass","category","jobEntity","entityName","jobListingId","jobSchedule","schedule","trackApplyOpen","APPLY_OPEN_CLICKED","trackEasyApply","EASY_APPLY_CLICKED","trackViewDetails","VIEW_DETAILS_CLICKED","React","createElement","twMerge","_templateObject","_taggedTemplateLiteral","Button","variant","size","sendEvent","Anchor","execOnClick","iframeMsgType","applyOnline","applyUrl","ApplyDialog","easyApply","concat"],"mappings":"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"}
|
|
@@ -15,8 +15,8 @@ var ApplyDialog = function ApplyDialog(_ref) {
|
|
|
15
15
|
var trackApplyOption1 = function trackApplyOption1() {
|
|
16
16
|
//console.log('calling trackApplyOption1');
|
|
17
17
|
trackEvent(eventTypes.APPLY_OPTION_1_CLICKED, {
|
|
18
|
-
jobCategory: item.fields.
|
|
19
|
-
jobCategoryClass: item.fields.
|
|
18
|
+
jobCategory: item.fields.subCategory,
|
|
19
|
+
jobCategoryClass: item.fields.category,
|
|
20
20
|
jobEntity: item.fields.entityName,
|
|
21
21
|
jobListingId: item.id,
|
|
22
22
|
jobSchedule: item.fields.schedule
|
|
@@ -25,8 +25,8 @@ var ApplyDialog = function ApplyDialog(_ref) {
|
|
|
25
25
|
var trackApplyOption2 = function trackApplyOption2() {
|
|
26
26
|
//console.log('calling trackApplyOption2');
|
|
27
27
|
trackEvent(eventTypes.APPLY_OPTION_2_CLICKED, {
|
|
28
|
-
jobCategory: item.fields.
|
|
29
|
-
jobCategoryClass: item.fields.
|
|
28
|
+
jobCategory: item.fields.subCategory,
|
|
29
|
+
jobCategoryClass: item.fields.category,
|
|
30
30
|
jobEntity: item.fields.entityName,
|
|
31
31
|
jobListingId: item.id,
|
|
32
32
|
jobSchedule: item.fields.schedule
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-dialog.js","sources":["../../../../src/components/modules/dialogs/apply-dialog.js"],"sourcesContent":["import React from 'react';\nimport * as Dialog from '@radix-ui/react-dialog';\n\nimport Button from '~/components/modules/buttons/default';\nimport Icon from '~/components/modules/icon';\n\nconst ApplyDialog = ({ children, applyUrl, internalApplyLink, companyName, item, trackEvent, eventTypes, isIframe }) => {\n\tconst trackApplyOption1 = () => {\n\t\t//console.log('calling trackApplyOption1');\n\t\ttrackEvent(eventTypes.APPLY_OPTION_1_CLICKED, { jobCategory: item.fields.
|
|
1
|
+
{"version":3,"file":"apply-dialog.js","sources":["../../../../src/components/modules/dialogs/apply-dialog.js"],"sourcesContent":["import React from 'react';\nimport * as Dialog from '@radix-ui/react-dialog';\n\nimport Button from '~/components/modules/buttons/default';\nimport Icon from '~/components/modules/icon';\n\nconst ApplyDialog = ({ children, applyUrl, internalApplyLink, companyName, item, trackEvent, eventTypes, isIframe }) => {\n\tconst trackApplyOption1 = () => {\n\t\t//console.log('calling trackApplyOption1');\n\t\ttrackEvent(eventTypes.APPLY_OPTION_1_CLICKED, { jobCategory: item.fields.subCategory, jobCategoryClass: item.fields.category, jobEntity: item.fields.entityName, jobListingId: item.id, jobSchedule: item.fields.schedule });\n\t};\n\tconst trackApplyOption2 = () => {\n\t\t//console.log('calling trackApplyOption2');\n\t\ttrackEvent(eventTypes.APPLY_OPTION_2_CLICKED, { jobCategory: item.fields.subCategory, jobCategoryClass: item.fields.category, jobEntity: item.fields.entityName, jobListingId: item.id, jobSchedule: item.fields.schedule });\n\t};\n\n\treturn (\n\t\t<Dialog.Root >\n\t\t\t<Dialog.Trigger asChild>\n\t\t\t\t<div>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</Dialog.Trigger>\n\t\t\t<Dialog.Portal>\n\t\t\t\t<Dialog.Overlay className=\"hc-bg-black/50 hc-fixed hc-inset-0 hc-animate-overlayShow\" />\n\t\t\t\t<Dialog.Content className=\"z-99 hc-fit-content hc-h-fit hc-animate-contentShow hc-fixed hc-inset-0 hc-m-auto hc-max-h-[85vh] hc-w-[90vw] hc-max-w-[450px] hc-rounded-[6px] hc-bg-white hc-p-[25px] hc-shadow-lg focus:hc-outline-none hc-flex hc-flex-col hc-items-center hc-text-center\">\n\t\t\t\t\t<Dialog.Title className=\"hc-text-[17px] hc-font-medium hc-w-full\">\n\t\t\t\t\t\tCareer Opportunities\n\t\t\t\t\t</Dialog.Title>\n\t\t\t\t\t<Dialog.Description className=\"hc-mt-4 hc-mb-5 hc-text-[15px] hc-leading-normal hc-w-full\">\n\t\t\t\t\t\tAre you currently a {companyName} employee?\n\t\t\t\t\t</Dialog.Description>\n\t\t\t\t\t<div className=\"hc-flex hc-justify-center hc-space-x-4 hc-w-full\">\n\t\t\t\t\t\t<Dialog.Close asChild>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<Button.Anchor variant=\"outline\" href={internalApplyLink} execOnClick={trackApplyOption1} isIframe={isIframe} iframeMsgType={\"APPLY_EMPLOYEE_YES_LINK\"}>\n\t\t\t\t\t\t\t\t\tYes\n\t\t\t\t\t\t\t\t</Button.Anchor>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</Dialog.Close>\n\t\t\t\t\t\t<Dialog.Close asChild>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<Button.Anchor variant=\"primary\" href={applyUrl} execOnClick={trackApplyOption2} isIframe={isIframe} iframeMsgType={\"APPLY_NOW_LINK\"}>\n\t\t\t\t\t\t\t\t\tNo\n\t\t\t\t\t\t\t\t</Button.Anchor>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</Dialog.Close>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Dialog.Close asChild>\n\t\t\t\t\t\t<Button.Anchor className=\"hc-absolute hc-top-[10px] hc-right-[10px] hc-inline-flex hc-h-[25px] hc-w-[25px] hc-items-center hc-justify-center hc-rounded-full focus:hc-outline-none\"\n\t\t\t\t\t\t\tvariant=\"ghost\" aria-label=\"Close\">\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon=\"mdi:times\"\n\t\t\t\t\t\t\t\tclassName=\"hc-cursor-pointer hc-text-black hover:hc-text-gray-500 hover:hc-opacity-75\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Button.Anchor>\n\t\t\t\t\t</Dialog.Close>\n\t\t\t\t</Dialog.Content>\n\t\t\t</Dialog.Portal>\n\t\t</Dialog.Root>\n\t);\n};\n\nexport default ApplyDialog;\n"],"names":["ApplyDialog","_ref","children","applyUrl","internalApplyLink","companyName","item","trackEvent","eventTypes","isIframe","trackApplyOption1","APPLY_OPTION_1_CLICKED","jobCategory","fields","subCategory","jobCategoryClass","category","jobEntity","entityName","jobListingId","id","jobSchedule","schedule","trackApplyOption2","APPLY_OPTION_2_CLICKED","React","createElement","Dialog","asChild","className","Button","Anchor","variant","href","execOnClick","iframeMsgType","Icon","icon"],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ var FieldMapperDesktop = function FieldMapperDesktop(_ref) {
|
|
|
12
12
|
return field in item.fields;
|
|
13
13
|
});
|
|
14
14
|
var specialFeaturePills = function specialFeaturePills(field) {
|
|
15
|
-
return field === '
|
|
15
|
+
return field === 'title' && specialFeatures && Object.entries(specialFeatures).map(function (_ref2) {
|
|
16
16
|
var _ref3 = _slicedToArray(_ref2, 2),
|
|
17
17
|
featureKey = _ref3[0],
|
|
18
18
|
featureLabel = _ref3[1];
|
|
@@ -25,7 +25,7 @@ var FieldMapperDesktop = function FieldMapperDesktop(_ref) {
|
|
|
25
25
|
var value = item.fields[field];
|
|
26
26
|
return /*#__PURE__*/React__default.createElement(Grid.Item, {
|
|
27
27
|
key: field,
|
|
28
|
-
className: "\n hc-hidden md:hc-block hc-px-2\n ".concat(index === 0 ? "hc-pl-7" : "", "\n ").concat(field.toLowerCase() === "
|
|
28
|
+
className: "\n hc-hidden md:hc-block hc-px-2\n ".concat(index === 0 ? "hc-pl-7" : "", "\n ").concat(field.toLowerCase() === "title" ? "hc-col-span-4 hc-text-balance hc-font-semibold" : field.toLowerCase() === "state" || field.toLowerCase() == "favorite" ? "hc-col-span-1" : "hc-col-span-2", "\n ")
|
|
29
29
|
}, /*#__PURE__*/React__default.createElement("span", {
|
|
30
30
|
className: "hc-sr-only"
|
|
31
31
|
}, capitalize(field)), value, /*#__PURE__*/React__default.createElement("br", null), specialFeaturePills(field));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-mapper-desktop.js","sources":["../../../../src/components/modules/list/field-mapper-desktop.jsx"],"sourcesContent":["import React from 'react';\nimport Grid from '~/components/modules/grid';\nimport PillWrapper from '~/components/modules/buttons/pill-wrapper';\nimport { capitalize } from '~/util/stringUtils';\n\nconst FieldMapperDesktop = ({\n\titem,\n\tfieldsShown,\n\tspecialFeatures\n}) => {\n\tconst orderedFields = fieldsShown.filter(field => field in item.fields);\n\n\tconst specialFeaturePills = field => {\n\t\treturn field === '
|
|
1
|
+
{"version":3,"file":"field-mapper-desktop.js","sources":["../../../../src/components/modules/list/field-mapper-desktop.jsx"],"sourcesContent":["import React from 'react';\nimport Grid from '~/components/modules/grid';\nimport PillWrapper from '~/components/modules/buttons/pill-wrapper';\nimport { capitalize } from '~/util/stringUtils';\n\nconst FieldMapperDesktop = ({\n\titem,\n\tfieldsShown,\n\tspecialFeatures\n}) => {\n\tconst orderedFields = fieldsShown.filter(field => field in item.fields);\n\n\tconst specialFeaturePills = field => {\n\t\treturn field === 'title' && specialFeatures &&\n Object.entries(specialFeatures).map(([featureKey, featureLabel]) => {\n \treturn item.fields[featureKey] == 1 && (\n \t\t<PillWrapper key={featureKey}>{featureLabel}</PillWrapper>\n \t);\n });\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{orderedFields.map((field, index) => {\n\t\t\t\tlet value = item.fields[field];\n\t\t\t\treturn (\n\t\t\t\t\t<Grid.Item\n\t\t\t\t\t\tkey={field}\n\t\t\t\t\t\tclassName={`\n hc-hidden md:hc-block hc-px-2\n ${index === 0 ? \"hc-pl-7\" : \"\"}\n ${field.toLowerCase() === \"title\" ? \"hc-col-span-4 hc-text-balance hc-font-semibold\" : (field.toLowerCase() === \"state\" || field.toLowerCase() == \"favorite\") ? \"hc-col-span-1\" : \"hc-col-span-2\"}\n `}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"hc-sr-only\">{capitalize(field)}</span>\n\t\t\t\t\t\t{value}\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t{specialFeaturePills(field)}\n\t\t\t\t\t</Grid.Item>\n\t\t\t\t);\n\t\t\t})}\n\t\t</>\n\t);\n};\n\nexport default FieldMapperDesktop;"],"names":["FieldMapperDesktop","_ref","item","fieldsShown","specialFeatures","orderedFields","filter","field","fields","specialFeaturePills","Object","entries","map","_ref2","_ref3","_slicedToArray","featureKey","featureLabel","React","createElement","PillWrapper","key","Fragment","index","value","Grid","Item","className","concat","toLowerCase","capitalize"],"mappings":";;;;;;AAKA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAIlB;AAAA,EAAA,IAHLC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,eAAe,GAAAH,IAAA,CAAfG,eAAe,CAAA;AAEf,EAAA,IAAMC,aAAa,GAAGF,WAAW,CAACG,MAAM,CAAC,UAAAC,KAAK,EAAA;AAAA,IAAA,OAAIA,KAAK,IAAIL,IAAI,CAACM,MAAM,CAAA;GAAC,CAAA,CAAA;AAEvE,EAAA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGF,KAAK,EAAI;AACpC,IAAA,OAAOA,KAAK,KAAK,OAAO,IAAIH,eAAe,IACvCM,MAAM,CAACC,OAAO,CAACP,eAAe,CAAC,CAACQ,GAAG,CAAC,UAAAC,KAAA,EAAgC;AAAA,MAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,KAAA,EAAA,CAAA,CAAA;AAA9BG,QAAAA,UAAU,GAAAF,KAAA,CAAA,CAAA,CAAA;AAAEG,QAAAA,YAAY,GAAAH,KAAA,CAAA,CAAA,CAAA,CAAA;AAC7D,MAAA,OAAOZ,IAAI,CAACM,MAAM,CAACQ,UAAU,CAAC,IAAI,CAAC,iBAClCE,cAAA,CAAAC,aAAA,CAACC,WAAW,EAAA;AAACC,QAAAA,GAAG,EAAEL,UAAAA;AAAW,OAAA,EAAEC,YAA0B,CACzD,CAAA;AACF,KAAC,CAAC,CAAA;GACN,CAAA;AAED,EAAA,oBACCC,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAI,QAAA,EAAA,IAAA,EACEjB,aAAa,CAACO,GAAG,CAAC,UAACL,KAAK,EAAEgB,KAAK,EAAK;AACpC,IAAA,IAAIC,KAAK,GAAGtB,IAAI,CAACM,MAAM,CAACD,KAAK,CAAC,CAAA;AAC9B,IAAA,oBACCW,cAAA,CAAAC,aAAA,CAACM,IAAI,CAACC,IAAI,EAAA;AACTL,MAAAA,GAAG,EAAEd,KAAM;AACXoB,MAAAA,SAAS,kEAAAC,MAAA,CAECL,KAAK,KAAK,CAAC,GAAG,SAAS,GAAG,EAAE,EAAA,kBAAA,CAAA,CAAAK,MAAA,CAC5BrB,KAAK,CAACsB,WAAW,EAAE,KAAK,OAAO,GAAG,gDAAgD,GAAItB,KAAK,CAACsB,WAAW,EAAE,KAAK,OAAO,IAAItB,KAAK,CAACsB,WAAW,EAAE,IAAI,UAAU,GAAI,eAAe,GAAG,eAAe,EAAA,gBAAA,CAAA;KAGzMX,eAAAA,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMQ,MAAAA,SAAS,EAAC,YAAA;AAAY,KAAA,EAAEG,UAAU,CAACvB,KAAK,CAAQ,CAAC,EACtDiB,KAAK,eACNN,cAAA,CAAAC,aAAA,WAAK,CAAC,EACLV,mBAAmB,CAACF,KAAK,CAChB,CAAC,CAAA;AAEd,GAAC,CACA,CAAC,CAAA;AAEL;;;;"}
|
|
@@ -13,7 +13,7 @@ var FieldMapperMobile = function FieldMapperMobile(_ref) {
|
|
|
13
13
|
_ref$includeFavorite = _ref.includeFavorite,
|
|
14
14
|
includeFavorite = _ref$includeFavorite === void 0 ? true : _ref$includeFavorite;
|
|
15
15
|
var specialFeaturePills = function specialFeaturePills(field) {
|
|
16
|
-
return field === '
|
|
16
|
+
return field === 'title' && specialFeatures && Object.entries(specialFeatures).map(function (_ref2) {
|
|
17
17
|
var _ref3 = _slicedToArray(_ref2, 2),
|
|
18
18
|
featureKey = _ref3[0],
|
|
19
19
|
featureLabel = _ref3[1];
|
|
@@ -24,13 +24,13 @@ var FieldMapperMobile = function FieldMapperMobile(_ref) {
|
|
|
24
24
|
};
|
|
25
25
|
return /*#__PURE__*/React__default.createElement(Grid.Item, {
|
|
26
26
|
className: "md:hc-hidden"
|
|
27
|
-
}, fieldsShown.includes("
|
|
27
|
+
}, fieldsShown.includes("title") && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
28
28
|
className: "hc-flex hc-items-start"
|
|
29
29
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
30
30
|
className: "hc-flex hc-justify-between hc-items-center hc-min-w-[100%]"
|
|
31
31
|
}, /*#__PURE__*/React__default.createElement("h3", {
|
|
32
32
|
className: "hc-font-bold hc-mb-3 hc-flex-1"
|
|
33
|
-
}, item.fields.
|
|
33
|
+
}, item.fields.title), includeFavorite && /*#__PURE__*/React__default.createElement("div", {
|
|
34
34
|
className: "hc-flex hc-justify-end hc-pb-2"
|
|
35
35
|
}, /*#__PURE__*/React__default.createElement(IconContained, {
|
|
36
36
|
icon: isFavorite ? "mdi:heart" : "mdi:heart-outline",
|
|
@@ -42,15 +42,15 @@ var FieldMapperMobile = function FieldMapperMobile(_ref) {
|
|
|
42
42
|
}
|
|
43
43
|
})))), specialFeatures && /*#__PURE__*/React__default.createElement("div", {
|
|
44
44
|
className: "hc-pb-4"
|
|
45
|
-
}, specialFeaturePills("
|
|
45
|
+
}, specialFeaturePills("title"), " ")), /*#__PURE__*/React__default.createElement("ul", {
|
|
46
46
|
className: "hc-space-y-2 hc-text-xs"
|
|
47
47
|
}, [{
|
|
48
|
-
field: "
|
|
49
|
-
name: "
|
|
48
|
+
field: "category",
|
|
49
|
+
name: "category",
|
|
50
50
|
icon: "icon-park-solid:tree-list"
|
|
51
51
|
}, {
|
|
52
|
-
field: "
|
|
53
|
-
name: "
|
|
52
|
+
field: "subCategory",
|
|
53
|
+
name: "subCategory",
|
|
54
54
|
icon: "icon-park-solid:tree-list"
|
|
55
55
|
}, {
|
|
56
56
|
field: "schedule",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-mapper-mobile.js","sources":["../../../../src/components/modules/list/field-mapper-mobile.jsx"],"sourcesContent":["import React from 'react';\nimport Grid from '~/components/modules/grid';\nimport Icon from '~/components/modules/icon';\nimport PillWrapper from '~/components/modules/buttons/pill-wrapper';\n\nconst FieldMapperMobile = ({\n\titem,\n\tfieldsShown,\n\tspecialFeatures,\n\thandleFavouriteClick,\n\tisFavorite,\n\tincludeFavorite = true\n}) => {\n\tconst specialFeaturePills = field => {\n\t\treturn field === '
|
|
1
|
+
{"version":3,"file":"field-mapper-mobile.js","sources":["../../../../src/components/modules/list/field-mapper-mobile.jsx"],"sourcesContent":["import React from 'react';\nimport Grid from '~/components/modules/grid';\nimport Icon from '~/components/modules/icon';\nimport PillWrapper from '~/components/modules/buttons/pill-wrapper';\n\nconst FieldMapperMobile = ({\n\titem,\n\tfieldsShown,\n\tspecialFeatures,\n\thandleFavouriteClick,\n\tisFavorite,\n\tincludeFavorite = true\n}) => {\n\tconst specialFeaturePills = field => {\n\t\treturn field === 'title' && specialFeatures &&\n Object.entries(specialFeatures).map(([featureKey, featureLabel]) => {\n \treturn item.fields[featureKey] == 1 && (\n \t\t<PillWrapper key={featureKey}>{featureLabel}</PillWrapper>\n \t);\n });\n\t};\n\n\treturn (\n\t\t<Grid.Item className=\"md:hc-hidden\">\n\t\t\t{fieldsShown.includes(\"title\") &&\n <>\n \t<div className=\"hc-flex hc-items-start\">\n \t\t<div className=\"hc-flex hc-justify-between hc-items-center hc-min-w-[100%]\">\n \t\t\t<h3 className=\"hc-font-bold hc-mb-3 hc-flex-1\">{item.fields.title}</h3>\n \t\t\t{includeFavorite && <div className=\"hc-flex hc-justify-end hc-pb-2\">\n \t\t\t\t<Icon\n \t\t\t\t\ticon={isFavorite ? \"mdi:heart\" : \"mdi:heart-outline\"}\n \t\t\t\t\tsize=\"hc-size-3.5\"\n \t\t\t\t\ticonClasses={isFavorite ? \"hc-text-primary\" : \"\"}\n \t\t\t\t\tclassName={`hc-transition-opacity hc-duration-300 hc-cursor-pointer\n ${isFavorite ? \"hc-opacity-100\" : \"hc-text-uiText/60 group-hover:hc-opacity-100\"}\n `}\n \t\t\t\t\tonClick={e => handleFavouriteClick(e, item)}\n \t\t\t\t/>\n \t\t\t</div>\n \t\t\t}\n \t\t</div>\n \t</div>\n \t{specialFeatures && <div className='hc-pb-4'>{specialFeaturePills(\"title\", true)} </div>}\n </>\n\t\t\t}\n\n\t\t\t<ul className=\"hc-space-y-2 hc-text-xs\">\n\t\t\t\t{[\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: \"category\",\n\t\t\t\t\t\tname: \"category\",\n\t\t\t\t\t\ticon: \"icon-park-solid:tree-list\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: \"subCategory\",\n\t\t\t\t\t\tname: \"subCategory\",\n\t\t\t\t\t\ticon: \"icon-park-solid:tree-list\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: \"schedule\",\n\t\t\t\t\t\tname: \"Schedule\",\n\t\t\t\t\t\ticon: \"gravity-ui:clock-fill\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: \"city\",\n\t\t\t\t\t\tname: \"Location\",\n\t\t\t\t\t\ticon: \"fluent:location-16-filled\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: \"state\",\n\t\t\t\t\t\tname: \"Location\",\n\t\t\t\t\t\ticon: \"fluent:location-16-filled\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: \"cityState\",\n\t\t\t\t\t\tname: \"Location\",\n\t\t\t\t\t\ticon: \"fluent:location-16-filled\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: \"travelTime\",\n\t\t\t\t\t\tname: \"Commute\",\n\t\t\t\t\t\ticon: \"ri:pin-distance-fill\"\n\t\t\t\t\t}\n\t\t\t\t].map(listItem => (\n\t\t\t\t\t(fieldsShown.includes(listItem.field) && item.fields[listItem.field]) &&\n <li\n \tkey={listItem.field}\n \tclassName=\"hc-flex hc-gap-2\"\n >\n \t<Icon\n \t\ticon={listItem.icon}\n \t\tsize=\"hc-size-3.5\"\n \t\tclassName=\"hc-text-uiAccent/30\"\n \t/>\n \t<span className=\"hc-sr-only\">{listItem.name}</span>\n \t{item.fields[listItem.field]}\n </li>\n\t\t\t\t))}\n\t\t\t</ul>\n\t\t</Grid.Item>\n\t);\n};\n\nexport default FieldMapperMobile;"],"names":["FieldMapperMobile","_ref","item","fieldsShown","specialFeatures","handleFavouriteClick","isFavorite","_ref$includeFavorite","includeFavorite","specialFeaturePills","field","Object","entries","map","_ref2","_ref3","_slicedToArray","featureKey","featureLabel","fields","React","createElement","PillWrapper","key","Grid","Item","className","includes","Fragment","title","Icon","icon","size","iconClasses","concat","onClick","e","name","listItem"],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ var HeaderItem = function HeaderItem(_ref) {
|
|
|
42
42
|
},
|
|
43
43
|
variant: "none",
|
|
44
44
|
size: "none",
|
|
45
|
-
className: "\n\t\t\t\thc-p-2 hc-rounded-none hc-text-left hc-normal-case hover:hc-bg-uiAccent/5 focus:hc-bg-uiAccent/5\n\t\t\t\t".concat(field.toLowerCase() === "
|
|
45
|
+
className: "\n\t\t\t\thc-p-2 hc-rounded-none hc-text-left hc-normal-case hover:hc-bg-uiAccent/5 focus:hc-bg-uiAccent/5\n\t\t\t\t".concat(field.toLowerCase() === "title" ? "hc-pl-7 hc-col-span-4" : field.toLowerCase() === "state" || field.toLowerCase() == "favorite" ? "hc-col-span-1" : "hc-col-span-2", "\n\t\t\t\t").concat(className !== null && className !== void 0 ? className : "", "\n\t\t\t")
|
|
46
46
|
}, rest), /*#__PURE__*/React__default.createElement(Button.Body, null, /*#__PURE__*/React__default.createElement("span", {
|
|
47
47
|
className: "hc-font-semibold"
|
|
48
48
|
}, children), isSortable && /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-item.js","sources":["../../../../src/components/modules/list/header-item.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\n\nimport Button from '~/components/modules/buttons/default';\n\nconst SORT_STATE = {\n\tnotSorted: \"not-sorted\",\n\tsortedAsc: \"sorted-asc\",\n\tsortedDesc: \"sorted-desc\"\n};\n\nconst HeaderItem = ({\n\tclassName,\n\tchildren,\n\tfield,\n\tsetSortSetting,\n\tsortSetting,\n\tisSortable,\n\t...rest\n}) => {\n\tconst [isSorted, setIsSorted] = useState(SORT_STATE.notSorted);\n\n\tconst handleChange = field => {\n\t\tif (isSortable === false)\n\t\t\treturn;\n\t\tlet setting = {\n\t\t\tfield: field,\n\t\t\ttype: isSorted === SORT_STATE.sortedAsc ? \"desc\" : \"asc\"\n\t\t};\n\t\tsetSortSetting(setting);\n\t\tisSorted === SORT_STATE.notSorted\n\t\t\t? setIsSorted(SORT_STATE.sortedAsc)\n\t\t\t: isSorted === SORT_STATE.sortedAsc\n\t\t\t\t? setIsSorted(SORT_STATE.sortedDesc)\n\t\t\t\t: setIsSorted(SORT_STATE.sortedAsc);\n\t};\n\n\tuseEffect(() => {\n\t\tif (sortSetting?.field != null && sortSetting.field != field) {\n\t\t\tsetIsSorted(SORT_STATE.notSorted);\n\t\t} else if (\n\t\t\tsortSetting?.field != null &&\n\t\t\tisSorted == SORT_STATE.notSorted &&\n\t\t\tsortSetting.field == field\n\t\t) {\n\t\t\tsetIsSorted(\n\t\t\t\tsortSetting.type == \"asc\"\n\t\t\t\t\t? SORT_STATE.sortedAsc\n\t\t\t\t\t: SORT_STATE.sortedDesc\n\t\t\t);\n\t\t}\n\t}, [sortSetting, isSorted, field]);\n\n\treturn (\n\t\t<Button.Btn\n\t\t\tonClick={() => handleChange(field)}\n\t\t\tvariant=\"none\"\n\t\t\tsize=\"none\"\n\t\t\tclassName={`\n\t\t\t\thc-p-2 hc-rounded-none hc-text-left hc-normal-case hover:hc-bg-uiAccent/5 focus:hc-bg-uiAccent/5\n\t\t\t\t${field.toLowerCase() === \"
|
|
1
|
+
{"version":3,"file":"header-item.js","sources":["../../../../src/components/modules/list/header-item.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\n\nimport Button from '~/components/modules/buttons/default';\n\nconst SORT_STATE = {\n\tnotSorted: \"not-sorted\",\n\tsortedAsc: \"sorted-asc\",\n\tsortedDesc: \"sorted-desc\"\n};\n\nconst HeaderItem = ({\n\tclassName,\n\tchildren,\n\tfield,\n\tsetSortSetting,\n\tsortSetting,\n\tisSortable,\n\t...rest\n}) => {\n\tconst [isSorted, setIsSorted] = useState(SORT_STATE.notSorted);\n\n\tconst handleChange = field => {\n\t\tif (isSortable === false)\n\t\t\treturn;\n\t\tlet setting = {\n\t\t\tfield: field,\n\t\t\ttype: isSorted === SORT_STATE.sortedAsc ? \"desc\" : \"asc\"\n\t\t};\n\t\tsetSortSetting(setting);\n\t\tisSorted === SORT_STATE.notSorted\n\t\t\t? setIsSorted(SORT_STATE.sortedAsc)\n\t\t\t: isSorted === SORT_STATE.sortedAsc\n\t\t\t\t? setIsSorted(SORT_STATE.sortedDesc)\n\t\t\t\t: setIsSorted(SORT_STATE.sortedAsc);\n\t};\n\n\tuseEffect(() => {\n\t\tif (sortSetting?.field != null && sortSetting.field != field) {\n\t\t\tsetIsSorted(SORT_STATE.notSorted);\n\t\t} else if (\n\t\t\tsortSetting?.field != null &&\n\t\t\tisSorted == SORT_STATE.notSorted &&\n\t\t\tsortSetting.field == field\n\t\t) {\n\t\t\tsetIsSorted(\n\t\t\t\tsortSetting.type == \"asc\"\n\t\t\t\t\t? SORT_STATE.sortedAsc\n\t\t\t\t\t: SORT_STATE.sortedDesc\n\t\t\t);\n\t\t}\n\t}, [sortSetting, isSorted, field]);\n\n\treturn (\n\t\t<Button.Btn\n\t\t\tonClick={() => handleChange(field)}\n\t\t\tvariant=\"none\"\n\t\t\tsize=\"none\"\n\t\t\tclassName={`\n\t\t\t\thc-p-2 hc-rounded-none hc-text-left hc-normal-case hover:hc-bg-uiAccent/5 focus:hc-bg-uiAccent/5\n\t\t\t\t${field.toLowerCase() === \"title\" ? \"hc-pl-7 hc-col-span-4\" : (field.toLowerCase() === \"state\" || field.toLowerCase() == \"favorite\") ? \"hc-col-span-1\" : \"hc-col-span-2\"}\n\t\t\t\t${className ?? \"\"}\n\t\t\t`}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<Button.Body>\n\t\t\t\t<span className=\"hc-font-semibold\">{children}</span>\n\t\t\t\t{isSortable && (\n\t\t\t\t\t<div className=\"hc-flex hc-flex-col hc-pr-2\">\n\t\t\t\t\t\t<Button.Icon\n\t\t\t\t\t\t\ticon=\"bi:caret-up-fill\"\n\t\t\t\t\t\t\tsize=\"hc-size-2.5\"\n\t\t\t\t\t\t\tclassName={`\n\t\t\t\t\t\t\thc-transition-opacity\n\t\t\t\t\t\t\t\t${isSorted === \"sorted-asc\" ? \"hc-opacity-100 hc-text-primary\" : \"hc-opacity-30\"}\n\t\t\t\t\t\t\t`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button.Icon\n\t\t\t\t\t\t\ticon=\"bi:caret-down-fill\"\n\t\t\t\t\t\t\tsize=\"hc-size-2.5\"\n\t\t\t\t\t\t\tclassName={`\n\t\t\t\t\t\t\t\ttransition-opacity\n\t\t\t\t\t\t\t\t${isSorted === \"sorted-desc\" ? \"hc-opacity-100\" : \"hc-opacity-30\"}\n\t\t\t\t\t\t\t`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Button.Body>\n\t\t</Button.Btn>\n\t);\n};\n\nexport default HeaderItem;\n"],"names":["SORT_STATE","notSorted","sortedAsc","sortedDesc","HeaderItem","_ref","className","children","field","setSortSetting","sortSetting","isSortable","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSorted","setIsSorted","handleChange","setting","type","useEffect","React","createElement","Button","Btn","_extends","onClick","variant","size","concat","toLowerCase","Body","Icon","icon"],"mappings":"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"}
|
|
@@ -61,23 +61,25 @@ const MapListProvider = ({ children, siteConfig, resetFilters, navigateToDetails
|
|
|
61
61
|
if (!commuteLocation)
|
|
62
62
|
return;
|
|
63
63
|
async function fetchEntities() {
|
|
64
|
-
const distinctEntityIds = [
|
|
65
|
-
...new Set(allListings.map(listing => listing.entityId ?? -1))
|
|
66
|
-
];
|
|
67
64
|
try {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
let fetchedEntities;
|
|
66
|
+
if (getListingEntitiesCallback) {
|
|
67
|
+
fetchedEntities = await getListingEntitiesCallback(`${commuteLocation.lat}, ${commuteLocation.lng}`);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
fetchedEntities = await getListingEntities(`${commuteLocation.lat}, ${commuteLocation.lng}`);
|
|
71
|
+
}
|
|
71
72
|
setListingEntities(fetchedEntities);
|
|
72
|
-
|
|
73
|
+
// Update travelTime on listings
|
|
74
|
+
const newFilteredListings = [...filteredListings];
|
|
73
75
|
for (let i = 0; i < allListings.length; i++) {
|
|
74
76
|
const listing = newFilteredListings[i];
|
|
75
77
|
if (listing &&
|
|
76
78
|
listing.fields &&
|
|
77
|
-
listing.
|
|
78
|
-
listing.
|
|
79
|
-
const
|
|
80
|
-
const travelTime = fetchedEntities[
|
|
79
|
+
listing.fields.entityKey &&
|
|
80
|
+
listing.fields.entityKey !== '') {
|
|
81
|
+
const entityKey = listing.fields.entityKey;
|
|
82
|
+
const travelTime = fetchedEntities[entityKey]?.travelTime;
|
|
81
83
|
if (travelTime !== undefined && listing.fields) {
|
|
82
84
|
listing.fields.travelTime = travelTime;
|
|
83
85
|
}
|
|
@@ -89,14 +91,14 @@ const MapListProvider = ({ children, siteConfig, resetFilters, navigateToDetails
|
|
|
89
91
|
}
|
|
90
92
|
}
|
|
91
93
|
fetchEntities();
|
|
92
|
-
}, [commuteLocation, allListings, siteConfig.companyId]);
|
|
94
|
+
}, [commuteLocation, allListings, siteConfig.companyId, getListingEntitiesCallback]);
|
|
93
95
|
useEffect(() => {
|
|
94
96
|
const handleFetchListings = async () => {
|
|
95
|
-
if (!getStorageObject('listings')
|
|
97
|
+
if (!(getStorageObject('listings', []) || []).length) {
|
|
96
98
|
setLoading(true);
|
|
97
99
|
}
|
|
98
100
|
try {
|
|
99
|
-
const { listingsResult,
|
|
101
|
+
const { listingsResult, entitiesByKey, distinctItems } = await fetchListings(commuteLocation, entities, listings, getListingEntitiesCallback);
|
|
100
102
|
if (defaultFilters) {
|
|
101
103
|
const filteredListings = listingsResult.filter(listing => {
|
|
102
104
|
if (!listing.fields)
|
|
@@ -112,7 +114,7 @@ const MapListProvider = ({ children, siteConfig, resetFilters, navigateToDetails
|
|
|
112
114
|
else {
|
|
113
115
|
setAllListings(listingsResult);
|
|
114
116
|
}
|
|
115
|
-
setListingEntities(
|
|
117
|
+
setListingEntities(entitiesByKey);
|
|
116
118
|
setMapItems(distinctItems);
|
|
117
119
|
}
|
|
118
120
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapListContext.js","sources":["../../src/contexts/mapListContext.tsx"],"sourcesContent":["import React, { createContext, useState, useEffect, useContext, ReactNode } from 'react';\n\nimport { generateFilterOptions, applyFilters, filterListingsByLocation } from '~/util/filterUtil';\nimport { getStorageObject, setStorageObject } from '~/util/localStorageUtil';\nimport { updateURLWithFilters, filtersFromURL } from '~/util/urlFilterUtil';\n\nimport { getListingEntities } from \"~/services/listingEntityService\";\nimport fetchListings from '~/services/listingAggregatorService';\n\nimport { Listing } from '~/types/Listings';\nimport { ListingEntity } from '~/types/ListingEntity';\nimport { Recruiter } from '~/types/Recruiter';\nimport { MapConfig, MapConfig as SiteConfig } from '~/types/config/MapConfig';\nimport { get } from 'http';\n\ninterface MapListContextProps {\n loading: boolean;\n allListings: Listing[];\n filteredListings: Listing[];\n mapItems: any;\n query: string | null;\n setNewFilteredListings: (filteredListings: Listing[]) => void;\n setQuery: (query: string | null) => void;\n listingEntities: Record<number, ListingEntity> | null;\n selectedFilters: Record<string, any>;\n setSelectedFilters: (filters: Record<string, any>) => void;\n filterOptions: any;\n recruiters: Record<number, Recruiter>;\n handleFilterListingsByLocation: (selectedLocation: any) => void;\n filterDialogIsOpen: boolean;\n setFilterDialogIsOpen: (isOpen: boolean) => void;\n setMobileTab: (tab: string) => void;\n mobileTab: string;\n siteConfig: SiteConfig;\n favorites: number[];\n resetEntityFilter: () => void;\n handleSettingFavorites: (favorites: number[] | null) => void;\n setFilterByFavorites: (filter: boolean) => void;\n filterByFavorites: boolean;\n commuteLocation: any | null;\n setCommuteLocation: (location: any | null) => void;\n navigateToDetails: (id: number) => void;\n navigateToEasyApply: (id: number) => void;\n Link: React.ComponentType<any>;\n linkFormat: string;\n easyApplyUrl: string;\n easyApplyText: string;\n\tisIframe: boolean;\n sortSetting: { field: string; type: string };\n setSortSetting: (setting: { field: string; type: string }) => void;\n trackEvent: (event: string) => void;\n defaultFilters?: Record<string, any>;\n hiddenFilters?: string[];\n containerStyle?: any;\n ExpandListComponent?: React.ComponentType<{ listing: any }> | ((listing: any) => JSX.Element) | null;\n}\n\nconst MapListContext = createContext<MapListContextProps | undefined>(undefined);\n\nexport const useMapList = () => {\n\tconst context = useContext(MapListContext);\n\tif (!context) {\n\t\tthrow new Error('useMapList must be used within a MapListProvider');\n\t}\n\treturn context;\n};\n\nconst getQuery = (): string | null => {\n\tlet query: string | null = null;\n\tif (typeof window !== 'undefined') {\n\t\tquery = localStorage.getItem('query');\n\t}\n\treturn query;\n};\n\ninterface MapListProviderProps {\n children: ReactNode;\n siteConfig: MapConfig;\n resetFilters: boolean;\n navigateToDetails: (id: number) => void;\n navigateToEasyApply: (id: number) => void;\n Link: React.ComponentType<any>;\n linkFormat: string;\n easyApplyUrl: string;\n easyApplyText: string;\n\tisIframe: boolean;\n trackEvent: (event: string) => void;\n listings?: Listing[];\n\tentities?: ListingEntity[];\n setFiltersUrl?:boolean;\n hiddenFilters?: string[];\n handleUrlUpdate: (searchParams: string) => void;\n defaultFilters?: Record<string, any>;\n containerStyle?: any;\n\tlocalStorageKey: string;\n\tgetListingEntitiesCallback?: (entityIds: number[], origin?: string) => Promise<ListingEntity[]>;\n ExpandListComponent?: React.ComponentType<{ listing: Listing }> | ((listing: Listing) => JSX.Element) | null;\n}\n\nexport const MapListProvider: React.FC<MapListProviderProps> = ({\n\tchildren,\n\tsiteConfig,\n\tresetFilters,\n\tnavigateToDetails,\n\tnavigateToEasyApply,\n\tLink,\n\tlinkFormat,\n\teasyApplyUrl,\n\teasyApplyText,\n\tisIframe,\n\ttrackEvent,\n\tlistings = [],\n\tentities = [],\n\tsetFiltersUrl,\n\thiddenFilters,\n\thandleUrlUpdate,\n\tdefaultFilters,\n\tcontainerStyle,\n\tExpandListComponent,\n\tgetListingEntitiesCallback,\n\tlocalStorageKey\n}) => {\n\tconst firstLoadFilters = () =>{\n\t\tlet urlFilters = filtersFromURL(window.location)?.filters;\n\t\treturn (setFiltersUrl === true && urlFilters && Object.keys(urlFilters).length > 0) ? urlFilters : getStorageObject(localStorageKey + 'selectedFilters', {}) || {}\n\t}\n\tconst [allListings, setAllListings] = useState<Listing[]>([]);\n\tconst [filteredListings, setFilteredListings] = useState<Listing[]>([]);\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [mapItems, setMapItems] = useState<any>(getStorageObject('mapItems', []) || []);\n\tconst [query, setQuery] = useState<string | null>(() => resetFilters ? null : getQuery());\n\tconst [sortSetting, setSortSetting] = useState<{ field: string; type: string }>(getStorageObject('sortSetting', { field: 'position', type: 'asc' }) || { field: 'position', type: 'asc' });\n\tconst [listingEntities, setListingEntities] = useState<Record<number, ListingEntity> | null>({});\n\tconst [firstLoad, setFirstLoad] = useState<boolean>(true);\n\tconst [commuteLocation, setCommuteLocation] = useState<any | null>(getStorageObject('commuteLocation'));\n\tconst [selectedFilters, setSelectedFilters] = useState<Record<string, any>>(() => resetFilters ? {} : firstLoadFilters());\n\tconst [filterOptions, setFilterOptions] = useState<any>();\n\tconst [recruiters, setRecruiters] = useState<Record<number, Recruiter>>({});\n\tconst [filterDialogIsOpen, setFilterDialogIsOpen] = useState<boolean>(false);\n\tconst [mobileTab, setMobileTab] = useState<string>(\"listTab\");\n\tconst [favorites, setFavorites] = useState<number[]>([]);\n\tconst [filterByFavorites, setFilterByFavorites] = useState<boolean>(false);\n\n\tconst setNewFilteredListings = (filteredListings: Listing[]) => {\n\t\tsetFilteredListings(filteredListings);\n\t};\n\n\tuseEffect(() => {\n\t\tif (!sortSetting) return;\n\t\tlocalStorage.setItem('sortSetting', JSON.stringify(sortSetting));\n\t\tsetNewFilteredListings(filteredListings);\n\t}, [sortSetting]);\n\n\tuseEffect(() => {\n\t\tconst loadedFavorites = JSON.parse(localStorage.getItem('favorites') || '[]');\n\t\tsetFavorites(loadedFavorites);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetStorageObject(\"commuteLocation\", commuteLocation);\n\t}, [commuteLocation]);\n\n\tuseEffect(() => {\n\t\tif (!commuteLocation) return;\n\n\t\tasync function fetchEntities() {\n\t\t\tconst distinctEntityIds = [\n\t\t\t\t...new Set(allListings.map(listing => listing.entityId ?? -1))\n\t\t\t];\n\t\t\ttry {\n\t\t\t\tconsole.log(getListingEntitiesCallback);\n\t\t\t\tconsole.log(\"fetching entities\")\n\t\t\t\tconst fetchedEntities = getListingEntitiesCallback !== null && getListingEntitiesCallback !== undefined ? await getListingEntitiesCallback(distinctEntityIds,\n\t\t\t\t\t`${commuteLocation.lat}, ${commuteLocation.lng}`) : 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\tconst newFilteredListings: Listing[] = [...filteredListings] ?? [];\n\t\t\t\tfor (let i = 0; i < allListings.length; i++) {\n\t\t\t\t\tconst listing = newFilteredListings[i];\n\t\t\t\t\tif (\n\t\t\t\t\t\tlisting &&\n\t\t\t\t\t\tlisting.fields &&\n\t\t\t\t\t\tlisting.entityId !== undefined &&\n\t\t\t\t\t\tlisting.entityId !== -1\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst entityId = listing.entityId;\n\t\t\t\t\t\tconst travelTime = fetchedEntities[entityId]?.travelTime;\n\n\t\t\t\t\t\tif (travelTime !== undefined && listing.fields) {\n\t\t\t\t\t\t\tlisting.fields.travelTime = travelTime;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\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) {\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\tfetchedEntities,\n\t\t\t\t\tdistinctItems\n\t\t\t\t} = await fetchListings(commuteLocation, entities, listings, getListingEntitiesCallback);\n\t\t\t\tif (defaultFilters) {\n\t\t\t\t\tconst filteredListings = listingsResult.filter(listing => {\n\t\t\t\t\tif (!listing.fields) return false;\n\n\t\t\t\t\treturn Object.keys(defaultFilters).every(filterKey => {\n\t\t\t\t\t\tconst filterValues = defaultFilters[filterKey as keyof typeof defaultFilters];\n\t\t\t\t\t\tconst listingValue = listing.fields ? listing.fields[filterKey as keyof typeof listing.fields] : null;\n\t\t\t\t\t\treturn filterValues.includes(listingValue);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tsetAllListings(filteredListings);\n\t\t\t} else {\n\t\t\t\tsetAllListings(listingsResult);\n\t\t\t}\n\t\t\t\tsetListingEntities(fetchedEntities);\n\t\t\t\tsetMapItems(distinctItems);\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, commuteLocation]);\n\n\tuseEffect(() => {\n\t\tconst processListings = () => {\n\t\t\tlet filteredListings: Listing[];\n\t\t\tlet tempSelectedFilters = selectedFilters;\n\t\t\tlet tempQuery = query;\n\n\t\t\tconst { mapItems, filteredListings: tempFilteredListings } = applyFilters(\n\t\t\t\tallListings,\n\t\t\t\ttempSelectedFilters,\n\t\t\t\ttempQuery,\n\t\t\t\tlistingEntities,\n\t\t\t\tfavorites,\n\t\t\t\tsiteConfig\n\t\t\t);\n\t\t\tfilteredListings = tempFilteredListings;\n\n\t\t\tif (filterByFavorites) {\n\t\t\t\tfilteredListings = filteredListings.filter((x: Listing) => favorites.includes(x.id));\n\t\t\t}\n\t\t\tsetNewFilteredListings(filteredListings);\n\t\t\tif (firstLoad && tempSelectedFilters) {\n\t\t\t\t// Update URL with filters if needed\n\t\t\t} else if (Object.keys(tempSelectedFilters).length === 0 && !firstLoad) {\n\t\t\t\tlocalStorage.removeItem('selectedFilters');\n\t\t\t} else if (!firstLoad) {\n\t\t\t\tsetStorageObject(localStorageKey + 'selectedFilters', tempSelectedFilters);\n\t\t\t}\n\t\t\tif(setFiltersUrl === true)\n\t\t\t{\n\t\t\t\tupdateURLWithFilters(tempSelectedFilters, window.location, tempQuery, handleUrlUpdate);\n\t\t\t}\n\t\t\ttempQuery != null ? localStorage.setItem('query', tempQuery) : localStorage.removeItem('query');\n\t\t\tsetMapItems(mapItems);\n\n\t\t\tif (tempSelectedFilters) {\n\t\t\t\tconst keys = Object.keys(tempSelectedFilters);\n\t\t\t\tconst lastKey = keys[keys.length - 1];\n\t\t\t\tconst options = generateFilterOptions(\n\t\t\t\t\tfilteredListings,\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\ttempSelectedFilters\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: any) => {\n\t\tconst { filteredListings } = filterListingsByLocation(\n\t\t\tallListings,\n\t\t\tselectedLocation,\n\t\t\tlistingEntities\n\t\t);\n\t\tsetNewFilteredListings(filteredListings);\n\t};\n\n\tconst resetEntityFilter = () => {\n\t\tlet newFilters = {...selectedFilters};\n\t\tdelete newFilters.entityId;\n\t\tsetSelectedFilters(newFilters);\n\t}\n\n\tconst handleSettingFavorites = (newFavorites: number[] | null) => {\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\tsetNewFilteredListings,\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\tresetEntityFilter,\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\tlinkFormat,\n\t\t\teasyApplyUrl,\n\t\t\teasyApplyText,\n\t\t\tisIframe,\n\t\t\tsortSetting,\n\t\t\tsetSortSetting,\n\t\t\ttrackEvent,\n\t\t\tdefaultFilters,\n\t\t\thiddenFilters,\n\t\t\tcontainerStyle,\n\t\t\tExpandListComponent\n\t\t}}>\n\t\t\t{children}\n\t\t</MapListContext.Provider>\n\t);\n};\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mapListContext.js","sources":["../../src/contexts/mapListContext.tsx"],"sourcesContent":["import React, { createContext, useState, useEffect, useContext, ReactNode } from 'react';\n\nimport { generateFilterOptions, applyFilters, filterListingsByLocation } from '~/util/filterUtil';\nimport { getStorageObject, setStorageObject } from '~/util/localStorageUtil';\nimport { updateURLWithFilters, filtersFromURL } from '~/util/urlFilterUtil';\n\nimport { getListingEntities } from \"~/services/listingEntityService\";\nimport fetchListings from '~/services/listingAggregatorService';\n\nimport { Listing } from '~/types/Listings';\nimport { ListingEntity } from '~/types/ListingEntity';\nimport { Recruiter } from '~/types/Recruiter';\nimport { MapConfig, MapConfig as SiteConfig } from '~/types/config/MapConfig';\nimport { get } from 'http';\n\ninterface MapListContextProps {\n loading: boolean;\n allListings: Listing[];\n filteredListings: Listing[];\n mapItems: any;\n query: string | null;\n setNewFilteredListings: (filteredListings: Listing[]) => void;\n setQuery: (query: string | null) => void;\n listingEntities: Record<number, ListingEntity> | null;\n selectedFilters: Record<string, any>;\n setSelectedFilters: (filters: Record<string, any>) => void;\n filterOptions: any;\n recruiters: Record<number, Recruiter>;\n handleFilterListingsByLocation: (selectedLocation: any) => void;\n filterDialogIsOpen: boolean;\n setFilterDialogIsOpen: (isOpen: boolean) => void;\n setMobileTab: (tab: string) => void;\n mobileTab: string;\n siteConfig: SiteConfig;\n favorites: number[];\n resetEntityFilter: () => void;\n handleSettingFavorites: (favorites: number[] | null) => void;\n setFilterByFavorites: (filter: boolean) => void;\n filterByFavorites: boolean;\n commuteLocation: any | null;\n setCommuteLocation: (location: any | null) => void;\n navigateToDetails: (id: number) => void;\n navigateToEasyApply: (id: number) => void;\n Link: React.ComponentType<any>;\n linkFormat: string;\n easyApplyUrl: string;\n easyApplyText: string;\n\tisIframe: boolean;\n sortSetting: { field: string; type: string };\n setSortSetting: (setting: { field: string; type: string }) => void;\n trackEvent: (event: string) => void;\n defaultFilters?: Record<string, any>;\n hiddenFilters?: string[];\n containerStyle?: any;\n ExpandListComponent?: React.ComponentType<{ listing: any }> | ((listing: any) => JSX.Element) | null;\n}\n\nconst MapListContext = createContext<MapListContextProps | undefined>(undefined);\n\nexport const useMapList = () => {\n\tconst context = useContext(MapListContext);\n\tif (!context) {\n\t\tthrow new Error('useMapList must be used within a MapListProvider');\n\t}\n\treturn context;\n};\n\nconst getQuery = (): string | null => {\n\tlet query: string | null = null;\n\tif (typeof window !== 'undefined') {\n\t\tquery = localStorage.getItem('query');\n\t}\n\treturn query;\n};\n\ninterface MapListProviderProps {\n children: ReactNode;\n siteConfig: MapConfig;\n resetFilters: boolean;\n navigateToDetails: (id: number) => void;\n navigateToEasyApply: (id: number) => void;\n Link: React.ComponentType<any>;\n linkFormat: string;\n easyApplyUrl: string;\n easyApplyText: string;\n\tisIframe: boolean;\n trackEvent: (event: string) => void;\n listings?: Listing[];\n\tentities?: ListingEntity[];\n setFiltersUrl?:boolean;\n hiddenFilters?: string[];\n handleUrlUpdate: (searchParams: string) => void;\n defaultFilters?: Record<string, any>;\n containerStyle?: any;\n\tlocalStorageKey: string;\n\tgetListingEntitiesCallback?: (origin?: string) => Promise<any>;\n ExpandListComponent?: React.ComponentType<{ listing: Listing }> | ((listing: Listing) => JSX.Element) | null;\n}\n\nexport const MapListProvider: React.FC<MapListProviderProps> = ({\n\tchildren,\n\tsiteConfig,\n\tresetFilters,\n\tnavigateToDetails,\n\tnavigateToEasyApply,\n\tLink,\n\tlinkFormat,\n\teasyApplyUrl,\n\teasyApplyText,\n\tisIframe,\n\ttrackEvent,\n\tlistings = [],\n\tentities = [],\n\tsetFiltersUrl,\n\thiddenFilters,\n\thandleUrlUpdate,\n\tdefaultFilters,\n\tcontainerStyle,\n\tExpandListComponent,\n\tgetListingEntitiesCallback,\n\tlocalStorageKey\n}) => {\n\tconst firstLoadFilters = () =>{\n\t\tlet urlFilters = filtersFromURL(window.location)?.filters;\n\t\treturn (setFiltersUrl === true && urlFilters && Object.keys(urlFilters).length > 0) ? urlFilters : getStorageObject(localStorageKey + 'selectedFilters', {}) || {}\n\t}\n\tconst [allListings, setAllListings] = useState<Listing[]>([]);\n\tconst [filteredListings, setFilteredListings] = useState<Listing[]>([]);\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [mapItems, setMapItems] = useState<any>(getStorageObject('mapItems', []) || []);\n\tconst [query, setQuery] = useState<string | null>(() => resetFilters ? null : getQuery());\n\tconst [sortSetting, setSortSetting] = useState<{ field: string; type: string }>(getStorageObject('sortSetting', { field: 'position', type: 'asc' }) || { field: 'position', type: 'asc' });\n\tconst [listingEntities, setListingEntities] = useState<Record<number, ListingEntity> | null>({});\n\tconst [firstLoad, setFirstLoad] = useState<boolean>(true);\n\tconst [commuteLocation, setCommuteLocation] = useState<any | null>(getStorageObject('commuteLocation'));\n\tconst [selectedFilters, setSelectedFilters] = useState<Record<string, any>>(() => resetFilters ? {} : firstLoadFilters());\n\tconst [filterOptions, setFilterOptions] = useState<any>();\n\tconst [recruiters, setRecruiters] = useState<Record<number, Recruiter>>({});\n\tconst [filterDialogIsOpen, setFilterDialogIsOpen] = useState<boolean>(false);\n\tconst [mobileTab, setMobileTab] = useState<string>(\"listTab\");\n\tconst [favorites, setFavorites] = useState<number[]>([]);\n\tconst [filterByFavorites, setFilterByFavorites] = useState<boolean>(false);\n\n\tconst setNewFilteredListings = (filteredListings: Listing[]) => {\n\t\tsetFilteredListings(filteredListings);\n\t};\n\n\tuseEffect(() => {\n\t\tif (!sortSetting) return;\n\t\tlocalStorage.setItem('sortSetting', JSON.stringify(sortSetting));\n\t\tsetNewFilteredListings(filteredListings);\n\t}, [sortSetting]);\n\n\tuseEffect(() => {\n\t\tconst loadedFavorites = JSON.parse(localStorage.getItem('favorites') || '[]');\n\t\tsetFavorites(loadedFavorites);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetStorageObject(\"commuteLocation\", commuteLocation);\n\t}, [commuteLocation]);\n\n\n\tuseEffect(() => {\n\t\tif (!commuteLocation) return;\n\n\t\tasync function fetchEntities() {\n\t\t\ttry {\n\t\t\t\tlet fetchedEntities;\n\t\t\t\tif (getListingEntitiesCallback) {\n\t\t\t\t\tfetchedEntities = await getListingEntitiesCallback(`${commuteLocation.lat}, ${commuteLocation.lng}`);\n\t\t\t\t} else {\n\t\t\t\t\tfetchedEntities = await getListingEntities(`${commuteLocation.lat}, ${commuteLocation.lng}`);\n\t\t\t\t}\n\t\t\t\tsetListingEntities(fetchedEntities);\n\t\t\t\t// Update travelTime on listings\n\t\t\t\tconst newFilteredListings: Listing[] = [...filteredListings];\n\t\t\t\tfor (let i = 0; i < allListings.length; i++) {\n\t\t\t\t\tconst listing = newFilteredListings[i];\n\t\t\t\t\tif (\n\t\t\t\t\t\tlisting &&\n\t\t\t\t\t\tlisting.fields &&\n\t\t\t\t\t\tlisting.fields.entityKey &&\n\t\t\t\t\t\tlisting.fields.entityKey !== ''\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst entityKey = listing.fields.entityKey;\n\t\t\t\t\t\tconst travelTime = fetchedEntities[entityKey]?.travelTime;\n\t\t\t\t\t\tif (travelTime !== undefined && listing.fields) {\n\t\t\t\t\t\t\tlisting.fields.travelTime = travelTime;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\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, getListingEntitiesCallback]);\n\n\tuseEffect(() => {\n\t\tconst handleFetchListings = async () => {\n\t\tif (!(getStorageObject('listings', []) || []).length) {\n\t\t\tsetLoading(true);\n\t\t}\n\n\t\ttry {\n\t\t\tconst {\n\t\t\t\tlistingsResult,\n\t\t\t\tentitiesByKey,\n\t\t\t\tdistinctItems\n\t\t\t} = await fetchListings(commuteLocation, entities, listings, getListingEntitiesCallback);\n\t\t\tif (defaultFilters) {\n\t\t\t\tconst filteredListings = listingsResult.filter(listing => {\n\t\t\t\tif (!listing.fields) return false;\n\n\t\t\t\treturn Object.keys(defaultFilters).every(filterKey => {\n\t\t\t\t\tconst filterValues = defaultFilters[filterKey as keyof typeof defaultFilters];\n\t\t\t\t\tconst listingValue = listing.fields ? listing.fields[filterKey as keyof typeof listing.fields] : null;\n\t\t\t\t\treturn filterValues.includes(listingValue);\n\t\t\t\t});\n\t\t\t});\n\t\t\tsetAllListings(filteredListings);\n\t\t} else {\n\t\t\tsetAllListings(listingsResult);\n\t\t}\n\t\t\tsetListingEntities(entitiesByKey);\n\t\t\t\tsetMapItems(distinctItems);\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, commuteLocation]);\n\n\tuseEffect(() => {\n\t\tconst processListings = () => {\n\t\t\tlet filteredListings: Listing[];\n\t\t\tlet tempSelectedFilters = selectedFilters;\n\t\t\tlet tempQuery = query;\n\n\t\t\tconst { mapItems, filteredListings: tempFilteredListings } = applyFilters(\n\t\t\t\tallListings,\n\t\t\t\ttempSelectedFilters,\n\t\t\t\ttempQuery,\n\t\t\t\tlistingEntities,\n\t\t\t\tfavorites,\n\t\t\t\tsiteConfig\n\t\t\t);\n\t\t\tfilteredListings = tempFilteredListings;\n\n\t\t\tif (filterByFavorites) {\n\t\t\t\tfilteredListings = filteredListings.filter((x: Listing) => favorites.includes(x.id));\n\t\t\t}\n\t\t\tsetNewFilteredListings(filteredListings);\n\t\t\tif (firstLoad && tempSelectedFilters) {\n\t\t\t\t// Update URL with filters if needed\n\t\t\t} else if (Object.keys(tempSelectedFilters).length === 0 && !firstLoad) {\n\t\t\t\tlocalStorage.removeItem('selectedFilters');\n\t\t\t} else if (!firstLoad) {\n\t\t\t\tsetStorageObject(localStorageKey + 'selectedFilters', tempSelectedFilters);\n\t\t\t}\n\t\t\tif(setFiltersUrl === true)\n\t\t\t{\n\t\t\t\tupdateURLWithFilters(tempSelectedFilters, window.location, tempQuery, handleUrlUpdate);\n\t\t\t}\n\t\t\ttempQuery != null ? localStorage.setItem('query', tempQuery) : localStorage.removeItem('query');\n\t\t\tsetMapItems(mapItems);\n\n\t\t\tif (tempSelectedFilters) {\n\t\t\t\tconst keys = Object.keys(tempSelectedFilters);\n\t\t\t\tconst lastKey = keys[keys.length - 1];\n\t\t\t\tconst options = generateFilterOptions(\n\t\t\t\t\tfilteredListings,\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\ttempSelectedFilters\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: any) => {\n\t\tconst { filteredListings } = filterListingsByLocation(\n\t\t\tallListings,\n\t\t\tselectedLocation,\n\t\t\tlistingEntities\n\t\t);\n\t\tsetNewFilteredListings(filteredListings);\n\t};\n\n\tconst resetEntityFilter = () => {\n\t\tlet newFilters = {...selectedFilters};\n\t\tdelete newFilters.entityId;\n\t\tsetSelectedFilters(newFilters);\n\t}\n\n\tconst handleSettingFavorites = (newFavorites: number[] | null) => {\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\tsetNewFilteredListings,\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\tresetEntityFilter,\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\tlinkFormat,\n\t\t\teasyApplyUrl,\n\t\t\teasyApplyText,\n\t\t\tisIframe,\n\t\t\tsortSetting,\n\t\t\tsetSortSetting,\n\t\t\ttrackEvent,\n\t\t\tdefaultFilters,\n\t\t\thiddenFilters,\n\t\t\tcontainerStyle,\n\t\t\tExpandListComponent\n\t\t}}>\n\t\t\t{children}\n\t\t</MapListContext.Provider>\n\t);\n};\n"],"names":["React"],"mappings":"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"}
|
|
@@ -5,16 +5,15 @@ import { getDistinctItemsByProximity } from '../util/mapUtil.js';
|
|
|
5
5
|
const fetchListings = async (commuteLocation = null, entities, listings, getListingEntitiesCallback) => {
|
|
6
6
|
try {
|
|
7
7
|
const listingsResult = listings && listings.length > 0 ? listings : await getListings();
|
|
8
|
-
const distinctEntityIds = [
|
|
9
|
-
...new Set(listingsResult.map(listing => listing.entityId))
|
|
10
|
-
];
|
|
11
8
|
const fetchedEntities = !commuteLocation
|
|
12
|
-
? entities && entities.length > 0 ? entities : !getListingEntitiesCallback ? await getListingEntities(
|
|
13
|
-
: !getListingEntitiesCallback ? await getListingEntities(
|
|
9
|
+
? entities && entities.length > 0 ? entities : !getListingEntitiesCallback ? await getListingEntities() : await getListingEntitiesCallback()
|
|
10
|
+
: !getListingEntitiesCallback ? await getListingEntities(`${commuteLocation.lat}, ${commuteLocation.lng}`) : await getListingEntitiesCallback(`${commuteLocation.lat}, ${commuteLocation.lng}`);
|
|
11
|
+
const entitiesByKey = fetchedEntities;
|
|
14
12
|
for (let i = 0; i < listingsResult.length; i++) {
|
|
15
13
|
const listing = listingsResult[i];
|
|
16
|
-
if (listing.
|
|
17
|
-
const entity =
|
|
14
|
+
if (listing.fields && listing.fields.entityKey && listing.fields.entityKey !== '' && listing.fields) {
|
|
15
|
+
const entity = entitiesByKey[listing.fields.entityKey];
|
|
16
|
+
console.log("Entity for listing with travel time", listing.fields.entityKey, entity);
|
|
18
17
|
if (entity) {
|
|
19
18
|
listing.fields.travelTime = entity.travelTime;
|
|
20
19
|
}
|
|
@@ -23,7 +22,7 @@ const fetchListings = async (commuteLocation = null, entities, listings, getList
|
|
|
23
22
|
const distinctItems = getDistinctItemsByProximity(listingsResult, fetchedEntities);
|
|
24
23
|
return {
|
|
25
24
|
listingsResult,
|
|
26
|
-
|
|
25
|
+
entitiesByKey,
|
|
27
26
|
distinctItems
|
|
28
27
|
};
|
|
29
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listingAggregatorService.js","sources":["../../src/services/listingAggregatorService.ts"],"sourcesContent":["import { getListings } from '~/services/listingService';\nimport { getListingEntities } from '~/services/listingEntityService';\nimport { getDistinctItemsByProximity } from '~/util/mapUtil';\nimport { Listing } from '~/types/Listings';\nimport { ListingEntity } from '~/types/ListingEntity';\n\ninterface FetchListingsResult {\n listingsResult: Listing[];\n
|
|
1
|
+
{"version":3,"file":"listingAggregatorService.js","sources":["../../src/services/listingAggregatorService.ts"],"sourcesContent":["import { getListings } from '~/services/listingService';\nimport { getListingEntities } from '~/services/listingEntityService';\nimport { getDistinctItemsByProximity } from '~/util/mapUtil';\nimport { Listing } from '~/types/Listings';\nimport { ListingEntity } from '~/types/ListingEntity';\n\ninterface FetchListingsResult {\n listingsResult: Listing[];\n entitiesByKey: Record<string, ListingEntity>;\n\n distinctItems: any; // Update this type based on the return type of getDistinctItemsByProximity\n}\n\nconst fetchListings = async (\n\tcommuteLocation: any | null = null,\n\tentities: ListingEntity[] | null,\n\tlistings: Listing[] | null,\n\tgetListingEntitiesCallback?: (origin?: string) => Promise<ListingEntity[]>,\n): Promise<FetchListingsResult> => {\n\ttry {\n\t\tconst listingsResult = listings && listings.length > 0 ? listings : await getListings();\n\n\t\tconst fetchedEntities = !commuteLocation\n\t\t\t? entities && entities.length > 0 ? entities : !getListingEntitiesCallback ? await getListingEntities() : await getListingEntitiesCallback()\n\t\t\t: !getListingEntitiesCallback ? await getListingEntities(\n\n\t\t\t\t`${commuteLocation.lat}, ${commuteLocation.lng}`\n\t\t\t) : await getListingEntitiesCallback(\n\t\t\t\t`${commuteLocation.lat}, ${commuteLocation.lng}`);\n\t\t\t\t const entitiesByKey = fetchedEntities;\n\t\tfor (let i = 0; i < listingsResult.length; i++) {\n\t\t\tconst listing = listingsResult[i];\n\t\t\t\t\t\tif (listing.fields && listing.fields.entityKey && listing.fields.entityKey !== '' && listing.fields) {\n\t\t\t\tconst entity = entitiesByKey[listing.fields.entityKey];\n\t\t\t\tconsole.log(\"Entity for listing with travel time\", listing.fields.entityKey, entity);\n\n\t\t\t\tif (entity) {\n\t\t\t\t\tlisting.fields.travelTime = entity.travelTime;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst distinctItems = getDistinctItemsByProximity(\n\t\t\tlistingsResult,\n\t\t\tfetchedEntities\n\t\t);\n\n\t\treturn {\n\t\t\tlistingsResult,\n\t\t\tentitiesByKey,\n\t\t\tdistinctItems\n\t\t};\n\t} catch (error) {\n\t\tconsole.error(\"Error fetching listings:\", error);\n\t\tthrow error;\n\t}\n};\n\nexport default fetchListings;\n"],"names":[],"mappings":";;;;AAaA,MAAM,aAAa,GAAG,OACrB,eAA8B,GAAA,IAAI,EAClC,QAAgC,EAChC,QAA0B,EAC1B,0BAA0E,KACzC;IACjC,IAAI;AACH,QAAA,MAAM,cAAc,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;QAExF,MAAM,eAAe,GAAG,CAAC,eAAe;AACvC,cAAE,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,0BAA0B,GAAG,MAAM,kBAAkB,EAAE,GAAG,MAAM,0BAA0B,EAAE;AAC5I,cAAE,CAAC,0BAA0B,GAAG,MAAM,kBAAkB,CAEvD,GAAG,eAAe,CAAC,GAAG,CAAA,EAAA,EAAK,eAAe,CAAC,GAAG,CAAE,CAAA,CAChD,GAAG,MAAM,0BAA0B,CACnC,CAAG,EAAA,eAAe,CAAC,GAAG,KAAK,eAAe,CAAC,GAAG,CAAA,CAAE,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,eAAe,CAAC;AAChD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/C,YAAA,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,KAAK,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE;gBACvG,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACvD,gBAAA,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAErF,gBAAA,IAAI,MAAM,EAAE;oBACX,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC9C,iBAAA;AACD,aAAA;AACD,SAAA;QAED,MAAM,aAAa,GAAG,2BAA2B,CAChD,cAAc,EACd,eAAe,CACf,CAAC;QAEF,OAAO;YACN,cAAc;YACd,aAAa;YACb,aAAa;SACb,CAAC;AACF,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;AACf,QAAA,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AACjD,QAAA,MAAM,KAAK,CAAC;AACZ,KAAA;AACF;;;;"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import api from '../apis/hcApi.js';
|
|
2
2
|
|
|
3
|
-
const getListingEntities = async (
|
|
3
|
+
const getListingEntities = async (origin = '') => {
|
|
4
4
|
try {
|
|
5
|
-
|
|
5
|
+
//need to update / or add better endpoint fo this to match original functioanlity
|
|
6
|
+
const response = await api.get(`/listingentities/MapEntities?origin=${origin}`);
|
|
6
7
|
return response;
|
|
7
8
|
}
|
|
8
9
|
catch (error) {
|