Gebruiker:MakiBoy/Gadget-TestGadget.js: verschil tussen versies

Uit Wikikids
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>';
 
   
eindetabel += '</tbody></table> <button onclick="startIT()">Opslaan</button>';
+
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"] = "&nbsp;";
 
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 api.get({
+
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") {
 
hulpInfo();
+
showProject(pages);
} 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);
 
});
 
}
 
 
}
 
}

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);
    });
}
Afkomstig van Wikikids , de interactieve Nederlandstalige Internet-encyclopedie voor en door kinderen. "https://wikikids.nl/index.php?title=Gebruiker:MakiBoy/Gadget-TestGadget.js&oldid=759768"