@bento-core/facet-filter 1.0.1-ccdihub.0 → 1.0.1-ccdihub.1

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.
Files changed (32) hide show
  1. package/dist/FacetFilterController.js +156 -0
  2. package/dist/FacetFilterStyle.js +32 -0
  3. package/dist/FacetFilterView.js +39 -0
  4. package/dist/components/facet/FacetStyle.js +82 -0
  5. package/dist/components/facet/FacetView.js +130 -0
  6. package/dist/components/facet/ReduxFacetView.js +30 -0
  7. package/dist/components/facet/assets/clearIcon.svg +14 -0
  8. package/dist/components/inputs/FilterItemStyle.js +37 -0
  9. package/dist/components/inputs/FilterItems.js +53 -0
  10. package/dist/components/inputs/Types.js +17 -0
  11. package/dist/components/inputs/checkbox/CheckboxStyle.js +39 -0
  12. package/dist/components/inputs/checkbox/CheckboxView.js +111 -0
  13. package/dist/components/inputs/checkbox/ReduxCheckbox.js +20 -0
  14. package/dist/components/inputs/slider/InputMinMaxStyle.js +10 -0
  15. package/dist/components/inputs/slider/InputMinMaxView.js +47 -0
  16. package/dist/components/inputs/slider/ReduxSlider.js +20 -0
  17. package/dist/components/inputs/slider/SliderStyle.js +124 -0
  18. package/dist/components/inputs/slider/SliderView.js +116 -0
  19. package/dist/components/reset/ReduxClearAllBtn.js +47 -0
  20. package/dist/components/section/FacetSectionStyle.js +42 -0
  21. package/dist/components/section/FacetSectionView.js +46 -0
  22. package/dist/components/summary/AccordionSummaryStyle.js +18 -0
  23. package/dist/components/summary/AccordionSummaryView.js +50 -0
  24. package/dist/generator/component.js +24 -0
  25. package/dist/index.js +134 -0
  26. package/dist/store/actions/ActionTypes.js +17 -0
  27. package/dist/store/actions/Actions.js +40 -0
  28. package/dist/store/reducers/SideBarReducer.js +121 -0
  29. package/dist/utils/Sort.js +78 -0
  30. package/dist/utils/filter.js +30 -0
  31. package/package.json +1 -1
  32. package/src/FacetFilterController.js +1 -1
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _lodash = _interopRequireDefault(require("lodash"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _reactRedux = require("react-redux");
10
+ var _Types = require("./components/inputs/Types");
11
+ var _FacetFilterView = _interopRequireDefault(require("./FacetFilterView"));
12
+ const _excluded = ["section"];
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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 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
+ 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
+ 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
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
19
+ 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
+ const FacetFilterController = props => {
23
+ /**
24
+ * update checkbox state
25
+ * 1. checkbox state
26
+ * 2. subject state
27
+ */
28
+ const {
29
+ filterState,
30
+ data,
31
+ facetsConfig,
32
+ facetSectionConfig
33
+ } = props;
34
+ const updateFacetState = filterSections => {
35
+ const updateSections = [...filterSections];
36
+ if (!_lodash.default.isEmpty(filterState)) {
37
+ for (const [key, value] of Object.entries(filterState)) {
38
+ updateSections.forEach(sideBar => {
39
+ if (sideBar.type === _Types.InputTypes.CHECKBOX && sideBar.datafield === key) {
40
+ sideBar.facetValues.forEach(item => {
41
+ item.isChecked = value[item.name] ? value[item.name] : false;
42
+ });
43
+ }
44
+ if (sideBar.type === _Types.InputTypes.SLIDER && sideBar.datafield === key) {
45
+ sideBar.facetValues = value;
46
+ }
47
+ });
48
+ }
49
+ } else {
50
+ updateSections.forEach(sideBar => {
51
+ if (sideBar.type === _Types.InputTypes.CHECKBOX) {
52
+ sideBar.facetValues.forEach(item => {
53
+ item.isChecked = false;
54
+ });
55
+ }
56
+ /**
57
+ * set default value for slider - on clear all filter
58
+ */
59
+ if (sideBar.type === _Types.InputTypes.SLIDER) {
60
+ const {
61
+ minLowerBound,
62
+ maxUpperBound
63
+ } = sideBar;
64
+ sideBar.facetValues = [minLowerBound, maxUpperBound];
65
+ }
66
+ });
67
+ }
68
+ return updateSections;
69
+ };
70
+ const arrangeBySections = arr => {
71
+ const sideBar = {};
72
+ arr.forEach(_ref => {
73
+ let {
74
+ section
75
+ } = _ref,
76
+ item = _objectWithoutProperties(_ref, _excluded);
77
+ const {
78
+ isExpanded
79
+ } = facetSectionConfig[section];
80
+ if (!sideBar[section]) {
81
+ sideBar[section] = {
82
+ name: section,
83
+ sectionName: section,
84
+ expandSection: isExpanded !== undefined && typeof isExpanded === 'boolean' ? isExpanded : true,
85
+ items: []
86
+ };
87
+ }
88
+ sideBar[section].items.push(_objectSpread({
89
+ section
90
+ }, item));
91
+ });
92
+ return Object.values(sideBar);
93
+ };
94
+
95
+ /**
96
+ * Construct filter object
97
+ * 1. add facet values to facets
98
+ * 2. add 'name' key to each facet value
99
+ */
100
+ const addFacetValues = facets => {
101
+ const updateFacets = [];
102
+ if (facets) {
103
+ facets.forEach(facet => {
104
+ const updateFacet = _objectSpread(_objectSpread({}, facet), {}, {
105
+ facetValues: []
106
+ });
107
+ const {
108
+ field,
109
+ ApiLowerBoundName,
110
+ ApiUpperBoundName,
111
+ apiForFiltering
112
+ } = updateFacet;
113
+ if (data[apiForFiltering]) {
114
+ 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;
121
+ }
122
+ /**
123
+ * add object to facet values
124
+ */
125
+ if (facet.type === _Types.InputTypes.SLIDER) {
126
+ const lowerBound = data[apiForFiltering][ApiLowerBoundName];
127
+ const upperBound = data[apiForFiltering][ApiUpperBoundName];
128
+ updateFacet.minLowerBound = lowerBound;
129
+ updateFacet.maxUpperBound = upperBound;
130
+ updateFacet.facetValues = [lowerBound, upperBound];
131
+ }
132
+ }
133
+ updateFacets.push(updateFacet);
134
+ });
135
+ }
136
+ return updateFacets;
137
+ };
138
+
139
+ /**
140
+ * Generate facet sections state
141
+ *
142
+ */
143
+ // const displayFacets = facetsConfig.filter((facet) => facet.show).slice(0, 16);
144
+ const displayFacets = facetsConfig.filter(facet => facet.show);
145
+ const facetStates = addFacetValues(displayFacets);
146
+ const updateState = updateFacetState(facetStates);
147
+ const facetSections = arrangeBySections(updateState);
148
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_FacetFilterView.default, _extends({}, props, {
149
+ sideBarSections: facetSections
150
+ })));
151
+ };
152
+ const mapStateToProps = state => ({
153
+ filterState: state.statusReducer.filterState
154
+ });
155
+ var _default = (0, _reactRedux.connect)(mapStateToProps, null)(FacetFilterController);
156
+ exports.default = _default;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _default = () => ({
8
+ sectionSummaryText: {
9
+ color: '#323232',
10
+ fontFamily: 'Raleway',
11
+ fontSize: '15px',
12
+ fontWeight: 'bold',
13
+ letterSpacing: '0.25px',
14
+ marginLeft: '15px',
15
+ lineHeight: '26px'
16
+ },
17
+ sortGroup: {
18
+ paddingTop: '10px',
19
+ paddingBottom: '5px',
20
+ borderTop: '1px solid #B1B1B1',
21
+ textAlign: 'left',
22
+ marginLeft: '-5px',
23
+ boxShadow: 'inset -10px 2px 10px -7px rgb(50 50 50 / 25%)'
24
+ },
25
+ sortGroupItem: {
26
+ cursor: 'pointer',
27
+ fontFamily: 'Nunito',
28
+ fontSize: '10px',
29
+ marginRight: '32px'
30
+ }
31
+ });
32
+ exports.default = _default;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _core = require("@material-ui/core");
9
+ var _FacetFilterStyle = _interopRequireDefault(require("./FacetFilterStyle"));
10
+ var _FacetSectionView = _interopRequireDefault(require("./components/section/FacetSectionView"));
11
+ var _ReduxFacetView = _interopRequireDefault(require("./components/facet/ReduxFacetView"));
12
+ var _FilterItems = _interopRequireDefault(require("./components/inputs/FilterItems"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ /* eslint-disable arrow-body-style */
15
+ /* eslint-disable padded-blocks */
16
+
17
+ const BentoFacetFilter = _ref => {
18
+ let {
19
+ sideBarSections,
20
+ CustomFacetSection,
21
+ CustomFacetView
22
+ } = _ref;
23
+ 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
+ variant: "middle",
25
+ className: "divider".concat(index)
26
+ }), /*#__PURE__*/_react.default.createElement(_FacetSectionView.default, {
27
+ section: section,
28
+ CustomSection: CustomFacetSection
29
+ }, section.items.map(facet => /*#__PURE__*/_react.default.createElement(_ReduxFacetView.default, {
30
+ 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
+ }))))))));
37
+ };
38
+ var _default = (0, _core.withStyles)(_FacetFilterStyle.default)(BentoFacetFilter);
39
+ exports.default = _default;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _default = () => ({
8
+ expansionPanelDetailsRoot: {
9
+ display: 'block'
10
+ },
11
+ expansionPanelsideBarItem: {
12
+ boxShadow: 'none',
13
+ borderTop: '1px solid #D2D2D2',
14
+ '&:last-child': {
15
+ borderBottom: '1px solid #D2D2D2'
16
+ },
17
+ margin: 'auto',
18
+ position: 'initial',
19
+ '&:before': {
20
+ position: 'initial'
21
+ }
22
+ },
23
+ subSectionSummaryText: {
24
+ marginLeft: '10px',
25
+ lineHeight: 0,
26
+ color: '#323232',
27
+ fontFamily: 'Raleway',
28
+ fontSize: '13px',
29
+ fontWeight: 'bold',
30
+ letterSpacing: '0.25px'
31
+ },
32
+ sortGroup: {
33
+ paddingTop: '10px',
34
+ marginBottom: '5px',
35
+ borderTop: '1px solid #B1B1B1',
36
+ textAlign: 'left',
37
+ marginLeft: '-5px'
38
+ },
39
+ sortGroupIcon: {
40
+ cursor: 'pointer',
41
+ fontFamily: 'Nunito',
42
+ fontSize: '10px',
43
+ marginRight: '12px',
44
+ marginLeft: '16px'
45
+ },
46
+ sortGroupItem: {
47
+ cursor: 'pointer',
48
+ fontFamily: 'Nunito',
49
+ fontSize: '10px',
50
+ marginRight: '32px'
51
+ },
52
+ NonSortGroup: {
53
+ marginBottom: '5px',
54
+ borderTop: '1px solid #B1B1B1',
55
+ textAlign: 'left',
56
+ paddingLeft: '10px'
57
+ },
58
+ NonSortGroupItem: {
59
+ fontFamily: 'Nunito',
60
+ fontSize: '10px',
61
+ marginRight: '32px'
62
+ },
63
+ sortGroupItemCounts: {
64
+ cursor: 'pointer',
65
+ fontFamily: 'Nunito',
66
+ fontSize: '10px',
67
+ float: 'right',
68
+ marginRight: '10px',
69
+ marginTop: '5px'
70
+ },
71
+ highlight: {
72
+ color: '#b2c6d6'
73
+ },
74
+ showMore: {
75
+ textAlign: 'right',
76
+ paddingRight: '5px',
77
+ cursor: 'pointer',
78
+ fontSize: '10px',
79
+ width: '100%'
80
+ }
81
+ });
82
+ exports.default = _default;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _core = require("@material-ui/core");
9
+ var _clsx = _interopRequireDefault(require("clsx"));
10
+ var _AccordionSummaryView = _interopRequireDefault(require("../summary/AccordionSummaryView"));
11
+ var _Types = require("../inputs/Types");
12
+ var _FacetStyle = _interopRequireDefault(require("./FacetStyle"));
13
+ var _FilterItems = _interopRequireDefault(require("../inputs/FilterItems"));
14
+ var _Sort = require("../../utils/Sort");
15
+ var _clearIcon = _interopRequireDefault(require("./assets/clearIcon.svg"));
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ 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
+ 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; }
19
+ 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; }
20
+ 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; }
21
+ 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; }
22
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
23
+ 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); }
24
+ const FacetView = _ref => {
25
+ let {
26
+ classes,
27
+ facet,
28
+ onClearFacetSection,
29
+ onClearSliderSection,
30
+ CustomView,
31
+ autoComplete,
32
+ upload
33
+ } = _ref;
34
+ const [expand, setExpand] = (0, _react.useState)(false);
35
+ const onExpandFacet = () => setExpand(!expand);
36
+
37
+ /**
38
+ * expand section incase of active local search
39
+ */
40
+ (0, _react.useEffect)(() => {
41
+ if (autoComplete && autoComplete.length > 0 || upload && upload.length > 0) {
42
+ setExpand(true);
43
+ }
44
+ }, [autoComplete, upload]);
45
+ const [sortBy, setSortBy] = (0, _react.useState)(null);
46
+ const onSortFacet = type => {
47
+ setSortBy(type);
48
+ };
49
+ const onClearSection = () => {
50
+ setSortBy(null);
51
+ if (facet.type === _Types.InputTypes.SLIDER) {
52
+ onClearSliderSection(facet);
53
+ } else {
54
+ onClearFacetSection(facet);
55
+ }
56
+ };
57
+ /**
58
+ * display checked items on facet collapse
59
+ */
60
+ const {
61
+ type,
62
+ facetValues
63
+ } = facet;
64
+ const selectedItems = facetValues && facetValues.filter(item => item.isChecked);
65
+ const displayFacet = _objectSpread({}, facet);
66
+ displayFacet.facetValues = selectedItems;
67
+ const isActiveFacet = [...selectedItems].length > 0;
68
+ const limitCheckBoxCount = (facet === null || facet === void 0 ? void 0 : facet.showCheckboxCount) || 5;
69
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.Accordion, {
70
+ square: true,
71
+ expanded: expand,
72
+ onChange: onExpandFacet,
73
+ classes: {
74
+ root: classes.expansionPanelsideBarItem
75
+ },
76
+ id: facet.section
77
+ }, CustomView ? /*#__PURE__*/_react.default.createElement(CustomView, {
78
+ facet: facet,
79
+ facetClasses: isActiveFacet ? "activeFacet".concat(facet.section) : "inactiveFacet".concat(facet.section)
80
+ }) : /*#__PURE__*/_react.default.createElement(_AccordionSummaryView.default, null, /*#__PURE__*/_react.default.createElement("div", {
81
+ id: "filterGroup_ ".concat(facet.datafield, "\n ").concat(facet.label),
82
+ className: (0, _clsx.default)(classes.subSectionSummaryText, {
83
+ ["activeFacet".concat(facet.section)]: isActiveFacet
84
+ })
85
+ }, facet.label)), (facet.type === _Types.InputTypes.SLIDER || facetValues.length === 0) && /*#__PURE__*/_react.default.createElement("div", {
86
+ className: classes.NonSortGroup
87
+ }, /*#__PURE__*/_react.default.createElement("span", {
88
+ className: classes.NonSortGroupItem
89
+ }, "No data for this field")), (facet.type === _Types.InputTypes.SLIDER || facetValues.length > 0) && /*#__PURE__*/_react.default.createElement("div", {
90
+ className: classes.sortGroup
91
+ }, /*#__PURE__*/_react.default.createElement("span", {
92
+ className: classes.sortGroupIcon
93
+ }, /*#__PURE__*/_react.default.createElement(_core.Icon, {
94
+ style: {
95
+ fontSize: 10
96
+ },
97
+ onClick: onClearSection
98
+ }, /*#__PURE__*/_react.default.createElement("img", {
99
+ src: _clearIcon.default,
100
+ height: 12,
101
+ width: 12,
102
+ alt: "clear-icon"
103
+ }))), facet.type === _Types.InputTypes.CHECKBOX && facetValues.length > 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
104
+ className: (0, _clsx.default)(classes.sortGroupItem, {
105
+ [classes.highlight]: sortBy === _Sort.sortType.ALPHABET
106
+ }),
107
+ onClick: () => {
108
+ onSortFacet(_Sort.sortType.ALPHABET);
109
+ }
110
+ }, "Sort alphabetically"), /*#__PURE__*/_react.default.createElement("span", {
111
+ className: (0, _clsx.default)(classes.sortGroupItemCounts, {
112
+ [classes.highlight]: sortBy === _Sort.sortType.NUMERIC
113
+ }),
114
+ onClick: () => {
115
+ onSortFacet(_Sort.sortType.NUMERIC);
116
+ }
117
+ }, "Sort by count"))), /*#__PURE__*/_react.default.createElement(_FilterItems.default, {
118
+ facet: facet,
119
+ sortBy: sortBy
120
+ })), !expand && type === _Types.InputTypes.CHECKBOX && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.List, {
121
+ id: "filter_Items"
122
+ }, /*#__PURE__*/_react.default.createElement(_FilterItems.default, {
123
+ facet: displayFacet
124
+ }))), !expand && selectedItems.length > limitCheckBoxCount && /*#__PURE__*/_react.default.createElement("div", {
125
+ className: classes.showMore,
126
+ onClick: onExpandFacet
127
+ }, "...expand to see all selections"));
128
+ };
129
+ var _default = (0, _core.withStyles)(_FacetStyle.default)(FacetView);
130
+ exports.default = _default;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactRedux = require("react-redux");
9
+ var _Actions = require("../../store/actions/Actions");
10
+ var _FacetView = _interopRequireDefault(require("./FacetView"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ const ReduxFacetView = props => /*#__PURE__*/_react.default.createElement(_FacetView.default, props);
13
+ const mapStateToProps = state => {
14
+ var _state$localFind, _state$localFind2;
15
+ return {
16
+ filterState: state.statusReducer.filterState,
17
+ autoComplete: (state === null || state === void 0 ? void 0 : (_state$localFind = state.localFind) === null || _state$localFind === void 0 ? void 0 : _state$localFind.autocomplete) || [],
18
+ upload: (state === null || state === void 0 ? void 0 : (_state$localFind2 = state.localFind) === null || _state$localFind2 === void 0 ? void 0 : _state$localFind2.upload) || []
19
+ };
20
+ };
21
+ const mapDispatchToProps = dispatch => ({
22
+ onClearFacetSection: facet => {
23
+ dispatch((0, _Actions.clearFacetSection)(facet));
24
+ },
25
+ onClearSliderSection: facet => {
26
+ dispatch((0, _Actions.clearSliderSection)(facet));
27
+ }
28
+ });
29
+ var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ReduxFacetView);
30
+ exports.default = _default;
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 25.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 12 12" style="enable-background:new 0 0 12 12;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#638FB5;}
7
+ </style>
8
+ <g>
9
+ <path class="st0" d="M11.74,5.98c0-3.17-2.56-5.73-5.73-5.74c-1.6,0-3.13,0.67-4.21,1.84V1.01c0-0.42-0.34-0.77-0.77-0.77
10
+ S0.26,0.59,0.26,1.01v3.06c0,0.42,0.34,0.77,0.77,0.77h3.06c0.42,0,0.77-0.34,0.77-0.77S4.52,3.3,4.09,3.3H2.76
11
+ c1.48-1.79,4.13-2.04,5.92-0.56s2.04,4.13,0.56,5.92C8.45,9.63,7.26,10.19,6,10.19l0,0c-0.42,0-0.77,0.34-0.77,0.77
12
+ c0,0.42,0.34,0.77,0.77,0.77h0.02C9.18,11.72,11.74,9.15,11.74,5.98z"/>
13
+ </g>
14
+ </svg>
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _default = () => ({
8
+ sortGroup: {
9
+ paddingTop: '10px',
10
+ marginBottom: '5px',
11
+ borderTop: '1px solid #B1B1B1',
12
+ textAlign: 'left',
13
+ marginLeft: '-5px'
14
+ },
15
+ sortGroupIcon: {
16
+ cursor: 'pointer',
17
+ fontFamily: 'Nunito',
18
+ fontSize: '10px',
19
+ marginRight: '12px',
20
+ marginLeft: '16px'
21
+ },
22
+ sortGroupItem: {
23
+ cursor: 'pointer',
24
+ fontFamily: 'Nunito',
25
+ fontSize: '10px',
26
+ marginRight: '32px'
27
+ },
28
+ sortGroupItemCounts: {
29
+ cursor: 'pointer',
30
+ fontFamily: 'Nunito',
31
+ fontSize: '10px',
32
+ float: 'right',
33
+ marginRight: '10px',
34
+ marginTop: '5px'
35
+ }
36
+ });
37
+ exports.default = _default;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _ReduxCheckbox = _interopRequireDefault(require("./checkbox/ReduxCheckbox"));
9
+ var _ReduxSlider = _interopRequireDefault(require("./slider/ReduxSlider"));
10
+ var _Types = require("./Types");
11
+ var _Sort = require("../../utils/Sort");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ 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; }
14
+ 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; }
15
+ 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; }
16
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
17
+ 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); }
18
+ const FilterItems = _ref => {
19
+ let {
20
+ facet,
21
+ sortBy
22
+ } = _ref;
23
+ const {
24
+ type,
25
+ datafield,
26
+ section
27
+ } = facet;
28
+ const sortFilters = (0, _Sort.sortBySection)(_objectSpread(_objectSpread({}, facet), {}, {
29
+ sortBy
30
+ }));
31
+ const filterItems = () => {
32
+ switch (type) {
33
+ case _Types.InputTypes.CHECKBOX:
34
+ return sortFilters.map((item, index) => /*#__PURE__*/_react.default.createElement(_ReduxCheckbox.default, {
35
+ checkboxItem: _objectSpread(_objectSpread({}, item), {}, {
36
+ index,
37
+ section
38
+ }),
39
+ datafield: datafield,
40
+ facet: facet
41
+ }));
42
+ case _Types.InputTypes.SLIDER:
43
+ return /*#__PURE__*/_react.default.createElement(_ReduxSlider.default, {
44
+ facet: facet
45
+ });
46
+ default:
47
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
48
+ }
49
+ };
50
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterItems());
51
+ };
52
+ var _default = FilterItems;
53
+ exports.default = _default;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.silderTypes = exports.InputTypes = void 0;
7
+ const InputTypes = {
8
+ CHECKBOX: 'checkbox',
9
+ SLIDER: 'slider',
10
+ LOCAL_SEARCH: 'local_search'
11
+ };
12
+ exports.InputTypes = InputTypes;
13
+ const silderTypes = {
14
+ INPUT_MIN: 'INPUT_MIN',
15
+ INPUT_MAX: 'INPUT_MAX'
16
+ };
17
+ exports.silderTypes = silderTypes;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _default = () => ({
8
+ listItemGutters: {
9
+ padding: '10px 20px 10px 0px'
10
+ },
11
+ checkboxRoot: {
12
+ marginLeft: '5px',
13
+ height: 12
14
+ },
15
+ panelDetailText: {
16
+ color: '#323232',
17
+ fontFamily: 'Nunito',
18
+ fontSize: '14px',
19
+ fontWeight: '200'
20
+ },
21
+ panelSubjectText: {
22
+ color: '#323232',
23
+ fontFamily: 'Nunito',
24
+ fontSize: '14px',
25
+ marginRight: '0px'
26
+ },
27
+ checkboxLabel: {
28
+ margin: '0'
29
+ },
30
+ checkboxName: {
31
+ margin: '0',
32
+ color: '#000000',
33
+ fontSize: '14px',
34
+ marginTop: '1.5px',
35
+ fontFamily: 'Nunito',
36
+ lineHeight: '120%'
37
+ }
38
+ });
39
+ exports.default = _default;