User:Gryllida/js/wab-sub.js
Note: After saving, you may have to bypass your browser's cache to see the changes. Mozilla / Firefox / Safari: hold down Shift while clicking Reload, or press Ctrl-Shift-R (Cmd-Shift-R on Apple Mac); IE: hold Ctrl while clicking Refresh, or press Ctrl-F5; Konqueror: simply click the Reload button, or press F5; Opera users may need to completely clear their cache in Tools→Preferences. — More skins
mw.loader.using(['mediawiki.api', 'oojs-ui'], function () {
$options = $('<p>Article status: (select drafts to help copyedit new submissions!) </p>');
$s_status = $('<span>');
$s_status.append($('<br/>'));
$s_status.append("<input type='radio' name='wab-status' value='pub' id='wab-status-pub'/> <label for='wab-status-pub'>New published</label>");
$s_status.append($('<br/>'));
$s_status.append("<input type='radio' name='wab-status' value='dev' id='wab-status-draft'/> <label for='wab-status-draft'>New drafts</label>");
$options.append($s_status);
$s_dtype = $('<p>Delivery type: </p>');
$s_dtype.append($('<br/>'));
$s_dtype.append("<input type='radio' name='wab-delivery' value='email' id='wab-email'/> <label for='wab-email'>Email (uses [[Special:EmailUser]])</label>");
$s_dtype.append($('<br/>'));
$s_dtype.append("<input type='radio' name='wab-delivery' value='wiki' id='wab-talk'/> <label for='wab-talk'>My personal talk page</label>");
$options.append($s_dtype);
var buttonP = new OO.ui.ButtonWidget( {
label: 'Save and select topics',
flags: 'progressive'
} );
buttonP.$element.click(function(e){
// content
cats = '';
$('#mw-normal-catlinks > ul > li > a').each(function(e){
var cat = $(this).attr('title').replace('Category:', '');
if(cat== 'Published' || cat=='Developing' || cat=='Disputed'){return true;}
if(cat.indexOf(',') > 0){return true;}
cats += '*' + $(this).attr('title').replace('Category:', '') + '\r\n';
});
cats += '[[Cat' + 'egory:Gryllida' + '/WAB/Pending]]';
status = $('input[name=wab-status]:checked').val();
delivery = $('input[name=wab-delivery]:checked').val();
titlePostFix = '/wab/' + status + '/' + delivery,
api = new mw.Api();
var titleEdit = 'User:' + wgUserName + titlePostFix + '/preload';
api.postWithToken('edit',{
action: 'edit',
title: titleEdit,
text: cats,
summary: 'created my delivery list ([[User:Gryllida/js/wab-sub.js|assisted]])'
}).done(function (data){
console.log(data);
titleEdit = 'User talk: ' + wgUserName + titlePostFix;
api.postWithToken('edit',{
action: 'edit',
title: titleEdit,
text: '0',
summary: 'created my delivery list ([[User:Gryllida/js/wab-sub.js|assisted]])'
}).done(function (data){
console.log(data);
url = 'http://en.wikinews.org/wiki/User:' + wgUserName + titlePostFix;
url += '?action=edit';
url += '&preload=User:' + wgUserName + titlePostFix + '/preload';
url += '&editintro=User:Gryllida/wab/editintro';
window.location.href = url;
});
}).fail( function( code, result ) {
console.log(result);
});
});
$options.append(buttonP.$element);
var popupButton = new OO.ui.PopupButtonWidget( {
label: 'Subscribe',
id: 'wab-sub-button',
icon: 'articles',
popup: {
$content: $options,
padded: true,
align: 'forwards'
}
} );
$('#catlinks').append(popupButton.$element );
});