* feat: agenda page in vue (wip) * feat: scroll to agenda day * fix: vue 3 composition api + eslint settings * fix: agenda day scroll match indicator * fix: convert vite deps to yarn * fix: missing lodash + legacy build step * fix: agenda - move calendar into drawer * fix: improve agenda filter UI * fix: download ics + move agenda into own component * feat: use fullcalendar for agenda calendar view (wip) * feat: add events to agenda calendar * feat: agenda filter UI improvements * feat: agenda add to calendar dropdown * feat: agenda calendar filter + timezone + event coloring * feat: agenda calendar color improvements * chore: exclude dist-neue from git * feat: agenda calendar event modal * fix: rebuild yarn deps * chore: add run migration task to vscode * fix: agenda buttons display flag * feat: agenda event modal component * feat: show calendar event quick info on hover * fix: clear calendar quick info on timezone change * feat: agenda list view improvements * feat: agenda list row coloring * feat: agenda list note * feat: agenda list icons for office hours + hackathon * fix: agenda top links * refactor: use pinia as store for agenda components * feat: agenda jump to now * fix: agenda mobile improvements * feat: agenda search * feat: agenda search improvements * feat: agenda event recordings buttons for post-meeting * fix: agenda switch to meeting timezone on load * feat: agenda pre & live session buttons * fix: remove agenda utc + personalize links in top menu * feat: add pre-vue loading state on page load * feat: filter from agenda picker mode * fix: agenda UI improvements * fix: django-vite non-dev mode * chore: update yarn dependencies for vue + vite * feat: agenda settings panel + UI improvements * feat: agenda settings colors + import/export feature * feat: agenda color assignments + responsive UI improvements * feat: agenda realtime red line + debug datetime offset * feat: agenda add aria labels for settings * feat: add new agenda path + pages/menu * fix: bring base/menu.html up to main * fix: agenda various fixes * test: add new agenda item to meetings menu for item count * chore: restore devcontainer extensions list * fix: agenda UI improvements + montserrat default font * feat: agenda bolder text + hide event icons options * feat: agenda warning badge * fix: agenda various UI improvements + intersectionObserver fix * feat: agenda floorplan page + various UI improvements * feat: agenda floor plan pin * feat: view floor plan room from agenda * feat: agenda floor plan mobile optimization * feat: adjust calendar options + default calendar view in settings * feat: agenda persist picked events + change base font only on new agenda page * feat: agenda mobile view optimizations * fix: add .vite to cached volumes * fix: mobile view for filters, calendar, settings panels * test: upgrade cypress existing tests to work on bs5 + update dependencies * fix: use named url patterns to avoid hardcoded URLs. Add rudimentary test coverage for the neue views. Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
435 lines
16 KiB
HTML
435 lines
16 KiB
HTML
{# Copyright The IETF Trust 2015-2022, All Rights Reserved #}
|
|
{% load origin %}
|
|
{% origin %}
|
|
{% load ietf_filters managed_groups wg_menu active_groups_menu group_filters cache %}
|
|
{% if flavor != 'top' %}
|
|
{% include "base/menu_user.html" %}
|
|
{% endif %}
|
|
<li class="nav-item dropdown">
|
|
{% if flavor == "top" %}
|
|
<a href="#"
|
|
class="nav-link dropdown-toggle"
|
|
role="button"
|
|
data-bs-auto-close="false"
|
|
data-bs-toggle="dropdown"
|
|
aria-expanded="false">
|
|
Groups
|
|
</a>
|
|
<ul class="dropdown-menu {% if flavor == 'top' %}mt-n1{% else %}ms-n1{% endif %}">
|
|
{% else %}
|
|
<span class="fw-bolder">Groups</span>
|
|
</li>
|
|
{% endif %}
|
|
{% if flavor == 'top' %}<li class="dropdown-header">By area/parent</li>{% endif %}
|
|
{% wg_menu flavor %}
|
|
<li class="dropend">
|
|
<a class="dropdown-item dropdown-toggle {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.group.views.active_groups" %}">
|
|
Other
|
|
</a>
|
|
{% active_groups_menu flavor %}
|
|
</li>
|
|
{% if flavor == 'top' %}<li><hr class="dropdown-divider"></li>{% endif %}
|
|
<li {% if flavor == 'top' %}class="dropdown-header"{% else %}class="nav-item fw-bolder"{% endif %}>New work</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.group.views.chartering_groups" %}">
|
|
Chartering groups
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.group.views.bofs" group_type="wg" %}">
|
|
BOFs
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.doc.views_bofreq.bof_requests" %}">
|
|
BOF Requests
|
|
</a>
|
|
</li>
|
|
{% if flavor == 'top' %}<li><hr class="dropdown-divider"></li>{% endif %}
|
|
<li {% if flavor == 'top' %}class="dropdown-header"{% else %}class="nav-item fw-bolder"{% endif %}>Other groups</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.group.views.concluded_groups" %}">
|
|
Concluded groups
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.mailinglists.views.nonwg' %}">
|
|
Non-WG lists
|
|
</a>
|
|
</li>
|
|
{% if flavor == "top" %}
|
|
</ul>
|
|
</li>
|
|
{% endif %}
|
|
<li class="nav-item dropdown">
|
|
{% if flavor == "top" %}
|
|
<a href="#"
|
|
class="nav-link dropdown-toggle"
|
|
role="button"
|
|
data-bs-toggle="dropdown"
|
|
aria-expanded="false">
|
|
Documents
|
|
</a>
|
|
<ul class="dropdown-menu {% if flavor == 'top' %}mt-n1{% else %}ms-n1{% endif %}">
|
|
{% else %}
|
|
<span class="fw-bolder">Documents</span>
|
|
</li>
|
|
{% endif %}
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.doc.views_search.search" %}">
|
|
Search
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.doc.views_search.recent_drafts" %}">
|
|
Recent drafts
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.submit.views.upload_submission" %}">
|
|
Draft submission
|
|
</a>
|
|
</li>
|
|
{% if user and user.is_authenticated %}
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.community.views.view_list" user.username %}">
|
|
My tracked docs
|
|
</a>
|
|
</li>
|
|
{% if user|has_role:"Area Director,Secretariat" %}
|
|
{% if flavor == 'top' %}<li><hr class="dropdown-divider"></li>{% endif %}
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.doc.views_status_change.rfc_status_changes' %}">
|
|
RFC status changes
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
{% if flavor == 'top' %}<li><hr class="dropdown-divider"></li>{% endif %}
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.doc.views_ballot.irsg_ballot_status' %}">
|
|
IRSG ballot status
|
|
</a>
|
|
</li>
|
|
{% if user|has_role:"WG Chair,RG Chair" %}
|
|
{% if flavor == 'top' %}<li><hr class="dropdown-divider"></li>{% endif %}
|
|
<li {% if flavor == 'top' %}class="dropdown-header"{% else %}class="nav-item fw-bolder"{% endif %}>Manage</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.submit.views.approvals" %}">
|
|
Approve a draft
|
|
</a>
|
|
</li>
|
|
{% for g in user|docman_groups %}
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.group.views.group_documents" g.acronym %}">
|
|
{{ g.acronym }} {{ g.type.slug }} docs
|
|
</a>
|
|
</li>
|
|
{% endfor %}
|
|
{% for g in user|matman_groups %}
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.group.views.meetings" g.acronym %}">
|
|
{{ g.acronym }} {{ g.type.slug }} meetings
|
|
</a>
|
|
</li>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% if user|has_role:"Review Team Secretary" %}
|
|
{% if flavor == 'top' %}
|
|
<li><hr class="dropdown-divider">
|
|
</li>
|
|
{% endif %}
|
|
<li {% if flavor == 'top' %}class="dropdown-header"{% else %}class="nav-item fw-bolder"{% endif %}>
|
|
Review Teams
|
|
</li>
|
|
{% for g in user|managed_review_groups %}
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.group.views.review_requests" g.acronym %}">
|
|
{{ g.acronym }} reviews
|
|
</a>
|
|
</li>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% if user|active_nomcoms %}
|
|
{% if flavor == 'top' %}
|
|
<li><hr class="dropdown-divider">
|
|
</li>
|
|
{% endif %}
|
|
<li {% if flavor == 'top' %}class="dropdown-header"{% else %}class="nav-item fw-bolder"{% endif %}>
|
|
NomComs
|
|
</li>
|
|
{% for g in user|active_nomcoms %}
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.nomcom.views.private_index" g.nomcom_set.first.year %}">
|
|
{{ g.acronym|capfirst }}
|
|
</a>
|
|
</li>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if flavor == 'top' %}
|
|
<li><hr class="dropdown-divider">
|
|
</li>
|
|
{% endif %}
|
|
<li {% if flavor == 'top' %}class="dropdown-header"{% else %}class="nav-item fw-bolder"{% endif %}>
|
|
RFC streams
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.group.views.stream_documents" acronym="iab" %}">
|
|
IAB
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.group.views.stream_documents" acronym="irtf" %}">
|
|
IRTF
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.group.views.stream_documents" acronym="ise" %}">
|
|
ISE
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.group.views.stream_documents" acronym="editorial" %}">
|
|
Editorial
|
|
</a>
|
|
</li>
|
|
{% if flavor == 'top' %}
|
|
</ul>
|
|
</li>
|
|
{% endif %}
|
|
<li class="nav-item dropdown">
|
|
{% if flavor == "top" %}
|
|
<a href="#"
|
|
class="nav-link dropdown-toggle"
|
|
role="button"
|
|
data-bs-toggle="dropdown"
|
|
aria-expanded="false">
|
|
Meetings
|
|
</a>
|
|
<ul class="dropdown-menu {% if flavor == 'top' %}mt-n1{% else %}ms-n1{% endif %}">
|
|
{% else %}
|
|
<span class="fw-bolder">
|
|
Meetings
|
|
</span>
|
|
</li>
|
|
{% endif %}
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'agenda-neue' %}">
|
|
Agenda (New)
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.meeting.views.agenda' %}">
|
|
Agenda
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.meeting.views.materials' %}">
|
|
Materials
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.meeting.views.floor_plan' %}">
|
|
Floor plan
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="https://www.ietf.org/how/meetings/register/">
|
|
Registration
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.meeting.views.important_dates' %}">
|
|
Important dates
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.secr.sreq.views.main' %}">
|
|
Request a session
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.meeting.views.meeting_requests' %}">
|
|
Session requests
|
|
</a>
|
|
</li>
|
|
{% if flavor == 'top' %}
|
|
{% if flavor == 'top' %}
|
|
<li><hr class="dropdown-divider">
|
|
</li>
|
|
{% endif %}
|
|
<li {% if flavor == 'top' %}class="dropdown-header"{% else %}class="nav-item fw-bolder"{% endif %}>
|
|
Upcoming meetings
|
|
</li>
|
|
{% endif %}
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.meeting.views.upcoming' %}">
|
|
Upcoming meetings
|
|
</a>
|
|
</li>
|
|
{% if flavor == 'top' %}
|
|
{% if flavor == 'top' %}
|
|
<li><hr class="dropdown-divider">
|
|
</li>
|
|
{% endif %}
|
|
<li {% if flavor == 'top' %}class="dropdown-header"{% else %}class="nav-item fw-bolder"{% endif %}>
|
|
Past meetings
|
|
</li>
|
|
{% endif %}
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.meeting.views.past' %}">
|
|
Past meetings
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="https://www.ietf.org/how/meetings/past/">
|
|
Meeting proceedings
|
|
</a>
|
|
</li>
|
|
{% if flavor == 'top' %}
|
|
</ul>
|
|
</li>
|
|
{% endif %}
|
|
<li class="nav-item dropdown">
|
|
{% if flavor == "top" %}
|
|
<a href="#"
|
|
class="nav-link dropdown-toggle"
|
|
role="button"
|
|
data-bs-toggle="dropdown"
|
|
aria-expanded="false">
|
|
Other
|
|
</a>
|
|
<ul class="dropdown-menu {% if flavor == 'top' %}mt-n1{% else %}ms-n1{% endif %}">
|
|
{% else %}
|
|
<span class="fw-bolder">
|
|
Other
|
|
</span>
|
|
</li>
|
|
{% endif %}
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.ipr.views.showlist' %}">
|
|
IPR disclosures
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.liaisons.views.liaison_list' %}">
|
|
Liaison statements
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.iesg.views.agenda' %}">
|
|
IESG agenda
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.nomcom.views.index' %}">
|
|
NomComs
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.doc.views_downref.downref_registry' %}">
|
|
Downref registry
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.stats.views.stats_index" %}">
|
|
Statistics
|
|
</a>
|
|
<ul class="dropdown-menu {% if flavor == 'top' %}mt-n1{% else %}ms-n1{% endif %}">
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.stats.views.document_stats' %}">
|
|
Drafts/RFCs
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.stats.views.meeting_stats' %}">
|
|
Meetings
|
|
</a>
|
|
</li>
|
|
{% if user and user.is_authenticated %}
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.stats.views.review_stats' %}">
|
|
Reviews
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url "ietf.group.views.materials" acronym='edu' %}">
|
|
Tutorials
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.api.views.api_help' %}">
|
|
API Help
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="{% url 'ietf.release.views.release' %}">
|
|
Release notes
|
|
</a>
|
|
</li>
|
|
{% if flavor == 'top' %}
|
|
<li><hr class="dropdown-divider">
|
|
</li>
|
|
{% endif %}
|
|
<li>
|
|
<a class="dropdown-item text-danger {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
|
|
href="https://github.com/ietf-tools/datatracker/issues/new/choose">
|
|
<i class="bi bi-bug">
|
|
</i>
|
|
Report a bug
|
|
</a>
|
|
</li>
|
|
{% if flavor == 'top' %}
|
|
</ul>
|
|
</li>
|
|
{% endif %}
|
|
{% if flavor == 'top' %}
|
|
{% include "base/menu_user.html" %}
|
|
{% endif %} |