| 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   ]]} |