Merge branch 'feature/cookie' of /var/lib/git/repositories/manuel/uhr into develop
This commit is contained in:
		
						commit
						f9a4d59b9a
					
				
					 4 changed files with 150 additions and 1 deletions
				
			
		
							
								
								
									
										29
									
								
								index.html
									
										
									
									
									
								
							
							
						
						
									
										29
									
								
								index.html
									
										
									
									
									
								
							|  | @ -3,6 +3,7 @@ | ||||||
| <head> | <head> | ||||||
| <title>Die Zeit als Wort - in HTML, CSS und JS</title> | <title>Die Zeit als Wort - in HTML, CSS und JS</title> | ||||||
| <script type="text/javascript" src="jquery-2.0.3.min.js"></script> | <script type="text/javascript" src="jquery-2.0.3.min.js"></script> | ||||||
|  | <script type="text/javascript" src="jquery.cookie.js"></script> | ||||||
| <script type="text/javascript" src="uhr.js"></script> | <script type="text/javascript" src="uhr.js"></script> | ||||||
| <script type="text/javascript" src="uhr-de_CH.js"></script> | <script type="text/javascript" src="uhr-de_CH.js"></script> | ||||||
| <script type="text/javascript" src="uhr-de.js"></script> | <script type="text/javascript" src="uhr-de.js"></script> | ||||||
|  | @ -49,7 +50,33 @@ | ||||||
| 			$('#layoutswitcher').on('change', function() { | 			$('#layoutswitcher').on('change', function() { | ||||||
| 				switchLayout(this.value); | 				switchLayout(this.value); | ||||||
| 			}); | 			}); | ||||||
| 			switchLayout('de_CH'); | 			$.cookie.defaults.expires = 365; | ||||||
|  | 			$.cookie.defaults.path = '/'; | ||||||
|  | 			var theme = $.cookie('theme'); | ||||||
|  | 			var layout = $.cookie('layout'); | ||||||
|  | 			var status = $.cookie('status'); | ||||||
|  | 			if (theme == undefined) { | ||||||
|  | 				theme = 'black'; | ||||||
|  | 			} | ||||||
|  | 			if(layout == undefined) { | ||||||
|  | 				layout = 'de_CH'; | ||||||
|  | 			} | ||||||
|  | 			if (status == undefined) { | ||||||
|  | 				status = 'on'; | ||||||
|  | 			} | ||||||
|  | 			$('#themeswitcher').val(theme); | ||||||
|  | 			switchTheme(theme); | ||||||
|  | 			$('#layoutswitcher').val(layout); | ||||||
|  | 			switchLayout(layout); | ||||||
|  | 			if (status == 'on') { | ||||||
|  | 				if(!isOn()) { | ||||||
|  | 					$('#onoffswitch').click(); | ||||||
|  | 				} | ||||||
|  | 			} else { | ||||||
|  | 				if(isOn()) { | ||||||
|  | 					$('#onoffswitch').click(); | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
| 		}); | 		}); | ||||||
| 	</script> | 	</script> | ||||||
| </body> | </body> | ||||||
|  |  | ||||||
							
								
								
									
										117
									
								
								jquery.cookie.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								jquery.cookie.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,117 @@ | ||||||
