|
19 | 19 | #wg-selector-triangle-right { vertical-align: text-top; } |
20 | 20 | #wg-selector-triangle-down { vertical-align: text-top; } |
21 | 21 |
|
| 22 | +table#ics-preconfig { border:1px solid black; border-collapse:collapse; margin-top:24px; margin-bottom:24px;} |
| 23 | + |
22 | 24 | #weekview.hidden { display: none; } |
23 | 25 | #weekview { border: none; margin: 0 0 0 0;} |
24 | 26 | #ical-link.hidden { display: none; } |
|
88 | 90 | var ical_link = document.getElementById('ical-link'); |
89 | 91 | var ical_href = document.getElementById('ical-href'); |
90 | 92 |
|
| 93 | + |
91 | 94 | lastfrag = frag; |
92 | 95 |
|
93 | 96 | var fragment = frag.split(','); |
|
163 | 166 | } |
164 | 167 | } |
165 | 168 |
|
166 | | - |
| 169 | + // Handle special cases (checkboxes) |
| 170 | + var special = ['edu','ietf','tools','iesg','iab']; |
| 171 | + var re3 = RegExp("^(" + fragment.join('|') + ")$"); |
| 172 | + for (i in special) |
| 173 | + { |
| 174 | + var include = document.getElementById("include-"+special[i]); |
| 175 | + include.checked = ! re3.test("\-"+special[i]); |
| 176 | + } |
167 | 177 | } |
168 | 178 |
|
169 | 179 | /* Resizes an IFRAME to fit its contents. */ |
|
203 | 213 | } |
204 | 214 | } |
205 | 215 |
|
| 216 | + function add_hash_item(item) |
| 217 | + { |
| 218 | + if (window.location.hash.replace("#","").length == 0) |
| 219 | + { |
| 220 | + window.location.hash = item; |
| 221 | + } |
| 222 | + else |
| 223 | + { |
| 224 | + window.location.hash += "," + item; |
| 225 | + } |
| 226 | + window.location.hash = window.location.hash.replace(/^#?,/,''); |
| 227 | + } |
| 228 | + |
| 229 | + function remove_hash_item(item) |
| 230 | + { |
| 231 | + var re = new RegExp('(^|#|,)' + item + "(,|$)"); |
| 232 | + window.location.hash = window.location.hash.replace(re,"$2") |
| 233 | + window.location.hash = window.location.hash.replace(/^#?,/,''); |
| 234 | + } |
| 235 | + |
206 | 236 | function toggle(selection) |
207 | 237 | { |
208 | 238 | var active = selection.className; |
209 | 239 | var wg = selection.textContent?selection.textContent:selection.text; |
210 | 240 |
|
211 | 241 | if (active == "selected") |
212 | 242 | { |
213 | | - var re = new RegExp('(^|#|,)' + wg + "(,|$)"); |
214 | | - window.location.hash = window.location.hash.replace(re,"$2") |
215 | | - |
| 243 | + remove_hash_item(wg); |
216 | 244 | } |
217 | 245 | else |
218 | 246 | { |
219 | | - if (window.location.hash.replace("#","").length == 0) |
220 | | - { |
221 | | - window.location.hash = wg; |
222 | | - } |
223 | | - else |
224 | | - { |
225 | | - window.location.hash += "," + wg; |
226 | | - } |
227 | | - |
| 247 | + add_hash_item(wg); |
228 | 248 | } |
229 | | - window.location.hash = window.location.hash.replace(/^#?,/,''); |
230 | 249 | setGroupState(); |
231 | 250 | } |
232 | 251 |
|
| 252 | + function toggle_special(checkbox) |
| 253 | + { |
| 254 | + var special = checkbox.id.replace('include-',''); |
| 255 | + if (checkbox.checked) |
| 256 | + { |
| 257 | + remove_hash_item("-"+special); |
| 258 | + } |
| 259 | + else |
| 260 | + { |
| 261 | + add_hash_item("-"+special); |
| 262 | + } |
| 263 | + } |
| 264 | + |
233 | 265 | function toggle_wg_selector () |
234 | 266 | { |
235 | 267 | var wg_selector = document.getElementById('wg-selector'); |
|
247 | 279 | triangle_right.className = ''; |
248 | 280 | triangle_down.className = 'hidden'; |
249 | 281 | } |
| 282 | + setGroupState(); |
250 | 283 | } |
251 | 284 | </script> |
252 | 285 |
|
@@ -285,13 +318,31 @@ <h1>IETF {{ meeting.number }} Meeting Agenda</h1> |
285 | 318 | <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 %} |
286 | 319 | </td> |
287 | 320 | </tr> |
288 | | - <tr><td align="center" colspan="{{area_list.count}}"><i>Groups displayed in italics are BOFs</i></td></tr> |
| 321 | + <tr><td align="center" colspan="{{area_list.count}}"> |
| 322 | + Also show: |
| 323 | + <input type="checkbox" class="include-checkbox" id="include-edu" onchange="toggle_special(this)"/>EDU • |
| 324 | + <input type="checkbox" class="include-checkbox" id="include-ietf" onchange="toggle_special(this)"/>IETF • |
| 325 | + <input type="checkbox" class="include-checkbox" id="include-tools" onchange="toggle_special(this)"/>Tools • |
| 326 | + <input type="checkbox" class="include-checkbox" id="include-iesg" onchange="toggle_special(this)"/>IESG • |
| 327 | + <input type="checkbox" class="include-checkbox" id="include-iab" onchange="toggle_special(this)"/>IAB |
| 328 | +<!-- </td></tr> |
| 329 | + <tr><td align="center" colspan="{{area_list.count}}"> |
| 330 | +--> |
| 331 | + <br/><i>Groups displayed in italics are BOFs</i></td></tr> |
289 | 332 | </table> |
290 | 333 |
|
291 | | -<div id="ical-link" class="hidden"><span style="font-size:150%">Week View</span><br/><a id="ical-href" href="{% url ietf.meeting.views.ical_agenda num=meeting.number %}"><em>Download as an .ical file</em></a></div> |
| 334 | +<div id="ical-link" class="hidden"><span style="font-size:150%">Week View</span><br/><a id="ical-href" href="{% url ietf.meeting.views.ical_agenda num=meeting.number %}"><em>Download as an .ics file</em></a></div> |
292 | 335 |
|
293 | 336 | <iframe id="weekview" class="hidden" width="100%" height="600px" src="about:blank"></iframe> |
294 | 337 |
|
| 338 | +<table width="100%" id="ics-preconfig"><tr><td align="center"> |
| 339 | + Preconfigured .ics links: |
| 340 | + {% for area in area_list %} |
| 341 | + <a href="{% url ietf.meeting.views.ical_agenda num=meeting.number %}?{{area|upper}},-~Other,-~Plenary">{{area|upper}}</a> • |
| 342 | + {% endfor %} |
| 343 | + <a href="{% url ietf.meeting.views.ical_agenda num=meeting.number %}">Non-Area Events</a> |
| 344 | +</td></tr></table> |
| 345 | + |
295 | 346 | {% if meeting.agenda_note %}<h2 class="ietf-divider" style="background-color: #C00; margin-top: 2em; margin-bottom: 0;">{{ meeting.agenda_note|safe }}</h2>{% endif %} |
296 | 347 |
|
297 | 348 | <table id="agenda" width="100%"> |
|
0 commit comments