@bento-core/facet-filter 1.0.1-ccdihub.38 → 1.0.1-ccdihub.39
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/facet/NewFacetView.js +25 -4
- package/dist/components/facet/NewSearchFacetView.js +25 -4
- package/dist/components/facet/ReduxNewFacetView.js +6 -2
- package/dist/components/facet/ReduxNewSearchFacetView.js +6 -2
- package/dist/store/actions/ActionTypes.js +2 -1
- package/dist/store/actions/Actions.js +10 -2
- package/dist/store/reducers/SideBarReducer.js +20 -2
- package/package.json +1 -1
- package/src/components/facet/NewFacetView.js +28 -3
- package/src/components/facet/NewSearchFacetView.js +28 -3
- package/src/components/facet/ReduxNewFacetView.js +5 -0
- package/src/components/facet/ReduxNewSearchFacetView.js +5 -0
- package/src/store/actions/ActionTypes.js +1 -0
- package/src/store/actions/Actions.js +8 -0
- package/src/store/reducers/SideBarReducer.js +17 -0
|
@@ -36,10 +36,27 @@ const NewFacetView = _ref => {
|
|
|
36
36
|
queryParams,
|
|
37
37
|
timeUnitState,
|
|
38
38
|
onTimeUnitChange,
|
|
39
|
-
unknownAgesState
|
|
39
|
+
unknownAgesState,
|
|
40
|
+
expandState,
|
|
41
|
+
onToggleFacetExpand
|
|
40
42
|
} = _ref;
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
+
const expand = expandState[facet.datafield] !== undefined ? expandState[facet.datafield] : facet.expanded !== undefined && typeof facet.expanded === 'boolean' ? facet.expanded : false;
|
|
44
|
+
const isUserInitiated = (0, _react.useRef)(false);
|
|
45
|
+
const prevExpandRef = (0, _react.useRef)(expand);
|
|
46
|
+
(0, _react.useEffect)(() => {
|
|
47
|
+
prevExpandRef.current = expand;
|
|
48
|
+
// Reset flag after render
|
|
49
|
+
if (isUserInitiated.current) {
|
|
50
|
+
setTimeout(() => {
|
|
51
|
+
isUserInitiated.current = false;
|
|
52
|
+
}, 0);
|
|
53
|
+
}
|
|
54
|
+
}, [expand]);
|
|
55
|
+
const onExpandFacet = () => {
|
|
56
|
+
isUserInitiated.current = true;
|
|
57
|
+
const newExpandState = !expand;
|
|
58
|
+
onToggleFacetExpand(facet.datafield, newExpandState);
|
|
59
|
+
};
|
|
43
60
|
const query = new URLSearchParams((0, _reactRouterDom.useLocation)().search);
|
|
44
61
|
const navigate = (0, _reactRouterDom.useNavigate)();
|
|
45
62
|
|
|
@@ -114,7 +131,11 @@ const NewFacetView = _ref => {
|
|
|
114
131
|
classes: {
|
|
115
132
|
root: classes.expansionPanelsideBarItem
|
|
116
133
|
},
|
|
117
|
-
id: facet.section
|
|
134
|
+
id: facet.section,
|
|
135
|
+
TransitionProps: {
|
|
136
|
+
// Disable animation if change is not user-initiated
|
|
137
|
+
timeout: isUserInitiated.current ? undefined : 0
|
|
138
|
+
}
|
|
118
139
|
}, CustomView ? /*#__PURE__*/_react.default.createElement(CustomView, {
|
|
119
140
|
facet: facet,
|
|
120
141
|
facetClasses: isActiveFacet ? "activeFacet".concat(facet.section) : "inactiveFacet".concat(facet.section)
|
|
@@ -58,11 +58,28 @@ const SearchFacetView = _ref => {
|
|
|
58
58
|
onSortChange,
|
|
59
59
|
CustomView,
|
|
60
60
|
queryParams,
|
|
61
|
-
unknownAgesState
|
|
61
|
+
unknownAgesState,
|
|
62
|
+
expandState,
|
|
63
|
+
onToggleFacetExpand
|
|
62
64
|
} = _ref;
|
|
63
|
-
const
|
|
65
|
+
const expand = expandState[facet.datafield] !== undefined ? expandState[facet.datafield] : facet.expanded !== undefined && typeof facet.expanded === 'boolean' ? facet.expanded : false;
|
|
66
|
+
const isUserInitiated = (0, _react.useRef)(false);
|
|
67
|
+
const prevExpandRef = (0, _react.useRef)(expand);
|
|
68
|
+
(0, _react.useEffect)(() => {
|
|
69
|
+
prevExpandRef.current = expand;
|
|
70
|
+
// Reset flag after render
|
|
71
|
+
if (isUserInitiated.current) {
|
|
72
|
+
setTimeout(() => {
|
|
73
|
+
isUserInitiated.current = false;
|
|
74
|
+
}, 0);
|
|
75
|
+
}
|
|
76
|
+
}, [expand]);
|
|
77
|
+
const onExpandFacet = () => {
|
|
78
|
+
isUserInitiated.current = true;
|
|
79
|
+
const newExpandState = !expand;
|
|
80
|
+
onToggleFacetExpand(facet.datafield, newExpandState);
|
|
81
|
+
};
|
|
64
82
|
const [open, setOpen] = (0, _react.useState)(false);
|
|
65
|
-
const onExpandFacet = () => setExpand(!expand);
|
|
66
83
|
const query = new URLSearchParams((0, _reactRouterDom.useLocation)().search);
|
|
67
84
|
const navigate = (0, _reactRouterDom.useNavigate)();
|
|
68
85
|
const onClearSection = () => {
|
|
@@ -132,7 +149,11 @@ const SearchFacetView = _ref => {
|
|
|
132
149
|
classes: {
|
|
133
150
|
root: classes.expansionPanelsideBarItem
|
|
134
151
|
},
|
|
135
|
-
id: facet.section
|
|
152
|
+
id: facet.section,
|
|
153
|
+
TransitionProps: {
|
|
154
|
+
// Disable animation if change is not user-initiated
|
|
155
|
+
timeout: isUserInitiated.current ? undefined : 0
|
|
156
|
+
}
|
|
136
157
|
}, CustomView ? /*#__PURE__*/_react.default.createElement(CustomView, {
|
|
137
158
|
facet: facet,
|
|
138
159
|
facetClasses: isActiveFacet ? "activeFacet".concat(facet.section) : "inactiveFacet".concat(facet.section)
|
|
@@ -11,10 +11,11 @@ var _NewFacetView = _interopRequireDefault(require("./NewFacetView"));
|
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
const ReduxNewFacetView = props => /*#__PURE__*/_react.default.createElement(_NewFacetView.default, props);
|
|
13
13
|
const mapStateToProps = state => {
|
|
14
|
-
var _state$statusReducer, _state$statusReducer2;
|
|
14
|
+
var _state$statusReducer, _state$statusReducer2, _state$statusReducer3;
|
|
15
15
|
return {
|
|
16
16
|
timeUnitState: (state === null || state === void 0 ? void 0 : (_state$statusReducer = state.statusReducer) === null || _state$statusReducer === void 0 ? void 0 : _state$statusReducer.timeUnitState) || {},
|
|
17
|
-
unknownAgesState: (state === null || state === void 0 ? void 0 : (_state$statusReducer2 = state.statusReducer) === null || _state$statusReducer2 === void 0 ? void 0 : _state$statusReducer2.unknownAgesState) || {}
|
|
17
|
+
unknownAgesState: (state === null || state === void 0 ? void 0 : (_state$statusReducer2 = state.statusReducer) === null || _state$statusReducer2 === void 0 ? void 0 : _state$statusReducer2.unknownAgesState) || {},
|
|
18
|
+
expandState: (state === null || state === void 0 ? void 0 : (_state$statusReducer3 = state.statusReducer) === null || _state$statusReducer3 === void 0 ? void 0 : _state$statusReducer3.expandState) || {}
|
|
18
19
|
};
|
|
19
20
|
};
|
|
20
21
|
const mapDispatchToProps = dispatch => ({
|
|
@@ -29,6 +30,9 @@ const mapDispatchToProps = dispatch => ({
|
|
|
29
30
|
},
|
|
30
31
|
onUnknownAgesChange: (datafield, unknownAges) => {
|
|
31
32
|
dispatch((0, _Actions.unknownAgesChange)(datafield, unknownAges));
|
|
33
|
+
},
|
|
34
|
+
onToggleFacetExpand: (datafield, expanded) => {
|
|
35
|
+
dispatch((0, _Actions.toggleFacetExpand)(datafield, expanded));
|
|
32
36
|
}
|
|
33
37
|
});
|
|
34
38
|
var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ReduxNewFacetView);
|
|
@@ -13,11 +13,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
13
13
|
|
|
14
14
|
const ReduxNewSearchFacetView = props => /*#__PURE__*/_react.default.createElement(_NewSearchFacetView.default, props);
|
|
15
15
|
const mapStateToProps = (state, ownProps) => {
|
|
16
|
-
var _state$statusReducer, _state$statusReducer2;
|
|
16
|
+
var _state$statusReducer, _state$statusReducer2, _state$statusReducer3;
|
|
17
17
|
return {
|
|
18
18
|
searchText: ((_state$statusReducer = state.statusReducer) === null || _state$statusReducer === void 0 ? void 0 : _state$statusReducer.searchState[ownProps.facet.datafield]) || '',
|
|
19
19
|
sortBy: state.statusReducer.sortState[ownProps.facet.datafield] || null,
|
|
20
|
-
unknownAgesState: (state === null || state === void 0 ? void 0 : (_state$statusReducer2 = state.statusReducer) === null || _state$statusReducer2 === void 0 ? void 0 : _state$statusReducer2.unknownAgesState) || {}
|
|
20
|
+
unknownAgesState: (state === null || state === void 0 ? void 0 : (_state$statusReducer2 = state.statusReducer) === null || _state$statusReducer2 === void 0 ? void 0 : _state$statusReducer2.unknownAgesState) || {},
|
|
21
|
+
expandState: (state === null || state === void 0 ? void 0 : (_state$statusReducer3 = state.statusReducer) === null || _state$statusReducer3 === void 0 ? void 0 : _state$statusReducer3.expandState) || {}
|
|
21
22
|
};
|
|
22
23
|
};
|
|
23
24
|
const mapDispatchToProps = dispatch => ({
|
|
@@ -35,6 +36,9 @@ const mapDispatchToProps = dispatch => ({
|
|
|
35
36
|
},
|
|
36
37
|
onUnknownAgesChange: (datafield, unknownAges) => {
|
|
37
38
|
dispatch((0, _Actions.unknownAgesChange)(datafield, unknownAges));
|
|
39
|
+
},
|
|
40
|
+
onToggleFacetExpand: (datafield, expanded) => {
|
|
41
|
+
dispatch((0, _Actions.toggleFacetExpand)(datafield, expanded));
|
|
38
42
|
}
|
|
39
43
|
});
|
|
40
44
|
var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ReduxNewSearchFacetView);
|
|
@@ -15,7 +15,8 @@ const sideBarActionTypes = {
|
|
|
15
15
|
SORT_CHANGED: 'SORT_CHANGED',
|
|
16
16
|
UPDATE_FILTER_STATE: 'UPDATE_FILTER_STATE',
|
|
17
17
|
TIME_UNIT_CHANGED: 'TIME_UNIT_CHANGED',
|
|
18
|
-
UNKNOWN_AGES_CHANGED: 'UNKNOWN_AGES_CHANGED'
|
|
18
|
+
UNKNOWN_AGES_CHANGED: 'UNKNOWN_AGES_CHANGED',
|
|
19
|
+
TOGGLE_FACET_EXPAND: 'TOGGLE_FACET_EXPAND'
|
|
19
20
|
};
|
|
20
21
|
exports.sideBarActionTypes = sideBarActionTypes;
|
|
21
22
|
const Actions = '';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.updateFilterState = exports.unknownAgesChange = exports.toggleSilder = exports.toggleCheckBox = exports.timeUnitChange = exports.sortChange = exports.searchTextChange = exports.clearSliderSection = exports.clearFacetSection = exports.clearAllFilters = exports.clearAllAndSelectFacet = void 0;
|
|
6
|
+
exports.updateFilterState = exports.unknownAgesChange = exports.toggleSilder = exports.toggleFacetExpand = exports.toggleCheckBox = exports.timeUnitChange = exports.sortChange = exports.searchTextChange = exports.clearSliderSection = exports.clearFacetSection = exports.clearAllFilters = exports.clearAllAndSelectFacet = void 0;
|
|
7
7
|
var _ActionTypes = require("./ActionTypes");
|
|
8
8
|
const toggleCheckBox = toggleCheckBoxItem => ({
|
|
9
9
|
type: _ActionTypes.sideBarActionTypes.FACET_VALUE_CHANGED,
|
|
@@ -74,4 +74,12 @@ const unknownAgesChange = (datafield, unknownAges) => ({
|
|
|
74
74
|
unknownAges
|
|
75
75
|
}
|
|
76
76
|
});
|
|
77
|
-
exports.unknownAgesChange = unknownAgesChange;
|
|
77
|
+
exports.unknownAgesChange = unknownAgesChange;
|
|
78
|
+
const toggleFacetExpand = (datafield, expanded) => ({
|
|
79
|
+
type: _ActionTypes.sideBarActionTypes.TOGGLE_FACET_EXPAND,
|
|
80
|
+
payload: {
|
|
81
|
+
datafield,
|
|
82
|
+
expanded
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
exports.toggleFacetExpand = toggleFacetExpand;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.onUnknownAgesChange = exports.onToggleStateUpdate = exports.onTimeUnitChange = exports.onSortChange = exports.onSearchTextChange = exports.onClearSliderSection = exports.onClearFacetSection = void 0;
|
|
6
|
+
exports.onUnknownAgesChange = exports.onToggleStateUpdate = exports.onToggleFacetExpand = exports.onTimeUnitChange = exports.onSortChange = exports.onSearchTextChange = exports.onClearSliderSection = exports.onClearFacetSection = void 0;
|
|
7
7
|
exports.sideBarReducerGenerator = sideBarReducerGenerator;
|
|
8
8
|
exports.updateSiderValue = void 0;
|
|
9
9
|
var _ActionTypes = require("../actions/ActionTypes");
|
|
@@ -16,8 +16,10 @@ const initFilterState = {
|
|
|
16
16
|
searchState: {},
|
|
17
17
|
sortState: {},
|
|
18
18
|
timeUnitState: {},
|
|
19
|
-
unknownAgesState: {}
|
|
19
|
+
unknownAgesState: {},
|
|
20
|
+
expandState: {} // Add this line
|
|
20
21
|
};
|
|
22
|
+
|
|
21
23
|
const onToggleStateUpdate = _ref => {
|
|
22
24
|
let {
|
|
23
25
|
filterState,
|
|
@@ -122,6 +124,17 @@ const onUnknownAgesChange = _ref8 => {
|
|
|
122
124
|
return updatedState;
|
|
123
125
|
};
|
|
124
126
|
exports.onUnknownAgesChange = onUnknownAgesChange;
|
|
127
|
+
const onToggleFacetExpand = _ref9 => {
|
|
128
|
+
let {
|
|
129
|
+
datafield,
|
|
130
|
+
expanded,
|
|
131
|
+
expandState
|
|
132
|
+
} = _ref9;
|
|
133
|
+
const updatedState = _objectSpread({}, expandState);
|
|
134
|
+
updatedState[datafield] = expanded;
|
|
135
|
+
return updatedState;
|
|
136
|
+
};
|
|
137
|
+
exports.onToggleFacetExpand = onToggleFacetExpand;
|
|
125
138
|
function sideBarReducerGenerator() {
|
|
126
139
|
return {
|
|
127
140
|
actionTypes: _ActionTypes.sideBarActionTypes,
|
|
@@ -196,6 +209,11 @@ function sideBarReducerGenerator() {
|
|
|
196
209
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
197
210
|
unknownAgesState: _objectSpread({}, updateState)
|
|
198
211
|
});
|
|
212
|
+
case _ActionTypes.sideBarActionTypes.TOGGLE_FACET_EXPAND:
|
|
213
|
+
updateState = onToggleFacetExpand(_objectSpread(_objectSpread({}, payload), state));
|
|
214
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
215
|
+
expandState: _objectSpread({}, updateState)
|
|
216
|
+
});
|
|
199
217
|
default:
|
|
200
218
|
return state;
|
|
201
219
|
}
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
1
|
+
import React, { useState, useRef, useEffect } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
useLocation,
|
|
4
4
|
useNavigate,
|
|
@@ -31,9 +31,30 @@ const NewFacetView = ({
|
|
|
31
31
|
timeUnitState,
|
|
32
32
|
onTimeUnitChange,
|
|
33
33
|
unknownAgesState,
|
|
34
|
+
expandState,
|
|
35
|
+
onToggleFacetExpand,
|
|
34
36
|
}) => {
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
+
const expand = expandState[facet.datafield] !== undefined ? expandState[facet.datafield] : (facet.expanded !== undefined && typeof facet.expanded === 'boolean' ? facet.expanded : false);
|
|
38
|
+
|
|
39
|
+
const isUserInitiated = useRef(false);
|
|
40
|
+
const prevExpandRef = useRef(expand);
|
|
41
|
+
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
prevExpandRef.current = expand;
|
|
44
|
+
// Reset flag after render
|
|
45
|
+
if (isUserInitiated.current) {
|
|
46
|
+
setTimeout(() => {
|
|
47
|
+
isUserInitiated.current = false;
|
|
48
|
+
}, 0);
|
|
49
|
+
}
|
|
50
|
+
}, [expand]);
|
|
51
|
+
|
|
52
|
+
const onExpandFacet = () => {
|
|
53
|
+
isUserInitiated.current = true;
|
|
54
|
+
const newExpandState = !expand;
|
|
55
|
+
onToggleFacetExpand(facet.datafield, newExpandState);
|
|
56
|
+
};
|
|
57
|
+
|
|
37
58
|
const query = new URLSearchParams(useLocation().search);
|
|
38
59
|
const navigate = useNavigate();
|
|
39
60
|
|
|
@@ -110,6 +131,10 @@ const NewFacetView = ({
|
|
|
110
131
|
root: classes.expansionPanelsideBarItem,
|
|
111
132
|
}}
|
|
112
133
|
id={facet.section}
|
|
134
|
+
TransitionProps={{
|
|
135
|
+
// Disable animation if change is not user-initiated
|
|
136
|
+
timeout: isUserInitiated.current ? undefined : 0,
|
|
137
|
+
}}
|
|
113
138
|
>
|
|
114
139
|
{ CustomView ? (
|
|
115
140
|
<CustomView
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
1
|
+
import React, { useState, useRef, useEffect } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
useLocation,
|
|
4
4
|
useNavigate,
|
|
@@ -56,10 +56,31 @@ const SearchFacetView = ({
|
|
|
56
56
|
CustomView,
|
|
57
57
|
queryParams,
|
|
58
58
|
unknownAgesState,
|
|
59
|
+
expandState,
|
|
60
|
+
onToggleFacetExpand,
|
|
59
61
|
}) => {
|
|
60
|
-
const
|
|
62
|
+
const expand = expandState[facet.datafield] !== undefined ? expandState[facet.datafield] : (facet.expanded !== undefined && typeof facet.expanded === 'boolean' ? facet.expanded : false);
|
|
63
|
+
|
|
64
|
+
const isUserInitiated = useRef(false);
|
|
65
|
+
const prevExpandRef = useRef(expand);
|
|
66
|
+
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
prevExpandRef.current = expand;
|
|
69
|
+
// Reset flag after render
|
|
70
|
+
if (isUserInitiated.current) {
|
|
71
|
+
setTimeout(() => {
|
|
72
|
+
isUserInitiated.current = false;
|
|
73
|
+
}, 0);
|
|
74
|
+
}
|
|
75
|
+
}, [expand]);
|
|
76
|
+
|
|
77
|
+
const onExpandFacet = () => {
|
|
78
|
+
isUserInitiated.current = true;
|
|
79
|
+
const newExpandState = !expand;
|
|
80
|
+
onToggleFacetExpand(facet.datafield, newExpandState);
|
|
81
|
+
};
|
|
82
|
+
|
|
61
83
|
const [open, setOpen] = useState(false);
|
|
62
|
-
const onExpandFacet = () => setExpand(!expand);
|
|
63
84
|
const query = new URLSearchParams(useLocation().search);
|
|
64
85
|
const navigate = useNavigate();
|
|
65
86
|
|
|
@@ -133,6 +154,10 @@ const SearchFacetView = ({
|
|
|
133
154
|
root: classes.expansionPanelsideBarItem,
|
|
134
155
|
}}
|
|
135
156
|
id={facet.section}
|
|
157
|
+
TransitionProps={{
|
|
158
|
+
// Disable animation if change is not user-initiated
|
|
159
|
+
timeout: isUserInitiated.current ? undefined : 0,
|
|
160
|
+
}}
|
|
136
161
|
>
|
|
137
162
|
{CustomView ? (
|
|
138
163
|
<CustomView
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
clearSliderSection,
|
|
6
6
|
timeUnitChange,
|
|
7
7
|
unknownAgesChange,
|
|
8
|
+
toggleFacetExpand,
|
|
8
9
|
} from '../../store/actions/Actions';
|
|
9
10
|
import NewFacetView from './NewFacetView';
|
|
10
11
|
|
|
@@ -13,6 +14,7 @@ const ReduxNewFacetView = ((props) => <NewFacetView {...props} />);
|
|
|
13
14
|
const mapStateToProps = (state) => ({
|
|
14
15
|
timeUnitState: state?.statusReducer?.timeUnitState || {},
|
|
15
16
|
unknownAgesState: state?.statusReducer?.unknownAgesState || {},
|
|
17
|
+
expandState: state?.statusReducer?.expandState || {},
|
|
16
18
|
});
|
|
17
19
|
|
|
18
20
|
const mapDispatchToProps = (dispatch) => ({
|
|
@@ -22,6 +24,9 @@ const mapDispatchToProps = (dispatch) => ({
|
|
|
22
24
|
onUnknownAgesChange: (datafield, unknownAges) => {
|
|
23
25
|
dispatch(unknownAgesChange(datafield, unknownAges));
|
|
24
26
|
},
|
|
27
|
+
onToggleFacetExpand: (datafield, expanded) => {
|
|
28
|
+
dispatch(toggleFacetExpand(datafield, expanded));
|
|
29
|
+
},
|
|
25
30
|
});
|
|
26
31
|
|
|
27
32
|
export default connect(mapStateToProps, mapDispatchToProps)(ReduxNewFacetView);
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
searchTextChange,
|
|
7
7
|
sortChange,
|
|
8
8
|
unknownAgesChange,
|
|
9
|
+
toggleFacetExpand,
|
|
9
10
|
} from '../../store/actions/Actions';
|
|
10
11
|
// import FacetView from './FacetView';
|
|
11
12
|
import NewSearchFacetView from './NewSearchFacetView';
|
|
@@ -16,6 +17,7 @@ const mapStateToProps = (state, ownProps) => ({
|
|
|
16
17
|
searchText: state.statusReducer?.searchState[ownProps.facet.datafield] || '',
|
|
17
18
|
sortBy: state.statusReducer.sortState[ownProps.facet.datafield] || null,
|
|
18
19
|
unknownAgesState: state?.statusReducer?.unknownAgesState || {},
|
|
20
|
+
expandState: state?.statusReducer?.expandState || {},
|
|
19
21
|
});
|
|
20
22
|
|
|
21
23
|
const mapDispatchToProps = (dispatch) => ({
|
|
@@ -30,6 +32,9 @@ const mapDispatchToProps = (dispatch) => ({
|
|
|
30
32
|
onUnknownAgesChange: (datafield, unknownAges) => {
|
|
31
33
|
dispatch(unknownAgesChange(datafield, unknownAges));
|
|
32
34
|
},
|
|
35
|
+
onToggleFacetExpand: (datafield, expanded) => {
|
|
36
|
+
dispatch(toggleFacetExpand(datafield, expanded));
|
|
37
|
+
},
|
|
33
38
|
});
|
|
34
39
|
|
|
35
40
|
export default connect(mapStateToProps, mapDispatchToProps)(ReduxNewSearchFacetView);
|
|
@@ -67,3 +67,11 @@ export const unknownAgesChange = (datafield, unknownAges) => ({
|
|
|
67
67
|
unknownAges,
|
|
68
68
|
},
|
|
69
69
|
});
|
|
70
|
+
|
|
71
|
+
export const toggleFacetExpand = (datafield, expanded) => ({
|
|
72
|
+
type: sideBarActionTypes.TOGGLE_FACET_EXPAND,
|
|
73
|
+
payload: {
|
|
74
|
+
datafield,
|
|
75
|
+
expanded,
|
|
76
|
+
},
|
|
77
|
+
});
|
|
@@ -6,6 +6,7 @@ const initFilterState = {
|
|
|
6
6
|
sortState: {},
|
|
7
7
|
timeUnitState: {},
|
|
8
8
|
unknownAgesState: {},
|
|
9
|
+
expandState: {}, // Add this line
|
|
9
10
|
};
|
|
10
11
|
|
|
11
12
|
export const onToggleStateUpdate = ({
|
|
@@ -100,6 +101,16 @@ export const onUnknownAgesChange = ({
|
|
|
100
101
|
return updatedState;
|
|
101
102
|
};
|
|
102
103
|
|
|
104
|
+
export const onToggleFacetExpand = ({
|
|
105
|
+
datafield,
|
|
106
|
+
expanded,
|
|
107
|
+
expandState,
|
|
108
|
+
}) => {
|
|
109
|
+
const updatedState = { ...expandState };
|
|
110
|
+
updatedState[datafield] = expanded;
|
|
111
|
+
return updatedState;
|
|
112
|
+
};
|
|
113
|
+
|
|
103
114
|
export function sideBarReducerGenerator() {
|
|
104
115
|
return {
|
|
105
116
|
actionTypes: sideBarActionTypes,
|
|
@@ -177,6 +188,12 @@ export function sideBarReducerGenerator() {
|
|
|
177
188
|
...state,
|
|
178
189
|
unknownAgesState: { ...updateState },
|
|
179
190
|
};
|
|
191
|
+
case sideBarActionTypes.TOGGLE_FACET_EXPAND:
|
|
192
|
+
updateState = onToggleFacetExpand({ ...payload, ...state });
|
|
193
|
+
return {
|
|
194
|
+
...state,
|
|
195
|
+
expandState: { ...updateState },
|
|
196
|
+
};
|
|
180
197
|
default:
|
|
181
198
|
return state;
|
|
182
199
|
}
|