@bento-core/query-bar 1.0.1-ccdihub.18 → 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.
- package/dist/components/SliderFilter.js +34 -3
- package/dist/generators/QueryBarGenerator.js +1 -1
- package/dist/generators/styles.js +1 -2
- package/package.json +1 -1
- package/src/components/SliderFilter.js +48 -13
- package/src/generators/QueryBarGenerator.js +1 -1
- package/src/generators/styles.js +1 -2
|
@@ -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
|
-
},
|
|
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
|
-
},
|
|
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.
|
|
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
|
-
{
|
|
52
|
+
{displayContent.label}
|
|
20
53
|
</span>
|
|
21
54
|
{' '}
|
|
22
55
|
</span>
|
|
23
|
-
|
|
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
|
-
|
|
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;
|