Järjestelmäviesti:Mobile.js

Wikikirjastosta

Huomautus: Selaimen välimuisti pitää tyhjentää asetusten tallentamisen jälkeen, jotta muutokset tulisivat voimaan.

  • Firefox ja Safari: Napsauta Shift-näppäin pohjassa Päivitä, tai paina Ctrl-F5 tai Ctrl-R (⌘-R Macilla)
  • Google Chrome: Paina Ctrl-Shift-R (⌘-Shift-R Macilla)
  • Internet Explorer ja Edge: Napsauta Ctrl-näppäin pohjassa Päivitä tai paina Ctrl-F5
  • Opera: Paina Ctrl-F5.
/* Any JavaScript here will be loaded for users using the mobile site */

/*
mw-collapsible-custom  tekee sivun alussa olevasta navigaatiovalikosta
avattavan ja suljettavan siten, että se on mobiililaitteissa 
vakiona kiinni.

Järjestelmä muistaa cookiella lyhyen aikaa sen, että oliko 
valikko kiinni vai auki.

3.2.2018 Kimmo Virtanen / Zache

*/
$(function() {
	
	// Näyttää valikon ja tallentaa tilan keksiin
	function showtable(table)
	{
		table.find(".buttonindicator").html("[<a class='mw-collapsible-text'>Piilota</a>]");
		table.removeClass("mw-collapsed");
		table.removeClass("mw-collapsible-minervahide");
		table.find("tbody").show();
		mw.cookie.set("showfiwikibooksnavi", 1, { path: '/', secure: false });
	}
	
	// Piilottaa valikon ja tallentaa tilan keksiin
	function hidetable(table)
	{
		table.find(".buttonindicator").html("[<a class='mw-collapsible-text'>Näytä</a>]");
		table.addClass("mw-collapsed");
		table.find("tbody").hide();
		mw.cookie.set("showfiwikibooksnavi", 2, { path: '/', secure: false });
	}
	
	// Lisätään näytä / piilota -valikko.
	var e=$(".mw-collapsible-custom");
	if (e.length>0)
	{
		var buttonindicator=$("<div>[<a class='mw-collapsible-text'>Piilota</a>]</div>");
		buttonindicator.addClass("buttonindicator");
		
		// Päivitetään tekstit sen perusteella, että onko valikko piilotettu CSS-säännöllä.
		if (e.find("tbody").is(':visible')===false)
		{
			e.addClass("mw-collapsed");
			buttonindicator.html("[<a class='mw-collapsible-text'>Näytä</a>]");
		}		

		var clickhandler=function() {
			var table=$(this).closest("table");
			if (table.hasClass("mw-collapsible-custom")) {
				if (table.hasClass("mw-collapsed"))
				{
					showtable(table);
				}
				else
				{
					hidetable(table);
				}
			}
		};
		
		var caption=e.find("caption").first();
		caption.prepend(buttonindicator);
		caption.click(clickhandler);	
		caption.addClass("collapsible-heading");

		// Muistetaan valikon edellinen tila
		mw.loader.using([
			'mediawiki.cookie'
		]).then( function () {
			if (mw.cookie.get("showfiwikibooksnavi")==1)
			{
				showtable(e);
			}
			else if (mw.cookie.get("showfiwikibooksnavi")==2)
			{
				hidetable(e);
			}
		});
	}
});