113 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% 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="card">
 | 
						|
    <div class="card-header">
 | 
						|
      <nav>
 | 
						|
        <ul class="nav nav-tabs card-header-tabs" id="nav-tabs" role="tablist">
 | 
						|
          {% for section in sections %}
 | 
						|
            {% for timetable in section.days %}
 | 
						|
              <li class="nav-item">
 | 
						|
                <a class="nav-item nav-link active"
 | 
						|
                   id="schedule_day_{{ timetable.day.date|date:"l"|lower}}-tab"
 | 
						|
                   href="#{{ timetable.day.date|date:"l"|lower}}"
 | 
						|
                   role="tab" aria-controls="schedule_day_{{ timetable.day.date|date:"l"|lower}" >
 | 
						|
                  {{ timetable.day.date|date:"l"}}
 | 
						|
                </a>
 | 
						|
              </li>
 | 
						|
            {% endfor %}
 | 
						|
          {% endfor %}
 | 
						|
        </ul>
 | 
						|
      </nav>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <div class="tab-content card-body">
 | 
						|
      {% for section in sections %}
 | 
						|
         {% cache 600 "schedule-table" section.schedule.section %}
 | 
						|
            {% for timetable in section.days %}
 | 
						|
              <div class="tab-pane active" id="{{ timetable.day.date|date:"l"|lower}}"
 | 
						|
                role="tabpanel" aria-labelledby="schedule_day_{{ timetable.day.date|date:"l"|lower}}-tab">
 | 
						|
                <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("hashchange", function(event) {
 | 
						|
      fragment = window.location.hash.toLowerCase().substring(1);
 | 
						|
 | 
						|
      if (!fragment) {
 | 
						|
        return;
 | 
						|
      };
 | 
						|
 | 
						|
      fragmentid = "#schedule_day_" + fragment + "-tab";
 | 
						|
      $(fragmentid).tab('show');
 | 
						|
 | 
						|
    });
 | 
						|
 | 
						|
      $(".nav-item").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_tab = event.target.id.substring(13);
 | 
						|
        day = day_tab.substr(0, day_tab.length-4);
 | 
						|
 | 
						|
        if(history.pushState) {
 | 
						|
            history.pushState(null, null, "#" + day);
 | 
						|
        }
 | 
						|
      });
 | 
						|
  </script>
 | 
						|
  {{ block.super }}
 | 
						|
{% endblock %}
 |