User:Slate/common.js: Difference between revisions

From Inkipedia, the Splatoon wiki
m (changing load url to inkipedia)
m (Prod moved page User:Kjhf/common.js to User:Slate/common.js: Automatically moved page while renaming the user "Kjhf" to "Slate")
(No difference)

Revision as of 02:36, 3 May 2021

/* Directly from http://wow.gamepedia.com/MediaWiki:Common.js (changed load url) */
function setStoredValue(key, value, expiredays) {
  if (typeof(localStorage) == "undefined") {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + (expiredays ? expiredays : 30));
    document.cookie = key + "=" + escape(value) + ";expires=" + exdate.toGMTString();
  } else {
    try {
      localStorage[key] = value;
    } catch (e) {
      // Usually QUOTA_EXCEEDED_ERR
    }
  }
}

function getStoredValue(key, defaultValue) {
  if (typeof(localStorage) == "undefined") {
    if (document.cookie && document.cookie.length) {
      var varr = document.cookie.match("(?:^|;)\\s*" + key + "=([^;]*)");
      if (varr.length == 2) 
        return varr[1];
    }
    return defaultValue;
  }
  return localStorage[key] == null ? defaultValue : localStorage[key];
}

// AJAX RC
var ajaxPages = {"Special:RecentChanges" : 1};
var ajaxRCOverride = false;
var rcRefresh = 120000;

function ajaxRC() {
  appTo = $(".firstHeading");
  appTo.append('&nbsp;<span style="font-size: xx-small; border-bottom: 1px dotted; cursor:help;" title="Automatically refresh the current page every ' + Math.floor(rcRefresh/1000) + ' seconds">Auto-refresh:</span><input type="checkbox" id="autoRefreshToggle"><span style="position:relative; top:5px; left:5px;" id="autoRefreshProgress"><img src="https://cdn.wikimg.net/en/splatoonwiki/images/1/15/Blue_vs_orange_bounce.gif" border="0" alt="AJAX operation in progress" /></span>');
  $("#autoRefreshToggle").click(function() {
    setStoredValue("ajaxRC", $("#autoRefreshToggle").is(":checked") ? "on" : "off")
    loadRCData()
  });
  $("#autoRefreshProgress").hide();
  if (getStoredValue("ajaxRC") == "on" || ajaxRCOverride) {
    $("#autoRefreshToggle").attr("checked", "checked");
    setTimeout("loadRCData();", rcRefresh);
  }
}
function handleAutocollapse(root) {
  var $ct = root.find(".mw-collapsible");
  var $es = $ct.filter(".mw-autocollapse").not($ct.first()).not(".mw-collapsed, .mw-uncollapsed, .mw-expanded");
  $es.filter(function() {
    var link = $(this).find(".mw-collapsible-toggle a");
    if (link.length) 
      link.first().click();
    
    return !link.length;
  }).toggleClass("mw-collapsed mw-autocollapse");
}
function loadRCData() {
  if (!$("#autoRefreshToggle").is(":checked")) 
    return;
  
  $('#autoRefreshProgress').show()
  $(article).load(location.href + " "+article+" > *", function (data) {
    handleAutocollapse($(article));
    $(article + " .mw-collapsible").makeCollapsible();
    $('#autoRefreshProgress').hide()
    if ($("#autoRefreshToggle").is(":checked")) 
      setTimeout("loadRCData();", rcRefresh);
  });
}

$(function() {
  article = "#bodyContent";
  var pagename = mw.config.get('wgPageName');
  if (pagename && ajaxPages.hasOwnProperty(pagename) && !$("#autoRefreshToggle").length) 
    ajaxRC();
});

// ================================================================================
// Pikan -- the analyzer on the edit page
// ================================================================================
mw.loader.load('//www.pikminwiki.com/index.php?title=User:Espyo/pikan-core.js'
+ '&action=raw&ctype=text/javascript');

mw.loader.load('https://www.splatoonwiki.org/w/index.php?title=User:Kjhf/pikan-inkipedia.js'
+ '&action=raw&ctype=text/javascript');