MediaWiki:Common.js: Difference between revisions

MediaWiki interface page
m (Common.js must be valid ES5. will clean this up later but for now just shoved it through Babel)
m (isolate Common.js in own block scope, since it's interfering with other MW components. forgot that ES5 var is global by default, ugh)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
(function () {
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
Line 11: Line 13:
   return document.querySelectorAll(x);
   return document.querySelectorAll(x);
};
};
var tagline;
var tagline = $('[data-footer-tagline]');
window.addEventListener('load', function () {
if (tagline !== undefined) {
   tagline = $('[data-footer-tagline]');
  prepareTagline();
} else {
  window.addEventListener('load', function () {
    return prepareTagline();
   });
}
function prepareTagline() {
  var _tagline;
  (_tagline = tagline) !== null && _tagline !== void 0 ? _tagline : tagline = $('[data-footer-tagline]');
   tagline.addEventListener('click', function () {
   tagline.addEventListener('click', function () {
     return handleTagline();
     return handleTagline();
   });
   });
   handleTagline();
   handleTagline();
});
}
function handleTagline() {
function handleTagline() {
   if (tagline === undefined) {
   if (tagline === undefined) {
Line 63: Line 73:
   tagline.textContent = chosen;
   tagline.textContent = chosen;
}
}
})()

Latest revision as of 21:35, 1 May 2023

(function () {

function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var $ = function $(x) {
  return document.querySelector(x);
};
var $$ = function $$(x) {
  return document.querySelectorAll(x);
};
var tagline = $('[data-footer-tagline]');
if (tagline !== undefined) {
  prepareTagline();
} else {
  window.addEventListener('load', function () {
    return prepareTagline();
  });
}
function prepareTagline() {
  var _tagline;
  (_tagline = tagline) !== null && _tagline !== void 0 ? _tagline : tagline = $('[data-footer-tagline]');
  tagline.addEventListener('click', function () {
    return handleTagline();
  });
  handleTagline();
}
function handleTagline() {
  if (tagline === undefined) {
    return;
  }
  var optChs = _toConsumableArray(tagline.dataset.footerTagline);
  var opts = [];
  var opt = null;
  while (optChs.length > 0) {
    var _opt;
    var ch = optChs.shift();
    if (ch === '\\') {
      ch = optChs.shift();
    } else if (ch === ';') {
      opts.push(opt);
      opt = null;
      continue;
    }
    (_opt = opt) !== null && _opt !== void 0 ? _opt : opt = '';
    opt += ch;
  }
  if (opt !== null) {
    var _opt2;
    opts.push((_opt2 = opt) !== null && _opt2 !== void 0 ? _opt2 : '');
  }
  opts = opts.map(function (i) {
    return i.trim();
  }).filter(function (i) {
    return i !== '';
  });
  var oldOpts = opts;
  opts = opts.filter(function (i) {
    return tagline.textContent !== i;
  });
  if (opts.length === 0) {
    if (oldOpts.length === 0) {
      console.warn('No footer tagline options specified');
    } else {
      console.warn('All footer tagline options are identical');
    }
    return;
  }
  var chosen = opts[Math.floor(Math.random() * opts.length)];
  tagline.textContent = chosen;
}

})()