mirror of
https://github.com/elastic/kibana.git
synced 2025-06-28 11:05:39 -04:00
Part of https://github.com/elastic/kibana/issues/145428 PR makes the following changes: 1) updates ControlGroupRenderer component with declarative properties for filters, query, and timeRange. 2) creates a search example showing how to use controls to narrow results 3) Updates redux example to use web logs sample data set 4) Updates existing uses of ControlGroupRenderer to use new props. <img width="600" alt="Screen Shot 2022-12-14 at 4 29 58 PM" src="https://user-images.githubusercontent.com/373691/207719012-28771203-27c3-45c0-a8ac-2bf96c10f641.png"> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
57 lines
1.8 KiB
TypeScript
57 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 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 or the Server
|
|
* Side Public License, v 1.
|
|
*/
|
|
|
|
import {
|
|
AppMountParameters,
|
|
AppNavLinkStatus,
|
|
CoreSetup,
|
|
CoreStart,
|
|
Plugin,
|
|
} from '@kbn/core/public';
|
|
import type { DataPublicPluginStart } from '@kbn/data-plugin/public';
|
|
import type { DeveloperExamplesSetup } from '@kbn/developer-examples-plugin/public';
|
|
import type { NavigationPublicPluginStart } from '@kbn/navigation-plugin/public';
|
|
import img from './control_group_image.png';
|
|
import { PLUGIN_ID } from './constants';
|
|
|
|
interface SetupDeps {
|
|
developerExamples: DeveloperExamplesSetup;
|
|
}
|
|
|
|
export interface ControlsExampleStartDeps {
|
|
data: DataPublicPluginStart;
|
|
navigation: NavigationPublicPluginStart;
|
|
}
|
|
|
|
export class ControlsExamplePlugin
|
|
implements Plugin<void, void, SetupDeps, ControlsExampleStartDeps>
|
|
{
|
|
public setup(core: CoreSetup<ControlsExampleStartDeps>, { developerExamples }: SetupDeps) {
|
|
core.application.register({
|
|
id: PLUGIN_ID,
|
|
title: 'Controls examples',
|
|
navLinkStatus: AppNavLinkStatus.hidden,
|
|
async mount(params: AppMountParameters) {
|
|
const [, depsStart] = await core.getStartServices();
|
|
const { renderApp } = await import('./app');
|
|
return renderApp(depsStart, params);
|
|
},
|
|
});
|
|
|
|
developerExamples.register({
|
|
appId: 'controlsExamples',
|
|
title: 'Controls as a Building Block',
|
|
description: `Showcases different ways to embed a control group into your app`,
|
|
image: img,
|
|
});
|
|
}
|
|
|
|
public start(core: CoreStart) {}
|
|
|
|
public stop() {}
|
|
}
|