MediaWiki:Gadget-Edittools.js: различия между версиями

Материал из emigrantopedia.de
(Новая страница: «/** * EditTools support: add a selector, change <a> into buttons. * The special characters to insert are defined at MediaWiki:Edittools. * * @author Arnom...»)
 
Нет описания правки
Строка 8: Строка 8:
  * @source www.mediawiki.org/wiki/MediaWiki:Gadget-Edittools.js
  * @source www.mediawiki.org/wiki/MediaWiki:Gadget-Edittools.js
  * @revision 2019-12-17
  * @revision 2019-12-17
  * @author Kaganer, adopted to emigrantopedia.com
  * @author Kaganer, 2021 (adapting to emigrantopedia.com)
  */
  */
/*jslint browser: true*/
/*jslint browser: true*/

Версия от 18:02, 5 марта 2021

/**
 * EditTools support: add a selector, change <a> into buttons.
 * The special characters to insert are defined at [[MediaWiki:Edittools]].
 *
 * @author Arnomane, 2006 (on the commons.wikimedia.org/wiki/MediaWiki:Edittools.js)
 * @author Kaganer, 2007 (adapting to www.mediawiki.org)
 * @author Krinkle, 2012
 * @source www.mediawiki.org/wiki/MediaWiki:Gadget-Edittools.js
 * @revision 2019-12-17
 * @author Kaganer, 2021 (adapting to emigrantopedia.com)
 */
/*jslint browser: true*/
/*global jQuery, mediaWiki*/
(function ($, mw) {
	"use strict";

	var conf, editTools, $sections;

	conf = {
		initialSubset: window.EditTools_initial_subset === undefined ? window.EditTools_initial_subset : 0
	};

	editTools = {

		/**
		 * Convert the <a onclick> links to buttons in a given section.
		 *
		 * @param $section {jQuery}
		 */
		makeButtons: function ($section) {
			var $links;

			if (!$section.length) {
				return;
			}

			$links = $section.find('a');
			$links.each(function (i, a) {
				var $a, $button, start, end;
				$a = $(a);
				$button = $( '<input>' ).attr( 'type', 'button' );
				start = $a.data( 'mw-charinsert-start' );
				end = $a.data( 'mw-charinsert-end' );
				if ( start !== undefined && end !== undefined ) {
					$button.click( function( e ) {
						e.preventDefault();
						$('#wpTextbox1').textSelection('encapsulateSelection', {pre: start, post: end});
					} );
				} else {
					$button[0].onclick = a.onclick;
                                }
				$button[0].value = $a.text();
				$a.replaceWith($button);
			});
		}

	};

	$(document).ready(editTools.setup);

}(jQuery, mediaWiki));