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() {
	'use strict';
	var v = mw.config.get();
	var target = $( '#wpTextbox1' );
	$( document ).on( 'focus', 'textarea, input:text', function( ev ) {
		target = $( ev.currentTarget );
	} );
	if ( v.wgAction === 'edit' || v.wgAction === 'submit' ) {
		$.getJSON( v.wgScript + '?title=MediaWiki:Gadget-Namespace-sensitiveEdittools.json&action=raw&ctype=text/json', function( arr ) {
			function addClickHandlers( container ) {
				container.find( '.mw-charinsert-item' ).each( function( i, el ) {
					var start = $( el ).data( 'mw-charinsert-start' );
					var end = $( el ).data( 'mw-charinsert-end' );
					if ( !$( el ).data( 'mw-charinsert-done' ) ) {
						$( el )
							.click( function( ev ) {
								ev.preventDefault();
								target.textSelection( 'encapsulateSelection', {
									pre: start,
									peri: '',
									post: end
								} );
							} )
							.data( 'mw-charinsert-done', true )
							.attr( 'href', '#' );
					}
				} );
			}
			var newEditTools = $( '<div id="edittools"></div>' );
			if ( Array.isArray( arr ) ) {
				arr.forEach( function( obj ) {
					if ( ( Array.isArray( obj.ns ) && obj.ns.indexOf( v.wgNamespaceNumber ) !== -1 ) || ( v.wgNamespaceNumber === 2 && v.wgTitle.indexOf( '/' ) > 0 && Array.isArray( obj.ns ) && obj.ns.indexOf( 0 ) !== -1 ) ) {
						if ( !obj.userGroup || v.wgUserGroups.indexOf( obj.userGroup ) !== -1 ) {
							if ( obj.linebreak ) {
								newEditTools.append( '<br>' );
							}
							if ( obj.text ) {
								if ( Array.isArray( obj.args ) ) {
									$( '<a></a>' )
										.text( obj.text )
										.attr( {
											'title': obj.title,
											'class': 'mw-charinsert-item'
										} )
										.data( {
											'mw-charinsert-start': obj.args[ 0 ],
											'mw-charinsert-end': obj.args[ 1 ]
										} )
										.appendTo( newEditTools )
										.after( ' ' );
								}
							}
						}
					}
				} );
				$( '.mw-editTools #edittools' ).replaceWith( newEditTools );
				addClickHandlers( newEditTools );
				new mw.Api().get( {
					action: 'parse',
					page: 'MediaWiki:Edittools',
					prop: 'text',
					formatversion: 2
				} ).done( function( data ) {
					var text = $( data.parse.text );
					var diakriter = text.find( '#edittoolsdiakriter' );
					diakriter
						.addClass( 'edittools' )
						.wrap( '<div class="mw-editTools"></div>' )
						.parent()
						.insertAfter( '.editOptions' );
					addClickHandlers( diakriter );
				} );
			}
		} );
	}
} );