UNPKG

@openshift-assisted/ui-lib

Version:

React component library for the Assisted Installer UI

46 lines 2.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const react_1 = tslib_1.__importDefault(require("react")); const react_core_1 = require("@patternfly/react-core"); const constants_1 = require("./constants"); const Day2WizardContext_1 = require("./Day2WizardContext"); const wizardTransition_1 = require("../../clusterWizard/wizardTransition"); const Day2WizardNav = () => { const wizardContext = (0, Day2WizardContext_1.useDay2WizardContext)(); const isStepIdxAfterCurrent = (idx) => { return !wizardContext.wizardStepIds.slice(idx).includes(wizardContext.currentStepId); }; const isStepDisabled = (idx, stepId) => { return stepId === 'cluster-details' ? false : isStepIdxAfterCurrent(idx); }; const getNavItem = (idx, stepId) => { return (react_1.default.createElement(react_core_1.WizardNavItem, { stepIndex: idx, key: stepId, content: constants_1.day2WizardStepNames[stepId], onClick: () => wizardContext.setCurrentStepId(stepId), isCurrent: wizardContext.currentStepId === stepId, isDisabled: isStepDisabled(idx, stepId) })); }; const getStaticIpFormViewNavItem = (idx) => { return (react_1.default.createElement(react_core_1.WizardNavItem, { stepIndex: idx, isExpandable: true, content: "Static network configurations", key: "static-network-configuration-form-view", isCurrent: (0, wizardTransition_1.isStaticIpStep)(wizardContext.currentStepId), isDisabled: isStepIdxAfterCurrent(idx) }, react_1.default.createElement(react_core_1.WizardNav, { isInnerList: true }, constants_1.staticIpFormViewSubSteps.map((stepId, subIdx) => { return getNavItem(idx + subIdx, stepId); })))); }; const getWizardNavItems = () => { const navItems = []; let i = 0; while (i < wizardContext.wizardStepIds.length) { const stepId = wizardContext.wizardStepIds[i]; if (stepId === 'static-ip-network-wide-configurations') { navItems.push(getStaticIpFormViewNavItem(i)); //skip iteration on form view sub steps i += 2; } else { navItems.push(getNavItem(i, stepId)); i += 1; } } return navItems; }; return react_1.default.createElement(react_core_1.WizardNav, null, getWizardNavItems()); }; exports.default = Day2WizardNav; //# sourceMappingURL=Day2WizardNav.js.map