MediaWiki:Gadget-labelfilter.js
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)
- Internet Explorer / Edge: Håll ned Ctrl och klicka på Uppdatera eller tryck Ctrl-F5
- Opera: Tryck Ctrl-F5.
/*
* Ersätter inmatningsfältet där man kan ange ett märke (se [[Wikipedia:Märken]]) att filtrera
* på med en nedfällbar listruta. Detta görs på två ställen:
* 1. I listan över senaste ändringar, [[Special:Senaste ändringar]].
* 2. I listan med ändringar på angränsande sidor, [[Special:Senaste relaterade ändringar]].
*
* När man lägger till ett märke, aktiverar ett märke (genom att koppla minst ett aktivt filter
* till det) eller avaktiverar ett märke (genom att alla filter kopplade till märket raderas,
* avaktiveras eller upphör att vara kopplade till märket) måste man komma ihåg att även ändra
* i filen MediaWiki:Gadget-labelfilter.json. Vi visar för närvarande även märken som är
* avaktiverade i listrutan, men de visas i en egen grupp och med tillägget "(inaktivt)". En
* lista över alla märken finns här: [[Special:Märken]].
*/
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Recentchanges' ||
mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Recentchangeslinked'
) {
$( function() {
'use strict';
$.getJSON( mw.config.get( 'wgScript' ) + '?title=MediaWiki:Gadget-labelfilter.json&action=raw&ctype=text/json', function( arr ) {
var $textfield = $( 'input:visible[name="tagfilter"]' ).eq( 0 );
var $select = $( '<select>' ).attr( 'name', 'tagfilter' );
$select.append( '<option></option>' );
if ( Array.isArray( arr ) ) {
arr.forEach( function( optgroup ) {
var $optgroup = $( '<optgroup>' );
$optgroup.attr( 'label', optgroup.optgrouplabel );
var tags = optgroup.tags ;
if ( Array.isArray( tags ) ) {
tags.forEach( function( obj ) {
var $option = $( '<option>' )
.text( obj.label )
.prop( 'value', obj.id );
$optgroup.append( $option );
} );
$select.append( $optgroup );
}
} );
$select.val( mw.util.getParamValue( 'tagfilter' ) );
$select.addClass( 'mw-tagfilter-input' );
$textfield.replaceWith( $select );
}
} );
} );
}