"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Overview = void 0; var _react = _interopRequireWildcard(require("react")); var _eui = require("@elastic/eui"); var _i18n = require("@kbn/i18n"); var _analytics = require("@kbn/analytics"); var _i18nReact = require("@kbn/i18n-react"); var _reactRouterDom = require("react-router-dom"); var _app_context = require("../../app_context"); var _ui_metric = require("../../lib/ui_metric"); var _backup_step = require("./backup_step"); var _fix_issues_step = require("./fix_issues_step"); var _upgrade_step = require("./upgrade_step"); var _migrate_system_indices = require("./migrate_system_indices"); var _logs_step = require("./logs_step"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ const Overview = (0, _reactRouterDom.withRouter)(({ history }) => { const { featureSet: { migrateSystemIndices }, services: { breadcrumbs, core: { docLinks } }, plugins: { cloud } } = (0, _app_context.useAppContext)(); (0, _react.useEffect)(() => { _ui_metric.uiMetricService.trackUiMetric(_analytics.METRIC_TYPE.LOADED, _ui_metric.UIM_OVERVIEW_PAGE_LOAD); }, []); (0, _react.useEffect)(() => { breadcrumbs.setBreadcrumbs('overview'); }, [breadcrumbs]); const [completedStepsMap, setCompletedStepsMap] = (0, _react.useState)({ backup: false, migrate_system_indices: false, fix_issues: false, logs: false }); const isStepComplete = step => completedStepsMap[step]; const setCompletedStep = (step, isCompleted) => { setCompletedStepsMap({ ...completedStepsMap, [step]: isCompleted }); }; return /*#__PURE__*/_react.default.createElement(_eui.EuiPageBody, { restrictWidth: true, "data-test-subj": "overview" }, /*#__PURE__*/_react.default.createElement(_eui.EuiPageContentBody_Deprecated, { color: "transparent", paddingSize: "none" }, /*#__PURE__*/_react.default.createElement(_eui.EuiPageHeader, { bottomBorder: true, pageTitle: _i18n.i18n.translate('xpack.upgradeAssistant.overview.pageTitle', { defaultMessage: 'Upgrade Assistant' }), description: _i18n.i18n.translate('xpack.upgradeAssistant.overview.pageDescription', { defaultMessage: 'Get ready for the next version of the Elastic Stack!' }), rightSideItems: [/*#__PURE__*/_react.default.createElement(_eui.EuiButtonEmpty, { href: docLinks.links.upgradeAssistant.overview, target: "_blank", iconType: "help", "data-test-subj": "documentationLink" }, /*#__PURE__*/_react.default.createElement(_i18nReact.FormattedMessage, { id: "xpack.upgradeAssistant.overview.documentationLinkText", defaultMessage: "Documentation" }))] }, /*#__PURE__*/_react.default.createElement(_eui.EuiText, null, /*#__PURE__*/_react.default.createElement(_i18nReact.FormattedMessage, { id: "xpack.upgradeAssistant.overview.checkUpcomingVersion", defaultMessage: "If you are not on the latest version of the Elastic Stack, use the Upgrade Assistant to prepare for the next upgrade." })), /*#__PURE__*/_react.default.createElement(_eui.EuiText, { "data-test-subj": "whatsNewLink" }, /*#__PURE__*/_react.default.createElement(_eui.EuiLink, { href: docLinks.links.elasticsearch.latestReleaseHighlights, target: "_blank" }, /*#__PURE__*/_react.default.createElement(_i18nReact.FormattedMessage, { id: "xpack.upgradeAssistant.overview.whatsNewLink", defaultMessage: "Check the latest release highlights" })))), /*#__PURE__*/_react.default.createElement(_eui.EuiSpacer, { size: "l" }), /*#__PURE__*/_react.default.createElement(_eui.EuiSteps, { steps: [(0, _backup_step.getBackupStep)({ cloud, isComplete: isStepComplete('backup'), setIsComplete: setCompletedStep.bind(null, 'backup') }), migrateSystemIndices && (0, _migrate_system_indices.getMigrateSystemIndicesStep)({ docLinks, isComplete: isStepComplete('migrate_system_indices'), setIsComplete: setCompletedStep.bind(null, 'migrate_system_indices') }), (0, _fix_issues_step.getFixIssuesStep)({ isComplete: isStepComplete('fix_issues'), setIsComplete: setCompletedStep.bind(null, 'fix_issues') }), (0, _logs_step.getLogsStep)({ isComplete: isStepComplete('logs'), setIsComplete: setCompletedStep.bind(null, 'logs'), navigateToEsDeprecationLogs: () => history.push('/es_deprecation_logs') }), (0, _upgrade_step.getUpgradeStep)()].filter(Boolean) }))); }); exports.Overview = Overview;