fix: автоскролл для новых сотрудников теперь инициализируется после рендеринга
- Перенесена инициализация автоскролла внутрь newEmployeesScroller - Динамический импорт autoScrollerHandler после создания DOM - Добавлена задержка 100мс для гарантии обновления DOM - Убран преждевременный вызов initAutoScroller из шаблона - Автоскролл запускается только когда элементы уже отрендерены
This commit is contained in:
parent
c9a440c3d3
commit
b964f89c36
@ -62,6 +62,29 @@ export class NewEmployeesScroller {
|
||||
const scrollerHtml = this.createScrollerHtml(employees);
|
||||
this.container.innerHTML = scrollerHtml;
|
||||
this.container.style.display = 'block';
|
||||
|
||||
// Инициализируем автоскролл после рендеринга
|
||||
this.initAutoScroll();
|
||||
}
|
||||
|
||||
/**
|
||||
* Инициализация автоскролла для созданного скроллера
|
||||
*/
|
||||
async initAutoScroll() {
|
||||
try {
|
||||
// Динамический импорт модуля автоскролла
|
||||
const { initAutoScroller } = await import('/static/js/components/autoScrollerHandler.js');
|
||||
|
||||
// Небольшая задержка для гарантии, что DOM обновился
|
||||
setTimeout(() => {
|
||||
initAutoScroller({
|
||||
selector: '.js-join-scroller',
|
||||
speed: 0.5
|
||||
});
|
||||
}, 100);
|
||||
} catch (error) {
|
||||
console.warn('Failed to initialize auto-scroller:', error);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -49,18 +49,12 @@
|
||||
<script src="{% static 'js/components/feedComments.js' %}"></script>
|
||||
|
||||
<script type="module">
|
||||
import { initAutoScroller } from "{% static 'js/components/autoScrollerHandler.js' %}";
|
||||
import { initCreatePostModal } from "{% static 'js/components/createPostModal.js' %}";
|
||||
import { FeedList } from '{% static "js/components/feedList.js" %}';
|
||||
import { ListFilter, createDataAttrMatcher } from '{% static "js/components/listFilter.js" %}';
|
||||
import { initNewEmployeesScroller } from '{% static "js/components/newEmployeesScroller.js" %}';
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
initAutoScroller({
|
||||
selector: '.js-join-scroller',
|
||||
speed: 0.5 // пикселей за кадр (примерно 30px/сек)
|
||||
});
|
||||
|
||||
// Инициализация модала создания публикации
|
||||
const createModal = initCreatePostModal({
|
||||
apiUrl: '{% url "api:v1:posts-list" %}'
|
||||
@ -73,7 +67,7 @@
|
||||
params: { type: 'company' }
|
||||
});
|
||||
|
||||
// 🆕 Загрузка новых сотрудников через AJAX
|
||||
// 🆕 Загрузка новых сотрудников через AJAX (автоскролл инициализируется внутри)
|
||||
initNewEmployeesScroller('newEmployeesContainer');
|
||||
|
||||
// Обновляем ленту после создания поста
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user