@ansible/ansible-ui-framework 0.0.190
Sign up to get free protection for your applications and to get access to all the features.
- package/LICENSE +21 -0
- package/cjs/framework/BulkActionDialog.js +217 -0
- package/cjs/framework/BulkProgressDialog.js +240 -0
- package/cjs/framework/FilterDrawer.js +64 -0
- package/cjs/framework/PageBody.js +47 -0
- package/cjs/framework/PageCatalog.js +178 -0
- package/cjs/framework/PageCells.js +141 -0
- package/cjs/framework/PageColumnModal.js +130 -0
- package/cjs/framework/PageDataList.js +61 -0
- package/cjs/framework/PageDialog.js +28 -0
- package/cjs/framework/PageForm.js +376 -0
- package/cjs/framework/PageFramework.js +11 -0
- package/cjs/framework/PageHeader.js +96 -0
- package/cjs/framework/PageLayout.js +41 -0
- package/cjs/framework/PagePagination.js +28 -0
- package/cjs/framework/PageTable.js +205 -0
- package/cjs/framework/PageTabs.js +82 -0
- package/cjs/framework/PageToolbar.js +209 -0
- package/cjs/framework/Settings.js +122 -0
- package/cjs/framework/TypedActions.js +303 -0
- package/cjs/framework/components/BulkSelector.js +89 -0
- package/cjs/framework/components/Collapse.js +22 -0
- package/cjs/framework/components/DetailInfo.js +23 -0
- package/cjs/framework/components/Details.js +88 -0
- package/cjs/framework/components/Dotted.js +19 -0
- package/cjs/framework/components/DropdownControlled.js +28 -0
- package/cjs/framework/components/ErrorBoundary.js +45 -0
- package/cjs/framework/components/Grid.js +64 -0
- package/cjs/framework/components/Help.js +24 -0
- package/cjs/framework/components/IconWrapper.js +55 -0
- package/cjs/framework/components/LoadingPage.js +14 -0
- package/cjs/framework/components/Masonry.js +113 -0
- package/cjs/framework/components/Scrollable.js +87 -0
- package/cjs/framework/components/SingleSelect.js +70 -0
- package/cjs/framework/components/patternfly-colors.js +32 -0
- package/cjs/framework/components/useBreakPoint.js +145 -0
- package/cjs/framework/components/useOpen.js +36 -0
- package/cjs/framework/components/useWindowLocation.js +70 -0
- package/cjs/framework/index.js +39 -0
- package/cjs/framework/useFrameworkTranslations.js +38 -0
- package/cjs/framework/useSelectDialog.js +81 -0
- package/cjs/framework/useSelectMultipleDialog.js +62 -0
- package/cjs/framework/useTableItems.js +485 -0
- package/cjs/framework/useView.js +155 -0
- package/cjs/framework/utils/compare.js +59 -0
- package/cjs/framework/utils/download-file.js +23 -0
- package/cjs/framework/utils/random-string.js +17 -0
- package/cjs/frontend/controller/access/organizations/Organization.js +2 -0
- package/mjs/framework/BulkActionDialog.d.ts +25 -0
- package/mjs/framework/BulkActionDialog.js +104 -0
- package/mjs/framework/BulkProgressDialog.d.ts +20 -0
- package/mjs/framework/BulkProgressDialog.js +131 -0
- package/mjs/framework/FilterDrawer.d.ts +8 -0
- package/mjs/framework/FilterDrawer.js +24 -0
- package/mjs/framework/PageBody.d.ts +4 -0
- package/mjs/framework/PageBody.js +29 -0
- package/mjs/framework/PageCatalog.d.ts +113 -0
- package/mjs/framework/PageCatalog.js +140 -0
- package/mjs/framework/PageCells.d.ts +35 -0
- package/mjs/framework/PageCells.js +102 -0
- package/mjs/framework/PageColumnModal.d.ts +7 -0
- package/mjs/framework/PageColumnModal.js +64 -0
- package/mjs/framework/PageDataList.d.ts +46 -0
- package/mjs/framework/PageDataList.js +45 -0
- package/mjs/framework/PageDialog.d.ts +10 -0
- package/mjs/framework/PageDialog.js +12 -0
- package/mjs/framework/PageForm.d.ts +147 -0
- package/mjs/framework/PageForm.js +316 -0
- package/mjs/framework/PageFramework.d.ts +4 -0
- package/mjs/framework/PageFramework.js +7 -0
- package/mjs/framework/PageHeader.d.ts +45 -0
- package/mjs/framework/PageHeader.js +80 -0
- package/mjs/framework/PageLayout.d.ts +15 -0
- package/mjs/framework/PageLayout.js +23 -0
- package/mjs/framework/PagePagination.d.ts +10 -0
- package/mjs/framework/PagePagination.js +22 -0
- package/mjs/framework/PageTable.d.ts +68 -0
- package/mjs/framework/PageTable.js +170 -0
- package/mjs/framework/PageTabs.d.ts +15 -0
- package/mjs/framework/PageTabs.js +45 -0
- package/mjs/framework/PageToolbar.d.ts +57 -0
- package/mjs/framework/PageToolbar.js +148 -0
- package/mjs/framework/Settings.d.ts +19 -0
- package/mjs/framework/Settings.js +87 -0
- package/mjs/framework/TypedActions.d.ts +80 -0
- package/mjs/framework/TypedActions.js +251 -0
- package/mjs/framework/components/BulkSelector.d.ts +11 -0
- package/mjs/framework/components/BulkSelector.js +56 -0
- package/mjs/framework/components/Collapse.d.ts +5 -0
- package/mjs/framework/components/Collapse.js +7 -0
- package/mjs/framework/components/DetailInfo.d.ts +5 -0
- package/mjs/framework/components/DetailInfo.js +8 -0
- package/mjs/framework/components/Details.d.ts +38 -0
- package/mjs/framework/components/Details.js +68 -0
- package/mjs/framework/components/Dotted.d.ts +4 -0
- package/mjs/framework/components/Dotted.js +4 -0
- package/mjs/framework/components/DropdownControlled.d.ts +4 -0
- package/mjs/framework/components/DropdownControlled.js +8 -0
- package/mjs/framework/components/ErrorBoundary.d.ts +15 -0
- package/mjs/framework/components/ErrorBoundary.js +25 -0
- package/mjs/framework/components/Grid.d.ts +6 -0
- package/mjs/framework/components/Grid.js +27 -0
- package/mjs/framework/components/Help.d.ts +5 -0
- package/mjs/framework/components/Help.js +9 -0
- package/mjs/framework/components/IconWrapper.d.ts +8 -0
- package/mjs/framework/components/IconWrapper.js +40 -0
- package/mjs/framework/components/LoadingPage.d.ts +6 -0
- package/mjs/framework/components/LoadingPage.js +9 -0
- package/mjs/framework/components/Masonry.d.ts +6 -0
- package/mjs/framework/components/Masonry.js +69 -0
- package/mjs/framework/components/Scrollable.d.ts +7 -0
- package/mjs/framework/components/Scrollable.js +60 -0
- package/mjs/framework/components/SingleSelect.d.ts +18 -0
- package/mjs/framework/components/SingleSelect.js +37 -0
- package/mjs/framework/components/patternfly-colors.d.ts +13 -0
- package/mjs/framework/components/patternfly-colors.js +28 -0
- package/mjs/framework/components/useBreakPoint.d.ts +5 -0
- package/mjs/framework/components/useBreakPoint.js +118 -0
- package/mjs/framework/components/useOpen.d.ts +4 -0
- package/mjs/framework/components/useOpen.js +16 -0
- package/mjs/framework/components/useWindowLocation.d.ts +6 -0
- package/mjs/framework/components/useWindowLocation.js +48 -0
- package/mjs/framework/index.d.ts +23 -0
- package/mjs/framework/index.js +23 -0
- package/mjs/framework/useFrameworkTranslations.d.ts +17 -0
- package/mjs/framework/useFrameworkTranslations.js +22 -0
- package/mjs/framework/useSelectDialog.d.ts +30 -0
- package/mjs/framework/useSelectDialog.js +49 -0
- package/mjs/framework/useSelectMultipleDialog.d.ts +21 -0
- package/mjs/framework/useSelectMultipleDialog.js +29 -0
- package/mjs/framework/useTableItems.d.ts +76 -0
- package/mjs/framework/useTableItems.js +371 -0
- package/mjs/framework/useView.d.ts +15 -0
- package/mjs/framework/useView.js +108 -0
- package/mjs/framework/utils/compare.d.ts +3 -0
- package/mjs/framework/utils/compare.js +53 -0
- package/mjs/framework/utils/download-file.d.ts +2 -0
- package/mjs/framework/utils/download-file.js +18 -0
- package/mjs/framework/utils/random-string.d.ts +1 -0
- package/mjs/framework/utils/random-string.js +12 -0
- package/mjs/frontend/controller/access/organizations/Organization.d.ts +44 -0
- package/mjs/frontend/controller/access/organizations/Organization.js +1 -0
- package/package.json +39 -0
@@ -0,0 +1,178 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
3
|
+
__assign = Object.assign || function(t) {
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
+
s = arguments[i];
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
+
t[p] = s[p];
|
8
|
+
}
|
9
|
+
return t;
|
10
|
+
};
|
11
|
+
return __assign.apply(this, arguments);
|
12
|
+
};
|
13
|
+
var __read = (this && this.__read) || function (o, n) {
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
15
|
+
if (!m) return o;
|
16
|
+
var i = m.call(o), r, ar = [], e;
|
17
|
+
try {
|
18
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
19
|
+
}
|
20
|
+
catch (error) { e = { error: error }; }
|
21
|
+
finally {
|
22
|
+
try {
|
23
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
24
|
+
}
|
25
|
+
finally { if (e) throw e.error; }
|
26
|
+
}
|
27
|
+
return ar;
|
28
|
+
};
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
30
|
+
exports.CardList = exports.CardSection = exports.CatalogCard = exports.CatalogCardListItemIcon = exports.CatalogCardItemType = exports.CatalogColor = exports.CatalogIconColor = exports.Catalog = void 0;
|
31
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
32
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
33
|
+
/* eslint-disable @typescript-eslint/no-empty-function */
|
34
|
+
var react_core_1 = require("@patternfly/react-core");
|
35
|
+
var react_icons_1 = require("@patternfly/react-icons");
|
36
|
+
var react_1 = require("react");
|
37
|
+
var Grid_1 = require("./components/Grid");
|
38
|
+
var IconWrapper_1 = require("./components/IconWrapper");
|
39
|
+
var Scrollable_1 = require("./components/Scrollable");
|
40
|
+
function Catalog(props) {
|
41
|
+
var keyFn = props.keyFn, items = props.items, itemToCardFn = props.itemToCardFn, isSelected = props.isSelected, selectItem = props.selectItem, unselectItem = props.unselectItem, itemActions = props.itemActions, showSelect = props.showSelect;
|
42
|
+
var catalogCards = (0, react_1.useMemo)(function () {
|
43
|
+
var _a;
|
44
|
+
return ((0, jsx_runtime_1.jsx)(Grid_1.Grid, __assign({ size: (_a = props.cardWidth) !== null && _a !== void 0 ? _a : 470 }, { children: items.map(function (item) { return ((0, jsx_runtime_1.jsx)(CatalogCard, { item: item, itemToCardFn: itemToCardFn, isSelected: isSelected, selectItem: selectItem, unselectItem: unselectItem, itemActions: itemActions, showSelect: showSelect }, keyFn(item))); }) })));
|
45
|
+
}, [
|
46
|
+
props.cardWidth,
|
47
|
+
items,
|
48
|
+
keyFn,
|
49
|
+
itemToCardFn,
|
50
|
+
isSelected,
|
51
|
+
selectItem,
|
52
|
+
unselectItem,
|
53
|
+
itemActions,
|
54
|
+
showSelect,
|
55
|
+
]);
|
56
|
+
return ((0, jsx_runtime_1.jsx)(react_core_1.PageSection, __assign({ style: { flexGrow: 1 } }, { children: (0, jsx_runtime_1.jsx)("div", { children: catalogCards }) })));
|
57
|
+
}
|
58
|
+
exports.Catalog = Catalog;
|
59
|
+
var CatalogIconColor;
|
60
|
+
(function (CatalogIconColor) {
|
61
|
+
CatalogIconColor["red"] = "red";
|
62
|
+
CatalogIconColor["green"] = "green";
|
63
|
+
CatalogIconColor["blue"] = "blue";
|
64
|
+
CatalogIconColor["yellow"] = "yellow";
|
65
|
+
})(CatalogIconColor = exports.CatalogIconColor || (exports.CatalogIconColor = {}));
|
66
|
+
var CatalogColor;
|
67
|
+
(function (CatalogColor) {
|
68
|
+
CatalogColor["blue"] = "blue";
|
69
|
+
CatalogColor["cyan"] = "cyan";
|
70
|
+
CatalogColor["green"] = "green";
|
71
|
+
CatalogColor["orange"] = "orange";
|
72
|
+
CatalogColor["purple"] = "purple";
|
73
|
+
CatalogColor["red"] = "red";
|
74
|
+
CatalogColor["grey"] = "grey";
|
75
|
+
})(CatalogColor = exports.CatalogColor || (exports.CatalogColor = {}));
|
76
|
+
var CatalogCardItemType;
|
77
|
+
(function (CatalogCardItemType) {
|
78
|
+
CatalogCardItemType["Description"] = "description";
|
79
|
+
CatalogCardItemType["List"] = "list";
|
80
|
+
})(CatalogCardItemType = exports.CatalogCardItemType || (exports.CatalogCardItemType = {}));
|
81
|
+
var CatalogCardListItemIcon;
|
82
|
+
(function (CatalogCardListItemIcon) {
|
83
|
+
CatalogCardListItemIcon["Checkmark"] = "checkmark";
|
84
|
+
CatalogCardListItemIcon["Plus"] = "plus";
|
85
|
+
CatalogCardListItemIcon["CheckCircle"] = "check-circle";
|
86
|
+
CatalogCardListItemIcon["ExclamationCircle"] = "exclamation-circle";
|
87
|
+
})(CatalogCardListItemIcon = exports.CatalogCardListItemIcon || (exports.CatalogCardListItemIcon = {}));
|
88
|
+
function CatalogCard(props) {
|
89
|
+
var _a;
|
90
|
+
var t = props.t;
|
91
|
+
t = t ? t : function (t) { return t; };
|
92
|
+
var item = props.item, itemToCardFn = props.itemToCardFn, isSelected = props.isSelected, selectItem = props.selectItem, unselectItem = props.unselectItem, itemActions = props.itemActions, showSelect = props.showSelect;
|
93
|
+
var card = (0, react_1.useMemo)(function () { return itemToCardFn(item); }, [item, itemToCardFn]);
|
94
|
+
var _b = __read((0, react_1.useState)(false), 2), isOpen = _b[0], setIsOpen = _b[1];
|
95
|
+
var onSelect = (0, react_1.useCallback)(function () { }, []);
|
96
|
+
var onClick = (0, react_1.useCallback)(function () {
|
97
|
+
if (isSelected(item)) {
|
98
|
+
unselectItem(item);
|
99
|
+
}
|
100
|
+
else {
|
101
|
+
selectItem(item);
|
102
|
+
}
|
103
|
+
}, [isSelected, item, selectItem, unselectItem]);
|
104
|
+
var showDropdown = itemActions !== undefined && itemActions.length > 0;
|
105
|
+
var showActions = showSelect || showDropdown;
|
106
|
+
var dropdownItems = (0, react_1.useMemo)(function () {
|
107
|
+
return itemActions === null || itemActions === void 0 ? void 0 : itemActions.map(function (itemAction, index) {
|
108
|
+
// if (isItemActionClick(itemAction)) {
|
109
|
+
// return (
|
110
|
+
// <DropdownItem
|
111
|
+
// key={itemAction.label}
|
112
|
+
// onClick={() => {
|
113
|
+
// itemAction.onClick(item)
|
114
|
+
// setIsOpen(false)
|
115
|
+
// }}
|
116
|
+
// >
|
117
|
+
// {itemAction.label}
|
118
|
+
// </DropdownItem>
|
119
|
+
// )
|
120
|
+
// }
|
121
|
+
return (0, jsx_runtime_1.jsx)(react_core_1.DropdownSeparator, {}, index);
|
122
|
+
});
|
123
|
+
}, [itemActions]);
|
124
|
+
var disabled = !card.onClick;
|
125
|
+
return ((0, jsx_runtime_1.jsxs)(react_core_1.Card, __assign({ id: card.id, onClick: card.onClick, isFlat: true, isLarge: true, isSelectable: !disabled, isRounded: true, style: {
|
126
|
+
transition: 'box-shadow 0.25s',
|
127
|
+
cursor: !disabled ? 'pointer' : undefined,
|
128
|
+
} }, { children: [(0, jsx_runtime_1.jsxs)(react_core_1.CardHeader, __assign({ style: { opacity: !disabled ? undefined : '0.5' } }, { children: [(0, jsx_runtime_1.jsxs)(react_core_1.Split, __assign({ hasGutter: true, style: { width: '100%' } }, { children: [(0, jsx_runtime_1.jsx)(react_core_1.SplitItem, __assign({ isFilled: true }, { children: (0, jsx_runtime_1.jsxs)("div", __assign({ style: { display: 'flex', alignItems: 'center' } }, { children: [card.icon && ((0, jsx_runtime_1.jsx)("div", __assign({ style: {
|
129
|
+
display: 'flex',
|
130
|
+
height: 40,
|
131
|
+
width: 40,
|
132
|
+
marginTop: -20,
|
133
|
+
marginBottom: -20,
|
134
|
+
marginRight: 12,
|
135
|
+
alignItems: 'center',
|
136
|
+
justifyItems: 'stretch',
|
137
|
+
} }, { children: (0, jsx_runtime_1.jsx)(IconWrapper_1.IconWrapper, __assign({ size: "lg" }, { children: card.icon })) }))), (0, jsx_runtime_1.jsx)(react_core_1.CardTitle, { children: card.title })] })) })), card.badge && card.badgeTooltip && ((0, jsx_runtime_1.jsx)(react_core_1.SplitItem, { children: (0, jsx_runtime_1.jsx)("div", __assign({ onClick: function (e) { return e.stopPropagation(); } }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Popover, __assign({ headerContent: card.badgeTooltipTitle, bodyContent: card.badgeTooltip, removeFindDomNode: true }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Label, __assign({ color: card.badgeColor }, { children: card.badge })) })) })) })), card.badge && !card.badgeTooltip && ((0, jsx_runtime_1.jsx)(react_core_1.SplitItem, { children: (0, jsx_runtime_1.jsx)(react_core_1.Label, __assign({ color: card.badgeColor }, { children: card.badge })) }))] })), showActions && ((0, jsx_runtime_1.jsxs)(react_core_1.CardActions, __assign({ hasNoOffset: true }, { children: [showDropdown && ((0, jsx_runtime_1.jsx)(react_core_1.Dropdown, { onSelect: onSelect, toggle: (0, jsx_runtime_1.jsx)(react_core_1.KebabToggle, { onToggle: setIsOpen }), isOpen: isOpen, isPlain: true, dropdownItems: dropdownItems, position: "right" })), showSelect && ((0, jsx_runtime_1.jsx)(react_core_1.Checkbox, { isChecked: isSelected(item), onChange: onClick, "aria-label": "card checkbox example", id: "check-1", name: "check1" }))] })))] })), card.items && ((0, jsx_runtime_1.jsx)(Scrollable_1.Scrollable, { children: (0, jsx_runtime_1.jsx)(react_core_1.CardBody, __assign({ style: { paddingTop: 0, opacity: !disabled ? undefined : '0.5' } }, { children: (0, jsx_runtime_1.jsx)(react_core_1.DescriptionList, { children: card.items &&
|
138
|
+
card.items.map(function (item, index) {
|
139
|
+
switch (item.type) {
|
140
|
+
case CatalogCardItemType.Description:
|
141
|
+
return ((0, jsx_runtime_1.jsx)(react_core_1.DescriptionList, { children: (0, jsx_runtime_1.jsx)(react_core_1.DescriptionListGroup, { children: (0, jsx_runtime_1.jsx)("span", __assign({ style: { opacity: 9 } }, { children: item.description })) }) }, index));
|
142
|
+
case CatalogCardItemType.List:
|
143
|
+
return ((0, jsx_runtime_1.jsx)(react_core_1.DescriptionList, __assign({ orientation: item.horizontal ? { sm: 'horizontal' } : undefined }, { children: (0, jsx_runtime_1.jsxs)(react_core_1.DescriptionListGroup, { children: [(0, jsx_runtime_1.jsx)(react_core_1.DescriptionListTerm, { children: item.title }), (0, jsx_runtime_1.jsx)(react_core_1.DescriptionListDescription, { children: (0, jsx_runtime_1.jsx)(CardList, { icon: item.icon, items: item.items }) })] }) }), index));
|
144
|
+
default:
|
145
|
+
return (0, jsx_runtime_1.jsx)(react_1.Fragment, {}, index);
|
146
|
+
}
|
147
|
+
}) }) })) })), (card.labels || card.learnMore) && ((0, jsx_runtime_1.jsx)(react_core_1.CardFooter, { children: (0, jsx_runtime_1.jsxs)("div", __assign({ style: {
|
148
|
+
display: 'flex',
|
149
|
+
flexDirection: 'row',
|
150
|
+
alignItems: 'end',
|
151
|
+
gap: 16,
|
152
|
+
} }, { children: [(0, jsx_runtime_1.jsx)("div", __assign({ style: { flexGrow: 1, opacity: !disabled ? undefined : '0.5' } }, { children: card.labels && ((0, jsx_runtime_1.jsx)(react_core_1.LabelGroup, { children: card.labels.map(function (item) { return ((0, jsx_runtime_1.jsx)(react_core_1.Label, __assign({ color: item.color }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Truncate, { content: item.label, style: { minWidth: 0 } }) }), item.label)); }) })) })), card.learnMore && ((0, jsx_runtime_1.jsxs)(react_core_1.Button, __assign({ variant: "link", icon: (0, jsx_runtime_1.jsx)(react_icons_1.ExternalLinkAltIcon, {}), isInline: true, onClick: function () { return window.open(card.learnMore, '_blank'); } }, { children: ["\u00A0", t('Learn more')] })))] })) })), card.alertTitle && ((0, jsx_runtime_1.jsx)(react_core_1.Alert, __assign({ title: card.alertTitle, isInline: true, variant: card.alertVariant }, { children: card.alertContent })))] }), (_a = card.id) !== null && _a !== void 0 ? _a : card.title));
|
153
|
+
}
|
154
|
+
exports.CatalogCard = CatalogCard;
|
155
|
+
function CardSection(props) {
|
156
|
+
return ((0, jsx_runtime_1.jsxs)(react_core_1.Stack, { children: [props.title && ((0, jsx_runtime_1.jsx)(react_core_1.StackItem, { children: (0, jsx_runtime_1.jsx)(react_core_1.Title, __assign({ headingLevel: "h6", style: { paddingBottom: 8 } }, { children: props.title })) })), props.children] }));
|
157
|
+
}
|
158
|
+
exports.CardSection = CardSection;
|
159
|
+
function CardList(props) {
|
160
|
+
var items = props.items, icon = props.icon;
|
161
|
+
return ((0, jsx_runtime_1.jsx)(react_core_1.List, __assign({ isPlain: true }, { children: items === null || items === void 0 ? void 0 : items.map(function (listItem, index) {
|
162
|
+
var itemIcon;
|
163
|
+
if (listItem.icon) {
|
164
|
+
itemIcon = ((0, jsx_runtime_1.jsx)(IconWrapper_1.IconWrapper, __assign({ size: "md", noPadding: true }, { children: listItem.icon })));
|
165
|
+
}
|
166
|
+
else if (icon) {
|
167
|
+
itemIcon = ((0, jsx_runtime_1.jsx)(IconWrapper_1.IconWrapper, __assign({ size: "md", noPadding: true }, { children: icon })));
|
168
|
+
}
|
169
|
+
return ((0, jsx_runtime_1.jsxs)(react_core_1.ListItem, __assign({ icon: itemIcon, style: { opacity: 0.85 } }, { children: [listItem.text, listItem.help && (
|
170
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
171
|
+
(0, jsx_runtime_1.jsx)("div", __assign({ onClick: function (e) { return e.stopPropagation(); } }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Popover, __assign({ headerContent: listItem.helpTitle, bodyContent: listItem.help, removeFindDomNode: true }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Button, __assign({ variant: "link", style: {
|
172
|
+
padding: 0,
|
173
|
+
marginLeft: '8px',
|
174
|
+
verticalAlign: 'middle',
|
175
|
+
} }, { children: (0, jsx_runtime_1.jsx)(react_icons_1.OutlinedQuestionCircleIcon, {}) })) })) })))] }), index));
|
176
|
+
}) })));
|
177
|
+
}
|
178
|
+
exports.CardList = CardList;
|
@@ -0,0 +1,141 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
3
|
+
__assign = Object.assign || function(t) {
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
+
s = arguments[i];
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
+
t[p] = s[p];
|
8
|
+
}
|
9
|
+
return t;
|
10
|
+
};
|
11
|
+
return __assign.apply(this, arguments);
|
12
|
+
};
|
13
|
+
var __read = (this && this.__read) || function (o, n) {
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
15
|
+
if (!m) return o;
|
16
|
+
var i = m.call(o), r, ar = [], e;
|
17
|
+
try {
|
18
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
19
|
+
}
|
20
|
+
catch (error) { e = { error: error }; }
|
21
|
+
finally {
|
22
|
+
try {
|
23
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
24
|
+
}
|
25
|
+
finally { if (e) throw e.error; }
|
26
|
+
}
|
27
|
+
return ar;
|
28
|
+
};
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
30
|
+
exports.BytesCell = exports.CapacityCell = exports.SinceCell = exports.CopyCell = exports.TextCell = exports.DateCell = exports.LabelsCell = void 0;
|
31
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
32
|
+
var react_core_1 = require("@patternfly/react-core");
|
33
|
+
var luxon_1 = require("luxon");
|
34
|
+
var react_1 = require("react");
|
35
|
+
var react_i18next_1 = require("react-i18next");
|
36
|
+
var react_router_dom_1 = require("react-router-dom");
|
37
|
+
var IconWrapper_1 = require("./components/IconWrapper");
|
38
|
+
var patternfly_colors_1 = require("./components/patternfly-colors");
|
39
|
+
var Settings_1 = require("./Settings");
|
40
|
+
function LabelsCell(props) {
|
41
|
+
return ((0, jsx_runtime_1.jsx)(react_core_1.LabelGroup, __assign({ numLabels: 999, style: { flexWrap: 'nowrap' } }, { children: props.labels.map(function (label) { return ((0, jsx_runtime_1.jsx)(react_core_1.Label, { children: label }, label)); }) })));
|
42
|
+
}
|
43
|
+
exports.LabelsCell = LabelsCell;
|
44
|
+
function DateCell(props) {
|
45
|
+
var date = new Date(props.value);
|
46
|
+
return ((0, jsx_runtime_1.jsxs)(react_core_1.Split, __assign({ hasGutter: true }, { children: [(0, jsx_runtime_1.jsx)(react_core_1.SplitItem, { children: date.toLocaleDateString() }), (0, jsx_runtime_1.jsx)(react_core_1.SplitItem, { children: date.toLocaleTimeString() })] })));
|
47
|
+
}
|
48
|
+
exports.DateCell = DateCell;
|
49
|
+
function TextCell(props) {
|
50
|
+
var _a, _b, _c, _d, _e;
|
51
|
+
return ((0, jsx_runtime_1.jsxs)(react_core_1.Split, { children: [props.icon && ((0, jsx_runtime_1.jsx)(react_core_1.SplitItem, { children: (0, jsx_runtime_1.jsx)(IconWrapper_1.IconWrapper, __assign({ size: (_a = props.iconSize) !== null && _a !== void 0 ? _a : 'md' }, { children: props.icon })) })), props.to ? ((0, jsx_runtime_1.jsx)(react_core_1.SplitItem, { children: (0, jsx_runtime_1.jsx)(react_core_1.Tooltip, __assign({ content: (_b = props.text) !== null && _b !== void 0 ? _b : '' }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ style: {
|
52
|
+
maxWidth: 300,
|
53
|
+
whiteSpace: 'nowrap',
|
54
|
+
textOverflow: 'ellipsis',
|
55
|
+
overflow: 'hidden',
|
56
|
+
} }, { children: (0, jsx_runtime_1.jsx)(react_router_dom_1.Link, __assign({ to: props.to }, { children: (_c = props.text) !== null && _c !== void 0 ? _c : '' })) })) })) })) : props.onClick !== undefined ? ((0, jsx_runtime_1.jsx)(react_core_1.SplitItem, __assign({ onClick: props.onClick }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Button, __assign({ variant: "link", isInline: true, style: {
|
57
|
+
whiteSpace: 'nowrap',
|
58
|
+
} }, { children: props.text })) }))) : ((0, jsx_runtime_1.jsx)(react_core_1.SplitItem, __assign({ style: {
|
59
|
+
color: props.textColor ? (0, patternfly_colors_1.getPatternflyColor)(props.textColor) : undefined,
|
60
|
+
} }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Tooltip, __assign({ content: (_d = props.text) !== null && _d !== void 0 ? _d : '' }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ style: {
|
61
|
+
maxWidth: 300,
|
62
|
+
whiteSpace: 'nowrap',
|
63
|
+
textOverflow: 'ellipsis',
|
64
|
+
overflow: 'hidden',
|
65
|
+
} }, { children: (_e = props.text) !== null && _e !== void 0 ? _e : '' })) })) })))] }));
|
66
|
+
}
|
67
|
+
exports.TextCell = TextCell;
|
68
|
+
function CopyCell(props) {
|
69
|
+
if (!props.text)
|
70
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
71
|
+
return ((0, jsx_runtime_1.jsx)(react_core_1.ClipboardCopy, __assign({ hoverTip: "Copy", clickTip: "Copied", variant: "inline-compact", style: { display: 'flex', flexWrap: 'nowrap', borderRadius: 4 }, onCopy: function () {
|
72
|
+
var _a;
|
73
|
+
void navigator.clipboard.writeText((_a = props.text) !== null && _a !== void 0 ? _a : '');
|
74
|
+
} }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Truncate, { content: props.text, style: { minWidth: props.minWidth } }) })));
|
75
|
+
}
|
76
|
+
exports.CopyCell = CopyCell;
|
77
|
+
function SinceCell(props) {
|
78
|
+
var t = props.t;
|
79
|
+
t = t ? t : function (t) { return t; };
|
80
|
+
var author = props.author, onClick = props.onClick;
|
81
|
+
var _a = __read((0, react_1.useState)(null), 2), dateTime = _a[0], setDateTime = _a[1];
|
82
|
+
(0, react_1.useEffect)(function () {
|
83
|
+
if (props.value) {
|
84
|
+
setDateTime(luxon_1.DateTime.fromISO(props.value).toRelative());
|
85
|
+
}
|
86
|
+
var timeout = setInterval(function () {
|
87
|
+
if (props.value) {
|
88
|
+
setDateTime(luxon_1.DateTime.fromISO(props.value).toRelative());
|
89
|
+
}
|
90
|
+
}, 1000);
|
91
|
+
return function () { return clearTimeout(timeout); };
|
92
|
+
}, [props.value]);
|
93
|
+
if (props.value === undefined)
|
94
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
95
|
+
return ((0, jsx_runtime_1.jsxs)("span", __assign({ style: { whiteSpace: 'nowrap' } }, { children: [dateTime, author && (0, jsx_runtime_1.jsxs)("span", { children: ["\u00A0", t('by'), "\u00A0"] }), onClick ? ((0, jsx_runtime_1.jsx)(react_core_1.Button, __assign({ variant: "link", isInline: true, onClick: onClick }, { children: author }))) : ((0, jsx_runtime_1.jsx)("span", { children: author }))] })));
|
96
|
+
}
|
97
|
+
exports.SinceCell = SinceCell;
|
98
|
+
function CapacityCell(props) {
|
99
|
+
var t = (0, react_i18next_1.useTranslation)().t;
|
100
|
+
var settings = (0, Settings_1.useSettings)();
|
101
|
+
var ratio = props.used / props.capacity;
|
102
|
+
if (props.capacity === 0)
|
103
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
104
|
+
var base = ratio >= 0.8
|
105
|
+
? 'var(--pf-global--palette--red'
|
106
|
+
: ratio >= 0.5
|
107
|
+
? 'var(--pf-global--palette--gold'
|
108
|
+
: 'var(--pf-global--palette--green';
|
109
|
+
var color1 = settings.theme === 'light' ? "".concat(base, "-100)") : "".concat(base, "-600)");
|
110
|
+
var color2 = settings.theme === 'light' ? "".concat(base, "-400)") : "".concat(base, "-200)");
|
111
|
+
var borderColor = settings.theme === 'light' ? "#0002" : "#fff2";
|
112
|
+
return ((0, jsx_runtime_1.jsxs)(react_core_1.Flex, __assign({ alignItems: { default: 'alignItemsBaseline' }, spaceItems: { default: 'spaceItemsSm' } }, { children: [props.capacity > 0 && ((0, jsx_runtime_1.jsx)(react_core_1.FlexItem, { children: (0, jsx_runtime_1.jsx)("div", __assign({ style: {
|
113
|
+
width: 18,
|
114
|
+
height: 25,
|
115
|
+
background: color1,
|
116
|
+
marginBottom: -9,
|
117
|
+
paddingTop: Math.max(0, Math.min(25, (25 * (props.capacity - props.used)) / props.capacity)),
|
118
|
+
borderRadius: 2,
|
119
|
+
border: "thin solid ".concat(borderColor),
|
120
|
+
} }, { children: (0, jsx_runtime_1.jsx)("div", { style: {
|
121
|
+
width: '100%',
|
122
|
+
height: '100%',
|
123
|
+
background: color2,
|
124
|
+
borderRadius: 2,
|
125
|
+
} }) })) })), props.format ? ((0, jsx_runtime_1.jsx)(react_core_1.FlexItem, { children: props.format
|
126
|
+
.replace('{used}', props.used.toString())
|
127
|
+
.replace('{capacity}', props.capacity.toString()) })) : ((0, jsx_runtime_1.jsxs)(react_core_1.FlexItem, { children: [props.used, t(' of '), props.capacity] }))] })));
|
128
|
+
}
|
129
|
+
exports.CapacityCell = CapacityCell;
|
130
|
+
function BytesCell(props) {
|
131
|
+
var bytes = props.bytes;
|
132
|
+
if (!+bytes)
|
133
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
134
|
+
var k = 1024;
|
135
|
+
var decimals = props.decimals ? props.decimals : 0;
|
136
|
+
var dm = decimals < 0 ? 0 : decimals;
|
137
|
+
var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
138
|
+
var i = Math.floor(Math.log(bytes) / Math.log(k));
|
139
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "".concat(parseFloat((bytes / Math.pow(k, i)).toFixed(dm)), " ").concat(sizes[i]) });
|
140
|
+
}
|
141
|
+
exports.BytesCell = BytesCell;
|
@@ -0,0 +1,130 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
3
|
+
__assign = Object.assign || function(t) {
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
+
s = arguments[i];
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
+
t[p] = s[p];
|
8
|
+
}
|
9
|
+
return t;
|
10
|
+
};
|
11
|
+
return __assign.apply(this, arguments);
|
12
|
+
};
|
13
|
+
var __read = (this && this.__read) || function (o, n) {
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
15
|
+
if (!m) return o;
|
16
|
+
var i = m.call(o), r, ar = [], e;
|
17
|
+
try {
|
18
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
19
|
+
}
|
20
|
+
catch (error) { e = { error: error }; }
|
21
|
+
finally {
|
22
|
+
try {
|
23
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
24
|
+
}
|
25
|
+
finally { if (e) throw e.error; }
|
26
|
+
}
|
27
|
+
return ar;
|
28
|
+
};
|
29
|
+
var __values = (this && this.__values) || function(o) {
|
30
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
31
|
+
if (m) return m.call(o);
|
32
|
+
if (o && typeof o.length === "number") return {
|
33
|
+
next: function () {
|
34
|
+
if (o && i >= o.length) o = void 0;
|
35
|
+
return { value: o && o[i++], done: !o };
|
36
|
+
}
|
37
|
+
};
|
38
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
39
|
+
};
|
40
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
41
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
42
|
+
if (ar || !(i in from)) {
|
43
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
44
|
+
ar[i] = from[i];
|
45
|
+
}
|
46
|
+
}
|
47
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
48
|
+
};
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
50
|
+
exports.useColumnModal = void 0;
|
51
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
52
|
+
var react_core_1 = require("@patternfly/react-core");
|
53
|
+
var react_1 = require("react");
|
54
|
+
function useColumnModal(columns, t) {
|
55
|
+
t = t ? t : function (t) { return t; };
|
56
|
+
var _a = __read((0, react_1.useState)(false), 2), columnModalOpen = _a[0], setColumnModalOpen = _a[1];
|
57
|
+
var openColumnModal = (0, react_1.useCallback)(function () {
|
58
|
+
setColumnModalOpen(true);
|
59
|
+
}, []);
|
60
|
+
var _b = __read((0, react_1.useState)(function () { return columns; }), 2), managedColumns = _b[0], setManagedColumns = _b[1];
|
61
|
+
(0, react_1.useEffect)(function () {
|
62
|
+
setManagedColumns(function (managedColumns) {
|
63
|
+
return managedColumns.map(function (managedColumn) { var _a; return (_a = columns.find(function (column) { return column.header === managedColumn.header; })) !== null && _a !== void 0 ? _a : managedColumn; });
|
64
|
+
});
|
65
|
+
}, [columns]);
|
66
|
+
var onClose = (0, react_1.useCallback)(function () {
|
67
|
+
setColumnModalOpen(false);
|
68
|
+
}, []);
|
69
|
+
// const selectAllColumns = useCallback(() => {
|
70
|
+
// setManagedColumns((managedColumns) => {
|
71
|
+
// for (const column of managedColumns) {
|
72
|
+
// column.enabled = true
|
73
|
+
// }
|
74
|
+
// return [...managedColumns]
|
75
|
+
// })
|
76
|
+
// }, [])
|
77
|
+
var onDragFinish = (0, react_1.useCallback)(function (itemOrder) {
|
78
|
+
setManagedColumns(function (managedColumns) {
|
79
|
+
return itemOrder.map(function (header) {
|
80
|
+
return managedColumns.find(function (column) { return column.header === header; });
|
81
|
+
});
|
82
|
+
});
|
83
|
+
}, []);
|
84
|
+
var handleChange = (0, react_1.useCallback)(function (checked, event) {
|
85
|
+
var columnHeader = event.target.name;
|
86
|
+
if (columnHeader) {
|
87
|
+
setManagedColumns(function (managedColumns) {
|
88
|
+
var e_1, _a;
|
89
|
+
try {
|
90
|
+
for (var managedColumns_1 = __values(managedColumns), managedColumns_1_1 = managedColumns_1.next(); !managedColumns_1_1.done; managedColumns_1_1 = managedColumns_1.next()) {
|
91
|
+
var column = managedColumns_1_1.value;
|
92
|
+
if (column.header !== columnHeader)
|
93
|
+
continue;
|
94
|
+
column.enabled = checked;
|
95
|
+
}
|
96
|
+
}
|
97
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
98
|
+
finally {
|
99
|
+
try {
|
100
|
+
if (managedColumns_1_1 && !managedColumns_1_1.done && (_a = managedColumns_1.return)) _a.call(managedColumns_1);
|
101
|
+
}
|
102
|
+
finally { if (e_1) throw e_1.error; }
|
103
|
+
}
|
104
|
+
return __spreadArray([], __read(managedColumns), false);
|
105
|
+
});
|
106
|
+
}
|
107
|
+
}, []);
|
108
|
+
var columnModal = ((0, jsx_runtime_1.jsx)(react_core_1.Modal, __assign({ variant: react_core_1.ModalVariant.medium, title: "Manage columns",
|
109
|
+
// description={
|
110
|
+
// <TextContent>
|
111
|
+
// <Text component={TextVariants.p}>Selected categories will be displayed in the table.</Text>
|
112
|
+
// <Button isInline onClick={selectAllColumns} variant="link">
|
113
|
+
// Select all
|
114
|
+
// </Button>
|
115
|
+
// </TextContent>
|
116
|
+
// }
|
117
|
+
isOpen: columnModalOpen, onClose: onClose, actions: [
|
118
|
+
(0, jsx_runtime_1.jsx)(react_core_1.Button, __assign({ variant: "primary", onClick: onClose }, { children: t('Close') }), "save"),
|
119
|
+
// <Button key="cancel" variant="link" onClick={onClose}>
|
120
|
+
// Cancel
|
121
|
+
// </Button>,
|
122
|
+
] }, { children: (0, jsx_runtime_1.jsx)(react_core_1.DataList, __assign({ "aria-label": "Table column management", id: "table-column-management", isCompact: true, onDragFinish: onDragFinish, itemOrder: managedColumns.map(function (column) { return column.header; }), gridBreakpoint: "none", style: { borderTopWidth: 'thin' } }, { children: managedColumns.map(function (column) {
|
123
|
+
// if (index === 0) return <Fragment />
|
124
|
+
return ((0, jsx_runtime_1.jsx)(react_core_1.DataListItem, __assign({ id: column.header, "aria-labelledby": "table-column-management-item1", style: { borderBottomWidth: 'thin' } }, { children: (0, jsx_runtime_1.jsxs)(react_core_1.DataListItemRow, { children: [(0, jsx_runtime_1.jsxs)(react_core_1.DataListControl, { children: [(0, jsx_runtime_1.jsx)(react_core_1.DataListDragButton, { "aria-label": "Reorder", "aria-labelledby": "table-column-management-item1", "aria-describedby": "Press space or enter to begin dragging, and use the arrow keys to navigate up or down. Press enter to confirm the drag, or any other key to cancel the drag operation.", "aria-pressed": "false" }), (0, jsx_runtime_1.jsx)(react_core_1.DataListCheck, { "aria-labelledby": "table-column-management-item1", checked: column.enabled !== false, name: column.header, id: column.header, onChange: handleChange, otherControls: true })] }), (0, jsx_runtime_1.jsx)(react_core_1.DataListItemCells, { dataListCells: [
|
125
|
+
(0, jsx_runtime_1.jsx)(react_core_1.DataListCell, __assign({ id: "table-column-management-item1" }, { children: (0, jsx_runtime_1.jsx)("label", __assign({ htmlFor: column.header }, { children: column.header })) }), column.header),
|
126
|
+
] })] }) }), column.header));
|
127
|
+
}) })) })));
|
128
|
+
return { openColumnModal: openColumnModal, columnModal: columnModal, managedColumns: managedColumns };
|
129
|
+
}
|
130
|
+
exports.useColumnModal = useColumnModal;
|
@@ -0,0 +1,61 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
3
|
+
__assign = Object.assign || function(t) {
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
+
s = arguments[i];
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
+
t[p] = s[p];
|
8
|
+
}
|
9
|
+
return t;
|
10
|
+
};
|
11
|
+
return __assign.apply(this, arguments);
|
12
|
+
};
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
14
|
+
exports.PageDataList = exports.DataListPage = void 0;
|
15
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
16
|
+
var react_core_1 = require("@patternfly/react-core");
|
17
|
+
var react_icons_1 = require("@patternfly/react-icons");
|
18
|
+
var react_1 = require("react");
|
19
|
+
var Scrollable_1 = require("./components/Scrollable");
|
20
|
+
var PageBody_1 = require("./PageBody");
|
21
|
+
var PageHeader_1 = require("./PageHeader");
|
22
|
+
var PageLayout_1 = require("./PageLayout");
|
23
|
+
var PagePagination_1 = require("./PagePagination");
|
24
|
+
var PageToolbar_1 = require("./PageToolbar");
|
25
|
+
var Settings_1 = require("./Settings");
|
26
|
+
var TypedActions_1 = require("./TypedActions");
|
27
|
+
function DataListPage(props) {
|
28
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(PageLayout_1.PageLayout, { children: [(0, jsx_runtime_1.jsx)(PageHeader_1.PageHeader, __assign({}, props)), (0, jsx_runtime_1.jsx)(PageBody_1.PageBody, { children: (0, jsx_runtime_1.jsx)(PageDataList, __assign({}, props)) })] }) }));
|
29
|
+
}
|
30
|
+
exports.DataListPage = DataListPage;
|
31
|
+
function PageDataList(props) {
|
32
|
+
var pageItems = props.pageItems, selectItem = props.selectItem, unselectItem = props.unselectItem, isSelected = props.isSelected, keyFn = props.keyFn, toolbarActions = props.toolbarActions, itemCount = props.itemCount, perPage = props.perPage,
|
33
|
+
// clearAllFilters,
|
34
|
+
filters = props.filters, error = props.error, dataCells = props.dataCells;
|
35
|
+
var showSelect = (toolbarActions === null || toolbarActions === void 0 ? void 0 : toolbarActions.find(function (toolbarAction) { return TypedActions_1.TypedActionType.bulk === toolbarAction.type; })) !==
|
36
|
+
undefined;
|
37
|
+
var settings = (0, Settings_1.useSettings)();
|
38
|
+
if (error) {
|
39
|
+
return ((0, jsx_runtime_1.jsx)("div", __assign({ style: {
|
40
|
+
backgroundColor: settings.theme === 'dark' ? 'var(--pf-global--BackgroundColor--300)' : undefined,
|
41
|
+
height: '100%',
|
42
|
+
} }, { children: (0, jsx_runtime_1.jsxs)(react_core_1.EmptyState, __assign({ variant: react_core_1.EmptyStateVariant.small, style: {
|
43
|
+
paddingTop: 64,
|
44
|
+
} }, { children: [(0, jsx_runtime_1.jsx)(react_core_1.EmptyStateIcon, { icon: react_icons_1.ExclamationCircleIcon, color: "var(--pf-global--danger-color--100)" }), (0, jsx_runtime_1.jsx)(react_core_1.Title, __assign({ headingLevel: "h2", size: "lg" }, { children: props.errorStateTitle })), (0, jsx_runtime_1.jsx)(react_core_1.EmptyStateBody, { children: error.message })] })) })));
|
45
|
+
}
|
46
|
+
if (itemCount === 0 && Object.keys(filters !== null && filters !== void 0 ? filters : {}).length === 0) {
|
47
|
+
return ((0, jsx_runtime_1.jsxs)(react_core_1.EmptyState, __assign({ variant: react_core_1.EmptyStateVariant.large, style: { paddingTop: 64 } }, { children: [(0, jsx_runtime_1.jsx)(react_core_1.EmptyStateIcon, { icon: react_icons_1.PlusCircleIcon }), (0, jsx_runtime_1.jsx)(react_core_1.Title, __assign({ headingLevel: "h4", size: "lg" }, { children: props.emptyStateTitle })), props.emptyStateDescription && ((0, jsx_runtime_1.jsx)(react_core_1.EmptyStateBody, { children: props.emptyStateDescription })), props.emptyStateButtonClick && ((0, jsx_runtime_1.jsx)(react_core_1.Button, __assign({ variant: "primary", onClick: props.emptyStateButtonClick }, { children: props.emptyStateButtonText })))] })));
|
48
|
+
}
|
49
|
+
return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(PageToolbar_1.PageTableToolbar, __assign({}, props, { disableBorderBottom: true })), (0, jsx_runtime_1.jsx)(Scrollable_1.Scrollable, { children: (0, jsx_runtime_1.jsx)(react_core_1.DataList, __assign({ "aria-label": "Simple data list example" }, { children: pageItems === null || pageItems === void 0 ? void 0 : pageItems.map(function (item) { return ((0, jsx_runtime_1.jsx)(react_core_1.DataListItem, __assign({ "aria-labelledby": "simple-item1" }, { children: (0, jsx_runtime_1.jsxs)(react_core_1.DataListItemRow, { children: [showSelect && ((0, jsx_runtime_1.jsx)(react_core_1.DataListCheck, { "aria-labelledby": "check-action-item1", name: "check-action-check1", isChecked: isSelected === null || isSelected === void 0 ? void 0 : isSelected(item), onClick: function () {
|
50
|
+
if (isSelected === null || isSelected === void 0 ? void 0 : isSelected(item)) {
|
51
|
+
selectItem === null || selectItem === void 0 ? void 0 : selectItem(item);
|
52
|
+
}
|
53
|
+
else {
|
54
|
+
unselectItem === null || unselectItem === void 0 ? void 0 : unselectItem(item);
|
55
|
+
}
|
56
|
+
} })), (0, jsx_runtime_1.jsx)(react_core_1.DataListItemCells, { dataListCells: dataCells.map(function (dataCell, index) { return ((0, jsx_runtime_1.jsx)(react_core_1.DataListCell, __assign({ width: index === 0 ? 5 : 1 }, { children: (0, jsx_runtime_1.jsx)("span", __assign({ id: "simple-item1" }, { children: dataCell(item) })) }), "primary content")); }) }), props.actions && (0, jsx_runtime_1.jsx)(DataListActions, { actions: props.actions })] }) }), keyFn(item))); }) })) }), (!props.autoHidePagination || (itemCount !== null && itemCount !== void 0 ? itemCount : 0) > perPage) && (0, jsx_runtime_1.jsx)(PagePagination_1.PagePagination, __assign({}, props))] }));
|
57
|
+
}
|
58
|
+
exports.PageDataList = PageDataList;
|
59
|
+
function DataListActions(props) {
|
60
|
+
return ((0, jsx_runtime_1.jsx)(react_core_1.DataListAction, __assign({ "aria-labelledby": "check-action-item1 check-action-action1", id: "check-action-action1", "aria-label": "Actions", isPlainButtonAction: true, style: { whiteSpace: 'nowrap' } }, { children: (0, jsx_runtime_1.jsx)(TypedActions_1.TypedActions, { actions: props.actions, position: react_core_1.DropdownPosition.right }) })));
|
61
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
3
|
+
__assign = Object.assign || function(t) {
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
+
s = arguments[i];
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
+
t[p] = s[p];
|
8
|
+
}
|
9
|
+
return t;
|
10
|
+
};
|
11
|
+
return __assign.apply(this, arguments);
|
12
|
+
};
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
14
|
+
exports.usePageDialog = exports.PageDialogProvider = exports.SetDialogContext = exports.DialogContext = void 0;
|
15
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
16
|
+
var react_1 = require("react");
|
17
|
+
exports.DialogContext = (0, react_1.createContext)(undefined);
|
18
|
+
exports.SetDialogContext = (0, react_1.createContext)(function () { return null; });
|
19
|
+
var PageDialogContext = (0, react_1.createContext)([undefined, function () { return alert('Use PageDialogProvider'); }]);
|
20
|
+
function PageDialogProvider(props) {
|
21
|
+
var state = (0, react_1.useState)();
|
22
|
+
return ((0, jsx_runtime_1.jsxs)(PageDialogContext.Provider, __assign({ value: state }, { children: [state[0] !== undefined && state[0], props.children] })));
|
23
|
+
}
|
24
|
+
exports.PageDialogProvider = PageDialogProvider;
|
25
|
+
function usePageDialog() {
|
26
|
+
return (0, react_1.useContext)(PageDialogContext);
|
27
|
+
}
|
28
|
+
exports.usePageDialog = usePageDialog;
|