-
Notifications
You must be signed in to change notification settings - Fork 186
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(HorizontalScroll): fix scroll when mouse over arrow #7882
fix(HorizontalScroll): fix scroll when mouse over arrow #7882
Conversation
size-limit report 📦
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. |
e2e tests |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #7882 +/- ##
=======================================
Coverage 95.17% 95.17%
=======================================
Files 376 376
Lines 11041 11034 -7
Branches 3664 3664
=======================================
- Hits 10508 10502 -6
+ Misses 533 532 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
👀 Docs deployed
Commit b661694 |
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.
Классно! 👍
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.
👍
(cherry picked from commit f198947)
(cherry picked from commit f198947)
В **Firefox** событие `onwheel` на контейнере и одновременная прокрутка скроллируемого элемента (`scrollBy` или `scrollLeft`) **тач-падом** негативно влияет на перерисовку контента во время скролла. Чтобы решить проблему #7774, можно навесить `onwheel` на каждую из стрелок навигации, но у этого решения есть свой баг: если начать крутить колесо с сначала или конца, то появление стрелки навигации заблоркирует прокрутку, то тех пор пока не двинешь мышкой над ней, чтобы началась обработка события `onwheel` на стрелке. Из-за этих проблем оптимальным будет откатить фикс #7774 и пометить его как **Won't Fix**. Это будет являться ограничением компонента. Тестировалось на версиях **Firefox** `134` и `135`. Наблюдается с `v6.7.4`. - reverts #7882, #8177
- reverts #7882, #8177 h2. Описание В **Firefox** событие `onwheel` на контейнере и одновременная прокрутка скроллируемого элемента (`scrollBy` или `scrollLeft`) **тач-падом** негативно влияет на перерисовку контента во время скролла. Чтобы решить проблему #7774, можно навесить `onwheel` на каждую из стрелок навигации, но у этого решения есть свой баг: если начать крутить колесо с сначала или конца, то появление стрелки навигации заблоркирует прокрутку, то тех пор пока не двинешь мышкой над ней, чтобы началась обработка события `onwheel` на стрелке. Из-за этих проблем оптимальным будет откатить фикс #7774 и пометить его как **Won't Fix**. Это будет являться ограничением компонента. Тестировалось на версиях **Firefox** `134` и `135`. Наблюдается с `v6.7.4` до `v7.1.1` при передаче `scrollOnAnyWheel`, а с `v7.1.2` всегда (связано с #8177). https://github.com/user-attachments/assets/008907de-e6bd-4807-bbea-b0e7f69a8605 h2. Release notes h2. Исправления - HorizontalScroll: отменён фикс #7774 из-за проблем перерисовок в **Firefox** при прокрутке через тач-пад, теперь невозможность прокрутить колесом мыши над стрелкой навигации будет считаться ограничением компонента
- reverts #7882, #8177 h2. Описание В **Firefox** событие `onwheel` на контейнере и одновременная прокрутка скроллируемого элемента (`scrollBy` или `scrollLeft`) **тач-падом** негативно влияет на перерисовку контента во время скролла. Чтобы решить проблему #7774, можно навесить `onwheel` на каждую из стрелок навигации, но у этого решения есть свой баг: если начать крутить колесо с сначала или конца, то появление стрелки навигации заблоркирует прокрутку, то тех пор пока не двинешь мышкой над ней, чтобы началась обработка события `onwheel` на стрелке. Из-за этих проблем оптимальным будет откатить фикс #7774 и пометить его как **Won't Fix**. Это будет являться ограничением компонента. Тестировалось на версиях **Firefox** `134` и `135`. Наблюдается с `v6.7.4` до `v7.1.1` при передаче `scrollOnAnyWheel`, а с `v7.1.2` всегда (связано с #8177). https://github.com/user-attachments/assets/008907de-e6bd-4807-bbea-b0e7f69a8605 h2. Release notes h2. Исправления - HorizontalScroll: отменён фикс #7774 из-за проблем перерисовок в **Firefox** при прокрутке через тач-пад, теперь невозможность прокрутить колесом мыши над стрелкой навигации будет считаться ограничением компонента
) - reverts #7882, #8177 h2. Описание В **Firefox** событие `onwheel` на контейнере и одновременная прокрутка скроллируемого элемента (`scrollBy` или `scrollLeft`) **тач-падом** негативно влияет на перерисовку контента во время скролла. Чтобы решить проблему #7774, можно навесить `onwheel` на каждую из стрелок навигации, но у этого решения есть свой баг: если начать крутить колесо с сначала или конца, то появление стрелки навигации заблоркирует прокрутку, то тех пор пока не двинешь мышкой над ней, чтобы началась обработка события `onwheel` на стрелке. Из-за этих проблем оптимальным будет откатить фикс #7774 и пометить его как **Won't Fix**. Это будет являться ограничением компонента. Тестировалось на версиях **Firefox** `134` и `135`. Наблюдается с `v6.7.4` до `v7.1.1` при передаче `scrollOnAnyWheel`, а с `v7.1.2` всегда (связано с #8177). https://github.com/user-attachments/assets/008907de-e6bd-4807-bbea-b0e7f69a8605 h2. Release notes h2. Исправления - HorizontalScroll: отменён фикс #7774 из-за проблем перерисовок в **Firefox** при прокрутке через тач-пад, теперь невозможность прокрутить колесом мыши над стрелкой навигации будет считаться ограничением компонента
Описание
Сейчас при наведении на стрелки в компоненте
HorizontalScroll
не происходит скролл колесиком мыши.Изменения
HorizontalScroll
, а именно избавился от подписок на событияwheel
иscroll
черезuseEventListener
. Теперь используется стандартный механизмReact
для подписки на событияwheel
события на стрелках и обработал их, как событиеwheel
на scroll контейнереRelease notes
Исправления