@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
- // Reset slider to default values for display
138
- const defaultValues = [getDisplayValue(minLowerBound), getDisplayValue(maxUpperBound)];
139
- setSliderValue(defaultValues);
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bento-core/facet-filter",
3
- "version": "1.0.1-ccdihub.36",
3
+ "version": "1.0.1-ccdihub.37",
4
4
  "description": "### Bento core sidebar design:",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -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
- // Reset slider to default values for display
149
- const defaultValues = [getDisplayValue(minLowerBound), getDisplayValue(maxUpperBound)];
150
- setSliderValue(defaultValues);
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