mNo edit summary |
Anonymous 5bf7c9882188d (talk | contribs) m (Monobook is dead, RIP wds-is-squished (auto-fixed formatting [don't blame me plz])) |
||
Line 8: | Line 8: | ||
* @version 2.3 |
* @version 2.3 |
||
*/ |
*/ |
||
⚫ | |||
− | |||
+ | ; |
||
⚫ | |||
⚫ | |||
− | |||
⚫ | |||
"use strict"; |
"use strict"; |
||
Line 22: | Line 21: | ||
//i18n |
//i18n |
||
var confirm_msg; |
var confirm_msg; |
||
− | mw.hook('dev.i18n').add(function |
+ | mw.hook('dev.i18n').add(function(i18n) { |
− | i18n.loadMessages('FastDelete').done(function |
+ | i18n.loadMessages('FastDelete').done(function(i18n) { |
confirm_msg = i18n.msg('areyousure').plain(); |
confirm_msg = i18n.msg('areyousure').plain(); |
||
}); |
}); |
||
}); |
}); |
||
− | importArticle({ |
+ | importArticle({ |
⚫ | |||
+ | article: 'u:dev:I18n-js/code.js' |
||
+ | }); |
||
var conf = mw.config.get([ |
var conf = mw.config.get([ |
||
'wgNamespaceNumber', |
'wgNamespaceNumber', |
||
− | 'wgPageName' |
+ | 'wgPageName' |
⚫ | |||
]), |
]), |
||
Line 38: | Line 39: | ||
version: '2.3', |
version: '2.3', |
||
− | init: function |
+ | init: function() { |
+ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
var deleteButtons = ''; |
var deleteButtons = ''; |
||
− | + | var $profile = $('.UserProfileActionButton'); |
|
− | + | deleteButtons = window.fdButtons.map(function(b) { |
|
− | + | var sum = b.summary; |
|
⚫ | |||
⚫ | |||
− | + | }).join(' '); |
|
− | var sum = b.summary; |
||
− | return '<li><a style="cursor: pointer;" title="Ajax delete: ' + sum + '" data-summary="' + sum + '" data-id="fastdelete">' + b.label + '</a></li>'; |
||
− | }).join(''); |
||
− | |||
⚫ | |||
− | break; |
||
− | |||
− | case 'oasis': |
||
− | case 'wikia': |
||
⚫ | |||
− | deleteButtons = window.fdButtons.map(function (b) { |
||
− | var sum = b.summary; |
||
⚫ | |||
− | }).join(' '); |
||
− | |||
⚫ | |||
⚫ | |||
− | } else if ($('.page-header__subtitle-blog-post').exists()) { |
||
− | $('.page-header__subtitle-blog-post').append(deleteButtons); |
||
⚫ | |||
− | } else { |
||
− | $('.page-header__title').append(deleteButtons); |
||
⚫ | |||
⚫ | |||
− | + | if ($profile.exists()) { |
|
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
} |
} |
||
Line 91: | Line 77: | ||
}, |
}, |
||
− | deletePage: function |
+ | deletePage: function(deleteReason) { |
(new mw.Api()) |
(new mw.Api()) |
||
− | + | .post({ |
|
action: 'delete', |
action: 'delete', |
||
title: conf.wgPageName, |
title: conf.wgPageName, |
||
Line 99: | Line 85: | ||
token: mw.user.tokens.get('editToken') |
token: mw.user.tokens.get('editToken') |
||
}) |
}) |
||
− | .done(function |
+ | .done(function(res) { |
location.reload(); |
location.reload(); |
||
}); |
}); |
||
Line 107: | Line 93: | ||
window.dev.ajaxFastDelete = self; |
window.dev.ajaxFastDelete = self; |
||
− | mw.loader.using(['mediawiki.util', 'mediawiki.api'], function |
+ | mw.loader.using(['mediawiki.util', 'mediawiki.api'], function() { |
$(self.init); |
$(self.init); |
||
}); |
}); |
Revision as of 15:14, 19 August 2018
/**
* Ajax Fast Delete
*
* @author Splarka
* @author Uberfuzzy
* @author Grunny
*
* @version 2.3
*/
/* global jQuery, mediaWiki */
;
(function(window, $, mw, undefined) {
"use strict";
window.dev = window.dev || {};
// Don't load twice...
if (window.dev.ajaxFastDelete !== undefined) {
return false;
}
//i18n
var confirm_msg;
mw.hook('dev.i18n').add(function(i18n) {
i18n.loadMessages('FastDelete').done(function(i18n) {
confirm_msg = i18n.msg('areyousure').plain();
});
});
importArticle({
type: 'script',
article: 'u:dev:I18n-js/code.js'
});
var conf = mw.config.get([
'wgNamespaceNumber',
'wgPageName'
]),
self = {
version: '2.3',
init: function() {
if (
conf.wgNamespaceNumber === -1 ||
!window.fdButtons ||
!$('#ca-delete').length
) { return; }
var deleteButtons = '';
var $profile = $('.UserProfileActionButton');
deleteButtons = window.fdButtons.map(function(b) {
var sum = b.summary;
return '<a class="' + ($profile.exists() ? 'wikia-button' : 'wds-button') + '" title="one-click delete: ' + sum + '" data-summary="' + sum + '" data-id="fastdelete">' + b.label + '</a>';
}).join(' ');
if ($profile.exists()) {
$profile.append(deleteButtons);
} else if ($('.page-header__subtitle-blog-post').exists()) {
$('.page-header__subtitle-blog-post').append(deleteButtons);
$('.page-header__blog-post-details').css('margin-right', '5px');
} else {
$('.page-header__title').append(deleteButtons);
mw.util.addCSS('a[data-id="fastdelete"]:nth-child(1){margin-left:5px}');
}
if ($('a[data-id="fastdelete"]').length) {
$('a[data-id="fastdelete"]').click(function() {
if (confirm(confirm_msg) === true) {
self.deletePage($(this).attr('data-summary'));
} else {
return;
}
});
}
mw.hook('fastdelete.init').fire(deleteButtons);
},
deletePage: function(deleteReason) {
(new mw.Api())
.post({
action: 'delete',
title: conf.wgPageName,
reason: deleteReason,
token: mw.user.tokens.get('editToken')
})
.done(function(res) {
location.reload();
});
}
};
window.dev.ajaxFastDelete = self;
mw.loader.using(['mediawiki.util', 'mediawiki.api'], function() {
$(self.init);
});
}(window, jQuery, mediaWiki));