@bento-core/facet-filter 1.0.1-ccdihub.36 → 1.0.1-ccdihub.37
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.
|
@@ -110,12 +110,17 @@ const SliderView = _ref => {
|
|
|
110
110
|
};
|
|
111
111
|
const [sliderValue, setSliderValue] = (0, _react.useState)([getDisplayValue(lowerBoundValue), getDisplayValue(upperBoundValue)]);
|
|
112
112
|
(0, _react.useEffect)(() => {
|
|
113
|
+
// Don't reset slider values if "Only" is selected - preserve current values
|
|
114
|
+
if (unknownAges === 'only') {
|
|
115
|
+
return; // Keep current slider values
|
|
116
|
+
}
|
|
117
|
+
|
|
113
118
|
if (filterState && datafield && filterState[datafield]) {
|
|
114
119
|
setSliderValue([getDisplayValue(filterState[datafield][0]), getDisplayValue(filterState[datafield][1])]);
|
|
115
120
|
} else {
|
|
116
121
|
setSliderValue([getDisplayValue(minLowerBound), getDisplayValue(maxUpperBound)]);
|
|
117
122
|
}
|
|
118
|
-
}, [facet, timeUnit]);
|
|
123
|
+
}, [facet, timeUnit, unknownAges]);
|
|
119
124
|
const handleChangeSlider = (index, value) => {
|
|
120
125
|
if (!value.includes('')) {
|
|
121
126
|
setSliderValue([...value]);
|
|
@@ -134,14 +139,26 @@ const SliderView = _ref => {
|
|
|
134
139
|
const queryStr = (0, _util.generateQueryStr)(query, queryParams, paramValue);
|
|
135
140
|
navigate("/explore".concat(queryStr));
|
|
136
141
|
|
|
137
|
-
//
|
|
138
|
-
|
|
139
|
-
setSliderValue
|
|
142
|
+
// Keep the current slider values for display (don't reset to defaults)
|
|
143
|
+
// The slider will be disabled but show the user's previous selection
|
|
144
|
+
// setSliderValue remains unchanged - keep current values
|
|
140
145
|
|
|
141
|
-
// Clear the slider state in the parent component
|
|
146
|
+
// Clear the slider state in the parent component (don't use age range in query)
|
|
142
147
|
onSliderToggle(_objectSpread({
|
|
143
148
|
sliderValue: []
|
|
144
149
|
}, facet));
|
|
150
|
+
} else if (unknownAges === 'only' && newUnknownAges !== 'only') {
|
|
151
|
+
// When switching away from "only", restore the slider values to the query
|
|
152
|
+
const currentSliderValues = [convertToDays(sliderValue[0]), convertToDays(sliderValue[1])];
|
|
153
|
+
const paramValue = {};
|
|
154
|
+
paramValue[datafield] = currentSliderValues;
|
|
155
|
+
const queryStr = (0, _util.generateQueryStr)(query, queryParams, paramValue);
|
|
156
|
+
navigate("/explore".concat(queryStr));
|
|
157
|
+
|
|
158
|
+
// Restore the slider state in the parent component
|
|
159
|
+
onSliderToggle(_objectSpread({
|
|
160
|
+
sliderValue: currentSliderValues
|
|
161
|
+
}, facet));
|
|
145
162
|
}
|
|
146
163
|
};
|
|
147
164
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
package/package.json
CHANGED
|
@@ -115,6 +115,11 @@ const SliderView = ({
|
|
|
115
115
|
getDisplayValue(upperBoundValue),
|
|
116
116
|
]);
|
|
117
117
|
useEffect(() => {
|
|
118
|
+
// Don't reset slider values if "Only" is selected - preserve current values
|
|
119
|
+
if (unknownAges === 'only') {
|
|
120
|
+
return; // Keep current slider values
|
|
121
|
+
}
|
|
122
|
+
|
|
118
123
|
if (filterState && datafield && filterState[datafield]) {
|
|
119
124
|
setSliderValue([
|
|
120
125
|
getDisplayValue(filterState[datafield][0]),
|
|
@@ -123,7 +128,7 @@ const SliderView = ({
|
|
|
123
128
|
} else {
|
|
124
129
|
setSliderValue([getDisplayValue(minLowerBound), getDisplayValue(maxUpperBound)]);
|
|
125
130
|
}
|
|
126
|
-
}, [facet, timeUnit]);
|
|
131
|
+
}, [facet, timeUnit, unknownAges]);
|
|
127
132
|
|
|
128
133
|
const handleChangeSlider = (index, value) => {
|
|
129
134
|
if (!value.includes('')) {
|
|
@@ -145,12 +150,22 @@ const SliderView = ({
|
|
|
145
150
|
const queryStr = generateQueryStr(query, queryParams, paramValue);
|
|
146
151
|
navigate(`/explore${queryStr}`);
|
|
147
152
|
|
|
148
|
-
//
|
|
149
|
-
|
|
150
|
-
setSliderValue
|
|
153
|
+
// Keep the current slider values for display (don't reset to defaults)
|
|
154
|
+
// The slider will be disabled but show the user's previous selection
|
|
155
|
+
// setSliderValue remains unchanged - keep current values
|
|
151
156
|
|
|
152
|
-
// Clear the slider state in the parent component
|
|
157
|
+
// Clear the slider state in the parent component (don't use age range in query)
|
|
153
158
|
onSliderToggle({ sliderValue: [], ...facet });
|
|
159
|
+
} else if (unknownAges === 'only' && newUnknownAges !== 'only') {
|
|
160
|
+
// When switching away from "only", restore the slider values to the query
|
|
161
|
+
const currentSliderValues = [convertToDays(sliderValue[0]), convertToDays(sliderValue[1])];
|
|
162
|
+
const paramValue = {};
|
|
163
|
+
paramValue[datafield] = currentSliderValues;
|
|
164
|
+
const queryStr = generateQueryStr(query, queryParams, paramValue);
|
|
165
|
+
navigate(`/explore${queryStr}`);
|
|
166
|
+
|
|
167
|
+
// Restore the slider state in the parent component
|
|
168
|
+
onSliderToggle({ sliderValue: currentSliderValues, ...facet });
|
|
154
169
|
}
|
|
155
170
|
};
|
|
156
171
|
|