Update README.md (#63622)
This commit is contained in:
parent
c57297c95b
commit
716211f2db
|
@ -1,39 +1,25 @@
|
|||
# The Embeddable API V2
|
||||
# Embeddables
|
||||
|
||||
The Embeddable API's main goal is to have documented and standardized ways to share and exchange information and functionality across applications and plugins.
|
||||
Embeddables are re-usable widgets that can be rendered in any environment or plugin. Developers can embed them directly in their plugin. End users can dynamically add them to any embeddable _containers_.
|
||||
|
||||
There are three main pieces of this infrastructure:
|
||||
- Embeddables & Containers
|
||||
- Actions
|
||||
- Triggers
|
||||
## Embeddable containers
|
||||
|
||||
## Embeddables & Containers
|
||||
|
||||
Embeddables are isolated, serializable, renderable widgets. A developer can hard code an embeddable inside their
|
||||
application, or they can use some built in actions to allow users to dynamically add them to *containers*.
|
||||
|
||||
Containers are a special type of embeddable that can contain nested embeddables.
|
||||
|
||||
## Actions
|
||||
|
||||
Actions are pluggable pieces of functionality exposed to the user that take an embeddable as context, plus an optional action context.
|
||||
|
||||
## Triggers
|
||||
|
||||
Triggers are the way actions are connected to a user action. We ship with two default triggers, `CONTEXT_MENU_TRIGGER` and `APPLY_FILTER`.
|
||||
|
||||
Actions attached to the `CONTEXT_MENU_TRIGGER` will be displayed in supported embeddables context menu to the user. Actions attached to the `APPLY_FILTER` trigger will show up when any embeddable emits this trigger.
|
||||
|
||||
A developer can register new triggers that their embeddables, or external components, can emit (as long as they have an embeddable to pass along as context).
|
||||
Containers are a special type of embeddable that can contain nested embeddables. Embeddables can be dynamically added to embeddable _containers_. Currently only dashboard uses this interface.
|
||||
|
||||
## Examples
|
||||
|
||||
Many examples can be viewed in the functionally tested `kbn_tp_embeddable_explorer` plugin, as well as the jest tested classes inside the `embeddable_api/public/test_samples` folder.
|
||||
Many example embeddables are implemented and registered [here](https://github.com/elastic/kibana/tree/master/examples/embeddable_examples). They can be played around with and explored [in the Embeddable Explorer example plugin](https://github.com/elastic/kibana/tree/master/examples/embeddable_explorer). Just run kibana with
|
||||
|
||||
```
|
||||
yarn start --run-examples
|
||||
```
|
||||
|
||||
and navigate to the Embeddable explorer app.
|
||||
|
||||
## Testing
|
||||
|
||||
Run unit tests
|
||||
|
||||
```shell
|
||||
node scripts/jest embeddable_api
|
||||
node scripts/jest embeddable
|
||||
```
|
||||
|
|
Loading…
Reference in a new issue