From 1668e8ef03cd71f3444053ff04721dac9d26dec5 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Mon, 13 Jul 2015 22:46:49 -0700 Subject: Updated dzslides template. --- data/dzslides/template.html | 158 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 128 insertions(+), 30 deletions(-) (limited to 'data/dzslides') diff --git a/data/dzslides/template.html b/data/dzslides/template.html index f2fb64b38..56ef8963e 100644 --- a/data/dzslides/template.html +++ b/data/dzslides/template.html @@ -23,14 +23,23 @@
  • Item 1
  • Item 2
  • Item 3 + -
    Some notes. They are only visible using onstage shell.
    +
    Some notes. They are only visible using onstage shell.
    - +
    Who's brave enough to fly into something we all keep calling a death sphere? - +
    +
    +

    In the onstage shell, notes scroll rather than overflow:

    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla ac dui eu est feugiat lacinia sit amet nec leo. Mauris eu ipsum leo. Nulla mi odio, cursus sed sollicitudin non, fringilla id magna. Suspendisse sit amet posuere elit. Maecenas iaculis, turpis a placerat imperdiet, libero lorem feugiat nisi, nec tincidunt diam nibh sit amet massa. Vestibulum quis adipiscing tellus. Maecenas sollicitudin sodales pulvinar. Donec dui ipsum, bibendum facilisis consequat interdum, tempus ut mauris. Aliquam ut dolor nec odio scelerisque bibendum quis in neque. Aliquam dui dui, pulvinar quis fermentum quis, gravida eu augue. Nunc tristique dolor a urna pulvinar bibendum. Curabitur mollis cursus neque, in scelerisque metus porta non. Donec tempor enim in nibh vestibulum et convallis nisi malesuada. Duis ut lectus sed metus venenatis porttitor id pharetra quam. Suspendisse sapien turpis, ornare in molestie et, gravida eget turpis. +

    +
    @@ -42,7 +51,7 @@
    An image
    -
    Kittens are so cute!
    +
    Kittens are so cute!
    @@ -63,14 +72,28 @@ @@ -219,6 +289,7 @@ remoteWindows: [], idx: -1, step: 0, + html: null, slides: null, progressBar : null, params: { @@ -228,14 +299,16 @@ Dz.init = function() { document.body.className = "loaded"; - this.slides = $$("body > section"); + this.slides = Array.prototype.slice.call($$("body > section")); this.progressBar = $("#progress-bar"); + this.html = document.body.parentNode; this.setupParams(); this.onhashchange(); this.setupTouchEvents(); this.onresize(); + this.setupView(); } - + Dz.setupParams = function() { var p = window.location.search.substr(1).split('&'); p.forEach(function(e, i, a) { @@ -285,6 +358,10 @@ aEvent.preventDefault(); this.goFullscreen(); } + if (aEvent.keyCode == 79) { // o + aEvent.preventDefault(); + this.toggleView(); + } } /* Touch Events */ @@ -318,6 +395,16 @@ } } + Dz.setupView = function() { + document.body.addEventListener("click", function ( e ) { + if (!Dz.html.classList.contains("view")) return; + if (!e.target || e.target.nodeName != "SECTION") return; + + Dz.html.classList.remove("view"); + Dz.setCursor(Dz.slides.indexOf(e.target) + 1); + }, false); + } + /* Adapt the size of the slides to the window */ Dz.onresize = function() { @@ -334,9 +421,9 @@ } - Dz.getDetails = function(aIdx) { + Dz.getNotes = function(aIdx) { var s = $("section:nth-of-type(" + aIdx + ")"); - var d = s.$("details"); + var d = s.$("[role='note']"); return d ? d.innerHTML : ""; } @@ -365,7 +452,7 @@ if (argv[0] === "GET_CURSOR" && argc === 1) this.postMsg(win, "CURSOR", this.idx + "." + this.step); if (argv[0] === "GET_NOTES" && argc === 1) - this.postMsg(win, "NOTES", this.getDetails(this.idx)); + this.postMsg(win, "NOTES", this.getNotes(this.idx)); } Dz.toggleContent = function() { @@ -449,6 +536,14 @@ this.setCursor(lastIdx, lastStep); } + Dz.toggleView = function() { + this.html.classList.toggle("view"); + + if (this.html.classList.contains("view")) { + $("section[aria-selected]").scrollIntoView(true); + } + } + Dz.setSlide = function(aIdx) { this.idx = aIdx; var old = $("section[aria-selected]"); @@ -462,6 +557,9 @@ } if (next) { next.setAttribute("aria-selected", "true"); + if (this.html.classList.contains("view")) { + next.scrollIntoView(); + } var video = next.$("video"); if (video && !!+this.params.autoplay) { video.play(); -- cgit v1.2.3