[ВОЛК] фикс возврата на свою страницу из редактора площадок
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 urlParams = new URLSearchParams(window.location.search);
|
||||||
const selectedPostId = urlParams.get('selected_post');
|
const selectedPostId = urlParams.get('selected_post');
|
||||||
const selectedEventId = urlParams.get('selected_event');
|
const selectedEventId = urlParams.get('selected_event');
|
||||||
|
const selectedCategoryId = urlParams.get('selected_category');
|
||||||
const tabParam = urlParams.get('tab');
|
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, активируем вкладку событий
|
// Если есть selectedEventId или параметр tab=events, активируем вкладку событий
|
||||||
if (selectedEventId || tabParam === 'events') {
|
if (selectedEventId || tabParam === 'events') {
|
||||||
const eventsTab = document.getElementById('events-tab');
|
const eventsTab = document.getElementById('events-tab');
|
||||||
@@ -1039,8 +1055,8 @@
|
|||||||
}
|
}
|
||||||
// Если есть selectedPostId, активируем вкладку постов (по умолчанию и так активна, но если есть selectedEventId, то переключится на события)
|
// Если есть selectedPostId, активируем вкладку постов (по умолчанию и так активна, но если есть selectedEventId, то переключится на события)
|
||||||
if (selectedPostId) {
|
if (selectedPostId) {
|
||||||
// Убедимся, что вкладка постов активна, если нет selectedEventId
|
// Убедимся, что вкладка постов активна, если нет selectedEventId и selectedCategoryId
|
||||||
if (!selectedEventId && tabParam !== 'events') {
|
if (!selectedEventId && !selectedCategoryId && tabParam !== 'events' && tabParam !== 'categories') {
|
||||||
const postsTab = document.getElementById('posts-tab');
|
const postsTab = document.getElementById('posts-tab');
|
||||||
if (postsTab) {
|
if (postsTab) {
|
||||||
const tabInstance = new bootstrap.Tab(postsTab);
|
const tabInstance = new bootstrap.Tab(postsTab);
|
||||||
@@ -1057,6 +1073,18 @@
|
|||||||
highlightSelectedEvent(selectedEventId);
|
highlightSelectedEvent(selectedEventId);
|
||||||
showEventDetails(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);
|
document.getElementById('refresh-posts-btn').addEventListener('click', loadPosts);
|
||||||
@@ -1945,6 +1973,16 @@
|
|||||||
syncColumnWidths('categories');
|
syncColumnWidths('categories');
|
||||||
reinitializeColumnResizers('categories');
|
reinitializeColumnResizers('categories');
|
||||||
}, 0);
|
}, 0);
|
||||||
|
|
||||||
|
// Автоматически выбираем категорию из параметра URL
|
||||||
|
const urlParams = new URLSearchParams(window.location.search);
|
||||||
|
const selectedCategoryId = urlParams.get('selected_category');
|
||||||
|
if (selectedCategoryId) {
|
||||||
|
// Выделяем категорию
|
||||||
|
highlightSelectedCategory(selectedCategoryId);
|
||||||
|
// Показываем детали категории
|
||||||
|
showCategoryDetails(selectedCategoryId);
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
tableBody.innerHTML = `
|
tableBody.innerHTML = `
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
Reference in New Issue
Block a user