mirror of
https://github.com/elastic/kibana.git
synced 2025-04-25 02:09:32 -04:00
Updates files outside of x-pack to be triple-licensed under Elastic License 2.0, AGPL 3.0, or SSPL 1.0.
55 lines
1.8 KiB
TypeScript
55 lines
1.8 KiB
TypeScript
/*
|
|
* 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 { CoreSetup, Plugin, AppMountParameters, DEFAULT_APP_CATEGORIES } from '@kbn/core/public';
|
|
|
|
import { ExampleDefinition } from './types';
|
|
|
|
export interface DeveloperExamplesSetup {
|
|
register: (def: ExampleDefinition) => void;
|
|
}
|
|
|
|
export class DeveloperExamplesPlugin implements Plugin<DeveloperExamplesSetup, void> {
|
|
private examplesRegistry: ExampleDefinition[] = [];
|
|
|
|
public setup(core: CoreSetup) {
|
|
const examples = this.examplesRegistry;
|
|
core.application.register({
|
|
id: 'developerExamples',
|
|
title: 'Developer examples',
|
|
order: -2000,
|
|
category: DEFAULT_APP_CATEGORIES.kibana,
|
|
async mount(params: AppMountParameters) {
|
|
const { renderApp } = await import('./app');
|
|
const [coreStart] = await core.getStartServices();
|
|
const { analytics, i18n, theme } = coreStart;
|
|
return renderApp(
|
|
{
|
|
startServices: { analytics, i18n, theme },
|
|
examples,
|
|
navigateToApp: (appId: string) => coreStart.application.navigateToApp(appId),
|
|
getUrlForApp: (appId: string) => coreStart.application.getUrlForApp(appId),
|
|
},
|
|
params.element
|
|
);
|
|
},
|
|
});
|
|
|
|
const api: DeveloperExamplesSetup = {
|
|
register: (def) => {
|
|
this.examplesRegistry.push(def);
|
|
},
|
|
};
|
|
return api;
|
|
}
|
|
|
|
public start() {}
|
|
|
|
public stop() {}
|
|
}
|