Uporabnik:Dbc334/inlinediff.js: Razlika med redakcijama

Iz Wikipedije, proste enciklopedije
Izbrisana vsebina Dodana vsebina
Dbc334 (pogovor | prispevki)
posodobitev
Dbc334 (pogovor | prispevki)
mBrez povzetka urejanja
Vrstica 24: Vrstica 24:
rcDiffTag.style.display = (rcDiffTag.style.display=='none'?'':'none');
rcDiffTag.style.display = (rcDiffTag.style.display=='none'?'':'none');
} else {
} else {
var rcLink = document.getElementById('rcChange' + diff);
var rcLinkResult = document.createElement('li');
var rcLinkResult = document.createElement('li');
rcLinkResult.id = 'rcDiff' + diff;
rcLinkResult.id = 'rcDiff' + diff;
rcLinkResult.style.textAlign = 'center';
rcLinkResult.style.width = '100%';
rcLinkResult.style.width = '100%';
rcLinkResult.style.textAlign = 'center';


var loadingImage = new Image(18, 18);
var loadingImage = new Image(18, 18);
Vrstica 37: Vrstica 36:


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

NZS_showDiff(diff, oldid);
NZS_showDiff(diff, oldid);
}
}
Vrstica 45: Vrstica 46:


function NZS_showDiff(diff, oldid) {
function NZS_showDiff(diff, oldid) {
document.getElementsByTagName('html')[0].style.cursor = 'wait';

$.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,
success: function(returnData) {
success: function(returnData) {
document.getElementsByTagName('html')[0].style.cursor = 'auto';
document.getElementById('rcDiff' + diff).style.textAlign = '';
document.getElementById('rcDiff' + diff).style.textAlign = '';
document.getElementById('rcDiff' + diff).innerHTML = returnData;
document.getElementById('rcDiff' + diff).innerHTML = returnData;

Redakcija: 14:39, 11. maj 2014

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

  importStylesheetURI('//bits.wikimedia.org/sl.wikipedia.org/load.php?debug=false&lang=sl&modules=mediawiki.action.history.diff&only=styles&skin=monobook&*');
}

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

function NZS_diff(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 loadingImage = new Image(18, 18);
    loadingImage.src = '//upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif';
    loadingImage.title = 'Nalaganje';
    loadingImage.id = 'rc2Diff' + diff;
    rcLinkResult.appendChild(loadingImage);

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

    NZS_showDiff(diff, oldid);
  }
  return false;
}

function NZS_showDiff(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(NZS_run);
}