MediaWiki:Common.js: Difference between revisions

mNo edit summary
mNo edit summary
Line 111: Line 111:


/* =========================================================
/* =========================================================
   OOO Browser controller (left click -> right panel)
   OOO Browser controller
  Prevents page scroll / anchor jumping
   ========================================================= */
   ========================================================= */


Line 126: Line 125:
   if (!target) return;
   if (!target) return;


  // STOP browser anchor jump
   e.preventDefault();
   e.preventDefault();


   // Activate selected item (left)
   // activate left item
   browser.querySelectorAll(".ooo-browser__item").forEach(el => {
   browser.querySelectorAll(".ooo-browser__item")
    el.classList.remove("is-active");
    .forEach(el => el.classList.remove("is-active"));
  });


   item.classList.add("is-active");
   item.classList.add("is-active");


   // Activate matching panel (right)
   // activate panel
   browser.querySelectorAll(".ooo-browser__info").forEach(el => {
   browser.querySelectorAll(".ooo-browser__info")
    el.classList.remove("is-active");
    .forEach(el => el.classList.remove("is-active"));
  });


   const panel = browser.querySelector("#" + CSS.escape(target));
   const panel = browser.querySelector("#" + CSS.escape(target));
   if (panel) panel.classList.add("is-active");
   if (panel) panel.classList.add("is-active");
  /* FIX: keep layout stable */
  browser.querySelector(".ooo-browser__panel")
    .scrollIntoView({ block: "start", behavior: "instant" });


});
});