Skip to content
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

PullToRefresh component #181

Merged
merged 2 commits into from
Feb 1, 2019
Merged

PullToRefresh component #181

merged 2 commits into from
Feb 1, 2019

Conversation

fedorov-xyz
Copy link
Contributor

No description provided.

src/components/PullToRefresh/PullToRefresh.css Outdated Show resolved Hide resolved
src/components/PullToRefresh/PullToRefresh.css Outdated Show resolved Hide resolved
src/components/PullToRefresh/PullToRefresh.css Outdated Show resolved Hide resolved
src/components/PullToRefresh/PullToRefresh.js Outdated Show resolved Hide resolved
@fedorov-xyz fedorov-xyz merged commit ba78a3a into master Feb 1, 2019
@fedorov-xyz fedorov-xyz deleted the pulltorefresh branch February 1, 2019 11:25
inomdzhon added a commit that referenced this pull request Feb 13, 2024
h2. Описание

Глобальный обработчик на `touchmove` влиял на поведение элементов с горизонтальным скроллом (например, `HorizontalScroll`) – нужно было проводить пальцем ровно по оси X, чтобы проскроллить по горизонтали.

<details><summary>Видео 1. Поправленный пример из issue6530</summary>
<p>

https://github.com/VKCOM/VKUI/assets/5850354/d3aa291f-6274-470b-9ccb-3e9e19e544ab

</p>
</details> 

После удаления проблемы, из-за которой был добавлен этот обработчик (#5967), не смог воспроизвести. Даже если такая проблема и есть, то думаю она не критичней, в отличие от блокировки горизонтального скролла. Удалил тест, который проверял глобальный обработчик, т.к. он больше не проходит.

Заодно поправил проблему, когда при работе спиннера можно было бы потянуть сверху вниз и вызвать нативный **pull-to-refresh** – для исправления, мы сохраняем св-во `overscroll-behavior` на `document.body` пока не закончится обновление. Вынес логику в эффект.

<details><summary>Видео 2. Базовый пример после изменений</summary>
<p>

Есть момент, что при обновлении можно проскроллить вниз. Не стал этот момент трогать, т.к. `PullToRefresh` работает локально под конкретный контейнер. Ввиду этого, не уверен, что стоит блокировать скролл на `document.body`.

https://github.com/VKCOM/VKUI/assets/5850354/b2baccc9-3cfa-415a-ab42-7ebd93c09114

</p>
</details> 

- caused by #5967

h2.  Изменения

- Избавился от `useTimeout`, т.к. он скорее усложняет код, чем облегчает его.
- В `cancelEvent` убрал цикл `while`. Не понял для чего он. По истории коммитов, такая реализация была сразу #181. Возможности, раньше по особенном работал `Touch`.
- Добавил больше данных в примере Storybook, чтобы увеличить высоту контента под скролл.

**UPD**

см. #6540 (comment)
inomdzhon added a commit that referenced this pull request Feb 13, 2024
h2. Описание

Глобальный обработчик на `touchmove` влиял на поведение элементов с горизонтальным скроллом (например, `HorizontalScroll`) – нужно было проводить пальцем ровно по оси X, чтобы проскроллить по горизонтали.

<details><summary>Видео 1. Поправленный пример из issue6530</summary>
<p>

https://github.com/VKCOM/VKUI/assets/5850354/d3aa291f-6274-470b-9ccb-3e9e19e544ab

</p>
</details>

После удаления проблемы, из-за которой был добавлен этот обработчик (#5967), не смог воспроизвести. Даже если такая проблема и есть, то думаю она не критичней, в отличие от блокировки горизонтального скролла. Удалил тест, который проверял глобальный обработчик, т.к. он больше не проходит.

Заодно поправил проблему, когда при работе спиннера можно было бы потянуть сверху вниз и вызвать нативный **pull-to-refresh** – для исправления, мы сохраняем св-во `overscroll-behavior` на `document.body` пока не закончится обновление. Вынес логику в эффект.

<details><summary>Видео 2. Базовый пример после изменений</summary>
<p>

Есть момент, что при обновлении можно проскроллить вниз. Не стал этот момент трогать, т.к. `PullToRefresh` работает локально под конкретный контейнер. Ввиду этого, не уверен, что стоит блокировать скролл на `document.body`.

https://github.com/VKCOM/VKUI/assets/5850354/b2baccc9-3cfa-415a-ab42-7ebd93c09114

</p>
</details>

- caused by #5967

h2.  Изменения

- Избавился от `useTimeout`, т.к. он скорее усложняет код, чем облегчает его.
- В `cancelEvent` убрал цикл `while`. Не понял для чего он. По истории коммитов, такая реализация была сразу #181. Возможности, раньше по особенном работал `Touch`.
- Добавил больше данных в примере Storybook, чтобы увеличить высоту контента под скролл.

**UPD**

см. #6540 (comment)
inomdzhon added a commit that referenced this pull request Feb 13, 2024
h2. Описание

Глобальный обработчик на `touchmove` влиял на поведение элементов с горизонтальным скроллом (например, `HorizontalScroll`) – нужно было проводить пальцем ровно по оси X, чтобы проскроллить по горизонтали.

<details><summary>Видео 1. Поправленный пример из issue6530</summary>
<p>

https://github.com/VKCOM/VKUI/assets/5850354/d3aa291f-6274-470b-9ccb-3e9e19e544ab

</p>
</details>

После удаления проблемы, из-за которой был добавлен этот обработчик (#5967), не смог воспроизвести. Даже если такая проблема и есть, то думаю она не критичней, в отличие от блокировки горизонтального скролла. Удалил тест, который проверял глобальный обработчик, т.к. он больше не проходит.

Заодно поправил проблему, когда при работе спиннера можно было бы потянуть сверху вниз и вызвать нативный **pull-to-refresh** – для исправления, мы сохраняем св-во `overscroll-behavior` на `document.body` пока не закончится обновление. Вынес логику в эффект.

<details><summary>Видео 2. Базовый пример после изменений</summary>
<p>

Есть момент, что при обновлении можно проскроллить вниз. Не стал этот момент трогать, т.к. `PullToRefresh` работает локально под конкретный контейнер. Ввиду этого, не уверен, что стоит блокировать скролл на `document.body`.

https://github.com/VKCOM/VKUI/assets/5850354/b2baccc9-3cfa-415a-ab42-7ebd93c09114

</p>
</details>

- caused by #5967

h2.  Изменения

- Избавился от `useTimeout`, т.к. он скорее усложняет код, чем облегчает его.
- В `cancelEvent` убрал цикл `while`. Не понял для чего он. По истории коммитов, такая реализация была сразу #181. Возможности, раньше по особенном работал `Touch`.
- Добавил больше данных в примере Storybook, чтобы увеличить высоту контента под скролл.

**UPD**

см. #6540 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants