@bento-core/query-bar 1.0.1-ccdihub.19 → 1.0.1-ccdihub.20

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.
@@ -17,18 +17,49 @@ var _default = _ref => {
17
17
  } = _ref;
18
18
  const {
19
19
  items,
20
- section
20
+ section,
21
+ unknownAges
21
22
  } = data;
23
+
24
+ // Determine the display logic based on unknownAges selection
25
+ const getDisplayContent = () => {
26
+ const baseLabel = data.label;
27
+ if (unknownAges === 'only') {
28
+ // Only: Show base label with unknown ages only, no range
29
+ return {
30
+ label: "".concat(baseLabel, " (Unknown Ages Only)"),
31
+ showRange: false,
32
+ rangeText: ''
33
+ };
34
+ }
35
+ if (unknownAges === 'exclude') {
36
+ // Exclude: Show base label with unknown ages excluded, with range only if items exist
37
+ const hasRange = items && items.length >= 2;
38
+ return {
39
+ label: "".concat(baseLabel, " (Unknown Ages Excluded)"),
40
+ showRange: hasRange,
41
+ rangeText: hasRange ? "".concat(items[0], " \u2013 ").concat(items[1]) : ''
42
+ };
43
+ }
44
+
45
+ // Include: Normal display (base label with range)
46
+ return {
47
+ label: baseLabel,
48
+ showRange: true,
49
+ rangeText: items && items.length >= 2 ? "".concat(items[0], " \u2013 ").concat(items[1]) : ''
50
+ };
51
+ };
52
+ const displayContent = getDisplayContent();
22
53
  return /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement("span", null, ' ', index !== 0 ? /*#__PURE__*/_react.default.createElement("span", {
23
54
  className: classes.operators
24
55
  }, " AND ") : '', /*#__PURE__*/_react.default.createElement("span", {
25
56
  className: (0, _clsx.default)(classes.filterName, classes["facetSection".concat(section, "Background")]),
26
57
  onClick: () => onSectionClick(data)
27
- }, data.label), ' '), /*#__PURE__*/_react.default.createElement("span", null, ' ', /*#__PURE__*/_react.default.createElement("span", {
58
+ }, displayContent.label), ' '), displayContent.showRange && /*#__PURE__*/_react.default.createElement("span", null, ' ', /*#__PURE__*/_react.default.createElement("span", {
28
59
  className: classes.operators
29
60
  }, "IS BETWEEN", ' '), /*#__PURE__*/_react.default.createElement("span", {
30
61
  className: (0, _clsx.default)(classes.filterCheckboxes, classes["facetSection".concat(section)]),
31
62
  onClick: () => onItemClick(data, items[0])
32
- }, "".concat(items[0], " \u2013 ").concat(items[1]))));
63
+ }, displayContent.rangeText)));
33
64
  };
34
65
  exports.default = _default;
@@ -81,7 +81,7 @@ const QueryBarGenerator = function QueryBarGenerator() {
81
81
  return _objectSpread(_objectSpread({}, facet), {}, {
82
82
  items: itemKeys
83
83
  });
84
- }).filter(facet => facet.items.length > 0);
84
+ }).filter(facet => facet.items.length > 0 || facet.unknownAges && facet.unknownAges !== 'include');
85
85
  if (!hasImportFrom && (mappedInputs.length || autocomplete.length || upload.length) <= 0) {
86
86
  return null;
87
87
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bento-core/query-bar",
3
- "version": "1.0.1-ccdihub.19",
3
+ "version": "1.0.1-ccdihub.20",
4
4
  "description": "This package provides the Query Bar component that displays the current Facet Search and Local Find filters on the Dashboard/Explore page. It also provides the direct ability to reset all or some of the filters with the click of a button. It is designed to be implemented directly with the:",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -5,7 +5,40 @@ export default ({
5
5
  index, data, classes,
6
6
  onSectionClick, onItemClick,
7
7
  }) => {
8
- const { items, section } = data;
8
+ const { items, section, unknownAges } = data;
9
+
10
+ // Determine the display logic based on unknownAges selection
11
+ const getDisplayContent = () => {
12
+ const baseLabel = data.label;
13
+
14
+ if (unknownAges === 'only') {
15
+ // Only: Show base label with unknown ages only, no range
16
+ return {
17
+ label: `${baseLabel} (Unknown Ages Only)`,
18
+ showRange: false,
19
+ rangeText: '',
20
+ };
21
+ }
22
+
23
+ if (unknownAges === 'exclude') {
24
+ // Exclude: Show base label with unknown ages excluded, with range only if items exist
25
+ const hasRange = items && items.length >= 2;
26
+ return {
27
+ label: `${baseLabel} (Unknown Ages Excluded)`,
28
+ showRange: hasRange,
29
+ rangeText: hasRange ? `${items[0]} – ${items[1]}` : '',
30
+ };
31
+ }
32
+
33
+ // Include: Normal display (base label with range)
34
+ return {
35
+ label: baseLabel,
36
+ showRange: true,
37
+ rangeText: items && items.length >= 2 ? `${items[0]} – ${items[1]}` : '',
38
+ };
39
+ };
40
+
41
+ const displayContent = getDisplayContent();
9
42
 
10
43
  return (
11
44
  <span>
@@ -16,23 +49,25 @@ export default ({
16
49
  className={clsx(classes.filterName, classes[`facetSection${section}Background`])}
17
50
  onClick={() => onSectionClick(data)}
18
51
  >
19
- {data.label}
52
+ {displayContent.label}
20
53
  </span>
21
54
  {' '}
22
55
  </span>
23
- <span>
24
- {' '}
25
- <span className={classes.operators}>
26
- IS BETWEEN
56
+ {displayContent.showRange && (
57
+ <span>
27
58
  {' '}
59
+ <span className={classes.operators}>
60
+ IS BETWEEN
61
+ {' '}
62
+ </span>
63
+ <span
64
+ className={clsx(classes.filterCheckboxes, classes[`facetSection${section}`])}
65
+ onClick={() => onItemClick(data, items[0])}
66
+ >
67
+ {displayContent.rangeText}
68
+ </span>
28
69
  </span>
29
- <span
30
- className={clsx(classes.filterCheckboxes, classes[`facetSection${section}`])}
31
- onClick={() => onItemClick(data, items[0])}
32
- >
33
- {`${items[0]} – ${items[1]}`}
34
- </span>
35
- </span>
70
+ )}
36
71
  </span>
37
72
  );
38
73
  };
@@ -87,7 +87,7 @@ export const QueryBarGenerator = (uiConfig = DEFAULT_CONFIG) => {
87
87
 
88
88
  return { ...facet, items: itemKeys };
89
89
  })
90
- .filter((facet) => facet.items.length > 0);
90
+ .filter((facet) => facet.items.length > 0 || (facet.unknownAges && facet.unknownAges !== 'include'));
91
91
 
92
92
  if (!hasImportFrom && (mappedInputs.length || autocomplete.length || upload.length) <= 0) {
93
93
  return null;