@openshift-assisted/ui-lib
Version:
React component library for the Assisted Installer UI
138 lines • 7.15 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReviewNetworkingTable = void 0;
const tslib_1 = require("tslib");
const react_core_1 = require("@patternfly/react-core");
const react_table_1 = require("@patternfly/react-table");
const react_1 = tslib_1.__importDefault(require("react"));
const common_1 = require("../../../../common");
const ClusterProperties_1 = require("../../clusterDetail/ClusterProperties");
const ReviewNetworkingTable = ({ cluster }) => {
const rows = react_1.default.useMemo(() => {
var _a, _b;
const networkRows = [
{
rowId: 'network-management',
cells: [
{ title: 'Networking management type' },
{
title: (0, ClusterProperties_1.getManagementType)(cluster),
props: { 'data-testid': 'networking-management-type', colSpan: 2 },
},
],
},
{
rowId: 'stack-type',
cells: [
{ title: 'Stack type', colSpan: 2 },
{
title: (0, ClusterProperties_1.getStackTypeLabel)(cluster),
props: { 'data-testid': 'stack-type', colSpan: 2 },
},
],
},
];
!!((_a = cluster.machineNetworks) === null || _a === void 0 ? void 0 : _a.length) &&
networkRows.push({
rowId: 'machine-networks-cidr',
cells: [
{ title: 'Machine networks CIDR' },
{
title: (_b = cluster.machineNetworks) === null || _b === void 0 ? void 0 : _b.map((network) => (react_1.default.createElement("span", { key: network.cidr },
network.cidr,
react_1.default.createElement("br", null)))),
props: { 'data-testid': 'machine-networks' },
},
(0, common_1.isDualStack)(cluster) ? { title: 'Primary' } : { title: '' },
],
});
cluster.apiVips &&
cluster.apiVips.length > 0 &&
networkRows.push({
rowId: 'api-ip',
cells: [
{ title: 'API IP' },
{
title: (0, common_1.selectApiVip)(cluster),
props: { 'data-testid': 'api-vip', colSpan: 2 },
},
],
});
cluster.ingressVips &&
cluster.ingressVips.length &&
networkRows.push({
rowId: 'ingress-ip',
cells: [
{ title: 'Ingress IP' },
{
title: (0, common_1.selectIngressVip)(cluster),
props: { 'data-testid': 'ingress-vip', colSpan: 2 },
},
],
});
return networkRows;
}, [cluster]);
const rowsAdvanced = react_1.default.useMemo(() => {
var _a, _b, _c;
return [
{
rowId: 'cluster-network-cidr',
cells: [
{ title: 'Cluster network CIDR' },
{
title: (_a = cluster.clusterNetworks) === null || _a === void 0 ? void 0 : _a.map((network) => (react_1.default.createElement("span", { key: network.cidr },
network.cidr,
react_1.default.createElement("br", null)))),
props: { 'data-testid': 'cluster-network-cidr' },
},
(0, common_1.isDualStack)(cluster) && { title: 'Primary' },
].filter(Boolean),
},
{
rowId: 'cluster-network-host-prefix',
cells: [
{ title: 'Cluster network host prefix' },
{
title: (_b = cluster.clusterNetworks) === null || _b === void 0 ? void 0 : _b.map((network) => (react_1.default.createElement("span", { key: network.hostPrefix },
network.hostPrefix,
react_1.default.createElement("br", null)))),
props: { 'data-testid': 'cluster-network-prefix' },
},
(0, common_1.isDualStack)(cluster) && { title: 'Primary' },
].filter(Boolean),
},
{
rowId: 'service-network-cidr',
cells: [
{ title: 'Service network CIDR' },
{
title: (_c = cluster.serviceNetworks) === null || _c === void 0 ? void 0 : _c.map((network) => (react_1.default.createElement("span", { key: network.cidr },
network.cidr,
react_1.default.createElement("br", null)))),
props: { 'data-testid': 'service-network-cidr' },
},
(0, common_1.isDualStack)(cluster) && { title: 'Primary' },
].filter(Boolean),
},
{
rowId: 'networking-type',
cells: [
{ title: 'Networking type' },
{
title: (0, ClusterProperties_1.getNetworkType)(cluster.networkType),
props: { 'data-testid': 'networking-type', colSpan: 2 },
},
],
},
];
}, [cluster]);
return (react_1.default.createElement(react_1.default.Fragment, null,
react_1.default.createElement(react_table_1.Table, { variant: react_table_1.TableVariant.compact, borders: false, className: 'review-table', "aria-label": 'Networking review table' },
react_1.default.createElement(react_table_1.Tbody, null, rows.map((row, i) => (react_1.default.createElement(react_table_1.Tr, { key: (0, common_1.genericTableRowKey)(row.rowId) }, row.cells.map((cell, j) => (react_1.default.createElement(react_table_1.Td, Object.assign({ key: `cell-${i}-${j}` }, cell.props), cell.title)))))))),
react_1.default.createElement("br", null),
react_1.default.createElement(react_core_1.Title, { className: "pf-v5-u-color-400", headingLevel: "h4" }, "Advanced networking settings"),
react_1.default.createElement(react_table_1.Table, { variant: react_table_1.TableVariant.compact, borders: false, className: 'review-table', "aria-label": 'Advanced networking review table' },
react_1.default.createElement(react_table_1.Tbody, null, rowsAdvanced.map((row, i) => (react_1.default.createElement(react_table_1.Tr, { key: (0, common_1.genericTableRowKey)(row.rowId) }, row.cells.map((cell, j) => (react_1.default.createElement(react_table_1.Td, Object.assign({ key: `cell-${i}-${j}` }, cell.props), cell.title))))))))));
};
exports.ReviewNetworkingTable = ReviewNetworkingTable;
//# sourceMappingURL=ReviewNetworkingTable.js.map
;