mirror of
https://github.com/elastic/kibana.git
synced 2025-06-29 03:24:45 -04:00
## Summary This PR fixes a missing `EuiProvider` within the guided onboarding example. Currently the app is barely usable as it throws hundreds or even thousands of errors which make the page extremely slow. #### Before fix https://github.com/user-attachments/assets/87b8252a-82ac-4094-8adf-3cd4c12236ef #### After fix https://github.com/user-attachments/assets/0382192b-94b7-4d4b-bada-2d438a750b14 ### Notes **_This PR does NOT fix all the console errors, that's why you see a couple of errors in the console still on the second video above. It just fixes the bare minimum to make the app at least usable._** --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
88 lines
3.1 KiB
TypeScript
Executable file
88 lines
3.1 KiB
TypeScript
Executable file
/*
|
|
* 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", the "GNU Affero General Public License v3.0 only", and the "Server Side
|
|
* Public License v 1"; you may not use this file except in compliance with, at
|
|
* your election, the "Elastic License 2.0", the "GNU Affero General Public
|
|
* License v3.0 only", or the "Server Side Public License, v 1".
|
|
*/
|
|
|
|
import React from 'react';
|
|
import { FormattedMessage } from '@kbn/i18n-react';
|
|
import { Routes, Router, Route } from '@kbn/shared-ux-router';
|
|
import { EuiPageTemplate } from '@elastic/eui';
|
|
import { CoreStart, ScopedHistory } from '@kbn/core/public';
|
|
import { GuidedOnboardingPluginStart } from '@kbn/guided-onboarding-plugin/public/types';
|
|
import { StepTwo } from './step_two';
|
|
import { StepOne } from './step_one';
|
|
import { StepThree } from './step_three';
|
|
import { StepFour } from './step_four';
|
|
import { Main } from './main';
|
|
|
|
interface GuidedOnboardingExampleAppDeps {
|
|
notifications: CoreStart['notifications'];
|
|
guidedOnboarding: GuidedOnboardingPluginStart;
|
|
history: ScopedHistory;
|
|
}
|
|
|
|
export const GuidedOnboardingExampleApp = (props: GuidedOnboardingExampleAppDeps) => {
|
|
const { notifications, guidedOnboarding, history } = props;
|
|
|
|
return (
|
|
<EuiPageTemplate restrictWidth={true} panelled={true}>
|
|
<EuiPageTemplate.Header
|
|
pageTitle={
|
|
<FormattedMessage
|
|
id="guidedOnboardingExample.title"
|
|
defaultMessage="Guided onboarding examples"
|
|
/>
|
|
}
|
|
/>
|
|
{guidedOnboarding?.guidedOnboardingApi?.isEnabled ? (
|
|
<EuiPageTemplate.Section>
|
|
<Router history={history}>
|
|
<Routes>
|
|
<Route exact path="/">
|
|
<Main notifications={notifications} guidedOnboarding={guidedOnboarding} />
|
|
</Route>
|
|
<Route exact path="/stepOne">
|
|
<StepOne guidedOnboarding={guidedOnboarding} />
|
|
</Route>
|
|
<Route exact path="/stepTwo">
|
|
<StepTwo />
|
|
</Route>
|
|
<Route exact path="/stepThree">
|
|
<StepThree guidedOnboarding={guidedOnboarding} />
|
|
</Route>
|
|
<Route path="/stepFour/:indexName?">
|
|
<StepFour guidedOnboarding={guidedOnboarding} />
|
|
</Route>
|
|
</Routes>
|
|
</Router>
|
|
</EuiPageTemplate.Section>
|
|
) : (
|
|
<EuiPageTemplate.EmptyPrompt
|
|
iconType="error"
|
|
color="danger"
|
|
title={
|
|
<h2>
|
|
<FormattedMessage
|
|
id="guidedOnboardingExample.errorTitle"
|
|
defaultMessage="Guided onboarding is disabled"
|
|
/>
|
|
</h2>
|
|
}
|
|
body={
|
|
<p>
|
|
<FormattedMessage
|
|
id="guidedOnboardingExample.errorDescription"
|
|
defaultMessage="Make sure your Kibana instance runs on Cloud and/or
|
|
your user has access to Setup guides feature."
|
|
/>
|
|
</p>
|
|
}
|
|
/>
|
|
)}
|
|
</EuiPageTemplate>
|
|
);
|
|
};
|