MediaWiki:Common.js: Difference between revisions

mNo edit summary
Tag: Manual revert
mNo edit summary
Line 107: Line 107:
     update();
     update();
   });
   });
});
/* =========================================================
  OOO Browser controller (left click -> right panel)
  Requires:
  - .ooo-browser__item with data-target="panelId"
  - .ooo-browser__info with id="panelId"
  - .is-active on one item + one panel for default
  ========================================================= */
document.addEventListener("click", function (e) {
  const item = e.target.closest(".ooo-browser__item");
  if (!item) return;
  const browser = item.closest(".ooo-browser");
  if (!browser) return;
  const target = item.getAttribute("data-target");
  if (!target) return;
  // Activate selected item (left)
  browser.querySelectorAll(".ooo-browser__item").forEach(el => {
    el.classList.remove("is-active");
  });
  item.classList.add("is-active");
  // Activate matching panel (right)
  browser.querySelectorAll(".ooo-browser__info").forEach(el => {
    el.classList.remove("is-active");
  });
  const panel = browser.querySelector("#" + CSS.escape(target));
  if (panel) panel.classList.add("is-active");
});
});