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

[Canvas] Replace custom way of rendering of expression functions with expressions' one. #122083

Closed
Kuznietsov opened this issue Dec 28, 2021 · 1 comment
Assignees
Labels
estimate:needs-research Estimated as too large and requires research to break down into workable issues Feature:Canvas Feature:ExpressionLanguage Interpreter expression language (aka canvas pipeline) research Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas

Comments

@Kuznietsov
Copy link
Contributor

Kuznietsov commented Dec 28, 2021

Introduction

While implementing the solutions for issues [Canvas] Remove filters and [Canvas][meta] Unify Expression Renderers and Deprecate flot, I've faced a couple of problems. The root of problems is the way of rendering expressions in Canvas.


Renderers, which are rendered in Canvas, are disconnected from the infrastructure of the Expressions. The biggest problem is custom handlers, which don't have a connection to the handlers, provided by Expressions. The answers to the question "Why do we need it?" you can find in the linked issues, which I've mentioned below.


These are problems, which are blocking further development:

Proposition

The idea of fast movement to the native expression renderer wrapper is to:

  1. Replace element wrapper with ReactExpressionRenderer or add own wrapper around expressions.loader.
  2. To save the previous behavior with custom handlers, as an additional way of working with existing logic, we can pass our own event as an onEvent prop of ReactExpressionRenderer.

cc @crob611, @ppisljar.


Issues, caused by the migration to expressions.ReactExpressionRenderer and which should be solved in the prior PRs

While implementing the PR, it has been raised couple of errors, which highlighted the conceptual issues, need to be fixed. They are described at the issue and should be solved at the prior PRs to the one with a migration.

@Kuznietsov Kuznietsov added Feature:ExpressionLanguage Interpreter expression language (aka canvas pipeline) research Feature:Canvas estimate:needs-research Estimated as too large and requires research to break down into workable issues labels Dec 28, 2021
@Kuznietsov Kuznietsov self-assigned this Dec 28, 2021
@kibanamachine kibanamachine added the Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas label Dec 28, 2021
@botelastic botelastic bot added the needs-team Issues missing a team label label Dec 28, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-presentation (Team:Presentation)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
estimate:needs-research Estimated as too large and requires research to break down into workable issues Feature:Canvas Feature:ExpressionLanguage Interpreter expression language (aka canvas pipeline) research Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants