hochdeutsche version

This commit is contained in:
Manuel Friedli 2013-11-25 12:53:54 +01:00
parent 6aee61de90
commit 5b051230c9
3 changed files with 60 additions and 25 deletions

17
uhr-de.js Normal file
View file

@ -0,0 +1,17 @@
layout = {
language: "Deutsch",
locale: "de",
values: [
[l('E', 'on'), l('S', 'on'),l('K'),l('I', 'on'),l('S', 'on'),l('T', 'on'),l('A'),m('F', 5, 25, 35, 55),m('Ü', 5, 25, 35, 55),m('N', 5, 25, 35, 55),m('F', 5, 25, 35, 55)],
[m('Z', 10, 50), m('E', 10, 50),m('H', 10, 50),m('N', 10, 50),m('Z', 20, 40),m('W', 20, 40),m('A', 20, 40),m('N', 20, 40),m('Z', 20, 40),m('I', 20, 40),m('G', 20, 40)],
[m('D', 45), m('R', 45),m('E', 45),m('I', 45),m('V', 15, 45),m('I', 15, 45),m('E', 15, 45),m('R', 15, 45),m('T', 15, 45),m('E', 15, 45),m('L', 15, 45)],
[m('V', 25, 40, 50, 55), m('O', 25, 40, 50, 55),m('R', 25, 40, 50, 55),l('F'),l('U'),l('N'),l('K'),m('N', 5, 10, 15, 20, 35),m('A', 5, 10, 15, 20, 35),m('C', 5, 10, 15, 20, 35),m('H', 5, 10, 15, 20, 35)],
[m('H', 25, 30, 35),m('A', 25, 30, 35),m('L', 25, 30, 35),m('B', 25, 30, 35),l('A'),h('E', 11),h('L', 11),h('F', 5, 11),h('Ü', 5),h('N', 5),h('F', 5)],
[h('E', 1), h('I', 1),h('N', 1),h('S', 1),l('X'),l('A'),l('M'),h('Z', 2),h('W', 2),h('E', 2),h('I', 2)],
[h('D', 3), h('R', 3),h('E', 3),h('I', 3),l('P'),l('M'),l('J'),h('V', 4),h('I', 4),h('E', 4),h('R', 4)],
[h('S', 6), h('E', 6),h('C', 6),h('H', 6),h('S', 6),l('N'),l('L'),h('A', 8),h('C', 8),h('H', 8),h('T', 8)],
[h('S', 7), h('I', 7),h('E', 7),h('B', 7),h('E', 7),h('N', 7),h('Z', 12),h('W', 12),h('Ö', 12),h('L', 12),h('F', 12)],
[h('Z', 10), h('E', 10),h('H', 10),h('N', 9, 10),h('E', 9),h('U', 9),h('N', 9),l('K'),l('U'),l('H'),l('R')]
]
};

View file

