MediaWiki:Gadget-todolist.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.
$( function() {
var conf = mw.config.get( [
'wgPageName',
'wgUserName',
'wgCanonicalNamespace',
'wgNoticeProject'
] ),
todoSubpageTitle = 'todo',
todoPageTitle = new mw.Title( 'User:' + conf.wgUserName + '/' + todoSubpageTitle );
function addToTodoList() {
var api = new mw.Api(),
editToken = mw.user.tokens.get( 'csrfToken' ),
name = new mw.Title( conf.wgPageName ),
isCategory = conf.wgCanonicalNamespace === "Category",
now = '@' + Math.floor( new Date() / 1000 );
if ( editToken ) {
api.post( {
action: 'edit',
title: todoPageTitle.getPrefixedText(),
minor: '',
summary: 'Lägger till [[' + name.getPrefixedText() + ']] till min att göra-lista',
appendtext: '\n* [[' + ( isCategory ? ':' : '' ) + name.getPrefixedText() + ']] <sup>{{#timel:Y-m-d|' + now + '}}</sup>',
token: editToken
} ).then(
function() {
var pageLink = '<a href="' + name.getUrl() + '" title="' + name.getPrefixedText() + '">' + name.getPrefixedText() + '</a>',
todoLink = '<a href="' + todoPageTitle.getUrl() + '" title="' + todoPageTitle.getNameText() + '">att-göra-lista</a>';
mw.notify(
$( '<div>Sidan "' + pageLink + '" har lagts till i din <em>' + todoLink + '</em></div>' ),
{
'type': 'info',
'autoHideSeconds': 'long'
}
);
},
function() {
mw.notify(
'Något blev fel. Hoppsan. Försök igen direkt eller om en stund. Har ' + conf.wgNoticeProject + ' driftstörningar kan felet bero på det.',
{
'type': 'error'
}
);
}
);
}
}
mw.util.addPortletLink( 'p-personal', todoPageTitle.getUrl(), 'Att göra-lista⁺', 'pt-todolist', 'Din att göra-lista', '', '#pt-watchlist' );
var link = mw.util.addPortletLink( 'p-cactions', '#', 'Att göra⁺', 'ca-addtodo', 'Lägg till sidan i din att göra-lista' );
if ( link ) {
$( link ).on( 'click', addToTodoList );
}
} );