2016-09-18 10:40:55 +00:00
|
|
|
{% extends "symposion/schedule/public_base.html" %}
|
2015-10-16 17:53:02 +00:00
|
|
|
|
|
|
|
{% load i18n %}
|
|
|
|
{% load pinax_boxes_tags %}
|
|
|
|
{% load cache %}
|
2017-01-10 04:12:07 +00:00
|
|
|
{% load pyconau2017_tags %}
|
2015-10-16 17:53:02 +00:00
|
|
|
|
|
|
|
{% block head_title %}Conference Schedule{% endblock %}
|
2016-09-18 10:40:55 +00:00
|
|
|
{% block header_title %}Conference Schedule{% endblock %}
|
|
|
|
{% block header_paragraph %}{% header_paragraph "conference_schedule" %}{% endblock %}
|
|
|
|
{% block header_inset_image %}{% illustration "cradle.svg" %}{% endblock %}
|
2015-10-16 17:53:02 +00:00
|
|
|
|
|
|
|
{% block body_class %}full{% endblock %}
|
|
|
|
|
|
|
|
{% block right %}
|
|
|
|
{% endblock %}
|
|
|
|
|
2016-12-10 06:11:40 +00:00
|
|
|
{% block content_base %}
|
2016-09-18 10:40:55 +00:00
|
|
|
|
|
|
|
<div class="page-head">
|
|
|
|
{% block breadcrumbs %}{% endblock %}
|
|
|
|
</div>
|
|
|
|
|
2016-12-10 06:11:40 +00:00
|
|
|
<div class="panel panel__compact">
|
|
|
|
<div class="panel--content">
|
|
|
|
|
|
|
|
<div class="panel--tab-controls">
|
|
|
|
<div class="panel--tabs">
|
|
|
|
{% for section in sections %}
|
|
|
|
{% for timetable in section.days %}
|
2017-01-02 10:58:24 +00:00
|
|
|
<a
|
|
|
|
data-tab-control="{{ timetable.day.date|date:"l"}}"
|
|
|
|
id="schedule_day_{{ timetable.day.date|date:"l"|lower}}"
|
|
|
|
class="panel--tab-switch is-active">
|
|
|
|
{{ timetable.day.date|date:"l"}}
|
|
|
|
</a>
|
2016-12-10 06:11:40 +00:00
|
|
|
{% endfor %}
|
|
|
|
{% endfor %}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
{% for section in sections %}
|
2017-01-02 10:58:24 +00:00
|
|
|
{% cache 600 "schedule-table" section.schedule.section %}
|
2016-12-10 06:11:40 +00:00
|
|
|
{% for timetable in section.days %}
|
2017-01-02 10:58:24 +00:00
|
|
|
<div data-tab-content="{{ timetable.day.date|date:"l"}}" class="panel--tab-content is-active">
|
2016-12-10 06:11:40 +00:00
|
|
|
<h3>{{ section.schedule.section.name }} — {{ timetable.day.date|date:"l" }}, {{ timetable.day.date }}</h3>
|
|
|
|
{% include "symposion/schedule/_grid.html" %}
|
|
|
|
</div>
|
|
|
|
{% endfor %}
|
2016-12-26 01:10:42 +00:00
|
|
|
{% endcache %}
|
2016-09-18 10:40:55 +00:00
|
|
|
{% endfor %}
|
|
|
|
|
2016-12-10 06:11:40 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2015-10-16 17:53:02 +00:00
|
|
|
{% endblock %}
|
2017-01-02 10:58:24 +00:00
|
|
|
|
|
|
|
{% block scripts_extra %}
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
|
|
|
fragment = window.location.hash.toLowerCase().substring(1);
|
|
|
|
|
|
|
|
if (!fragment) {
|
|
|
|
OFFSET = -11 * (60 * 60 * 1000); // Hobart is 11 hours ahead of UTC in Jan.
|
|
|
|
JAN = 0; // because January is 0, not 1
|
|
|
|
|
|
|
|
fragments = [
|
|
|
|
{"day": "monday", "time": Date.UTC(2017, JAN, 16)},
|
|
|
|
{"day": "tuesday", "time": Date.UTC(2017, JAN, 17)},
|
|
|
|
{"day": "wednesday", "time": Date.UTC(2017, JAN, 18)},
|
|
|
|
{"day": "thursday", "time": Date.UTC(2017, JAN, 19)},
|
|
|
|
{"day": "friday", "time": Date.UTC(2017, JAN, 20)},
|
|
|
|
{"day": "saturday", "time": Date.UTC(2017, JAN, 21)},
|
|
|
|
];
|
|
|
|
|
|
|
|
now = new Date().getTime();
|
|
|
|
|
|
|
|
for (i = 0; i < 5; i++) {
|
|
|
|
f = fragments[i];
|
|
|
|
g = fragments[i+1];
|
|
|
|
if ((f.time + OFFSET) <= now && now < (g.time + OFFSET)) {
|
|
|
|
fragment = f.day;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
document.addEventListener("DOMContentLoaded", function(event) {
|
|
|
|
|
|
|
|
if (!fragment) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
fragmentSwitch = "schedule_day_" + fragment;
|
|
|
|
|
|
|
|
switches = document.getElementsByClassName("panel--tab-switch");
|
|
|
|
tabs = document.getElementsByClassName("panel--tab-content");
|
|
|
|
|
|
|
|
for (i = 0; i < switches.length; i++) {
|
|
|
|
|
|
|
|
if (switches[i].id == fragmentSwitch) {
|
|
|
|
switches[i].classList.add("is-active");
|
|
|
|
tabs[i].classList.add("is-active");
|
|
|
|
} else {
|
|
|
|
switches[i].classList.remove("is-active");
|
|
|
|
tabs[i].classList.remove("is-active");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
window.addEventListener("load", function(event) {
|
|
|
|
|
|
|
|
$(".panel--tab-switch").click(function(event) {
|
|
|
|
// This updates the window location fragment so that
|
|
|
|
// the URL bar is updated, and so that when you go
|
|
|
|
// back, it loads the right page.
|
|
|
|
|
|
|
|
// len("schedule_day_") == 13
|
|
|
|
day = event.target.id.substring(13);
|
|
|
|
|
|
|
|
if(history.pushState) {
|
|
|
|
history.pushState(null, null, "#" + day);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
</script>
|
|
|
|
{{ block.super }}
|
|
|
|
{% endblock %}
|