346 lines
13 KiB
HTML
346 lines
13 KiB
HTML
{% extends "base.html" %}
|
|
{# Copyright The IETF Trust 2007, All Rights Reserved #}
|
|
{% load humanize %}
|
|
{% block title %}IETF {{ meeting.num }} Meeting Agenda{% endblock %}
|
|
|
|
{% block morecss %}
|
|
table#agenda { border: 0; border-collapse:collapse; }
|
|
#agenda td { padding-right:2em; }
|
|
#agenda tr.meeting-date td { padding-top:1em; padding-right:0;}
|
|
|
|
table#wg-selector { border:1px solid black; border-collapse:collapse; }
|
|
#wg-selector td,#wg-selector th { border:1px solid black; padding: 2px}
|
|
#wg-selector div.selected { background-color: #c0c0FF; cursor: pointer; }
|
|
#wg-selector div.unselected { cursor: pointer; }
|
|
#wg-selector td.inactive div { background-color: #EEEEEE; color: #808080; cursor:default;}
|
|
#wg-selector.hidden { display: none; }
|
|
#wg-selector-toggle-text { text-decoration: underline; cursor: pointer; }
|
|
#wg-selector-triangle-right { vertical-align: text-top; }
|
|
#wg-selector-triangle-down { vertical-align: text-top; }
|
|
|
|
#weekview.hidden { display: none; }
|
|
#weekview { border: none; margin: 0 0 0 0;}
|
|
#ical-link.hidden { display: none; }
|
|
#ical-link { margin: 10px 0 0 0; padding: 10px; text-align: center; background-color: #2647a0; color: #FFFFFF }
|
|
#ical-link A:link { color: #FFFFFF; }
|
|
#ical-link A:visited { color: #FFFFFF; }
|
|
#ical-link A:active { color: #FF00FF; }
|
|
#ical-link A:hover { color: #FF0000; }
|
|
|
|
tr.time-title { font-weight: bold; color:#800000;}
|
|
tr.grouprow > td { padding: 4px; }
|
|
td.materials { align:right; }
|
|
span.note { font-style: italic; color:#ff0000; }
|
|
|
|
#APP-groups, #selector-APP { color:#008; background-color:#eef }
|
|
#GEN-groups, #selector-GEN { color:#080; background-color:#efe }
|
|
#INT-groups, #selector-INT { color:#088; background-color:#eff }
|
|
#OPS-groups, #selector-OPS { color:#800; background-color:#fee }
|
|
#RAI-groups, #selector-RAI { color:#808; background-color:#fef }
|
|
#RTG-groups, #selector-RTG { color:#880; background-color:#ffe }
|
|
#SEC-groups, #selector-SEC { color:#488; background-color:#dff }
|
|
#TSV-groups, #selector-TSV { color:#484; background-color:#dfd }
|
|
#IRTF-groups, #selector-IRTF { color:#448; background-color:#ddf }
|
|
|
|
img.hidden { display: none; }
|
|
|
|
.ietf-agenda-palette { border-collapse:collapse; border:2px solid black; background:white; overflow:hidden; }
|
|
.ietf-agenda-palette td { border:1px solid black; }
|
|
.ietf-agenda-palette td { padding: 4px; text-align:center;}
|
|
.ietf-agenda-palette td a { text-decoration:none; }
|
|
.bgnone {}
|
|
.bgaqua, .bgaqua a { background-color: aqua; color: black; }
|
|
.bgblue, .bgblue a { background-color: blue; color: black; }
|
|
.bgfuchsia, .bgfuchsia a { background-color: fuchsia; color: black; }
|
|
.bggray, .bggray a { background-color: gray; color: white; }
|
|
.bggreen, .bggreen a { background-color: green; color: white; }
|
|
.bglime, .bglime a { background-color: lime; color: black; }
|
|
.bgmaroon, .bgmaroon a { background-color: maroon; color: white; }
|
|
.bgnavy, .bgnavy a { background-color: navy; color: white; }
|
|
.bgolive, .bgolive a { background-color: olive; color: white; }
|
|
.bgpurple, .bgpurple a { background-color: purple; color: white; }
|
|
.bgred, .bgred a { background-color: red; color: black; }
|
|
.bgsilver, .bgsilver a { background-color: silver; color: black; }
|
|
.bgteal, .bgteal a { background-color: teal; color: white; }
|
|
.bgwhite, .bgwhite a { background-color: white; color: black; }
|
|
.bgyellow, .bgyellow a { background-color: yellow; color: black; }
|
|
.bgblack, .bgblack a { background-color: black; color: white; }
|
|
.groupagenda { display:none; }
|
|
|
|
{% endblock morecss %}
|
|
|
|
{% block pagehead %}
|
|
<script type="text/javascript" src='/js/agenda2.js'></script>
|
|
<script type="text/javascript">
|
|
|
|
var lastfrag;
|
|
|
|
function setGroupState()
|
|
{
|
|
var frag = window.location.hash.replace("#",'');
|
|
window.setTimeout("setGroupState()",1000);
|
|
if (frag == lastfrag) { return; }
|
|
|
|
var weekview = document.getElementById('weekview');
|
|
var ical_link = document.getElementById('ical-link');
|
|
var ical_href = document.getElementById('ical-href');
|
|
|
|
lastfrag = frag;
|
|
|
|
var fragment = frag.split(',');
|
|
|
|
if (frag.length)
|
|
{
|
|
weekview.setAttribute("src","week-view.html#"+frag);
|
|
weekview.className = '';
|
|
ical_href.setAttribute("href","agenda.ics?"+frag);
|
|
ical_link.className = '';
|
|
}
|
|
else
|
|
{
|
|
weekview.className = 'hidden';
|
|
ical_link.className = 'hidden';
|
|
}
|
|
|
|
var selectors = document.getElementsByTagName('div');
|
|
var re = RegExp("^selector-");
|
|
var re2 = RegExp("^selector-(" + fragment.join('|') + ")$");
|
|
|
|
for (var i=0 ; i<selectors.length; i++)
|
|
{
|
|
if (re.test(selectors[i].id))
|
|
{
|
|
var wg = selectors[i].textContent?selectors[i].textContent:selectors[i].text;
|
|
var area_groups = document.getElementById(wg + "-groups");
|
|
if (re2.test(selectors[i].id))
|
|
{
|
|
selectors[i].className="selected";
|
|
if (area_groups)
|
|
{
|
|
area_groups.className = 'inactive';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
selectors[i].className="unselected";
|
|
if (area_groups)
|
|
{
|
|
area_groups.className = '';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var rows = document.getElementsByTagName('tr');
|
|
var hidenone = false;
|
|
if (frag.length == 0) { hidenone=true; }
|
|
|
|
var re = RegExp("-(" + fragment.join('|') + ")($|-)");
|
|
|
|
for (var i = 0; i < rows.length; i++)
|
|
{
|
|
if (rows[i].className == 'groupagenda' || rows[i].className == 'grouprow')
|
|
{
|
|
if (re.test(rows[i].id) || (hidenone && rows[i].className == 'grouprow'))
|
|
{
|
|
rows[i].style.display="table-row";
|
|
if (rows[i].className == 'groupagenda')
|
|
{
|
|
var iframe = rows[i].firstElementChild.nextElementSibling.firstElementChild;
|
|
if (iframe.getAttribute("xsrc") != iframe.getAttribute("src"))
|
|
{
|
|
iframe.setAttribute("src",iframe.getAttribute("xsrc"));
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
rows[i].style.display="none";
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
/* Resizes an IFRAME to fit its contents and attempts to convert to a div */
|
|
function r(iframe)
|
|
{
|
|
try
|
|
{
|
|
iframe.height = 1;
|
|
docHeight = iframe.contentWindow.document.body.scrollHeight;
|
|
iframe.height = docHeight;
|
|
}
|
|
catch (e) { return; }
|
|
|
|
if (iframe.contentWindow.document.body.innerHTML)
|
|
{
|
|
var div = document.createElement("div");
|
|
div.style.border = "solid";
|
|
div.style.borderWidth = "1px";
|
|
div.style.margin = "0";
|
|
div.style.padding = "10px";
|
|
div.style.overflow = "auto";
|
|
div.innerHTML=iframe.contentWindow.document.body.innerHTML;
|
|
iframe.parentNode.replaceChild(div,iframe);
|
|
}
|
|
}
|
|
|
|
function toggle(selection)
|
|
{
|
|
var active = selection.className;
|
|
var wg = selection.textContent?selection.textContent:selection.text;
|
|
|
|
if (active == "selected")
|
|
{
|
|
var re = new RegExp('(^|#|,)' + wg + "(,|$)");
|
|
window.location.hash = window.location.hash.replace(re,"$2")
|
|
|
|
}
|
|
else
|
|
{
|
|
if (window.location.hash.replace("#","").length == 0)
|
|
{
|
|
window.location.hash = wg;
|
|
}
|
|
else
|
|
{
|
|
window.location.hash += "," + wg;
|
|
}
|
|
|
|
}
|
|
window.location.hash = window.location.hash.replace(/^#?,/,'');
|
|
setGroupState();
|
|
}
|
|
|
|
function toggle_wg_selector ()
|
|
{
|
|
var wg_selector = document.getElementById('wg-selector');
|
|
var triangle_right = document.getElementById('wg-selector-triangle-right');
|
|
var triangle_down = document.getElementById('wg-selector-triangle-down');
|
|
if (wg_selector.className == 'hidden')
|
|
{
|
|
wg_selector.className = '';
|
|
triangle_right.className = 'hidden';
|
|
triangle_down.className = '';
|
|
}
|
|
else
|
|
{
|
|
wg_selector.className = 'hidden';
|
|
triangle_right.className = '';
|
|
triangle_down.className = 'hidden';
|
|
}
|
|
}
|
|
</script>
|
|
|
|
{% endblock pagehead %}
|
|
{% block bodyAttrs %}onload='setGroupState();updateAgendaColors()'{% endblock %}
|
|
{% block content %}
|
|
<h1>IETF {{ meeting.num }} Meeting Agenda</h1>
|
|
<p>{{ meeting.city }}, {{ meeting.start_date|date:"F j" }}-{% ifnotequal meeting.start_date.month meeting.end_date.month %}{{ meeting.end_date|date:"F " }}{% endifnotequal %}{{ meeting.end_date|date:"j, Y" }}<br />
|
|
Updated {{ modified|date:"Y-m-d H:i:s T" }}</p>
|
|
<div class="noprint">
|
|
(There's also a <a href="/meeting/{{meeting.num}}/agenda.txt">plaintext agenda</a> and a <a href="http://tools.ietf.org/agenda/{{meeting.num}}/">tools-style agenda</a> available)</div>
|
|
|
|
<p><strong>IETF agendas are subject to change, up to and during the meeting.</strong></p>
|
|
|
|
{# cache this part for 15 minutes -- it takes 3-6 seconds to generate #}
|
|
{% load cache %}{% cache 900 ietf_meeting_agenda meeting.num %}
|
|
|
|
You can customize the agenda below to show only selected working group sessions. To be able to return to the customized view later, bookmark the resulting URL:
|
|
<div class="noprint" onclick="toggle_wg_selector()">
|
|
<img id="wg-selector-triangle-right" src="/images/triangle-right.png" />
|
|
<img id="wg-selector-triangle-down" src="/images/triangle-down.png" class="hidden" />
|
|
<span id="wg-selector-toggle-text">Select working group sessions</span>
|
|
</div>
|
|
|
|
<table id="wg-selector" width="100%" class="hidden">
|
|
<tr>
|
|
{% for area in area_list %}
|
|
<th><div id='selector-{{area|upper}}' class="unselected" onclick="toggle(this)">{{area|upper}}</div></th>
|
|
{% endfor %}
|
|
</tr>
|
|
<tr>
|
|
{% for wg in wg_list %}{% ifchanged wg.parent.acronym %}{% if forloop.counter > 1 %}
|
|
</td>{% endif %}
|
|
<td valign="top" id="{{wg.parent.acronym|upper}}-groups">{% endifchanged %}
|
|
<div id='selector-{{wg.acronym}}' class="unselected" onclick="toggle(this)">{% if wg.state.name = "BOF" %}<i>{{wg.acronym}}</i>{% else %}{{wg.acronym}}{% endif %}</div>{% endfor %}
|
|
</td>
|
|
</tr>
|
|
<tr><td align="center" colspan="{{area_list.count}}"><i>Groups displayed in italics are BOFs</i></td></tr>
|
|
</table>
|
|
|
|
<div id="ical-link" class="hidden"><span style="font-size:150%">Week View</span><br/><a id="ical-href" href="agenda.ics"><em>Download as an ical file</em></a></div>
|
|
|
|
<iframe id="weekview" class="hidden" width="100%" height="600px" src="about:blank"></iframe>
|
|
|
|
<table id="agenda" width="100%">
|
|
{% for slot in timeslots %}
|
|
{% ifchanged %}
|
|
<tr class="meeting-date">
|
|
<td colspan="6">
|
|
<h2 class="ietf-divider">{{ slot.time|date:"l"|upper }}, {{ slot.time|date:"F j, Y" }}</h2>
|
|
</td>
|
|
</tr>
|
|
{% endifchanged %}
|
|
{% ifchanged %}
|
|
<tr class="time-title">
|
|
<td colspan="1">
|
|
{{slot.time|date:"Hi"}}-{{slot.end_time|date:"Hi"}}
|
|
</td>
|
|
<td colspan="5">
|
|
{{slot.name}}
|
|
{% if slot.type.name != 'Session' %} -
|
|
{% if slot.show_location %}<a href="http://tools.ietf.org/agenda/{{meeting.num}}/venue/?room={{ slot.get_location|slugify }}">{{slot.get_location|escape}}</a>{% endif %}
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endifchanged %}
|
|
{% if slot.type.name = 'Session' %} {% if slot.session.group %}
|
|
<tr id="{{meeting.num}}-{{slot.time|date:"D-Hi"|lower}}-{{slot.session.group.parent.acronym|upper}}-{{slot.session.group.acronym|lower}}" class="grouprow">
|
|
<td>
|
|
<td>{% if slot.show_location %}<a href="http://tools.ietf.org/agenda/{{meeting.num}}/venue/?room={{ slot.get_location|slugify }}">{{slot.get_location|escape}}</a>{% endif %}</td>
|
|
<td>{{slot.session.group.parent.acronym|upper}}</td>
|
|
<td>
|
|
{% if slot.session.group.charter %}<a href="{{slot.session.group.charter.get_absolute_url}}">{{slot.session.group.acronym}}</a>
|
|
{% else %}{{slot.session.group.acronym}}{% endif %}</td>
|
|
<td>
|
|
<img src="/images/color-palette-4x4.gif" alt="" onclick="pickAgendaColor('{{meeting.num}}-{{slot.time|date:"D-Hi"|lower}}-{{slot.session.group.parent.acronym|upper}}-{{slot.session.group.acronym|lower}}',this);" title="color tag this line"/ class="noprint">
|
|
{% if slot.session.agenda %}<a href="/meeting/{{ meeting.num }}/agenda/{{ slot.session.group.acronym }}/">{{slot.session.group.name}}</a>
|
|
{% else %}{{slot.session.group.name}}{% endif %}
|
|
{% if slot.session.group.state.name = "BOF" %} BOF {% endif %}
|
|
{% if slot.session.agenda_note %}
|
|
<br/><span class="note">{{slot.session.agenda_note}}</span>{% endif %}</td>
|
|
<td class="materials">{% if slot.session.agenda %}drafts: <a href="/meeting/{{meeting.num}}/agenda/{{slot.session.group.acronym}}-drafts.tgz">tar</a>|<a href="/meeting/{{ meeting.num }}/agenda/{{slot.session.group.acronym}}-drafts.pdf">pdf</a>{%endif%}</td>
|
|
</tr>
|
|
<tr id="{{meeting.num}}-{{slot.time|date:"D-Hi"|lower}}-{{slot.session.group.parent.acronym|upper}}-{{slot.session.group.acronym|lower}}" class="groupagenda">
|
|
<td></td>
|
|
<td colspan="5">
|
|
{% if slot.session.agenda %}
|
|
{% if slot.session.agenda.file_extension in show_inline%}
|
|
<iframe width="100%" height="1px" src="about:blank" xsrc="/meeting/{{ meeting.num }}/agenda/{{ slot.session.group.acronym }}/" onload="r(this)"></iframe>
|
|
{% else %}
|
|
<b><i>Agenda submitted in {{slot.session.agenda.file_extension|upper}} format</i></b>
|
|
{% endif %}
|
|
{% else %}
|
|
<b><i>No Agenda Submitted</i></b>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
|
|
{% endif %} {% endif %}
|
|
{% if slot.type.name = 'Plenary' %}
|
|
<tr>
|
|
<td></td>
|
|
<td colspan="5">
|
|
<iframe width="100%" height="1px" src="/meeting/{{ meeting.num }}/agenda/{{ slot.session.group.acronym }}/" onload="r(this)"></iframe>
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</table>
|
|
|
|
{% endcache %}
|
|
|
|
{% endblock %}
|