@bento-core/facet-filter 1.0.1-icdc.0 → 1.0.1-icdc.10

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/README.md CHANGED
@@ -72,12 +72,17 @@ import FacetFilter from 'bento-core';
72
72
  ```
73
73
  import { InputTypes } from 'bento-core';
74
74
 
75
+ // fields for labelds and counts
76
+ const GROUP = 'group'; // access labels
77
+ const COUNT = 'subjects'; // access count value
78
+
75
79
  export const facetsConfig = [{
76
80
  section: CASES,
77
81
  label: 'Program',
78
82
  apiForFiltering: 'filterSubjectCountByProgram',
79
83
  datafield: 'programs',
80
- field: GROUP,
84
+ field: GROUP,
85
+ count: COUNT,
81
86
  type: InputTypes.CHECKBOX,
82
87
  sort_type: sortType.ALPHABET,
83
88
  show: true,
@@ -244,12 +249,84 @@ className={clsx(classes.sectionSummaryText, classes[facetClasses])}
244
249
  ## 10 CLearAllFilterButton Component
245
250
  Bento Core provides 1. function to clear all active filters, 2. disable flag (true incase of no active filters). Client is responsible for defining view (custom html).
246
251
  ```
247
- import { generateClearAllFilterBtn } from 'bento-core';
252
+ import { ClearAllFiltersBtn, FacetFilter } from '@bento-core/facet-filter';
253
+ import { getFilters } from '@bento-core/facet-filter';
248
254
 
249
255
  const CustomClearAllFiltersBtn = ({ onClearAllFilters, disable }) => {
250
256
  //...custom component 1. bind onClearFilters fn
251
257
  // 2. disable flag to disable button
252
- }
258
+ }
259
+ // get filter data
260
+ // filterState: state.statusReducer.filterState, (from reducer)
261
+ // const activeFilters = getFilters(filterState) // formating
262
+
263
+ <ClearAllFiltersBtn
264
+ Component={CustomClearAllFiltersBtn}
265
+ activeFilters={activeFilters}
266
+ />
267
+ ```
268
+
269
+ ## 11 Facet Value Component
270
+ ```
271
+ // response
272
+ // filterCaseCountByProgram: [{group: "COP", subjects: 301}]
273
+
274
+ // facet = {
275
+ // section: CASES,
276
+ // label: 'Program',
277
+ // apiForFiltering: 'filterSubjectCountByProgram',
278
+ // datafield: 'programs',
279
+ // field: GROUP,
280
+ // count: COUNT,
281
+ // type: InputTypes.CHECKBOX,
282
+ // sort_type: sortType.ALPHABET,
283
+ // show: true,
284
+ // customCount = (text) => `(${text})`,
285
+ // }
286
+
287
+ const {
288
+ field = 'group',
289
+ count = 'subjects',
290
+ customCount = (text) => `(${text})`,
291
+ } = facet;
292
+ const {
293
+ isChecked = false,
294
+ index,
295
+ section,
296
+ tooltip,
297
+ } = checkboxItem;
253
298
 
