Nothing Special   »   [go: up one dir, main page]

Hoppa till innehållet

Användare:GeMet/attgöralista.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.
/* En finess så man kan lägga till sidor på en attgöra-lista */
/* Stulet från Användare:Sertion/attgöralista.js */
function addToTodoList(){
  var api = new mw.Api(),
    editToken = mw.user.tokens.get('csrfToken'),
    todoSubpageTitle = 'attgöra',
    conf = mw.config.get([
      'wgFormattedNamespaces',
      'wgNamespaceIds',
      'wgNamespaceNumber',
      'wgNoticeProject',
      'wgPageName',
      'wgUserName'
    ]),
    name = new mw.Title(conf.wgPageName),
    todoPageTitle = new mw.Title(conf.wgFormattedNamespaces[conf.wgNamespaceIds.user] + ':' + conf.wgUserName + '/' + todoSubpageTitle),
    isCategory = conf.wgNamespaceNumber === conf.wgNamespaceIds.category,
    now = '@' + Math.floor(new Date() / 1000);

  if (editToken) {
    api.post({
      action: 'edit',
      minor: '',
      summary: 'Lägger till sidan "'+ name.getPrefixedText() +'", [[Användare:GeMet/attgöralista.js|autoredigering]].',
      appendtext: '\n----\n* [[' + (isCategory ? ':' : '') + name.getPrefixedText() + ']] <sup>{{#timel:Y-m-d|' + now + '}}</sup>',
      title: todoPageTitle.getPrefixedText(),
      token: editToken
    }).then(function() {
      mw.notify($('<div>Sidan "<a href="'+ name.getUrl() + '" title="' + name.getPrefixedText() + '">' + name.getPrefixedText() + '</a>" har nu lagts till i din <em><a href="' + todoPageTitle.getUrl() + '" title="' + todoPageTitle.getNameText() + '">attgöra-lista.</a></em></div>'), {
        'type': 'info',
        'autoHideSeconds': 'long'
      });
    }, function() {
      mw.notify(
        'Hoppsan, något blev fel. Försök igen eller testa igen om en stund. Om ' + conf.wgNoticeProject + ' har driftstörningar kan felet bero på det. (post)',{
          'type': 'error'
        });
    });
  }
}

$(function(){
  var link = mw.util.addPortletLink('p-cactions', '#', '→ Att göra', 'ca-addtodo', 'Lägg till sidan i din attgöra-lista');

  if (link) {
    $(link).on('click', addToTodoList);
  }
});

/**
 * Länk till attgöra-lista bredvid användarnamnet
 */
( function ( mw, $ ) {

	$( document ).ready( function () {
		var conf, title, url;

		// Ändra detta utefter ditt behov
		conf = {
			subpageName: 'attgöra',
			portletLabel: 'attgöra',
			portletTooltip: 'Visa attgöra-listan'
		};
		// Texten nedan bör inte redigeras.
		title = new mw.Title( 'Special:MyPage/' + conf.subpageName );

		url = new mw.Uri( title.getUrl() );

		mw.util.addPortletLink(
			'p-personal',
			url,
			conf.portletLabel,
			'pt-attgora',
			conf.portletTooltip,
			'a',
			'#pt-userpage'
		);
	});
}( mediaWiki, jQuery ) );