UNPKG

3.19 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.ToolbarChipGroupContent = void 0;
4const tslib_1 = require("tslib");
5const React = tslib_1.__importStar(require("react"));
6const toolbar_1 = tslib_1.__importDefault(require("@patternfly/react-styles/css/components/Toolbar/toolbar"));
7const react_styles_1 = require("@patternfly/react-styles");
8const util_1 = require("../../helpers/util");
9const ToolbarItem_1 = require("./ToolbarItem");
10const Button_1 = require("../Button");
11const ToolbarGroup_1 = require("./ToolbarGroup");
12const ToolbarUtils_1 = require("./ToolbarUtils");
13class 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}
36exports.ToolbarChipGroupContent = ToolbarChipGroupContent;
37ToolbarChipGroupContent.displayName = 'ToolbarChipGroupContent';
38ToolbarChipGroupContent.defaultProps = {
39 clearFiltersButtonText: 'Clear all filters',
40 collapseListedFiltersBreakpoint: 'lg',
41 numberOfFiltersText: (numberOfFilters) => `${numberOfFilters} filters applied`
42};
43//# sourceMappingURL=ToolbarChipGroupContent.js.map
\No newline at end of file