MediaWiki:Gadget-registerToDelete.js

提供: 萌えっ娘百科事典
2017年12月28日 (木) 15:39時点におけるAnnAngela (トーク | 投稿記録)による版 (bot work)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

注意: 保存後、変更を確認するにはブラウザーのキャッシュを消去する必要がある場合があります。

  • Firefox / Safari: Shift を押しながら 再読み込み をクリックするか、Ctrl-F5 または Ctrl-R を押してください (Mac では ⌘-R)
  • Google Chrome: Ctrl-Shift-R を押してください (Mac では ⌘-Shift-R)
  • Internet Explorer: Ctrl を押しながら 最新の情報に更新 をクリックするか、Ctrl-F5 を押してください
  • Opera: メニュー → 設定 (Mac では Opera → 環境設定) に移動し、プライバシーとセキュリティ → 閲覧データを消去 → キャッシュされた画像およびファイル からキャッシュをクリアしてください。
$(function() {
    var self = $('#p-cactions .menu ul');
    if (!self.find('li')[0] || $('.willBeDeleted')[0] || mw.config.get('wgUserGroups').indexOf('patroller') === -1) return;
    $('<a/>', {
        attr: {
            href: "#",
            title: "挂删本页[alt-shift-d]",
            accesskey: 'd'
        },
        text: '挂删'
    }).on('click', function() {
        var reason = prompt('挂删的理由【将会替换全文内容】\n【空白则使用默认理由(不在收录范围内或潜在价值较低)】\n【取消则不进行挂删】:'),
            self = $(this);
        if (reason === null) return;
        var loadingBox = $('<div/>', {
                css: {
                    position: 'fixed',
                    top: '0',
                    left: '0',
                    height: '100vh',
                    width: '100vw',
                    transition: 'all .73s linear',
                    color: 'black',
                    'padding-top': '49vh',
                    'background-color': 'rgba(255,255,255,0.73)',
                    'text-align': 'center'
                }
            }).append('<img src="https://static.mengniang.org/common/d/d1/Windows_10_loading.gif" style="height: 1em; margin-top: -.25em;">正在挂删中……'),
            reasonText = reason ? '|' + reason : '',
            api = new mw.Api();
        loadingBox.endOut = function endOut() {
            this.css('color', 'red').text('挂删失败……').delay(1000).queue(function() {
                $(this).fadeOut(370).remove();
                $(document.body).css('overflow', 'auto');
                $(this).dequeue();
            });
        };
        $(document.body).append(loadingBox).css('overflow', 'hidden');
        api.postWithToken('csrf', {
            action: 'edit',
            format: 'json',
            title: mw.config.get('wgPageName'),
            text: '<noinclude>{{即将删除' + reasonText + '}}</noinclude>',
            summary: '挂删' + (reason ? ':' + reason : ''),
            nocreate: true,
            watchlist: 'preferences'
        }).then(function(d) {
            if (d.error) return loadingBox.endOut();
            loadingBox.css('color', 'green').text('挂删成功!即将刷新……');
            window.setTimeout(function() {
                window.location.reload();
            }, 730)
        }, loadingBox.endOut.bind(loadingBox));
    }).appendTo($('<li/>', {
        attr: {
            id: 'ca-registerToDelete'
        }
    }).prependTo(self));
});