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

Uit Wikikids
Naar navigatie springen Naar zoeken springen
Regel 7: Regel 7:
 
var alreadyDone;
 
var alreadyDone;
  
function showProject(text) {
+
function showProject(pages) {
    // text = array
 
 
     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>';
    showAantal = mw.util.getParamValue('aantal');
 
    showAll = mw.util.getParamValue('allepaginas');
 
    showSkipDone = mw.util.getParamValue('notdone');
 
    //Zorg ervoor dat je al gecontroleerde pagina's niet ziet
 
    showSkipThema = mw.util.getParamValue('notthema');
 
    //Zorg ervoor dat je al bekeken pagina's niet ziet
 
    showDone = mw.util.getParamValue('done');
 
    //Zorg ervoor dat je alle gecontroleerde pagina's ziet
 
    showThema = mw.util.getParamValue('thema');
 
    //Zorg ervoor dat je alle pagina's ziet met een thema
 
    showUser = mw.util.getParamValue('user');
 
    //Zorg ervoor dat je alle pagina's ziet waar deze gebruiker bij staat.
 
    showStartwith = mw.util.getParamValue('Startwith');
 
    showTo = mw.util.getParamValue('to');
 
    showFrom = mw.util.getParamValue('from');
 
    if (showAantal === 'max') {
 
        showAantal = text.length - 1;
 
        showMax = true;
 
        showAll = true;
 
    } else if (showAantal) {
 
        showAantal = parseInt(showAantal) + 1;
 
    } else if (showAll) {
 
        showAantal = text.length - 1;
 
    }
 
    if ((showThema || showDone) || (showSkipThema || (showSkipDone || (showTo || (showFrom || (showUser || (showStartwith || showAantal))))))) {
 
    } else {
 
        showAantal = 51;
 
        showSkipDone = true;
 
    }
 
    lengtetext = text.length;
 
    while (tempnumber !== showAantal) {
 
        Artikeln[tempgetal] = getURLParamNumber(text);
 
        if (Artikeln[tempgetal] === 'exit') {
 
            tempnumber = -1;
 
            showAantal = -1;
 
        } else {
 
            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; text-align: center;">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>';
 
            tempgetal += 1;
 
            if (showMax) {
 
                tempnumber = allNummer;
 
            } else {
 
                tempnumber = tempgetal;
 
            }
 
        }
 
    }
 
    // text = array
 
 
     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 addArticleToList(artikel) {
+
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 (artikel) {
+
     if (page) {
         addarticle = artikel;
+
         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"] = "&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 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);
        });
    }
}
Afkomstig van Wikikids , de interactieve Nederlandstalige Internet-encyclopedie voor en door kinderen. "https://wikikids.nl/index.php?title=Gebruiker:MakiBoy/Gadget-TestGadget.js&oldid=759767"