@ -2,7 +2,7 @@ var layout = {
language: "Bärndütsch", language: "Bärndütsch",
locale: "de_CH", locale: "de_CH",
values: [ values: [
[l('E', 'alwayson'), l('S', 'alwayson'),l('K'),l('I', 'alwayson'),l('S', 'alwayson'),l('C', 'alwayson'),l('H', 'alwayson'),l('A'),m('F', 5, 25, 35, 55),m('Ü', 5, 25, 35, 55),m('F', 5, 25, 35, 55)], [l('E', 'on'), l('S', 'on'),l('K'),l('I', 'on'),l('S', 'on'),l('C', 'on'),l('H', 'on'),l('A'),m('F', 5, 25, 35, 55),m('Ü', 5, 25, 35, 55),m('F', 5, 25, 35, 55)],
[m('V', 15, 45), m('I', 15, 45),m('E', 15, 45),m('R', 15, 45),m('T', 15, 45),m('U', 15, 45),l('B'),l('F'),m('Z', 10, 50),m('Ä', 10, 50),m('Ä', 10, 50)], [m('V', 15, 45), m('I', 15, 45),m('E', 15, 45),m('R', 15, 45),m('T', 15, 45),m('U', 15, 45),l('B'),l('F'),m('Z', 10, 50),m('Ä', 10, 50),m('Ä', 10, 50)],
[m('Z', 20, 40), m('W', 20, 40),m('Ä', 20, 40),m('N', 20, 40),m('Z', 20, 40),m('G', 20, 40),l('S'),l('I'),m('V', 25, 40, 45, 50, 55),m('O', 25, 40, 45, 50, 55),m('R', 25, 40, 45, 50, 55)], [m('Z', 20, 40), m('W', 20, 40),m('Ä', 20, 40),m('N', 20, 40),m('Z', 20, 40),m('G', 20, 40),l('S'),l('I'),m('V', 25, 40, 45, 50, 55),m('O', 25, 40, 45, 50, 55),m('R', 25, 40, 45, 50, 55)],
[m('A', 5, 10, 15, 20, 35), m('B', 5, 10, 15, 20, 35),l('O'),m('H', 25, 30, 35),m('A', 25, 30, 35),m('U', 25, 30, 35),m('B', 25, 30, 35),m('I', 25, 30, 35),l('E'),l('G'),l('E')], [m('A', 5, 10, 15, 20, 35), m('B', 5, 10, 15, 20, 35),l('O'),m('H', 25, 30, 35),m('A', 25, 30, 35),m('U', 25, 30, 35),m('B', 25, 30, 35),m('I', 25, 30, 35),l('E'),l('G'),l('E')],

66
uhr.js
View file

@ -1,40 +1,58 @@
var clock = null; var clock = null;
var currentMinute = -1; var currentMinute = -1;
var layout = layout || {};
function highlightCurrentTime() { function highlightCurrentTime() {
var now = new Date(); var now = new Date();
var hour = now.getHours(); var dotMinute = getDotMinute(now);
var minute = now.getMinutes(); if (dotMinute == currentMinute) {
if (minute == currentMinute) {
return; return;
} }
currentMinute = minute; currentMinute = dotMinute;
var hour = getHour(now);
var coarseMinute = getCoarseMinute(now);
resetItems(); resetItems();
var dotMinute = minute % 5;
var coarseMinute = minute - dotMinute;
for (var i = 1; i <= dotMinute; i++) { for (var i = 1; i <= dotMinute; i++) {
highlight('dot' + i); highlight('dot' + i);
} }
highlight('minute' + coarseMinute); highlight('minute' + coarseMinute);
if (coarseMinute >= 25) {
hour++;
}
hour = normalizeHour(hour); hour = normalizeHour(hour);
highlight('hour' + hour); highlight('hour' + hour);
} }
function getHour(date) {
if (typeof layout.getHour === 'function') {
return layout.getHour(date);
}
var hour = date.getHours();
if (date.getMinutes() >= 25) {
return hour + 1;
}
return hour;
}
function getCoarseMinute(date) {
if (typeof layout.getCoarseMinute === 'function') {
return layout.getCoarseMinute(date);
}
var minutes = date.getMinutes();
return minutes - getDotMinute(date);
}
function getDotMinute(date) {
if (typeof layout.getDotMinute === 'function') {
return layout.getDotMinute(date);
}
var minutes = date.getMinutes();
return minutes % 5;
}
function clearDisplay() { function clearDisplay() {
$('.item').removeClass('active'); $('.item').removeClass('active');
} }
function resetItems() { function resetItems() {
clearDisplay() clearDisplay()
highlight('alwayson'); highlight('on');
} }
function highlight(itemClass) { function highlight(itemClass) {
$('.item.' + itemClass).addClass('active'); $('.item.' + itemClass).addClass('active');
} }
function normalizeHour(hour) { function normalizeHour(hour) {
if (hour > 12) { if (hour > 12) {
hour %= 12; hour %= 12;
@ -44,13 +62,12 @@ function normalizeHour(hour) {
} }
return hour; return hour;
} }
function startClock() { function startClock() {
if (clock == null) { if (clock == null) {
highlightCurrentTime();
clock = window.setInterval(highlightCurrentTime, 1000); clock = window.setInterval(highlightCurrentTime, 1000);
} }
} }
function stopClock() { function stopClock() {
if (clock != null) { if (clock != null) {
window.clearInterval(clock); window.clearInterval(clock);
@ -59,7 +76,6 @@ function stopClock() {
clearDisplay(); clearDisplay();
} }
} }
function updateClockState() { function updateClockState() {
if ($('#onoffswitch').is(':checked')) { if ($('#onoffswitch').is(':checked')) {
startClock(); startClock();
@ -71,7 +87,6 @@ function switchTheme(element) {
var theme = $(element).val() var theme = $(element).val()
$('#theme').attr('href', 'uhr-' + theme + '.css'); $('#theme').attr('href', 'uhr-' + theme + '.css');
} }
function render(layout) { function render(layout) {
var container = $('#renderarea'); var container = $('#renderarea');
for (var y = 0; y < layout.values.length; y++) { for (var y = 0; y < layout.values.length; y++) {
@ -84,7 +99,6 @@ function render(layout) {
} }
} }
} }
function Letter(value, style = '') { function Letter(value, style = '') {
this.value = value; this.value = value;
this.style = style; this.style = style;
@ -110,18 +124,22 @@ function l(letter, style) {
/** /**
* Hilfsfunktion, um einen Buchstaben zu erzeugen, der zu einem Stunden-Wort gehört. * Hilfsfunktion, um einen Buchstaben zu erzeugen, der zu einem Stunden-Wort gehört.
* *
* @param letter string: Der Buchstabe, der angezeigt werden soll * @param letter string: Der Buchstabe, der angezeigt werden soll
* @param hour integer: Die Stunde, zu der der Buchstabe gehört (Ganzzahl zwischen 1 und 12) * @param hours... integer: Eine Aufzählung von Stundenwerten, zu welchen der Buchstabe als aktiv angezeigt werden soll
* @example h('Z', 2) erzeugt den Buchstaben 'Z', der um 2:xx und 14:xx aktiv angezeigt wird * @example h('Z', 2), 11 erzeugt den Buchstaben 'Z', der um 2:xx, 11:xx, 14:xx und 23:xx aktiv angezeigt wird
*/ */
function h(letter, hour) { function h(letter) {
return l(letter, 'hour' + hour); var style = '';
for (var i = 1; i < arguments.length; i++) {
style += ' hour' + arguments[i];
}
return l(letter, style);
} }
/** /**
* Hilfsfunktion, um einen Buchstaben zu erzeugen, der zu einem Minuten-Wort gehört. * Hilfsfunktion, um einen Buchstaben zu erzeugen, der zu einem Minuten-Wort gehört.
* *
* @param letter string: Der Buchstabe, der angezeigt werden soll * @param letter string: Der Buchstabe, der angezeigt werden soll
* @param minutes... integer: Eine AUfzählung von Minutenwerten, zu welchen der Buchstabe als aktiv angezeigt werden soll * @param minutes... integer: Eine Aufzählung von Minutenwerten, zu welchen der Buchstabe als aktiv angezeigt werden soll
* @example m('A', 5, 10, 15, 20, 35) erzeugt den Buchstaben 'A' der um :05, :10, :15, :20 und :35 aktiv angezeigt wird * @example m('A', 5, 10, 15, 20, 35) erzeugt den Buchstaben 'A' der um :05, :10, :15, :20 und :35 aktiv angezeigt wird
*/ */
function m(letter) { function m(letter) {