@openshift-assisted/ui-lib
Version:
React component library for the Assisted Installer UI
53 lines • 3.58 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getClusterStatusText = exports.ClusterStatusIcon = void 0;
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const global_success_color_100_1 = require("@patternfly/react-tokens/dist/js/global_success_color_100");
const exclamation_circle_icon_1 = require("@patternfly/react-icons/dist/js/icons/exclamation-circle-icon");
const exclamation_triangle_icon_1 = require("@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon");
const file_alt_icon_1 = require("@patternfly/react-icons/dist/js/icons/file-alt-icon");
const check_circle_icon_1 = require("@patternfly/react-icons/dist/js/icons/check-circle-icon");
const in_progress_icon_1 = require("@patternfly/react-icons/dist/js/icons/in-progress-icon");
const ban_icon_1 = require("@patternfly/react-icons/dist/js/icons/ban-icon");
const common_1 = require("../../../common");
const use_translation_wrapper_1 = require("../../../common/hooks/use-translation-wrapper");
const ClusterStatusIcon = (_a) => {
var { status } = _a, extraProps = tslib_1.__rest(_a, ["status"]);
switch (status) {
case 'cancelled':
return react_1.default.createElement(common_1.UiIcon, { size: "sm", icon: react_1.default.createElement(ban_icon_1.BanIcon, Object.assign({}, extraProps)) });
case 'insufficient':
case 'pending-for-input':
case 'ready':
return react_1.default.createElement(common_1.UiIcon, { size: "sm", icon: react_1.default.createElement(file_alt_icon_1.FileAltIcon, Object.assign({}, extraProps)) });
case 'error':
return react_1.default.createElement(common_1.UiIcon, { size: "sm", status: "danger", icon: react_1.default.createElement(exclamation_circle_icon_1.ExclamationCircleIcon, Object.assign({}, extraProps)) });
case 'installed':
return react_1.default.createElement(common_1.UiIcon, { size: "sm", icon: react_1.default.createElement(check_circle_icon_1.CheckCircleIcon, Object.assign({ color: global_success_color_100_1.global_success_color_100.value }, extraProps)) });
case 'installing-pending-user-action':
return (react_1.default.createElement(common_1.UiIcon, { size: "sm", status: "warning", icon: react_1.default.createElement(exclamation_triangle_icon_1.ExclamationTriangleIcon, Object.assign({}, extraProps)) }));
case 'preparing-for-installation':
case 'installing':
case 'finalizing':
case 'adding-hosts':
return react_1.default.createElement(common_1.UiIcon, { size: "sm", icon: react_1.default.createElement(in_progress_icon_1.InProgressIcon, Object.assign({}, extraProps)) });
default:
return react_1.default.createElement(react_1.default.Fragment, null);
}
};
exports.ClusterStatusIcon = ClusterStatusIcon;
const getClusterStatusText = (t, status) => {
return (0, common_1.clusterStatusLabels)(t)[status] || status;
};
exports.getClusterStatusText = getClusterStatusText;
const ClusterStatus = ({ status, testId, className, }) => {
const { t } = (0, use_translation_wrapper_1.useTranslation)();
const title = (0, exports.getClusterStatusText)(t, status);
return (react_1.default.createElement(react_1.default.Fragment, null,
react_1.default.createElement(exports.ClusterStatusIcon, { status: status, "data-testid": testId, className: className }),
" ",
title));
};
exports.default = ClusterStatus;
//# sourceMappingURL=ClusterStatus.js.map