MediaWiki:Common.js: различия между версиями

Нет описания правки
Нет описания правки
Строка 44: Строка 44:
     });
     });
});
});
// Сохраняем состояние дерева в локальное хранилище
function saveTreeState() {
    var treeState = {};
    $('.CategoryTreeToggle').each(function() {
        var $toggle = $(this);
        treeState[$toggle.closest('.CategoryTreeItem').attr('id')] = $toggle.attr('aria-expanded');
    });
    localStorage.setItem('treeState', JSON.stringify(treeState));
}
// Восстанавливаем состояние дерева из локального хранилища
function restoreTreeState() {
    var treeState = localStorage.getItem('treeState');
    if (treeState) {
        treeState = JSON.parse(treeState);
        $('.CategoryTreeToggle').each(function() {
            var $toggle = $(this);
            var itemId = $toggle.closest('.CategoryTreeItem').attr('id');
            if (treeState[itemId] === 'true') {
                $toggle.click(); // Раскрываем категорию
            }
        });
    }
}
// Добавляем обработчик для сохранения состояния при клике на кнопки раскрытия/закрытия
$('.CategoryTreeToggle').on('click', saveTreeState);
// Восстанавливаем состояние дерева при загрузке страницы
$(document).ready(restoreTreeState);