254
- const ClearAllFiltersButton = () => generateClearAllFilterBtn(CustomClearAllFiltersBtn);
299
+ // 1. by default facet value component display group ("COP")
300
+ // 2. set customName to display customize value
301
+ // 3. by default facet value component display subjects (301)
302
+ // 4. set customSubjects to display customize value or adjust correct field for subject count
303
+ // 5. tooltip - provide text value to tooltip text
304
+
305
+ /**
306
+ * Add Bento frontend filter count/subjects
307
+ * Add tootip text
308
+ */
309
+ const filterData = facetsConfig.reduce((acc, item) => {
310
+ const facetValues = searchData[item.apiPath];
311
+ if (!facetValues) {
312
+ return acc;
313
+ }
314
+ const subjectCounts = [...facetValues].map((checkbox) => {
315
+ const text = tooltipText[item.tooltipKey];
316
+ return {
317
+ ...checkbox,
318
+ customSubjects: checkbox.count,
319
+ tooltip: text ? text[checkbox.group] : undefined,
320
+ };
321
+ });
322
+ return { ...acc, [item.apiPath]: [...subjectCounts] };
323
+ }, {});
324
+
325
+ <FacetFilter
326
+ data={filterData}
327
+ facetSectionConfig={facetSectionVariables}
328
+ facetsConfig={facetsConfig}
329
+ CustomFacetSection={CustomFacetSection}
330
+ CustomFacetView={CustomFacetView}
331
+ />
255
332
  ```
@@ -12,13 +12,13 @@ var _FacetFilterView = _interopRequireDefault(require("./FacetFilterView"));
12
12
  const _excluded = ["section"];
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
16
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
15
17
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
18
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
19
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
20
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
19
21
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
20
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
21
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
22
22
  const FacetFilterController = props => {
23
23
  /**
24
24
  * update checkbox state
@@ -29,7 +29,8 @@ const FacetFilterController = props => {
29
29
  filterState,
30
30
  data,
31
31
  facetsConfig,
32
- facetSectionConfig
32
+ facetSectionConfig,
33
+ tooltipText = {}
33
34
  } = props;
34
35
  const updateFacetState = filterSections => {
35
36
  const updateSections = [...filterSections];
@@ -37,9 +38,16 @@ const FacetFilterController = props => {
37
38
  for (const [key, value] of Object.entries(filterState)) {
38
39
  updateSections.forEach(sideBar => {
39
40
  if (sideBar.type === _Types.InputTypes.CHECKBOX && sideBar.datafield === key) {
40
- sideBar.facetValues.forEach(item => {
41
- item.isChecked = value[item.name] ? value[item.name] : false;
41
+ const {
42
+ facetValues = []
43
+ } = sideBar;
44
+ const updateFacetVals = facetValues.map(item => {
45
+ const facetVal = item[sideBar.field];
46
+ return _objectSpread(_objectSpread({}, item), {}, {
47
+ isChecked: value[facetVal] ? value[facetVal] : false
48
+ });
42
49
  });
50
+ sideBar.facetValues = updateFacetVals;
43
51
  }
44
52
  if (sideBar.type === _Types.InputTypes.SLIDER && sideBar.datafield === key) {
45
53
  sideBar.facetValues = value;
@@ -49,9 +57,13 @@ const FacetFilterController = props => {
49
57
  } else {
50
58
  updateSections.forEach(sideBar => {
51
59
  if (sideBar.type === _Types.InputTypes.CHECKBOX) {
52
- sideBar.facetValues.forEach(item => {
53
- item.isChecked = false;
54
- });
60
+ const {
61
+ facetValues = []
62
+ } = sideBar;
63
+ const updateFacetVals = facetValues.map(item => _objectSpread(_objectSpread({}, item), {}, {
64
+ isChecked: false
65
+ }));
66
+ sideBar.facetValues = updateFacetVals;
55
67
  }
56
68
  /**
57
69
  * set default value for slider - on clear all filter
@@ -96,6 +108,7 @@ const FacetFilterController = props => {
96
108
  * Construct filter object
97
109
  * 1. add facet values to facets
98
110
  * 2. add 'name' key to each facet value
111
+ * 3. add '
99
112
  */
100
113
  const addFacetValues = facets => {
101
114
  const updateFacets = [];
@@ -105,19 +118,13 @@ const FacetFilterController = props => {
105
118
  facetValues: []
106
119
  });
107
120
  const {
108
- field,
109
121
  ApiLowerBoundName,
110
122
  ApiUpperBoundName,
111
123
  apiForFiltering
112
124
  } = updateFacet;
113
125
  if (data[apiForFiltering]) {
114
126
  if (Array.isArray(data[apiForFiltering])) {
115
- const updateField = data[apiForFiltering].map(item => {
116
- const addField = _objectSpread({}, item);
117
- addField.name = item[field];
118
- return addField;
119
- });
120
- updateFacet.facetValues = updateField;
127
+ updateFacet.facetValues = data[apiForFiltering];
121
128
  }
122
129
  /**
123
130
  * add object to facet values
@@ -140,7 +147,7 @@ const FacetFilterController = props => {
140
147
  * Generate facet sections state
141
148
  *
142
149
  */
143
- const displayFacets = facetsConfig.filter(facet => facet.show).slice(0, 16);
150
+ const displayFacets = facetsConfig.filter(facet => facet.show);
144
151
  const facetStates = addFacetValues(displayFacets);
145
152
  const updateState = updateFacetState(facetStates);
146
153
  const facetSections = arrangeBySections(updateState);
@@ -9,7 +9,6 @@ var _core = require("@material-ui/core");
9
9
  var _FacetFilterStyle = _interopRequireDefault(require("./FacetFilterStyle"));
10
10
  var _FacetSectionView = _interopRequireDefault(require("./components/section/FacetSectionView"));
11
11
  var _ReduxFacetView = _interopRequireDefault(require("./components/facet/ReduxFacetView"));
12
- var _FilterItems = _interopRequireDefault(require("./components/inputs/FilterItems"));
13
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
13
  /* eslint-disable arrow-body-style */
15
14
  /* eslint-disable padded-blocks */
@@ -18,7 +17,9 @@ const BentoFacetFilter = _ref => {
18
17
  let {
19
18
  sideBarSections,
20
19
  CustomFacetSection,
21
- CustomFacetView
20
+ CustomFacetView,
21
+ enableClearSection,
22
+ enableFacetCollapse
22
23
  } = _ref;
23
24
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, sideBarSections.map((section, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.Divider, {
24
25
  variant: "middle",
@@ -28,12 +29,10 @@ const BentoFacetFilter = _ref => {
28
29
  CustomSection: CustomFacetSection
29
30
  }, section.items.map(facet => /*#__PURE__*/_react.default.createElement(_ReduxFacetView.default, {
30
31
  facet: facet,
31
- CustomView: CustomFacetView
32
- }, /*#__PURE__*/_react.default.createElement(_core.List, {
33
- className: "List_".concat(facet.label)
34
- }, /*#__PURE__*/_react.default.createElement(_FilterItems.default, {
35
- facet: facet
36
- }))))))));
32
+ CustomView: CustomFacetView,
33
+ enableClearSection: enableClearSection,
34
+ enableFacetCollapse: enableFacetCollapse
35
+ }))))));
37
36
  };
38
37
  var _default = (0, _core.withStyles)(_FacetFilterStyle.default)(BentoFacetFilter);
39
38
  exports.default = _default;
@@ -20,6 +20,13 @@ var _default = () => ({
20
20
  position: 'initial'
21
21
  }
22
22
  },
23
+ subSectionSummaryTextWrapper: {
24
+ display: 'flex',
25
+ alignItems: 'center',
26
+ justifyContent: 'space-between',
27
+ width: '100%',
28
+ paddingRight: '15px'
29
+ },
23
30
  subSectionSummaryText: {
24
31
  marginLeft: '10px',
25
32
  lineHeight: 0,
@@ -34,21 +41,26 @@ var _default = () => ({
34
41
  marginBottom: '5px',
35
42
  borderTop: '1px solid #B1B1B1',
36
43
  textAlign: 'left',
37
- marginLeft: '-5px'
44
+ // marginLeft: '-5px',
45
+ display: 'flex',
46
+ alignItems: 'center',
47
+ justifyContent: 'space-around'
38
48
  },
39
49
  sortGroupIcon: {
40
50
  cursor: 'pointer',
41
51
  fontFamily: 'Nunito',
42
- fontSize: '10px',
43
- marginRight: '12px',
44
- marginLeft: '16px'
52
+ fontSize: '10px'
53
+ // marginRight: '12px',
54
+ // marginLeft: '16px',
45
55
  },
56
+
46
57
  sortGroupItem: {
47
58
  cursor: 'pointer',
48
59
  fontFamily: 'Nunito',
49
- fontSize: '10px',
50
- marginRight: '32px'
60
+ fontSize: '10px'
61
+ // marginRight: '32px',
51
62
  },
63
+
52
64
  NonSortGroup: {
53
65
  marginBottom: '5px',
54
66
  borderTop: '1px solid #B1B1B1',
@@ -63,11 +75,12 @@ var _default = () => ({
63
75
  sortGroupItemCounts: {
64
76
  cursor: 'pointer',
65
77
  fontFamily: 'Nunito',
66
- fontSize: '10px',
67
- float: 'right',
68
- marginRight: '10px',
69
- marginTop: '5px'
78
+ fontSize: '10px'
79
+ // float: 'right',
80
+ // marginRight: '10px',
81
+ // marginTop: '5px',
70
82
  },
83
+
71
84
  highlight: {
72
85
  color: '#b2c6d6'
73
86
  },
@@ -7,12 +7,15 @@ exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _core = require("@material-ui/core");
9
9
  var _clsx = _interopRequireDefault(require("clsx"));
10
+ var _Refresh = _interopRequireDefault(require("@material-ui/icons/Refresh"));
11
+ var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
10
12
  var _AccordionSummaryView = _interopRequireDefault(require("../summary/AccordionSummaryView"));
11
13
  var _Types = require("../inputs/Types");
12
14
  var _FacetStyle = _interopRequireDefault(require("./FacetStyle"));
13
15
  var _FilterItems = _interopRequireDefault(require("../inputs/FilterItems"));
14
16
  var _Sort = require("../../utils/Sort");
15
17
  var _clearIcon = _interopRequireDefault(require("./assets/clearIcon.svg"));
18
+ var _ActionTypes = require("../../store/actions/ActionTypes");
16
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -25,18 +28,50 @@ const FacetView = _ref => {
25
28
  let {
26
29
  classes,
27
30
  facet,
31
+ enableClearSection,
28
32
  onClearFacetSection,
29
33
  onClearSliderSection,
30
34
  CustomView,
31
35
  autoComplete,
32
- upload
36
+ upload,
37
+ filterState,
38
+ currentActionType = {},
39
+ enableFacetCollapse
33
40
  } = _ref;
34
41
  const [expand, setExpand] = (0, _react.useState)(false);
35
42
  const onExpandFacet = () => setExpand(!expand);
43
+ const {
44
+ datafield
45
+ } = facet;
46
+ /**
47
+ * Collapse expanded facet or facets
48
+ * 1. on clear facet section
49
+ * 2. on clear all
50
+ * 3. on uncheck facet from DQB
51
+ */
52
+ (0, _react.useEffect)(() => {
53
+ if (enableFacetCollapse) {
54
+ const actionType = currentActionType[datafield];
55
+ // collapse facet if uncheck from DQB
56
+ if (actionType && actionType === _ActionTypes.sideBarActionTypes.FACET_VALUE_CHANGED) {
57
+ const {
58
+ isFacetOrigin
59
+ } = currentActionType;
60
+ if (!isFacetOrigin) {
61
+ if (Object.keys(filterState[datafield] || {}).length === 0) {
62
+ setExpand(false);
63
+ }
64
+ }
65
+ }
66
+ if (actionType && actionType === _ActionTypes.sideBarActionTypes.CLEAR_FACET_SECTION || currentActionType === _ActionTypes.sideBarActionTypes.CLEAR_ALL_FILTERS) {
67
+ setExpand(false);
68
+ }
69
+ }
70
+ }, [filterState]);
36
71
 
37
72
  /**
38
- * expand section incase of active local search
39
- */
73
+ * expand section incase of active local search
74
+ */
40
75
  (0, _react.useEffect)(() => {
41
76
  if (autoComplete && autoComplete.length > 0 || upload && upload.length > 0) {
42
77
  setExpand(true);
@@ -48,10 +83,13 @@ const FacetView = _ref => {
48
83
  };
49
84
  const onClearSection = () => {
50
85
  setSortBy(null);
51
- if (facet.type === _Types.InputTypes.SLIDER) {
52
- onClearSliderSection(facet);
53
- } else {
54
- onClearFacetSection(facet);
86
+ const activeFilterItems = filterState[datafield];
87
+ if (activeFilterItems && Object.keys(activeFilterItems).length > 0) {
88
+ if (facet.type === _Types.InputTypes.SLIDER) {
89
+ onClearSliderSection(facet);
90
+ } else {
91
+ onClearFacetSection(facet);
92
+ }
55
93
  }
56
94
  };
57
95
  /**
@@ -75,14 +113,25 @@ const FacetView = _ref => {
75
113
  },
76
114
  id: facet.section
77
115
  }, CustomView ? /*#__PURE__*/_react.default.createElement(CustomView, {
116
+ clearFacetSectionValues: onClearSection,
117
+ hasSelections: selectedItems.length,
78
118
  facet: facet,
79
119
  facetClasses: isActiveFacet ? "activeFacet".concat(facet.section) : "inactiveFacet".concat(facet.section)
80
- }) : /*#__PURE__*/_react.default.createElement(_AccordionSummaryView.default, null, /*#__PURE__*/_react.default.createElement("div", {
120
+ }) : /*#__PURE__*/_react.default.createElement(_AccordionSummaryView.default, null, !enableClearSection ? /*#__PURE__*/_react.default.createElement("div", {
121
+ id: "filterGroup_ ".concat(facet.datafield, "\n ").concat(facet.label),
122
+ className: (0, _clsx.default)(classes.subSectionSummaryText, {
123
+ ["activeFacet".concat(facet.section)]: isActiveFacet
124
+ })
125
+ }, facet.label) : /*#__PURE__*/_react.default.createElement("div", {
126
+ className: classes.subSectionSummaryTextWrapper
127
+ }, /*#__PURE__*/_react.default.createElement("div", {
81
128
  id: "filterGroup_ ".concat(facet.datafield, "\n ").concat(facet.label),
82
129
  className: (0, _clsx.default)(classes.subSectionSummaryText, {
83
130
  ["activeFacet".concat(facet.section)]: isActiveFacet
84
131
  })
85
- }, facet.label)), (facet.type === _Types.InputTypes.SLIDER || facetValues.length === 0) && /*#__PURE__*/_react.default.createElement("div", {
132
+ }, facet.label), selectedItems.length ? /*#__PURE__*/_react.default.createElement(_IconButton.default, {
133
+ onClick: onClearSection
134
+ }, /*#__PURE__*/_react.default.createElement(_Refresh.default, null)) : null)), (facet.type === _Types.InputTypes.SLIDER || facetValues.length === 0) && /*#__PURE__*/_react.default.createElement("div", {
86
135
  className: classes.NonSortGroup
87
136
  }, /*#__PURE__*/_react.default.createElement("span", {
88
137
  className: classes.NonSortGroupItem
@@ -114,10 +163,10 @@ const FacetView = _ref => {
114
163
  onClick: () => {
115
164
  onSortFacet(_Sort.sortType.NUMERIC);
116
165
  }
117
- }, "Sort by count"))), /*#__PURE__*/_react.default.createElement(_FilterItems.default, {
166
+ }, "Sort by count"))), expand && /*#__PURE__*/_react.default.createElement(_FilterItems.default, {
118
167
  facet: facet,
119
168
  sortBy: sortBy
120
- })), !expand && type === _Types.InputTypes.CHECKBOX && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.List, {
169
+ })), !expand && type === _Types.InputTypes.CHECKBOX && selectedItems.length > 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.List, {
121
170
  id: "filter_Items"
122
171
  }, /*#__PURE__*/_react.default.createElement(_FilterItems.default, {
123
172
  facet: displayFacet
@@ -14,11 +14,13 @@ const mapStateToProps = state => {
14
14
  var _state$localFind, _state$localFind2;
15
15
  return {
16
16
  filterState: state.statusReducer.filterState,
17
+ currentActionType: state.statusReducer.currentActionType,
17
18
  autoComplete: (state === null || state === void 0 ? void 0 : (_state$localFind = state.localFind) === null || _state$localFind === void 0 ? void 0 : _state$localFind.autocomplete) || [],
18
19
  upload: (state === null || state === void 0 ? void 0 : (_state$localFind2 = state.localFind) === null || _state$localFind2 === void 0 ? void 0 : _state$localFind2.upload) || []
19
20
  };
20
21
  };
21
22
  const mapDispatchToProps = dispatch => ({
23
+ onToggle: facet => dispatch((0, _Actions.toggleCheckBox)(facet)),
22
24
  onClearFacetSection: facet => {
23
25
  dispatch((0, _Actions.clearFacetSection)(facet));
24
26
  },
@@ -10,6 +10,7 @@ var _core = require("@material-ui/core");
10
10
  var _clsx = _interopRequireDefault(require("clsx"));
11
11
  var _icons = require("@material-ui/icons");
12
12
  var _CheckboxStyle = _interopRequireDefault(require("./CheckboxStyle"));
13
+ var _ActionTypes = require("../../../store/actions/ActionTypes");
13
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
15
  /* eslint-disable no-unused-vars */
15
16
  /* eslint-disable no-unused-vars */
@@ -18,8 +19,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
18
19
  /* eslint-disable object-curly-newline */
19
20
  /* eslint-disable object-shorthand */
20
21
  /* eslint-disable react/jsx-one-expression-per-line */
22
+ /* eslint-disable no-useless-escape */
21
23
 
22
- const alignment = 'flex-start';
23
24
  const CheckBoxView = _ref => {
24
25
  let {
25
26
  classes,
@@ -29,21 +30,28 @@ const CheckBoxView = _ref => {
29
30
  facet
30
31
  } = _ref;
31
32
  const {
32
- name,
33
- subjects,
34
33
  isChecked = false,
35
34
  index,
36
35
  section,
37
- tooltip,
38
- label
36
+ tooltip
39
37
  } = checkboxItem;
38
+ const {
39
+ field = 'group',
40
+ count = 'subjects',
41
+ customCount = text => "(".concat(text, ")")
42
+ } = facet;
40
43
  const indexType = index % 2 === 0 ? 'Even' : 'Odd';
41
- const checkedSection = "".concat(section).toLowerCase().replace(' ', '_');
44
+ const checkedSection = "".concat(section).toLowerCase().replace(/\ /g, '_');
45
+ const name = checkboxItem[field] || 'N/A';
42
46
  const handleToggle = () => {
43
47
  const toggleCheckBoxItem = {
44
48
  name: name,
45
49
  datafield: datafield,
46
- isChecked: !isChecked
50
+ isChecked: !isChecked,
51
+ actionType: {
52
+ [datafield]: _ActionTypes.sideBarActionTypes.FACET_VALUE_CHANGED,
53
+ isFacetOrigin: true
54
+ }
47
55
  };
48
56
  onToggle(toggleCheckBoxItem);
49
57
  };
@@ -53,9 +61,7 @@ const CheckBoxView = _ref => {
53
61
  ["".concat(checkedSection, "NameUnChecked")]: !isChecked,
54
62
  ["".concat(checkedSection, "NameChecked")]: isChecked
55
63
  })
56
- }, label ? /*#__PURE__*/_react.default.createElement(_core.Typography, {
57
- className: classes.checkboxLabel
58
- }, label) : /*#__PURE__*/_react.default.createElement(_core.Typography, {
64
+ }, /*#__PURE__*/_react.default.createElement(_core.Typography, {
59
65
  className: classes.checkboxName
60
66
  }, name));
61
67
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.ListItem, {
@@ -74,7 +80,8 @@ const CheckBoxView = _ref => {
74
80
  icon: /*#__PURE__*/_react.default.createElement(_icons.CheckBoxOutlineBlank, {
75
81
  style: {
76
82
  fontSize: 18
77
- }
83
+ },
84
+ className: checkedSection
78
85
  }),
79
86
  onClick: handleToggle,
80
87
  checked: isChecked,
@@ -94,12 +101,14 @@ const CheckBoxView = _ref => {
94
101
  title: tooltip
95
102
  }, /*#__PURE__*/_react.default.createElement("div", {
96
103
  className: datafield
97
- }, /*#__PURE__*/_react.default.createElement(LabelComponent, null))) : /*#__PURE__*/_react.default.createElement(LabelComponent, null), /*#__PURE__*/_react.default.createElement(_core.ListItemText, null), /*#__PURE__*/_react.default.createElement(_core.Typography, {
104
+ }, name)) : /*#__PURE__*/_react.default.createElement(LabelComponent, null), /*#__PURE__*/_react.default.createElement(_core.ListItemText, {
105
+ className: "".concat(checkedSection, "_md_space")
106
+ }), /*#__PURE__*/_react.default.createElement(_core.Typography, {
98
107
  className: (0, _clsx.default)("".concat(checkedSection, "Subjects"), {
99
108
  ["".concat(checkedSection, "SubjectUnChecked")]: !isChecked,
100
109
  ["".concat(checkedSection, "SubjectChecked")]: isChecked
101
110
  })
102
- }, "(".concat(subjects, ")"))), /*#__PURE__*/_react.default.createElement(_core.Divider, {
111
+ }, customCount(checkboxItem[count] || 0))), /*#__PURE__*/_react.default.createElement(_core.Divider, {
103
112
  style: {
104
113
  backgroundColor: isChecked ? '#FFFFFF' : '#b1b1b1',
105
114
  margin: '0px',
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _core = require("@material-ui/core");
9
+ var _clsx = _interopRequireDefault(require("clsx"));
9
10
  var _SliderStyle = _interopRequireDefault(require("./SliderStyle"));
10
11
  var _Types = require("../Types");
11
12
  var _InputMinMaxView = _interopRequireDefault(require("./InputMinMaxView"));
@@ -63,9 +64,9 @@ const SliderView = _ref => {
63
64
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
64
65
  className: classes.sliderRoot
65
66
  }, /*#__PURE__*/_react.default.createElement("div", {
66
- className: classes.minMaxInputs
67
+ className: (0, _clsx.default)(classes.minMaxInputs, 'minMaxInputs')
67
68
  }, /*#__PURE__*/_react.default.createElement("div", {
68
- className: classes.minValue
69
+ className: (0, _clsx.default)(classes.minValue, 'min_input_box')
69
70
  }, /*#__PURE__*/_react.default.createElement(_core.Typography, {
70
71
  className: classes.minInputLabel
71
72
  }, "Min:"), /*#__PURE__*/_react.default.createElement(_InputMinMaxView.default, {
@@ -76,7 +77,7 @@ const SliderView = _ref => {
76
77
  type: _Types.silderTypes.INPUT_MIN,
77
78
  onInputChange: handleChangeCommittedSlider
78
79
  })), /*#__PURE__*/_react.default.createElement("div", {
79
- className: classes.maxValue
80
+ className: (0, _clsx.default)(classes.maxValue, 'max_input_box')
80
81
  }, /*#__PURE__*/_react.default.createElement(_core.Typography, {
81
82
  className: classes.maxInputLabel
82
83
  }, "Max:"), /*#__PURE__*/_react.default.createElement(_InputMinMaxView.default, {
@@ -87,7 +88,7 @@ const SliderView = _ref => {
87
88
  type: _Types.silderTypes.INPUT_MAX,
88
89
  onInputChange: handleChangeCommittedSlider
89
90
  }))), /*#__PURE__*/_react.default.createElement("div", {
90
- className: classes.slider
91
+ className: (0, _clsx.default)(classes.slider, 'slider')
91
92
  }, /*#__PURE__*/_react.default.createElement(_core.Slider, {
92
93
  disableSwap: true,
93
94
  getAriaValueText: valuetext,
@@ -11,6 +11,7 @@ var _AccordionSummaryStyle = _interopRequireDefault(require("./AccordionSummaryS
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
  const Summary = (0, _core.withStyles)({
13
13
  root: {
14
+ width: '307px',
14
15
  marginBottom: -1,
15
16
  minHeight: 48,
16
17
  paddingLeft: 14,
package/dist/index.js CHANGED
@@ -81,6 +81,12 @@ Object.defineProperty(exports, "onToggleStateUpdate", {
81
81
  return _SideBarReducer.onToggleStateUpdate;
82
82
  }
83
83
  });
84
+ Object.defineProperty(exports, "sideBarActionTypes", {
85
+ enumerable: true,
86
+ get: function get() {
87
+ return _ActionTypes.sideBarActionTypes;
88
+ }
89
+ });
84
90
  Object.defineProperty(exports, "sideBarReducerGenerator", {
85
91
  enumerable: true,
86
92
  get: function get() {
@@ -129,6 +135,7 @@ var _filter = require("./utils/filter");
129
135
  var _Types = require("./components/inputs/Types");
130
136
  var _SideBarReducer = require("./store/reducers/SideBarReducer");
131
137
  var _Actions = require("./store/actions/Actions");
138
+ var _ActionTypes = require("./store/actions/ActionTypes");
132
139
  var _component = require("./generator/component");
133
140
  var _ReduxClearAllBtn = _interopRequireDefault(require("./components/reset/ReduxClearAllBtn"));
134
141
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }