Thành viên:Hide on Rosé/sandbox1.js

Bách khoa toàn thư mở Wikipedia

Chú ý: Sau khi lưu thay đổi trang, bạn phải xóa bộ nhớ đệm của trình duyệt để nhìn thấy các thay đổi. Google Chrome, Firefox, Internet ExplorerSafari: Giữ phím ⇧ Shift và nhấn nút Reload/Tải lại trên thanh công cụ của trình duyệt. Để biết chi tiết và hướng dẫn cho các trình duyệt khác, xem Trợ giúp:Xóa bộ nhớ đệm.

// [[File:User:He7d3r/Tools/ScoredRevisions.js]] (workaround for [[phab:T35355]])
/**
 * Highlight revisions by their scores
 *
 * @author: Helder (https://github.com/he7d3r)
 * @license: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
 */
// <nowiki>
(function(e,i){"use strict";function r(i){var r,o,n,t,s,c,l,g=Object.keys(i);if(i.error)return e.log.error(i.error),void 0;for(r=0;g.length>r;r++){for(o=g[r],l=[],c=[],s=i[o],n=0;a.length>n;n++)!s||s.error||s[a[n]].error||(t=s[a[n]].probability["true"],c.push((100*t).toFixed(0)+"% "+a[n]),l.push(t>=w.high?"sr-"+a[n]+"-high":t>=w.medium?"sr-"+a[n]+"-medium":t>=w.low?"sr-"+a[n]+"-low":"sr-"+a[n]+"-none"));h[o].addClass(l.join(" ")).attr("title","Scores: "+c.join("; "))}}function o(){var r=i.Deferred(),o={},n={},t=l.wgCanonicalSpecialPageName==="Watchlist"||l.wgCanonicalSpecialPageName==="Recentchanges"||l.wgCanonicalSpecialPageName==="Recentchangeslinked",a=t?".mw-changeslist":l.wgCanonicalSpecialPageName==="Contributions"?".mw-contributions-list":"#pagehistory",s=e.user.options.get("usenewrc")==1&&t?"tr":"li",c=l.wgCanonicalSpecialPageName==="Contributions"||l.wgAction==="history"?"a.mw-changeslist-date":"a";return i(".unpatrolled").length&&!l.ScoredRevisionsEnableForPatrolledRevs,l.wgIsArticle&&l.wgAction==="view"?(h[l.wgCurRevisionId]=i("#ca-history a"),r.resolve([l.wgCurRevisionId]).promise()):(i(a).find(s).filter(function(){var e=i(this);return e.hasClass("wikibase-edit")?!1:!0}).each(function(){var r,t,a=i(this);a.find(c).each(function(){var o=i(this).attr("href");return r=e.util.getParamValue("diff",o),(r==="prev"||l.wgCanonicalSpecialPageName==="Contributions"||l.wgAction==="history")&&(r=e.util.getParamValue("oldid",o)),r&&/^([1-9]\d*)$/.test(r)?!1:(t||(t=e.util.getParamValue("curid",o)),void 0)}),r?(h[r]=a,o[r]=!0):t&&t!=="0"&&(n[t]=a)}),i.isEmptyObject(n)?r.resolve(Object.keys(o)):i.getJSON(e.util.wikiScript("api"),{format:"json",action:"query",prop:"revisions",rvprop:"ids",pageids:Object.keys(n).join("|")}).done(function(e){e&&e.query&&e.query.pages&&i.each(e.query.pages,function(e,i){var r=i.revisions[0].revid;h[r]||(h[r]=n[e],o[r]=!0)})}).always(function(){r.resolve(Object.keys(o))}),r.promise())}function n(){var r=i.Deferred();return i.ajax({url:g+l.wgDBname+"/",dataType:"json"}).done(function(i){return i.error?(e.log.error(i.error),r.reject(),void 0):(r.resolve(Object.keys(i.models)||[]),void 0)}).fail(r.reject),r.promise()}function t(){var t=0,s=function(o,n){i.ajax({url:g+l.wgDBname+"/",data:{models:n.join("|"),revids:o.join("|")},dataType:"json"}).done(function(e){r(e),t+=m,u.length>t&&s(u.slice(t,t+m),n)}).fail(function(){e.log.error("The request failed.",arguments)})};e.loader.load("//meta.wikimedia.org/w/index.php?title=User:He7d3r/Tools/ScoredRevisions.css&action=raw&ctype=text/css","text/css"),n().done(function(r){a=i.map(c,function(e){return 0>i.inArray(e,r)?null:e}),a.length||e.log.warn("ORES does not have any of the chosen models ("+c.join(", ")+") for this wiki.\n"+"More information at https://meta.wikimedia.org/wiki/ORES"),o().done(function(e){u=e,u.length&&s(u.slice(t,t+m),a)})}).fail(function(i){e.log.error(i)})}var a,s=e.util.getParamValue("showscores")!=="0",c=["damaging","reverted"],l=e.config.get(["wgIsArticle","wgCurRevisionId","wgCanonicalSpecialPageName","wgDBname","wgAction","ScoredRevisionsThresholds","ScoredRevisionsServerUrl","ScoredRevisionsEnableForPatrolledRevs"]),g=l.ScoredRevisionsServerUrl||"//ores.wikimedia.org/v3/scores/",d=s&&(i.inArray(l.wgCanonicalSpecialPageName,["Watchlist","Recentchanges","Recentchangeslinked","Contributions"])!==-1||l.wgAction==="history"||l.wgIsArticle&&l.wgAction==="view"),u=[],h={},w=l.ScoredRevisionsThresholds||{low:.45,medium:.58,high:.8},m=50;d&&e.hook("wikipage.content").add(t)})(mediaWiki,jQuery);
// </nowiki>