mirror of
https://github.com/elastic/kibana.git
synced 2025-04-25 02:09:32 -04:00
Closes https://github.com/elastic/kibana/issues/184373 ## Summary This PR marks the first step of the control group migration to the new React embeddable system. A few notes about this: - In the new system, each individual control will no longer be an "embeddable" - instead, we are creating a **new** control-specific registry for all controls. This is **modelled** after the embeddable registry, but it is locked down and much more controls-specific. - Most of the work accomplished in this PR is hidden away in the `examples` plugin - that way, user-facing code is not impacted. After some discussion, we decided to do it this way because refactoring the control group to work with both legacy and new controls (like we did for the dashboard container) felt like a very large undertaking for minimal benefit. Instead, all work will be contained in the example plugin (including building out the existing control types with the new framework) and we will do a final "swap" of the legacy control group with the new React control group as part of https://github.com/elastic/kibana/issues/174961 - This PR does **not** contain a fully functional control group embeddable - instead, the main point of this PR is to introduce the control registry and an example control. The current control group embeddable is provided just to give the **bare minimum** of functionality. - In order to find the new Search control example, navigate to Developer Examples > Controls > Register a new React control - The example search control only works on text fields. See https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html and https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html for information on the two search techniques. ### Checklist - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [x] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
45 lines
1.4 KiB
TypeScript
45 lines
1.4 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.
|
|
*/
|
|
|
|
export { apiCanAddNewPanel, type CanAddNewPanel } from './interfaces/can_add_new_panel';
|
|
export {
|
|
apiHasRuntimeChildState,
|
|
apiHasSerializedChildState,
|
|
type HasRuntimeChildState,
|
|
type HasSerializedChildState,
|
|
} from './interfaces/child_state';
|
|
export {
|
|
apiHasSaveNotification,
|
|
type HasSaveNotification,
|
|
} from './interfaces/has_save_notification';
|
|
export {
|
|
apiCanDuplicatePanels,
|
|
apiCanExpandPanels,
|
|
type CanDuplicatePanels,
|
|
type CanExpandPanels,
|
|
} from './interfaces/panel_management';
|
|
export {
|
|
apiIsPresentationContainer,
|
|
getContainerParentFromAPI,
|
|
listenForCompatibleApi,
|
|
combineCompatibleChildrenApis,
|
|
type PanelPackage,
|
|
type PresentationContainer,
|
|
} from './interfaces/presentation_container';
|
|
export {
|
|
apiHasSerializableState,
|
|
type HasSerializableState,
|
|
type HasSnapshottableState,
|
|
type SerializedPanelState,
|
|
} from './interfaces/serialized_state';
|
|
export { tracksOverlays, type TracksOverlays } from './interfaces/tracks_overlays';
|
|
export {
|
|
canTrackContentfulRender,
|
|
type TrackContentfulRender,
|
|
type TracksQueryPerformance,
|
|
} from './interfaces/performance_trackers';
|