@ansible/ansible-ui-framework 0.0.473 → 0.0.475
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 +18 -0
- package/cjs/PageAlertToaster.d.ts +4 -5
- package/cjs/PageAlertToaster.js +11 -1
- package/cjs/PageAlerts.d.ts +14 -0
- package/cjs/PageAlerts.js +98 -0
- package/cjs/PageDashboard/PageDashboardCard.d.ts +2 -1
- package/cjs/PageDashboard/PageDashboardCard.js +1 -1
- package/cjs/PageHeader.js +27 -18
- package/cjs/PageLayout.js +7 -6
- package/cjs/PageTable/PageTable.js +1 -1
- package/cjs/PageTable/PageTableCards.js +2 -2
- package/cjs/components/EmptyStateCustom.d.ts +7 -0
- package/cjs/components/EmptyStateCustom.js +21 -0
- package/cjs/components/EmptyStateFilter.d.ts +7 -0
- package/cjs/components/EmptyStateFilter.js +26 -0
- package/cjs/components/EmptyStateNoData.d.ts +6 -0
- package/cjs/components/EmptyStateNoData.js +11 -0
- package/cjs/components/EmptyStateUnauthorized.d.ts +6 -0
- package/cjs/components/EmptyStateUnauthorized.js +13 -0
- package/cjs/components/LoadingPage.js +12 -1
- package/cjs/components/LoadingState.d.ts +2 -0
- package/cjs/components/LoadingState.js +20 -0
- package/cjs/components/{Grid.d.ts → PageGrid.d.ts} +1 -1
- package/cjs/components/{Grid.js → PageGrid.js} +8 -11
- package/package.json +1 -1
package/README.md
CHANGED
@@ -3,3 +3,21 @@
|
|
3
3
|
A framework for building applications using [PatternFly](https://www.patternfly.org), developed by the Ansible UI developers.
|
4
4
|
|
5
5
|
[Documentation](https://github.com/ansible/ansible-ui/wiki/Ansible-UI-Framework)
|
6
|
+
|
7
|
+
####Storybook
|
8
|
+
|
9
|
+
For development you may use Storybook. It allows you to try some of the existing components and develop new ones without running the whole UI.
|
10
|
+
|
11
|
+
Install dependencies:
|
12
|
+
|
13
|
+
`npm ci`
|
14
|
+
|
15
|
+
Build Storybook:
|
16
|
+
|
17
|
+
`npm run build-storybook`
|
18
|
+
|
19
|
+
Start Storybook:
|
20
|
+
|
21
|
+
`npm run storybook`
|
22
|
+
|
23
|
+
Storybook will run at http://localhost:6006/
|
@@ -1,11 +1,10 @@
|
|
1
1
|
import { AlertProps } from '@patternfly/react-core';
|
2
2
|
import { ReactNode } from 'react';
|
3
|
-
export type AlertToasterProps = AlertProps;
|
4
3
|
export interface IPageAlertToaster {
|
5
|
-
addAlert: (alert:
|
6
|
-
removeAlert: (alert:
|
7
|
-
replaceAlert: (oldAlert:
|
8
|
-
removeAlerts: (filter?: (alert:
|
4
|
+
addAlert: (alert: AlertProps) => void;
|
5
|
+
removeAlert: (alert: AlertProps) => void;
|
6
|
+
replaceAlert: (oldAlert: AlertProps, newAlert: AlertProps) => void;
|
7
|
+
removeAlerts: (filter?: (alert: AlertProps) => boolean) => void;
|
9
8
|
}
|
10
9
|
export declare const PageAlertToasterContext: import("react").Context<IPageAlertToaster>;
|
11
10
|
export declare function usePageAlertToaster(): IPageAlertToaster;
|
package/cjs/PageAlertToaster.js
CHANGED
@@ -65,7 +65,17 @@ function PageAlertToasterProvider(props) {
|
|
65
65
|
setTimeout(function () { return removeAlert(alert); }, alert.timeout);
|
66
66
|
delete alert.timeout;
|
67
67
|
}
|
68
|
-
setToasterAlerts(function (alerts) {
|
68
|
+
setToasterAlerts(function (alerts) {
|
69
|
+
var alertIndex = alerts.findIndex(function (a) { return a === alert; });
|
70
|
+
if (alertIndex !== -1) {
|
71
|
+
var newAlerts = __spreadArray([], __read(alerts), false);
|
72
|
+
newAlerts[alertIndex] = alert;
|
73
|
+
return newAlerts;
|
74
|
+
}
|
75
|
+
else {
|
76
|
+
return __spreadArray(__spreadArray([], __read(alerts), false), [alert], false);
|
77
|
+
}
|
78
|
+
});
|
69
79
|
}
|
70
80
|
function replaceAlert(oldAlert, alert) {
|
71
81
|
setToasterAlerts(function (alerts) {
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { AlertProps } from '@patternfly/react-core';
|
2
|
+
import { ReactNode } from 'react';
|
3
|
+
export interface IPageAlerts {
|
4
|
+
addAlert: (alert: AlertProps) => void;
|
5
|
+
removeAlert: (alert: AlertProps) => void;
|
6
|
+
replaceAlert: (oldAlert: AlertProps, newAlert: AlertProps) => void;
|
7
|
+
removeAlerts: (filter?: (alert: AlertProps) => boolean) => void;
|
8
|
+
}
|
9
|
+
export declare const PageAlertsContext: import("react").Context<IPageAlerts>;
|
10
|
+
export declare const PageAlertsArrayContext: import("react").Context<AlertProps[]>;
|
11
|
+
export declare function usePageAlerts(): IPageAlerts;
|
12
|
+
export declare function PageAlertsProvider(props: {
|
13
|
+
children: ReactNode;
|
14
|
+
}): JSX.Element;
|
@@ -0,0 +1,98 @@
|
|
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
30
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
31
|
+
if (ar || !(i in from)) {
|
32
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
33
|
+
ar[i] = from[i];
|
34
|
+
}
|
35
|
+
}
|
36
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
37
|
+
};
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
39
|
+
exports.PageAlertsProvider = exports.usePageAlerts = exports.PageAlertsArrayContext = exports.PageAlertsContext = void 0;
|
40
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
41
|
+
var react_1 = require("react");
|
42
|
+
exports.PageAlertsContext = (0, react_1.createContext)({
|
43
|
+
addAlert: function () { return null; },
|
44
|
+
removeAlert: function () { return null; },
|
45
|
+
replaceAlert: function () { return null; },
|
46
|
+
removeAlerts: function () { return null; },
|
47
|
+
});
|
48
|
+
exports.PageAlertsArrayContext = (0, react_1.createContext)([]);
|
49
|
+
function usePageAlerts() {
|
50
|
+
return (0, react_1.useContext)(exports.PageAlertsContext);
|
51
|
+
}
|
52
|
+
exports.usePageAlerts = usePageAlerts;
|
53
|
+
function PageAlertsProvider(props) {
|
54
|
+
var _a = __read((0, react_1.useState)([]), 2), toasterAlerts = _a[0], setToasterAlerts = _a[1];
|
55
|
+
var _b = __read((0, react_1.useState)(function () {
|
56
|
+
function removeAlerts(filter) {
|
57
|
+
setToasterAlerts(function (alerts) { return (filter ? alerts.filter(filter) : []); });
|
58
|
+
}
|
59
|
+
function removeAlert(alert) {
|
60
|
+
setToasterAlerts(function (alerts) { return alerts.filter(function (a) { return a !== alert; }); });
|
61
|
+
}
|
62
|
+
function addAlert(alert) {
|
63
|
+
if (Number.isInteger(alert.timeout)) {
|
64
|
+
setTimeout(function () { return removeAlert(alert); }, alert.timeout);
|
65
|
+
delete alert.timeout;
|
66
|
+
}
|
67
|
+
setToasterAlerts(function (alerts) {
|
68
|
+
var alertIndex = alerts.findIndex(function (a) { return a === alert; });
|
69
|
+
if (alertIndex !== -1) {
|
70
|
+
var newAlerts = __spreadArray([], __read(alerts), false);
|
71
|
+
newAlerts[alertIndex] = alert;
|
72
|
+
return newAlerts;
|
73
|
+
}
|
74
|
+
else {
|
75
|
+
return __spreadArray(__spreadArray([], __read(alerts), false), [alert], false);
|
76
|
+
}
|
77
|
+
});
|
78
|
+
}
|
79
|
+
function replaceAlert(oldAlert, alert) {
|
80
|
+
setToasterAlerts(function (alerts) {
|
81
|
+
var oldAlertIndex = alerts.findIndex(function (a) { return a === oldAlert; });
|
82
|
+
if (oldAlertIndex !== -1) {
|
83
|
+
if (Number.isInteger(alert.timeout)) {
|
84
|
+
setTimeout(function () { return removeAlert(alert); }, alert.timeout);
|
85
|
+
delete alert.timeout;
|
86
|
+
}
|
87
|
+
var newAlerts = __spreadArray([], __read(alerts), false);
|
88
|
+
newAlerts[oldAlertIndex] = alert;
|
89
|
+
return newAlerts;
|
90
|
+
}
|
91
|
+
return alerts;
|
92
|
+
});
|
93
|
+
}
|
94
|
+
return { addAlert: addAlert, removeAlert: removeAlert, removeAlerts: removeAlerts, replaceAlert: replaceAlert };
|
95
|
+
}), 1), pageAlerts = _b[0];
|
96
|
+
return ((0, jsx_runtime_1.jsx)(exports.PageAlertsContext.Provider, __assign({ value: pageAlerts }, { children: (0, jsx_runtime_1.jsx)(exports.PageAlertsArrayContext.Provider, __assign({ value: toasterAlerts }, { children: props.children })) })));
|
97
|
+
}
|
98
|
+
exports.PageAlertsProvider = PageAlertsProvider;
|
@@ -17,6 +17,6 @@ var react_core_1 = require("@patternfly/react-core");
|
|
17
17
|
var usePageNavigate_1 = require("../components/usePageNavigate");
|
18
18
|
function PageDashboardCard(props) {
|
19
19
|
var history = (0, usePageNavigate_1.usePageNavigate)();
|
20
|
-
return ((0, jsx_runtime_1.jsx)(react_core_1.Card, __assign({ isFlat: true, isSelectable:
|
20
|
+
return ((0, jsx_runtime_1.jsx)(react_core_1.Card, __assign({ isFlat: true, isSelectable: !!props.to, isRounded: true, style: __assign({ transition: 'box-shadow 0.25s' }, props.style), onClick: function () { return props.to && history(props.to); } }, { children: props.children })));
|
21
21
|
}
|
22
22
|
exports.PageDashboardCard = PageDashboardCard;
|
package/cjs/PageHeader.js
CHANGED
@@ -12,17 +12,19 @@ var __assign = (this && this.__assign) || function () {
|
|
12
12
|
};
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
14
14
|
exports.PageHeader = void 0;
|
15
|
+
var react_1 = require("react");
|
15
16
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
16
17
|
var react_core_1 = require("@patternfly/react-core");
|
17
18
|
var react_icons_1 = require("@patternfly/react-icons");
|
18
|
-
var
|
19
|
+
var react_2 = require("react");
|
19
20
|
var useBreakPoint_1 = require("./components/useBreakPoint");
|
20
21
|
var usePageNavigate_1 = require("./components/usePageNavigate");
|
22
|
+
var PageAlerts_1 = require("./PageAlerts");
|
21
23
|
var Settings_1 = require("./Settings");
|
22
24
|
function Breadcrumbs(props) {
|
23
25
|
var navigate = (0, usePageNavigate_1.usePageNavigate)();
|
24
26
|
if (!props.breadcrumbs)
|
25
|
-
return (0, jsx_runtime_1.jsx)(
|
27
|
+
return (0, jsx_runtime_1.jsx)(react_2.Fragment, {});
|
26
28
|
return ((0, jsx_runtime_1.jsx)(react_core_1.Breadcrumb, __assign({ style: props.style }, { children: props.breadcrumbs.map(function (breadcrumb) {
|
27
29
|
var _a;
|
28
30
|
if (!breadcrumb.label)
|
@@ -74,21 +76,28 @@ function PageHeader(props) {
|
|
74
76
|
? 'thin solid var(--pf-global--BorderColor--100)'
|
75
77
|
: undefined,
|
76
78
|
backgroundColor: 'var(--pf-global--BackgroundColor--100)',
|
77
|
-
} }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Flex, __assign({ direction: { default: 'row' }, flexWrap: { default: 'nowrap' }, style: { maxWidth: '100%' } }, { children: (0, jsx_runtime_1.jsx)(react_core_1.PageNavigation, __assign({ style: { paddingTop: 0, flexShrink: 1, flexGrow: 1 } }, { children: navigation })) })) }))), true && ((0, jsx_runtime_1.jsx)(react_core_1.PageSection, __assign({ variant: react_core_1.PageSectionVariants.light, style: {
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
79
|
+
} }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Flex, __assign({ direction: { default: 'row' }, flexWrap: { default: 'nowrap' }, style: { maxWidth: '100%' } }, { children: (0, jsx_runtime_1.jsx)(react_core_1.PageNavigation, __assign({ style: { paddingTop: 0, flexShrink: 1, flexGrow: 1 } }, { children: navigation })) })) }))), true && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_core_1.PageSection, __assign({ variant: react_core_1.PageSectionVariants.light, style: {
|
80
|
+
paddingTop: breadcrumbs ? (xl ? 16 : 12) : xl ? 16 : 12,
|
81
|
+
paddingBottom: xl ? 16 : 12,
|
82
|
+
borderTop: !navigation && settings.theme !== 'light' && settings.borders
|
83
|
+
? 'thin solid var(--pf-global--BorderColor--100)'
|
84
|
+
: undefined,
|
85
|
+
borderBottom: !props.disableBorderBottom && settings.borders
|
86
|
+
? 'thin solid var(--pf-global--BorderColor--100)'
|
87
|
+
: undefined,
|
88
|
+
backgroundColor: settings.theme !== 'light' ? 'var(--pf-global--BackgroundColor--300)' : undefined,
|
89
|
+
} }, { children: (0, jsx_runtime_1.jsxs)(react_core_1.Flex, __assign({ flexWrap: { default: 'nowrap' }, alignItems: { default: 'alignItemsStretch' } }, { children: [(0, jsx_runtime_1.jsxs)(react_core_1.FlexItem, __assign({ grow: { default: 'grow' } }, { children: [breadcrumbs && ((0, jsx_runtime_1.jsx)(Breadcrumbs, { breadcrumbs: breadcrumbs, style: { paddingBottom: lg ? 6 : 4 } })), title ? (props.titleHelp ? ((0, jsx_runtime_1.jsx)(react_core_1.Popover, __assign({ headerContent: props.titleHelpTitle, bodyContent: (0, jsx_runtime_1.jsxs)(react_core_1.Stack, __assign({ hasGutter: true }, { children: [typeof props.titleHelp === 'string' ? ((0, jsx_runtime_1.jsx)(react_core_1.StackItem, { children: props.titleHelp })) : (props.titleHelp.map(function (help, index) { return ((0, jsx_runtime_1.jsx)(react_core_1.StackItem, { children: help }, index)); })), props.titleDocLink && ((0, jsx_runtime_1.jsx)(react_core_1.StackItem, { children: (0, jsx_runtime_1.jsx)(react_core_1.Button, __assign({ icon: (0, jsx_runtime_1.jsx)(react_icons_1.ExternalLinkAltIcon, {}), variant: "link", onClick: function () { return window.open(props.titleDocLink, '_blank'); }, isInline: true }, { children: t('Documentation') })) }))] })), position: "bottom-start", removeFindDomNode: true }, { children: (0, jsx_runtime_1.jsxs)(react_core_1.Title, __assign({ headingLevel: "h1" }, { children: [title, (0, jsx_runtime_1.jsx)(react_core_1.Button, __assign({ variant: "link", style: {
|
90
|
+
padding: 0,
|
91
|
+
marginTop: 1,
|
92
|
+
marginLeft: 8,
|
93
|
+
verticalAlign: 'top',
|
94
|
+
} }, { children: (0, jsx_runtime_1.jsx)(react_icons_1.OutlinedQuestionCircleIcon, {}) }))] })) }))) : ((0, jsx_runtime_1.jsx)(react_core_1.Title, __assign({ headingLevel: "h1" }, { children: title })))) : ((0, jsx_runtime_1.jsx)(react_core_1.Title, __assign({ headingLevel: "h1" }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Skeleton, { width: "160px" }) }))), isMdOrLarger && description && ((0, jsx_runtime_1.jsx)(react_core_1.Text, __assign({ component: "p", style: { paddingTop: xl ? 4 : 2, opacity: 0.8 } }, { children: typeof description === 'string' ? ((0, jsx_runtime_1.jsx)(react_core_1.Truncate, { content: description })) : ((0, jsx_runtime_1.jsx)(react_core_1.Stack, { children: description.map(function (d) { return ((0, jsx_runtime_1.jsx)(react_core_1.StackItem, { children: d }, d)); }) })) })))] })), title && (headerActions || controls) && ((0, jsx_runtime_1.jsxs)(react_core_1.Flex, __assign({ direction: { default: 'column' }, spaceItems: { default: 'spaceItemsSm', xl: 'spaceItemsMd' }, justifyContent: { default: 'justifyContentCenter' } }, { children: [controls && (0, jsx_runtime_1.jsx)(react_core_1.FlexItem, __assign({ grow: { default: 'grow' } }, { children: controls })), headerActions && (0, jsx_runtime_1.jsx)(react_core_1.FlexItem, { children: headerActions })] })))] })) })), (0, jsx_runtime_1.jsx)(PageAlerts_1.PageAlertsContext.Consumer, { children: function (pageAlerts) { return ((0, jsx_runtime_1.jsx)(PageAlerts_1.PageAlertsArrayContext.Consumer, { children: function (pageAlertsArray) {
|
95
|
+
if (pageAlertsArray.length === 0)
|
96
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
97
|
+
return ((0, jsx_runtime_1.jsx)("div", __assign({ style: { borderBottom: 'thin solid rgba(0, 0, 0, 0.12)' } }, { children: pageAlertsArray.map(function (alertProps, index) {
|
98
|
+
var _a, _b;
|
99
|
+
return ((0, react_1.createElement)(react_core_1.Alert, __assign({}, alertProps, { key: (_b = (_a = alertProps.key) !== null && _a !== void 0 ? _a : alertProps.id) !== null && _b !== void 0 ? _b : index, actionClose: (0, jsx_runtime_1.jsx)(react_core_1.AlertActionCloseButton, { onClose: function () { return pageAlerts.removeAlert(alertProps); } }), isInline: true, isExpandable: !!alertProps.children })));
|
100
|
+
}) })));
|
101
|
+
} })); } })] }))] }));
|
93
102
|
}
|
94
103
|
exports.PageHeader = PageHeader;
|
package/cjs/PageLayout.js
CHANGED
@@ -33,6 +33,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
33
|
exports.PageLayout = void 0;
|
34
34
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
35
35
|
var ErrorBoundary_1 = __importDefault(require("./components/ErrorBoundary"));
|
36
|
+
var PageAlerts_1 = require("./PageAlerts");
|
36
37
|
var useFrameworkTranslations_1 = require("./useFrameworkTranslations");
|
37
38
|
/**
|
38
39
|
* The PageLayout is used as the container for the contents of the page.
|
@@ -49,11 +50,11 @@ var useFrameworkTranslations_1 = require("./useFrameworkTranslations");
|
|
49
50
|
*/
|
50
51
|
function PageLayout(props) {
|
51
52
|
var _a = __read((0, useFrameworkTranslations_1.useFrameworkTranslations)(), 1), translations = _a[0];
|
52
|
-
return ((0, jsx_runtime_1.jsx)(ErrorBoundary_1.default, __assign({ message: translations.errorText }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ style: {
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
53
|
+
return ((0, jsx_runtime_1.jsx)(ErrorBoundary_1.default, __assign({ message: translations.errorText }, { children: (0, jsx_runtime_1.jsx)(PageAlerts_1.PageAlertsProvider, { children: (0, jsx_runtime_1.jsx)("div", __assign({ style: {
|
54
|
+
display: 'flex',
|
55
|
+
flexDirection: 'column',
|
56
|
+
height: '100%',
|
57
|
+
maxHeight: '100%',
|
58
|
+
} }, { children: props.children })) }) })));
|
58
59
|
}
|
59
60
|
exports.PageLayout = PageLayout;
|
@@ -166,7 +166,7 @@ function TableHead(props) {
|
|
166
166
|
};
|
167
167
|
}, [setSort, setSortDirection, sort, sortDirection]);
|
168
168
|
return ((0, jsx_runtime_1.jsx)(react_table_1.Thead, { children: (0, jsx_runtime_1.jsxs)(react_table_1.Tr, __assign({ style: {
|
169
|
-
backgroundColor: settings.theme === 'dark' ? 'var(--pf-global--BackgroundColor--300)' :
|
169
|
+
backgroundColor: settings.theme === 'dark' ? 'var(--pf-global--BackgroundColor--300)' : 'white',
|
170
170
|
} }, { children: [expandedRow && (0, jsx_runtime_1.jsx)(react_table_1.Th, { style: { padding: 0, backgroundColor: 'inherit' } }), (showSelect || onSelect) && ((0, jsx_runtime_1.jsx)(react_table_1.Th, __assign({ isStickyColumn: true, stickyMinWidth: "0px", hasRightBorder: props.scrollLeft, style: { backgroundColor: 'inherit' } }, { children: "\u00A0" }))), columns
|
171
171
|
.filter(function (column) { return column.enabled !== false; })
|
172
172
|
.map(function (column, index) {
|
@@ -15,13 +15,13 @@ exports.PageTableCards = void 0;
|
|
15
15
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
16
16
|
var react_core_1 = require("@patternfly/react-core");
|
17
17
|
var react_1 = require("react");
|
18
|
-
var
|
18
|
+
var PageGrid_1 = require("../components/PageGrid");
|
19
19
|
var PageTableCard_1 = require("./PageTableCard");
|
20
20
|
function PageTableCards(props) {
|
21
21
|
var keyFn = props.keyFn, items = props.pageItems, tableColumns = props.tableColumns, isSelected = props.isSelected, selectItem = props.selectItem, unselectItem = props.unselectItem, rowActions = props.rowActions, showSelect = props.showSelect, defaultCardSubtitle = props.defaultSubtitle;
|
22
22
|
var itemToCardFn = (0, PageTableCard_1.useColumnsToTableCardFn)(tableColumns, keyFn);
|
23
23
|
var catalogCards = (0, react_1.useMemo)(function () {
|
24
|
-
return ((0, jsx_runtime_1.jsx)(
|
24
|
+
return ((0, jsx_runtime_1.jsx)(PageGrid_1.PageGrid, __assign({ size: 400 }, { children: items === null || items === void 0 ? void 0 : items.map(function (item) { return ((0, jsx_runtime_1.jsx)(PageTableCard_1.PageTableCard, { item: item, itemToCardFn: itemToCardFn, isSelected: isSelected, selectItem: selectItem, unselectItem: unselectItem, itemActions: rowActions, showSelect: showSelect, defaultCardSubtitle: defaultCardSubtitle }, keyFn(item))); }) })));
|
25
25
|
}, [
|
26
26
|
items,
|
27
27
|
keyFn,
|
@@ -0,0 +1,21 @@
|
|
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.EmptyStateCustom = void 0;
|
15
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
16
|
+
var react_core_1 = require("@patternfly/react-core");
|
17
|
+
function EmptyStateCustom(props) {
|
18
|
+
var title = props.title, description = props.description, icon = props.icon, button = props.button;
|
19
|
+
return ((0, jsx_runtime_1.jsxs)(react_core_1.EmptyState, __assign({ variant: react_core_1.EmptyStateVariant.small }, { children: [icon && (0, jsx_runtime_1.jsx)(react_core_1.EmptyStateIcon, { icon: icon }), (0, jsx_runtime_1.jsx)(react_core_1.Title, __assign({ headingLevel: "h4", size: "lg" }, { children: title })), (0, jsx_runtime_1.jsx)(react_core_1.EmptyStateBody, { children: description }), button && (0, jsx_runtime_1.jsx)(react_core_1.EmptyStatePrimary, { children: button })] })));
|
20
|
+
}
|
21
|
+
exports.EmptyStateCustom = EmptyStateCustom;
|
@@ -0,0 +1,26 @@
|
|
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.EmptyStateFilter = 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 EmptyStateCustom_1 = require("./EmptyStateCustom");
|
19
|
+
function EmptyStateFilter(props) {
|
20
|
+
var button = props.button, clearAllFilters = props.clearAllFilters, description = props.description, title = props.title;
|
21
|
+
var defaultButton = 'Clear all filters';
|
22
|
+
var defaultDescription = 'No results match the filter criteria. Try changing your filter settings.';
|
23
|
+
var defaultTitle = 'No results found';
|
24
|
+
return ((0, jsx_runtime_1.jsx)(EmptyStateCustom_1.EmptyStateCustom, { title: title || defaultTitle, description: description || defaultDescription, icon: react_icons_1.SearchIcon, button: clearAllFilters ? ((0, jsx_runtime_1.jsx)(react_core_1.Button, __assign({ onClick: clearAllFilters, variant: "link" }, { children: button || defaultButton }))) : undefined }));
|
25
|
+
}
|
26
|
+
exports.EmptyStateFilter = EmptyStateFilter;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.EmptyStateNoData = void 0;
|
4
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
5
|
+
var react_icons_1 = require("@patternfly/react-icons");
|
6
|
+
var EmptyStateCustom_1 = require("./EmptyStateCustom");
|
7
|
+
function EmptyStateNoData(props) {
|
8
|
+
var button = props.button, description = props.description, title = props.title;
|
9
|
+
return ((0, jsx_runtime_1.jsx)(EmptyStateCustom_1.EmptyStateCustom, { icon: button ? react_icons_1.PlusCircleIcon : react_icons_1.CubesIcon, title: title, description: description, button: button }));
|
10
|
+
}
|
11
|
+
exports.EmptyStateNoData = EmptyStateNoData;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.EmptyStateUnauthorized = void 0;
|
4
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
5
|
+
var react_icons_1 = require("@patternfly/react-icons");
|
6
|
+
var EmptyStateCustom_1 = require("./EmptyStateCustom");
|
7
|
+
function EmptyStateUnauthorized(props) {
|
8
|
+
var defaultAdminMessage = 'Contact your organization administrator for more information.';
|
9
|
+
var defaultTitle = 'You do not have access';
|
10
|
+
var adminMessage = props.adminMessage, loginLink = props.loginLink, title = props.title;
|
11
|
+
return ((0, jsx_runtime_1.jsx)(EmptyStateCustom_1.EmptyStateCustom, { icon: react_icons_1.LockIcon, title: title || defaultTitle, description: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [adminMessage || defaultAdminMessage, (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), loginLink] }) }));
|
12
|
+
}
|
13
|
+
exports.EmptyStateUnauthorized = EmptyStateUnauthorized;
|
@@ -1,4 +1,15 @@
|
|
1
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
|
+
};
|
2
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
14
|
exports.LoadingPage = void 0;
|
4
15
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
@@ -9,6 +20,6 @@ function LoadingPage(props) {
|
|
9
20
|
var _a;
|
10
21
|
return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(PageHeader_1.PageHeader, { breadcrumbs: props.breadcrumbs, title: (_a = props.title) !== null && _a !== void 0 ? _a : ((0, jsx_runtime_1.jsx)(react_core_1.Skeleton, { width: "200px" })) }), (0, jsx_runtime_1.jsx)(react_core_1.PageSection
|
11
22
|
// variant={theme === ThemeE.Dark ? undefined : 'light'}
|
12
|
-
, {})] }));
|
23
|
+
, { children: (0, jsx_runtime_1.jsx)(react_core_1.Bullseye, __assign({ style: { paddingTop: 32 } }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Spinner, {}) })) })] }));
|
13
24
|
}
|
14
25
|
exports.LoadingPage = LoadingPage;
|
@@ -0,0 +1,20 @@
|
|
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.LoadingState = void 0;
|
15
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
16
|
+
var react_core_1 = require("@patternfly/react-core");
|
17
|
+
function LoadingState() {
|
18
|
+
return ((0, jsx_runtime_1.jsx)(react_core_1.PageSection, __assign({ isFilled: true, variant: "light" }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Bullseye, { children: (0, jsx_runtime_1.jsx)(react_core_1.Spinner, {}) }) })));
|
19
|
+
}
|
20
|
+
exports.LoadingState = LoadingState;
|
@@ -30,12 +30,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
30
30
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
31
31
|
};
|
32
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
33
|
-
exports.
|
33
|
+
exports.PageGrid = void 0;
|
34
34
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
35
35
|
var resize_observer_1 = __importDefault(require("@react-hook/resize-observer"));
|
36
36
|
var react_1 = require("react");
|
37
|
-
|
38
|
-
function Grid(props) {
|
37
|
+
function PageGrid(props) {
|
39
38
|
var _a;
|
40
39
|
var size = (_a = props.size) !== null && _a !== void 0 ? _a : 350;
|
41
40
|
var target = (0, react_1.useRef)(null);
|
@@ -52,13 +51,11 @@ function Grid(props) {
|
|
52
51
|
var _a, _b;
|
53
52
|
resize((_b = (_a = target.current) === null || _a === void 0 ? void 0 : _a.clientWidth) !== null && _b !== void 0 ? _b : 0);
|
54
53
|
}, [resize]);
|
55
|
-
|
56
|
-
|
57
|
-
var gap =
|
58
|
-
if (isMd)
|
59
|
-
|
60
|
-
if (isXS)
|
61
|
-
gap = 8;
|
54
|
+
// const isMd = !useBreakpoint('lg');
|
55
|
+
// const isXS = !useBreakpoint('xs');
|
56
|
+
var gap = 16;
|
57
|
+
// if (isMd) gap = 16;
|
58
|
+
// if (isXS) gap = 8;
|
62
59
|
return ((0, jsx_runtime_1.jsx)("div", __assign({ ref: target, style: { display: 'grid', gridAutoRows: '1fr', gridTemplateColumns: gridTemplateColumns, gap: gap } }, { children: props.children })));
|
63
60
|
}
|
64
|
-
exports.
|
61
|
+
exports.PageGrid = PageGrid;
|