Suradnik:Ivi104/Skripte/Neophodjene-promjene-u-doprinosima/Bonc.js
< Suradnik:Ivi104 | Skripte
Napomena: Nakon objave možda ćete trebati očistiti međuspremnik svog preglednika kako biste vidjeli promjene.
- Firefox / Safari: držite Shift i pritisnite Reload, ili pritisnite bilo Ctrl-F5 ili Ctrl-R (⌘-R na Macu)
- Google Chrome: pritisnite Ctrl-Shift-R (⌘-Shift-R na Macu)
- Internet Explorer / Edge: držite Ctrl i kliknite Refresh, ili pritisnite Ctrl-F5
- Opera: pritisnite Ctrl-F5.
String.prototype.includes = function (str) {
var returnValue = false;
if (this.indexOf(str) !== -1) {
returnValue = true;
}
return returnValue;
};
// Source: https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/prepend()/prepend().md
(function (arr) {
arr.forEach(function (item) {
if (item.hasOwnProperty('prepend')) {
return;
}
Object.defineProperty(item, 'prepend', {
configurable: true,
enumerable: true,
writable: true,
value: function prepend() {
var argArr = Array.prototype.slice.call(arguments),
docFrag = document.createDocumentFragment();
argArr.forEach(function (argItem) {
var isNode = argItem instanceof Node;
docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));
});
this.insertBefore(docFrag, this.firstChild);
}
});
});
})([Element.prototype, Document.prototype, DocumentFragment.prototype]);
$(document).ready(function() {
if (location.search.includes('title=Posebno%3ADoprinosi') ||
location.href.includes('Special:Contributions') || location.href.includes('Posebno:Doprinosi') || location.href.includes('Posebno%3ADoprinosi') || location.search.includes('action=history')) {
var apirequest = "";
if (location.search.includes('action=history')) {
console.log("Na povijesti smo!");
if (mw.config.get("wgPageName")) {
console.log("imam ime stranice:" + mw.config.get("wgPageName"));
apirequest = "/api.php?action=query&format=json&prop=info&list=recentchanges&inprop=&rctitle=" + mw.config.get("wgPageName") + "&rcprop=ids%7Cpatrolled&rclimit=200";
console.log("povijest - API zahtjev: http://hr.wiki.x.io" + mw.config.get("wgScriptPath") + apirequest);
}
} else {
console.log("na doprinosima smo!");
if (mw.config.get("wgRelevantUserName")) { //not null or undefined
console.log("Imam username: " + mw.config.get("wgRelevantUserName"));
apirequest = "/api.php?action=query&format=json&prop=info&list=recentchanges&inprop=&rcuser=" + mw.config.get("wgRelevantUserName") + "&rcprop=ids%7Cpatrolled&rclimit=200";
console.log("doprinosi - API zahtjev: http://hr.wiki.x.io" + mw.config.get("wgScriptPath") + apirequest);
}
}
//console.log("main - req: " + apirequest);
api = $.getJSON(mw.config.get("wgScriptPath") + apirequest)
.done(function(query) {
if (!query.query) { console.log("API fail"); return; } // API fail
query = query.query;
query.recentchanges.forEach(function(entry) {
if (entry.unpatrolled === "") {
var items = document.querySelectorAll('li[data-mw-revid]');
for (var i = 0; i < items.length; i++) {
if (items[i].getAttribute('data-mw-revid') == entry.revid) {
//console.log("unpatrolled revid " + entry.revid);
var unpatrolledMarker = document.createElement('abbr');
unpatrolledMarker.className = 'unpatrolled';
unpatrolledMarker.title = 'Nepregledana izmjena';
unpatrolledMarker.innerHTML = '!';
unpatrolledMarker.style.display = 'inline';
unpatrolledMarker.style.margin = '6px';
items[i].prepend(unpatrolledMarker);
}
}
}
});
});
} // if povijest or doprinosi
});