[ВОЛК] фикс возврата на свою страницу из редактора площадок
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
2025-12-25 21:38:08 +03:00
parent 2cbc2a1b46
commit 685938d9f7
+40 -2
View File
@@ -1023,7 +1023,23 @@
const urlParams = new URLSearchParams(window.location.search);
const selectedPostId = urlParams.get('selected_post');
const selectedEventId = urlParams.get('selected_event');
const selectedCategoryId = urlParams.get('selected_category');
const tabParam = urlParams.get('tab');
// Если есть selectedCategoryId или параметр tab=categories, активируем вкладку площадок
{% if g.workmode == 'VOLK' %}
if (selectedCategoryId || tabParam === 'categories') {
const categoriesTab = document.getElementById('categories-tab');
if (categoriesTab) {
// Активируем вкладку площадок
const tabInstance = new bootstrap.Tab(categoriesTab);
tabInstance.show();
// Также загружаем площадки, если они еще не загружены
if (document.getElementById('categories-table').children.length === 1) {
loadCategoriesList();
}
}
}
{% endif %}
// Если есть selectedEventId или параметр tab=events, активируем вкладку событий
if (selectedEventId || tabParam === 'events') {
const eventsTab = document.getElementById('events-tab');
@@ -1039,8 +1055,8 @@
}
// Если есть selectedPostId, активируем вкладку постов (по умолчанию и так активна, но если есть selectedEventId, то переключится на события)
if (selectedPostId) {
// Убедимся, что вкладка постов активна, если нет selectedEventId
if (!selectedEventId && tabParam !== 'events') {
// Убедимся, что вкладка постов активна, если нет selectedEventId и selectedCategoryId
if (!selectedEventId && !selectedCategoryId && tabParam !== 'events' && tabParam !== 'categories') {
const postsTab = document.getElementById('posts-tab');
if (postsTab) {
const tabInstance = new bootstrap.Tab(postsTab);
@@ -1057,6 +1073,18 @@
highlightSelectedEvent(selectedEventId);
showEventDetails(selectedEventId);
}
{% if g.workmode == 'VOLK' %}
if (selectedCategoryId) {
// Ждем загрузки списка категорий перед выделением
setTimeout(() => {
highlightSelectedCategory(selectedCategoryId);
showCategoryDetails(selectedCategoryId);
// Убираем параметр из URL без перезагрузки страницы
const newUrl = window.location.pathname + (selectedPostId || selectedEventId ? window.location.search.replace(/[?&]selected_category=[^&]*/, '').replace(/[?&]tab=categories/, '') : '');
window.history.replaceState({}, document.title, newUrl);
}, 100);
}
{% endif %}
});
// Кнопка обновления постов
document.getElementById('refresh-posts-btn').addEventListener('click', loadPosts);
@@ -1945,6 +1973,16 @@
syncColumnWidths('categories');
reinitializeColumnResizers('categories');
}, 0);
// Автоматически выбираем категорию из параметра URL
const urlParams = new URLSearchParams(window.location.search);
const selectedCategoryId = urlParams.get('selected_category');
if (selectedCategoryId) {
// Выделяем категорию
highlightSelectedCategory(selectedCategoryId);
// Показываем детали категории
showCategoryDetails(selectedCategoryId);
}
} catch (error) {
tableBody.innerHTML = `
<tr>