Hoppa till innehållet

MediaWiki:Gadget-RecentChangesUnpatrolledPages.js

Från Wikipedia

OBS: Efter du har publicerat sidan kan du behöva tömma din webbläsares cache för att se ändringarna.

  • Firefox / Safari: Håll ned Skift och klicka på Uppdatera sidan eller tryck Ctrl-F5 eller Ctrl-R (⌘-R på Mac)
  • Google Chrome: Tryck Ctrl-Skift-R (⌘-Skift-R på Mac)
  • Edge Håll ned Ctrl och klicka på Uppdatera eller tryck Ctrl-F5.
  • Opera: Tryck Ctrl-F5.
$( function() {
	'use strict';
	var oldtitlesstr = '';
	function update() {
		if ( !$( '.mw-recentchanges-toplinks-collapsed' ).length ) {
			new mw.Api().get( {
				action: 'query',
				list: 'recentchanges',
				rctype: 'new',
				rcshow: '!redirect|!patrolled',
                rclimit: '50',
				rcnamespace: 0,
				formatversion: 2
			} ).done( function( data ) {
				var query = data.query;
				var unpatrolledpages;
				var titles;
				var titlesstr;
				var numberOfUnpat;
				var text;
				if ( query ) {
					unpatrolledpages = query.recentchanges;
					if ( unpatrolledpages ) {
						if ( unpatrolledpages.length ) {
							titles = unpatrolledpages.map( function( obj ) {
								if ( obj.title ) {
									return obj.title;
								}
							} );
							titlesstr = titles.join( ', ' );
							numberOfUnpat = titles.length;
							text = 'opatrullerad';
							if ( numberOfUnpat > 1 ) {
								text = 'opatrullerade';
							}
							if ( titlesstr !== oldtitlesstr ) {
								$( '#gadget-unpatrolledpages' ).remove();
								$( '#rclinks_nya_sidor' ).append( '<span id="gadget-unpatrolledpages"> (<a href="/w/index.php?title=Special:Nya_sidor&hidepatrolled=1" title="' + mw.html.escape( titlesstr ) + '" id="gadget-unpatrolledpages-link">' + numberOfUnpat + ' ' + text + '</a>)</span>' );
								oldtitlesstr = titlesstr;
							}
						} else {
							$( '#gadget-unpatrolledpages' ).remove();
						}
					}
				}
			} );
		}
	}
	if ( $( '#rclinks_nya_sidor' ).length ) {
		update();
		mw.hook( 'wikipage.content' ).add( function( elements ) {
			if ( elements.hasClass( 'mw-changeslist' ) ) {
				update();
			}
		} );
	}
} );