datatracker/ietf/templates/meeting/agenda.html
Henrik Levkowetz dac11633ff Revert a URL schema change made by olau@iola.dk in [4046] for a reason I can't quite see. This change breaks old URLs.
- Legacy-Id: 4299
Note: SVN reference [4046] has been migrated to Git commit d6baa38fe5
2012-04-22 15:15:38 +00:00

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:&nbsp;<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 %}