Add page for digital PTG signage

This renders the same ptg.json data in a specific page
that will be used for digital signage at the event.

Change-Id: I126799a40b2b753096c8366d6fde93d1fbf2ae3d
This commit is contained in:
Thierry Carrez 2018-02-08 14:32:09 +01:00
parent adbd5e4957
commit 55956246a2
3 changed files with 80 additions and 3 deletions

View File

@ -81,7 +81,7 @@
{{#if (roomactive @root.scheduled @root.additional room times)}} {{#if (roomactive @root.scheduled @root.additional room times)}}
<tr><td>{{room}}</td> <tr><td>{{room}}</td>
{{#each (lookup @root.slots day) as |time|}} {{#each (lookup @root.slots day) as |time|}}
<td>{{ roomcode @root.scheduled @root.additional room time.name }}</td> <td>{{ roomcode @root.scheduled @root.additional room time.name 0 }}</td>
{{/each}} {{/each}}
</tr> </tr>
{{/if}} {{/if}}

View File

@ -34,7 +34,7 @@ Handlebars.registerHelper('roomactive',
}); });
Handlebars.registerHelper('roomcode', Handlebars.registerHelper('roomcode',
function(scheduled, additional, room, timecode) { function(scheduled, additional, room, timecode, s) {
var cell = ''; var cell = '';
content = scheduled[room][timecode]; content = scheduled[room][timecode];
if ((content != undefined) && (content != '')) { if ((content != undefined) && (content != '')) {
@ -46,7 +46,11 @@ Handlebars.registerHelper('roomcode',
console.log(additional[room][timecode]); console.log(additional[room][timecode]);
if (additional[room][timecode] != undefined) { if (additional[room][timecode] != undefined) {
if (additional[room][timecode] == "") { if (additional[room][timecode] == "") {
cell = '<small><i>' + room + "-" + timecode + '</i></small>'; if (s == 1) {
cell = '<small><i>Available for booking</i></small>';
} else {
cell = '<small><i>' + room + "-" + timecode + '</i></small>';
}
} else { } else {
cell = '<span class="label label-primary ' + cell = '<span class="label label-primary ' +
additional[room][timecode] + additional[room][timecode] +

73
html/signage.html Normal file
View File

@ -0,0 +1,73 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="60">
<title>OpenStack PTG tracks for today</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="bootstrap-3.3.7.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>
<body>
<div class="container">
<div id="PTGsessions">
</div>
</div>
<script id="PTGtemplate" type="text/x-handlebars-template">
<style>
{{#each colors as |color track|}}
.{{track}} {
background-color: {{color}};
}
{{/each}}
</style>
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">OpenStack PTG tracks for today</a>
</div>
<div class="collapse navbar-collapse navbar-right" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
{{#each slots as |times day|}}
<li><a id='at{{day}}' href="#a{{day}}" aria-controls="a{{day}}" role="tab" data-toggle="tab">{{ day }}</a></li>
{{/each}}
</ul>
</div>
</div>
</nav>
<!-- Tab panes -->
<div class="tab-content">
{{#each slots as |times day|}}
<div role="tabpanel" class="tab-pane" id="a{{day}}">
<table class="table table-condensed table-striped table-bordered">
<thead><tr><th>Room</th>
{{#each times as |time|}}
<th>{{time.desc}}</th>
{{/each}}
</tr></thead>
{{#each @root.scheduled as |schedule room|}}
{{#if (roomactive @root.scheduled @root.additional room times)}}
<tr><td>{{room}}</td>
{{#each (lookup @root.slots day) as |time|}}
<td>{{ roomcode @root.scheduled @root.additional room time.name 1 }}</td>
{{/each}}
</tr>
{{/if}}
{{/each}}
</table>
</div>
{{/each}}
<center>
See more information, including current topics of discussion in each room, at
<a href=http://ptg.openstack.org/ptg.html>http://ptg.openstack.org/ptg.html</a>
</center>
</div>
</script>
<script src="jquery-1.9.1.min.js"></script>
<script src="handlebars-4.0.6.js"></script>
<script src="bootstrap-3.3.7.min.js"></script>
<script src="ptg.js"></script>
</body>
</html>