MediaWiki:Common.js: Difference between revisions

From Makerpedia

Created page with "→‎Any JavaScript here will be loaded for all users on every page load.: if (document) window.µ = function (id, elem) { var ret; var root = ((elem) ? elem : document);..."
 
No edit summary
Line 4: Line 4:
   var ret;
   var ret;
   var root = ((elem) ? elem : document);
   var root = ((elem) ? elem : document);
  var spl = id.split('>');
   switch (id.charAt(0)) {
   switch (spl[0].charAt(0)) {
     case '|':
     case '|':
       ret = root;
       ret = root;
       break;
       break;
     case '+':
     case '+':
       ret = document.createElement(spl[0].substring(1));
       ret = document.createElement(id.substring(1));
       if (elem) elem.appendChild(ret);
       if (elem) elem.appendChild(ret);
       break;
       break;
     case '#':
     case '#':
       ret = root.querySelector(spl[0]);
       ret = root.querySelector(id);
       break;
       break;
     default:
     default:
       ret = Array.from(root.querySelectorAll(spl[0]));
       ret = Array.prototype.slice.call(root.querySelectorAll(id));


       ret.style = function (mem, val) {
       ret.style = function (mem, val) {
Line 24: Line 23:
         }
         }
       };
       };
      //}
       break;
       break;
   }
   }
  if (spl.length <= 1) return ret;
 
   else return ret.getAttribute(spl[1]);
   return ret;
};
};

Revision as of 15:15, 5 May 2021

/* Any JavaScript here will be loaded for all users on every page load. */

if (document) window.µ = function (id, elem) {
  var ret;
  var root = ((elem) ? elem : document);
  switch (id.charAt(0)) {
    case '|':
      ret = root;
      break;
    case '+':
      ret = document.createElement(id.substring(1));
      if (elem) elem.appendChild(ret);
      break;
    case '#':
      ret = root.querySelector(id);
      break;
    default:
      ret = Array.prototype.slice.call(root.querySelectorAll(id));

      ret.style = function (mem, val) {
        for (let i = 0; i < ret.length; i++) {
          ret[i].style[mem] = val;
        }
      };
      break;
  }

  return ret;
};