מדיה ויקי:Gadget-IsBlock.js: הבדלים בין גרסאות בדף

לא עובד
מ 65 גרסאות של הדף wikipedia:he:מדיה_ויקי:Gadget-IsBlock.js יובאו
 
(12 גרסאות ביניים של 5 משתמשים אינן מוצגות)
שורה 1: שורה 1:
$(document).ready( () => {
$( function() {
if ($( '.blockRequestUserName ').length > 0)
if ($( '.blockRequestUserName ').length === 0) return;
mw.loader.using(['mediawiki.util', 'mediawiki.api']).done( () => {
var list = {};
var list = {};


שורה 15: שורה 14:
// filter all anons to one list, and registered to another.
// filter all anons to one list, and registered to another.
var anons = Object.keys(list).filter( mw.util.isIPAddress );
var anons = Object.keys(list).filter( mw.util.isIPAddress );
var registered = Object.keys(list).filter( u => ! mw.util.isIPAddress(u) );
var registered = Object.keys(list).filter( function(u) { return !mw.util.isIPAddress(u) } );
// construct an api object to be used below
// construct an api object to be used below
שורה 21: שורה 20:
// start sending api calls. for anons ("bkip" parameter), we can only ask one at a time.
// start sending api calls. for anons ("bkip" parameter), we can only ask one at a time.
anons.forEach( anon => {
anons.forEach( function(anon) {
api.get( {
api.get( {
list: 'blocks',
list: 'blocks',
שורה 45: שורה 44:
function reportBlocks( data ) {
function reportBlocks( data ) {
if (data && data.query && data.query.blocks )
if (data && data.query && data.query.blocks )
data.query.blocks.forEach( block => {
data.query.blocks.forEach( function(block) {
var user = decodeURIComponent( block.user ); // the api returns the user name encoded.
var user = decodeURIComponent( block.user ); // the api returns the user name encoded.
addBlockedMarker( list[user], block.by );
addBlockedMarker( list[user] || [], block.by );
});
});
}
}
function addBlockedMarker( spans, by ) {
function addBlockedMarker( spans, by ) {
spans.forEach( span =>
spans.forEach( function(span) {
span
span
.text(' | חסומ/ה ')
.text(' | חסומ/ה')
.attr('title', 'נחסמ/ה על ידי '  + by)
.attr('title', 'נחסמ/ה על ידי '  + by);
);
});
}
}
});
});
});