Справица:NullEdit.js

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
mw.loader.using(['mediawiki.api', 'mediawiki.user', 'mediawiki.util']).then(function() {
    'use strict';
    var config = mw.config.get([
        'wgArticleId',
        'wgPageName'
    ]);
    if (config.wgArticleId === 0) {
        // Ne pokreći se na nepostojećim stranicama.
        return;
    }
    var button = mw.util.addPortletLink(
        'p-cactions',
        '?action=purge',
        'Очисти кеш',
        'ca-null-edit',
        'Освежава кеш тренутне странице.',
        'n'
    ), $loader = $('<div>', {
        class: 'mw-ajax-loader'
    }), api = new mw.Api(), $currentLoader;
    function restoreBody() {
        $('#mw-content-text').fadeIn();
        $currentLoader.remove();
    }
    $(button).click(function(event) {
        event.preventDefault();
        $currentLoader = $loader.clone();
        $('#mw-content-text').fadeOut().after($currentLoader);
        api.edit(config.wgPageName, function() { 
            return {
                appendtext: '\n'
            };
        }).then(function(data) {
            if (data.result !== 'Success') {
                mw.notify('Празна измена није била успешна!', {
                    type: 'error'
                });
                return;
            }
            return api.get({ 
                action: 'parse',
                pageid: config.wgArticleId
            });
        }).then(function(data) {
            $('#mw-parser-output').replaceWith(data.parse.text['*']);
            mw.hook('wikipage.content').fire($('#mw-content-text'));
            restoreBody();
            mw.notify('Чишћење кеша успешно!', {
                type: 'success'
            });
        }).fail(function(code) {
            restoreBody();
            mw.notify('Чишћење кеша није успело: ' + code + '.', {
                type: 'success'
            });
        });
    });
});