diff options
Diffstat (limited to 'hesla.es')
-rw-r--r-- | hesla.es | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/hesla.es b/hesla.es deleted file mode 100644 index 30e5ba3..0000000 --- a/hesla.es +++ /dev/null @@ -1,159 +0,0 @@ -import {ActivePage} from "activePage"; - -if (!Date.prototype.toISODateString) { - Date.prototype.toISODateString = function() { - function pad(n) { - return n < 10 ? '0' + n : n; - } - - return this.getFullYear() + '-' + pad(this.getMonth() + 1) + - '-' + pad(this.getDate()); - }; -} - -export class Hesla extends ActivePage { - constructor() { - super(); - document.getElementById("czech_nav").addEventListener("click", - (evt) => { - localStorage.setItem("language", "cs"); - this.lang_reload(); - }, false); - - document.getElementById("german_nav").addEventListener("click", - (evt) => { - localStorage.setItem("language", "de"); - this.lang_reload(); - }, false); - - // requires IE 10, Opera 12.10, Safari 7, - // FIXME Android browser requires 4.4 and has only - // webkitHidden and the event is webkitvisibilitychange - if (typeof document.hidden !== "undefined") { - document.addEventListener("visibilitychange", - (evt) => { - if (! document.hidden) { - this.today(); - } - }, false); - } - } - - /** - * react to the discovered distance of swipe - * - * @param distX Number distance in points in direction X - * @param distY Number distance in points in direction Y - * - * There is a preference for the horizontal swipe; if that doesn't - * happen (i.e., the distance travelled horizontally is less than - * negligible), then the vertical swipe (in either direction) means - * jump to today. - */ - handle_move(distX, distY) { - var negligible = 100; - console.log('distX = ' + distX); - console.log('distY = ' + distY); - - if (distX < -negligible) { - console.log("swipe left"); - this.next(); - } - else if (distX > negligible) { - console.log("swipe right"); - this.prev(); - } - } - - // cur_watchword is actually just a virtual property, which is not stored anywhere and its - // accessor methods change the value of the cur_section property instead. - get cur_watchword() { - console.log(`this.cur_section = ${this.cur_section}`); - if (!this.cur_section) { - this.cur_section = new Date(); - } - - return this.cur_section; - } - - set cur_watchword(value) { - // Remove 'visible' style from the currently displayed psalm, if - // there is any - - this.cur_section = value; - - // set the parameter directly to avoid call to getter. - console.log('Displaying ' + this.cur_section); - this.display(); - } - - /** - * Display losungen for given day - * - * Displays the Losungen for the given date (or today if not defined) - */ - display() { - super.display(); - - console.log("cur_watchword = " + this.cur_watchword.toISODateString()); - document.getElementById(this.cur_watchword.toISODateString()). - classList.add("visible"); - - window.scroll(0, 0); - } - - today() { - console.log("jump to today!"); - this.cur_watchword = new Date(); - this.display(); - } - - shiftDate(shift) { - var cur_date = this.cur_watchword; - cur_date.setDate(cur_date.getDate() + shift); - this.cur_watchword = cur_date; - } - - next() { - console.log("Next day!"); - this.shiftDate(+1); - } - - prev() { - console.log("Previous day!"); - this.shiftDate(-1); - } - - // Switch langauge - /** - * Handler for the switch language event - * - * Switches the displayed langauge page according to the state stored - * in the localStorage.langauge variable which contains ISO code for - * the chosen language ('de' and 'cs' currently). - */ - lang_reload() { - var new_basename = "index.html", new_url = window.location.href, - old_basename = window.location.pathname.split("/").slice(-1)[0]; - console.log('old_basename = ' + old_basename); - - if (localStorage.getItem("language") && - (localStorage.getItem("language") === "de")) { - new_basename = "index_de.html"; - } - - console.log('new_basename = ' + new_basename); - if ((old_basename !== new_basename) || (window.location.pathname.length === 0)) { - new_url = window.location.href.replace(/(index[-\w]*\.html)?$/, - new_basename); - } - - if (window.location.href !== new_url) { - window.location.assign(new_url); - } - } -} - -var thisHesla = new Hesla(); -thisHesla.lang_reload(); -thisHesla.display(); |