@abcagency/hc-ui-components 1.3.64 → 1.3.66
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 +9 -4
- package/dist/components/HireControlMap.js.map +1 -1
- package/dist/components/containers/list/item-list-container.js +2 -2
- package/dist/components/containers/list/item-list-container.js.map +1 -1
- package/dist/components/modules/buttons/button-group-apply.js +9 -9
- package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
- package/dist/components/modules/filter/index.js +0 -1
- package/dist/components/modules/filter/index.js.map +1 -1
- package/dist/contexts/mapListContext.js +3 -5
- package/dist/contexts/mapListContext.js.map +1 -1
- package/dist/types/contexts/mapListContext.d.ts +6 -0
- package/package.json +1 -1
- package/src/components/HireControlMap.js +5 -2
- package/src/components/containers/list/item-list-container.tsx +2 -2
- package/src/components/modules/buttons/button-group-apply.js +7 -7
- package/src/components/modules/filter/index.js +0 -1
- package/src/contexts/mapListContext.tsx +7 -6
|
@@ -45,7 +45,9 @@ var HireControlMap = function HireControlMap(_ref) {
|
|
|
45
45
|
_ref$hiddenFilters = _ref.hiddenFilters,
|
|
46
46
|
hiddenFilters = _ref$hiddenFilters === void 0 ? null : _ref$hiddenFilters,
|
|
47
47
|
_ref$setFiltersUrl = _ref.setFiltersUrl,
|
|
48
|
-
setFiltersUrl = _ref$setFiltersUrl === void 0 ? null : _ref$setFiltersUrl
|
|
48
|
+
setFiltersUrl = _ref$setFiltersUrl === void 0 ? null : _ref$setFiltersUrl,
|
|
49
|
+
_ref$ExpandListCompon = _ref.ExpandListComponent,
|
|
50
|
+
ExpandListComponent = _ref$ExpandListCompon === void 0 ? null : _ref$ExpandListCompon;
|
|
49
51
|
var _useState = useState(null),
|
|
50
52
|
_useState2 = _slicedToArray(_useState, 2),
|
|
51
53
|
siteConfig = _useState2[0],
|
|
@@ -102,7 +104,8 @@ var HireControlMap = function HireControlMap(_ref) {
|
|
|
102
104
|
hiddenFilters: hiddenFilters,
|
|
103
105
|
handleUrlUpdate: handleUrlUpdate,
|
|
104
106
|
defaultFilters: defaultFilters,
|
|
105
|
-
containerStyle: containerStyle
|
|
107
|
+
containerStyle: containerStyle,
|
|
108
|
+
ExpandListComponent: ExpandListComponent
|
|
106
109
|
}));
|
|
107
110
|
};
|
|
108
111
|
var HomeBody = function HomeBody(_ref3) {
|
|
@@ -120,7 +123,8 @@ var HomeBody = function HomeBody(_ref3) {
|
|
|
120
123
|
trackEvent = _ref3.trackEvent,
|
|
121
124
|
listings = _ref3.listings,
|
|
122
125
|
setFiltersUrl = _ref3.setFiltersUrl,
|
|
123
|
-
handleUrlUpdate = _ref3.handleUrlUpdate
|
|
126
|
+
handleUrlUpdate = _ref3.handleUrlUpdate,
|
|
127
|
+
ExpandListComponent = _ref3.ExpandListComponent;
|
|
124
128
|
var resetFilters = false;
|
|
125
129
|
return /*#__PURE__*/React__default.createElement(TrackEventProvider, {
|
|
126
130
|
trackEvent: trackEvent
|
|
@@ -145,7 +149,8 @@ var HomeBody = function HomeBody(_ref3) {
|
|
|
145
149
|
hiddenFilters: hiddenFilters,
|
|
146
150
|
handleUrlUpdate: handleUrlUpdate,
|
|
147
151
|
defaultFilters: defaultFilters,
|
|
148
|
-
containerStyle: containerStyle
|
|
152
|
+
containerStyle: containerStyle,
|
|
153
|
+
ExpandListComponent: ExpandListComponent !== null && ExpandListComponent !== void 0 ? ExpandListComponent : null
|
|
149
154
|
}, /*#__PURE__*/React__default.createElement(MapProvider, {
|
|
150
155
|
resetFilters: resetFilters
|
|
151
156
|
}, /*#__PURE__*/React__default.createElement(PlacesProvider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HireControlMap.js","sources":["../../src/components/HireControlMap.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useLoadScript } from '@react-google-maps/api';\nimport { twMerge } from 'tailwind-merge';\n\nimport Grid from '~/components/modules/grid';\nimport Filter from '~/components/containers/filter/filter-container';\nimport MapList from '~/components/containers/maps/map-list-container';\n\nimport { MapProvider } from '~/contexts/mapContext';\nimport { PlacesProvider } from '~/contexts/placesContext';\nimport { MapListProvider } from '~/contexts/mapListContext';\nimport { TrackEventProvider } from '~/contexts/trackEventContext';\n\nimport { getMapConfig } from '~/services/configService';\nimport { setClientAuthKey } from '~/clientToken.js';\n\nimport '../styles/index.css';\nimport { ThemeProvider } from '~/contexts/themeContext';\n\nconst libraries = ['places'];\n\nexport const HireControlMap = ({\n\tclientToken,\n\tcontainerStyle = { height: '100vh' },\n\tnavigateToDetails = null,\n\tnavigateToEasyApply = null,\n\thandleUrlUpdate = null,\n\tLink = null,\n\tlinkFormat = '/jobs/[slug]',\n\teasyApplyUrl = null,\n\teasyApplyText = 'Easy Apply',\n\ttrackEvent = (eventType, eventObj) => {console.log(eventType); console.log(eventObj);},\n\tlistings = [],\n\tdefaultFilters = null,\n\thiddenFilters = null,\n\tsetFiltersUrl = null\n}) => {\n\tconst [siteConfig, setSiteconfig] = useState(null);\n\tuseEffect(() => {\n\t\tsetClientAuthKey(clientToken);\n\t\tconst fetchSiteConfig = async () => {\n\t\t\ttry {\n\t\t\t\tconst configData = await getMapConfig(clientToken);\n\t\t\t\tsetSiteconfig(configData);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Failed to fetch site configuration:', error);\n\t\t\t}\n\t\t};\n\n\t\tfetchSiteConfig();\n\t}, [clientToken]);\n\n\tconst { isLoaded } = useLoadScript({\n\t\tgoogleMapsApiKey: process.env.GOOGLE_MAPS_API_KEY,\n\t\tversion: 'quarterly',\n\t\tlibraries: libraries\n\t});\n\n\treturn (\n\t\t<div>\n\t\t\t{isLoaded && siteConfig && (\n\t\t\t\t<HomeBody\n\t\t\t\t\tsiteConfig={siteConfig}\n\t\t\t\t\tnavigateToDetails={navigateToDetails}\n\t\t\t\t\tnavigateToEasyApply={navigateToEasyApply}\n\t\t\t\t\tLink={Link}\n\t\t\t\t\tlinkFormat={linkFormat}\n\t\t\t\t\teasyApplyUrl={easyApplyUrl}\n\t\t\t\t\teasyApplyText={easyApplyText}\n\t\t\t\t\ttrackEvent={trackEvent}\n\t\t\t\t\tlistings={listings}\n\t\t\t\t\tsetFiltersUrl={setFiltersUrl}\n\t\t\t\t\thiddenFilters={hiddenFilters}\n\t\t\t\t\thandleUrlUpdate={handleUrlUpdate}\n\t\t\t\t\tdefaultFilters={defaultFilters}\n\t\t\t\t\tcontainerStyle={containerStyle}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nconst HomeBody = ({ containerStyle, hiddenFilters, defaultFilters, siteConfig, navigateToDetails, navigateToEasyApply, Link, linkFormat, easyApplyUrl, easyApplyText, trackEvent, listings, setFiltersUrl, handleUrlUpdate }) => {\n\tconst resetFilters = false;\n\n\treturn (\n\t\t<TrackEventProvider trackEvent={trackEvent}>\n\t\t\t<ThemeProvider uiText={siteConfig.colors.uiText} uiAccent={siteConfig.colors.uiAccent} primary={siteConfig.colors.primary} primaryDark={siteConfig.colors.primaryDark} secondary={siteConfig.colors.secondary} secondaryDark={siteConfig.colors.secondaryDark}>\n\t\t\t\t<MapListProvider\n\t\t\t\t\tsiteConfig={siteConfig}\n\t\t\t\t\tresetFilters={resetFilters}\n\t\t\t\t\tnavigateToDetails={navigateToDetails}\n\t\t\t\t\tnavigateToEasyApply={navigateToEasyApply}\n\t\t\t\t\tLink={Link}\n\t\t\t\t\tlinkFormat={linkFormat}\n\t\t\t\t\teasyApplyUrl={easyApplyUrl}\n\t\t\t\t\teasyApplyText={easyApplyText}\n\t\t\t\t\tlistings={listings}\n\t\t\t\t\tsetFiltersUrl={setFiltersUrl}\n\t\t\t\t\thiddenFilters={hiddenFilters}\n\t\t\t\t\thandleUrlUpdate={handleUrlUpdate}\n\t\t\t\t\tdefaultFilters={defaultFilters}\n\t\t\t\t\tcontainerStyle={containerStyle}\n\t\t\t\t>\n\t\t\t\t\t<MapProvider resetFilters={resetFilters}>\n\t\t\t\t\t\t<PlacesProvider\n\t\t\t\t\t\t\tplaceMappings={siteConfig.pointsOfInterestConfig.placeMappings ?? {}}\n\t\t\t\t\t\t\tmarkerColors={{\n\t\t\t\t\t\t\t\tfillColor: siteConfig.colors.primary,\n\t\t\t\t\t\t\t\tstrokeColor: siteConfig.colors.primaryDark,\n\t\t\t\t\t\t\t\tselectedFillColor: siteConfig.colors.secondary,\n\t\t\t\t\t\t\t\tselectedStrokeColor: siteConfig.colors.secondaryDark,\n\t\t\t\t\t\t\t\tplaceMarkers: {\n\t\t\t\t\t\t\t\t\tcolors: siteConfig.pointsOfInterestConfig.placeMarkerColors,\n\t\t\t\t\t\t\t\t\tsize: siteConfig.pointsOfInterestConfig.placeMarkerSize\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Grid\n\t\t\t\t\t\t\t\tas='section'\n\t\t\t\t\t\t\t\tid='job-search-interface'\n\t\t\t\t\t\t\t\tcolumns='md:hc-grid-cols-[1fr_2.5fr] lg:hc-grid-cols-[1fr_3.5fr]'\n\t\t\t\t\t\t\t\tgap='hc-gap-0'\n\t\t\t\t\t\t\t\tautoRows={false}\n\t\t\t\t\t\t\t\tclassName={'hc-bundle hc-items-stretch hc-divide-x hc-divide-uiAccent/20'}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Grid.Item className='hc-bg-gray-100'>\n\t\t\t\t\t\t\t\t\t<Filter showMap={siteConfig.showMap} className='hc-hidden md:hc-block' />\n\t\t\t\t\t\t\t\t</Grid.Item>\n\t\t\t\t\t\t\t\t<MapList\n\t\t\t\t\t\t\t\t\tcontainerStyle={containerStyle}\n\t\t\t\t\t\t\t\t\tmarkerConfigs={{\n\t\t\t\t\t\t\t\t\t\tfillColor: siteConfig.colors.primary,\n\t\t\t\t\t\t\t\t\t\tstrokeColor: siteConfig.colors.primaryDark,\n\t\t\t\t\t\t\t\t\t\tselectedFillColor: siteConfig.colors.secondary,\n\t\t\t\t\t\t\t\t\t\tselectedStrokeColor: siteConfig.colors.secondaryDark,\n\t\t\t\t\t\t\t\t\t\tplaceMarkers: {\n\t\t\t\t\t\t\t\t\t\t\tcolors: siteConfig.pointsOfInterestConfig.placeMarkerColors,\n\t\t\t\t\t\t\t\t\t\t\tsize: siteConfig.pointsOfInterestConfig.placeMarkerSize\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tmapPosition={siteConfig.mapPosition}\n\t\t\t\t\t\t\t\t\tshowMap={siteConfig.showMap}\n\t\t\t\t\t\t\t\t\tfieldsShown={siteConfig.fieldsShown}\n\t\t\t\t\t\t\t\t\tspecialFeatures={siteConfig.specialFeatures}\n\t\t\t\t\t\t\t\t\tfieldNames={siteConfig.fieldNames}\n\t\t\t\t\t\t\t\t\tplaceMappings={siteConfig.pointsOfInterestConfig.placeMappings ?? {}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t</PlacesProvider>\n\t\t\t\t\t</MapProvider>\n\t\t\t\t</MapListProvider>\n\t\t\t</ThemeProvider>\n\t\t</TrackEventProvider>\n\t);\n};\n\nexport default HireControlMap;\n"],"names":["libraries","HireControlMap","_ref","clientToken","_ref$containerStyle","containerStyle","height","_ref$navigateToDetail","navigateToDetails","_ref$navigateToEasyAp","navigateToEasyApply","_ref$handleUrlUpdate","handleUrlUpdate","_ref$Link","Link","_ref$linkFormat","linkFormat","_ref$easyApplyUrl","easyApplyUrl","_ref$easyApplyText","easyApplyText","_ref$trackEvent","trackEvent","eventType","eventObj","console","log","_ref$listings","listings","_ref$defaultFilters","defaultFilters","_ref$hiddenFilters","hiddenFilters","_ref$setFiltersUrl","setFiltersUrl","_useState","useState","_useState2","_slicedToArray","siteConfig","setSiteconfig","useEffect","setClientAuthKey","fetchSiteConfig","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","configData","wrap","_callee$","_context","prev","next","getMapConfig","sent","t0","error","stop","apply","arguments","_useLoadScript","useLoadScript","googleMapsApiKey","version","isLoaded","React","createElement","HomeBody","_ref3","_siteConfig$pointsOfI","_siteConfig$pointsOfI2","resetFilters","TrackEventProvider","ThemeProvider","uiText","colors","uiAccent","primary","primaryDark","secondary","secondaryDark","MapListProvider","MapProvider","PlacesProvider","placeMappings","pointsOfInterestConfig","markerColors","fillColor","strokeColor","selectedFillColor","selectedStrokeColor","placeMarkers","placeMarkerColors","size","placeMarkerSize","Grid","as","id","columns","gap","autoRows","className","Item","Filter","showMap","MapList","markerConfigs","mapPosition","fieldsShown","specialFeatures","fieldNames"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HireControlMap.js","sources":["../../src/components/HireControlMap.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useLoadScript } from '@react-google-maps/api';\nimport { twMerge } from 'tailwind-merge';\n\nimport Grid from '~/components/modules/grid';\nimport Filter from '~/components/containers/filter/filter-container';\nimport MapList from '~/components/containers/maps/map-list-container';\n\nimport { MapProvider } from '~/contexts/mapContext';\nimport { PlacesProvider } from '~/contexts/placesContext';\nimport { MapListProvider } from '~/contexts/mapListContext';\nimport { TrackEventProvider } from '~/contexts/trackEventContext';\n\nimport { getMapConfig } from '~/services/configService';\nimport { setClientAuthKey } from '~/clientToken.js';\n\nimport '../styles/index.css';\nimport { ThemeProvider } from '~/contexts/themeContext';\n\nconst libraries = ['places'];\n\nexport const HireControlMap = ({\n\tclientToken,\n\tcontainerStyle = { height: '100vh' },\n\tnavigateToDetails = null,\n\tnavigateToEasyApply = null,\n\thandleUrlUpdate = null,\n\tLink = null,\n\tlinkFormat = '/jobs/[slug]',\n\teasyApplyUrl = null,\n\teasyApplyText = 'Easy Apply',\n\ttrackEvent = (eventType, eventObj) => {console.log(eventType); console.log(eventObj);},\n\tlistings = [],\n\tdefaultFilters = null,\n\thiddenFilters = null,\n\tsetFiltersUrl = null,\n\tExpandListComponent = null\n}) => {\n\tconst [siteConfig, setSiteconfig] = useState(null);\n\tuseEffect(() => {\n\t\tsetClientAuthKey(clientToken);\n\t\tconst fetchSiteConfig = async () => {\n\t\t\ttry {\n\t\t\t\tconst configData = await getMapConfig(clientToken);\n\t\t\t\tsetSiteconfig(configData);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Failed to fetch site configuration:', error);\n\t\t\t}\n\t\t};\n\n\t\tfetchSiteConfig();\n\t}, [clientToken]);\n\n\tconst { isLoaded } = useLoadScript({\n\t\tgoogleMapsApiKey: process.env.GOOGLE_MAPS_API_KEY,\n\t\tversion: 'quarterly',\n\t\tlibraries: libraries\n\t});\n\n\treturn (\n\t\t<div>\n\t\t\t{isLoaded && siteConfig && (\n\t\t\t\t<HomeBody\n\t\t\t\t\tsiteConfig={siteConfig}\n\t\t\t\t\tnavigateToDetails={navigateToDetails}\n\t\t\t\t\tnavigateToEasyApply={navigateToEasyApply}\n\t\t\t\t\tLink={Link}\n\t\t\t\t\tlinkFormat={linkFormat}\n\t\t\t\t\teasyApplyUrl={easyApplyUrl}\n\t\t\t\t\teasyApplyText={easyApplyText}\n\t\t\t\t\ttrackEvent={trackEvent}\n\t\t\t\t\tlistings={listings}\n\t\t\t\t\tsetFiltersUrl={setFiltersUrl}\n\t\t\t\t\thiddenFilters={hiddenFilters}\n\t\t\t\t\thandleUrlUpdate={handleUrlUpdate}\n\t\t\t\t\tdefaultFilters={defaultFilters}\n\t\t\t\t\tcontainerStyle={containerStyle}\n\t\t\t\t\tExpandListComponent={ExpandListComponent}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nconst HomeBody = ({ containerStyle, hiddenFilters, defaultFilters, siteConfig, navigateToDetails, navigateToEasyApply, Link, linkFormat, easyApplyUrl, easyApplyText, trackEvent, listings, setFiltersUrl, handleUrlUpdate, ExpandListComponent }) => {\n\tconst resetFilters = false;\n\n\treturn (\n\t\t<TrackEventProvider trackEvent={trackEvent}>\n\t\t\t<ThemeProvider uiText={siteConfig.colors.uiText} uiAccent={siteConfig.colors.uiAccent} primary={siteConfig.colors.primary} primaryDark={siteConfig.colors.primaryDark} secondary={siteConfig.colors.secondary} secondaryDark={siteConfig.colors.secondaryDark}>\n\t\t\t\t<MapListProvider\n\t\t\t\t\tsiteConfig={siteConfig}\n\t\t\t\t\tresetFilters={resetFilters}\n\t\t\t\t\tnavigateToDetails={navigateToDetails}\n\t\t\t\t\tnavigateToEasyApply={navigateToEasyApply}\n\t\t\t\t\tLink={Link}\n\t\t\t\t\tlinkFormat={linkFormat}\n\t\t\t\t\teasyApplyUrl={easyApplyUrl}\n\t\t\t\t\teasyApplyText={easyApplyText}\n\t\t\t\t\tlistings={listings}\n\t\t\t\t\tsetFiltersUrl={setFiltersUrl}\n\t\t\t\t\thiddenFilters={hiddenFilters}\n\t\t\t\t\thandleUrlUpdate={handleUrlUpdate}\n\t\t\t\t\tdefaultFilters={defaultFilters}\n\t\t\t\t\tcontainerStyle={containerStyle}\n\t\t\t\t\tExpandListComponent={ExpandListComponent ?? null}\n\t\t\t\t>\n\t\t\t\t\t<MapProvider resetFilters={resetFilters}>\n\t\t\t\t\t\t<PlacesProvider\n\t\t\t\t\t\t\tplaceMappings={siteConfig.pointsOfInterestConfig.placeMappings ?? {}}\n\t\t\t\t\t\t\tmarkerColors={{\n\t\t\t\t\t\t\t\tfillColor: siteConfig.colors.primary,\n\t\t\t\t\t\t\t\tstrokeColor: siteConfig.colors.primaryDark,\n\t\t\t\t\t\t\t\tselectedFillColor: siteConfig.colors.secondary,\n\t\t\t\t\t\t\t\tselectedStrokeColor: siteConfig.colors.secondaryDark,\n\t\t\t\t\t\t\t\tplaceMarkers: {\n\t\t\t\t\t\t\t\t\tcolors: siteConfig.pointsOfInterestConfig.placeMarkerColors,\n\t\t\t\t\t\t\t\t\tsize: siteConfig.pointsOfInterestConfig.placeMarkerSize\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Grid\n\t\t\t\t\t\t\t\tas='section'\n\t\t\t\t\t\t\t\tid='job-search-interface'\n\t\t\t\t\t\t\t\tcolumns='md:hc-grid-cols-[1fr_2.5fr] lg:hc-grid-cols-[1fr_3.5fr]'\n\t\t\t\t\t\t\t\tgap='hc-gap-0'\n\t\t\t\t\t\t\t\tautoRows={false}\n\t\t\t\t\t\t\t\tclassName={'hc-bundle hc-items-stretch hc-divide-x hc-divide-uiAccent/20'}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Grid.Item className='hc-bg-gray-100'>\n\t\t\t\t\t\t\t\t\t<Filter showMap={siteConfig.showMap} className='hc-hidden md:hc-block' />\n\t\t\t\t\t\t\t\t</Grid.Item>\n\t\t\t\t\t\t\t\t<MapList\n\t\t\t\t\t\t\t\t\tcontainerStyle={containerStyle}\n\t\t\t\t\t\t\t\t\tmarkerConfigs={{\n\t\t\t\t\t\t\t\t\t\tfillColor: siteConfig.colors.primary,\n\t\t\t\t\t\t\t\t\t\tstrokeColor: siteConfig.colors.primaryDark,\n\t\t\t\t\t\t\t\t\t\tselectedFillColor: siteConfig.colors.secondary,\n\t\t\t\t\t\t\t\t\t\tselectedStrokeColor: siteConfig.colors.secondaryDark,\n\t\t\t\t\t\t\t\t\t\tplaceMarkers: {\n\t\t\t\t\t\t\t\t\t\t\tcolors: siteConfig.pointsOfInterestConfig.placeMarkerColors,\n\t\t\t\t\t\t\t\t\t\t\tsize: siteConfig.pointsOfInterestConfig.placeMarkerSize\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tmapPosition={siteConfig.mapPosition}\n\t\t\t\t\t\t\t\t\tshowMap={siteConfig.showMap}\n\t\t\t\t\t\t\t\t\tfieldsShown={siteConfig.fieldsShown}\n\t\t\t\t\t\t\t\t\tspecialFeatures={siteConfig.specialFeatures}\n\t\t\t\t\t\t\t\t\tfieldNames={siteConfig.fieldNames}\n\t\t\t\t\t\t\t\t\tplaceMappings={siteConfig.pointsOfInterestConfig.placeMappings ?? {}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t</PlacesProvider>\n\t\t\t\t\t</MapProvider>\n\t\t\t\t</MapListProvider>\n\t\t\t</ThemeProvider>\n\t\t</TrackEventProvider>\n\t);\n};\n\nexport default HireControlMap;\n"],"names":["libraries","HireControlMap","_ref","clientToken","_ref$containerStyle","containerStyle","height","_ref$navigateToDetail","navigateToDetails","_ref$navigateToEasyAp","navigateToEasyApply","_ref$handleUrlUpdate","handleUrlUpdate","_ref$Link","Link","_ref$linkFormat","linkFormat","_ref$easyApplyUrl","easyApplyUrl","_ref$easyApplyText","easyApplyText","_ref$trackEvent","trackEvent","eventType","eventObj","console","log","_ref$listings","listings","_ref$defaultFilters","defaultFilters","_ref$hiddenFilters","hiddenFilters","_ref$setFiltersUrl","setFiltersUrl","_ref$ExpandListCompon","ExpandListComponent","_useState","useState","_useState2","_slicedToArray","siteConfig","setSiteconfig","useEffect","setClientAuthKey","fetchSiteConfig","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","configData","wrap","_callee$","_context","prev","next","getMapConfig","sent","t0","error","stop","apply","arguments","_useLoadScript","useLoadScript","googleMapsApiKey","version","isLoaded","React","createElement","HomeBody","_ref3","_siteConfig$pointsOfI","_siteConfig$pointsOfI2","resetFilters","TrackEventProvider","ThemeProvider","uiText","colors","uiAccent","primary","primaryDark","secondary","secondaryDark","MapListProvider","MapProvider","PlacesProvider","placeMappings","pointsOfInterestConfig","markerColors","fillColor","strokeColor","selectedFillColor","selectedStrokeColor","placeMarkers","placeMarkerColors","size","placeMarkerSize","Grid","as","id","columns","gap","autoRows","className","Item","Filter","showMap","MapList","markerConfigs","mapPosition","fieldsShown","specialFeatures","fieldNames"],"mappings":"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"}
|
|
@@ -10,11 +10,11 @@ import { dynamicSort } from '../../../util/sortUtil.js';
|
|
|
10
10
|
import ListingDetailsContainer from '../jobListing/listing-details-container.js';
|
|
11
11
|
|
|
12
12
|
const ItemsListContainer = ({ fieldNames, showMap, fieldsShown, specialFeatures }) => {
|
|
13
|
-
const { filteredListings, loading, commuteLocation, sortSetting, setSortSetting } = useMapList();
|
|
13
|
+
const { filteredListings, loading, commuteLocation, sortSetting, setSortSetting, ExpandListComponent } = useMapList();
|
|
14
14
|
const { itemLimit, loader, scrollContainerRef, itemRefs } = useListLogic(filteredListings);
|
|
15
15
|
const { selectedListItem } = useMap();
|
|
16
16
|
const { trackEvent, eventTypes } = useTrackEvent();
|
|
17
|
-
const itemExpandedContent = (item, recruiter) => item ? React__default.createElement(ListingDetailsContainer, { item: item, recruiter: recruiter }) : null;
|
|
17
|
+
const itemExpandedContent = (item, recruiter) => item ? (ExpandListComponent ? React__default.createElement(ExpandListComponent, { listing: item }) : React__default.createElement(ListingDetailsContainer, { item: item, recruiter: recruiter })) : null;
|
|
18
18
|
if (!fieldsShown.includes('travelTime') && commuteLocation != null && Object.entries(commuteLocation).length > 0) {
|
|
19
19
|
fieldsShown.push('travelTime');
|
|
20
20
|
fieldNames['travelTime'] = 'Commute';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-list-container.js","sources":["../../../../src/components/containers/list/item-list-container.tsx"],"sourcesContent":["import React from 'react';\nimport useListLogic from '~/hooks/useList';\nimport { useMap } from '~/contexts/mapContext';\nimport { useMapList } from '~/contexts/mapListContext';\nimport { useTrackEvent } from '~/contexts/trackEventContext';\nimport ItemsList from '~/components/modules/list/item-list';\nimport Accordion from '~/components/modules/accordions/default';\nimport MapAccordionItemContainer from '~/components/containers/accordions/map-accordion-item-container';\nimport { dynamicSort } from '~/util/sortUtil';\nimport { Listing } from '~/types/Listings';\nimport ListingDetailsContainer from '../jobListing/listing-details-container';\n\ninterface ItemsListContainerProps {\n fieldNames: Record<string, string>;\n showMap: boolean;\n fieldsShown: string[];\n specialFeatures: any;\n}\n\nconst ItemsListContainer: React.FC<ItemsListContainerProps> = ({\n\tfieldNames,\n\tshowMap,\n\tfieldsShown,\n\tspecialFeatures\n}) => {\n\tconst { filteredListings, loading, commuteLocation, sortSetting, setSortSetting } = useMapList();\n\tconst { itemLimit, loader, scrollContainerRef, itemRefs } = useListLogic(filteredListings as any);\n\tconst { selectedListItem } = useMap();\n\tconst { trackEvent, eventTypes } = useTrackEvent() as any;\n\tconst itemExpandedContent = (item: any, recruiter: any) =>\n\t\titem ? <ListingDetailsContainer item={item} recruiter={recruiter} /> : null;\n\n\tif (!fieldsShown.includes('travelTime') && commuteLocation != null && Object.entries(commuteLocation).length > 0) {\n\t\tfieldsShown.push('travelTime');\n\t\tfieldNames['travelTime'] = 'Commute';\n\t} else if (fieldsShown.includes('travelTime') && !commuteLocation) {\n\t\tfieldsShown = fieldsShown.filter(x => x !== 'travelTime');\n\t}\n\n\tconst setTrackedSortSetting = (sortSetting: { field: string; type: string }) => {\n\t\ttrackEvent(eventTypes.LIST_SORTED, sortSetting);\n\t\tsetSortSetting(sortSetting);\n\t};\n\treturn (\n\t\t<ItemsList\n\t\t\tfieldNames={fieldNames}\n\t\t\tshowMap={showMap}\n\t\t\tfieldsShown={fieldsShown}\n\t\t\tfilteredListings={filteredListings}\n\t\t\tloading={loading}\n\t\t\tsortSetting={sortSetting}\n\t\t\tsetSortSetting={setTrackedSortSetting}\n\t\t\titemLimit={itemLimit}\n\t\t\tloader={loader}\n\t\t\tscrollContainerRef={scrollContainerRef}\n\t\t\titemRefs={itemRefs}\n\t\t\tselectedListItem={selectedListItem}\n\t\t\tincludeFavorite={true}\n\t\t>\n\t\t\t<Accordion className=\"hc-divide-y hc-divide-uiAccent/10 hc-z-[1000] hc-h-[100%]\" defaultValue={selectedListItem?.id}>\n\t\t\t\t{(sortSetting ? dynamicSort(filteredListings, sortSetting.field, sortSetting.type) : filteredListings)\n\t\t\t\t\t.slice(0, itemLimit)\n\t\t\t\t\t.map((item: Listing) => (\n\t\t\t\t\t\t<MapAccordionItemContainer\n\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\tshowMap={showMap}\n\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\titemRefs={itemRefs}\n\t\t\t\t\t\t\tfieldsShown={fieldsShown}\n\t\t\t\t\t\t\titemExpandedContent={itemExpandedContent}\n\t\t\t\t\t\t\tspecialFeatures={specialFeatures}\n\t\t\t\t\t\t\tisActive={selectedListItem?.id === item.id}\n\t\t\t\t\t\t\thasListItemSelected={selectedListItem != null}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t</Accordion>\n\t\t</ItemsList>\n\t);\n};\n\nexport default ItemsListContainer;\n"],"names":["React"],"mappings":";;;;;;;;;;;AAmBA,MAAM,kBAAkB,GAAsC,CAAC,EAC9D,UAAU,EACV,OAAO,EACP,WAAW,EACX,eAAe,EACf,KAAI;AACJ,IAAA,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"item-list-container.js","sources":["../../../../src/components/containers/list/item-list-container.tsx"],"sourcesContent":["import React from 'react';\nimport useListLogic from '~/hooks/useList';\nimport { useMap } from '~/contexts/mapContext';\nimport { useMapList } from '~/contexts/mapListContext';\nimport { useTrackEvent } from '~/contexts/trackEventContext';\nimport ItemsList from '~/components/modules/list/item-list';\nimport Accordion from '~/components/modules/accordions/default';\nimport MapAccordionItemContainer from '~/components/containers/accordions/map-accordion-item-container';\nimport { dynamicSort } from '~/util/sortUtil';\nimport { Listing } from '~/types/Listings';\nimport ListingDetailsContainer from '../jobListing/listing-details-container';\n\ninterface ItemsListContainerProps {\n fieldNames: Record<string, string>;\n showMap: boolean;\n fieldsShown: string[];\n specialFeatures: any;\n}\n\nconst ItemsListContainer: React.FC<ItemsListContainerProps> = ({\n\tfieldNames,\n\tshowMap,\n\tfieldsShown,\n\tspecialFeatures\n}) => {\n\tconst { filteredListings, loading, commuteLocation, sortSetting, setSortSetting, ExpandListComponent } = useMapList();\n\tconst { itemLimit, loader, scrollContainerRef, itemRefs } = useListLogic(filteredListings as any);\n\tconst { selectedListItem } = useMap();\n\tconst { trackEvent, eventTypes } = useTrackEvent() as any;\n\tconst itemExpandedContent = (item: any, recruiter: any) =>\n\t\titem ? (ExpandListComponent ? <ExpandListComponent listing={item} /> : <ListingDetailsContainer item={item} recruiter={recruiter} />) : null;\n\n\tif (!fieldsShown.includes('travelTime') && commuteLocation != null && Object.entries(commuteLocation).length > 0) {\n\t\tfieldsShown.push('travelTime');\n\t\tfieldNames['travelTime'] = 'Commute';\n\t} else if (fieldsShown.includes('travelTime') && !commuteLocation) {\n\t\tfieldsShown = fieldsShown.filter(x => x !== 'travelTime');\n\t}\n\n\tconst setTrackedSortSetting = (sortSetting: { field: string; type: string }) => {\n\t\ttrackEvent(eventTypes.LIST_SORTED, sortSetting);\n\t\tsetSortSetting(sortSetting);\n\t};\n\treturn (\n\t\t<ItemsList\n\t\t\tfieldNames={fieldNames}\n\t\t\tshowMap={showMap}\n\t\t\tfieldsShown={fieldsShown}\n\t\t\tfilteredListings={filteredListings}\n\t\t\tloading={loading}\n\t\t\tsortSetting={sortSetting}\n\t\t\tsetSortSetting={setTrackedSortSetting}\n\t\t\titemLimit={itemLimit}\n\t\t\tloader={loader}\n\t\t\tscrollContainerRef={scrollContainerRef}\n\t\t\titemRefs={itemRefs}\n\t\t\tselectedListItem={selectedListItem}\n\t\t\tincludeFavorite={true}\n\t\t>\n\t\t\t<Accordion className=\"hc-divide-y hc-divide-uiAccent/10 hc-z-[1000] hc-h-[100%]\" defaultValue={selectedListItem?.id}>\n\t\t\t\t{(sortSetting ? dynamicSort(filteredListings, sortSetting.field, sortSetting.type) : filteredListings)\n\t\t\t\t\t.slice(0, itemLimit)\n\t\t\t\t\t.map((item: Listing) => (\n\t\t\t\t\t\t<MapAccordionItemContainer\n\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\tshowMap={showMap}\n\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\titemRefs={itemRefs}\n\t\t\t\t\t\t\tfieldsShown={fieldsShown}\n\t\t\t\t\t\t\titemExpandedContent={itemExpandedContent}\n\t\t\t\t\t\t\tspecialFeatures={specialFeatures}\n\t\t\t\t\t\t\tisActive={selectedListItem?.id === item.id}\n\t\t\t\t\t\t\thasListItemSelected={selectedListItem != null}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t</Accordion>\n\t\t</ItemsList>\n\t);\n};\n\nexport default ItemsListContainer;\n"],"names":["React"],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@ import ApplyDialog from '../dialogs/apply-dialog.js';
|
|
|
7
7
|
var _templateObject;
|
|
8
8
|
var ButtonGroupApply = function ButtonGroupApply(_ref) {
|
|
9
9
|
var _item$slug;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
_ref.useDetailsPostMessage;
|
|
11
|
+
_ref.navigateToDetails;
|
|
12
12
|
_ref.navigateToEasyApply;
|
|
13
13
|
var Link = _ref.Link,
|
|
14
14
|
linkFormat = _ref.linkFormat,
|
|
@@ -35,7 +35,7 @@ var ButtonGroupApply = function ButtonGroupApply(_ref) {
|
|
|
35
35
|
eventTypes = _ref.eventTypes;
|
|
36
36
|
var href = linkFormat.replace('[slug]', (_item$slug = item.slug) !== null && _item$slug !== void 0 ? _item$slug : item.id);
|
|
37
37
|
var trackApplyNow = function trackApplyNow() {
|
|
38
|
-
console.log('calling trackApplyNow');
|
|
38
|
+
//console.log('calling trackApplyNow');
|
|
39
39
|
trackEvent(eventTypes.APPLY_NOW_CLICKED, {
|
|
40
40
|
jobCategory: item.fields.category,
|
|
41
41
|
jobCategoryClass: item.fields.categoryClass,
|
|
@@ -45,7 +45,7 @@ var ButtonGroupApply = function ButtonGroupApply(_ref) {
|
|
|
45
45
|
});
|
|
46
46
|
};
|
|
47
47
|
var trackEasyApply = function trackEasyApply() {
|
|
48
|
-
console.log('calling trackEasyApply');
|
|
48
|
+
//console.log('calling trackEasyApply');
|
|
49
49
|
trackEvent(eventTypes.EASY_APPLY_CLICKED, {
|
|
50
50
|
jobCategory: item.fields.category,
|
|
51
51
|
jobCategoryClass: item.fields.categoryClass,
|
|
@@ -55,7 +55,7 @@ var ButtonGroupApply = function ButtonGroupApply(_ref) {
|
|
|
55
55
|
});
|
|
56
56
|
};
|
|
57
57
|
var trackViewDetails = function trackViewDetails() {
|
|
58
|
-
console.log('calling trackViewDetails');
|
|
58
|
+
//console.log('calling trackViewDetails');
|
|
59
59
|
trackEvent(eventTypes.VIEW_DETAILS_CLICKED, {
|
|
60
60
|
jobCategory: item.fields.category,
|
|
61
61
|
jobCategoryClass: item.fields.categoryClass,
|
|
@@ -64,10 +64,10 @@ var ButtonGroupApply = function ButtonGroupApply(_ref) {
|
|
|
64
64
|
jobSchedule: item.fields.schedule
|
|
65
65
|
});
|
|
66
66
|
};
|
|
67
|
-
console.log(detailsUrl);
|
|
68
|
-
console.log(useDetailsPostMessage);
|
|
69
|
-
console.log(navigateToDetails);
|
|
70
|
-
console.log(useDetailsPostMessage === true && !navigateToDetails, 'query result');
|
|
67
|
+
// console.log(detailsUrl);
|
|
68
|
+
// console.log(useDetailsPostMessage);
|
|
69
|
+
// console.log(navigateToDetails);
|
|
70
|
+
// console.log(useDetailsPostMessage === true && !navigateToDetails, 'query result');
|
|
71
71
|
return /*#__PURE__*/React__default.createElement("nav", {
|
|
72
72
|
className: twMerge(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n hc-flex hc-flex-row hc-justify-between hc-gap-2 hc-w-full\n ", "\n "])), className !== null && className !== void 0 ? className : '')
|
|
73
73
|
}, Link ? /*#__PURE__*/React__default.createElement(Button.Link, {
|
|
@@ -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\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\
|
|
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\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 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\t// console.log(detailsUrl);\n\t// console.log(useDetailsPostMessage);\n\t// console.log(navigateToDetails);\n\t// console.log(useDetailsPostMessage === true && !navigateToDetails, 'query result');\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\tonClick={trackViewDetails}\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\tonClick={trackApplyNow}\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}>\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\tonClick={trackApplyNow} // TODO: Move event to popup\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\tonClick={trackEasyApply}\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","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","trackEasyApply","EASY_APPLY_CLICKED","trackViewDetails","VIEW_DETAILS_CLICKED","React","createElement","twMerge","_templateObject","_taggedTemplateLiteral","Button","variant","size","sendEvent","Anchor","onClick","applyOnline","applyUrl","ApplyDialog","easyApply","concat"],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ var Filter = function Filter(_ref) {
|
|
|
10
10
|
handleReset = _ref.handleReset,
|
|
11
11
|
style = _ref.style,
|
|
12
12
|
children = _ref.children;
|
|
13
|
-
console.log(style);
|
|
14
13
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
15
14
|
style: style,
|
|
16
15
|
className: "\n hc-relative hc-max-h-[95%] md:hc-max-h-[100%] hc-overflow-y-auto hc-overflow-x-auto\n ".concat(className !== null && className !== void 0 ? className : "", "\n ")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/modules/filter/index.js"],"sourcesContent":["import React from 'react';\nimport Button from '~/components/modules/buttons/default';\n\nconst Filter = ({\n\tclassName,\n\thasActiveFilters,\n\tfilteredListings,\n\tselectedFilters,\n\tsetMobileTab,\n\thandleReset,\n\tstyle,\n\tchildren\n}) => {\n\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/modules/filter/index.js"],"sourcesContent":["import React from 'react';\nimport Button from '~/components/modules/buttons/default';\n\nconst Filter = ({\n\tclassName,\n\thasActiveFilters,\n\tfilteredListings,\n\tselectedFilters,\n\tsetMobileTab,\n\thandleReset,\n\tstyle,\n\tchildren\n}) => {\n\treturn (\n\t\t<div\n\t\t\tstyle={style}\n\t\t\tclassName={`\n hc-relative hc-max-h-[95%] md:hc-max-h-[100%] hc-overflow-y-auto hc-overflow-x-auto\n ${className ?? \"\"}\n `}\n\t\t>\n\t\t\t<div className=\"hc-px-4 md:hc-pt-4 hc-space-y-4\">\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t\t<div className=\"hc-sticky hc-bottom-0 hc-inset-x-0 hc-flex hc-items-center hc-justify-between hc-gap-2 hc-py-2 hc-px-4 hc-mt-2 hc-bg-white md:hc-bg-gray-100\">\n\t\t\t\t<Button.Btn\n\t\t\t\t\tonClick={handleReset}\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t>\n Reset All\n\t\t\t\t</Button.Btn>\n\t\t\t\t{selectedFilters && Object.keys(selectedFilters).length > 0 &&\n <Button.Btn\n \tonClick={() => setMobileTab(\"listTab\")}\n \tvariant=\"primary\"\n \tsize=\"sm\"\n \tclassName={`\n md:hc-hidden\n ${hasActiveFilters ? \"hc-opacity-0 hc-pointer-events-none\" : \"hc-opacity-100\"}\n `}\n >\n \t<Button.Body>\n \t\t<Button.Icon\n \t\t\ticon=\"fluent:search-12-filled\"\n \t\t\tsize=\"hc-size-3.5\"\n \t\t/>\n Show {filteredListings.length} Jobs\n \t</Button.Body>\n </Button.Btn>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default Filter;\n"],"names":["Filter","_ref","className","hasActiveFilters","filteredListings","selectedFilters","setMobileTab","handleReset","style","children","React","createElement","concat","Button","Btn","onClick","variant","size","Object","keys","length","Body","Icon","icon"],"mappings":";;;AAGA,IAAMA,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EASN;AAAA,EAAA,IARLC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,gBAAgB,GAAAF,IAAA,CAAhBE,gBAAgB;IAChBC,gBAAgB,GAAAH,IAAA,CAAhBG,gBAAgB;IAChBC,eAAe,GAAAJ,IAAA,CAAfI,eAAe;IACfC,YAAY,GAAAL,IAAA,CAAZK,YAAY;IACZC,WAAW,GAAAN,IAAA,CAAXM,WAAW;IACXC,KAAK,GAAAP,IAAA,CAALO,KAAK;IACLC,QAAQ,GAAAR,IAAA,CAARQ,QAAQ,CAAA;EAER,oBACCC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACCH,IAAAA,KAAK,EAAEA,KAAM;IACbN,SAAS,EAAA,yGAAA,CAAAU,MAAA,CAEFV,SAAS,aAATA,SAAS,KAAA,KAAA,CAAA,GAATA,SAAS,GAAI,EAAE,EAAA,UAAA,CAAA;GAGtBQ,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKT,IAAAA,SAAS,EAAC,iCAAA;AAAiC,GAAA,EAC9CO,QACG,CAAC,eACNC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKT,IAAAA,SAAS,EAAC,8IAAA;AAA8I,GAAA,eAC5JQ,cAAA,CAAAC,aAAA,CAACE,MAAM,CAACC,GAAG,EAAA;AACVC,IAAAA,OAAO,EAAER,WAAY;AACrBS,IAAAA,OAAO,EAAC,SAAS;AACjBC,IAAAA,IAAI,EAAC,IAAA;GACL,EAAA,WAEW,CAAC,EACZZ,eAAe,IAAIa,MAAM,CAACC,IAAI,CAACd,eAAe,CAAC,CAACe,MAAM,GAAG,CAAC,iBACrDV,cAAA,CAAAC,aAAA,CAACE,MAAM,CAACC,GAAG,EAAA;IACVC,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMT,YAAY,CAAC,SAAS,CAAC,CAAA;KAAC;AACvCU,IAAAA,OAAO,EAAC,SAAS;AACjBC,IAAAA,IAAI,EAAC,IAAI;AACTf,IAAAA,SAAS,iDAAAU,MAAA,CAEJT,gBAAgB,GAAG,qCAAqC,GAAG,gBAAgB,EAAA,gBAAA,CAAA;AAC7E,GAAA,eAEHO,cAAA,CAAAC,aAAA,CAACE,MAAM,CAACQ,IAAI,EACXX,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAACE,MAAM,CAACS,IAAI,EAAA;AACXC,IAAAA,IAAI,EAAC,yBAAyB;AAC9BN,IAAAA,IAAI,EAAC,aAAA;GACL,CAAC,EACK,OAAA,EAACb,gBAAgB,CAACgB,MAAM,EAAC,OACpB,CACF,CAEd,CACD,CAAC,CAAA;AAER;;;;"}
|
|
@@ -20,7 +20,7 @@ const getQuery = () => {
|
|
|
20
20
|
}
|
|
21
21
|
return query;
|
|
22
22
|
};
|
|
23
|
-
const MapListProvider = ({ children, siteConfig, resetFilters, navigateToDetails, navigateToEasyApply, Link, linkFormat, easyApplyUrl, easyApplyText, trackEvent, listings = [], setFiltersUrl, hiddenFilters, handleUrlUpdate, defaultFilters, containerStyle }) => {
|
|
23
|
+
const MapListProvider = ({ children, siteConfig, resetFilters, navigateToDetails, navigateToEasyApply, Link, linkFormat, easyApplyUrl, easyApplyText, trackEvent, listings = [], setFiltersUrl, hiddenFilters, handleUrlUpdate, defaultFilters, containerStyle, ExpandListComponent }) => {
|
|
24
24
|
const firstLoadFilters = () => {
|
|
25
25
|
let urlFilters = filtersFromURL(window.location)?.filters;
|
|
26
26
|
return (setFiltersUrl === true && urlFilters && Object.keys(urlFilters).length > 0) ? urlFilters : getStorageObject('selectedFilters', {}) || {};
|
|
@@ -96,8 +96,6 @@ const MapListProvider = ({ children, siteConfig, resetFilters, navigateToDetails
|
|
|
96
96
|
try {
|
|
97
97
|
const { listingsResult, fetchedRecruiters, fetchedEntities, distinctItems } = await fetchListings(query ?? '', siteConfig, commuteLocation);
|
|
98
98
|
if (defaultFilters) {
|
|
99
|
-
console.log(defaultFilters);
|
|
100
|
-
console.log(listingsResult);
|
|
101
99
|
const filteredListings = listingsResult.filter(listing => {
|
|
102
100
|
if (!listing.fields)
|
|
103
101
|
return false;
|
|
@@ -107,7 +105,6 @@ const MapListProvider = ({ children, siteConfig, resetFilters, navigateToDetails
|
|
|
107
105
|
return filterValues.includes(listingValue);
|
|
108
106
|
});
|
|
109
107
|
});
|
|
110
|
-
console.log(filteredListings);
|
|
111
108
|
setAllListings(filteredListings);
|
|
112
109
|
}
|
|
113
110
|
else {
|
|
@@ -215,7 +212,8 @@ const MapListProvider = ({ children, siteConfig, resetFilters, navigateToDetails
|
|
|
215
212
|
trackEvent,
|
|
216
213
|
defaultFilters,
|
|
217
214
|
hiddenFilters,
|
|
218
|
-
containerStyle
|
|
215
|
+
containerStyle,
|
|
216
|
+
ExpandListComponent
|
|
219
217
|
} }, children));
|
|
220
218
|
};
|
|
221
219
|
|
|
@@ -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';\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 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}\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 trackEvent: (event: string) => void;\n listings?: Listing[];\n setFiltersUrl?:boolean;\n hiddenFilters?: string[];\n handleUrlUpdate: (searchParams: string) => void;\n defaultFilters?: Record<string, any>;\n containerStyle?: any;\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\ttrackEvent,\n\tlistings = [],\n\tsetFiltersUrl,\n\thiddenFilters,\n\thandleUrlUpdate,\n\tdefaultFilters,\n\tcontainerStyle\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('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\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\tconst fetchedEntities = await getListingEntities(\n\t\t\t\t\tdistinctEntityIds,\n\t\t\t\t\t`${commuteLocation.lat}, ${commuteLocation.lng}`\n\t\t\t\t);\n\t\t\t\tsetListingEntities(fetchedEntities);\n\t\t\t\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\tfetchedRecruiters,\n\t\t\t\t\tfetchedEntities,\n\t\t\t\t\tdistinctItems\n\t\t\t\t} = await fetchListings(query ?? '', siteConfig, commuteLocation);\n\t\t\t\tif (defaultFilters) {\n\t\t\t\t\tconsole.log(defaultFilters);\n\t\t\t\tconsole.log(listingsResult);\n\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\tconsole.log(filteredListings);\n\t\t\t\tsetAllListings(filteredListings);\n\t\t\t} else {\n\t\t\t\tsetAllListings(listingsResult);\n\t\t\t}\n\n\t\t\t\tsetRecruiters(fetchedRecruiters);\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]);\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('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\tsortSetting,\n\t\t\tsetSortSetting,\n\t\t\ttrackEvent,\n\t\t\tdefaultFilters,\n\t\t\thiddenFilters,\n\t\t\tcontainerStyle\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';\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 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 trackEvent: (event: string) => void;\n listings?: Listing[];\n setFiltersUrl?:boolean;\n hiddenFilters?: string[];\n handleUrlUpdate: (searchParams: string) => void;\n defaultFilters?: Record<string, any>;\n containerStyle?: 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\ttrackEvent,\n\tlistings = [],\n\tsetFiltersUrl,\n\thiddenFilters,\n\thandleUrlUpdate,\n\tdefaultFilters,\n\tcontainerStyle,\n\tExpandListComponent\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('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\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\tconst fetchedEntities = await getListingEntities(\n\t\t\t\t\tdistinctEntityIds,\n\t\t\t\t\t`${commuteLocation.lat}, ${commuteLocation.lng}`\n\t\t\t\t);\n\t\t\t\tsetListingEntities(fetchedEntities);\n\t\t\t\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\tfetchedRecruiters,\n\t\t\t\t\tfetchedEntities,\n\t\t\t\t\tdistinctItems\n\t\t\t\t} = await fetchListings(query ?? '', siteConfig, commuteLocation);\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\n\t\t\t\tsetRecruiters(fetchedRecruiters);\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]);\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('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\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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"}
|
|
@@ -47,6 +47,9 @@ interface MapListContextProps {
|
|
|
47
47
|
defaultFilters?: Record<string, any>;
|
|
48
48
|
hiddenFilters?: string[];
|
|
49
49
|
containerStyle?: any;
|
|
50
|
+
ExpandListComponent?: React.ComponentType<{
|
|
51
|
+
listing: any;
|
|
52
|
+
}> | ((listing: any) => JSX.Element) | null;
|
|
50
53
|
}
|
|
51
54
|
export declare const useMapList: () => MapListContextProps;
|
|
52
55
|
interface MapListProviderProps {
|
|
@@ -66,6 +69,9 @@ interface MapListProviderProps {
|
|
|
66
69
|
handleUrlUpdate: (searchParams: string) => void;
|
|
67
70
|
defaultFilters?: Record<string, any>;
|
|
68
71
|
containerStyle?: any;
|
|
72
|
+
ExpandListComponent?: React.ComponentType<{
|
|
73
|
+
listing: Listing;
|
|
74
|
+
}> | ((listing: Listing) => JSX.Element) | null;
|
|
69
75
|
}
|
|
70
76
|
export declare const MapListProvider: React.FC<MapListProviderProps>;
|
|
71
77
|
export {};
|
package/package.json
CHANGED
|
@@ -33,7 +33,8 @@ export const HireControlMap = ({
|
|
|
33
33
|
listings = [],
|
|
34
34
|
defaultFilters = null,
|
|
35
35
|
hiddenFilters = null,
|
|
36
|
-
setFiltersUrl = null
|
|
36
|
+
setFiltersUrl = null,
|
|
37
|
+
ExpandListComponent = null
|
|
37
38
|
}) => {
|
|
38
39
|
const [siteConfig, setSiteconfig] = useState(null);
|
|
39
40
|
useEffect(() => {
|
|
@@ -74,13 +75,14 @@ export const HireControlMap = ({
|
|
|
74
75
|
handleUrlUpdate={handleUrlUpdate}
|
|
75
76
|
defaultFilters={defaultFilters}
|
|
76
77
|
containerStyle={containerStyle}
|
|
78
|
+
ExpandListComponent={ExpandListComponent}
|
|
77
79
|
/>
|
|
78
80
|
)}
|
|
79
81
|
</div>
|
|
80
82
|
);
|
|
81
83
|
};
|
|
82
84
|
|
|
83
|
-
const HomeBody = ({ containerStyle, hiddenFilters, defaultFilters, siteConfig, navigateToDetails, navigateToEasyApply, Link, linkFormat, easyApplyUrl, easyApplyText, trackEvent, listings, setFiltersUrl, handleUrlUpdate }) => {
|
|
85
|
+
const HomeBody = ({ containerStyle, hiddenFilters, defaultFilters, siteConfig, navigateToDetails, navigateToEasyApply, Link, linkFormat, easyApplyUrl, easyApplyText, trackEvent, listings, setFiltersUrl, handleUrlUpdate, ExpandListComponent }) => {
|
|
84
86
|
const resetFilters = false;
|
|
85
87
|
|
|
86
88
|
return (
|
|
@@ -101,6 +103,7 @@ const HomeBody = ({ containerStyle, hiddenFilters, defaultFilters, siteConfig, n
|
|
|
101
103
|
handleUrlUpdate={handleUrlUpdate}
|
|
102
104
|
defaultFilters={defaultFilters}
|
|
103
105
|
containerStyle={containerStyle}
|
|
106
|
+
ExpandListComponent={ExpandListComponent ?? null}
|
|
104
107
|
>
|
|
105
108
|
<MapProvider resetFilters={resetFilters}>
|
|
106
109
|
<PlacesProvider
|
|
@@ -23,12 +23,12 @@ const ItemsListContainer: React.FC<ItemsListContainerProps> = ({
|
|
|
23
23
|
fieldsShown,
|
|
24
24
|
specialFeatures
|
|
25
25
|
}) => {
|
|
26
|
-
const { filteredListings, loading, commuteLocation, sortSetting, setSortSetting } = useMapList();
|
|
26
|
+
const { filteredListings, loading, commuteLocation, sortSetting, setSortSetting, ExpandListComponent } = useMapList();
|
|
27
27
|
const { itemLimit, loader, scrollContainerRef, itemRefs } = useListLogic(filteredListings as any);
|
|
28
28
|
const { selectedListItem } = useMap();
|
|
29
29
|
const { trackEvent, eventTypes } = useTrackEvent() as any;
|
|
30
30
|
const itemExpandedContent = (item: any, recruiter: any) =>
|
|
31
|
-
item ? <ListingDetailsContainer item={item} recruiter={recruiter} /> : null;
|
|
31
|
+
item ? (ExpandListComponent ? <ExpandListComponent listing={item} /> : <ListingDetailsContainer item={item} recruiter={recruiter} />) : null;
|
|
32
32
|
|
|
33
33
|
if (!fieldsShown.includes('travelTime') && commuteLocation != null && Object.entries(commuteLocation).length > 0) {
|
|
34
34
|
fieldsShown.push('travelTime');
|
|
@@ -29,21 +29,21 @@ const ButtonGroupApply = ({
|
|
|
29
29
|
const href = linkFormat.replace('[slug]', item.slug ?? item.id);
|
|
30
30
|
|
|
31
31
|
const trackApplyNow = () => {
|
|
32
|
-
console.log('calling trackApplyNow');
|
|
32
|
+
//console.log('calling trackApplyNow');
|
|
33
33
|
trackEvent(eventTypes.APPLY_NOW_CLICKED, { jobCategory: item.fields.category, jobCategoryClass: item.fields.categoryClass, jobEntity: item.fields.entityName, jobListingId: item.id, jobSchedule: item.fields.schedule });
|
|
34
34
|
};
|
|
35
35
|
const trackEasyApply = () => {
|
|
36
|
-
console.log('calling trackEasyApply');
|
|
36
|
+
//console.log('calling trackEasyApply');
|
|
37
37
|
trackEvent(eventTypes.EASY_APPLY_CLICKED, { jobCategory: item.fields.category, jobCategoryClass: item.fields.categoryClass, jobEntity: item.fields.entityName, jobListingId: item.id, jobSchedule: item.fields.schedule });
|
|
38
38
|
};
|
|
39
39
|
const trackViewDetails = () => {
|
|
40
|
-
console.log('calling trackViewDetails');
|
|
40
|
+
//console.log('calling trackViewDetails');
|
|
41
41
|
trackEvent(eventTypes.VIEW_DETAILS_CLICKED, { jobCategory: item.fields.category, jobCategoryClass: item.fields.categoryClass, jobEntity: item.fields.entityName, jobListingId: item.id, jobSchedule: item.fields.schedule });
|
|
42
42
|
};
|
|
43
|
-
console.log(detailsUrl);
|
|
44
|
-
console.log(useDetailsPostMessage);
|
|
45
|
-
console.log(navigateToDetails);
|
|
46
|
-
console.log(useDetailsPostMessage === true && !navigateToDetails, 'query result');
|
|
43
|
+
// console.log(detailsUrl);
|
|
44
|
+
// console.log(useDetailsPostMessage);
|
|
45
|
+
// console.log(navigateToDetails);
|
|
46
|
+
// console.log(useDetailsPostMessage === true && !navigateToDetails, 'query result');
|
|
47
47
|
return (
|
|
48
48
|
<nav
|
|
49
49
|
className={twMerge`
|
|
@@ -50,6 +50,7 @@ interface MapListContextProps {
|
|
|
50
50
|
defaultFilters?: Record<string, any>;
|
|
51
51
|
hiddenFilters?: string[];
|
|
52
52
|
containerStyle?: any;
|
|
53
|
+
ExpandListComponent?: React.ComponentType<{ listing: any }> | ((listing: any) => JSX.Element) | null;
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
const MapListContext = createContext<MapListContextProps | undefined>(undefined);
|
|
@@ -87,6 +88,7 @@ interface MapListProviderProps {
|
|
|
87
88
|
handleUrlUpdate: (searchParams: string) => void;
|
|
88
89
|
defaultFilters?: Record<string, any>;
|
|
89
90
|
containerStyle?: any;
|
|
91
|
+
ExpandListComponent?: React.ComponentType<{ listing: Listing }> | ((listing: Listing) => JSX.Element) | null;
|
|
90
92
|
}
|
|
91
93
|
|
|
92
94
|
export const MapListProvider: React.FC<MapListProviderProps> = ({
|
|
@@ -105,7 +107,8 @@ export const MapListProvider: React.FC<MapListProviderProps> = ({
|
|
|
105
107
|
hiddenFilters,
|
|
106
108
|
handleUrlUpdate,
|
|
107
109
|
defaultFilters,
|
|
108
|
-
containerStyle
|
|
110
|
+
containerStyle,
|
|
111
|
+
ExpandListComponent
|
|
109
112
|
}) => {
|
|
110
113
|
const firstLoadFilters = () =>{
|
|
111
114
|
let urlFilters = filtersFromURL(window.location)?.filters;
|
|
@@ -201,9 +204,7 @@ export const MapListProvider: React.FC<MapListProviderProps> = ({
|
|
|
201
204
|
distinctItems
|
|
202
205
|
} = await fetchListings(query ?? '', siteConfig, commuteLocation);
|
|
203
206
|
if (defaultFilters) {
|
|
204
|
-
|
|
205
|
-
console.log(listingsResult);
|
|
206
|
-
const filteredListings = listingsResult.filter(listing => {
|
|
207
|
+
const filteredListings = listingsResult.filter(listing => {
|
|
207
208
|
if (!listing.fields) return false;
|
|
208
209
|
|
|
209
210
|
return Object.keys(defaultFilters).every(filterKey => {
|
|
@@ -212,7 +213,6 @@ export const MapListProvider: React.FC<MapListProviderProps> = ({
|
|
|
212
213
|
return filterValues.includes(listingValue);
|
|
213
214
|
});
|
|
214
215
|
});
|
|
215
|
-
console.log(filteredListings);
|
|
216
216
|
setAllListings(filteredListings);
|
|
217
217
|
} else {
|
|
218
218
|
setAllListings(listingsResult);
|
|
@@ -347,7 +347,8 @@ export const MapListProvider: React.FC<MapListProviderProps> = ({
|
|
|
347
347
|
trackEvent,
|
|
348
348
|
defaultFilters,
|
|
349
349
|
hiddenFilters,
|
|
350
|
-
containerStyle
|
|
350
|
+
containerStyle,
|
|
351
|
+
ExpandListComponent
|
|
351
352
|
}}>
|
|
352
353
|
{children}
|
|
353
354
|
</MapListContext.Provider>
|