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

Update UI #211

Closed
alancleary opened this issue May 14, 2019 · 3 comments
Closed

Update UI #211

alancleary opened this issue May 14, 2019 · 3 comments
Assignees

Comments

@alancleary
Copy link
Contributor

alancleary commented May 14, 2019

The search functionality is going to add another layer of complexity to the GCV. As outlined in Epic #202, there's some technical debt that should be payed down before proceeding. This issue is concerned with removing code from the smart components (multi and search) that has to do with UI state: SplitJS size, dot plots, etc. Perhaps the best way to handle this is to reimplement the UI to be less complex, removing some of the aforementioned code in the process.

@alancleary alancleary self-assigned this Jul 2, 2019
@alancleary
Copy link
Contributor Author

Commit 7d93946 introduced Golden Layout as a more flexible alternative to SplitJS. It encapsulates the layout in a directive as not to clutter the smart components with its boilerplate.

@alancleary
Copy link
Contributor Author

As of commit 87f8bd1, the gene component code is exceptionally clean; there is only code that dynamically adds components to the Golden Layout via factories. Also, each component added is responsible for fetching its own data, meaning the gene component only requires the micro-track cluster IDs to seed the view.

@alancleary
Copy link
Contributor Author

Commit 535c916 introduced a reducer for the page layout. This is intended to store all UI state, rather than it being maintained by a smart component, as was being previously done with the multi/search components. Though the gene component must pull in the slices of this state relevant to its view, these slices are saved to variables that are use nowhere but in the template to inform various pieces of the UI of their state.

Between this and the previously mentioned Golden Layout factory pattern, the new precedent for how UI state should be stored and interacted with has been put in place.

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

No branches or pull requests

1 participant