surfstudio / ReactiveDataDisplayManager

MIT License
34 stars 13 forks source link

[SPT-1363] Таблица - плагин TwoDirectionalPaginatable #237

Closed Golubeykov closed 1 year ago

Golubeykov commented 1 year ago

SPT-1363

Что сделано?

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

Добавить новые возможности для библиотеки. Как пример, обратная пагинация может использоваться в чатах.

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

Чтобы воспроизвести баг надо: Зайти в Table -> Table with two direction pagination -> Проскроллить вниз / вверх, проверить пагинацию

Демо https://github.com/surfstudio/ReactiveDataDisplayManager/assets/47087482/57a26e39-00f5-4ac6-a5f8-2e9271b819a1
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 5084a8c29b14651fd18568cfd66c2ebb20d65dfa

codecov-commenter commented 1 year ago

Codecov Report

Patch coverage: 96.15% and project coverage change: +0.18 :tada:

Comparison is base (857d479) 69.63% compared to head (5084a8c) 69.82%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## develop #237 +/- ## =========================================== + Coverage 69.63% 69.82% +0.18% =========================================== Files 141 142 +1 Lines 4160 4209 +49 Branches 1876 1896 +20 =========================================== + Hits 2897 2939 +42 - Misses 1165 1173 +8 + Partials 98 97 -1 ``` | Flag | Coverage Δ | | |---|---|---| | uitests | `57.92% <96.15%> (+0.76%)` | :arrow_up: | | unittests | `39.22% <9.61%> (-0.44%)` | :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/237?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=surfstudio) | Coverage Δ | | |---|---|---| | [.../PluginAction/TableBackwardPaginatablePlugin.swift](https://app.codecov.io/gh/surfstudio/ReactiveDataDisplayManager/pull/237?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=surfstudio#diff-U291cmNlL1RhYmxlL1BsdWdpbnMvUGx1Z2luQWN0aW9uL1RhYmxlQmFja3dhcmRQYWdpbmF0YWJsZVBsdWdpbi5zd2lmdA==) | `95.45% <95.45%> (ø)` | | | [Source/Table/Manager/BaseTableManager.swift](https://app.codecov.io/gh/surfstudio/ReactiveDataDisplayManager/pull/237?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=surfstudio#diff-U291cmNlL1RhYmxlL01hbmFnZXIvQmFzZVRhYmxlTWFuYWdlci5zd2lmdA==) | `82.72% <100.00%> (ø)` | | | [Source/Table/Manager/ManualTableManager.swift](https://app.codecov.io/gh/surfstudio/ReactiveDataDisplayManager/pull/237?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=surfstudio#diff-U291cmNlL1RhYmxlL01hbmFnZXIvTWFudWFsVGFibGVNYW5hZ2VyLnN3aWZ0) | `82.77% <100.00%> (ø)` | | | [.../Plugins/PluginAction/TablePaginatablePlugin.swift](https://app.codecov.io/gh/surfstudio/ReactiveDataDisplayManager/pull/237?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=surfstudio#diff-U291cmNlL1RhYmxlL1BsdWdpbnMvUGx1Z2luQWN0aW9uL1RhYmxlUGFnaW5hdGFibGVQbHVnaW4uc3dpZnQ=) | `91.66% <100.00%> (+0.75%)` | :arrow_up: | ... and [2 files with indirect coverage changes](https://app.codecov.io/gh/surfstudio/ReactiveDataDisplayManager/pull/237/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.

Ikeret commented 1 year ago

Нашел проблему с кнопкой ретрай не в том месте. Дело в статик полях UILabel.base и UIButton.base которые используются для PaginatorView. Я в одном из ПР об этом писал, но видимо это поправлено только в 7.4

Суть в том, что лейбл с кнопкой сначала добавляются в футер вью, а затем добавляются в хедер вью. И из-за этого они пропадают из футера.

image
Golubeykov commented 1 year ago

Нашел проблему с кнопкой ретрай не в том месте. Дело в статик полях UILabel.base и UIButton.base которые используются для PaginatorView. Я в одном из ПР об этом писал, но видимо это поправлено только в 7.4

Суть в том, что лейбл с кнопкой сначала добавляются в футер вью, а затем добавляются в хедер вью. И из-за этого они пропадают из футера.

image

В моих гипотезах как пофиксить этого варианта не было, так что еще бы долго возился) Спасибо за помощь! 🔥