@abcagency/hc-ui-components 1.3.45 → 1.3.47
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/apis/hcApi.js +1 -1
- package/dist/apis/hcApi.js.map +1 -1
- package/dist/components/containers/accordions/filter-container.js.map +1 -1
- package/dist/components/containers/accordions/filter-item-container.js +1 -0
- package/dist/components/containers/accordions/filter-item-container.js.map +1 -1
- package/dist/components/containers/filter/filter-item-container.js +3 -0
- package/dist/components/containers/filter/filter-item-container.js.map +1 -1
- package/dist/components/containers/maps/info-window-content-container.js +3 -3
- package/dist/components/containers/maps/info-window-content-container.js.map +1 -1
- package/dist/components/modules/filter/item.js.map +1 -1
- package/dist/components/modules/filter/location.js +3 -0
- package/dist/components/modules/filter/location.js.map +1 -1
- package/package.json +1 -1
- package/src/components/containers/accordions/filter-container.js +48 -50
- package/src/components/containers/accordions/filter-item-container.js +1 -0
- package/src/components/containers/filter/filter-item-container.js +80 -77
- package/src/components/containers/maps/info-window-content-container.js +2 -2
- package/src/components/modules/filter/item.js +69 -70
- package/src/components/modules/filter/location.js +7 -4
package/dist/apis/hcApi.js
CHANGED
package/dist/apis/hcApi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hcApi.js","sources":["../../src/apis/hcApi.ts"],"sourcesContent":["import { getClientAuthKey } from '~/clientToken';\r\nconst baseURL = process.env.HC_API_BASE_URL as string;\r\n\r\ninterface MemoryStorage {\r\n\tauthToken: string | null;\r\n\ttokenExpiration: string | null;\r\n}\r\n\r\nconst memoryStorage: MemoryStorage = {\r\n\tauthToken: null,\r\n\ttokenExpiration: null\r\n};\r\n\r\nfunction setStorage(key: keyof MemoryStorage, value: string): void {\r\n\ttry {\r\n\t\tsessionStorage.setItem(key, value);\r\n\t} catch (error) {\r\n\t\tmemoryStorage[key] = value;\r\n\t}\r\n}\r\n\r\nfunction getStorage(key: keyof MemoryStorage): string | null {\r\n\ttry {\r\n\t\treturn sessionStorage.getItem(key) || memoryStorage[key];\r\n\t} catch (error) {\r\n\t\treturn memoryStorage[key];\r\n\t}\r\n}\r\n\r\ninterface AuthResponse {\r\n\ttoken: string;\r\n\texpiration: string;\r\n}\r\n\r\nconst login = async (): Promise<AuthResponse> => {\r\n\tconst clientAuthKey = getClientAuthKey();\r\n\r\n\ttry {\r\n\t\tconst response = await fetch(`${baseURL}/auth/login`, {\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json'\r\n\t\t\t},\r\n\t\t\tbody: JSON.stringify({\r\n\t\t\t\tclientAuthKey: clientAuthKey\r\n\t\t\t})\r\n\t\t});\r\n\r\n\t\tif (!response.ok) {\r\n\t\t\tthrow new Error('Login failed');\r\n\t\t}\r\n\r\n\t\tconst data = await response.json();\r\n\r\n\t\tif (data.token && data.expiration) {\r\n\t\t\tsetStorage('authToken', data.token);\r\n\t\t\tsetStorage('tokenExpiration', data.expiration);\r\n\t\t\treturn { token: data.token, expiration: data.expiration };\r\n\t\t} else {\r\n\t\t\tthrow new Error('Invalid login response');\r\n\t\t}\r\n\t} catch (error) {\r\n\t\tconsole.error('Login failed:', error);\r\n\t\tthrow error;\r\n\t}\r\n};\r\n\r\nconst fetchWithAuth = async (url: string, options: RequestInit = {}): Promise<Response> => {\r\n\tlet token = getStorage('authToken');\r\n\r\n\tconst expirationDateTime = getStorage('tokenExpiration');\r\n\tconst currentTime = new Date();\r\n\r\n\tif (!token || !expirationDateTime || new Date(expirationDateTime) <= currentTime) {\r\n\t\tconst authResponse = await login();\r\n\t\ttoken = authResponse.token;\r\n\t}\r\n\r\n\tconst headers = new Headers(options.headers || {});\r\n\theaders.append('Authorization', `Bearer ${token}`);\r\n\r\n\tconst finalOptions = {\r\n\t\t...options,\r\n\t\theaders\r\n\t};\r\n\r\n\tconst response = await fetch(`${baseURL}${url}`, finalOptions);\r\n\r\n\tif (!response.ok) throw new Error('Network response was not ok.');\r\n\r\n\treturn response;\r\n};\r\n\r\nexport default {\r\n\tget: async <T>(url: string): Promise<T> => {\r\n\t\tconst response = await fetchWithAuth(url);\r\n\t\treturn await response.json() as T;\r\n\t},\r\n\tpost: async <T>(url: string, data: any): Promise<T> => {\r\n\t\tconst response = await fetchWithAuth(url, {\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json'\r\n\t\t\t},\r\n\t\t\tbody: JSON.stringify(data)\r\n\t\t});\r\n\t\treturn await response.json() as T;\r\n\t}\r\n};\r\n"],"names":[],"mappings":";;AACA,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"hcApi.js","sources":["../../src/apis/hcApi.ts"],"sourcesContent":["import { getClientAuthKey } from '~/clientToken';\r\nconst baseURL = process.env.HC_API_BASE_URL as string;\r\n\r\ninterface MemoryStorage {\r\n\tauthToken: string | null;\r\n\ttokenExpiration: string | null;\r\n}\r\n\r\nconst memoryStorage: MemoryStorage = {\r\n\tauthToken: null,\r\n\ttokenExpiration: null\r\n};\r\n\r\nfunction setStorage(key: keyof MemoryStorage, value: string): void {\r\n\ttry {\r\n\t\tsessionStorage.setItem(key, value);\r\n\t} catch (error) {\r\n\t\tmemoryStorage[key] = value;\r\n\t}\r\n}\r\n\r\nfunction getStorage(key: keyof MemoryStorage): string | null {\r\n\ttry {\r\n\t\treturn sessionStorage.getItem(key) || memoryStorage[key];\r\n\t} catch (error) {\r\n\t\treturn memoryStorage[key];\r\n\t}\r\n}\r\n\r\ninterface AuthResponse {\r\n\ttoken: string;\r\n\texpiration: string;\r\n}\r\n\r\nconst login = async (): Promise<AuthResponse> => {\r\n\tconst clientAuthKey = getClientAuthKey();\r\n\r\n\ttry {\r\n\t\tconst response = await fetch(`${baseURL}/auth/login`, {\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json'\r\n\t\t\t},\r\n\t\t\tbody: JSON.stringify({\r\n\t\t\t\tclientAuthKey: clientAuthKey\r\n\t\t\t})\r\n\t\t});\r\n\r\n\t\tif (!response.ok) {\r\n\t\t\tthrow new Error('Login failed');\r\n\t\t}\r\n\r\n\t\tconst data = await response.json();\r\n\r\n\t\tif (data.token && data.expiration) {\r\n\t\t\tsetStorage('authToken', data.token);\r\n\t\t\tsetStorage('tokenExpiration', data.expiration);\r\n\t\t\treturn { token: data.token, expiration: data.expiration };\r\n\t\t} else {\r\n\t\t\tthrow new Error('Invalid login response');\r\n\t\t}\r\n\t} catch (error) {\r\n\t\tconsole.error('Login failed:', error);\r\n\t\tthrow error;\r\n\t}\r\n};\r\n\r\nconst fetchWithAuth = async (url: string, options: RequestInit = {}): Promise<Response> => {\r\n\tlet token = getStorage('authToken');\r\n\r\n\tconst expirationDateTime = getStorage('tokenExpiration');\r\n\tconst currentTime = new Date();\r\n\r\n\tif (!token || !expirationDateTime || new Date(expirationDateTime) <= currentTime) {\r\n\t\tconst authResponse = await login();\r\n\t\ttoken = authResponse.token;\r\n\t}\r\n\r\n\tconst headers = new Headers(options.headers || {});\r\n\theaders.append('Authorization', `Bearer ${token}`);\r\n\r\n\tconst finalOptions = {\r\n\t\t...options,\r\n\t\theaders\r\n\t};\r\n\r\n\tconst response = await fetch(`${baseURL}${url}`, finalOptions);\r\n\r\n\tif (!response.ok) throw new Error('Network response was not ok.');\r\n\r\n\treturn response;\r\n};\r\n\r\nexport default {\r\n\tget: async <T>(url: string): Promise<T> => {\r\n\t\tconst response = await fetchWithAuth(url);\r\n\t\treturn await response.json() as T;\r\n\t},\r\n\tpost: async <T>(url: string, data: any): Promise<T> => {\r\n\t\tconst response = await fetchWithAuth(url, {\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json'\r\n\t\t\t},\r\n\t\t\tbody: JSON.stringify(data)\r\n\t\t});\r\n\t\treturn await response.json() as T;\r\n\t}\r\n};\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-container.js","sources":["../../../../src/components/containers/accordions/filter-container.js"],"sourcesContent":["import React from 'react';\nimport { useMapList } from '~/contexts/mapListContext';\nimport AccordionFilters from '~/components/modules/accordions/filters';\nimport AccordionFilterItem from '~/components/containers/accordions/filter-item-container';\n\nconst AccordionFiltersContainer = ({\n\tclassName,\n\tdefaultValue,\n\tsetDefaultValue,\n\tsetLocation,\n\tsetSelectedListItem,\n\tSubcategoryRequireCategory\n}) => {\n\tconst { filterOptions, selectedFilters, setSelectedFilters, siteConfig } = useMapList();\n\n\tconst handleSetSelectedFilters = prevFilters => {\n\t\tsetSelectedFilters(prevFilters);\n\t\tsetLocation(null);\n\t\tsetSelectedListItem(null);\n\t};\n\treturn (\n\t\t<AccordionFilters\n\t\t\tclassName={className}\n\t\t\tdefaultValue={defaultValue}\n\t\t\tfilterOptions={filterOptions}\n\t\t>\
|
|
1
|
+
{"version":3,"file":"filter-container.js","sources":["../../../../src/components/containers/accordions/filter-container.js"],"sourcesContent":["import React from 'react';\r\nimport { useMapList } from '~/contexts/mapListContext';\r\nimport AccordionFilters from '~/components/modules/accordions/filters';\r\nimport AccordionFilterItem from '~/components/containers/accordions/filter-item-container';\r\n\r\nconst AccordionFiltersContainer = ({\r\n\tclassName,\r\n\tdefaultValue,\r\n\tsetDefaultValue,\r\n\tsetLocation,\r\n\tsetSelectedListItem,\r\n\tSubcategoryRequireCategory\r\n}) => {\r\n\tconst { filterOptions, selectedFilters, setSelectedFilters, siteConfig } = useMapList();\r\n\r\n\tconst handleSetSelectedFilters = prevFilters => {\r\n\t\tsetSelectedFilters(prevFilters);\r\n\t\tsetLocation(null);\r\n\t\tsetSelectedListItem(null);\r\n\t};\r\n\treturn (\r\n\t\t<AccordionFilters\r\n\t\t\tclassName={className}\r\n\t\t\tdefaultValue={defaultValue}\r\n\t\t\tfilterOptions={filterOptions}\r\n\t\t>\r\n\t\t\t{filterOptions?.filters?.map(filter => {\r\n\t\t\t\tif(filter.id === 'category' && SubcategoryRequireCategory === true && (!selectedFilters.categoryClass || Object.keys(selectedFilters.categoryClass).length < 1)){\r\n\t\t\t\t\treturn;\r\n\t\t\t\t} else if (filter.id === 'category' && SubcategoryRequireCategory === true && filter.items.length > 0) {\r\n\t\t\t\t\tfilter.items = filter.items.filter(item => item.count > 0);\r\n\t\t\t\t}\r\n\t\t\t\treturn (<AccordionFilterItem\r\n\t\t\t\t\tkey={filter.id}\r\n\t\t\t\t\tfilter={filter}\r\n\t\t\t\t\texternalLinksInFilters={siteConfig.externalLinksInFilters}\r\n\t\t\t\t\tsetDefaultValue={setDefaultValue}\r\n\t\t\t\t\tselectedFilters={selectedFilters}\r\n\t\t\t\t\tsetSelectedFilters={handleSetSelectedFilters}\r\n\t\t\t\t\tsubcategoryRequireCategory={siteConfig.subcategoryRequireCategory}\r\n\t\t\t\t/>);\r\n\t\t\t}\r\n\t\t\t)}\r\n\t\t</AccordionFilters>\r\n\t);\r\n};\r\n\r\nexport default AccordionFiltersContainer;\r\n"],"names":["AccordionFiltersContainer","_ref","_filterOptions$filter","className","defaultValue","setDefaultValue","setLocation","setSelectedListItem","SubcategoryRequireCategory","_useMapList","useMapList","filterOptions","selectedFilters","setSelectedFilters","siteConfig","handleSetSelectedFilters","prevFilters","React","createElement","AccordionFilters","filters","map","filter","id","categoryClass","Object","keys","length","items","item","count","AccordionFilterItem","key","externalLinksInFilters","subcategoryRequireCategory"],"mappings":";;;;;AAKA,IAAMA,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,IAAA,EAOzB;AAAA,EAAA,IAAAC,qBAAA,CAAA;AAAA,EAAA,IANLC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,YAAY,GAAAH,IAAA,CAAZG,YAAY;IACZC,eAAe,GAAAJ,IAAA,CAAfI,eAAe;IACfC,WAAW,GAAAL,IAAA,CAAXK,WAAW;IACXC,mBAAmB,GAAAN,IAAA,CAAnBM,mBAAmB;IACnBC,0BAA0B,GAAAP,IAAA,CAA1BO,0BAA0B,CAAA;AAE1B,EAAA,IAAAC,WAAA,GAA2EC,UAAU,EAAE;IAA/EC,aAAa,GAAAF,WAAA,CAAbE,aAAa;IAAEC,eAAe,GAAAH,WAAA,CAAfG,eAAe;IAAEC,kBAAkB,GAAAJ,WAAA,CAAlBI,kBAAkB;IAAEC,UAAU,GAAAL,WAAA,CAAVK,UAAU,CAAA;AAEtE,EAAA,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGC,WAAW,EAAI;IAC/CH,kBAAkB,CAACG,WAAW,CAAC,CAAA;IAC/BV,WAAW,CAAC,IAAI,CAAC,CAAA;IACjBC,mBAAmB,CAAC,IAAI,CAAC,CAAA;GACzB,CAAA;AACD,EAAA,oBACCU,cAAA,CAAAC,aAAA,CAACC,gBAAgB,EAAA;AAChBhB,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,YAAY,EAAEA,YAAa;AAC3BO,IAAAA,aAAa,EAAEA,aAAAA;AAAc,GAAA,EAE5BA,aAAa,KAAbA,IAAAA,IAAAA,aAAa,gBAAAT,qBAAA,GAAbS,aAAa,CAAES,OAAO,MAAAlB,IAAAA,IAAAA,qBAAA,uBAAtBA,qBAAA,CAAwBmB,GAAG,CAAC,UAAAC,MAAM,EAAI;AACtC,IAAA,IAAGA,MAAM,CAACC,EAAE,KAAK,UAAU,IAAIf,0BAA0B,KAAK,IAAI,KAAK,CAACI,eAAe,CAACY,aAAa,IAAIC,MAAM,CAACC,IAAI,CAACd,eAAe,CAACY,aAAa,CAAC,CAACG,MAAM,GAAG,CAAC,CAAC,EAAC;AAC/J,MAAA,OAAA;AACD,KAAC,MAAM,IAAIL,MAAM,CAACC,EAAE,KAAK,UAAU,IAAIf,0BAA0B,KAAK,IAAI,IAAIc,MAAM,CAACM,KAAK,CAACD,MAAM,GAAG,CAAC,EAAE;MACtGL,MAAM,CAACM,KAAK,GAAGN,MAAM,CAACM,KAAK,CAACN,MAAM,CAAC,UAAAO,IAAI,EAAA;AAAA,QAAA,OAAIA,IAAI,CAACC,KAAK,GAAG,CAAC,CAAA;OAAC,CAAA,CAAA;AAC3D,KAAA;AACA,IAAA,oBAAQb,cAAA,CAAAC,aAAA,CAACa,mBAAmB,EAAA;MAC3BC,GAAG,EAAEV,MAAM,CAACC,EAAG;AACfD,MAAAA,MAAM,EAAEA,MAAO;MACfW,sBAAsB,EAAEnB,UAAU,CAACmB,sBAAuB;AAC1D5B,MAAAA,eAAe,EAAEA,eAAgB;AACjCO,MAAAA,eAAe,EAAEA,eAAgB;AACjCC,MAAAA,kBAAkB,EAAEE,wBAAyB;MAC7CmB,0BAA0B,EAAEpB,UAAU,CAACoB,0BAAAA;AAA2B,KAClE,CAAC,CAAA;AACH,GACA,CACiB,CAAC,CAAA;AAErB;;;;"}
|
|
@@ -26,6 +26,7 @@ var FilterItemContainer = function FilterItemContainer(_ref) {
|
|
|
26
26
|
}
|
|
27
27
|
if (fieldKey == 'state' || fieldKey == 'city' || fieldKey == 'cityState') {
|
|
28
28
|
delete updatedFilters.entityId;
|
|
29
|
+
delete updatedFilters['entityName'];
|
|
29
30
|
}
|
|
30
31
|
delete updatedFilters[fieldKey];
|
|
31
32
|
return updatedFilters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-item-container.js","sources":["../../../../src/components/containers/accordions/filter-item-container.js"],"sourcesContent":["import React, { memo } from 'react';\nimport AccordionFilterItem from '~/components/modules/accordions/filterItem';\nimport FilterItem from '~/components/containers/filter/filter-item-container';\nimport ItemsPill from '~/components/modules/buttons/items-pill';\n\nconst FilterItemContainer = ({\n\tfilter,\n\tsetDefaultValue,\n\tsetSelectedFilters,\n\tselectedFilters,\n\tsubcategoryRequireCategory = false,\n\texternalLinksInFilters\n}) => {\n\tconst externalLinks = externalLinksInFilters?.filter(x => x.fieldName == filter.id);\n\tconst fieldKey = filter.id;\n\tconst activeItemsCount = selectedFilters != null && selectedFilters[fieldKey]\n\t\t? Object.keys(selectedFilters[fieldKey]).length\n\t\t: 0;\n\n\tconst handleClearFilters = event => {\n\t\tevent.stopPropagation();\n\t\tsetSelectedFilters(prevFilters => {\n\t\t\tconst updatedFilters = { ...prevFilters };\n\t\t\tif(subcategoryRequireCategory && fieldKey == 'categoryClass'){\n\t\t\t\tdelete updatedFilters['category'];\n\t\t\t}\n\t\t\tif(fieldKey == 'state' || fieldKey == 'city' || fieldKey == 'cityState'){\n\t\t\t\tdelete updatedFilters.entityId;\n\t\t\t}\n\t\t\tdelete updatedFilters[fieldKey];\n\t\t\treturn updatedFilters;\n\t\t});\n\t};\n\n\tconst header = (\n\t\t<>\n\t\t\t{filter.title}\n\t\t\t{activeItemsCount > 0 && (\n\t\t\t\t<ItemsPill\n\t\t\t\t\tactiveItemsCount={activeItemsCount}\n\t\t\t\t\tonClick={handleClearFilters}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n\n\tconst body = (\n\t\t<>\n\t\t\t{filter.items.sort().map(item => (\n\t\t\t\t<FilterItem\n\t\t\t\t\tkey={item.name}\n\t\t\t\t\titem={item}\n\t\t\t\t\tfield={filter.id}\n\t\t\t\t\tselectedFilters={selectedFilters}\n\t\t\t\t\tsetSelectedFilters={setSelectedFilters}\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t{externalLinks && externalLinks.map(link => (\n\t\t\t\t<FilterItem\n\t\t\t\t\tkey={link.externalLink}\n\t\t\t\t\titem={<a href={link.externalLinkUrl}>{link.externalLink}</a>}\n\t\t\t\t\tisExternalLink={true}\n\t\t\t\t\texternalLinkUrl={link.externalLinkUrl}\n\t\t\t\t\tfield={filter.id}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</>\n\t);\n\n\treturn (\n\t\t<AccordionFilterItem\n\t\t\tid={filter.id}\n\t\t\tsetDefaultValue={setDefaultValue}\n\t\t\theader={header}\n\t\t\tbody={body}\n\t\t/>\n\t);\n};\n\nexport default memo(FilterItemContainer);\n"],"names":["FilterItemContainer","_ref","filter","setDefaultValue","setSelectedFilters","selectedFilters","_ref$subcategoryRequi","subcategoryRequireCategory","externalLinksInFilters","externalLinks","x","fieldName","id","fieldKey","activeItemsCount","Object","keys","length","handleClearFilters","event","stopPropagation","prevFilters","updatedFilters","_objectSpread","entityId","header","React","createElement","Fragment","title","ItemsPill","onClick","body","items","sort","map","item","FilterItem","key","name","field","link","externalLink","href","externalLinkUrl","isExternalLink","AccordionFilterItem","memo"],"mappings":";;;;;;AAKA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAOnB;AAAA,EAAA,IANLC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,eAAe,GAAAF,IAAA,CAAfE,eAAe;IACfC,kBAAkB,GAAAH,IAAA,CAAlBG,kBAAkB;IAClBC,eAAe,GAAAJ,IAAA,CAAfI,eAAe;IAAAC,qBAAA,GAAAL,IAAA,CACfM,0BAA0B;AAA1BA,IAAAA,0BAA0B,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAClCE,sBAAsB,GAAAP,IAAA,CAAtBO,sBAAsB,CAAA;EAEtB,IAAMC,aAAa,GAAGD,sBAAsB,KAAtBA,IAAAA,IAAAA,sBAAsB,KAAtBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAsB,CAAEN,MAAM,CAAC,UAAAQ,CAAC,EAAA;AAAA,IAAA,OAAIA,CAAC,CAACC,SAAS,IAAIT,MAAM,CAACU,EAAE,CAAA;GAAC,CAAA,CAAA;AACnF,EAAA,IAAMC,QAAQ,GAAGX,MAAM,CAACU,EAAE,CAAA;EAC1B,IAAME,gBAAgB,GAAGT,eAAe,IAAI,IAAI,IAAIA,eAAe,CAACQ,QAAQ,CAAC,GAC1EE,MAAM,CAACC,IAAI,CAACX,eAAe,CAACQ,QAAQ,CAAC,CAAC,CAACI,MAAM,GAC7C,CAAC,CAAA;AAEJ,EAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,KAAK,EAAI;IACnCA,KAAK,CAACC,eAAe,EAAE,CAAA;IACvBhB,kBAAkB,CAAC,UAAAiB,WAAW,EAAI;AACjC,MAAA,IAAMC,cAAc,GAAAC,cAAA,CAAA,EAAA,EAAQF,WAAW,CAAE,CAAA;AACzC,MAAA,IAAGd,0BAA0B,IAAIM,QAAQ,IAAI,eAAe,EAAC;QAC5D,OAAOS,cAAc,CAAC,UAAU,CAAC,CAAA;AAClC,OAAA;MACA,IAAGT,QAAQ,IAAI,OAAO,IAAIA,QAAQ,IAAI,MAAM,IAAIA,QAAQ,IAAI,WAAW,EAAC;QACvE,OAAOS,cAAc,CAACE,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"filter-item-container.js","sources":["../../../../src/components/containers/accordions/filter-item-container.js"],"sourcesContent":["import React, { memo } from 'react';\nimport AccordionFilterItem from '~/components/modules/accordions/filterItem';\nimport FilterItem from '~/components/containers/filter/filter-item-container';\nimport ItemsPill from '~/components/modules/buttons/items-pill';\n\nconst FilterItemContainer = ({\n\tfilter,\n\tsetDefaultValue,\n\tsetSelectedFilters,\n\tselectedFilters,\n\tsubcategoryRequireCategory = false,\n\texternalLinksInFilters\n}) => {\n\tconst externalLinks = externalLinksInFilters?.filter(x => x.fieldName == filter.id);\n\tconst fieldKey = filter.id;\n\tconst activeItemsCount = selectedFilters != null && selectedFilters[fieldKey]\n\t\t? Object.keys(selectedFilters[fieldKey]).length\n\t\t: 0;\n\n\tconst handleClearFilters = event => {\n\t\tevent.stopPropagation();\n\t\tsetSelectedFilters(prevFilters => {\n\t\t\tconst updatedFilters = { ...prevFilters };\n\t\t\tif(subcategoryRequireCategory && fieldKey == 'categoryClass'){\n\t\t\t\tdelete updatedFilters['category'];\n\t\t\t}\n\t\t\tif(fieldKey == 'state' || fieldKey == 'city' || fieldKey == 'cityState'){\n\t\t\t\tdelete updatedFilters.entityId;\n\t\t\t\tdelete updatedFilters['entityName'];\n\t\t\t}\n\t\t\tdelete updatedFilters[fieldKey];\n\t\t\treturn updatedFilters;\n\t\t});\n\t};\n\n\tconst header = (\n\t\t<>\n\t\t\t{filter.title}\n\t\t\t{activeItemsCount > 0 && (\n\t\t\t\t<ItemsPill\n\t\t\t\t\tactiveItemsCount={activeItemsCount}\n\t\t\t\t\tonClick={handleClearFilters}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n\n\tconst body = (\n\t\t<>\n\t\t\t{filter.items.sort().map(item => (\n\t\t\t\t<FilterItem\n\t\t\t\t\tkey={item.name}\n\t\t\t\t\titem={item}\n\t\t\t\t\tfield={filter.id}\n\t\t\t\t\tselectedFilters={selectedFilters}\n\t\t\t\t\tsetSelectedFilters={setSelectedFilters}\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t{externalLinks && externalLinks.map(link => (\n\t\t\t\t<FilterItem\n\t\t\t\t\tkey={link.externalLink}\n\t\t\t\t\titem={<a href={link.externalLinkUrl}>{link.externalLink}</a>}\n\t\t\t\t\tisExternalLink={true}\n\t\t\t\t\texternalLinkUrl={link.externalLinkUrl}\n\t\t\t\t\tfield={filter.id}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</>\n\t);\n\n\treturn (\n\t\t<AccordionFilterItem\n\t\t\tid={filter.id}\n\t\t\tsetDefaultValue={setDefaultValue}\n\t\t\theader={header}\n\t\t\tbody={body}\n\t\t/>\n\t);\n};\n\nexport default memo(FilterItemContainer);\n"],"names":["FilterItemContainer","_ref","filter","setDefaultValue","setSelectedFilters","selectedFilters","_ref$subcategoryRequi","subcategoryRequireCategory","externalLinksInFilters","externalLinks","x","fieldName","id","fieldKey","activeItemsCount","Object","keys","length","handleClearFilters","event","stopPropagation","prevFilters","updatedFilters","_objectSpread","entityId","header","React","createElement","Fragment","title","ItemsPill","onClick","body","items","sort","map","item","FilterItem","key","name","field","link","externalLink","href","externalLinkUrl","isExternalLink","AccordionFilterItem","memo"],"mappings":"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"}
|
|
@@ -45,6 +45,9 @@ var FilterItemContainer = function FilterItemContainer(_ref) {
|
|
|
45
45
|
}
|
|
46
46
|
setSelectedFilters(function (prevFilters) {
|
|
47
47
|
var updatedFilters = _objectSpread2({}, prevFilters);
|
|
48
|
+
if (field == 'city' || field == 'state' || field == 'cityState') {
|
|
49
|
+
delete updatedFilters['entityName'];
|
|
50
|
+
}
|
|
48
51
|
if (!isActive) {
|
|
49
52
|
if (!updatedFilters[field]) {
|
|
50
53
|
updatedFilters[field] = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-item-container.js","sources":["../../../../src/components/containers/filter/filter-item-container.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { useTrackEvent } from '~/contexts/trackEventContext';\nimport FilterItem from '~/components/modules/filter/item';\n\nconst FilterItemContainer = ({\n\tclassName,\n\titem,\n\ttype = 'checkbox',\n\titemKey = null,\n\thasCount = true,\n\tfield,\n\tisExternalLink = false,\n\texternalLinkUrl,\n\tselectedFilters,\n\tsetSelectedFilters,\n\t...rest\n}) => {\n\tconst { trackEvent, eventTypes } = useTrackEvent();\n\tconst itemName = item.name ? item.name : item;\n\titemKey = itemKey === null ? itemName : itemKey;\n\tconst isActive = selectedFilters != undefined && !!selectedFilters[field]?.[itemKey];\n\tconst [activeItem, setActiveItem] = useState(isActive);\n\n\tuseEffect(() => {\n\t\tif (!selectedFilters || isExternalLink) return;\n\t\tsetActiveItem(!!selectedFilters[field]?.[itemKey]);\n\t}, [selectedFilters, field, itemKey]);\n\n\tconst changeHandler = () => {\n\t\tif (!isActive || isExternalLink) {\n\t\t\ttrackEvent(eventTypes.FILTER_APPLIED, { filterType: field, filterChecked: itemKey });\n\t\t}\n\t\tsetSelectedFilters(prevFilters => {\n\t\t\tconst updatedFilters = { ...prevFilters };\n\t\t\tif (!isActive) {\n\t\t\t\tif (!updatedFilters[field]) {\n\t\t\t\t\tupdatedFilters[field] = {};\n\t\t\t\t}\n\t\t\t\tupdatedFilters[field][itemKey] = true;\n\t\t\t\treturn updatedFilters;\n\t\t\t}\n\t\t\tdelete updatedFilters[field][itemKey];\n\t\t\tif (Object.keys(updatedFilters[field]).length === 0) {\n\t\t\t\tdelete updatedFilters[field];\n\t\t\t}\n\t\t\treturn updatedFilters;\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (selectedFilters && selectedFilters[field] && Object.keys(selectedFilters[field])?.length > 0) return;\n\t\telse if (activeItem === true) {\n\t\t\tsetActiveItem(false);\n\t\t}\n\t}, [selectedFilters]);\n\n\treturn (\n\t\t<FilterItem\n\t\t\tclassName={className}\n\t\t\titem={item}\n\t\t\ttype={type}\n\t\t\titemKey={itemKey}\n\t\t\thasCount={hasCount}\n\t\t\tfield={field}\n\t\t\tactiveItem={activeItem}\n\t\t\tsetActiveItem={setActiveItem}\n\t\t\tchangeHandler={changeHandler}\n\t\t\tisExternalLink={isExternalLink}\n\t\t\texternalLinkUrl={externalLinkUrl}\n\t\t\ttrackEvent={trackEvent}\n\t\t\teventTypes={eventTypes}\n\t\t\t{...rest}\n\t\t/>\n\t);\n};\n\nexport default FilterItemContainer;\n"],"names":["FilterItemContainer","_ref","_selectedFilters$fiel","className","item","_ref$type","type","_ref$itemKey","itemKey","_ref$hasCount","hasCount","field","_ref$isExternalLink","isExternalLink","externalLinkUrl","selectedFilters","setSelectedFilters","rest","_objectWithoutProperties","_excluded","_useTrackEvent","useTrackEvent","trackEvent","eventTypes","itemName","name","isActive","undefined","_useState","useState","_useState2","_slicedToArray","activeItem","setActiveItem","useEffect","_selectedFilters$fiel2","changeHandler","FILTER_APPLIED","filterType","filterChecked","prevFilters","updatedFilters","_objectSpread","Object","keys","length","_Object$keys","React","createElement","FilterItem","_extends"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"filter-item-container.js","sources":["../../../../src/components/containers/filter/filter-item-container.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { useTrackEvent } from '~/contexts/trackEventContext';\r\nimport FilterItem from '~/components/modules/filter/item';\r\n\r\nconst FilterItemContainer = ({\r\n\tclassName,\r\n\titem,\r\n\ttype = 'checkbox',\r\n\titemKey = null,\r\n\thasCount = true,\r\n\tfield,\r\n\tisExternalLink = false,\r\n\texternalLinkUrl,\r\n\tselectedFilters,\r\n\tsetSelectedFilters,\r\n\t...rest\r\n}) => {\r\n\tconst { trackEvent, eventTypes } = useTrackEvent();\r\n\tconst itemName = item.name ? item.name : item;\r\n\titemKey = itemKey === null ? itemName : itemKey;\r\n\tconst isActive = selectedFilters != undefined && !!selectedFilters[field]?.[itemKey];\r\n\tconst [activeItem, setActiveItem] = useState(isActive);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!selectedFilters || isExternalLink) return;\r\n\t\tsetActiveItem(!!selectedFilters[field]?.[itemKey]);\r\n\t}, [selectedFilters, field, itemKey]);\r\n\r\n\tconst changeHandler = () => {\r\n\t\tif (!isActive || isExternalLink) {\r\n\t\t\ttrackEvent(eventTypes.FILTER_APPLIED, { filterType: field, filterChecked: itemKey });\r\n\t\t}\r\n\t\tsetSelectedFilters(prevFilters => {\r\n\t\t\tconst updatedFilters = { ...prevFilters };\r\n\t\t\tif(field == 'city' || field == 'state' || field == 'cityState'){\r\n\t\t\t\tdelete updatedFilters['entityName'];\r\n\t\t\t}\r\n\t\t\tif (!isActive) {\r\n\t\t\t\tif (!updatedFilters[field]) {\r\n\t\t\t\t\tupdatedFilters[field] = {};\r\n\t\t\t\t}\r\n\t\t\t\tupdatedFilters[field][itemKey] = true;\r\n\t\t\t\treturn updatedFilters;\r\n\t\t\t}\r\n\t\t\tdelete updatedFilters[field][itemKey];\r\n\t\t\tif (Object.keys(updatedFilters[field]).length === 0) {\r\n\t\t\t\tdelete updatedFilters[field];\r\n\t\t\t}\r\n\t\t\treturn updatedFilters;\r\n\t\t});\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (selectedFilters && selectedFilters[field] && Object.keys(selectedFilters[field])?.length > 0) return;\r\n\t\telse if (activeItem === true) {\r\n\t\t\tsetActiveItem(false);\r\n\t\t}\r\n\t}, [selectedFilters]);\r\n\r\n\treturn (\r\n\t\t<FilterItem\r\n\t\t\tclassName={className}\r\n\t\t\titem={item}\r\n\t\t\ttype={type}\r\n\t\t\titemKey={itemKey}\r\n\t\t\thasCount={hasCount}\r\n\t\t\tfield={field}\r\n\t\t\tactiveItem={activeItem}\r\n\t\t\tsetActiveItem={setActiveItem}\r\n\t\t\tchangeHandler={changeHandler}\r\n\t\t\tisExternalLink={isExternalLink}\r\n\t\t\texternalLinkUrl={externalLinkUrl}\r\n\t\t\ttrackEvent={trackEvent}\r\n\t\t\teventTypes={eventTypes}\r\n\t\t\t{...rest}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nexport default FilterItemContainer;\r\n"],"names":["FilterItemContainer","_ref","_selectedFilters$fiel","className","item","_ref$type","type","_ref$itemKey","itemKey","_ref$hasCount","hasCount","field","_ref$isExternalLink","isExternalLink","externalLinkUrl","selectedFilters","setSelectedFilters","rest","_objectWithoutProperties","_excluded","_useTrackEvent","useTrackEvent","trackEvent","eventTypes","itemName","name","isActive","undefined","_useState","useState","_useState2","_slicedToArray","activeItem","setActiveItem","useEffect","_selectedFilters$fiel2","changeHandler","FILTER_APPLIED","filterType","filterChecked","prevFilters","updatedFilters","_objectSpread","Object","keys","length","_Object$keys","React","createElement","FilterItem","_extends"],"mappings":"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"}
|
|
@@ -46,10 +46,10 @@ var InfoWindowContentContainer = function InfoWindowContentContainer(_ref) {
|
|
|
46
46
|
filterChecked: items[0].fields.state
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
|
-
newFilters.
|
|
49
|
+
newFilters.entityName = _defineProperty({}, items[0].fields.entityName, true);
|
|
50
50
|
filters.push({
|
|
51
|
-
filterType: '
|
|
52
|
-
filterChecked: items[0].fields.
|
|
51
|
+
filterType: 'entityName',
|
|
52
|
+
filterChecked: items[0].fields.entityName
|
|
53
53
|
});
|
|
54
54
|
trackEvent(eventTypes.VIEW_JOBS_AT_Location, {
|
|
55
55
|
filtersApplied: filters
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info-window-content-container.js","sources":["../../../../src/components/containers/maps/info-window-content-container.js"],"sourcesContent":["import React from 'react';\nimport InfoWindowContent from '~/components/modules/maps/info-window-content';\nimport { useMapList } from '~/contexts/mapListContext';\nimport { useTrackEvent } from '~/contexts/trackEventContext';\n\nconst InfoWindowContentContainer = ({\n\titem,\n\tfilterListingsByLocation\n}) => {\n\tconst { trackEvent, eventTypes } = useTrackEvent();\n\tconst { setSelectedFilters, setMobileTab, selectedFilters, siteConfig, filteredListings } = useMapList();\n\tconst fieldsShown = siteConfig.locationFiltersShown;\n\tlet items = item && item.items ? Object.values(item.items) : null;\n\n\tconst addressParts = [\n\t\titems[0].mapDetails?.address?.street,\n\t\titems[0].mapDetails?.address?.city,\n\t\titems[0].mapDetails?.address?.state,\n\t\titems[0].mapDetails?.address?.zip\n\t];\n\tconst fullAddress = addressParts.filter(Boolean).join(', ');\n\n\tconst applyFilters = () => {\n\t\tsetMobileTab(\"listTab\");\n\t\tconst newFilters = { ...selectedFilters };\n\t\tlet filters = [];\n\n\t\tif (fieldsShown.includes('cityState')) {\n\t\t\tnewFilters.cityState = { [items[0].fields.cityState]: true };\n\t\t\tfilters.push({ filterType: 'cityState', filterChecked: items[0].fields.cityState });\n\t\t}\n\n\t\tif (fieldsShown.includes('city')) {\n\t\t\tnewFilters.city = { [items[0].fields.city]: true };\n\t\t\tfilters.push({ filterType: 'city', filterChecked: items[0].fields.city });\n\t\t}\n\n\t\tif (fieldsShown.includes('state')) {\n\t\t\tnewFilters.state = { [items[0].fields.state]: true };\n\t\t\tfilters.push({ filterType: 'state', filterChecked: items[0].fields.state });\n\t\t}\n\n\t\tnewFilters.
|
|
1
|
+
{"version":3,"file":"info-window-content-container.js","sources":["../../../../src/components/containers/maps/info-window-content-container.js"],"sourcesContent":["import React from 'react';\nimport InfoWindowContent from '~/components/modules/maps/info-window-content';\nimport { useMapList } from '~/contexts/mapListContext';\nimport { useTrackEvent } from '~/contexts/trackEventContext';\n\nconst InfoWindowContentContainer = ({\n\titem,\n\tfilterListingsByLocation\n}) => {\n\tconst { trackEvent, eventTypes } = useTrackEvent();\n\tconst { setSelectedFilters, setMobileTab, selectedFilters, siteConfig, filteredListings } = useMapList();\n\tconst fieldsShown = siteConfig.locationFiltersShown;\n\tlet items = item && item.items ? Object.values(item.items) : null;\n\n\tconst addressParts = [\n\t\titems[0].mapDetails?.address?.street,\n\t\titems[0].mapDetails?.address?.city,\n\t\titems[0].mapDetails?.address?.state,\n\t\titems[0].mapDetails?.address?.zip\n\t];\n\tconst fullAddress = addressParts.filter(Boolean).join(', ');\n\n\tconst applyFilters = () => {\n\t\tsetMobileTab(\"listTab\");\n\t\tconst newFilters = { ...selectedFilters };\n\t\tlet filters = [];\n\n\t\tif (fieldsShown.includes('cityState')) {\n\t\t\tnewFilters.cityState = { [items[0].fields.cityState]: true };\n\t\t\tfilters.push({ filterType: 'cityState', filterChecked: items[0].fields.cityState });\n\t\t}\n\n\t\tif (fieldsShown.includes('city')) {\n\t\t\tnewFilters.city = { [items[0].fields.city]: true };\n\t\t\tfilters.push({ filterType: 'city', filterChecked: items[0].fields.city });\n\t\t}\n\n\t\tif (fieldsShown.includes('state')) {\n\t\t\tnewFilters.state = { [items[0].fields.state]: true };\n\t\t\tfilters.push({ filterType: 'state', filterChecked: items[0].fields.state });\n\t\t}\n\n\t\tnewFilters.entityName = { [items[0].fields.entityName]: true };\n\t\tfilters.push({ filterType: 'entityName', filterChecked: items[0].fields.entityName });\n\n\t\ttrackEvent(eventTypes.VIEW_JOBS_AT_Location, { filtersApplied: filters });\n\t\tsetSelectedFilters(newFilters);\n\t};\n\n\treturn <InfoWindowContent items={items} fullAddress={fullAddress} applyFilters={applyFilters} />;\n};\n\nexport default InfoWindowContentContainer;\n"],"names":["InfoWindowContentContainer","_ref","_items$0$mapDetails","_items$0$mapDetails2","_items$0$mapDetails3","_items$0$mapDetails4","item","filterListingsByLocation","_useTrackEvent","useTrackEvent","trackEvent","eventTypes","_useMapList","useMapList","setSelectedFilters","setMobileTab","selectedFilters","siteConfig","filteredListings","fieldsShown","locationFiltersShown","items","Object","values","addressParts","mapDetails","address","street","city","state","zip","fullAddress","filter","Boolean","join","applyFilters","newFilters","_objectSpread","filters","includes","cityState","_defineProperty","fields","push","filterType","filterChecked","entityName","VIEW_JOBS_AT_Location","filtersApplied","React","createElement","InfoWindowContent"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sources":["../../../../src/components/modules/filter/item.js"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"item.js","sources":["../../../../src/components/modules/filter/item.js"],"sourcesContent":["import React from 'react';\r\nimport Icon from '~/components/modules/icon';\r\n\r\nconst FilterItem = ({\r\n\tclassName,\r\n\titem,\r\n\ttype,\r\n\titemKey,\r\n\thasCount,\r\n\tfield,\r\n\tactiveItem,\r\n\tsetActiveItem,\r\n\tchangeHandler,\r\n\tisExternalLink = false,\r\n\texternalLinkUrl,\r\n\ttrackEvent,\r\n\teventTypes,\r\n\t...rest\r\n}) => {\r\n\tconst itemName = item.name ? item.name : item;\r\n\r\n\treturn (\r\n\t\t// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions\r\n\t\t<label\r\n\t\t onClick={() =>\r\n\t\t\t{\r\n\t\t\t\tif(!isExternalLink) return;\r\n\t\t\t trackEvent(eventTypes.EXTERNAL_LINK_CLICKED, { link: externalLinkUrl });\r\n\t\t\t\twindow.location.href = externalLinkUrl;\r\n\t\t\t}}\r\n\t\t\tclassName={`\r\n hc-flex hc-items-start hc-gap-2 hc-px-2 hc-py-1.5 hc-rounded-sm hc-text-sm hc-cursor-pointer hc-transition hover:hc-bg-uiAccent/5\r\n ${className ?? \"\"}\r\n `}\r\n\t\t\t{...rest}\r\n\t\t>\r\n\t\t\t{isExternalLink ? (\r\n\t\t\t\t<Icon\r\n\t\t\t\t\ticon=\"tabler:external-link\"\r\n\t\t\t\t\tsize=\"hc-size-4\"\r\n\t\t\t\t\tclassName={'hc-size-4 hc-mt-px hc-text-primary hc-border-uiAccent/30'}\r\n\t\t\t\t></Icon>\r\n\t\t\t) : (\r\n\t\t\t\t<input\r\n\t\t\t\t\tid={itemKey}\r\n\t\t\t\t\tname={field}\r\n\t\t\t\t\tdisabled={item.count === 0}\r\n\t\t\t\t\tvalue={itemName}\r\n\t\t\t\t\ttype={type}\r\n\t\t\t\t\tclassName=\"hc-size-4 hc-mt-px hc-text-primary hc-border-uiAccent/30 hc-transition-colors hc-rounded-sm\"\r\n\t\t\t\t\tchecked={activeItem}\r\n\t\t\t\t\tonChange={() => {\r\n\t\t\t\t\t\tsetActiveItem(!activeItem);\r\n\t\t\t\t\t\tchangeHandler();\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\r\n\t\t\t<span className=\"hc-text-left hc-font-medium\">{itemName}</span>\r\n\t\t\t{hasCount && !isExternalLink && (\r\n\t\t\t\t<span className=\"hc-inline-block hc-mt-1 hc-ml-auto hc-text-xs hc-leading-none hc-text-primary\">\r\n ({item.count})\r\n\t\t\t\t</span>\r\n\t\t\t)}\r\n\t\t</label>\r\n\t);\r\n};\r\n\r\nexport default FilterItem;\r\n"],"names":["FilterItem","_ref","className","item","type","itemKey","hasCount","field","activeItem","setActiveItem","changeHandler","_ref$isExternalLink","isExternalLink","externalLinkUrl","trackEvent","eventTypes","rest","_objectWithoutProperties","_excluded","itemName","name","React","createElement","_extends","onClick","EXTERNAL_LINK_CLICKED","link","window","location","href","concat","Icon","icon","size","id","disabled","count","value","checked","onChange"],"mappings":";;;;;AAGA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAeV;AAAA,EAAA,IAdLC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IACPC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,KAAK,GAAAN,IAAA,CAALM,KAAK;IACLC,UAAU,GAAAP,IAAA,CAAVO,UAAU;IACVC,aAAa,GAAAR,IAAA,CAAbQ,aAAa;IACbC,aAAa,GAAAT,IAAA,CAAbS,aAAa;IAAAC,mBAAA,GAAAV,IAAA,CACbW,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,mBAAA;IACtBE,eAAe,GAAAZ,IAAA,CAAfY,eAAe;IACfC,UAAU,GAAAb,IAAA,CAAVa,UAAU;IACVC,UAAU,GAAAd,IAAA,CAAVc,UAAU;AACPC,IAAAA,IAAI,GAAAC,wBAAA,CAAAhB,IAAA,EAAAiB,SAAA,CAAA,CAAA;EAEP,IAAMC,QAAQ,GAAGhB,IAAI,CAACiB,IAAI,GAAGjB,IAAI,CAACiB,IAAI,GAAGjB,IAAI,CAAA;AAE7C,EAAA;AAAA;AACC;IACAkB,cAAA,CAAAC,aAAA,CAAA,OAAA,EAAAC,QAAA,CAAA;MACEC,OAAO,EAAE,SAAAA,OAAAA,GACV;QACC,IAAG,CAACZ,cAAc,EAAE,OAAA;AACjBE,QAAAA,UAAU,CAACC,UAAU,CAACU,qBAAqB,EAAE;AAAEC,UAAAA,IAAI,EAAEb,eAAAA;AAAgB,SAAC,CAAC,CAAA;AAC1Ec,QAAAA,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGhB,eAAe,CAAA;OACrC;MACFX,SAAS,EAAA,uJAAA,CAAA4B,MAAA,CAEF5B,SAAS,aAATA,SAAS,KAAA,KAAA,CAAA,GAATA,SAAS,GAAI,EAAE,EAAA,UAAA,CAAA;KAElBc,EAAAA,IAAI,GAEPJ,cAAc,gBACdS,cAAA,CAAAC,aAAA,CAACS,aAAI,EAAA;AACJC,MAAAA,IAAI,EAAC,sBAAsB;AAC3BC,MAAAA,IAAI,EAAC,WAAW;AAChB/B,MAAAA,SAAS,EAAE,0DAAA;AAA2D,KAChE,CAAC,gBAERmB,cAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AACCY,MAAAA,EAAE,EAAE7B,OAAQ;AACZe,MAAAA,IAAI,EAAEb,KAAM;AACZ4B,MAAAA,QAAQ,EAAEhC,IAAI,CAACiC,KAAK,KAAK,CAAE;AAC3BC,MAAAA,KAAK,EAAElB,QAAS;AAChBf,MAAAA,IAAI,EAAEA,IAAK;AACXF,MAAAA,SAAS,EAAC,6FAA6F;AACvGoC,MAAAA,OAAO,EAAE9B,UAAW;MACpB+B,QAAQ,EAAE,SAAAA,QAAAA,GAAM;QACf9B,aAAa,CAAC,CAACD,UAAU,CAAC,CAAA;AAC1BE,QAAAA,aAAa,EAAE,CAAA;AAChB,OAAA;AAAE,KACF,CACD,eAEDW,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMpB,MAAAA,SAAS,EAAC,6BAAA;KAA+BiB,EAAAA,QAAe,CAAC,EAC9Db,QAAQ,IAAI,CAACM,cAAc,iBAC3BS,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMpB,MAAAA,SAAS,EAAC,+EAAA;AAA+E,KAAA,EAAC,GACzF,EAACC,IAAI,CAACiC,KAAK,EAAC,GACb,CAED,CAAA;AAAC,IAAA;AAEV;;;;"}
|
|
@@ -24,6 +24,9 @@ var FilterLocation = function FilterLocation(_ref) {
|
|
|
24
24
|
defaultValue: defaultValue,
|
|
25
25
|
className: "hc-space-y-4"
|
|
26
26
|
}, locations === null || locations === void 0 ? void 0 : locations.map(function (filter) {
|
|
27
|
+
if (filter.id === 'entityName' && !selectedFilters.cityState && !selectedFilters.state) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
27
30
|
return /*#__PURE__*/React__default.createElement(AccordionFilterItem, {
|
|
28
31
|
key: filter.id,
|
|
29
32
|
filter: filter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"location.js","sources":["../../../../src/components/modules/filter/location.js"],"sourcesContent":["import React from 'react';\nimport Accordion from '~/components/modules/accordions/default';\nimport FilterCard from '~/components/modules/cards/filter';\nimport AccordionFilterItem from '~/components/containers/accordions/filter-item-container';\nimport Loading from '~/util/loading';\n\nconst FilterLocation = ({\n\tclassName,\n\tdefaultValue,\n\tsetDefaultValue,\n\tsetLocation,\n\tsetSelectedListItem,\n\tlocations,\n\tsetSelectedFilters,\n\tselectedFilters,\n\tchildren\n}) => {\n\treturn (\n\t\t<FilterCard className={className ?? \"\"}>\n\t\t\t<FilterCard.Title icon=\"fluent:location-16-filled\">\n\t\t\t\t<span>\n\t\t\t\t\t<span className=\"hc-hidden lg:hc-inline\">Job</span> location\n\t\t\t\t</span>\n\t\t\t</FilterCard.Title>\n\t\t\t{!locations && <Loading />}\n\t\t\t{locations && (\n\t\t\t\t<Accordion defaultValue={defaultValue} className=\"hc-space-y-4\">\n\t\t\t\t\t{locations?.map(filter => (\n\t\t\t\t\t\t<AccordionFilterItem\n\t\t\t\t\t\t\tkey={filter.id}\n\t\t\t\t\t\t\tfilter={filter}\n\t\t\t\t\t\t\tsetDefaultValue={setDefaultValue}\n\t\t\t\t\t\t\tselectedFilters={selectedFilters}\n\t\t\t\t\t\t\tsetSelectedFilters={prevFilters => {\n\t\t\t\t\t\t\t\tsetSelectedFilters(prevFilters);\n\t\t\t\t\t\t\t\tsetLocation(null);\n\t\t\t\t\t\t\t\tsetSelectedListItem(null);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t
|
|
1
|
+
{"version":3,"file":"location.js","sources":["../../../../src/components/modules/filter/location.js"],"sourcesContent":["import React from 'react';\nimport Accordion from '~/components/modules/accordions/default';\nimport FilterCard from '~/components/modules/cards/filter';\nimport AccordionFilterItem from '~/components/containers/accordions/filter-item-container';\nimport Loading from '~/util/loading';\n\nconst FilterLocation = ({\n\tclassName,\n\tdefaultValue,\n\tsetDefaultValue,\n\tsetLocation,\n\tsetSelectedListItem,\n\tlocations,\n\tsetSelectedFilters,\n\tselectedFilters,\n\tchildren\n}) => {\n\treturn (\n\t\t<FilterCard className={className ?? \"\"}>\n\t\t\t<FilterCard.Title icon=\"fluent:location-16-filled\">\n\t\t\t\t<span>\n\t\t\t\t\t<span className=\"hc-hidden lg:hc-inline\">Job</span> location\n\t\t\t\t</span>\n\t\t\t</FilterCard.Title>\n\t\t\t{!locations && <Loading />}\n\t\t\t{locations && (\n\t\t\t\t<Accordion defaultValue={defaultValue} className=\"hc-space-y-4\">\n\t\t\t\t\t{locations?.map(filter => {\n\t\t\t\t\t\tif(filter.id === 'entityName' && (!selectedFilters.cityState && !selectedFilters.state)){\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn(<AccordionFilterItem\n\t\t\t\t\t\t\tkey={filter.id}\n\t\t\t\t\t\t\tfilter={filter}\n\t\t\t\t\t\t\tsetDefaultValue={setDefaultValue}\n\t\t\t\t\t\t\tselectedFilters={selectedFilters}\n\t\t\t\t\t\t\tsetSelectedFilters={prevFilters => {\n\t\t\t\t\t\t\t\tsetSelectedFilters(prevFilters);\n\t\t\t\t\t\t\t\tsetLocation(null);\n\t\t\t\t\t\t\t\tsetSelectedListItem(null);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>);\n\t\t\t\t\t})}\n\t\t\t\t\t{children}\n\t\t\t\t</Accordion>\n\t\t\t)}\n\t\t</FilterCard>\n\t);\n};\n\nexport default FilterLocation;\n"],"names":["FilterLocation","_ref","className","defaultValue","setDefaultValue","setLocation","setSelectedListItem","locations","setSelectedFilters","selectedFilters","children","React","createElement","FilterCard","Title","icon","Loading","Accordion","map","filter","id","cityState","state","AccordionFilterItem","key","prevFilters"],"mappings":";;;;;;AAMA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAUd;AAAA,EAAA,IATLC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IACZC,eAAe,GAAAH,IAAA,CAAfG,eAAe;IACfC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,mBAAmB,GAAAL,IAAA,CAAnBK,mBAAmB;IACnBC,SAAS,GAAAN,IAAA,CAATM,SAAS;IACTC,mBAAkB,GAAAP,IAAA,CAAlBO,kBAAkB;IAClBC,eAAe,GAAAR,IAAA,CAAfQ,eAAe;IACfC,QAAQ,GAAAT,IAAA,CAARS,QAAQ,CAAA;AAER,EAAA,oBACCC,cAAA,CAAAC,aAAA,CAACC,UAAU,EAAA;AAACX,IAAAA,SAAS,EAAEA,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,KAAA,CAAA,GAATA,SAAS,GAAI,EAAA;AAAG,GAAA,eACtCS,cAAA,CAAAC,aAAA,CAACC,UAAU,CAACC,KAAK,EAAA;AAACC,IAAAA,IAAI,EAAC,2BAAA;AAA2B,GAAA,eACjDJ,cAAA,CAAAC,aAAA,CACCD,MAAAA,EAAAA,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMV,IAAAA,SAAS,EAAC,wBAAA;GAAyB,EAAA,KAAS,CAAC,EAC9C,WAAA,CACW,CAAC,EAClB,CAACK,SAAS,iBAAII,cAAA,CAAAC,aAAA,CAACI,OAAO,EAAE,IAAA,CAAC,EACzBT,SAAS,iBACTI,cAAA,CAAAC,aAAA,CAACK,SAAS,EAAA;AAACd,IAAAA,YAAY,EAAEA,YAAa;AAACD,IAAAA,SAAS,EAAC,cAAA;GAC/CK,EAAAA,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEW,GAAG,CAAC,UAAAC,MAAM,EAAI;AACzB,IAAA,IAAGA,MAAM,CAACC,EAAE,KAAK,YAAY,IAAK,CAACX,eAAe,CAACY,SAAS,IAAI,CAACZ,eAAe,CAACa,KAAM,EAAC;AACvF,MAAA,OAAA;AACD,KAAA;AACA,IAAA,oBAAOX,cAAA,CAAAC,aAAA,CAACW,mBAAmB,EAAA;MAC1BC,GAAG,EAAEL,MAAM,CAACC,EAAG;AACfD,MAAAA,MAAM,EAAEA,MAAO;AACff,MAAAA,eAAe,EAAEA,eAAgB;AACjCK,MAAAA,eAAe,EAAEA,eAAgB;AACjCD,MAAAA,kBAAkB,EAAE,SAAAA,kBAAAiB,CAAAA,WAAW,EAAI;QAClCjB,mBAAkB,CAACiB,WAAW,CAAC,CAAA;QAC/BpB,WAAW,CAAC,IAAI,CAAC,CAAA;QACjBC,mBAAmB,CAAC,IAAI,CAAC,CAAA;AAC1B,OAAA;AAAE,KACF,CAAC,CAAA;AACH,GAAC,CAAC,EACDI,QACS,CAED,CAAC,CAAA;AAEf;;;;"}
|
package/package.json
CHANGED
|
@@ -1,50 +1,48 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { useMapList } from '~/contexts/mapListContext';
|
|
3
|
-
import AccordionFilters from '~/components/modules/accordions/filters';
|
|
4
|
-
import AccordionFilterItem from '~/components/containers/accordions/filter-item-container';
|
|
5
|
-
|
|
6
|
-
const AccordionFiltersContainer = ({
|
|
7
|
-
className,
|
|
8
|
-
defaultValue,
|
|
9
|
-
setDefaultValue,
|
|
10
|
-
setLocation,
|
|
11
|
-
setSelectedListItem,
|
|
12
|
-
SubcategoryRequireCategory
|
|
13
|
-
}) => {
|
|
14
|
-
const { filterOptions, selectedFilters, setSelectedFilters, siteConfig } = useMapList();
|
|
15
|
-
|
|
16
|
-
const handleSetSelectedFilters = prevFilters => {
|
|
17
|
-
setSelectedFilters(prevFilters);
|
|
18
|
-
setLocation(null);
|
|
19
|
-
setSelectedListItem(null);
|
|
20
|
-
};
|
|
21
|
-
return (
|
|
22
|
-
<AccordionFilters
|
|
23
|
-
className={className}
|
|
24
|
-
defaultValue={defaultValue}
|
|
25
|
-
filterOptions={filterOptions}
|
|
26
|
-
>
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
export default AccordionFiltersContainer;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useMapList } from '~/contexts/mapListContext';
|
|
3
|
+
import AccordionFilters from '~/components/modules/accordions/filters';
|
|
4
|
+
import AccordionFilterItem from '~/components/containers/accordions/filter-item-container';
|
|
5
|
+
|
|
6
|
+
const AccordionFiltersContainer = ({
|
|
7
|
+
className,
|
|
8
|
+
defaultValue,
|
|
9
|
+
setDefaultValue,
|
|
10
|
+
setLocation,
|
|
11
|
+
setSelectedListItem,
|
|
12
|
+
SubcategoryRequireCategory
|
|
13
|
+
}) => {
|
|
14
|
+
const { filterOptions, selectedFilters, setSelectedFilters, siteConfig } = useMapList();
|
|
15
|
+
|
|
16
|
+
const handleSetSelectedFilters = prevFilters => {
|
|
17
|
+
setSelectedFilters(prevFilters);
|
|
18
|
+
setLocation(null);
|
|
19
|
+
setSelectedListItem(null);
|
|
20
|
+
};
|
|
21
|
+
return (
|
|
22
|
+
<AccordionFilters
|
|
23
|
+
className={className}
|
|
24
|
+
defaultValue={defaultValue}
|
|
25
|
+
filterOptions={filterOptions}
|
|
26
|
+
>
|
|
27
|
+
{filterOptions?.filters?.map(filter => {
|
|
28
|
+
if(filter.id === 'category' && SubcategoryRequireCategory === true && (!selectedFilters.categoryClass || Object.keys(selectedFilters.categoryClass).length < 1)){
|
|
29
|
+
return;
|
|
30
|
+
} else if (filter.id === 'category' && SubcategoryRequireCategory === true && filter.items.length > 0) {
|
|
31
|
+
filter.items = filter.items.filter(item => item.count > 0);
|
|
32
|
+
}
|
|
33
|
+
return (<AccordionFilterItem
|
|
34
|
+
key={filter.id}
|
|
35
|
+
filter={filter}
|
|
36
|
+
externalLinksInFilters={siteConfig.externalLinksInFilters}
|
|
37
|
+
setDefaultValue={setDefaultValue}
|
|
38
|
+
selectedFilters={selectedFilters}
|
|
39
|
+
setSelectedFilters={handleSetSelectedFilters}
|
|
40
|
+
subcategoryRequireCategory={siteConfig.subcategoryRequireCategory}
|
|
41
|
+
/>);
|
|
42
|
+
}
|
|
43
|
+
)}
|
|
44
|
+
</AccordionFilters>
|
|
45
|
+
);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export default AccordionFiltersContainer;
|
|
@@ -1,77 +1,80 @@
|
|
|
1
|
-
import React, { useState, useEffect } from 'react';
|
|
2
|
-
import { useTrackEvent } from '~/contexts/trackEventContext';
|
|
3
|
-
import FilterItem from '~/components/modules/filter/item';
|
|
4
|
-
|
|
5
|
-
const FilterItemContainer = ({
|
|
6
|
-
className,
|
|
7
|
-
item,
|
|
8
|
-
type = 'checkbox',
|
|
9
|
-
itemKey = null,
|
|
10
|
-
hasCount = true,
|
|
11
|
-
field,
|
|
12
|
-
isExternalLink = false,
|
|
13
|
-
externalLinkUrl,
|
|
14
|
-
selectedFilters,
|
|
15
|
-
setSelectedFilters,
|
|
16
|
-
...rest
|
|
17
|
-
}) => {
|
|
18
|
-
const { trackEvent, eventTypes } = useTrackEvent();
|
|
19
|
-
const itemName = item.name ? item.name : item;
|
|
20
|
-
itemKey = itemKey === null ? itemName : itemKey;
|
|
21
|
-
const isActive = selectedFilters != undefined && !!selectedFilters[field]?.[itemKey];
|
|
22
|
-
const [activeItem, setActiveItem] = useState(isActive);
|
|
23
|
-
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
if (!selectedFilters || isExternalLink) return;
|
|
26
|
-
setActiveItem(!!selectedFilters[field]?.[itemKey]);
|
|
27
|
-
}, [selectedFilters, field, itemKey]);
|
|
28
|
-
|
|
29
|
-
const changeHandler = () => {
|
|
30
|
-
if (!isActive || isExternalLink) {
|
|
31
|
-
trackEvent(eventTypes.FILTER_APPLIED, { filterType: field, filterChecked: itemKey });
|
|
32
|
-
}
|
|
33
|
-
setSelectedFilters(prevFilters => {
|
|
34
|
-
const updatedFilters = { ...prevFilters };
|
|
35
|
-
if
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
updatedFilters[field]
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
{
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
1
|
+
import React, { useState, useEffect } from 'react';
|
|
2
|
+
import { useTrackEvent } from '~/contexts/trackEventContext';
|
|
3
|
+
import FilterItem from '~/components/modules/filter/item';
|
|
4
|
+
|
|
5
|
+
const FilterItemContainer = ({
|
|
6
|
+
className,
|
|
7
|
+
item,
|
|
8
|
+
type = 'checkbox',
|
|
9
|
+
itemKey = null,
|
|
10
|
+
hasCount = true,
|
|
11
|
+
field,
|
|
12
|
+
isExternalLink = false,
|
|
13
|
+
externalLinkUrl,
|
|
14
|
+
selectedFilters,
|
|
15
|
+
setSelectedFilters,
|
|
16
|
+
...rest
|
|
17
|
+
}) => {
|
|
18
|
+
const { trackEvent, eventTypes } = useTrackEvent();
|
|
19
|
+
const itemName = item.name ? item.name : item;
|
|
20
|
+
itemKey = itemKey === null ? itemName : itemKey;
|
|
21
|
+
const isActive = selectedFilters != undefined && !!selectedFilters[field]?.[itemKey];
|
|
22
|
+
const [activeItem, setActiveItem] = useState(isActive);
|
|
23
|
+
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
if (!selectedFilters || isExternalLink) return;
|
|
26
|
+
setActiveItem(!!selectedFilters[field]?.[itemKey]);
|
|
27
|
+
}, [selectedFilters, field, itemKey]);
|
|
28
|
+
|
|
29
|
+
const changeHandler = () => {
|
|
30
|
+
if (!isActive || isExternalLink) {
|
|
31
|
+
trackEvent(eventTypes.FILTER_APPLIED, { filterType: field, filterChecked: itemKey });
|
|
32
|
+
}
|
|
33
|
+
setSelectedFilters(prevFilters => {
|
|
34
|
+
const updatedFilters = { ...prevFilters };
|
|
35
|
+
if(field == 'city' || field == 'state' || field == 'cityState'){
|
|
36
|
+
delete updatedFilters['entityName'];
|
|
37
|
+
}
|
|
38
|
+
if (!isActive) {
|
|
39
|
+
if (!updatedFilters[field]) {
|
|
40
|
+
updatedFilters[field] = {};
|
|
41
|
+
}
|
|
42
|
+
updatedFilters[field][itemKey] = true;
|
|
43
|
+
return updatedFilters;
|
|
44
|
+
}
|
|
45
|
+
delete updatedFilters[field][itemKey];
|
|
46
|
+
if (Object.keys(updatedFilters[field]).length === 0) {
|
|
47
|
+
delete updatedFilters[field];
|
|
48
|
+
}
|
|
49
|
+
return updatedFilters;
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
if (selectedFilters && selectedFilters[field] && Object.keys(selectedFilters[field])?.length > 0) return;
|
|
55
|
+
else if (activeItem === true) {
|
|
56
|
+
setActiveItem(false);
|
|
57
|
+
}
|
|
58
|
+
}, [selectedFilters]);
|
|
59
|
+
|
|
60
|
+
return (
|
|
61
|
+
<FilterItem
|
|
62
|
+
className={className}
|
|
63
|
+
item={item}
|
|
64
|
+
type={type}
|
|
65
|
+
itemKey={itemKey}
|
|
66
|
+
hasCount={hasCount}
|
|
67
|
+
field={field}
|
|
68
|
+
activeItem={activeItem}
|
|
69
|
+
setActiveItem={setActiveItem}
|
|
70
|
+
changeHandler={changeHandler}
|
|
71
|
+
isExternalLink={isExternalLink}
|
|
72
|
+
externalLinkUrl={externalLinkUrl}
|
|
73
|
+
trackEvent={trackEvent}
|
|
74
|
+
eventTypes={eventTypes}
|
|
75
|
+
{...rest}
|
|
76
|
+
/>
|
|
77
|
+
);
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export default FilterItemContainer;
|
|
@@ -40,8 +40,8 @@ const InfoWindowContentContainer = ({
|
|
|
40
40
|
filters.push({ filterType: 'state', filterChecked: items[0].fields.state });
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
newFilters.
|
|
44
|
-
filters.push({ filterType: '
|
|
43
|
+
newFilters.entityName = { [items[0].fields.entityName]: true };
|
|
44
|
+
filters.push({ filterType: 'entityName', filterChecked: items[0].fields.entityName });
|
|
45
45
|
|
|
46
46
|
trackEvent(eventTypes.VIEW_JOBS_AT_Location, { filtersApplied: filters });
|
|
47
47
|
setSelectedFilters(newFilters);
|
|
@@ -1,70 +1,69 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
export default FilterItem;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Icon from '~/components/modules/icon';
|
|
3
|
+
|
|
4
|
+
const FilterItem = ({
|
|
5
|
+
className,
|
|
6
|
+
item,
|
|
7
|
+
type,
|
|
8
|
+
itemKey,
|
|
9
|
+
hasCount,
|
|
10
|
+
field,
|
|
11
|
+
activeItem,
|
|
12
|
+
setActiveItem,
|
|
13
|
+
changeHandler,
|
|
14
|
+
isExternalLink = false,
|
|
15
|
+
externalLinkUrl,
|
|
16
|
+
trackEvent,
|
|
17
|
+
eventTypes,
|
|
18
|
+
...rest
|
|
19
|
+
}) => {
|
|
20
|
+
const itemName = item.name ? item.name : item;
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions
|
|
24
|
+
<label
|
|
25
|
+
onClick={() =>
|
|
26
|
+
{
|
|
27
|
+
if(!isExternalLink) return;
|
|
28
|
+
trackEvent(eventTypes.EXTERNAL_LINK_CLICKED, { link: externalLinkUrl });
|
|
29
|
+
window.location.href = externalLinkUrl;
|
|
30
|
+
}}
|
|
31
|
+
className={`
|
|
32
|
+
hc-flex hc-items-start hc-gap-2 hc-px-2 hc-py-1.5 hc-rounded-sm hc-text-sm hc-cursor-pointer hc-transition hover:hc-bg-uiAccent/5
|
|
33
|
+
${className ?? ""}
|
|
34
|
+
`}
|
|
35
|
+
{...rest}
|
|
36
|
+
>
|
|
37
|
+
{isExternalLink ? (
|
|
38
|
+
<Icon
|
|
39
|
+
icon="tabler:external-link"
|
|
40
|
+
size="hc-size-4"
|
|
41
|
+
className={'hc-size-4 hc-mt-px hc-text-primary hc-border-uiAccent/30'}
|
|
42
|
+
></Icon>
|
|
43
|
+
) : (
|
|
44
|
+
<input
|
|
45
|
+
id={itemKey}
|
|
46
|
+
name={field}
|
|
47
|
+
disabled={item.count === 0}
|
|
48
|
+
value={itemName}
|
|
49
|
+
type={type}
|
|
50
|
+
className="hc-size-4 hc-mt-px hc-text-primary hc-border-uiAccent/30 hc-transition-colors hc-rounded-sm"
|
|
51
|
+
checked={activeItem}
|
|
52
|
+
onChange={() => {
|
|
53
|
+
setActiveItem(!activeItem);
|
|
54
|
+
changeHandler();
|
|
55
|
+
}}
|
|
56
|
+
/>
|
|
57
|
+
)}
|
|
58
|
+
|
|
59
|
+
<span className="hc-text-left hc-font-medium">{itemName}</span>
|
|
60
|
+
{hasCount && !isExternalLink && (
|
|
61
|
+
<span className="hc-inline-block hc-mt-1 hc-ml-auto hc-text-xs hc-leading-none hc-text-primary">
|
|
62
|
+
({item.count})
|
|
63
|
+
</span>
|
|
64
|
+
)}
|
|
65
|
+
</label>
|
|
66
|
+
);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export default FilterItem;
|
|
@@ -25,8 +25,11 @@ const FilterLocation = ({
|
|
|
25
25
|
{!locations && <Loading />}
|
|
26
26
|
{locations && (
|
|
27
27
|
<Accordion defaultValue={defaultValue} className="hc-space-y-4">
|
|
28
|
-
{locations?.map(filter =>
|
|
29
|
-
|
|
28
|
+
{locations?.map(filter => {
|
|
29
|
+
if(filter.id === 'entityName' && (!selectedFilters.cityState && !selectedFilters.state)){
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
return(<AccordionFilterItem
|
|
30
33
|
key={filter.id}
|
|
31
34
|
filter={filter}
|
|
32
35
|
setDefaultValue={setDefaultValue}
|
|
@@ -36,8 +39,8 @@ const FilterLocation = ({
|
|
|
36
39
|
setLocation(null);
|
|
37
40
|
setSelectedListItem(null);
|
|
38
41
|
}}
|
|
39
|
-
/>
|
|
40
|
-
)
|
|
42
|
+
/>);
|
|
43
|
+
})}
|
|
41
44
|
{children}
|
|
42
45
|
</Accordion>
|
|
43
46
|
)}
|