Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion x-pack/plugins/observability/kibana.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@
"embeddable",
"kibanaReact",
"kibanaUtils",
"lens"
"lens",
"usageCollection"
],
"extraPublicDirs": [
"common"
Expand Down
58 changes: 32 additions & 26 deletions x-pack/plugins/observability/public/application/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -76,35 +76,41 @@ export const renderApp = ({

// ensure all divs are .kbnAppWrappers
element.classList.add(APP_WRAPPER_CLASS);
const ApplicationUsageTrackingProvider =
plugins.usageCollection?.components.ApplicationUsageTrackingProvider ?? React.Fragment;

ReactDOM.render(
<KibanaThemeProvider theme$={theme$}>
<KibanaContextProvider services={{ ...core, ...plugins, storage: new Storage(localStorage) }}>
<PluginContext.Provider
value={{
appMountParameters,
config,
observabilityRuleTypeRegistry,
ObservabilityPageTemplate,
kibanaFeatures,
}}
<ApplicationUsageTrackingProvider>
<KibanaThemeProvider theme$={theme$}>
<KibanaContextProvider
services={{ ...core, ...plugins, storage: new Storage(localStorage) }}
>
<Router history={history}>
<EuiThemeProvider darkMode={isDarkMode}>
<i18nCore.Context>
<RedirectAppLinks application={core.application} className={APP_WRAPPER_CLASS}>
<DatePickerContextProvider>
<HasDataContextProvider>
<App />
</HasDataContextProvider>
</DatePickerContextProvider>
</RedirectAppLinks>
</i18nCore.Context>
</EuiThemeProvider>
</Router>
</PluginContext.Provider>
</KibanaContextProvider>
</KibanaThemeProvider>,
<PluginContext.Provider
value={{
appMountParameters,
config,
observabilityRuleTypeRegistry,
ObservabilityPageTemplate,
kibanaFeatures,
}}
>
<Router history={history}>
<EuiThemeProvider darkMode={isDarkMode}>
<i18nCore.Context>
<RedirectAppLinks application={core.application} className={APP_WRAPPER_CLASS}>
<DatePickerContextProvider>
<HasDataContextProvider>
<App />
</HasDataContextProvider>
</DatePickerContextProvider>
</RedirectAppLinks>
</i18nCore.Context>
</EuiThemeProvider>
</Router>
</PluginContext.Provider>
</KibanaContextProvider>
</KibanaThemeProvider>
</ApplicationUsageTrackingProvider>,
element
);
return () => {
Expand Down
6 changes: 6 additions & 0 deletions x-pack/plugins/observability/public/config/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,9 @@

export { paths } from './paths';
export { translations } from './translations';

export enum AlertingPages {
alerts = 'alerts',
case = 'cases',
rules = 'rules',
}
1 change: 1 addition & 0 deletions x-pack/plugins/observability/public/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ export interface ObservabilityPublicPluginsSetup {
}

export interface ObservabilityPublicPluginsStart {
usageCollection: any;
Comment thread
mgiota marked this conversation as resolved.
Outdated
cases: CasesUiStart;
embeddable: EmbeddableStart;
home?: HomePublicPluginStart;
Expand Down
8 changes: 7 additions & 1 deletion x-pack/plugins/observability/public/routes/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

import * as t from 'io-ts';
import React from 'react';
import { TrackApplicationView } from '@kbn/usage-collection-plugin/public';
import { casesPath } from '../../common';
import { CasesPage } from '../pages/cases';
import { AlertsPage } from '../pages/alerts/containers/alerts_page';
Expand All @@ -16,6 +17,7 @@ import { OverviewPage } from '../pages/overview';
import { jsonRt } from './json_rt';
import { ObservabilityExploratoryView } from '../components/shared/exploratory_view/obsv_exploratory_view';
import { RulesPage } from '../pages/rules';
import { AlertingPages } from '../config';

export type RouteParams<T extends keyof typeof routes> = DecodeParams<typeof routes[T]['params']>;

Expand Down Expand Up @@ -67,7 +69,11 @@ export const routes = {
},
'/alerts': {
handler: () => {
return <AlertsPage />;
return (
<TrackApplicationView viewId={AlertingPages.alerts}>
<AlertsPage />
</TrackApplicationView>
);
},
params: {
// Technically gets a '_a' param by using Kibana URL state sync helpers
Expand Down