surfstudio / ReactiveDataDisplayManager

MIT License
34 stars 13 forks source link

[SPT-1514] Попробовать затянуть подскролл прямо в плагин backward paginatable #243

Closed Golubeykov closed 1 year ago

Golubeykov commented 1 year ago

SPT-1514

Что сделано?

Зачем это сделано?

Чтобы пользователям не приходилось

На что обратить внимание

При обратной пагинации (если скроллить наверх), при после вставки новых ячеек в начало, сбивается позиция изначального скролла примерно на 20 единиц. При чем эта проблема актуальна только для второй страницы скролла. Дальнейшие страницы грузятся с корректным возвратом на изначальную позицию скролла. В таблице получилось пофиксить это сменив стиль с Grouped на Plain (но это тоже не целевое решение). В коллекции такого нет. На момент создания ПРа пофиксить не получилось. Поэтому ПР драфтовый.

Как протестировать?

Чтобы воспроизвести проблему надо: Зайти в Collection/Table -> Collection/Table with two direction pagination -> Проскроллить вверх.

Демо https://github.com/surfstudio/ReactiveDataDisplayManager/assets/47087482/017ba0b4-7532-43c8-8eac-b01140b1f5bf
github-actions[bot] commented 1 year ago
Messages
:book: Great! We didn't found any violations in your changes. Congratulations 🎉

Generated by :no_entry_sign: Danger Swift against b329a6ccb439d2598959bc563e53ea8d3701a193

codecov-commenter commented 1 year ago

Codecov Report

Patch coverage has no change and project coverage change: -32.62 :warning:

Comparison is base (3700921) 70.50% compared to head (b329a6c) 37.88%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## develop #243 +/- ## ============================================ - Coverage 70.50% 37.88% -32.62% ============================================ Files 146 146 Lines 4339 4379 +40 Branches 1958 1962 +4 ============================================ - Hits 3059 1659 -1400 - Misses 1172 2654 +1482 + Partials 108 66 -42 ``` | Flag | Coverage Δ | | |---|---|---| | uitests | `?` | | | unittests | `37.88% <0.00%> (-0.35%)` | :arrow_down: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=surfstudio#carryforward-flags-in-the-pull-request-comment) to find out more. | [Impacted Files](https://app.codecov.io/gh/surfstudio/ReactiveDataDisplayManager/pull/243?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=surfstudio) | Coverage Δ | | |---|---|---| | [...ins/PluginAction/CollectionPaginatablePlugin.swift](https://app.codecov.io/gh/surfstudio/ReactiveDataDisplayManager/pull/243?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=surfstudio#diff-U291cmNlL0NvbGxlY3Rpb24vUGx1Z2lucy9QbHVnaW5BY3Rpb24vQ29sbGVjdGlvblBhZ2luYXRhYmxlUGx1Z2luLnN3aWZ0) | `21.25% <0.00%> (-61.19%)` | :arrow_down: | | [.../PluginAction/CollectionTopPaginatablePlugin.swift](https://app.codecov.io/gh/surfstudio/ReactiveDataDisplayManager/pull/243?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=surfstudio#diff-U291cmNlL0NvbGxlY3Rpb24vUGx1Z2lucy9QbHVnaW5BY3Rpb24vQ29sbGVjdGlvblRvcFBhZ2luYXRhYmxlUGx1Z2luLnN3aWZ0) | `0.00% <0.00%> (ø)` | | | [.../Plugins/PluginAction/TablePaginatablePlugin.swift](https://app.codecov.io/gh/surfstudio/ReactiveDataDisplayManager/pull/243?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=surfstudio#diff-U291cmNlL1RhYmxlL1BsdWdpbnMvUGx1Z2luQWN0aW9uL1RhYmxlUGFnaW5hdGFibGVQbHVnaW4uc3dpZnQ=) | `32.25% <0.00%> (-59.41%)` | :arrow_down: | | [...ugins/PluginAction/TableTopPaginatablePlugin.swift](https://app.codecov.io/gh/surfstudio/ReactiveDataDisplayManager/pull/243?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=surfstudio#diff-U291cmNlL1RhYmxlL1BsdWdpbnMvUGx1Z2luQWN0aW9uL1RhYmxlVG9wUGFnaW5hdGFibGVQbHVnaW4uc3dpZnQ=) | `0.00% <0.00%> (ø)` | | ... and [81 files with indirect coverage changes](https://app.codecov.io/gh/surfstudio/ReactiveDataDisplayManager/pull/243/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=surfstudio)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

NullIsOne commented 1 year ago

Счетчик currentPage в примере один на двоих, поэтому возможны такие ситуации

https://github.com/surfstudio/ReactiveDataDisplayManager/assets/28707156/2dbf90a2-d22f-44c2-a1f6-e0340a0c0343

https://github.com/surfstudio/ReactiveDataDisplayManager/assets/28707156/18f5200f-8c5c-43ae-a70b-ec118591d39f

Надо поправить.

Golubeykov commented 1 year ago

Счетчик currentPage в примере один на двоих, поэтому возможны такие ситуации

Simulator.Screen.Recording.-.iPhone.14.-.2023-07-10.at.13.05.59.mp4 Simulator.Screen.Recording.-.iPhone.14.-.2023-07-10.at.13.05.12.mp4 Надо поправить.

Поправил 👍🏻