kibana/examples
Hannah Mudge 36f2ff409f
[Embeddable Rebuild] [Controls] Add control registry + example React control (#182842)
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>
2024-06-05 08:51:37 -06:00
..
bfetch_explorer [EuiProvider] Fix AppEx-SharedUX code (#183872) 2024-05-22 09:57:05 -07:00
content_management_examples [EuiProvider] Fix AppEx-SharedUX code (#183872) 2024-05-22 09:57:05 -07:00
controls_example [Embeddable Rebuild] [Controls] Add control registry + example React control (#182842) 2024-06-05 08:51:37 -06:00
data_view_field_editor_example Upgrade EUI to v94.1.0 (major EuiTable refactors) (#180514) 2024-04-19 00:05:48 +01:00
developer_examples [EuiProvider] Fix AppEx-SharedUX code (#183872) 2024-05-22 09:57:05 -07:00
discover_customization_examples [EuiProvider] Fix Data-Discover code (#183874) 2024-05-22 09:57:26 -07:00
embeddable_examples [data.search] Improve SearchSource types (part 1) (#184531) 2024-06-01 08:23:55 -07:00
error_boundary [EuiProvider] Fix AppEx-SharedUX code (#183872) 2024-05-22 09:57:05 -07:00
eso_model_version_example Replace Encrypted Saved Object AAD exclude list with include list (#167705) 2024-03-08 11:15:02 -05:00
esql_ast_inspector [ES|QL] add AST inspector to examples (#182720) 2024-05-10 13:47:06 -05:00
esql_validation_example ES|QL static metadata (#183890) 2024-05-23 23:10:07 +02:00
expressions_explorer [EuiProvider] Fix Gis-Presentation-Visualization code (#183875) 2024-05-22 13:28:36 -07:00
feature_control_examples async-import plugins in the server side (#170856) 2023-11-15 00:55:56 -07:00
field_formats_example Upgrade EUI to v94.1.0 (major EuiTable refactors) (#180514) 2024-04-19 00:05:48 +01:00
files_example Upgrade EUI to v94.1.0 (major EuiTable refactors) (#180514) 2024-04-19 00:05:48 +01:00
guided_onboarding_example Update codeowners file (#183552) 2024-05-22 08:19:50 -04:00
hello_world [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
locator_examples [Core] Deprecate nav link status (#176383) 2024-02-16 11:06:33 -07:00
locator_explorer [Core] Deprecate nav link status (#176383) 2024-02-16 11:06:33 -07:00
partial_results_example Upgrade EUI to v94.1.0 (major EuiTable refactors) (#180514) 2024-04-19 00:05:48 +01:00
portable_dashboards_example [Embeddable] Move registries (#182621) 2024-05-10 12:42:34 -04:00
preboot_example async-import plugins in the server side (#170856) 2023-11-15 00:55:56 -07:00
resizable_layout_examples [Core] Deprecate nav link status (#176383) 2024-02-16 11:06:33 -07:00
response_stream [EuiProvider] Fix Response-Stream example (#184253) 2024-05-25 10:03:47 -07:00
routing_example [EuiProvider] Fix Kibana-Core code (#183873) 2024-05-23 13:19:40 -07:00
screenshot_mode_example [Core] Deprecate nav link status (#176383) 2024-02-16 11:06:33 -07:00
search_examples [EuiProvider] Fix Data-Discover code (#183874) 2024-05-22 09:57:26 -07:00
share_examples Set correct ownership of older app-services code (#168209) 2023-10-09 18:57:26 +02:00
state_containers_examples [EuiProvider] Fix AppEx-SharedUX code (#183872) 2024-05-22 09:57:05 -07:00
ui_action_examples [SharedUX] Remove usage of deprecated React rendering utilities (#180516) 2024-04-17 07:52:41 -07:00
ui_actions_explorer [EuiProvider] Fix AppEx-SharedUX code (#183872) 2024-05-22 09:57:05 -07:00
unified_doc_viewer [UnifiedDocViewer] Move Discover doc viewer into plugin/package (#162847) 2023-08-31 11:46:59 -07:00
unified_field_list_examples [kbn-dnd-package] Divide draggable and droppable (#177282) 2024-03-21 14:30:14 +01:00
user_profile_examples Add explicit children types (#181257) 2024-04-29 16:56:41 +01:00
v8_profiler_examples async-import plugins in the server side (#170856) 2023-11-15 00:55:56 -07:00
README.asciidoc Adds run without basepath configured to examples readme (#173086) 2023-12-12 11:22:02 -07:00

[[example-plugins]]
== Example plugins

This folder contains example plugins.  To run the plugins in this folder, use the `--run-examples` flag (without a basepath), via

[source,bash]
----
yarn start --run-examples
----