MediaWiki:Gadget-recentChanges.js: mudanças entre as edições

Página de Interface do MediaWiki
Sem resumo de edição
Sem resumo de edição
Linha 53: Linha 53:
                     var editSecond = rc.timestamp.match(/[0-9]+-[0-9]+-[0-9]+T[0-9]+:[0-9]+:([0-9]+)Z/);
                     var editSecond = rc.timestamp.match(/[0-9]+-[0-9]+-[0-9]+T[0-9]+:[0-9]+:([0-9]+)Z/);
                      
                      
                     var currentDate = new Date()
                     var currentDate = new Date();
                      
                      
                     var currentMonth = currentDate.getMonth() + 1;
                     var currentMonth = currentDate.getMonth() + 1;
                     var currentDay = currentDate.getDate()
                     var currentDay = currentDate.getDate();
                     var currentHour = currentDate.getHours();
                     var currentHour = currentDate.getHours();
                     var currentMinute = currentDate.getMinutes();
                     var currentMinute = currentDate.getMinutes();
Linha 62: Linha 62:


                     $recentChangesDOM = recentChanges.map(function(rc) {
                     $recentChangesDOM = recentChanges.map(function(rc) {
                         placeholderTime = editDay
                         placeholderTime = editDay;


                         return $('<div>').addClass('rc-sidebar-item').append(
                         return $('<div>').addClass('rc-sidebar-item').append(

Edição das 22h24min de 2 de julho de 2022

//<nowiki>
/**
 * Adds a recent changes widget to the sidebar
 *
 * @author JaydenKieran
 */
'use strict';

;
(function($, mw) {
    var $prependTo
    var $rcContainer
    var recentChanges
    var $recentChangesDOM

    function init() {
        $prependTo = $('#p-Navigation')
        var api = new mw.Api()

        // Build our container
        $rcContainer = $('<nav>')
            .addClass('vector-menu vector-menu-portal portal')
            .attr('id', 'p-RecentChanges')
            .append(
                $('<h3>').text('Mudanças recentes')
            )

        // Add the container to the sidebar
        $prependTo.after($rcContainer)

        api.get({
                action: "query",
                list: "recentchanges",
                rcprop: "title|timestamp|sizes|user",
                rcnamespace: 0,
                rclimit: "4",
                rctype: "edit|new",
                rcshow: "!bot",
                rctoponly: 1,
                format: "json"
            })
            .done(function(data) {
                if (data.query && data.query.recentchanges) {
                    recentChanges = data.query.recentchanges
                }

                if (recentChanges.length > 0) {
                    var placeholderTime = 1;
                    var editMonth = rc.timestamp.match(/[0-9]+-([0-9]+)-[0-9]+T[0-9]+:[0-9]+:[0-9]+Z/);
                    var editDay = rc.timestamp.match(/[0-9]+-[0-9]+-([0-9]+)T[0-9]+:[0-9]+:[0-9]+Z/);
                    var editHour = rc.timestamp.match(/[0-9]+-[0-9]+-[0-9]+T([0-9]+):[0-9]+:[0-9]+Z/);
                    var editMinute = rc.timestamp.match(/[0-9]+-[0-9]+-[0-9]+T[0-9]+:([0-9]+):[0-9]+Z/);
                    var editSecond = rc.timestamp.match(/[0-9]+-[0-9]+-[0-9]+T[0-9]+:[0-9]+:([0-9]+)Z/);
                    
                    var currentDate = new Date();
                    
                    var currentMonth = currentDate.getMonth() + 1;
                    var currentDay = currentDate.getDate();
                    var currentHour = currentDate.getHours();
                    var currentMinute = currentDate.getMinutes();
                    var currentSecond = currentDate.getSeconds();

                    $recentChangesDOM = recentChanges.map(function(rc) {
                        placeholderTime = editDay;

                        return $('<div>').addClass('rc-sidebar-item').append(
                            $('<a>')
                            .addClass('rc-sidebar-page')
                            .text(' ' + rc.title)
                            .attr('href', new mw.Title(rc.title).getUrl()),
                            $('<p>')
                            .addClass('rc-sidebar-user')
                            .text(placeholderTime + 'm ago – ')
                            .append(
                                $('<a>')
                                .text(rc.user)
                                .attr('href', new mw.Title(rc.user, 2).getUrl())
                            )
                        )
                    })
                } else {
                    $recentChangesDOM = $('<p>').text('No recent changes.')
                }
                $rcContainer.append($recentChangesDOM)
                var $showMore
				$showMore = $('<div>')
                	.addClass('rc-sidebar-item rc-sidebar-more')
                	.append(
                		$('<a>')
                		.addClass('rc-sidebar-page')
                		.text('Ver mais...')
                		.attr('href', '/wiki/Especial:Mudanças recentes')
                )
                $rcContainer.append($showMore)
            })
            .fail(function(_, data) {
                alert(data.error.info)
            });
    }

    mw.loader.using(['mediawiki.util', 'mediawiki.api'], function() {
        $(init)
    })
}(jQuery, mediaWiki));
//</nowiki>