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

Deangularize Dashboard #82909

Merged
merged 22 commits into from
Dec 10, 2020
Merged

Conversation

ThomThomson
Copy link
Contributor

@ThomThomson ThomThomson commented Nov 7, 2020

Summary

Closes #65614

This PR completely removes Angular from Dashboard, and re-structures the dashboard application into a React Functional Component.

There should be no visual or behavioural changes at all in this PR. Routing, loading, and parts of the state management outside of dashboard_state_manager have been totally replaced, so this PR could use some very thorough testing.

Checklist

Delete any items that are not applicable to this PR.

For maintainers

@cqliu1 cqliu1 mentioned this pull request Nov 30, 2020
7 tasks
@ThomThomson ThomThomson marked this pull request as ready for review November 30, 2020 23:29
@ThomThomson ThomThomson requested review from a team as code owners November 30, 2020 23:29
Copy link
Contributor

@darnautov darnautov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ML changes LGTM

Copy link
Contributor

@ryankeairns ryankeairns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SCSS changes look good.

@ThomThomson ThomThomson added Feature:Dashboard Dashboard related features Project:TimeToVisualize Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas v7.11.0 v8.0.0 labels Dec 1, 2020
@elasticmachine
Copy link
Contributor

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

Copy link
Contributor

@clintandrewhall clintandrewhall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is quite dense. I feel like the difficulty in review could be mitigated by some code style changes and some encapsulation. At the same time, I don't want to over-complicate the remainder of our work on TTV.

I'd be content to have some preliminary fixes (destructuring, for example) and then follow up as we write tests. Thoughts?

@kibanamachine
Copy link
Contributor

⏳ Build in-progress, with failures

Failed CI Steps

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@kibanamachine
Copy link
Contributor

💚 Build Succeeded

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
dashboard 197.2KB 186.2KB -11.1KB

Distributable file count

id before after diff
default 47012 47769 +757
oss 27615 27612 -3

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
dashboard 327.8KB 336.4KB +8.7KB

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

Copy link
Contributor

@clintandrewhall clintandrewhall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm satisfied with the iterations and improvements, enough to get this checked in and move forward with tweaks, so long as you're confident in the test coverage.

This is a beast of an effort here, @ThomThomson ... incredible work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Dashboard Dashboard related features Project:TimeToVisualize release_note:fix Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas v7.11.0 v8.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Deangularize Dashboard application
6 participants