The previous PR #586 includes all the needed UI elements and mock API calls that illustrate how to get all the needed data.
We anticipate building more dashboards this way going forward, so want to develop reusable reference patterns here and set things up such that other pages could leverage as much shared code as possible.
Scope
[x] Select and implement an approach to state management that will not only provide for the complexities in this dashboard, but give us a good pattern for similar future dashboards (look through the ~6 existing Sencha ones for examples of what these generally look like)
[x] Select and implement an approach to a centralized HTTP client
[x] Use the demonstrated API calls to get the UI wired up to load data when scope selections are made at the top of the screen
[x] Wire up internal interactions (may require POST calls not demonstrated yet)
Misc implementation notes
Review the open questions left in #586
Review overall app scaffolding / dev flow / dependency selection
School admin picks a list of students and a competency area
Sees grid of students vs competencies where each cell represents a grouping of all the StudentCompetency records matching the same student × competency
The display of the cell reflects the highest level present in the group, but interactions with the cell can be across the group
e.g. a given student might have a 3 StudentCompetency records for the same competency across levels 9, 10, and 11. The cell will stand for all 3 in interaction but display 11 and its color to indicate the student's highest (i.e. current) level
Would be good to good to use an HTTP client library that lets us create a client "instance" with common headers/auth/hooks/prefix bake in
We've recently embarked on building interactive dashboards in Vue instead of Sencha, and have scaffolded out the first one here: https://github.com/SlateFoundation/slate-cbl/tree/develop/static-webapps/slate-portfolio-manager
You can see this static demo running online here: https://latest.slate-cbl.sandbox.k8s.jarv.us/webapps/SlatePortfolioManager/
The previous PR #586 includes all the needed UI elements and mock API calls that illustrate how to get all the needed data.
We anticipate building more dashboards this way going forward, so want to develop reusable reference patterns here and set things up such that other pages could leverage as much shared code as possible.
Scope
Misc implementation notes