<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://archiv0.vobs.at/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-GallerySlideshow.js</id>
	<title>MediaWiki:Gadget-GallerySlideshow.js - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://archiv0.vobs.at/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-GallerySlideshow.js"/>
	<link rel="alternate" type="text/html" href="https://archiv0.vobs.at/index.php?title=MediaWiki:Gadget-GallerySlideshow.js&amp;action=history"/>
	<updated>2026-06-13T07:11:17Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Matura Wiki</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://archiv0.vobs.at/index.php?title=MediaWiki:Gadget-GallerySlideshow.js&amp;diff=3367&amp;oldid=prev</id>
		<title>Porod: 1 Version importiert: slideshow</title>
		<link rel="alternate" type="text/html" href="https://archiv0.vobs.at/index.php?title=MediaWiki:Gadget-GallerySlideshow.js&amp;diff=3367&amp;oldid=prev"/>
		<updated>2015-07-21T11:38:09Z</updated>

		<summary type="html">&lt;p&gt;1 Version importiert: slideshow&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/**&lt;br /&gt;
 * Installer Script for Gallery-Slideshow&lt;br /&gt;
 * Loads big code on demand&lt;br /&gt;
 * This code is jshint-valid!&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/*global $:false, mw:false*/&lt;br /&gt;
/*jshint curly:false*/&lt;br /&gt;
launch = function() {&lt;br /&gt;
	'use strict';&lt;br /&gt;
	var getMessage, $c = mw.util.$content.parent();&lt;br /&gt;
&lt;br /&gt;
	if ($('.gallery', $c).find('li').length &amp;lt; 2 || mw.config.get('wgNamespaceNumber') === -1 || mw.util.getParamValue('printable')) return; // no need for a gallery with a few images&lt;br /&gt;
&lt;br /&gt;
	// Preparation for i18n and [[:mw:ResourceLoader/Version 2 Design Specification]] - using MediaWiki messages to translate&lt;br /&gt;
	// When Gadget 2 got ready, please revert to https://commons.wikimedia.org/w/index.php?oldid=101463143&lt;br /&gt;
	var msgs = (function () {&lt;br /&gt;
		var translations = { &lt;br /&gt;
			en: {&lt;br /&gt;
				&amp;quot;gs-label-start&amp;quot;: &amp;quot;Slideshow (all images)&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-label-gallery&amp;quot;: &amp;quot;Gallery Slideshow&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-label-started&amp;quot;: &amp;quot;Show Slideshow&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-label-category&amp;quot;: &amp;quot;Category Slideshow&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-label-continue&amp;quot;: &amp;quot;Resume&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-start&amp;quot;: &amp;quot;Start a slideshow of all images (alphabetical by file name)&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-gallery&amp;quot;: &amp;quot;Start a slideshow made from the images in the gallery of this page&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-started&amp;quot;: &amp;quot;Reopen slideshow pane&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-category&amp;quot;: &amp;quot;Start a category slideshow (alphabetical by sortkey, starting with the first file of the category)&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-continue&amp;quot;: &amp;quot;Continue Slideshow where you had left it last time you visited this page.&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			cs: {&lt;br /&gt;
				&amp;quot;gs-label-start&amp;quot;: &amp;quot;Prezentace (všechny obrázky)&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-label-gallery&amp;quot;: &amp;quot;Prezentace galerie&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-label-started&amp;quot;: &amp;quot;Zobrazit prezentaci&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-label-category&amp;quot;: &amp;quot;Prezentace kategorie&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-label-continue&amp;quot;: &amp;quot;Pokračovat&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-start&amp;quot;: &amp;quot;Spustit prezentaci všech obrázků (abecedně podle jména souboru)&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-gallery&amp;quot;: &amp;quot;Spustit prezentaci všech obrázků v galerii na této stránce&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-started&amp;quot;: &amp;quot;Znovuotevřít panel s prezentací&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-category&amp;quot;: &amp;quot;Spustit prezentaci kategorie (abecedně podle řadicího klíče počínaje prvním souborem v kategorii)&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-continue&amp;quot;: &amp;quot;Pokračovat v prezentaci od místa, kde jste skončili při poslední návštěvě této stránky.&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			fa: {&lt;br /&gt;
				&amp;quot;gs-label-start&amp;quot;: &amp;quot;اسلایدشو (همه تصاویر)&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-label-gallery&amp;quot;: &amp;quot;اسلایدشو برای نگارخانه&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-label-started&amp;quot;: &amp;quot;نمایش اسلایدشو&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-label-category&amp;quot;: &amp;quot;اسلایدشوی رده&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-label-continue&amp;quot;: &amp;quot;ادامه&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-start&amp;quot;: &amp;quot;شروع یک اسلایدشوی برای همهٔ تصاویر (الفبایی بنا به نام پرونده)&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-gallery&amp;quot;: &amp;quot;شروع یک اسلایدشوی ساخته\u200cشده از تصاویر نگارخانهٔ این صفحه&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-started&amp;quot;: &amp;quot;بازکردن مجدد قاب اسلایدشو&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-category&amp;quot;: &amp;quot;شروع یک اسلایدشوی رده (الفبایی مرتب\u200cشده، شروع با اولین پرونده)&amp;quot;,&lt;br /&gt;
				&amp;quot;gs-title-continue&amp;quot;: &amp;quot;ادامهٔ اسلایدشو از آنجایی که دفعهٔ قبلی که این صفحه را بازدید کردید رها کرده\u200cاید.&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		}, languageNameParts = mw.config.get('wgUserLanguage').split('-'), lang;&lt;br /&gt;
		&lt;br /&gt;
		translations.no = translations.nb;&lt;br /&gt;
		if (languageNameParts[1] === 'hans' ||&lt;br /&gt;
				languageNameParts[1] === 'cn' ||&lt;br /&gt;
				languageNameParts[1] === 'sg' ||&lt;br /&gt;
				languageNameParts[1] === 'my') {&lt;br /&gt;
			lang = 'zh-hans';&lt;br /&gt;
		} else if (languageNameParts[1] === 'hant' ||&lt;br /&gt;
				languageNameParts[1] === 'hk' ||&lt;br /&gt;
				languageNameParts[1] === 'tw' ||&lt;br /&gt;
				languageNameParts[1] === 'mo') {&lt;br /&gt;
			lang = 'zh-hant';&lt;br /&gt;
		} else if (translations[languageNameParts[0]]) {&lt;br /&gt;
			lang = languageNameParts[0];&lt;br /&gt;
		} else {&lt;br /&gt;
			lang = 'en';&lt;br /&gt;
		}&lt;br /&gt;
		return $.extend(true, translations.en, translations[lang]);&lt;br /&gt;
	}());&lt;br /&gt;
	mw.messages.set(msgs);&lt;br /&gt;
&lt;br /&gt;
	getMessage = function(msg) {&lt;br /&gt;
		msg = mw.message('gs-' + msg);&lt;br /&gt;
		return (msg.exists() ? msg.toString() : msg);&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	// These dependencies must remain here! The gadget is also used as withJS // withCSS&lt;br /&gt;
	// Of course one could introduce a withGadget - URL query param into common.js&lt;br /&gt;
	mw.loader.using(['jquery.cookie', 'mediawiki.util', 'jquery.ui.button', 'jquery.hoverIntent'], function() {&lt;br /&gt;
&lt;br /&gt;
		var isCategory = mw.config.get('wgNamespaceNumber') === 14,&lt;br /&gt;
			$gButtons = $('&amp;lt;div&amp;gt;', {&lt;br /&gt;
				id: 'GallerySlideStartButtons'&lt;br /&gt;
			}),&lt;br /&gt;
			$gButtonsInner = $('&amp;lt;div&amp;gt;', {&lt;br /&gt;
				id: 'GallerySlideStartButtonsInner'&lt;br /&gt;
			})&lt;br /&gt;
				.appendTo($gButtons);&lt;br /&gt;
&lt;br /&gt;
		if (isCategory) {&lt;br /&gt;
			$('#mw-category-media', $c).prepend($gButtons);&lt;br /&gt;
		} else {&lt;br /&gt;
			$(mw.util.$content, $c).find('#firstHeading').before($gButtons);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var startSlideshow = function(o, cont, screenread) {&lt;br /&gt;
			if (cont) o.cont = cont;&lt;br /&gt;
			if (screenread) {&lt;br /&gt;
				o.readFromScreen = true;&lt;br /&gt;
				o.remoteUse = true;&lt;br /&gt;
			}&lt;br /&gt;
			o.start();&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		var loadSlideshowAndStart = function(cont, screenread) {&lt;br /&gt;
			$startButton.button({&lt;br /&gt;
				label: getMessage('label-started')&lt;br /&gt;
			})&lt;br /&gt;
				.attr('title', getMessage('title-started'));&lt;br /&gt;
&lt;br /&gt;
			if ('object' === typeof window.GallerySlide) {&lt;br /&gt;
				startSlideshow(window.GallerySlide, cont, screenread);&lt;br /&gt;
			} else {&lt;br /&gt;
				$(document).bind('slideshow', function(e, st, o) {&lt;br /&gt;
					// If the code requires debugging, you can uncomment the following line&lt;br /&gt;
					// console.log('evt: ' + st);&lt;br /&gt;
					if ('codeLoaded' === st &amp;amp;&amp;amp; o) {&lt;br /&gt;
						startSlideshow(o, cont, screenread);&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
				window.importScriptURI(&lt;br /&gt;
					mw.config.get('wgServer') + mw.config.get('wgScript') +&lt;br /&gt;
					'?' + $.param({&lt;br /&gt;
					title: 'MediaWiki:GallerySlideshow.js',&lt;br /&gt;
					action: 'raw',&lt;br /&gt;
					ctype: 'text/javascript',&lt;br /&gt;
					dummy: 8&lt;br /&gt;
				}));&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		var createButton = function(type, msg) {&lt;br /&gt;
			return $('&amp;lt;button&amp;gt;', {&lt;br /&gt;
				role: 'button',&lt;br /&gt;
				id: 'GallerySlide' + type,&lt;br /&gt;
				title: getMessage('title-' + (msg || type)),&lt;br /&gt;
				text: getMessage('label-' + (msg || type))&lt;br /&gt;
			});&lt;br /&gt;
		},&lt;br /&gt;
			$startButton = createButton('start', isCategory ? 'category' : 'gallery').button({&lt;br /&gt;
				icons: {&lt;br /&gt;
					secondary: 'ui-icon-slideshow'&lt;br /&gt;
				}&lt;br /&gt;
			})&lt;br /&gt;
				.addClass('ui-button-green').click(function() {&lt;br /&gt;
				if (isCategory) {&lt;br /&gt;
					// In categories, have an option for the whole category&lt;br /&gt;
					loadSlideshowAndStart();&lt;br /&gt;
				} else {&lt;br /&gt;
					// In galleries/ on user pages, only files in a gallery should be displayed&lt;br /&gt;
					// (often there are lots of little icon files that aren't important) and just cause noise&lt;br /&gt;
					loadSlideshowAndStart(0, true);&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		// This does not make sense in categories since they should not contain additional galleries&lt;br /&gt;
		// But if they contain &amp;gt;200 files, thus &amp;quot;consisting of multiple pages&amp;quot; &lt;br /&gt;
		// it might be useful to start at the current offset&lt;br /&gt;
		if ($('#mw-category-media .gallery', $c).prevAll('a').length) {&lt;br /&gt;
			$gButtonsInner.append(&lt;br /&gt;
				createButton('gallery').button({&lt;br /&gt;
				icons: {&lt;br /&gt;
					primary: 'ui-icon-image'&lt;br /&gt;
				}&lt;br /&gt;
			})&lt;br /&gt;
				.click(function() {&lt;br /&gt;
					loadSlideshowAndStart(0, true);&lt;br /&gt;
				}));&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var lastQuery = $.cookie('gs' + mw.config.get('wgPageName').replace('Category:', '1:').replace('Commons:', '2:'));&lt;br /&gt;
		if (lastQuery) {&lt;br /&gt;
			$gButtonsInner.append(createButton('continue').button({&lt;br /&gt;
				icons: {&lt;br /&gt;
					primary: 'ui-icon-seek-next'&lt;br /&gt;
				}&lt;br /&gt;
			}).click(function() {&lt;br /&gt;
				loadSlideshowAndStart(lastQuery);&lt;br /&gt;
			}));&lt;br /&gt;
		}&lt;br /&gt;
		$startButton.appendTo($gButtonsInner);&lt;br /&gt;
		$gButtons.buttonset();&lt;br /&gt;
&lt;br /&gt;
		$(document).triggerHandler('slideshow', ['loadedInstaller', $gButtons]); // For external scripts&lt;br /&gt;
&lt;br /&gt;
		var autoStart = mw.util.getParamValue('gsAutoStart');&lt;br /&gt;
		if (({&lt;br /&gt;
			'1': 1,&lt;br /&gt;
			'true': 1,&lt;br /&gt;
			'yes': 1,&lt;br /&gt;
			'-1': 1&lt;br /&gt;
		}[autoStart])) {&lt;br /&gt;
			loadSlideshowAndStart();&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// TODO: Make a dropdown like Flickr has (more usable)&lt;br /&gt;
		// Save space and make it non-intusive: The slideshow button is only partially visible&lt;br /&gt;
		var $buttons = $gButtons.find('button'),&lt;br /&gt;
			_switchToIcon = function($b) {&lt;br /&gt;
				$b.removeClass('ui-button-text-icon-secondary')&lt;br /&gt;
					.removeClass('ui-button-text-icon-primary').addClass('ui-button-icon-only');&lt;br /&gt;
			};&lt;br /&gt;
		$buttons.each(function(i, b) {&lt;br /&gt;
			var $b = $(b),&lt;br /&gt;
				oldClass = $b.attr('class'),&lt;br /&gt;
				$t = $b.find('span.ui-button-text'),&lt;br /&gt;
				tw = $t.width();&lt;br /&gt;
&lt;br /&gt;
			$b.hoverIntent(function() {&lt;br /&gt;
				var hasOldClass = false;&lt;br /&gt;
				$t.stop(true).delay(200).animate({&lt;br /&gt;
					width: tw,&lt;br /&gt;
					opacity: 1&lt;br /&gt;
				}, {&lt;br /&gt;
					duration: 'fast',&lt;br /&gt;
					easing: 'linear',&lt;br /&gt;
					step: function() {&lt;br /&gt;
						if (hasOldClass) return;&lt;br /&gt;
						$b.attr('class', oldClass);&lt;br /&gt;
						hasOldClass = true;&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
			}, function() {&lt;br /&gt;
				$t.delay(800).animate({&lt;br /&gt;
					width: 0,&lt;br /&gt;
					opacity: 0&lt;br /&gt;
				}, function() {&lt;br /&gt;
					_switchToIcon($b);&lt;br /&gt;
				});&lt;br /&gt;
			});&lt;br /&gt;
			_switchToIcon($b);&lt;br /&gt;
			$t.width(0).fadeTo(0, 0);&lt;br /&gt;
		});&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
mw.hook('wikipage.content').add(launch);&lt;/div&gt;</summary>
		<author><name>Porod</name></author>
	</entry>
</feed>