Difference between revisions of "MediaWiki:Common.js"

From Medivia Online Wiki
Line 1: Line 1:
$(document).ready(function () {
$(document).ready(function () {
   const maps = document.querySelectorAll('.medivia-map');
   var maps = document.querySelectorAll('.medivia-map');
   if (!maps.length) return;
   if (!maps.length) return;


   const script = document.createElement('script');
   // Create script tag for full medivia-mapper logic
  var script = document.createElement('script');
   script.src = 'https://tafonath.github.io/medivia-mapper/medivia-mapper.js';
   script.src = 'https://tafonath.github.io/medivia-mapper/medivia-mapper.js';
   script.onload = () => {
   script.onload = function () {
     maps.forEach(el => {
     for (var i = 0; i < maps.length; i++) {
       const x = parseInt(el.dataset.x || 2048, 10);
      var el = maps[i];
       const y = parseInt(el.dataset.y || -2047, 10);
       var x = parseInt(el.getAttribute('data-x') || 2048, 10);
       const z = parseInt(el.dataset.z || 7, 10);
       var y = parseInt(el.getAttribute('data-y') || -2047, 10);
       const zoom = parseInt(el.dataset.zoom || 2, 10);
       var z = parseInt(el.getAttribute('data-z') || 7, 10);
       const initUrl = `?x=${x}&y=${y}&z=${z}&zoom=${zoom}`;
       var zoom = parseInt(el.getAttribute('data-zoom') || 2, 10);
       var initUrl = '?x=' + x + '&y=' + y + '&z=' + z + '&zoom=' + zoom;


       // Initialize the mapper in this element — requires modification to original app
       if (typeof MediviaMapper !== 'undefined' && typeof MediviaMapper.init === 'function') {
      MediviaMapper.init(el, initUrl); // this assumes the app is modular
        MediviaMapper.init(el, initUrl);
     });
      }
     }
   };
   };
   document.body.appendChild(script);
   document.body.appendChild(script);
});
});

Revision as of 11:07, 5 July 2025

$(document).ready(function () {
  var maps = document.querySelectorAll('.medivia-map');
  if (!maps.length) return;

  // Create script tag for full medivia-mapper logic
  var script = document.createElement('script');
  script.src = 'https://tafonath.github.io/medivia-mapper/medivia-mapper.js';
  script.onload = function () {
    for (var i = 0; i < maps.length; i++) {
      var el = maps[i];
      var x = parseInt(el.getAttribute('data-x') || 2048, 10);
      var y = parseInt(el.getAttribute('data-y') || -2047, 10);
      var z = parseInt(el.getAttribute('data-z') || 7, 10);
      var zoom = parseInt(el.getAttribute('data-zoom') || 2, 10);
      var initUrl = '?x=' + x + '&y=' + y + '&z=' + z + '&zoom=' + zoom;

      if (typeof MediviaMapper !== 'undefined' && typeof MediviaMapper.init === 'function') {
        MediviaMapper.init(el, initUrl);
      }
    }
  };
  document.body.appendChild(script);
});