-
Notifications
You must be signed in to change notification settings - Fork 936
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
Dashboard De-Angular Design #4317
Comments
Thanks for this @abbyhu2000! Very useful, especially the last diagram. Just one high level comments here. Can't we eliminate the embeddable state and store all state in the app state? And always reference app state. With all the syncing that's happening, having one source of truth for all state information will be really useful. Also right now we are avoiding an infinite loop because we assume that when a change in the app state happens, the embeddable state is also going to be the same. But if we have a dynamic value, e.g. time or update count, the two states will never stop syncing. |
Thanks for the comments! @ashwin-pc
|
Three main components:
<DashboardListing>
— the dashboard listing table<DashboardTopNav>
— top navigation bar<DashboardEditor>
— main dashboard pageDashboard Editor:
State management:
state container
getChangesFromAppStateForContainerState()
, and thendashboardContainer.updateInput(changes)
dashboardStateManager.handleDashboardContainerChanges(container)
will also be triggered because the dashboard container is changed, but there is actually no difference between dashboard container and state container nowdashboard container
handleDashboardContainerChange()
will be called and it will update the app stategetChangesFromAppStateForContainerState()
will be called and it will have no differencesThe text was updated successfully, but these errors were encountered: