UNPKG

@openshift-assisted/ui-lib

Version:

React component library for the Assisted Installer UI

52 lines 3.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.networkingStatusColumn = void 0; const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); const common_1 = require("../../../../common"); const NetworkingStatus_1 = tslib_1.__importDefault(require("../../hosts/NetworkingStatus")); const use_translation_wrapper_1 = require("../../../../common/hooks/use-translation-wrapper"); const tableUtils_1 = require("../../../../common/components/hosts/tableUtils"); const usePagination_1 = require("../../../../common/components/hosts/usePagination"); const HostRowDetail_1 = require("../../../../common/components/hosts/HostRowDetail"); const HostsTable_1 = tslib_1.__importDefault(require("../../../../common/components/hosts/HostsTable")); const ClusterWizardContext_1 = require("../../clusterWizard/ClusterWizardContext"); const utils_1 = require("../../../../common/utils"); const networkingStatusColumn = (onEditHostname) => ({ header: { title: 'Status', sort: true, }, cell: (host) => { const editHostname = onEditHostname ? () => onEditHostname(host) : undefined; const validationsInfo = (0, utils_1.stringToJSON)(host.validationsInfo) || {}; return { title: (React.createElement(NetworkingStatus_1.default, { host: host, onEditHostname: editHostname, validationsInfo: validationsInfo })), props: { 'data-testid': 'host-status' }, sortableValue: status, }; }, }); exports.networkingStatusColumn = networkingStatusColumn; const NetworkConfigurationTableBase = ({ cluster, AdditionalNTPSourcesDialogToggleComponent, onEditHost, onEditRole, canEditRole, canEditHostname, actionResolver, children, onSelect, selectedIDs, }) => { const { wizardPerPage, setWizardPerPage } = (0, ClusterWizardContext_1.useClusterWizardContext)(); const { t } = (0, use_translation_wrapper_1.useTranslation)(); const content = React.useMemo(() => [ (0, tableUtils_1.hostnameColumn)(t, onEditHost, undefined, canEditHostname), (0, tableUtils_1.roleColumn)(t, canEditRole, onEditRole, (0, common_1.selectSchedulableMasters)(cluster)), (0, exports.networkingStatusColumn)(onEditHost), (0, tableUtils_1.activeNICColumn)(cluster, t), (0, tableUtils_1.ipv4Column)(cluster), (0, tableUtils_1.ipv6Column)(cluster), (0, tableUtils_1.macAddressColumn)(cluster), (0, tableUtils_1.countColumn)(cluster), ], [t, onEditHost, onEditRole, canEditHostname, canEditRole, cluster]); const hosts = cluster.hosts || []; const paginationProps = (0, usePagination_1.usePagination)(hosts.length, wizardPerPage, setWizardPerPage); const ExpandComponent = React.useCallback(({ obj }) => { return (React.createElement(HostRowDetail_1.HostDetail, { host: obj, AdditionalNTPSourcesDialogToggleComponent: AdditionalNTPSourcesDialogToggleComponent })); }, [AdditionalNTPSourcesDialogToggleComponent]); return (React.createElement(HostsTable_1.default, Object.assign({ testId: "networking-host-table", hosts: hosts, ExpandComponent: ExpandComponent, content: content, actionResolver: actionResolver, onSelect: onSelect, selectedIDs: selectedIDs }, paginationProps), children)); }; exports.default = NetworkConfigurationTableBase; //# sourceMappingURL=NetworkConfigurationTableBase.js.map