MediaWiki:Common.js/edit.js

Definition från Wiktionary, den fria ordlistan.
Hoppa till navigering Hoppa till sök

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.
/*
== Förladdad text ==
*/
/**
 * Besök en URL av typen
 *    ?action=edit&summary=<förladdad sammanfattning>#preloadtext=<förladdad text>&preloadwarnings=<varningar till setEditorWarnings>
 *
 * Används t.ex. av [[MediaWiki:Gadget-green links.js]].
 */
function preloadText() {
	if (window.preloadedText) {
		return;
	}
	window.preloadedText = true;

	var params = location.hash.replace('#', '?') || location.search;

	// Preload warnings, shown with [[MediaWiki:Gadget-editorwarnings.js]]
	var warningsJson = mw.util.getParamValue('preloadwarnings', params);
	var warnings = warningsJson && JSON.parse(warningsJson);
	if (warnings && warnings.length) {
		mw.loader.using('ext.gadget.editorwarnings', function () {
			setEditorWarnings('preload', warnings);
		});
	}

	var text = mw.util.getParamValue('preloadtext', params);

	if (!text) {
		return;
	}

	if (text.indexOf('{' + '{subst:') === -1) {
		// Lägg till texten direkt, för den innehåller inget mallanrop som behöver substitueras
		append(text);
	} else {
		// Substituera texten
		mw.loader.using(['mediawiki.api']).then(function() {
			new mw.Api().get({
				action: 'parse',
				title: mw.config.get('wgTitle'),
				text: text,
				onlypst: 1,
			}).then(function(data) {
				var parsed = data && data.parse && data.parse.text && data.parse.text['*'];
				if (!parsed) {
					console.error('Could not parse wikitext', data);
					return;
				}

				append(parsed);
			});
		});
	}

	function append(text) {
		var tb = $('#wpTextbox1');
		var origText = tb.val();

		// Add the given text, only if nothing has been entered
		if (!origText) {
			tb.val(text);
		}
	}
}
$(preloadText);

/*
== Meny för att välja specialtecken ==
*/
/**
 * Lägg till meny för att välja specialtecken vid redigering. (se [[MediaWiki:Edittools]])
 */
function insertSpecialChars() {
	var rows = $('#specialchars').find('.specialbasic, .speciallang').hide().css('margin', 0);
	var cur = -1;

	var select = $('<select>', {change: selectChars});
	rows.each(function () {
		$('<option>', {text: $(this).data('name') || $(this).text().replace(/:[\s\S]+/, '')})
			.appendTo(select);
	});
	select.insertBefore('#specialchars');
	selectChars();

	select[0].selectedIndex = typeof defaultCharSubset !== "undefined" ? defaultCharSubset : 0;

	function selectChars() {
		$(rows[cur]).hide();
		cur = select[0].selectedIndex;
		$(rows[cur]).show();
	}
}
$(insertSpecialChars);