Size: a a a

Советский Angular

2021 May 19

E

Eugene in Советский Angular
а, блин, мы убираем тики, но поток при этом в зоне остается
источник

AI

Alex Inkin in Советский Angular
Получается, что ты слушаешь скролл, но при этом тики в зону не кидаешь, так как оно у тебя вне зоны идёт. Потом фильтр выполнился, некст пролетел дальше и попал в tuiZonefull оператор, который поток в зону вернул и подгрузка новых элементов уже в зоне произойдёт.
источник

AI

Alex Inkin in Советский Angular
Он в зону возвращается, если долетел до оператора возврата. Так мы убираем тики для тех случаев, которые мы отсеяли.
источник

GM

Gleb Mikheev in Советский Angular
Дадада, бомба, я это через отдельный сервис делал, так явно удобнее
источник

AI

Alex Inkin in Советский Angular
Про ресайз на демо портале нет, только на вики:
https://github.com/TinkoffCreditSystems/taiga-ui/wiki/TuiResizeService
Да там и нечего писать особо
источник

AI

Alex Inkin in Советский Angular
Ага, я считаю это одной из топовых штук в CDK пакете.
источник

GM

Gleb Mikheev in Советский Angular
+
источник

VI

Vadim Ivanov in Советский Angular
У меня есть задача как раз отслеживать размер контейнера и перестраивать сетку внутри. Ваш пакет подойдёт?
источник

AI

Alex Inkin in Советский Angular
Ага. Ещё есть директива, которая этот сервис превращает в аутпут, если тебе так удобнее:
https://github.com/TinkoffCreditSystems/taiga-ui/blob/main/projects/cdk/directives/resize/resize.directive.ts
источник

AI

Alex Inkin in Советский Angular
Если тебе не надо поддерживать старые браузеры:
https://caniuse.com/resizeobserver
То можно и прямо вот это:
https://github.com/ng-web-apis/resize-observer
источник

VI

Vadim Ivanov in Советский Angular
это просто обёртка над resize-observer для ng?
источник

AI

Alex Inkin in Советский Angular
Ага. А в Taiga она же, только с фоллбэком на поллинг
источник

VI

Vadim Ivanov in Советский Angular
Поллинг подписывается на изменение ширины окна и постоянно опрашивает ширину нужного контейнера?
источник

AI

Alex Inkin in Советский Angular
Нет, поллинг просто опрашивает, не подписывается на окно. Ресайз может не только из-за окна случиться. Могут появиться новые элементы, анимации CSS, изменение содержимого и т.д.
источник

DD

Dmitry Drobyshev in Советский Angular
А нельзя scheduler использовать, который animationFrameScheduler?
источник

AI

Alex Inkin in Советский Angular
Можно, но зачем?
источник

VI

Vadim Ivanov in Советский Angular
ясно)
источник

DT

Dmitriy Teplov in Советский Angular
Круто👍
источник

DD

Dmitry Drobyshev in Советский Angular
Ну конкретно с ресайзом должно же лучше работать. Там же отдельная очередь под отрисовку. А тут ты просто засовываешь в макротаски
источник

AI

Alex Inkin in Советский Angular
Тут лучше, чтобы все байндинги ангуляра дошли до стабильности, я думаю. Вообще оно по сути ничего не добавит, а реализацию усложнит для восприятия, как мне кажется :)
источник