UNPKG

@openshift-assisted/ui-lib

Version:

React component library for the Assisted Installer UI

39 lines 3.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const react_core_1 = require("@patternfly/react-core"); const react_1 = tslib_1.__importDefault(require("react")); const common_1 = require("../../../common"); const utils_1 = require("./utils"); const ModalDialogsContext_1 = require("../hosts/ModalDialogsContext"); const utils_2 = require("../clusters/utils"); const fetchEvents_1 = require("../fetching/fetchEvents"); const ViewClusterEventsButton_1 = tslib_1.__importDefault(require("../../../common/components/ui/ViewClusterEventsButton")); const ConsoleModal_1 = require("../../../common/components/clusterDetail/ConsoleModal"); require("./ClusterDetailsButtonGroup.css"); const getID = (suffix) => `cluster-detail-${suffix}`; const ClusterDetailsButtonGroup = ({ cluster, credentials, credentialsError, showKubeConfig = true, }) => { const { addAlert, clearAlerts } = (0, common_1.useAlerts)(); const { cancelInstallationDialog, resetClusterDialog } = (0, ModalDialogsContext_1.useModalDialogsContext)(); const hasConsoleUrlAndNoError = (credentials === null || credentials === void 0 ? void 0 : credentials.consoleUrl) !== undefined && !credentialsError; return (react_1.default.createElement(react_core_1.Flex, { className: "assisted-ui-vertical-margin", spaceItems: { default: 'spaceItemsSm' }, direction: { default: 'row' }, justifyContent: { default: 'justifyContentFlexStart' } }, react_1.default.createElement(common_1.RenderIf, { condition: cluster.status === 'error' }, react_1.default.createElement(react_core_1.FlexItem, null, react_1.default.createElement(react_core_1.Button, { id: getID('button-reset-cluster'), variant: react_core_1.ButtonVariant.danger, onClick: () => resetClusterDialog.open({ cluster }) }, "Reset Cluster"))), react_1.default.createElement(common_1.RenderIf, { condition: showKubeConfig && hasConsoleUrlAndNoError && (0, common_1.canOpenConsole)(cluster.status) }, react_1.default.createElement(react_core_1.FlexItem, null, react_1.default.createElement(ConsoleModal_1.LaunchOpenshiftConsoleButton, { isDisabled: false, cluster: cluster, consoleUrl: credentials === null || credentials === void 0 ? void 0 : credentials.consoleUrl, id: getID('button-launch-console') }))), react_1.default.createElement(common_1.RenderIf, { condition: (0, utils_2.canAbortInstallation)(cluster) }, react_1.default.createElement(react_core_1.FlexItem, null, react_1.default.createElement(react_core_1.Button, { "data-testid": "cluster-installation-abort-button", variant: react_core_1.ButtonVariant.danger, onClick: () => cancelInstallationDialog.open({ clusterId: cluster.id }), isDisabled: false }, "Abort installation"))), react_1.default.createElement(react_core_1.FlexItem, null, react_1.default.createElement(common_1.KubeconfigDownload, { status: cluster.status, clusterId: cluster.id, "data-testid": getID('button-download-kubeconfig'), id: getID('button-download-kubeconfig') })), react_1.default.createElement(react_core_1.FlexItem, null, react_1.default.createElement(ViewClusterEventsButton_1.default, { cluster: cluster, onFetchEvents: fetchEvents_1.onFetchEvents })), react_1.default.createElement(react_core_1.FlexItem, null, react_1.default.createElement(react_core_1.Button, { "data-testid": "cluster-installation-logs-button", variant: react_core_1.ButtonVariant.link, onClick: () => { void (0, utils_1.downloadClusterInstallationLogs)(addAlert, cluster.id, clearAlerts); }, isDisabled: !(0, common_1.canDownloadClusterLogs)(cluster) }, "Download Installation Logs")))); }; exports.default = ClusterDetailsButtonGroup; //# sourceMappingURL=ClusterDetailsButtonGroup.js.map