Fandom Developers Wiki
mNo edit summary
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
 
*/
 
*/
 
/* global jQuery, mediaWiki */
 
  +
;
/*global jQuery, mediaWiki */
 
 
(function(window, $, mw, undefined) {
 
;(function (window, $, mw, undefined) {
 
 
"use strict";
 
"use strict";
   
Line 22: Line 21:
 
//i18n
 
//i18n
 
var confirm_msg;
 
var confirm_msg;
mw.hook('dev.i18n').add(function (i18n) {
+
mw.hook('dev.i18n').add(function(i18n) {
i18n.loadMessages('FastDelete').done(function (i18n) {
+
i18n.loadMessages('FastDelete').done(function(i18n) {
 
confirm_msg = i18n.msg('areyousure').plain();
 
confirm_msg = i18n.msg('areyousure').plain();
 
});
 
});
 
});
 
});
importArticle({ type: 'script', article: 'u:dev:I18n-js/code.js' });
+
importArticle({
 
type: 'script',
  +
article: 'u:dev:I18n-js/code.js'
  +
});
   
 
var conf = mw.config.get([
 
var conf = mw.config.get([
 
'wgNamespaceNumber',
 
'wgNamespaceNumber',
'wgPageName',
+
'wgPageName'
'skin'
 
 
]),
 
]),
   
Line 38: Line 39:
 
version: '2.3',
 
version: '2.3',
   
init: function () {
+
init: function() {
  +
 
if (
 
conf.wgNamespaceNumber === -1 ||
 
!window.fdButtons ||
 
!$('#ca-delete').length
 
) { return; }
   
if (conf.wgNamespaceNumber === -1 || !window.fdButtons || !$('#ca-delete').length) {
 
return;
 
}
 
 
 
var deleteButtons = '';
 
var deleteButtons = '';
   
switch (conf.skin) {
+
var $profile = $('.UserProfileActionButton');
case 'uncyclopedia':
+
deleteButtons = window.fdButtons.map(function(b) {
case 'wowwiki':
+
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>';
case 'monobook':
 
deleteButtons = window.fdButtons.map(function (b) {
+
}).join('&nbsp;');
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('');
 
 
$('#p-cactions > .pBody > ul').append(deleteButtons);
 
break;
 
 
case 'oasis':
 
case 'wikia':
 
var $profile = $('.UserProfileActionButton');
 
deleteButtons = window.fdButtons.map(function (b) {
 
var sum = b.summary;
 
return '<a class="' + ($profile.exists() ? 'wikia-button' : 'wds-is-squished wds-button') + '" title="one-click delete: ' + sum + '" data-summary="' + sum + '" data-id="fastdelete">' + b.label + '</a>';
 
}).join('&nbsp;');
 
 
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}');
 
}
 
   
break;
+
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}');
 
}
 
}
   
Line 91: Line 77:
 
},
 
},
   
deletePage: function (deleteReason) {
+
deletePage: function(deleteReason) {
 
(new mw.Api())
 
(new mw.Api())
.post({
+
.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 (res) {
+
.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('&nbsp;');

                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));