| rev | line source | 
| bsw@1045 | 1 local slides = param.get( "slides", "table" ) | 
| bsw@1045 | 2 | 
| bsw@1045 | 3 local show_slides = {} | 
| bsw@1045 | 4 | 
| bsw@1045 | 5 for i, slide in ipairs( slides ) do | 
| bsw@1045 | 6 | 
| bsw@1045 | 7   if slide.initiative then | 
| bsw@1045 | 8     show_slides[ #show_slides + 1 ] = slide | 
| bsw@1045 | 9   end | 
| bsw@1045 | 10 | 
| bsw@1045 | 11 end | 
| bsw@1045 | 12 | 
| bsw@1045 | 13 slot.select( "slideshow", function () | 
| bsw@1045 | 14 | 
| bsw@1045 | 15   ui.container { attr = { class = "slideshow" }, content = function () | 
| bsw@1045 | 16 | 
| bsw@1045 | 17     for i, slide in ipairs( show_slides ) do | 
| bsw@1045 | 18 | 
| bsw@1045 | 19       if slide.initiative.issue.closed then | 
| bsw@1045 | 20         view = "finished" | 
| bsw@1045 | 21       elseif slide.initiative.issue.fully_frozen then | 
| bsw@1045 | 22         view = "voting" | 
| bsw@1045 | 23       elseif slide.initiative.issue.half_frozen then | 
| bsw@1045 | 24         view = "verification" | 
| bsw@1045 | 25       elseif slide.initiative.issue.admitted then | 
| bsw@1045 | 26         view = "discussion" | 
| bsw@1045 | 27       else | 
| bsw@1045 | 28         view = "admission" | 
| bsw@1045 | 29       end | 
| bsw@1045 | 30 | 
| bsw@1045 | 31       ui.container { attr = { class = "slide slide-" .. i }, content = function () | 
| bsw@1045 | 32 | 
| bsw@1045 | 33         if slide.initiative.issue.closed then | 
| bsw@1045 | 34           util.initiative_pie(slide.initiative, 150) | 
| bsw@1045 | 35         end | 
| bsw@1045 | 36 | 
| bsw@1045 | 37         ui.container { | 
| bsw@1045 | 38           attr = { class = "slideshowTitle" }, | 
| bsw@1045 | 39           content = slide.title | 
| bsw@1045 | 40         } | 
| bsw@1045 | 41 | 
| bsw@1045 | 42         execute.view { | 
| bsw@1045 | 43           module = "initiative", view = "_list_element", params = { | 
| bsw@1045 | 44             initiative = slide.initiative | 
| bsw@1045 | 45           } | 
| bsw@1045 | 46         } | 
| bsw@1045 | 47 | 
| bsw@1045 | 48       end } | 
| bsw@1045 | 49 | 
| bsw@1045 | 50     end | 
| bsw@1045 | 51 | 
| bsw@1045 | 52 | 
| bsw@1045 | 53   end } | 
| bsw@1045 | 54 | 
| bsw@1045 | 55 end ) | 
| bsw@1045 | 56 | 
| bsw@1045 | 57 ui.script{ script = [[ | 
| bsw@1045 | 58 | 
| bsw@1045 | 59 var slideshowCurrent = 0; | 
| bsw@1045 | 60 var slideshowCount = ]] .. #show_slides .. [[ ; | 
| bsw@1045 | 61 function slideshowShowSlide(i) { | 
| bsw@1045 | 62   $(".slideshow .slide").slideUp(); | 
| bsw@1045 | 63   $(".slideshow .slide-" + i).slideDown(); | 
| bsw@1045 | 64   slideshowCurrent = i; | 
| bsw@1045 | 65 } | 
| bsw@1045 | 66 | 
| bsw@1045 | 67 function slideshowShowNext() { | 
| bsw@1045 | 68   var next = slideshowCurrent + 1; | 
| bsw@1045 | 69   if (next > slideshowCount) { | 
| bsw@1045 | 70     next = 1; | 
| bsw@1045 | 71   } | 
| bsw@1045 | 72   slideshowShowSlide(next); | 
| bsw@1045 | 73   window.setTimeout(slideshowShowNext, 7500); | 
| bsw@1045 | 74 } | 
| bsw@1045 | 75 | 
| bsw@1045 | 76 slideshowShowNext(); | 
| bsw@1045 | 77 | 
| bsw@1045 | 78 | 
| bsw@1045 | 79   ]]} |