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

Clean up and refactor expression renderer component #86729

Closed
flash1293 opened this issue Dec 22, 2020 · 3 comments · Fixed by #124050
Closed

Clean up and refactor expression renderer component #86729

flash1293 opened this issue Dec 22, 2020 · 3 comments · Fixed by #124050
Labels
Feature:ExpressionLanguage Interpreter expression language (aka canvas pipeline) impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. loe:large Large Level of Effort Team:Visualizations Visualization editors, elastic-charts and infrastructure technical debt Improvement of the software architecture and operational architecture

Comments

@flash1293
Copy link
Contributor

As discussed in #86092 (review), over time the expression renderer component exposing the expression loader as a react component grew into a complex interaction of hooks which are hard to reason about.

To keep the code manageable, this should be cleaned up.

This refactoring can be started with (but isn't limited to):

  • refactor out debouncing into a separate wrapper component - we already have x-pack/plugins/lens/public/debounced_component/debounced_component.tsx in Lens, it could be moved to kibana_react, then used for the expression rendering. However it has to be made sure the loading state is shown during the debounce period
  • turn ExpressionRenderer into a class based component - this should make it easier to connect to the class based loader underneath
@flash1293 flash1293 added technical debt Improvement of the software architecture and operational architecture Team:Visualizations Visualization editors, elastic-charts and infrastructure Team:AppServices labels Dec 22, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app-services (Team:AppServices)

@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app (Team:KibanaApp)

@streamich streamich added Feature:ExpressionLanguage Interpreter expression language (aka canvas pipeline) impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. loe:medium Medium Level of Effort labels May 4, 2021
@petrklapka
Copy link
Member

Testing unidirectional comment sync to Jira. Please ignore.

@petrklapka petrklapka added 1 and removed 1 labels May 10, 2021
@exalate-issue-sync exalate-issue-sync bot added loe:large Large Level of Effort and removed loe:medium Medium Level of Effort labels Sep 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:ExpressionLanguage Interpreter expression language (aka canvas pipeline) impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. loe:large Large Level of Effort Team:Visualizations Visualization editors, elastic-charts and infrastructure technical debt Improvement of the software architecture and operational architecture
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants