Content deleted Content added
No edit summary |
No edit summary |
||
Line 43: | Line 43: | ||
$('.hgroup').append('<span class="tag tag-all tag-' + groups[g] + '" onclick="removeGroups(`' + groups[g] + '`)" onmouseover="removeGroupsText(this)" onmouseout="normalGroupsText(`' + groups[g] + '`,this)">' + groups[g] + '</span>'); |
$('.hgroup').append('<span class="tag tag-all tag-' + groups[g] + '" onclick="removeGroups(`' + groups[g] + '`)" onmouseover="removeGroupsText(this)" onmouseout="normalGroupsText(`' + groups[g] + '`,this)">' + groups[g] + '</span>'); |
||
} |
} |
||
$('.hgroup').append('<span class="tag tag-all" onclick="revertTags();"> |
$('.hgroup').append('<span class="tag tag-all" onclick="revertTags();">Cancel</span>'); |
||
$('.hgroup').append('<span class="tag tag-all-groups tag-add" onclick="allGroups();">Add Groups</span>'); |
$('.hgroup').append('<span class="tag tag-all-groups tag-add" onclick="allGroups();">Add Groups</span>'); |
||
} ); |
} ); |
||
}); |
}); |
||
} |
} |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
function addGroups(group){ |
function addGroups(group){ |
||
$.when(mw.loader.using(["mediawiki.api"])).then(function () { |
$.when(mw.loader.using(["mediawiki.api"])).then(function () { |
||
Line 89: | Line 66: | ||
function allGroups(){ |
function allGroups(){ |
||
$('.tag').hide(); |
$('.tag').hide(); |
||
$('.hgroup').append('<span class="tag tag-all-groups" onclick="revertTags();"> |
$('.hgroup').append('<span class="tag tag-all-groups" onclick="revertTags();">Cancel</span>'); |
||
var params = { |
var params = { |
||
Line 109: | Line 86: | ||
} ); |
} ); |
||
} |
} |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
}); |
}); |
Revision as of 23:06, 20 July 2020
window.FastDeleteNoConfirm = true;
mw.loader.load( '/w/index.php?title=MediaWiki:LastEdited.js&action=raw&ctype=text/javascript' );
window.experimentalTags = false;
function removeGroupsText(group){
$(group).text('Remove')
}
function normalGroupsText(group, element){
$(element).text(group);
}
function removeGroups(group){
$.when(mw.loader.using(["mediawiki.api"])).then(function () {
var params = {
action: 'userrights',
user: mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''),
remove: group,
reason: 'removed' + mw.config.get("wgPageName").replace('User:', '').replace('User_profile:','') + 'to the sysop group;api testing',
format: 'json'
},
api = new mw.Api();
api.postWithToken( 'userrights', params ).done( function ( data ) {
console.log( data );
} );
});
}
function showall(){
$('.tag').hide();
$.when(mw.loader.using(["mediawiki.api"])).then(function () {
var params = {
action: 'query',
list: 'users',
ususers: mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''),
usprop: 'groups',
format: 'json'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var groups = data.query.users[0].groups,
g,
Usergroups=[];
for ( g in groups ) {
$('.hgroup').append('<span class="tag tag-all tag-' + groups[g] + '" onclick="removeGroups(`' + groups[g] + '`)" onmouseover="removeGroupsText(this)" onmouseout="normalGroupsText(`' + groups[g] + '`,this)">' + groups[g] + '</span>');
}
$('.hgroup').append('<span class="tag tag-all" onclick="revertTags();">Cancel</span>');
$('.hgroup').append('<span class="tag tag-all-groups tag-add" onclick="allGroups();">Add Groups</span>');
} );
});
}
function addGroups(group){
$.when(mw.loader.using(["mediawiki.api"])).then(function () {
var params = {
action: 'userrights',
user: mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''),
add: group,
reason: 'added' + mw.config.get("wgPageName").replace('User:', '').replace('User_profile:','') + 'to the ' + group + ' group',
format: 'json'
},
api = new mw.Api();
api.postWithToken( 'userrights', params ).done( function ( data ) {
console.log( data );
} );
});
}
function allGroups(){
$('.tag').hide();
$('.hgroup').append('<span class="tag tag-all-groups" onclick="revertTags();">Cancel</span>');
var params = {
action: "query",
meta: "siteinfo",
siprop: 'usergroups',
format: "json"
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var groups = data.query.usergroups,
g,
Usergroups=[];
for ( g in groups ) {
$('.hgroup').append('<span class="tag tag-all-groups tag-' + groups[g].name + '" onclick="addGroups(`' + groups[g].name +'`);">' + groups[g].name + '</span>');
}
} );
}
function revertTags(){
$('.tag').show();
$('.tag.tag-all').remove();
$('.tag.tag-all-groups').remove();
}
var waitForTags = function(selector, callback) {
if ($(selector).length) {
callback();
} else {
setTimeout(function() {
waitForTags(selector, callback);
}, 100);
}
};
waitForTags('.tag', function() {
$('.tag:nth-last-of-type(1)').after('<span class="tag" onclick="showall();">Remove Groups</span>');
});