liquid_feedback_frontend
diff app/main/slideshow/_slideshow.lua @ 1045:701a5cf6b067
Imported LiquidFeedback Frontend 3.0 branch
author | bsw |
---|---|
date | Thu Jul 10 01:19:48 2014 +0200 (2014-07-10) |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/app/main/slideshow/_slideshow.lua Thu Jul 10 01:19:48 2014 +0200 1.3 @@ -0,0 +1,79 @@ 1.4 +local slides = param.get( "slides", "table" ) 1.5 + 1.6 +local show_slides = {} 1.7 + 1.8 +for i, slide in ipairs( slides ) do 1.9 + 1.10 + if slide.initiative then 1.11 + show_slides[ #show_slides + 1 ] = slide 1.12 + end 1.13 + 1.14 +end 1.15 + 1.16 +slot.select( "slideshow", function () 1.17 + 1.18 + ui.container { attr = { class = "slideshow" }, content = function () 1.19 + 1.20 + for i, slide in ipairs( show_slides ) do 1.21 + 1.22 + if slide.initiative.issue.closed then 1.23 + view = "finished" 1.24 + elseif slide.initiative.issue.fully_frozen then 1.25 + view = "voting" 1.26 + elseif slide.initiative.issue.half_frozen then 1.27 + view = "verification" 1.28 + elseif slide.initiative.issue.admitted then 1.29 + view = "discussion" 1.30 + else 1.31 + view = "admission" 1.32 + end 1.33 + 1.34 + ui.container { attr = { class = "slide slide-" .. i }, content = function () 1.35 + 1.36 + if slide.initiative.issue.closed then 1.37 + util.initiative_pie(slide.initiative, 150) 1.38 + end 1.39 + 1.40 + ui.container { 1.41 + attr = { class = "slideshowTitle" }, 1.42 + content = slide.title 1.43 + } 1.44 + 1.45 + execute.view { 1.46 + module = "initiative", view = "_list_element", params = { 1.47 + initiative = slide.initiative 1.48 + } 1.49 + } 1.50 + 1.51 + end } 1.52 + 1.53 + end 1.54 + 1.55 + 1.56 + end } 1.57 + 1.58 +end ) 1.59 + 1.60 +ui.script{ script = [[ 1.61 + 1.62 +var slideshowCurrent = 0; 1.63 +var slideshowCount = ]] .. #show_slides .. [[ ; 1.64 +function slideshowShowSlide(i) { 1.65 + $(".slideshow .slide").slideUp(); 1.66 + $(".slideshow .slide-" + i).slideDown(); 1.67 + slideshowCurrent = i; 1.68 +} 1.69 + 1.70 +function slideshowShowNext() { 1.71 + var next = slideshowCurrent + 1; 1.72 + if (next > slideshowCount) { 1.73 + next = 1; 1.74 + } 1.75 + slideshowShowSlide(next); 1.76 + window.setTimeout(slideshowShowNext, 7500); 1.77 +} 1.78 + 1.79 +slideshowShowNext(); 1.80 + 1.81 + 1.82 + ]]} 1.83 \ No newline at end of file