[ВОЛК] фикс возврата на свою страницу из редактора площадок
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
+40
-2
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user