Files
@ 4605ee0d98ce
Branch filter:
Location: symposion_app/pinaxcon/templates/symposion/schedule/schedule_conference.html
4605ee0d98ce
3.6 KiB
text/html
Require attendees to agree to Code of Conduct
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | {% extends "symposion/schedule/public_base.html" %}
{% load i18n %}
{% load cache %}
{% load lca2018_tags %}
{% block head_title %}Conference Schedule{% endblock %}
{% block header_title %}Conference Schedule{% endblock %}
{% block body_class %}full{% endblock %}
{% block right %}
{% endblock %}
{% block content_base %}
<div class="page-head">
{% block breadcrumbs %}{% endblock %}
</div>
<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 %}
<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>
{% endfor %}
{% endfor %}
</div>
</div>
{% for section in sections %}
{% cache 600 "schedule-table" section.schedule.section %}
{% for timetable in section.days %}
<div data-tab-content="{{ timetable.day.date|date:"l"}}" class="panel--tab-content is-active">
<h3>{{ section.schedule.section.name }} — {{ timetable.day.date|date:"l" }}, {{ timetable.day.date }}</h3>
{% include "symposion/schedule/_grid.html" %}
</div>
{% endfor %}
{% endcache %}
{% endfor %}
</div>
</div>
{% endblock %}
{% block scripts_extra %}
<script type="text/javascript">
fragment = window.location.hash.toLowerCase().substring(1);
if (!fragment) {
OFFSET = -11 * (60 * 60 * 1000); // Sydney is 11 hours ahead of UTC in Jan.
JAN = 0; // because January is 0, not 1
fragments = [
{"day": "monday", "time": Date.UTC(2018, JAN, 22)},
{"day": "tuesday", "time": Date.UTC(2018, JAN, 23)},
{"day": "wednesday", "time": Date.UTC(2018, JAN, 24)},
{"day": "thursday", "time": Date.UTC(2018, JAN, 25)},
{"day": "friday", "time": Date.UTC(2018, JAN, 26)},
{"day": "saturday", "time": Date.UTC(2018, JAN, 27)},
];
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 %}
|