Gebruiker:MakiBoy/Gadget-TestGadget.js: verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Regel 10: | Regel 10: | ||
document.getElementsByTagName("h1")[0].textContent = "Speciaal:LogCounter"; |
document.getElementsByTagName("h1")[0].textContent = "Speciaal:LogCounter"; |
||
document.title = "LogCounter - WikiKids"; |
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>'; |
||
− | + | table = `<table class="wikitable"> |
|
+ | <thead> |
||
− | document.getElementById('bodyContent').innerHTML = tabel + eindetabel; |
||
+ | <tr> |
||
− | mw.notify("Welkom!"); |
||
+ | <th>Paginatitel</th> |
||
− | } |
||
+ | <th>Laatst bezocht</th> |
||
+ | <th>Normaal bezocht</th> |
||
+ | <th>Via hoofdpagina bezocht</th> |
||
+ | <th>Totaal aantal</th> |
||
+ | </tr> |
||
+ | </thead> |
||
+ | <tbody> |
||
+ | ${pages.map((function (page, index) { |
||
+ | var totalVisitors = page.normalVisitors + page.mainPageVisitors; |
||
+ | var pageTitle = page.title.replace(/ /g, '_'); |
||
+ | return `<tr> |
||
+ | <td><a href="/${page.title}">${pageTitle}</a></td> |
||
+ | <td>${page.date}</td> |
||
+ | <td>${page.normalVisitors}</td> |
||
+ | <td>${page.mainPageVisitors}</td> |
||
+ | <td>${totalVisitors}</td> |
||
+ | </tr>`; |
||
+ | }))} |
||
+ | </tbody> |
||
+ | </table>`; |
||
+ | document.getElementById('bodyContent').innerHTML = table; |
||
− | 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 getPages() { |
||
− | |||
+ | return fetch('https://wikikids.martvanweeghel.nl').then(function (data) { |
||
− | function getJSONText() { |
||
− | return |
+ | return JSON.parse(data); |
− | 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); |
||
}); |
}); |
||
} |
} |
||
Regel 165: | Regel 47: | ||
if (mw.config.get('wgNamespaceNumber') === -1 && mw.config.get('wgTitle') === "LogCounter") { |
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>'; |
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>'; |
||
+ | getPages().done(function (pages) { |
||
− | if (document.URL === "https://wikikids.nl/Speciaal:LogCounter?action=help") { |
||
− | + | showProject(pages); |
|
− | } |
+ | }); |
− | 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); |
||
− | }); |
||
− | } |
||
} |
} |
Versie van 13 jan 2023 14:20
/* 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";
table = `<table class="wikitable">
<thead>
<tr>
<th>Paginatitel</th>
<th>Laatst bezocht</th>
<th>Normaal bezocht</th>
<th>Via hoofdpagina bezocht</th>
<th>Totaal aantal</th>
</tr>
</thead>
<tbody>
${pages.map((function (page, index) {
var totalVisitors = page.normalVisitors + page.mainPageVisitors;
var pageTitle = page.title.replace(/ /g, '_');
return `<tr>
<td><a href="/${page.title}">${pageTitle}</a></td>
<td>${page.date}</td>
<td>${page.normalVisitors}</td>
<td>${page.mainPageVisitors}</td>
<td>${totalVisitors}</td>
</tr>`;
}))}
</tbody>
</table>`;
document.getElementById('bodyContent').innerHTML = table;
}
function getPages() {
return fetch('https://wikikids.martvanweeghel.nl').then(function (data) {
return JSON.parse(data);
});
}
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>';
getPages().done(function (pages) {
showProject(pages);
});
}