@abcagency/hc-ui-components 1.3.55 → 1.3.57

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.
@@ -2,6 +2,7 @@ import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _
2
2
  import React__default, { useState, useEffect } from 'react';
3
3
  import { useTrackEvent } from '../../../contexts/trackEventContext.js';
4
4
  import FilterItem from '../../modules/filter/item.js';
5
+ import { useMapList } from '../../../contexts/mapListContext.js';
5
6
 
6
7
  var _excluded = ["className", "item", "type", "itemKey", "hasCount", "field", "isExternalLink", "externalLinkUrl", "selectedFilters", "setSelectedFilters"];
7
8
  var FilterItemContainer = function FilterItemContainer(_ref) {
@@ -36,6 +37,8 @@ var FilterItemContainer = function FilterItemContainer(_ref) {
36
37
  if (!selectedFilters || isExternalLink) return;
37
38
  setActiveItem(!!((_selectedFilters$fiel2 = selectedFilters[field]) !== null && _selectedFilters$fiel2 !== void 0 && _selectedFilters$fiel2[itemKey]));
38
39
  }, [selectedFilters, field, itemKey]);
40
+ var _useMapList = useMapList(),
41
+ filteredListings = _useMapList.filteredListings;
39
42
  var changeHandler = function changeHandler() {
40
43
  if (!isActive || isExternalLink) {
41
44
  trackEvent(eventTypes.FILTER_APPLIED, {
@@ -45,7 +48,7 @@ var FilterItemContainer = function FilterItemContainer(_ref) {
45
48
  }
46
49
  setSelectedFilters(function (prevFilters) {
47
50
  var updatedFilters = _objectSpread2({}, prevFilters);
48
- if (field == 'city' || field == 'state' || field == 'cityState') {
51
+ if (field === 'city' || field === 'state' || field === 'cityState') {
49
52
  delete updatedFilters['entityName'];
50
53
  }
51
54
  if (!isActive) {
@@ -56,9 +59,34 @@ var FilterItemContainer = function FilterItemContainer(_ref) {
56
59
  return updatedFilters;
57
60
  }
58
61
  delete updatedFilters[field][itemKey];
59
- if (Object.keys(updatedFilters[field]).length === 0) {
62
+ if (updatedFilters[field] && Object.keys(updatedFilters[field]).length === 0) {
60
63
  delete updatedFilters[field];
61
64
  }
65
+ if (field === 'categoryClass') {
66
+ var activeCategoryClass = itemKey;
67
+ var categoriesToConsiderForRemoval = new Set(filteredListings.filter(function (listing) {
68
+ return listing.fields.categoryClass === activeCategoryClass;
69
+ }).flatMap(function (listing) {
70
+ return listing.fields.category || [];
71
+ }));
72
+ var categoriesToRetain = new Set(filteredListings.filter(function (listing) {
73
+ return listing.fields.categoryClass !== activeCategoryClass;
74
+ }).flatMap(function (listing) {
75
+ return listing.fields.category || [];
76
+ }).filter(function (category) {
77
+ return categoriesToConsiderForRemoval.has(category);
78
+ }));
79
+ if (updatedFilters['category']) {
80
+ Object.keys(updatedFilters['category']).forEach(function (categoryKey) {
81
+ if (categoriesToConsiderForRemoval.has(categoryKey) && !categoriesToRetain.has(categoryKey)) {
82
+ delete updatedFilters['category'][categoryKey];
83
+ }
84
+ });
85
+ if (Object.keys(updatedFilters['category']).length === 0) {
86
+ delete updatedFilters['category'];
87
+ }
88
+ }
89
+ }
62
90
  return updatedFilters;
63
91
  });
64
92
  };
@@ -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';\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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"}
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';\nimport { useMapList } from '~/contexts/mapListContext';\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 { filteredListings } = useMapList();\n\tconst changeHandler = () => {\n\t\tif (!isActive || isExternalLink) {\n\t\t\ttrackEvent(eventTypes.FILTER_APPLIED, { filterType: field, filterChecked: itemKey });\n\t\t}\n\n\t\tsetSelectedFilters(prevFilters => {\n\t\t\tconst updatedFilters = { ...prevFilters };\n\n\t\t\tif (field === 'city' || field === 'state' || field === 'cityState') {\n\t\t\t\tdelete updatedFilters['entityName'];\n\t\t\t}\n\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\n\t\t\tdelete updatedFilters[field][itemKey];\n\n\t\t\tif (updatedFilters[field] && Object.keys(updatedFilters[field]).length === 0) {\n\t\t\t\tdelete updatedFilters[field];\n\t\t\t}\n\n\t\t\tif (field === 'categoryClass') {\n\t\t\t\tconst activeCategoryClass = itemKey;\n\t\t\t\tconst categoriesToConsiderForRemoval = new Set(\n\t\t\t\t\tfilteredListings\n\t\t\t\t\t\t.filter(listing => listing.fields.categoryClass === activeCategoryClass)\n\t\t\t\t\t\t.flatMap(listing => listing.fields.category || [])\n\t\t\t\t);\n\n\t\t\t\tconst categoriesToRetain = new Set(\n\t\t\t\t\tfilteredListings\n\t\t\t\t\t\t.filter(listing => listing.fields.categoryClass !== activeCategoryClass)\n\t\t\t\t\t\t.flatMap(listing => listing.fields.category || [])\n\t\t\t\t\t\t.filter(category => categoriesToConsiderForRemoval.has(category))\n\t\t\t\t);\n\n\t\t\t\tif (updatedFilters['category']) {\n\t\t\t\t\tObject.keys(updatedFilters['category']).forEach(categoryKey => {\n\t\t\t\t\t\tif (categoriesToConsiderForRemoval.has(categoryKey) && !categoriesToRetain.has(categoryKey)) {\n\t\t\t\t\t\t\tdelete updatedFilters['category'][categoryKey];\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tif (Object.keys(updatedFilters['category']).length === 0) {\n\t\t\t\t\t\tdelete updatedFilters['category'];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\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","_useMapList","useMapList","filteredListings","changeHandler","FILTER_APPLIED","filterType","filterChecked","prevFilters","updatedFilters","_objectSpread","Object","keys","length","activeCategoryClass","categoriesToConsiderForRemoval","Set","filter","listing","fields","categoryClass","flatMap","category","categoriesToRetain","has","forEach","categoryKey","_Object$keys","React","createElement","FilterItem","_extends"],"mappings":"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"}
@@ -56,14 +56,14 @@ var ButtonGroupApply = function ButtonGroupApply(_ref) {
56
56
  console.log(useDetailsPostMessage === true && !navigateToDetails, 'query result');
57
57
  return /*#__PURE__*/React__default.createElement("nav", {
58
58
  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 : '')
59
- }, Link && /*#__PURE__*/React__default.createElement(Button.Link, {
59
+ }, Link ? /*#__PURE__*/React__default.createElement(Button.Link, {
60
60
  Link: Link,
61
61
  href: href,
62
62
  variant: detailsButtonVariant,
63
63
  size: buttonSize,
64
64
  className: "map-details-button",
65
65
  onClick: trackViewDetails
66
- }, detailsText), navigateToDetails && /*#__PURE__*/React__default.createElement(Button.Anchor, {
66
+ }, detailsText) : navigateToDetails ? /*#__PURE__*/React__default.createElement(Button.Anchor, {
67
67
  href: href,
68
68
  onClick: function onClick(e) {
69
69
  e.preventDefault();
@@ -73,14 +73,15 @@ var ButtonGroupApply = function ButtonGroupApply(_ref) {
73
73
  variant: detailsButtonVariant,
74
74
  className: "map-details-button",
75
75
  size: buttonSize
76
- }, detailsText), detailsUrl && useDetailsPostMessage !== true && !navigateToDetails && /*#__PURE__*/React__default.createElement(Button.Anchor, {
76
+ }, detailsText) : detailsUrl && useDetailsPostMessage !== true ? /*#__PURE__*/React__default.createElement(Button.Anchor, {
77
77
  href: detailsUrl,
78
78
  variant: detailsButtonVariant,
79
79
  className: "map-details-button",
80
80
  size: buttonSize,
81
81
  onClick: trackViewDetails
82
- }, detailsText), useDetailsPostMessage === true && !navigateToDetails && /*#__PURE__*/React__default.createElement(Button.Btn, {
82
+ }, detailsText) : useDetailsPostMessage === true ? /*#__PURE__*/React__default.createElement(Button.Btn, {
83
83
  onClick: function onClick() {
84
+ trackViewDetails();
84
85
  window.parent.postMessage({
85
86
  itemId: itemId,
86
87
  type: 'LISTING_ID'
@@ -89,7 +90,7 @@ var ButtonGroupApply = function ButtonGroupApply(_ref) {
89
90
  variant: detailsButtonVariant,
90
91
  className: "map-details-button",
91
92
  size: buttonSize
92
- }, detailsText), applyUrl && !includeDialog && navigateToEasyApply == null && /*#__PURE__*/React__default.createElement(Button.Anchor, {
93
+ }, detailsText) : null, applyUrl && !includeDialog && navigateToEasyApply == null && /*#__PURE__*/React__default.createElement(Button.Anchor, {
93
94
  href: applyUrl,
94
95
  variant: applyButtonVariant,
95
96
  size: buttonSize,
@@ -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\tapplyUrl,\n\tuseDetailsPostMessage,\n\tnavigateToDetails,\n\tnavigateToEasyApply,\n\tLink,\n\tlinkFormat,\n\tapplyText = 'Apply Now',\n\tdetailsUrl,\n\tdetailsText = 'View Details',\n\tclassName,\n\tbuttonSize = 'sm',\n\tapplyButtonVariant = 'primary',\n\tdetailsButtonVariant = 'outline',\n\tincludeDialog = false,\n\tinternalApplyLink,\n\titemId,\n\titem,\n\tcompanyName,\n\ttrackEvent,\n\teventTypes\n}) => {\n\tconst href = linkFormat.replace('[slug]', item.slug ?? item.id);\n\n\tconst trackApply = () => {\n\t\ttrackEvent(eventTypes.APPLY_NOW_CLICKED, { jobTitle: item.fields.position, jobCategory: item.fields.category, entityDisplayName: item?.mapDetails?.entityDisplayName });\n\t};\n\n\tconst trackViewDetails = () => {\n\t\ttrackEvent(eventTypes.VIEW_DETAILS_CLICKED, { jobTitle: item.fields.position, jobCategory: item.fields.category, entityDisplayName: item?.mapDetails?.entityDisplayName });\n\t};\n\tconsole.log(detailsUrl);\n\tconsole.log(useDetailsPostMessage);\n\tconsole.log(navigateToDetails);\n\tconsole.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 <Button.Link\n \tLink={Link}\n \thref={href}\n \tvariant={detailsButtonVariant}\n \tsize={buttonSize}\n \tclassName={\"map-details-button\"}\n \tonClick={trackViewDetails}\n >\n \t{detailsText}\n </Button.Link>\n\t\t\t}\n\t\t\t{navigateToDetails &&\n <Button.Anchor\n \thref={href}\n \tonClick={e => {\n \t\te.preventDefault();\n \t\tnavigateToDetails(item);\n \t\ttrackViewDetails();\n \t}}\n \tvariant={detailsButtonVariant}\n \tclassName={\"map-details-button\"}\n \tsize={buttonSize}\n >\n \t{detailsText}\n </Button.Anchor>\n\t\t\t}\n\t\t\t{detailsUrl && useDetailsPostMessage !== true && !navigateToDetails &&\n <Button.Anchor\n \thref={detailsUrl}\n \tvariant={detailsButtonVariant}\n \tclassName={\"map-details-button\"}\n \tsize={buttonSize}\n \tonClick={trackViewDetails}\n >\n \t{detailsText}\n </Button.Anchor>\n\t\t\t}\n\t\t\t{useDetailsPostMessage === true && !navigateToDetails &&\n <Button.Btn\n \tonClick={() => {trackViewDetails; window.parent.postMessage({ itemId: itemId, type: 'LISTING_ID' }, '*'); }}\n \tvariant={detailsButtonVariant}\n \tclassName={\"map-details-button\"}\n \tsize={buttonSize}\n >\n \t{detailsText}\n </Button.Btn>}\n\t\t\t{applyUrl && !includeDialog && navigateToEasyApply == null &&\n <Button.Anchor\n \thref={applyUrl}\n \tvariant={applyButtonVariant}\n \tsize={buttonSize}\n \tclassName={\"map-apply-now-button\"}\n \tonClick={trackApply}\n >\n \t{applyText}\n </Button.Anchor>\n\t\t\t}\n\t\t\t{applyUrl && !includeDialog && navigateToEasyApply != null &&\n <Button.Btn\n \tonClick={() => { navigateToEasyApply(item); trackApply(); }}\n \tvariant={applyButtonVariant}\n \tclassName={\"map-apply-now-button\"}\n \tsize={buttonSize}\n >\n \t{applyText}\n </Button.Btn>\n\t\t\t}\n\t\t\t{applyUrl && includeDialog &&\n <ApplyDialog applyUrl={applyUrl} internalApplyLink={internalApplyLink} companyName={companyName}>\n \t<Button.Anchor\n \t\tvariant={applyButtonVariant}\n \t\tsize={buttonSize}\n \t\tclassName={\"map-apply-now-button\"}\n \t\tonClick={trackApply}\n \t>\n \t\t{applyText}\n \t</Button.Anchor>\n </ApplyDialog>\n\t\t\t}\n\t\t</nav>\n\t);\n};\n\nexport default ButtonGroupApply;\n"],"names":["ButtonGroupApply","_ref","_item$slug","applyUrl","useDetailsPostMessage","navigateToDetails","navigateToEasyApply","Link","linkFormat","_ref$applyText","applyText","detailsUrl","_ref$detailsText","detailsText","className","_ref$buttonSize","buttonSize","_ref$applyButtonVaria","applyButtonVariant","_ref$detailsButtonVar","detailsButtonVariant","_ref$includeDialog","includeDialog","internalApplyLink","itemId","item","companyName","trackEvent","eventTypes","href","replace","slug","id","trackApply","_item$mapDetails","APPLY_NOW_CLICKED","jobTitle","fields","position","jobCategory","category","entityDisplayName","mapDetails","trackViewDetails","_item$mapDetails2","VIEW_DETAILS_CLICKED","console","log","React","createElement","twMerge","_templateObject","_taggedTemplateLiteral","Button","variant","size","onClick","Anchor","e","preventDefault","Btn","window","parent","postMessage","type","ApplyDialog"],"mappings":"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"}
1
+ {"version":3,"file":"button-group-apply.js","sources":["../../../../src/components/modules/buttons/button-group-apply.js"],"sourcesContent":["import React from 'react';\nimport { twMerge } from 'tailwind-merge';\n\nimport Button from '~/components/modules/buttons/default';\nimport ApplyDialog from '../dialogs/apply-dialog';\n\nconst ButtonGroupApply = ({\n\tapplyUrl,\n\tuseDetailsPostMessage,\n\tnavigateToDetails,\n\tnavigateToEasyApply,\n\tLink,\n\tlinkFormat,\n\tapplyText = 'Apply Now',\n\tdetailsUrl,\n\tdetailsText = 'View Details',\n\tclassName,\n\tbuttonSize = 'sm',\n\tapplyButtonVariant = 'primary',\n\tdetailsButtonVariant = 'outline',\n\tincludeDialog = false,\n\tinternalApplyLink,\n\titemId,\n\titem,\n\tcompanyName,\n\ttrackEvent,\n\teventTypes\n}) => {\n\tconst href = linkFormat.replace('[slug]', item.slug ?? item.id);\n\n\tconst trackApply = () => {\n\t\ttrackEvent(eventTypes.APPLY_NOW_CLICKED, { jobTitle: item.fields.position, jobCategory: item.fields.category, entityDisplayName: item?.mapDetails?.entityDisplayName });\n\t};\n\n\tconst trackViewDetails = () => {\n\t\ttrackEvent(eventTypes.VIEW_DETAILS_CLICKED, { jobTitle: item.fields.position, jobCategory: item.fields.category, entityDisplayName: item?.mapDetails?.entityDisplayName });\n\t};\n\tconsole.log(detailsUrl);\n\tconsole.log(useDetailsPostMessage);\n\tconsole.log(navigateToDetails);\n\tconsole.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\tonClick={trackViewDetails}\n\t\t\t\t>\n\t\t\t\t\t{detailsText}\n\t\t\t\t</Button.Link>\n\t\t\t) : navigateToDetails ? (\n\t\t\t\t<Button.Anchor\n\t\t\t\t\thref={href}\n\t\t\t\t\tonClick={e => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tnavigateToDetails(item);\n\t\t\t\t\t\ttrackViewDetails();\n\t\t\t\t\t}}\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>\n\t\t\t\t\t{detailsText}\n\t\t\t\t</Button.Anchor>\n\t\t\t) : detailsUrl && useDetailsPostMessage !== true ? (\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) : useDetailsPostMessage === true ? (\n\t\t\t\t<Button.Btn\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\ttrackViewDetails();\n\t\t\t\t\t\twindow.parent.postMessage({ itemId: itemId, type: 'LISTING_ID' }, '*');\n\t\t\t\t\t}}\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>\n\t\t\t\t\t{detailsText}\n\t\t\t\t</Button.Btn>\n\t\t\t) : null}\n\n\t\t\t{applyUrl && !includeDialog && navigateToEasyApply == null &&\n <Button.Anchor\n \thref={applyUrl}\n \tvariant={applyButtonVariant}\n \tsize={buttonSize}\n \tclassName={\"map-apply-now-button\"}\n \tonClick={trackApply}\n >\n \t{applyText}\n </Button.Anchor>\n\t\t\t}\n\t\t\t{applyUrl && !includeDialog && navigateToEasyApply != null &&\n <Button.Btn\n \tonClick={() => { navigateToEasyApply(item); trackApply(); }}\n \tvariant={applyButtonVariant}\n \tclassName={\"map-apply-now-button\"}\n \tsize={buttonSize}\n >\n \t{applyText}\n </Button.Btn>\n\t\t\t}\n\t\t\t{applyUrl && includeDialog &&\n <ApplyDialog applyUrl={applyUrl} internalApplyLink={internalApplyLink} companyName={companyName}>\n \t<Button.Anchor\n \t\tvariant={applyButtonVariant}\n \t\tsize={buttonSize}\n \t\tclassName={\"map-apply-now-button\"}\n \t\tonClick={trackApply}\n \t>\n \t\t{applyText}\n \t</Button.Anchor>\n </ApplyDialog>\n\t\t\t}\n\t\t</nav>\n\t);\n};\n\nexport default ButtonGroupApply;\n"],"names":["ButtonGroupApply","_ref","_item$slug","applyUrl","useDetailsPostMessage","navigateToDetails","navigateToEasyApply","Link","linkFormat","_ref$applyText","applyText","detailsUrl","_ref$detailsText","detailsText","className","_ref$buttonSize","buttonSize","_ref$applyButtonVaria","applyButtonVariant","_ref$detailsButtonVar","detailsButtonVariant","_ref$includeDialog","includeDialog","internalApplyLink","itemId","item","companyName","trackEvent","eventTypes","href","replace","slug","id","trackApply","_item$mapDetails","APPLY_NOW_CLICKED","jobTitle","fields","position","jobCategory","category","entityDisplayName","mapDetails","trackViewDetails","_item$mapDetails2","VIEW_DETAILS_CLICKED","console","log","React","createElement","twMerge","_templateObject","_taggedTemplateLiteral","Button","variant","size","onClick","Anchor","e","preventDefault","Btn","window","parent","postMessage","type","ApplyDialog"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abcagency/hc-ui-components",
3
- "version": "1.3.55",
3
+ "version": "1.3.57",
4
4
  "description": "UI Components for HireControl",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -1,80 +1,116 @@
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;
1
+ import React, { useState, useEffect } from 'react';
2
+ import { useTrackEvent } from '~/contexts/trackEventContext';
3
+ import FilterItem from '~/components/modules/filter/item';
4
+ import { useMapList } from '~/contexts/mapListContext';
5
+
6
+ const FilterItemContainer = ({
7
+ className,
8
+ item,
9
+ type = 'checkbox',
10
+ itemKey = null,
11
+ hasCount = true,
12
+ field,
13
+ isExternalLink = false,
14
+ externalLinkUrl,
15
+ selectedFilters,
16
+ setSelectedFilters,
17
+ ...rest
18
+ }) => {
19
+ const { trackEvent, eventTypes } = useTrackEvent();
20
+ const itemName = item.name ? item.name : item;
21
+ itemKey = itemKey === null ? itemName : itemKey;
22
+ const isActive = selectedFilters != undefined && !!selectedFilters[field]?.[itemKey];
23
+ const [activeItem, setActiveItem] = useState(isActive);
24
+
25
+ useEffect(() => {
26
+ if (!selectedFilters || isExternalLink) return;
27
+ setActiveItem(!!selectedFilters[field]?.[itemKey]);
28
+ }, [selectedFilters, field, itemKey]);
29
+
30
+ const { filteredListings } = useMapList();
31
+ const changeHandler = () => {
32
+ if (!isActive || isExternalLink) {
33
+ trackEvent(eventTypes.FILTER_APPLIED, { filterType: field, filterChecked: itemKey });
34
+ }
35
+
36
+ setSelectedFilters(prevFilters => {
37
+ const updatedFilters = { ...prevFilters };
38
+
39
+ if (field === 'city' || field === 'state' || field === 'cityState') {
40
+ delete updatedFilters['entityName'];
41
+ }
42
+
43
+ if (!isActive) {
44
+ if (!updatedFilters[field]) {
45
+ updatedFilters[field] = {};
46
+ }
47
+ updatedFilters[field][itemKey] = true;
48
+ return updatedFilters;
49
+ }
50
+
51
+ delete updatedFilters[field][itemKey];
52
+
53
+ if (updatedFilters[field] && Object.keys(updatedFilters[field]).length === 0) {
54
+ delete updatedFilters[field];
55
+ }
56
+
57
+ if (field === 'categoryClass') {
58
+ const activeCategoryClass = itemKey;
59
+ const categoriesToConsiderForRemoval = new Set(
60
+ filteredListings
61
+ .filter(listing => listing.fields.categoryClass === activeCategoryClass)
62
+ .flatMap(listing => listing.fields.category || [])
63
+ );
64
+
65
+ const categoriesToRetain = new Set(
66
+ filteredListings
67
+ .filter(listing => listing.fields.categoryClass !== activeCategoryClass)
68
+ .flatMap(listing => listing.fields.category || [])
69
+ .filter(category => categoriesToConsiderForRemoval.has(category))
70
+ );
71
+
72
+ if (updatedFilters['category']) {
73
+ Object.keys(updatedFilters['category']).forEach(categoryKey => {
74
+ if (categoriesToConsiderForRemoval.has(categoryKey) && !categoriesToRetain.has(categoryKey)) {
75
+ delete updatedFilters['category'][categoryKey];
76
+ }
77
+ });
78
+
79
+ if (Object.keys(updatedFilters['category']).length === 0) {
80
+ delete updatedFilters['category'];
81
+ }
82
+ }
83
+ }
84
+
85
+ return updatedFilters;
86
+ });
87
+ };
88
+
89
+ useEffect(() => {
90
+ if (selectedFilters && selectedFilters[field] && Object.keys(selectedFilters[field])?.length > 0) return;
91
+ else if (activeItem === true) {
92
+ setActiveItem(false);
93
+ }
94
+ }, [selectedFilters]);
95
+
96
+ return (
97
+ <FilterItem
98
+ className={className}
99
+ item={item}
100
+ type={type}
101
+ itemKey={itemKey}
102
+ hasCount={hasCount}
103
+ field={field}
104
+ activeItem={activeItem}
105
+ setActiveItem={setActiveItem}
106
+ changeHandler={changeHandler}
107
+ isExternalLink={isExternalLink}
108
+ externalLinkUrl={externalLinkUrl}
109
+ trackEvent={trackEvent}
110
+ eventTypes={eventTypes}
111
+ {...rest}
112
+ />
113
+ );
114
+ };
115
+
116
+ export default FilterItemContainer;
@@ -46,53 +46,55 @@ const ButtonGroupApply = ({
46
46
  ${className ?? ''}
47
47
  `}
48
48
  >
49
- {Link &&
50
- <Button.Link
51
- Link={Link}
52
- href={href}
53
- variant={detailsButtonVariant}
54
- size={buttonSize}
55
- className={"map-details-button"}
56
- onClick={trackViewDetails}
57
- >
58
- {detailsText}
59
- </Button.Link>
60
- }
61
- {navigateToDetails &&
62
- <Button.Anchor
63
- href={href}
64
- onClick={e => {
65
- e.preventDefault();
66
- navigateToDetails(item);
67
- trackViewDetails();
68
- }}
69
- variant={detailsButtonVariant}
70
- className={"map-details-button"}
71
- size={buttonSize}
72
- >
73
- {detailsText}
74
- </Button.Anchor>
75
- }
76
- {detailsUrl && useDetailsPostMessage !== true && !navigateToDetails &&
77
- <Button.Anchor
78
- href={detailsUrl}
79
- variant={detailsButtonVariant}
80
- className={"map-details-button"}
81
- size={buttonSize}
82
- onClick={trackViewDetails}
83
- >
84
- {detailsText}
85
- </Button.Anchor>
86
- }
87
- {useDetailsPostMessage === true && !navigateToDetails &&
88
- <Button.Btn
89
- onClick={() => {trackViewDetails; window.parent.postMessage({ itemId: itemId, type: 'LISTING_ID' }, '*'); }}
90
- variant={detailsButtonVariant}
91
- className={"map-details-button"}
92
- size={buttonSize}
93
- >
94
- {detailsText}
95
- </Button.Btn>}
49
+ {Link ? (
50
+ <Button.Link
51
+ Link={Link}
52
+ href={href}
53
+ variant={detailsButtonVariant}
54
+ size={buttonSize}
55
+ className={"map-details-button"}
56
+ onClick={trackViewDetails}
57
+ >
58
+ {detailsText}
59
+ </Button.Link>
60
+ ) : navigateToDetails ? (
61
+ <Button.Anchor
62
+ href={href}
63
+ onClick={e => {
64
+ e.preventDefault();
65
+ navigateToDetails(item);
66
+ trackViewDetails();
67
+ }}
68
+ variant={detailsButtonVariant}
69
+ className={"map-details-button"}
70
+ size={buttonSize}
71
+ >
72
+ {detailsText}
73
+ </Button.Anchor>
74
+ ) : detailsUrl && useDetailsPostMessage !== true ? (
75
+ <Button.Anchor
76
+ href={detailsUrl}
77
+ variant={detailsButtonVariant}
78
+ className={"map-details-button"}
79
+ size={buttonSize}
80
+ onClick={trackViewDetails}
81
+ >
82
+ {detailsText}
83
+ </Button.Anchor>
84
+ ) : useDetailsPostMessage === true ? (
85
+ <Button.Btn
86
+ onClick={() => {
87
+ trackViewDetails();
88
+ window.parent.postMessage({ itemId: itemId, type: 'LISTING_ID' }, '*');
89
+ }}
90
+ variant={detailsButtonVariant}
91
+ className={"map-details-button"}
92
+ size={buttonSize}
93
+ >
94
+ {detailsText}
95
+ </Button.Btn>
96
+ ) : null}
97
+
96
98
  {applyUrl && !includeDialog && navigateToEasyApply == null &&
97
99
  <Button.Anchor
98
100
  href={applyUrl}