kibana/src/plugins/embeddable
Spencer 4385ac4d83
[eslint] enable type-specific lint rules (#114184)
* [eslint] enable type-specific lint rules

* autofix violations

* duplicate eslint-disable to new export statement

Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-11-03 16:56:17 -06:00
..
.storybook
common Remove any in embeddables (#110023) 2021-09-20 14:09:02 +02:00
docs
public [eslint] enable type-specific lint rules (#114184) 2021-11-03 16:56:17 -06:00
server [eslint] enable type-specific lint rules (#114184) 2021-11-03 16:56:17 -06:00
.eslintrc.json
jest.config.js [jest] update config files to get coverage per plugin (#111299) 2021-09-09 08:14:56 +02:00
kibana.json [embeddable] Don’t include test samples into initial bundle (#113126) 2021-09-28 17:45:34 +02:00
README.asciidoc Updates Github link references from master to main (#116789) 2021-10-29 09:53:08 -07:00
tsconfig.json [build_ts_refs] improve caches, allow building a subset of projects (#107981) 2021-08-10 22:12:45 -07:00

[[embeddable-plugin]]
== Embeddables plugin

Embeddables are re-usable widgets that can be rendered on dashboard, but also in other apps. Developers can embed them directly in their plugin. End users can dynamically add them to embeddable _containers_.

=== Embeddable containers

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

Multiple embeddable examples are implemented and registered https://github.com/elastic/kibana/tree/main/examples/embeddable_examples[here]. They can be played around with and explored https://github.com/elastic/kibana/tree/main/examples/embeddable_explorer[in the Embeddable Explorer example plugin]. Just run kibana with

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

and navigate to the Embeddable explorer app.

There is also an example of rendering dashboard container outside of dashboard app https://github.com/elastic/kibana/tree/main/examples/dashboard_embeddable_examples[here].

=== Docs

link:https://github.com/elastic/kibana/blob/main/src/plugins/embeddable/docs/README.md[Embeddable docs, guides & caveats]

=== API docs

==== Browser API
https://github.com/elastic/kibana/blob/main/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.md[Browser Setup contract]
https://github.com/elastic/kibana/blob/main/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.md[Browser Start contract]

==== Server API
https://github.com/elastic/kibana/blob/main/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.md[Server Setup contract]

=== Testing

Run unit tests

[source,sh]
--
yarn test:jest src/plugins/embeddable
--