MediaWiki:Common.js: Difference between revisions

mNo edit summary
mNo edit summary
Line 112: Line 112:
/* =========================================================
/* =========================================================
   OOO Browser controller (left click -> right panel)
   OOO Browser controller (left click -> right panel)
   Requires:
   Prevents page scroll / anchor jumping
  - .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) {
document.addEventListener("click", function (e) {
   const item = e.target.closest(".ooo-browser__item");
   const item = e.target.closest(".ooo-browser__item");
   if (!item) return;
   if (!item) return;
Line 126: Line 125:
   const target = item.getAttribute("data-target");
   const target = item.getAttribute("data-target");
   if (!target) return;
   if (!target) return;
  // STOP browser anchor jump
  e.preventDefault();


   // Activate selected item (left)
   // Activate selected item (left)
Line 131: Line 133:
     el.classList.remove("is-active");
     el.classList.remove("is-active");
   });
   });
   item.classList.add("is-active");
   item.classList.add("is-active");


Line 140: Line 143:
   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");
});
});