|  | /*! | ||||||
|  |  * jQuery Cookie Plugin v1.4.0 | ||||||
|  |  * https://github.com/carhartl/jquery-cookie
 | ||||||
|  |  * | ||||||
|  |  * Copyright 2013 Klaus Hartl | ||||||
|  |  * Released under the MIT license | ||||||
|  |  */ | ||||||
|  | (function (factory) { | ||||||
|  | 	if (typeof define === 'function' && define.amd) { | ||||||
|  | 		// AMD. Register as anonymous module.
 | ||||||
|  | 		define(['jquery'], factory); | ||||||
|  | 	} else { | ||||||
|  | 		// Browser globals.
 | ||||||
|  | 		factory(jQuery); | ||||||
|  | 	} | ||||||
|  | }(function ($) { | ||||||
|  | 
 | ||||||
|  | 	var pluses = /\+/g; | ||||||
|  | 
 | ||||||
|  | 	function encode(s) { | ||||||
|  | 		return config.raw ? s : encodeURIComponent(s); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	function decode(s) { | ||||||
|  | 		return config.raw ? s : decodeURIComponent(s); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	function stringifyCookieValue(value) { | ||||||
|  | 		return encode(config.json ? JSON.stringify(value) : String(value)); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	function parseCookieValue(s) { | ||||||
|  | 		if (s.indexOf('"') === 0) { | ||||||
|  | 			// This is a quoted cookie as according to RFC2068, unescape...
 | ||||||
|  | 			s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			// Replace server-side written pluses with spaces.
 | ||||||
|  | 			// If we can't decode the cookie, ignore it, it's unusable.
 | ||||||
|  | 			s = decodeURIComponent(s.replace(pluses, ' ')); | ||||||
|  | 		} catch(e) { | ||||||
|  | 			return; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			// If we can't parse the cookie, ignore it, it's unusable.
 | ||||||
|  | 			return config.json ? JSON.parse(s) : s; | ||||||
|  | 		} catch(e) {} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	function read(s, converter) { | ||||||
|  | 		var value = config.raw ? s : parseCookieValue(s); | ||||||
|  | 		return $.isFunction(converter) ? converter(value) : value; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	var config = $.cookie = function (key, value, options) { | ||||||
|  | 
 | ||||||
|  | 		// Write
 | ||||||
|  | 		if (value !== undefined && !$.isFunction(value)) { | ||||||
|  | 			options = $.extend({}, config.defaults, options); | ||||||
|  | 
 | ||||||
|  | 			if (typeof options.expires === 'number') { | ||||||
|  | 				var days = options.expires, t = options.expires = new Date(); | ||||||
|  | 				t.setDate(t.getDate() + days); | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			return (document.cookie = [ | ||||||
|  | 				encode(key), '=', stringifyCookieValue(value), | ||||||
|  | 				options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
 | ||||||
|  | 				options.path    ? '; path=' + options.path : '', | ||||||
|  | 				options.domain  ? '; domain=' + options.domain : '', | ||||||
|  | 				options.secure  ? '; secure' : '' | ||||||
|  | 			].join('')); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		// Read
 | ||||||
|  | 
 | ||||||
|  | 		var result = key ? undefined : {}; | ||||||
|  | 
 | ||||||
|  | 		// To prevent the for loop in the first place assign an empty array
 | ||||||
|  | 		// in case there are no cookies at all. Also prevents odd result when
 | ||||||
|  | 		// calling $.cookie().
 | ||||||
|  | 		var cookies = document.cookie ? document.cookie.split('; ') : []; | ||||||
|  | 
 | ||||||
|  | 		for (var i = 0, l = cookies.length; i < l; i++) { | ||||||
|  | 			var parts = cookies[i].split('='); | ||||||
|  | 			var name = decode(parts.shift()); | ||||||
|  | 			var cookie = parts.join('='); | ||||||
|  | 
 | ||||||
|  | 			if (key && key === name) { | ||||||
|  | 				// If second argument (value) is a function it's a converter...
 | ||||||
|  | 				result = read(cookie, value); | ||||||
|  | 				break; | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			// Prevent storing a cookie that we couldn't decode.
 | ||||||
|  | 			if (!key && (cookie = read(cookie)) !== undefined) { | ||||||
|  | 				result[name] = cookie; | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		return result; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | 	config.defaults = {}; | ||||||
|  | 
 | ||||||
|  | 	$.removeCookie = function (key, options) { | ||||||
|  | 		if ($.cookie(key) !== undefined) { | ||||||
|  | 			// Must not alter options, thus extending a fresh object...
 | ||||||
|  | 			$.cookie(key, '', $.extend({}, options, { expires: -1 })); | ||||||
|  | 			return true; | ||||||
|  | 		} | ||||||
|  | 		return false; | ||||||
|  | 	}; | ||||||
|  | 
 | ||||||
|  | })); | ||||||
|  | @ -3,6 +3,7 @@ CACHE MANIFEST | ||||||
| 
 | 
 | ||||||
| index.html | index.html | ||||||
| jquery-2.0.3.min.js | jquery-2.0.3.min.js | ||||||
|  | jquery.cookie.js | ||||||
| uhr-black.css | uhr-black.css | ||||||
| uhr-blue.css | uhr-blue.css | ||||||
| uhr-de.js | uhr-de.js | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								uhr.js
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								uhr.js
									
										
									
									
									
								
							|  | @ -75,6 +75,7 @@ function startClock() { | ||||||
| 		highlightCurrentTime(); | 		highlightCurrentTime(); | ||||||
| 		clock = window.setInterval(highlightCurrentTime, 1000); | 		clock = window.setInterval(highlightCurrentTime, 1000); | ||||||
| 	} | 	} | ||||||
|  | 	$.cookie('status', 'on'); | ||||||
| } | } | ||||||
| function stopClock() { | function stopClock() { | ||||||
| 	if (clock != null) { | 	if (clock != null) { | ||||||
|  | @ -83,6 +84,7 @@ function stopClock() { | ||||||
| 		currentMinute = -1; | 		currentMinute = -1; | ||||||
| 		clearDisplay(); | 		clearDisplay(); | ||||||
| 	} | 	} | ||||||
|  | 	$.cookie('status', 'off'); | ||||||
| } | } | ||||||
| function updateClockState() { | function updateClockState() { | ||||||
| 	if (isOn()) { | 	if (isOn()) { | ||||||
|  | @ -96,6 +98,7 @@ function isOn() { | ||||||
| } | } | ||||||
| function switchTheme(theme) { | function switchTheme(theme) { | ||||||
| 	$('#theme').attr('href', 'uhr-' + theme + '.css'); | 	$('#theme').attr('href', 'uhr-' + theme + '.css'); | ||||||
|  | 	$.cookie('theme', theme); | ||||||
| } | } | ||||||
| function switchLayout(locale) { | function switchLayout(locale) { | ||||||
| 	stopClock(); | 	stopClock(); | ||||||
|  | @ -107,6 +110,7 @@ function switchLayout(locale) { | ||||||
| 	if (isOn()) { | 	if (isOn()) { | ||||||
| 		startClock(); | 		startClock(); | ||||||
| 	} | 	} | ||||||
|  | 	$.cookie('layout', locale); | ||||||
| } | } | ||||||
| function renderLayout() { | function renderLayout() { | ||||||
| 	var container = $('#renderarea'); | 	var container = $('#renderarea'); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue