-
Notifications
You must be signed in to change notification settings - Fork 90
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
fix(NcAppSidebar): make sidebar a single node again to allow v-show, classes and attributes #5627
Conversation
893fe47
to
5a12f6b
Compare
I vote for not backporting this to next and instead require to use |
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.
Do you prefer this one? Because I think it adds a lot of complexity.
If yes I will free some time for a review 😅
I dislike both. I think this is much simpler (check diff with hide whitespaces and without looking into docs — it's literally just removing But this could be more risky because we need to rely on |
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.
works.
I am fine with both solutions 🤷
e8c9d4a
to
bc7cc6d
Compare
|
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'd personnaly prefer this solution (not a fan of several nodes under root template, now it's more predictable).
Tested, works fine as a middleground before moving to open.sync
bc7cc6d
to
bd32d5d
Compare
Let's then go with this solution. While teleport is a bit risky, it allows making it a real single root component without hacks and drawbacks. If we find a problem with Teleport, then we can proceed with the alternative solution. I've added a check to make sure that it is used in |
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
bd32d5d
to
612fa75
Compare
Rebased onto master and squashed |
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
@ShGKme backport? |
/backport to next |
☑️ Resolves
Makes
<NcAppSidebar>
rendered as a single node again.v-show
doesn't work on sidebar anymore because of Fragment #5623fullscreen
sidebar in Filesopen
state to prevent focus trap issues on mobile #5584<Fragment>
breaks:attributes
andclasses
, because in Vue 2 they are not a part of$attrs
and even cannot be defined as$props
data-v-{scopeid}
on the root elementv-show
(but this is broken on mobile anyway and should not be used)<Transition>
does not pass attributes with disabled inheritance (no idea why, but in vue 2 this component was not so pure)Example of broken apps -
Files
:cy-data-sidebar
attributes fore2e
app-sidebar--full
classdata-v-{scopeId}
attr required forapp-sidebar--full
Talk:
🖼️ Screenshots
🚧 Tasks
<NcAppSidebar>
rendered as a single node again🏁 Checklist
next
requested with a Vue 3 upgrade