-
-
Notifications
You must be signed in to change notification settings - Fork 9.3k
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
UI: Overhaul layout engine #20412
UI: Overhaul layout engine #20412
Conversation
A bit of a Christmas present 🎁 |
What are you doing working on Christmas?! |
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.
I'm not too familiar with the manager UI, so I don't feel qualified to give this a ✅, but it's definitely pretty exciting looking! I left a few niggly comments and questions, from a brief skim-through.
Amazing work here @ndelangen -- I'm excited to work through the comments and see if we can get this merged for 7.0 Nice suggestions across the board @IanVS! Merry christmas!!! 🎄 |
… into norbert/panel-size
… into norbert/panel-size
getIsNavShown() { | ||
return getIsNavShown(store.getState()); | ||
}, | ||
|
||
setOptions: (options: any) => { |
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.
the changes below just reverses the condition for readability, nothing else.
@@ -284,7 +389,6 @@ export const init: ModuleFn = ({ store, provider, singleStory, fullAPI }) => { | |||
api, | |||
state: merge(api.getInitialOptions(), persisted), | |||
init: () => { | |||
api.setOptions(merge(api.getInitialOptions(), persisted)); |
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.
this makes setting layout from URL work again, similar to #23750
code/ui/manager/src/app.stories.tsx
Outdated
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.
We should re-add this back in a later iteration
@JReinhold I assume you're taking this PR to it's conclusion? Do you need anything from me? |
Resolves #14916
Closes #24215
Closes #24252
Closes #24253
Works on #24124
Storybook.layout.demo.mp4
What we did
This PR completely overhauls the layout engine, and how sidebar/panels are sized and positioned. Mobile/responsive UI does not work here, that's being worked on in follow-up PRs: #24124
{ isFullscreen: true, showNav: true }
. The new size state properties are accompanies byrecentVisisbleSizes
properties that are used when restoring panels back from a non-shown stateThis PR was first done by @ndelangen but then finished 6 months later by @JReinhold and @cdedreuille, so not all changes might make sense together anymore.
Checklist for Contributors
Testing
The changes in this PR are covered in the following automated tests:
Manual testing
This section is mandatory for all contributions. If you believe no manual test is necessary, please state so explicitly. Thanks!
Documentation
MIGRATION.MD
Checklist for Maintainers
When this PR is ready for testing, make sure to add
ci:normal
,ci:merged
orci:daily
GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found incode/lib/cli/src/sandbox-templates.ts
Make sure this PR contains one of the labels below:
Available labels
bug
: Internal changes that fixes incorrect behavior.maintenance
: User-facing maintenance tasks.dependencies
: Upgrading (sometimes downgrading) dependencies.build
: Internal-facing build tooling & test updates. Will not show up in release changelog.cleanup
: Minor cleanup style change. Will not show up in release changelog.documentation
: Documentation only changes. Will not show up in release changelog.feature request
: Introducing a new feature.BREAKING CHANGE
: Changes that break compatibility in some way with current major version.other
: Changes that don't fit in the above categories.🦋 Canary release
This PR does not have a canary release associated. You can request a canary release of this pull request by mentioning the
@storybookjs/core
team here.core team members can create a canary release here or locally with
gh workflow run --repo storybookjs/storybook canary-release-pr.yml --field pr=<PR_NUMBER>