Uporabnik:Dbc334/inlinediff.js: Razlika med redakcijama

Iz Wikipedije, proste enciklopedije
Izbrisana vsebina Dodana vsebina
Dbc334 (pogovor | prispevki)
mBrez povzetka urejanja
Dbc334 (pogovor | prispevki)
mBrez povzetka urejanja
Vrstica 1: Vrstica 1:
function NZS_run() {
function InlineDiff_initialise() {
var rcList = document.getElementsByTagName('ul')[0].getElementsByTagName('li');
var rcList = document.getElementsByTagName('ul')[0].getElementsByTagName('li');
for(i = 0; i < rcList.length; i++) {
for(i = 0; i < rcList.length; i++) {
var rcCurrent = rcList[i].getElementsByTagName('a')[0];
var rcCurrentURL = rcList[i].getElementsByTagName('a')[0].href;
if(rcCurrent.href.indexOf('&diff=') != -1) {
if(rcCurrentURL.indexOf('&diff=') != -1) {
var rcDiff = rcCurrent.href.substring(rcCurrent.href.indexOf('&diff=')+6, rcCurrent.href.indexOf('&oldid='));
var rcDiff = rcCurrentURL.substring(rcCurrentURL.indexOf('&diff=')+6, rcCurrentURL.indexOf('&oldid='));
var rcOldid = rcCurrent.href.substring(rcCurrent.href.indexOf('&oldid=')+7);
var rcOldid = rcCurrentURL.substring(rcCurrentURL.indexOf('&oldid=')+7);
NZS_makeClick(rcDiff, rcOldid, i);
InlineDiff_attachClick(rcList[i], rcDiff, rcOldid);
}
}
}
}


importStylesheetURI('//bits.wikimedia.org/sl.wikipedia.org/load.php?debug=false&lang=sl&modules=mediawiki.action.history.diff&only=styles&skin=monobook&*');
importStylesheetURI('//bits.wikimedia.org/'+window.location.host+'/load.php?debug=false&lang='+mw.user.options.get('language')+'&modules=mediawiki.action.history.diff&only=styles&skin='+mw.user.options.get('skin')+'&*');
}
}


function NZS_makeClick(diff, oldid, i) {
function InlineDiff_attachClick(entryDOM, diff, oldid) {
var entryDOM = document.getElementsByTagName('ul')[0].getElementsByTagName('li')[i];
entryDOM.id = 'rcChange' + diff;
entryDOM.id = 'rcChange' + diff;
entryDOM.getElementsByTagName('a')[0].onclick = function() {return NZS_diff(diff, oldid);};
entryDOM.getElementsByTagName('a')[0].onclick = function() {return InlineDiff_showDiff(diff, oldid);};
}
}


function NZS_diff(diff, oldid) {
function InlineDiff_showDiff(diff, oldid) {
if(document.getElementById('rcDiff' + diff)) {
if(document.getElementById('rcDiff' + diff)) {
var rcDiffTag = document.getElementById('rcDiff' + diff);
var rcDiffTag = document.getElementById('rcDiff' + diff);
Vrstica 29: Vrstica 28:
rcLinkResult.style.textAlign = 'center';
rcLinkResult.style.textAlign = 'center';


var loadingImage = new Image(18, 18);
var rcLoadingImage = new Image(18, 18);
loadingImage.src = '//upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif';
rcLoadingImage.src = '//upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif';
rcLinkResult.appendChild(rcLoadingImage);
loadingImage.title = 'Nalaganje';
loadingImage.id = 'rc2Diff' + diff;
rcLinkResult.appendChild(loadingImage);


var rcList = document.getElementsByTagName('ul')[0];
var rcList = document.getElementsByTagName('ul')[0];
Vrstica 40: Vrstica 37:
rcList.insertBefore(rcLink, rcLinkResult);
rcList.insertBefore(rcLink, rcLinkResult);


NZS_showDiff(diff, oldid);
InlineDiff_fetchDiff(diff, oldid);
}
}

return false;
return false;
}
}


function NZS_showDiff(diff, oldid) {
function InlineDiff_fetchDiff(diff, oldid) {
$.ajax({
$.ajax({
url: '/w/index.php?action=render&diffonly=yes&diff='+diff+'&oldid='+oldid,
url: '/w/index.php?action=render&diffonly=yes&diff='+diff+'&oldid='+oldid,
Vrstica 57: Vrstica 55:


if(wgCanonicalSpecialPageName == 'Recentchanges') {
if(wgCanonicalSpecialPageName == 'Recentchanges') {
addOnloadHook(NZS_run);
addOnloadHook(InlineDiff_initialise);
}
}

Redakcija: 14:47, 11. maj 2014

function InlineDiff_initialise() {
  var rcList = document.getElementsByTagName('ul')[0].getElementsByTagName('li');
  for(i = 0; i < rcList.length; i++) {
    var rcCurrentURL = rcList[i].getElementsByTagName('a')[0].href;
    if(rcCurrentURL.indexOf('&diff=') != -1) {
      var rcDiff = rcCurrentURL.substring(rcCurrentURL.indexOf('&diff=')+6, rcCurrentURL.indexOf('&oldid='));
      var rcOldid = rcCurrentURL.substring(rcCurrentURL.indexOf('&oldid=')+7);
      InlineDiff_attachClick(rcList[i], rcDiff, rcOldid);
    }
  }

  importStylesheetURI('//bits.wikimedia.org/'+window.location.host+'/load.php?debug=false&lang='+mw.user.options.get('language')+'&modules=mediawiki.action.history.diff&only=styles&skin='+mw.user.options.get('skin')+'&*');
}

function InlineDiff_attachClick(entryDOM, diff, oldid) {
  entryDOM.id = 'rcChange' + diff;
  entryDOM.getElementsByTagName('a')[0].onclick = function() {return InlineDiff_showDiff(diff, oldid);};
}

function InlineDiff_showDiff(diff, oldid) {
  if(document.getElementById('rcDiff' + diff)) {
    var rcDiffTag = document.getElementById('rcDiff' + diff);
    rcDiffTag.style.display = (rcDiffTag.style.display=='none'?'':'none');
  } else {
    var rcLinkResult = document.createElement('li');
    rcLinkResult.id = 'rcDiff' + diff;
    rcLinkResult.style.width = '100%';
    rcLinkResult.style.textAlign = 'center';

    var rcLoadingImage = new Image(18, 18);
    rcLoadingImage.src = '//upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif';
    rcLinkResult.appendChild(rcLoadingImage);

    var rcList = document.getElementsByTagName('ul')[0];
    var rcLink = document.getElementById('rcChange' + diff);
    rcList.replaceChild(rcLinkResult, rcLink);
    rcList.insertBefore(rcLink, rcLinkResult);

    InlineDiff_fetchDiff(diff, oldid);
  }

  return false;
}

function InlineDiff_fetchDiff(diff, oldid) {
  $.ajax({
    url: '/w/index.php?action=render&diffonly=yes&diff='+diff+'&oldid='+oldid,
    success: function(returnData) {
      document.getElementById('rcDiff' + diff).style.textAlign = '';
      document.getElementById('rcDiff' + diff).innerHTML = returnData;
      window.location.hash = '#rcChange' + diff;
    }
  });
}

if(wgCanonicalSpecialPageName == 'Recentchanges') {
  addOnloadHook(InlineDiff_initialise);
}