Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Formalize Embeddable Layer with tests and sample plugins #27986

Closed
10 tasks
stacey-gammon opened this issue Jan 3, 2019 · 1 comment
Closed
10 tasks

Formalize Embeddable Layer with tests and sample plugins #27986

stacey-gammon opened this issue Jan 3, 2019 · 1 comment

Comments

@stacey-gammon
Copy link
Contributor

stacey-gammon commented Jan 3, 2019

The embeddable layer is only being used in Dashboard currently. It's been in a half implemented state for years. With more and more apps being written on top of Kibana, it's becoming more and more important to have an official way to embed pluggable panels inside, not only dashboard, but any application container.

The first step in this API becoming usable and officially supported is to write some functional tests for it, so we know it actually works outside of dashboard.

Steps

Prep work

  • Operations Support typescript in functional plugin samples
    • Not a prerequisite, but I think it's important to write the sample plugin in typescript so any misuse of the API will cause build errors. We want to ensure we aren't accessing anything that no longer exists, in case we change the API, since this will be our pristine example. This should probably be done in collaboration with Operations team.
  • Operations Pull sample plugins out of the functional test folder
    • Also not really a true pre-req but would make this much more discoverable and organized. Again, this should probably be done in collaboration with Operations team.

Test work

  • Write a plugin that registers a new application and uses the embeddable layer to display a visualization using the VisualizationEmbeddable and VisualizationEmbeddableFactory.
    • Test that communicating filter and query changes from the container to the embeddable correctly filters the visualization
  • Add a test for Saved Searches Embeddable
    • Update saved searches so they listen to the filter being passed down from the embeddable and not the angular filter service, or the following test will probably fail.
    • Test that communicating filter and query changes from the container to the embeddable correctly filters the search.
  • Add a sample plugin (or include in the one above) that registers a new Embeddable object.
  • Extend the Embeddable Factory interface to expose a list of embeddable configurations that can be used to create instances from. This is also captured here: Have dashboard add panel use the embeddable layer #27985
  • Add a test that the embeddable object loads.

Related: #19875

@stacey-gammon stacey-gammon added the Team:Visualizations Visualization editors, elastic-charts and infrastructure label Jan 3, 2019
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants