-
Notifications
You must be signed in to change notification settings - Fork 480
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
[JIMT][CT-510] code bridge dynamic layout #58280
Conversation
…ed default layout
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me, just some clean up comments
General question: Should we support this level of configurability if we think the main scenarios we want to test are a vertical and horizontal console? It seems like it'd be nice to shorten the list of what we need to do to really finalize this. |
Yes, we absolutely should support this level of configurability, but no we should not necessarily allow end users to access it. In fact, I'd probably strongly lobby against end users (especially students) to have access to this because the UX will probably be poor - it'd introduce too many variables to them and options to screw things up, in addition to making it more difficult for teachers and our helpdesk to aid them. The first troubleshooting step in such systems is always set it back to the default. But having more flexibility in how we set up and configure layouts internally is nothing but a win. Same system under the hood, but not building configuration UI (or building configuration UI and only allowing certain users to access it). Giving our internal users flexibility to easily play around with layouts to get what they want w/o needing to involve lengthy dev changes is a big win. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resolved feedback offline! Excited to be able to test horizontal and vertical consoles.
As with all things CodeBridge, this is a WIP. The PR looks big, but is mostly just shuffling a few things around. git may have tagged files as being deleted/added that were merely moved. CDOIDE.tsx is the only thing with any really appreciable changes.
This PR retools the layout completely. The old layout container had a concept of left-pane, center-pane, right-pane, and allowing certain components to be showed within them based upon boolean toggles which were handed into the config when the component was vivified. It worked and had some view configuration options, but was still very limited.
This new flavor replaces all of CDOIDE's layout with a grid using grid-template-areas, which are now read in through the config.
For example:
That gives us a 3x3 grid layout with the instructions across the two upper left pieces, the preview-container across the entire right side, a side-bar (which doesn't do anything anymore atm) and file tabs across the middle, and then the file browser in the lower left and editor in the lower center.
By changing the grid layout, we can completely change the UI/UX.
WebView2
now has aConfigure Layout
button to more easily change these layouts to experiment with.What do we need to do to really finalize this:
Links
Testing story
Deployment strategy
Follow-up work
Privacy
Security
Caching
PR Checklist: