Gebruiker:MakiBoy/Gadget-TestGadget.js: verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Regel 7: | Regel 7: | ||
var alreadyDone; | var alreadyDone; | ||
− | function showProject( | + | function showProject(pages) { |
− | |||
document.getElementsByTagName("h1")[0].textContent = "Speciaal:LogCounter"; | document.getElementsByTagName("h1")[0].textContent = "Speciaal:LogCounter"; | ||
document.title = "LogCounter - WikiKids"; | document.title = "LogCounter - WikiKids"; | ||
Regel 20: | Regel 19: | ||
+ '<br><input type="text" id="addarticle" name="addarticle"> <button onclick="addArticleToList()">Voeg toe</button>' | + '<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>'; | + '<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>'; | eindetabel += '</tbody></table> <button onclick="startIT()">Opslaan</button>'; | ||
document.getElementById('bodyContent').innerHTML = tabel + eindetabel; | document.getElementById('bodyContent').innerHTML = tabel + eindetabel; | ||
Regel 104: | Regel 25: | ||
} | } | ||
− | function | + | function addPagesToTable(page) { |
if (!text[1]["N"]) { | if (!text[1]["N"]) { | ||
text = JSON.parse(text); | text = JSON.parse(text); | ||
Regel 110: | Regel 31: | ||
addarticle = undefined; | addarticle = undefined; | ||
var comesfromcookie; | var comesfromcookie; | ||
− | if ( | + | if (page) { |
− | addarticle = | + | addarticle = page; |
comesfromcookie = true; | comesfromcookie = true; | ||
} else { | } else { |
Versie van 13 jan 2023 14:12
/* 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);
});
}
}