Skip to content

Conversation

@elenachekhina
Copy link
Owner

@elenachekhina elenachekhina commented Jul 29, 2023

Задание:
Необходимо перенести логику перманентных элементов из Turbo в morphdom и сделать так, чтобы элементы остались в DOM-дереве, если нет необходимости их перерисовывать.

Критерии выполнения

Прогресс-бар плеера не прерывается при навигации по приложению
Прогресс-бар стартует заново при смене трека в плеера
Советы по реализации

Используйте опцию onBeforeElUpdated в параметрах morphdom.

https://github.com/patrick-steele-idem/morphdom

Copy link

@palkan palkan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Как я писал в чате, могут быть проблемы при одновременном использовании data-turbo-permanent и data-turbo-morph-permanent — это как раз наш случай тут. Из-за наличия обычного permanent элемента, morphdom перемонтирует плеер на странице. Починить можно, переписав другие элементы на data-turbo-morph-permanent.

if (prevEl.hasAttribute('data-turbo-morph-permanent')) {
return false;
}
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Здесь лучше добавить явный return true; сейчас тоже работает (там внутри проверяют === false), но лучше соблюдать интерфейс.

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