-
Notifications
You must be signed in to change notification settings - Fork 430
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(core): set scroll boundary to nearest #6310
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
1 Ignored Deployment
|
No changes to documentation |
Component Testing Report Updated Apr 29, 2024 9:49 AM (UTC)
|
packages/sanity/src/core/form/inputs/PortableText/hooks/useScrollSelectionIntoView.tsx
Show resolved
Hide resolved
@ninaandal - I'm currently looking a bit into the underlaying code here as I think it's trying to scroll a bit too aggressively (we have problems elsewhere with this too). I still need some time to review this. |
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.
Test this and it really improves the experience.
The jumping @hermanwikner is talking about I will address in another PR.
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.
Found an issue. The 'smooth' scrolling should not be there.
Try switching to and from fullscreen mode, and you'll see the issue when focused deep down in a long document.
Good catch @skogsmaskin ! Let me know if I'm missing anything 👍 |
Resolved conflicts and rebased this against |
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.
LGTM!
* fix(core): set scroll boundary to nearest * fix(core): add smooth scroll behavior * fix(sanity): remove smooth behavior --------- Co-authored-by: RitaDias <[email protected]>
* fix(pte): show toolbar as active only if all blocks have tool active * fix(pte): show toolbar as active only if all blocks have tool active * fix(pte): correct toggling of marks when part mark is selected * fix(core): change scrollintoview block to be nearest (#6328) * fix(core): set scroll boundary to nearest (#6310) * fix(core): set scroll boundary to nearest * fix(core): add smooth scroll behavior * fix(sanity): remove smooth behavior --------- Co-authored-by: RitaDias <[email protected]> * fix(@sanity): issue where hidden unicode characters were bloating document in PTE (#6440) * fix(portable-text-editor): issue shown in tests re stega. use duplicate code * test(playwright-ct): add test * chore(sanity): remove prettier linting * test(sanity): fix missing snapshot * test(sanity): update test after realising the test would pass always if comparing object number * chore: test unicode removal * chore: test unicode removal * chore(@sanity): remove old solution * fix(@sanity/block-tools): unicode issue. remove vercel/stega and move to block-tools * test(@sanity/block-tools): for unicode * fix(@sanity/block-tools): utf8 characters weren't beign filtered. using the vercel/stega * chore: update lock file * (chore): update pnpm lock * chore: add codeowners to block-tools * chore(deps): dedupe pnpm-lock.yaml (#6508) Co-authored-by: github-merge-queue[bot] <118344674+github-merge-queue[bot]@users.noreply.github.com> * fix(pte): tidying implementation * fix(@sanity): issue where hidden unicode characters were bloating document in PTE (#6440) * fix(portable-text-editor): issue shown in tests re stega. use duplicate code * test(playwright-ct): add test * chore(sanity): remove prettier linting * test(sanity): fix missing snapshot * test(sanity): update test after realising the test would pass always if comparing object number * chore: test unicode removal * chore: test unicode removal * chore(@sanity): remove old solution * fix(@sanity/block-tools): unicode issue. remove vercel/stega and move to block-tools * test(@sanity/block-tools): for unicode * fix(@sanity/block-tools): utf8 characters weren't beign filtered. using the vercel/stega * chore: update lock file * (chore): update pnpm lock * chore(deps): dedupe pnpm-lock.yaml (#6508) Co-authored-by: github-merge-queue[bot] <118344674+github-merge-queue[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/pkg-utils to v6.8.8 (#6509) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat: use prefersLatestPublished parameter in DocumentPaneProvider (#6486) * fix(@sanity): issue where hidden unicode characters were bloating document in PTE (#6440) * fix(portable-text-editor): issue shown in tests re stega. use duplicate code * test(playwright-ct): add test * chore(sanity): remove prettier linting * test(sanity): fix missing snapshot * test(sanity): update test after realising the test would pass always if comparing object number * chore: test unicode removal * chore: test unicode removal * chore(@sanity): remove old solution * fix(@sanity/block-tools): unicode issue. remove vercel/stega and move to block-tools * test(@sanity/block-tools): for unicode * fix(@sanity/block-tools): utf8 characters weren't beign filtered. using the vercel/stega * chore: update lock file * (chore): update pnpm lock * chore(deps): dedupe pnpm-lock.yaml (#6508) Co-authored-by: github-merge-queue[bot] <118344674+github-merge-queue[bot]@users.noreply.github.com> * chore(deps): update dependency @sanity/pkg-utils to v6.8.8 (#6509) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(pte): simplifying activeAnnotations logic * fix(pte): new isAnnotationActive static method * fix(pte): retoring activeAnnotations method in editor * fix(pte): retoring activeAnnotations method in editor * fix(pte): fixing issue with multiple annotations in a single block * fix(pte): fixing issue with multiple annotations in a single block * fix(pte): fixing typing issue with PortableTextSpan * fix(pte): fixing failing test since mark toggling has changed * fix(pte): improving usage of isTextBlock for createWithPortableTextLists * fix(portable-text-editor): fix issue where decoration would not target correctly (#6532) * fix(pte): remove unused function in createWithPortableTextMarkModel * exploration * fix(pte): reverting incorrect merge * fix(pte): testing new logic for tools in PTE * fix(pte): reorg test cases --------- Co-authored-by: Nina Andal Aarvik <[email protected]> Co-authored-by: RitaDias <[email protected]> Co-authored-by: RitaDias <[email protected]> Co-authored-by: Per-Kristian Nordnes <[email protected]> Co-authored-by: ecospark[bot] <128108030+ecospark[bot]@users.noreply.github.com> Co-authored-by: github-merge-queue[bot] <118344674+github-merge-queue[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: cngonzalez <[email protected]>
* fix(core): set scroll boundary to nearest * fix(core): add smooth scroll behavior * fix(sanity): remove smooth behavior --------- Co-authored-by: RitaDias <[email protected]>
Description
There was an issue with deleting characters in a pte where the length of the paragraph exceeded the size of the box - it would jump to the top of the pte.
By setting the
block
in thescrollIntoView()
tonearest
instead ofstart
, which means the browser will alignleafEl
with the least amount of vertical movement.Screen.Recording.2024-04-10.at.14.37.46.mov
Fixes 5648
What to review
Deleting characters will not cause the view to jump to the top.
Testing
Notes for release
Fixes issue where the cursor would move out of viewpoint when deleting a character in PTE.
Does changing this have any other implications in the studio?