Omdat ik het vrij onhandig vond om in het modoverzicht (aka de moderatiequeue) telkens die ene niet-gemodereerde reactie te zoeken tussen de vele reacties heb ik voor mezelf een userscript gemaakt om de functionaliteit op de pagina licht uit te breiden:
Dat geeft het volgende resultaat nadat ik op het eerste artikel geklikt heb:

Hier en daar kan de code nog wat beter, maar over het algemeen lijkt het me nog vrij ordelijk. Als je gewoon naar het artikel wenst te gaan kan je nog altijd van de middelste muisknop gebruik maken om het artikel in een nieuwe tab te openen.
Naar de toekomst toe overweeg ik om de hele bovenliggende reactieboom van de ongemodereerde reactie weer te geven en zo rechtstreeks het modereren mogelijk te maken op die pagina, maar dit lijkt me alvast een goede eerste aanzet van mezelf
Ik zet het hier in Mooie Features omdat ik ergens hoop dat Tweakers gewoon zelf iets gelijkaardig zou aanbieden. Desnoods gaat de link slechts naar de eerste niet-gemodereerde post, dat zou ook al veel tijd besparen.
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
| // ==UserScript== // @name Tweakers Modoverzicht uitbreiding // @namespace http://www.tomputtemans.com/ // @description Breidt het modoverzicht uit met uitklapbare links naar de ongemodde berichten // @include http://tweakers.net/reacties/modoverzicht/ // @version 1.2 // @grant none // ==/UserScript== // Assign the map method from the Array prototype to the NodeList prototype, works as NodeList implements item(num) NodeList.prototype.map = Array.prototype.map; document.querySelectorAll(".moderationListTable a").map(function(topic) { topic.addEventListener("click", topicHandler, true); }); function topicHandler(e) { e.preventDefault(); // Only allow one call on this topic this.removeEventListener("click", topicHandler, true); this.addEventListener("click", function(e) { e.preventDefault(); }, true); var span = addPostsList(this.parentNode); retrieveUnmoddedPosts(this.href, [], function(posts) { fillPostsBar(span, posts); }); } function retrieveUnmoddedPosts(href, scoreButtonsAcc, callback) { var request = new XMLHttpRequest(); request.open("GET", href, true); request.responseType = "document"; request.onload = function() { var nextPage = this.responseXML.querySelector(".pageDistribution a.next"); var scoreButtons = this.responseXML.querySelectorAll("a.scoreButton.modEnabled[title='Deze reactie is nog niet beoordeeld']"); // Recursively call the following pages if (nextPage != null) { retrieveUnmoddedPosts(nextPage.href, scoreButtonsAcc.concat(Array.prototype.slice.call(scoreButtons)), callback); } else { callback(scoreButtonsAcc.concat(Array.prototype.slice.call(scoreButtons))); } }; request.send(); } function addPostsList(cell) { cell.appendChild(document.createElement("br")); var span = document.createElement("span"); span.textContent = "Reacties aan het opvragen..."; cell.appendChild(span); return span; } function fillPostsBar(span, posts) { // Remove loading text span.removeChild(span.firstChild); if (posts.length > 0) { for (let i = 0; i < posts.length; i++) { let link = document.createElement("a"); link.href = posts[i].parentNode.querySelector(".date").href; link.style.padding = "0 3px"; link.style.marginRight = "10px"; link.textContent = i + 1; link.target = "_blank"; span.appendChild(link); } } else { var refresh = document.createElement("a"); refresh.textContent = "Pagina vernieuwen?"; refresh.style.cursor = "pointer"; refresh.addEventListener("click", function(e) { e.preventDefault(); location.reload(); }, true); span.appendChild(document.createTextNode("Geen reacties gevonden die te beoordelen zijn. ")); span.appendChild(refresh); } } |
Dat geeft het volgende resultaat nadat ik op het eerste artikel geklikt heb:

Hier en daar kan de code nog wat beter, maar over het algemeen lijkt het me nog vrij ordelijk. Als je gewoon naar het artikel wenst te gaan kan je nog altijd van de middelste muisknop gebruik maken om het artikel in een nieuwe tab te openen.
Naar de toekomst toe overweeg ik om de hele bovenliggende reactieboom van de ongemodereerde reactie weer te geven en zo rechtstreeks het modereren mogelijk te maken op die pagina, maar dit lijkt me alvast een goede eerste aanzet van mezelf
Ik zet het hier in Mooie Features omdat ik ergens hoop dat Tweakers gewoon zelf iets gelijkaardig zou aanbieden. Desnoods gaat de link slechts naar de eerste niet-gemodereerde post, dat zou ook al veel tijd besparen.
[ Voor 15% gewijzigd door Glodenox op 24-05-2015 17:52 . Reden: Update script naar recentere versie ]
Coördinator van de Waze Belux Community