fix: OS gallery accordion auto-collapses other sections when one opens
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -239,8 +239,14 @@ add_hook('ClientAreaFooterOutput', 1, function ($vars) {
|
|||||||
|
|
||||||
header.addEventListener('click', function() {
|
header.addEventListener('click', function() {
|
||||||
var isOpen = grid.style.display !== 'none';
|
var isOpen = grid.style.display !== 'none';
|
||||||
grid.style.display = isOpen ? 'none' : '';
|
// Collapse all
|
||||||
arrow.textContent = isOpen ? '\u25B6' : '\u25BC';
|
galleryContainer.querySelectorAll('.vf-os-grid').forEach(function(g) { g.style.display = 'none'; });
|
||||||
|
galleryContainer.querySelectorAll('.vf-os-category-arrow').forEach(function(a) { a.textContent = '\u25B6'; });
|
||||||
|
// Toggle this one
|
||||||
|
if (!isOpen) {
|
||||||
|
grid.style.display = '';
|
||||||
|
arrow.textContent = '\u25BC';
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
cat.templates.forEach(function(tpl) {
|
cat.templates.forEach(function(tpl) {
|
||||||
|
|||||||
@@ -335,8 +335,14 @@ function vfRenderOsGallery(container, data, hiddenInput) {
|
|||||||
|
|
||||||
header.on("click", function () {
|
header.on("click", function () {
|
||||||
var isVisible = grid.is(":visible");
|
var isVisible = grid.is(":visible");
|
||||||
grid.slideToggle(200);
|
// Collapse all other categories
|
||||||
arrow.html(isVisible ? '▶' : '▼');
|
$container.find(".vf-os-grid").slideUp(200);
|
||||||
|
$container.find(".vf-os-category-arrow").html('▶');
|
||||||
|
// Toggle this one
|
||||||
|
if (!isVisible) {
|
||||||
|
grid.slideDown(200);
|
||||||
|
arrow.html('▼');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$.each(category.templates, function (ti, tpl) {
|
$.each(category.templates, function (ti, tpl) {
|
||||||
|
|||||||
Reference in New Issue
Block a user