MediaWiki:Gadget-DisplayOldLanguageLinks.js

Märkus: Võimalik, et pärast avaldamist tuleb muudatuste nägemiseks brauseri puhver tühjendada.

  • Firefox / Safari: Hoia all Shift-klahvi ja klõpsa Laadi uuesti või vajuta kas Ctrl-F5 või Ctrl-R (Macis ⌘-R).
  • Google Chrome: Vajuta Ctrl-Shift-R (Macis ⌘-Shift-R).
  • Internet Explorer / Edge: Hoia all Ctrl-klahvi ja klõpsa Värskenda või vajuta Ctrl-F5.
  • Opera: Vajuta Ctrl-F5.
$.when (
	$.ready,
	mw.loader.using(['mediawiki.util'])
	).done(function () {

		// Otsime ja kloonime olemasolevad keelelingid
		var langLinks = $('.vector-menu-content-list').find('.interlanguage-link').clone();

		// Kui ei ole ühtki keelelinki, ei näita tühja DOM-elementi. Mis ühtlasi välistab vajaduse nimeruumi järgi tingimuse seadmiseks.
		if (langLinks.length < 1) {
			return;
		}

		langLinks.each(function() {
			// Ilma selleta kuvataks compact language listi
			$( this ).show();
		});

		/* Defineerime konteinerid jm CSS-i */
		var firstContainer = $('<nav/>', {
			"class": 'vector-language-links-landmark',
			"aria-label": 'Keelelingid'
		});

		var secondContainer = $('<div/>', {
			"id": 'vector-language-links-pinned-container',
			"class": 'vector-pinned-container'
		});

		var thirdContainer = $('<div/>', {
			"id": 'vector-language-links',
			"class": 'vector-page-tools vector-pinnable-element'
		});

		var headerContainer = $('<div/>', {
			"class": 'vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-pinned',
		})

		var cactionsContainer = $('<div/>', {
			"id": 'pl-cactions',
			"class": 'vector-menu mw-portlet mw-portlet-cactions vector-has-collapsible-items',
			"title": 'Veel võimalusi'
		});

		var contentContainer = $('<div/>', {
			"class": 'vector-menu-content'
		});

		var menuList = $('<ul/>', {
			"class": 'language-links-list'
		});

		var headerLabel = $('<div/>', {
			"class": 'vector-pinnable-header-label'
		}).html("Keeled");

		/* See osa tegeleb sellega, kas column-gapi jagu left-marginit on lisada või eemaldada. Column-gap sõltub sellest, kas tööriistade 
		   konteiner on kinnitatud külgmenüüsse või peidetud */

		if ($("html").hasClass('vector-feature-page-tools-pinned-disabled')) {
			firstContainer.css("margin-left", "36px");
		}

		if ($("html").hasClass('vector-feature-page-tools-pinned-enabled')) {
			firstContainer.css("margin-left", "0px");
		}

		$( ".vector-page-tools-pinnable-header > .vector-pinnable-header-unpin-button" ).on( "click", function() {
			firstContainer.css("margin-left", "36px");
		} );

		$( ".vector-page-tools-pinnable-header > .vector-pinnable-header-pin-button" ).on( "click", function() {
			firstContainer.css("margin-left", "0px");
		} );

		/* Poogime oma konteinerid DOM-i sisse */

		$('.mw-content-container > .mw-body > .vector-column-end').prepend( 
			firstContainer.append(
				secondContainer.append(
					thirdContainer.append(
						headerContainer.append(
							headerLabel
						),
						cactionsContainer.append(
							contentContainer.append(
								menuList.append(
									langLinks
								)
							)
						)
					)
				)
			)
		);

	}
);