MediaWiki:Gadget-InfogaRaderamall.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.
//<nowiki>
$( function() {
'use strict';
if ( $( '.patrollink' ).length && !$( '.radera' ).length ) {
$( '#p-views' ).find( 'ul' ).prepend( '<li id="gadget-infogaraderamall"><span><a href="#" title="Anmäl sidan för snabbradering">✖</a></span></li>' );
$( '#gadget-infogaraderamall' ).find( 'a' ).click( function( e ) {
e.preventDefault();
var reasons = [
'[[WP:RF#Klotter/test|Klotter/test]]',
'[[WP:RF#Innehållet förklarade inte ämnets relevans|Innehållet förklarade inte ämnets relevans]]',
'[[WP:RF#Inte på svenska|Inte på svenska/Not written in Swedish]]',
'[[WP:RF#Maskinöversättning|Maskinöversättning]]',
'[[WP:RF#Integritetskränkning|Integritetskränkning]]',
'[[WP:RF#Upphovsrättsproblem|Upphovsrättsproblem]]',
'[[WP:RF#Reklam|Reklam]]',
'[[WP:RF#Författarens begäran|Författarens begäran]]',
'[[WP:RF#Substub|Substub]]',
'[[WP:RF#Oartikel|Oartikel]]',
'[[WP:RF#Overifierbart|Overifierbart]]',
'Efter behandling på [[Special:PrefixIndex/Wikipedia:Sidor föreslagna för radering/{{HELASIDNAMNET}}|Sidor föreslagna för radering]]',
'[[WP:RF#Ordboksartikel|Ordboksartikel]]',
'[[WP:RF#Återskapande av tidigare raderat material|Återskapande av tidigare raderat material]]',
'[[WP:RF#Felaktig/olämplig omdirigering|Felaktig/olämplig omdirigering]]'
];
if ( mw.config.get( 'wgNamespaceNumber' ) === 14 ) {
reasons = [
'Efter behandling på [[Special:PrefixIndex/Wikipedia:Problematiska kategorier/{{BASEPAGENAME}}|Problematiska kategorier]]',
'[[WP:RF#Ersatt kategori|Ersatt kategori]]',
'[[WP:RF#Onödig kategori|Onödig kategori]]',
'[[WP:RF#Tom kategori|Tom kategori]]',
'[[WP:RF#Tömd åtgärdskategori|Tömd åtgärdskategori]]'
].concat( reasons );
} else if ( mw.config.get( 'wgNamespaceNumber' ) % 2 === 1 ) {
reasons = [
'[[WP:RF#Odiskussion|Diskuterar inte sidans utformning]]'
].concat( reasons );
}
var options = reasons.map( function( reason ) {
return '<option value="' + reason + '">';
} );
var optionsstr = options.join( '' );
var str = '<div>' +
'<label for="gadget-infogaraderamall-input">Motivering (frivilligt)</label>' +
'<input id="gadget-infogaraderamall-input" list="gadget-infogaraderamall-datalist">' +
'<datalist id="gadget-infogaraderamall-datalist"></datalist>' +
'<button type="button" id="gadget-infogaraderamall-addtemplate">Anmäl</button>' +
'<button type="button" id="gadget-infogaraderamall-close">Stäng</button>' +
'</div>';
// Creating and opening a simple dialog window.
// Subclass Dialog class. Note that the OOjs inheritClass() method extends the parent constructor's prototype and static methods and properties to the child constructor.
function MyDialog( config ) {
MyDialog.super.call( this, config );
}
var myDialog;
var windowManager;
if ( $( '.oo-ui-window-active' ).length === 0 ) {
OO.inheritClass( MyDialog, OO.ui.Dialog );
// Specify a title statically (or, alternatively, with data passed to the opening() method).
MyDialog.static.name = 'gadgetinfogaraderamalldialog';
MyDialog.static.title = 'Simple dialog';
// Customize the initialize() function: This is where to add content to the dialog body and set up event handlers.
MyDialog.prototype.initialize = function () {
// Call the parent method
MyDialog.super.prototype.initialize.call( this );
// Create and append a layout and some content.
this.content = new OO.ui.PanelLayout( { padded: true, expanded: false } );
this.content.$element.append( str );
this.$body.append( this.content.$element );
$( '#gadget-infogaraderamall-datalist' ).append( optionsstr );
$( '#gadget-infogaraderamall-addtemplate' ).click( function() {
var reason = $( '#gadget-infogaraderamall-input' ).val();
var text = '{{Radera';
if ( reason ) {
reason = reason.trim();
if ( reason ) {
text += '|' + reason;
}
}
text += '}}\n';
( new mw.Api() ).postWithToken( 'csrf', {
action: 'edit',
title: mw.config.get( 'wgPageName' ),
summary: 'Anmäler sidan för snabbradering.',
prependtext: text,
nocreate: true,
tags: 'infogaraderamall'
} ).done( function() {
location.reload();
} );
} );
$( '#gadget-infogaraderamall-close' ).click( function() {
myDialog.close();
} );
};
// Use the getTeardownProcess() method to perform actions whenever the dialog is closed.
// This method provides access to data passed into the window's close() method
// or the window manager's closeWindow() method.
MyDialog.prototype.getTeardownProcess = function ( data ) {
return MyDialog.super.prototype.getTeardownProcess.call( this, data )
.first( function () {
// Perform any cleanup as needed
$( '.oo-ui-windowManager' ).remove();
}, this );
};
// Make the window.
myDialog = new MyDialog( {
classes: [
'gadget-infogaraderamall-dialog'
]
} );
// Create and append a window manager, which will open and close the window.
windowManager = new OO.ui.WindowManager();
$( 'body' ).append( windowManager.$element );
// Add the window to the window manager using the addWindows() method.
windowManager.addWindows( [ myDialog ] );
// Open the window!
windowManager.openWindow( myDialog );
}
} );
}
} );
//</nowiki>