Gebruiker:MakiBoy/Gadget-TestGadget.js
Naar navigatie springen
Naar zoeken springen
Let op! Nadat je de veranderingen hebt opgeslagen, moet je de cache van je browser nog legen om ze daadwerkelijk te zien.
Mozilla (incl. Firefox) | ctrl-shift-r |
IE | ctrl-f5 |
Opera | f5 |
Safari | cmd-r |
Konqueror | f5 |
/* jshint sub:true maxerr:100000 */
// Gadget gemaakt door [[User:Rots61]]
// Documentatie op [[WikiKids:LogCounter]]
var version = '1.2';
var text;
var api = new mw.Api();
var alreadyDone;
function showProject(pages) {
document.getElementsByTagName("h1")[0].textContent = "Speciaal:LogCounter";
document.title = "LogCounter - WikiKids";
tempgetal = 1;
tempnumber = 1;
var tabelstuk1 = '<th style="line-height:99%;vertical-align:bottom;padding:.4em .4em .2em;background-position:50% .4em !important;min-width:0.875em;max-width:0.875em;width:0.875em;overflow:hidden;"><div style="vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(180deg);display:inline-block;padding-left:1px;text-align:left;">Gecontroleerd</div></th>';
var tabelstuk2 = '<th style="line-height:99%;vertical-align:bottom;padding:.4em .4em .2em;background-position:50% .4em !important;min-width:0.875em;max-width:0.875em;width:0.875em;overflow:hidden;"><div style="vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(180deg);display:inline-block;padding-left:1px;text-align:left;">Niet aangepast</div></th>';
var tabelstuk3 = '<th style="line-height:99%;vertical-align:bottom;padding:.4em .4em .2em;background-position:50% .4em !important;min-width:0.875em;max-width:0.875em;width:0.875em;overflow:hidden;"><div style="vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(180deg);display:inline-block;padding-left:1px;text-align:left;">Niet bekeken</div></th>';
tabel = "Deze artikels kun je controleren. Je hoeft niet alle onderstaande artikels te controleren. Dat mag natuurlijk wel. Opmerking is niet nodig, het mag wel. "
+ '<br>Opslaan duurt een paar seconden, wacht totdat je ziet dat de wijziging is doorgevoerd. Als je meer specifiek wil controleren klik dan <a href="https://wikikids.nl/Speciaal:LogCounter?action=help">hier</a>.'
+ '<br><input type="text" id="addarticle" name="addarticle"> <button onclick="addArticleToList()">Voeg toe</button>'
+ '<table class="wikitable"> <tbody> <tr> <th width="300"><div style="float: left; text-align: left">Pagina</div><div style="float: right; text-align: right">Gebruiker</div></th>' + tabelstuk1 + tabelstuk2 + tabelstuk3 + '<th width="1">Opmerking<br><span style="color:gray;">van de andere gebruiker</span></th> <th>Thema</th> </tr>';
eindetabel += '</tbody></table> <button onclick="startIT()">Opslaan</button>';
document.getElementById('bodyContent').innerHTML = tabel + eindetabel;
mw.notify("Welkom!");
}
function addPagesToTable(page) {
if (!text[1]["N"]) {
text = JSON.parse(text);
}
addarticle = undefined;
var comesfromcookie;
if (page) {
addarticle = page;
comesfromcookie = true;
} else {
addarticle = document.getElementById('addarticle').value.replace(/ /g, '_');
}
for (var i = 0, iLen = text.length; i < iLen; i++) {
if (text[i].N == addarticle) Nummer = i;
}
if (!Nummer) {
api.get({
action: "query",
titles: addarticle,
redirects: true,
}).then(function (ret) {
if (ret.query.redirects) {
mw.notify("Pagina is een redirect, kan niet gecontroleerd worden.");
} else {
$.each(ret.query.pages, function () {
if (this.missing !== "") {
if (this.ns === 0) {
Nummer = text.length;
text[text.length] = { "N": addarticle };
} else {
mw.notify("Pagina staat niet in de hoofdnaamruimte.");
}
} else {
mw.notify("Pagina bestaat niet. ");
}
}, function (error) {
});
}
});
}
if (Nummer) {
tempgetal = 1;
var gewenstelengte = Artikelr.length;
if (gewenstelengte === 0) {
gewenstelengte = 1;
tempgetal = 1;
}
console.log(gewenstelengte + ":" + tempgetal);
while (tempgetal !== gewenstelengte) {
if (document.getElementById('Radio1.' + tempgetal)) {
Waardes['Radio1'][tempgetal] = document.getElementById('Radio1.' + tempgetal).checked;
Waardes['Radio2'][tempgetal] = document.getElementById('Radio2.' + tempgetal).checked;
Waardes['Radio3'][tempgetal] = document.getElementById('Radio3.' + tempgetal).checked;
Waardes['Opmerking'][tempgetal] = document.getElementById('Opmerking' + tempgetal).value;
Waardes['Thema'][tempgetal] = document.getElementById('Thema' + tempgetal).value;
Waardes['Themadis'][tempgetal] = document.getElementById('Thema' + tempgetal).disabled;
Waardes['Opmerkingdis'][tempgetal] = document.getElementById('Opmerking' + tempgetal).disabled;
}
tempgetal += 1;
}
tempgetal = Artikelr.length;
Artikeln[tempgetal] = Nummer;
Artikelr[tempgetal] = text[Artikeln[tempgetal]]["N"];
if (text[Artikeln[tempgetal]]["D"]) {
gedaan[tempgetal] = " disabled";
text[Artikeln[tempgetal]]["T"] = " ";
linkextra[tempgetal] = "Done";
Knop1x[tempgetal] = "";
Knop2x[tempgetal] = "";
Knop3x[tempgetal] = '<td colspan="3" style="color:green; font-weight: bold;">Gedaan</td>';
} else {
gedaan[tempgetal] = "";
linkextra[tempgetal] = "Niet";
Knop1x[tempgetal] = '<td><input type="radio" id="Radio1.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change1(' + tempgetal + ');"></td>';
Knop2x[tempgetal] = '<td><input type="radio" id="Radio2.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change2(' + tempgetal + ');"></td>';
Knop3x[tempgetal] = '<td><input type="radio" id="Radio3.' + tempgetal + '" name="Knop' + tempgetal + '" onclick="Change3(' + tempgetal + ');"></td>';
}
if (text[Artikeln[tempgetal]]["U"]) {
vorigeuser[tempgetal] = ' <div style="float: right; font-weight: bold; text-align: right">' + text[Artikeln[tempgetal]]["U"] + '</div>';
} else {
vorigeuser[tempgetal] = "";
}
if (text[Artikeln[tempgetal]]["O"]) {
Opmerking[tempgetal] = text[Artikeln[tempgetal]]["O"];
} else {
Opmerking[tempgetal] = '<input type="text" id=Opmerking' + tempgetal + ' name=Opmerking' + tempgetal + ' size=70">';
}
if (text[Artikeln[tempgetal]]["T"]) {
Thema[tempgetal] = '<center>' + text[Artikeln[tempgetal]]["T"] + '</center>';
} else {
Thema[tempgetal] = '<input type="text" id=Thema' + tempgetal + ' name=Thema' + tempgetal + ' size=10">';
}
console.log(Artikeln[tempgetal] + ": " + Artikelr[tempgetal]);
Artikellink[tempgetal] = '<a href="https://wikikids.nl/' + Artikelr[tempgetal] + '?projectLogCounter=x&checked=' + linkextra[tempgetal] + '" target="_blank">' + Artikelr[tempgetal] + '</a>' + vorigeuser[tempgetal];
tabel += '<tr> <td>' + Artikellink[tempgetal] + '</td>' + Knop1x[tempgetal] + Knop2x[tempgetal] + Knop3x[tempgetal] + '<td>' + Opmerking[tempgetal] + '</td> <td>' + Thema[tempgetal] + '</td> </tr>';
mw.notify("Artikel toegevoegd op deze pagina.");
document.getElementById('bodyContent').innerHTML = tabel + eindetabel;
tempgetalxyz = tempgetal;
tempgetal = 1;
while (tempgetal !== gewenstelengte) {
document.getElementById('Radio1.' + tempgetal).checked = Waardes['Radio1'][tempgetal];
document.getElementById('Radio2.' + tempgetal).checked = Waardes['Radio2'][tempgetal];
document.getElementById('Radio3.' + tempgetal).checked = Waardes['Radio3'][tempgetal];
document.getElementById('Opmerking' + tempgetal).value = Waardes['Opmerking'][tempgetal];
document.getElementById('Thema' + tempgetal).value = Waardes['Thema'][tempgetal];
document.getElementById('Opmerking' + tempgetal).disabled = Waardes['Opmerkingdis'][tempgetal];
document.getElementById('Thema' + tempgetal).disabled = Waardes['Themadis'][tempgetal];
tempgetal += 1;
}
if (comesfromcookie) {
document.getElementById('Radio1.' + tempgetalxyz).checked = true;
Change1(tempgetalxyz);
comesfromcookie = false;
}
Nummer = undefined;
}
}
function getJSONText() {
return api.get({
action: "query",
prop: "revisions",
titles: "Gebruiker:Rots61/Test.json",
rvlimit: "1",
rvprop: "content",
rvslots: "main",
}).then(function (data) {
temp = data.query.pages;
temp = temp[148926];
temp = temp.revisions;
temp = temp[0];
text = temp.slots.main;
text = text["*"];
return JSON.parse(text);
});
}
if (mw.config.get('wgNamespaceNumber') === -1 && mw.config.get('wgTitle') === "LogCounter") {
document.getElementById("footer-places").innerHTML += '<li id="footer-places-gadget-LogCounter">Script gemaakt door <a href="/User:MakiBoy" title="Gebruiker:MakiBoy">MakiBoy</a>, versie: ' + version + '</li>';
if (document.URL === "https://wikikids.nl/Speciaal:LogCounter?action=help") {
hulpInfo();
} else {
showAantal = parseInt(mw.util.getParamValue('aantal'));
showUser = mw.util.getParamValue('user');
showStartwith = mw.util.getParamValue('Startwith');
var tussenvoegsel;
document.getElementById('bodyContent').innerHTML = "Laden... krijg je niets te zien? Maak hier dan een melding van bij mij met deze url:" + document.URL;
var edit_token;
var tempgetal;
var temp;
var Artikelr = [];
var Artikeln = [];
var Artikellink = [];
var getUser;
var Thematemp = [];
var Opmerkingtemp = [];
var Thematempx;
var Opmerkingtempx;
var Knop1x = [];
var Knop2x = [];
var Knop3x = [];
var Opmerking = [];
var Thema = [];
var tabel;
var eindetabel;
var highArtikelr;
var showAantal;
var gedaan = [];
var vorigeuser = [];
var linkextra = [];
var getKnop3;
var getKnop2;
var getKnop1;
var randomNumber;
var showAll;
var showSkipDone;
var showSkipSkipped;
var showDone;
var showThema;
var addarticle;
var paginalink;
var checkChecked;
var allNummer = 1;
var showFrom;
var showTo;
var showSkipThema;
var lengtetext;
var showMax;
var Waardes = { "Radio1": [], "Radio2": [], "Radio3": [], "Opmerking": [], "Thema": [], "Opmerkingdis": [], "Themadis": [] };
//varvar
getJSONText().done(function (text) {
showProject(text);
});
}
}