1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.ToolbarChipGroupContent = void 0;
|
4 | const tslib_1 = require("tslib");
|
5 | const React = tslib_1.__importStar(require("react"));
|
6 | const toolbar_1 = tslib_1.__importDefault(require("@patternfly/react-styles/css/components/Toolbar/toolbar"));
|
7 | const react_styles_1 = require("@patternfly/react-styles");
|
8 | const util_1 = require("../../helpers/util");
|
9 | const ToolbarItem_1 = require("./ToolbarItem");
|
10 | const Button_1 = require("../Button");
|
11 | const ToolbarGroup_1 = require("./ToolbarGroup");
|
12 | const ToolbarUtils_1 = require("./ToolbarUtils");
|
13 | class ToolbarChipGroupContent extends React.Component {
|
14 | render() {
|
15 | const _a = this.props, { className, isExpanded, chipGroupContentRef, clearAllFilters, showClearFiltersButton, clearFiltersButtonText, collapseListedFiltersBreakpoint, numberOfFilters, numberOfFiltersText, customChipGroupContent } = _a, props = tslib_1.__rest(_a, ["className", "isExpanded", "chipGroupContentRef", "clearAllFilters", "showClearFiltersButton", "clearFiltersButtonText", "collapseListedFiltersBreakpoint", "numberOfFilters", "numberOfFiltersText", "customChipGroupContent"]);
|
16 | const clearChipGroups = () => {
|
17 | clearAllFilters();
|
18 | };
|
19 | let collapseListedFilters = false;
|
20 | if (collapseListedFiltersBreakpoint === 'all') {
|
21 | collapseListedFilters = true;
|
22 | }
|
23 | else if (util_1.canUseDOM) {
|
24 | collapseListedFilters =
|
25 | (util_1.canUseDOM ? window.innerWidth : 1200) < ToolbarUtils_1.globalBreakpoints[collapseListedFiltersBreakpoint];
|
26 | }
|
27 | return (React.createElement("div", Object.assign({ className: react_styles_1.css(toolbar_1.default.toolbarContent, (numberOfFilters === 0 || isExpanded) && toolbar_1.default.modifiers.hidden, className) }, ((numberOfFilters === 0 || isExpanded) && { hidden: true }), { ref: chipGroupContentRef }, props),
|
28 | React.createElement(ToolbarGroup_1.ToolbarGroup, Object.assign({ className: react_styles_1.css(collapseListedFilters && toolbar_1.default.modifiers.hidden) }, (collapseListedFilters && { hidden: true }), (collapseListedFilters && { 'aria-hidden': true }))),
|
29 | collapseListedFilters && numberOfFilters > 0 && !isExpanded && (React.createElement(ToolbarGroup_1.ToolbarGroup, null,
|
30 | React.createElement(ToolbarItem_1.ToolbarItem, null, numberOfFiltersText(numberOfFilters)))),
|
31 | showClearFiltersButton && !isExpanded && !customChipGroupContent && (React.createElement(ToolbarItem_1.ToolbarItem, null,
|
32 | React.createElement(Button_1.Button, { variant: "link", onClick: clearChipGroups, isInline: true }, clearFiltersButtonText))),
|
33 | customChipGroupContent && customChipGroupContent));
|
34 | }
|
35 | }
|
36 | exports.ToolbarChipGroupContent = ToolbarChipGroupContent;
|
37 | ToolbarChipGroupContent.displayName = 'ToolbarChipGroupContent';
|
38 | ToolbarChipGroupContent.defaultProps = {
|
39 | clearFiltersButtonText: 'Clear all filters',
|
40 | collapseListedFiltersBreakpoint: 'lg',
|
41 | numberOfFiltersText: (numberOfFilters) => `${numberOfFilters} filters applied`
|
42 | };
|
43 |
|
\ | No newline at end of file |