@bento-core/query-bar 1.0.0-c3dc.11 → 1.0.0-c3dc.13

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.
@@ -37,7 +37,28 @@ const QueryUrl = _ref => {
37
37
  acc[datafield] = items;
38
38
  return acc;
39
39
  }, {});
40
- const queryString = JSON.stringify(_objectSpread(_objectSpread({}, pathFilterParams), localFind));
40
+
41
+ // Extract unknownAges state from filterItems
42
+ const unknownAgesState = filterItems.reduce((acc, item) => {
43
+ const {
44
+ datafield,
45
+ unknownAges,
46
+ isUnknownAges,
47
+ parentDatafield
48
+ } = item;
49
+ // Only include unknownAges if it's set and not the default 'include'
50
+ if (unknownAges && unknownAges !== 'include') {
51
+ // Use parentDatafield if this is an unknownAges-only item, otherwise use datafield
52
+ const key = isUnknownAges ? parentDatafield : datafield;
53
+ if (key) {
54
+ acc[key] = unknownAges;
55
+ }
56
+ }
57
+ return acc;
58
+ }, {});
59
+ const queryString = JSON.stringify(_objectSpread(_objectSpread(_objectSpread({}, pathFilterParams), localFind), Object.keys(unknownAgesState).length > 0 && {
60
+ unknownAgesState
61
+ }));
41
62
  const [url, setUrl] = (0, _react.useState)('');
42
63
  const copyUrl = async () => {
43
64
  toggleOpen();
@@ -123,7 +123,7 @@ const QueryBarGenerator = function QueryBarGenerator() {
123
123
  key: "pid-".concat(idx)
124
124
  }, /*#__PURE__*/_react.default.createElement("span", {
125
125
  className: (0, _clsx.default)(classes.filterCheckboxes, classes.facetSectionCases),
126
- onClick: () => deleteAutocompleteItem(d.title)
126
+ onClick: () => deleteAutocompleteItem(d)
127
127
  }, d.title), idx < arr.length - 1 && ' ')), participantItems.length > maxItems && '...', operator === 'IN' && /*#__PURE__*/_react.default.createElement("span", {
128
128
  className: classes.bracketsClose
129
129
  }, ")"));
@@ -146,7 +146,7 @@ const QueryBarGenerator = function QueryBarGenerator() {
146
146
  key: "aid-".concat(idx)
147
147
  }, /*#__PURE__*/_react.default.createElement("span", {
148
148
  className: (0, _clsx.default)(classes.filterCheckboxes, classes.localFindAssociatedIdsText),
149
- onClick: () => deleteAutocompleteItem(d.title)
149
+ onClick: () => deleteAutocompleteItem(d)
150
150
  }, d.synonym), idx < arr.length - 1 && ' ')), associatedItems.length > maxItems && '...', operator === 'IN' && /*#__PURE__*/_react.default.createElement("span", {
151
151
  className: classes.bracketsClose
152
152
  }, ")"));
@@ -52,10 +52,10 @@ var _default = {
52
52
  /**
53
53
  * Delete a specific Local Find searchbox filter (case)
54
54
  *
55
- * @param {string} title
55
+ * @param {object} item
56
56
  * @returns {void}
57
57
  */
58
- deleteAutocompleteItem: title => {},
58
+ deleteAutocompleteItem: item => {},
59
59
  /**
60
60
  * Reset a specific facet section (e.g. Program)
61
61
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bento-core/query-bar",
3
- "version": "1.0.0-c3dc.11",
3
+ "version": "1.0.0-c3dc.13",
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": {
@@ -23,7 +23,7 @@
23
23
  "react-redux": "^7.2.1"
24
24
  },
25
25
  "dependencies": {
26
- "@bento-core/facet-filter": "^1.0.1-c3dc.11",
26
+ "@bento-core/facet-filter": "^1.0.1-c3dc.12",
27
27
  "lodash": "^4.17.20"
28
28
  },
29
29
  "author": "CTOS Bento Team",
@@ -32,9 +32,27 @@ const QueryUrl = ({
32
32
  return acc;
33
33
  }, {});
34
34
 
35
+ // Extract unknownAges state from filterItems
36
+ const unknownAgesState = filterItems.reduce((acc, item) => {
37
+ const {
38
+ datafield, unknownAges, isUnknownAges, parentDatafield,
39
+ } = item;
40
+ // Only include unknownAges if it's set and not the default 'include'
41
+ if (unknownAges && unknownAges !== 'include') {
42
+ // Use parentDatafield if this is an unknownAges-only item, otherwise use datafield
43
+ const key = isUnknownAges ? parentDatafield : datafield;
44
+ if (key) {
45
+ acc[key] = unknownAges;
46
+ }
47
+ }
48
+ return acc;
49
+ }, {});
50
+
35
51
  const queryString = JSON.stringify({
36
52
  ...pathFilterParams,
37
53
  ...localFind,
54
+ // Include unknownAgesState if it has any entries
55
+ ...(Object.keys(unknownAgesState).length > 0 && { unknownAgesState }),
38
56
  });
39
57
  const [url, setUrl] = useState('');
40
58
 
@@ -161,7 +161,7 @@ export const QueryBarGenerator = (uiConfig = DEFAULT_CONFIG) => {
161
161
  <React.Fragment key={`pid-${idx}`}>
162
162
  <span
163
163
  className={clsx(classes.filterCheckboxes, classes.facetSectionCases)}
164
- onClick={() => deleteAutocompleteItem(d.title)}
164
+ onClick={() => deleteAutocompleteItem(d)}
165
165
  >
166
166
  {d.title}
167
167
  </span>
@@ -206,7 +206,7 @@ export const QueryBarGenerator = (uiConfig = DEFAULT_CONFIG) => {
206
206
  className={
207
207
  clsx(classes.filterCheckboxes, classes.localFindAssociatedIdsText)
208
208
  }
209
- onClick={() => deleteAutocompleteItem(d.title)}
209
+ onClick={() => deleteAutocompleteItem(d)}
210
210
  >
211
211
  {d.synonym}
212
212
  </span>
@@ -51,10 +51,10 @@ export default {
51
51
  /**
52
52
  * Delete a specific Local Find searchbox filter (case)
53
53
  *
54
- * @param {string} title
54
+ * @param {object} item
55
55
  * @returns {void}
56
56
  */
57
- deleteAutocompleteItem: (title) => {},
57
+ deleteAutocompleteItem: (item) => {},
58
58
 
59
59
  /**
60
60
  * Reset a specific facet section (e.g. Program)