panel -> card

- Legacy-Id: 19618
This commit is contained in:
Lars Eggert 2021-11-10 12:59:12 +00:00
parent e632cc712b
commit 6b7beb17bf
42 changed files with 213 additions and 234 deletions

View file

@ -33,8 +33,8 @@
<h2>Template content</h2>
<div class = "panel panel-default">
<div class = "card">
<p class='pasted'>{{ template.content }}</p>
</div>
{% endblock content %}
{% endblock content %}

View file

@ -497,14 +497,14 @@ def pos_to_label(text):
"""Return a valid Bootstrap label type for a ballot position."""
return {
'Yes': 'success',
'No Objection': 'pass',
'No Objection': 'info',
'Abstain': 'warning',
'Discuss': 'danger',
'Block': 'danger',
'Recuse': 'primary',
'Not Ready': 'danger',
'Need More Time': 'danger',
}.get(str(text), 'blank')
}.get(str(text), 'secondary')
@register.filter
def capfirst_allcaps(text):

View file

@ -2429,7 +2429,7 @@ class MaterialsTests(TestCase):
r = self.client.get(url)
self.assertEqual(r.status_code,200)
q = PyQuery(r.content)
self.assertEqual(q('#materials-content .panel-body a').attr['href'],'https://unusual.example')
self.assertEqual(q('#materials-content .card-body a').attr['href'],'https://unusual.example')
class Idnits2SupportTests(TestCase):
settings_temp_path_overrides = TestCase.settings_temp_path_overrides + ['DERIVED_DIR']
@ -2601,6 +2601,4 @@ class RfcdiffSupportTests(TestCase):
# Some old rfcs had tombstones that shouldn't be used for comparisons
received = self.getJson(dict(name=rfc.canonical_name()))
self.assertTrue(received['previous'].endswith('00'))
self.assertTrue(received['previous'].endswith('00'))

View file

@ -5097,12 +5097,12 @@ class AgendaFilterTests(TestCase):
# Test with/without custom button text
context = Context({'customize_button_text': None, 'filter_categories': []})
q = PyQuery(template.render(context))
self.assertIn('Customize...', q('h4.panel-title').text())
self.assertIn('Customize...', q('h4.card-title').text())
self.assertEqual(q('table'), []) # no filter_categories, so no button table
context['customize_button_text'] = 'My custom text...'
q = PyQuery(template.render(context))
self.assertIn(context['customize_button_text'], q('h4.panel-title').text())
self.assertIn(context['customize_button_text'], q('h4.card-title').text())
self.assertEqual(q('table'), []) # no filter_categories, so no button table
# Now add a non-trivial set of filters
@ -5176,7 +5176,7 @@ class AgendaFilterTests(TestCase):
]
q = PyQuery(template.render(context))
self.assertIn(context['customize_button_text'], q('h4.panel-title').text())
self.assertIn(context['customize_button_text'], q('h4.card-title').text())
self.assertNotEqual(q('table'), []) # should now have table
# Check that buttons are present for the expected things

View file

@ -30,7 +30,7 @@ $enable-negative-margins: true;
@import "~/node_modules/bootstrap/scss/button-group";
@import "~/node_modules/bootstrap/scss/nav";
@import "~/node_modules/bootstrap/scss/navbar";
// @import "~/node_modules/bootstrap/scss/card";
@import "~/node_modules/bootstrap/scss/card";
@import "~/node_modules/bootstrap/scss/accordion";
// @import "~/node_modules/bootstrap/scss/breadcrumb";
// @import "~/node_modules/bootstrap/scss/pagination";

View file

@ -39,7 +39,7 @@ jQuery(document).ready(function () {
content.find(".selected").removeClass("selected");
schedulingPanel.hide();
schedulingPanel.find(".panel-content").children().remove();
schedulingPanel.find(".card-content").children().remove();
// if we came from a failed POST, that's no longer relevant so overwrite history
history.replaceState(null, document.title, window.location.pathname + window.location.search);
}
@ -67,7 +67,7 @@ jQuery(document).ready(function () {
jQuery(this).find(".timeline").addClass("selected");
schedulingPanel.find(".panel-content").append(content.find(".add-timeslot-template").html());
schedulingPanel.find(".card-content").append(content.find(".add-timeslot-template").html());
schedulingPanel.find("[name=day]").val(this.dataset.day);
schedulingPanel.find("[name=location]").val(this.dataset.room);
schedulingPanel.find("[name=type]").trigger("change");
@ -100,7 +100,7 @@ jQuery(document).ready(function () {
cancelCurrentActivity();
element.addClass("selected");
schedulingPanel.find(".panel-content").append(response.form);
schedulingPanel.find(".card-content").append(response.form);
schedulingPanel.find(".timeslot-form [name=type]").trigger("change");
schedulingPanel.find(".timeslot-form").show();
schedulingPanel.show();
@ -153,4 +153,4 @@ jQuery(document).ready(function () {
});
schedulingPanel.find('.timeslot-form [name=type]').trigger("change");
});
});

View file

@ -20,9 +20,9 @@
{% else %}
{% regroup reqs by get_state_slug as grouped_reqs %}
{% for req_group in grouped_reqs %}
<div class="panel panel-default">
<div class="panel-heading">{{req_group.grouper|capfirst}} BOF Requests</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header">{{req_group.grouper|capfirst}} BOF Requests</div>
<div class="card-body">
<table id="bofreqs-{{req_group.grouper}}" class="table table-sm table-striped tablesorter">
<thead>
<tr><th class="col-sm-4">Name</th><th class="col-sm-1">Date</th><th>Title</th><th>Responsible</th><th>Editors</th></tr>

View file

@ -83,9 +83,9 @@
</span>
</h4>
{% if p.pos.blocking and p.discuss %}
<div class="panel panel-danger">
<div class="panel-heading">
<h5 class="panel-title"><b>{{ p.pos.name }}</b> ({{ p.discuss_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %})
<div class="card border-danger">
<div class="card-header bg-danger">
<div><b>{{ p.pos.name }}</b> ({{ p.discuss_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %})
{% if p.send_email %}
<span class="bi bi-envelope float-end" title="Email requested to be sent for this discuss"></span>
{% elif p.any_email_sent == True %}
@ -95,16 +95,16 @@
{% else %}
<span class="bi bi-chat-o float-end" title="No email send requests for this discuss"></span>
{% endif %}
</h5>
</div>
</div>
<div class="panel-body"><pre class="ballot pasted">{{ p.discuss|linkify }}</pre></div>
<div class="card-body"><pre class="ballot pasted">{{ p.discuss|linkify }}</pre></div>
</div>
{% endif %}
{% if p.comment %}
<div class="panel panel-{{ p.pos|pos_to_label }}">
<div class="panel-heading">
<h5 class="panel-title"><b>Comment</b> ({{ p.comment_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %})
<div class="card border-{{ p.pos|pos_to_label }}">
<div class="card-header bg-{{ p.pos|pos_to_label }}">
<div><b>Comment</b> ({{ p.comment_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %})
{% if p.send_email %}
<span class="bi bi-envelope float-end" title="Email requested to be sent for this comment"></span>
{% elif p.any_email_sent == True %}
@ -112,11 +112,11 @@
{% elif p.any_email_sent == False %}
<span class="bi bi-chat-o float-end" title="No email send requests for this comment"></span>
{% else %}
<div class="float-end small italic" style="margin-top: -0.3em;" title="No ballot position send log available">No email<br/>send info</div>
<div class="float-end small italic" title="No ballot position send log available">No email<br/>send info</div>
{% endif %}
</h5>
</div>
</div>
<div class="panel-body"><pre class="ballot pasted">{{ p.comment|linkify }}</pre></div>
<div class="card-body"><pre class="ballot pasted">{{ p.comment|linkify }}</pre></div>
</div>
{% endif %}
{% endif %}
@ -136,9 +136,9 @@
{% endif %}
</span>
</h4>
<div class="panel panel-{{ p.pos|pos_to_label }}">
<div class="panel-heading">
<h5 class="panel-title"><b>{{ p.pos.name }} </b>
<div class="card border-{{ p.pos|pos_to_label }}">
<div class="card-header bg-{{ p.pos|pos_to_label }}">
<div><b>{{ p.pos.name }} </b>
{% if p.pos.blocking and p.discuss %}
<b>[Treat as non-blocking comment]</b> ({{ p.discuss_time|date:"Y-m-d" }}{% if not p.for_current_revision %} for -{{ p.get_dochistory.rev }}{% endif %})
{% else %}
@ -151,18 +151,18 @@
{% elif p.any_email_sent == False %}
<span class="bi bi-chat-o float-end" title="No email send requests for this ballot position"></span>
{% else %}
<div class="float-end small italic" style="margin-top: -0.3em;" title="No ballot position send log available">No email<br/>send info</div>
<div class="float-end small italic" title="No ballot position send log available">No email<br/>send info</div>
{% endif %}
</h5>
</div>
</div>
{% if p.pos.blocking and p.discuss %}
<div class="panel-body"><pre class="ballot pasted">{{ p.discuss|linkify }}</pre></div>
<div class="card-body"><pre class="ballot pasted">{{ p.discuss|linkify }}</pre></div>
{% else %}
<div class="panel-body"><pre class="ballot pasted">{{ p.comment|linkify }}</pre></div>
<div class="card-body"><pre class="ballot pasted">{{ p.comment|linkify }}</pre></div>
{% endif %}
</div>
{% endif %}
{% endfor %}
{% endfor %}
</div>
</div>
</div>

View file

@ -164,9 +164,9 @@
{% endif %}
{% endif %}
<div class="panel panel-default">
<div class="panel-heading">{{doc.name}}-{{doc.rev}}</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header">{{doc.name}}-{{doc.rev}}</div>
<div class="card-body">
{{ content|sanitize|safe }}
</div>
</div>

View file

@ -725,39 +725,38 @@
{% else %}
<p></p>
<div class="panel panel-warning">
<div class="panel-heading">
<div class="card border-warning">
<div class="card-header bg-warning">
This Internet-Draft is no longer active. A copy of
the expired Internet-Draft can be found at<br/>
<a href="{{doc.get_href}}">{{doc.get_href}}</a>
</div>
<div class="panel-body">
<p>
<div class="card-body">
<h4>Abstract</h4>
<p>{{ doc.abstract }}</p>
<h5 class="card-title">Abstract</h5>
<p class="card-text">{{ doc.abstract }}</p>
<h4>Authors</h4>
<p>
{% for author in doc.documentauthor_set.all %}
{% if author.email %}
<span class="bi bi-envelope"></span>
<a href="mailto:{{ author.email.address }}">
{% endif %}
{{ author.person }}
{% if author.email %}
({{ author.email.address }})</a>
{% endif %}
{% if not forloop.last %}<br>{% endif %}
{% endfor %}
</p>
<p>(Note: The e-mail addresses provided for the authors of this Internet-Draft may no longer be valid.)</p>
</div>
<h5 class="card-title">Authors</h5>
<p class="card-text">
{% for author in doc.documentauthor_set.all %}
{% if author.email %}
<span class="bi bi-envelope"></span>
<a href="mailto:{{ author.email.address }}">
{% endif %}
{{ author.person }}
{% if author.email %}
({{ author.email.address }})</a>
{% endif %}
{% if not forloop.last %}<br>{% endif %}
{% endfor %}
</p>
<p class="card-text">(Note: The e-mail addresses provided for the authors of this Internet-Draft may no longer be valid.)</p>
</div>
</div>
{% endif %}
{% endblock %}
{% block js %}
<script src="{% static 'ietf/js/d3.js' %}"></script>
<script src="{% static 'ietf/js/document_timeline.js' %}"></script>
{% endblock %}
{% endblock %}

View file

@ -133,8 +133,8 @@
<div id='materials-content'>
{% if doc.rev and content != None %}
{% if content_is_html %}
<div class="panel panel-default">
<div class="panel-body">
<div class="panel ">
<div class="card-body">
{{ content|sanitize|safe }}
</div>
</div>

View file

@ -37,8 +37,8 @@
{% bootstrap_form formset.management_form %}
<div id="authors-list" class="well">
{% for form in formset %}
<div class="panel panel-default author-panel">
<div class="panel-body draggable">
<div class="panel author-panel">
<div class="card-body draggable">
<span class="handle bi bi-list"></span>
<div class="form-horizontal">
{% bootstrap_form form layout='horizontal' %}
@ -48,8 +48,8 @@
{% endfor %}
</div>
<div id="empty-author-form" class="template">
<div class="panel panel-default author-panel">
<div class="panel-body draggable">
<div class="panel author-panel">
<div class="card-body draggable">
<span class="handle bi bi-list"></span>
<div class="form-horizontal">
{% bootstrap_form formset.empty_form layout='horizontal' %}

View file

@ -15,9 +15,9 @@
</div>
{% if in_progress %}
<div class="panel panel-default" id="inprogressmeets">
<div class="panel-heading">Meetings in progress</div>
<div class="panel-body">
<div class="panel " id="inprogressmeets">
<div class="card-header">Meetings in progress</div>
<div class="card-body">
{% with sessions=in_progress %}
{% include "doc/material/presentations-row.html" %}
{% endwith %}
@ -26,9 +26,9 @@
{% endif %}
{% if future %}
<div class="panel panel-default" id="futuremeets">
<div class="panel-heading">Future meetings</div>
<div class="panel-body">
<div class="panel " id="futuremeets">
<div class="card-header">Future meetings</div>
<div class="card-body">
{% with sessions=future %}
{% include "doc/material/presentations-row.html" %}
{% endwith %}
@ -37,9 +37,9 @@
{% endif %}
{% if past %}
<div class="panel panel-default" id="pastmeets">
<div class="panel-heading">Past meetings</div>
<div class="panel-body">
<div class="panel " id="pastmeets">
<div class="card-header">Past meetings</div>
<div class="card-body">
{% with sessions=past %}
{% include "doc/material/presentations-row.html" %}
{% endwith %}

View file

@ -30,6 +30,6 @@
{% block content %}
{% origin %}
<div id="chart" style="width:100%; height:400px; " class="panel panel-default panel-body"></div>
<div id="chart" style="width:100%; height:400px; " class="panel card-body"></div>
{% endblock %}

View file

@ -20,9 +20,9 @@
<div class="col-md-11">
{% for letter in alphabet_blocks %}
<div class="row anchor-target" id="{{letter.grouper}}">
<div class="panel panel-default">
<div class="panel-heading">{{letter.grouper}}</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header">{{letter.grouper}}</div>
<div class="card-body">
<ul class="list-inline">
{% regroup letter.list by person as person_groups %}
{% for person_with_groups in person_groups %}

View file

@ -31,9 +31,9 @@
{% for label, groups in sections.items %}
<div class="anchor-target" id="{{label}}">
<div class="panel panel-default">
<div class="panel-heading">{{label}}</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header">{{label}}</div>
<div class="card-body">
{% if label == "WGs" %}
{% comment "Replace this if that tools page is moved" %}
@ -56,9 +56,9 @@
{% regroup groups by parent as grouped_by_areas %}
{% for area_grouping in grouped_by_areas %}
<div class="anchor-target" id="{{label}}-{{area_grouping.grouper.name|default:'unknown'|slugify}}">
<div class="panel panel-default">
<div class="panel-heading">{{area_grouping.grouper.name|default:'Unknown area'}}</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header">{{area_grouping.grouper.name|default:'Unknown area'}}</div>
<div class="card-body">
<table class="table table-sm table-striped tablesorter">
<thead>
<tr>

View file

@ -20,9 +20,9 @@
<div class="col-md-10">
{% for role_name in role_groups %}
<div class="row anchor-target" id="{{role_name.grouper|urlencode}}">
<div class="panel panel-default">
<div class="panel-heading">{{role_name.grouper}}{{role_name.list|pluralize}}</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header">{{role_name.grouper}}{{role_name.list|pluralize}}</div>
<div class="card-body">
<ul class="list-inline">
{% regroup role_name.list by person as person_groups %}
{% for person_with_groups in person_groups %}

View file

@ -32,10 +32,10 @@
<form class="review-requests" method="post">{% csrf_token %}
{% for r in review_requests %}
<div class="panel panel-default review-request">
<div class="panel-heading">
<div class="panel review-request">
<div class="card-header">
<h3 class="panel-title">
<h5 class="card-title">
<span class="float-end">
{% if r.in_lc_and_telechat %}Last Call and telechat{% else %}{{ r.type.name }}{% endif %}
- deadline {{ r.deadline|date:"Y-m-d" }}
@ -43,10 +43,10 @@
</span>
<a href="{% if r.requested_rev %}{% url "ietf.doc.views_doc.document_main" name=r.doc.name rev=r.requested_rev %}{% else %}{% url "ietf.doc.views_doc.document_main" name=r.doc.name %}{% endif %}?include_text=1">{{ r.doc.name }}-{% if r.requested_rev %}{{ r.requested_rev }}{% else %}{{ r.doc.rev }}{% endif %}</a>
</h3>
</h5>
</div>
<div class="panel-body">
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<div class="request-metadata">
@ -107,7 +107,7 @@
</div>
</div>
<div class="panel-footer">
<div>
{% if r.form.non_field_errors %}
<div class="alert alert-danger">
{% for e in r.form.non_field_errors %}
@ -191,4 +191,4 @@
{% block js %}
<script src="{% static "ietf/js/datatables.js" %}"></script>
<script src="{% static "ietf/js/manage-review-requests.js" %}"></script>
{% endblock %}
{% endblock %}

View file

@ -1,14 +1,4 @@
<table class="table table-sm table-striped">
<thead>
<tr>
<th class="col-md-2"></th>
<th class="col-md-2"></th>
<th class="col-md-1"></th>
<th class="col-md-1"></th>
<th class="col-md-1"></th>
<th class="col-md-1"></th>
</tr>
</thead>
<tbody>
{% for s in sessions %}
<tr>
@ -54,4 +44,4 @@
</td>
{% endfor %}
</tbody>
</table>
</table>

View file

@ -18,11 +18,11 @@
{% origin %}
{% if in_progress %}
<div class="panel panel-default" id="inprogressmeets">
<div class="panel-heading">
<div class="card" id="inprogressmeets">
<div class="card-header">
Meetings in progress
</div>
<div class="panel-body">
<div class="card-body">
{% with sessions=in_progress show_request=True show_ical=True can_edit_materials=can_edit %}
{% include "group/meetings-row.html" %}
{% endwith %}
@ -31,12 +31,12 @@
{% endif %}
{% if future %}
<div class="panel panel-default" id="futuremeets">
<div class="panel-heading">
<div class="card" id="futuremeets">
<div class="card-header">
Future Meetings
<a class="regular float-end" title="icalendar entry for all scheduled future {{group.acronym}} meetings" href="{% url 'ietf.meeting.views.upcoming_ical' %}?show={{group.acronym}}"><span class="bi bi-calendar"></span></a>
</div>
<div class="panel-body">
<div class="card-body">
{% with sessions=future show_request=True show_ical=True can_edit_materials=can_edit %}
{% include "group/meetings-row.html" %}
{% endwith %}
@ -45,14 +45,16 @@
{% endif %}
{% if past or recent %}
<div class="panel panel-default" id="pastmeets">
<div class="panel-heading">
<div class="card" id="pastmeets">
<div class="card-header">
Past Meetings
</div>
<div class="panel-body">
{% with sessions=recent can_edit_materials=can_edit %}
{% include "group/meetings-row.html" %}
{% endwith %}
<div class="card-body">
{% if can_edit %}
{% with sessions=recent can_edit_materials=can_edit %}
{% include "group/meetings-row.html" %}
{% endwith %}
{% endif %}
{% with sessions=past can_edit_materials=False %}
{% include "group/meetings-row.html" %}
{% endwith %}
@ -60,6 +62,6 @@
</div>
{% endif %}
<div>This page shows meetings within the last four years. For earlier meetings, please see the proceedings.</div>
<p>This page shows meetings within the last four years. For earlier meetings, please see the proceedings.</p>
{% endblock %}
{% endblock %}

View file

@ -9,7 +9,7 @@
{% endblock %}
{% block morecss %}
.dl-horizontal dd:before, .dl-horizontal dd:after, .panel-body:after {
.dl-horizontal dd:before, .dl-horizontal dd:after, .card-body:after {
content: none;
}
{% endblock %}

View file

@ -3,7 +3,7 @@
{% load origin %}
{% block morecss %}
.panel-heading {font-size:150%; }
.card-header {font-size:150%; }
{% endblock morecss %}
{% block title %}Milestones under review{% endblock %}
@ -13,9 +13,9 @@
<h1>Milestones under review</h1>
{% for ad in ads %}
<div class="panel panel-default">
<div class="panel-heading">{{ ad.plain_name }}</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header">{{ ad.plain_name }}</div>
<div class="card-body">
{% for g in ad.groups_needing_review %}
<h3>{{ g.name }} ({{ g.acronym }})</h3>
{% include "group/milestones.html" with milestones=g.milestones_needing_review %}

View file

@ -30,13 +30,13 @@
<div class="col-md-11" >
{% for letter in alphabet_blocks %}
<div class="row anchor-target" id="{{letter.grouper}}">
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel ">
<div class="card-header">
<a href="{% url 'ietf.group.views.group_home' acronym=letter.grouper %}">
{{letter.list.0.group.name}}
</a>
</div>
<div class="panel-body">
<div class="card-body">
<ul class="list-inline">
{% regroup letter.list by person as person_groups %}
{% for person_with_groups in person_groups %}

View file

@ -15,18 +15,16 @@
</span>
</div> <!-- search_field -->
<div class="panel-group" id="accordion1">
<div class="panel panel-default">
<div class="panel-heading">
<p class="panel-title toggle_advanced">
<a data-toggle="collapse" data-parent="#accordion1" href="#searchcollapse">
<span class="bi bi-caret-down"></span> Additional search criteria
</a>
</p>
</div>
<div id="searchcollapse" class="panel-collapse collapse visible-nojs">
<div class="panel-body">
<div class="accordion" id="accordion1">
<div class="accordion-item">
<h2 class="accordion-header" id="heading1">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#searchcollapse" aria-expanded="false" aria-controls="searchcollapse">
Additional search criteria
</button>
</h2>
<div id="searchcollapse" class="accordion-collapse collapse" aria-labelledby="heading1" data-bs-parent="#accordion1">
<div class="accordion-body">
<div class="form-group search_field">
<div class="col-sm-4">
@ -64,8 +62,6 @@
</div>
</div>
<div class="form-group search_field">
<div class="col-md-offset-4 col-sm-4">
<button id="search-clear-btn" class="btn btn-primary btn-block" type="button">Clear</button>
@ -80,6 +76,5 @@
</div>
</div>
</div>
</div> <!-- accordian1 -->
</form>
</div>
</form>

View file

@ -19,9 +19,9 @@
{% endif %}
<div class="alert alert-info">This form will link additional drafts to this session with a revision of "Current at time of presentation". For more fine grained control of versions, or to remove a draft from a session, adjust the sessions associated with a draft from the draft's main page.</div>
<div class="panel panel-default">
<div class="panel-heading">Drafts already linked to this sesssion</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header">Drafts already linked to this sesssion</div>
<div class="card-body">
<table class="table table-sm table-striped">
<tr>
<th class="col-md-1">Revision</th>
@ -37,9 +37,9 @@
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">Additional drafts to link to this session</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header">Additional drafts to link to this session</div>
<div class="card-body">
<form method="post">
{% csrf_token %}
{% bootstrap_form form %}

View file

@ -7,23 +7,17 @@ Optional parameters:
customize_button_text - text to show on the "Customize" button (defaults to "Customize...")
{% endcomment %}
{% load agenda_filter_tags %}
<div class="panel-group" id="accordion">
<div class="panel panel-default">
{% if not always_show %}
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#customize">
<span class="bi bi-caret-down"></span> {% firstof customize_button_text "Customize..."%}
</a>
</h4>
</div>
{% endif %}
<div id="customize" class="{% if not always_show %}panel-collapse collapse{% endif %}">
<span hidden {# options to pass to the JS - correspond to keys in opts object #}
id="agenda-filter-options"
data-always-show="{% firstof always_show False %}">
</span>
<div class="panel-body">
<div class="accordion" id="accordion">
<div class="accordion-item">
<h2 class="accordion-header" id="heading">
<button class="accordion-button {% if not always_show %}collapsed{% endif %}" type="button" data-bs-toggle="collapse" data-bs-target="#collapse" aria-expanded="{% if not always_show %}false{% else %}true{% endif %}" aria-controls="collapse">
{% firstof customize_button_text "Customize..."%}
</button>
</h2>
<div id="collapse" class="accordion-collapse collapse" aria-labelledby="heading" data-bs-parent="#accordion">
<div class="accordion-body">
<p>
You can customize the agenda view to show only selected sessions,
@ -89,7 +83,8 @@ Optional parameters:
<blockquote><i>No WG / RG data available -- no WG / RG sessions have been scheduled yet.</i>
</blockquote>
{% endif %}
</div>
</div>
</div>
</div>
</div>

View file

@ -79,7 +79,7 @@
<div class="scheduling-panel" style="{% if not edit_timeslot_form and not add_timeslot_form %}display:none{% endif %}">
<i class="close bi bi-x float-end"></i>
<div class="panel-content">
<div class="card-content">
{% if edit_timeslot_form %}
{% include "meeting/edit_timeslot_form.html" with timeslot_form_action='edit' timeslot_form=edit_timeslot_form %}
{% elif add_timeslot_form %}
@ -89,4 +89,4 @@
</div>
</div>
{% endblock %}
{% endblock %}

View file

@ -7,11 +7,11 @@
{% block content %}
{% origin %}
<div class="panel panel-default col-md-5">
<div class="panel-heading">
<div class="panel col-md-5">
<div class="card-header">
Finalize IETF{{meeting.number}} Proceedings
</div>
<div class="panel-body">
<div class="card-body">
<p>This will make the proceedings for IETF{{meeting.number}} final.</p>
<p>All drafts associated with sessions that are marked "current version" will have their version set to whatever the version was at the end of the meeting.</p>
{% comment %} This would be a good place to put any warnings about important things missing from the proceedings {% endcomment %}

View file

@ -18,9 +18,9 @@
{% endif %}
<div class="panel panel-default">
<div class="panel-heading">Proceedings Materials</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header">Proceedings Materials</div>
<div class="card-body">
<table class="table table-sm table-striped">
<thead>
<tr>

View file

@ -11,8 +11,8 @@
<div>
{% for schedules, own, label in schedule_groups %}
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel ">
<div class="card-header">
{{ label }}
{% if own %}
<div class="float-end" >
@ -20,7 +20,7 @@
</div>
{% endif %}
</div>
<div class="panel-body">
<div class="card-body">
<table class="table table-sm table-striped">
<tr>
<th class="col-md-2">Name</th>

View file

@ -30,17 +30,17 @@
{% with use_panels=unscheduled_sessions %}
{% if use_panels %}
<div class="panel panel-default">
<div class="panel-heading">Scheduled Sessions</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header">Scheduled Sessions</div>
<div class="card-body">
{% endif %}
{% include 'meeting/session_details_panel.html' with sessions=scheduled_sessions %}
{% if use_panels %}
</div>
</div>
<div class="panel panel-warning">
<div class="panel-heading">Unscheduled Sessions</div>
<div class="panel-body">
<div class="card border-warning">
<div class="card-header bg-warning">Unscheduled Sessions</div>
<div class="card-body">
{% endif %}
{% include 'meeting/session_details_panel.html' with sessions=unscheduled_sessions %}
{% if use_panels %}
@ -50,9 +50,9 @@
{% endwith %}
{% if pending_suggestions %}
<div class="panel panel-info">
<div class="panel-heading">{% if can_manage_materials %}Proposed slides awaiting your approval{% else %}Your proposed slides awaiting chair approval{% endif %}</div>
<div id="proposedslidelist" class="panel-body">
<div class="card border-info">
<div class="card-header bg-info">{% if can_manage_materials %}Proposed slides awaiting your approval{% else %}Your proposed slides awaiting chair approval{% endif %}</div>
<div id="proposedslidelist" class="card-body">
{% for s in pending_suggestions %}
{% if can_manage_materials %}
<p><a href="{% url "ietf.meeting.views.approve_proposed_slides" slidesubmission_id=s.pk num=s.session.meeting.number %}">{{s.submitter}} - {{s.title}} ({{s.time}})</a></p>
@ -135,4 +135,4 @@
</script>
{% endif %}
{% endblock %}
{% endblock %}

View file

@ -52,9 +52,9 @@
</div>
{% endif %}
<div class="panel panel-default">
<div class="panel-heading">Agenda, Minutes, and Bluesheets</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header">Agenda, Minutes, and Bluesheets</div>
<div class="card-body">
<table class="table table-sm table-striped">
{% for pres in session.filtered_artifacts %}
<tr>
@ -93,9 +93,9 @@
{% endif %}
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" data-toggle="tooltip" title="Drag and drop to reorder slides">Slides</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header" data-toggle="tooltip" title="Drag and drop to reorder slides">Slides</div>
<div class="card-body">
<table class="table table-sm table-striped slides" id="slides_{{session.pk}}">
<tbody session="{{session.pk}}" addToSession="{% url 'ietf.meeting.views.ajax_add_slides_to_session' session_id=session.pk num=session.meeting.number %}" removeFromSession="{% url 'ietf.meeting.views.ajax_remove_slides_from_session' session_id=session.pk num=session.meeting.number %}" reorderInSession="{% url 'ietf.meeting.views.ajax_reorder_slides_in_session' session_id=session.pk num=session.meeting.number %}">
{% for pres in session.filtered_slides %}
@ -122,13 +122,13 @@
{% endif %}
</div>
{% if can_manage_materials %}
<div class="panel-footer small">Drag-and-drop to reorder slides</div>
<div class="small">Drag-and-drop to reorder slides</div>
{% endif %}
</div>
<div class="panel panel-default">
<div class="panel-heading">Drafts
<div class="panel ">
<div class="card-header">Drafts
</div>
<div class="panel-body">
<div class="card-body">
<table class="table table-sm table-striped">
{% for pres in session.filtered_drafts %}
<tr>
@ -152,4 +152,4 @@
</div>
</div>
{% endwith %}
{% endfor %}
{% endfor %}

View file

@ -1,6 +1,6 @@
<div class="panel panel-default">
<div class="panel-heading"><h3>{{title}}</h3></div>
<div class="panel-body">
<div class="panel ">
<div class="card-header"><h3>{{title}}</h3></div>
<div class="card-body">
{% for n in list %}{{n.email.address}}{% if not forloop.last %}, {%endif %}{% endfor %}
</div>
</div>

View file

@ -18,9 +18,9 @@
{% with title='Accepted Nominees Without a Questionnaire Response' list=noresp %}
{% include 'nomcom/email_list_panel.html' %}
{% endwith %}
<div class="panel panel-default">
<div class="panel-heading"><h3>Accepted Nominees by Position</h3></div>
<div class="panel-body">
<div class="panel ">
<div class="card-header"><h3>Accepted Nominees by Position</h3></div>
<div class="card-body">
{% for pos, accepts in bypos.items %}
{% with title=pos.name list=accepts %}
{% include 'nomcom/email_list_panel.html' %}

View file

@ -116,9 +116,9 @@
</form>
{% if form.topic %}
<div class="panel panel-default">
<div class="panel-heading">Description: {{form.topic.subject}}</div>
<div class="panel-body">{{form.topic.get_description|safe}}</div>
<div class="panel ">
<div class="card-header">Description: {{form.topic.subject}}</div>
<div class="card-body">{{form.topic.get_description|safe}}</div>
</div>
{% endif %}
{% endif %}

View file

@ -1,12 +1,12 @@
<div class="panel panel-default">
<div class="panel-heading"><a data-toggle="collapse" href="#generic_iesg_reqs_{{position.name|slugify}}" class="generic_iesg_reqs_header">General IESG Requirements</a></div>
<div id="generic_iesg_reqs_{{position.name|slugify}}" class="panel-body collapse in">
<div class="panel ">
<div class="card-header"><a data-toggle="collapse" href="#generic_iesg_reqs_{{position.name|slugify}}" class="generic_iesg_reqs_header">General IESG Requirements</a></div>
<div id="generic_iesg_reqs_{{position.name|slugify}}" class="card-body collapse in">
{{generic_iesg_reqs|safe}}
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">{{position.name}} Specific Requirements</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header">{{position.name}} Specific Requirements</div>
<div class="card-body">
{{specific_reqs|safe}}
</div>
</div>

View file

@ -16,9 +16,9 @@
{% if positions %}
{% regroup positions by is_open as posgroups %}
{% for group in posgroups %}
<div class="panel panel-default">
<div class="panel-heading"><h3>{{ group.grouper| yesno:"Open Positions,Closed Positions"}}</h3></div>
<div class="panel-body">
<div class="panel ">
<div class="card-header"><h3>{{ group.grouper| yesno:"Open Positions,Closed Positions"}}</h3></div>
<div class="card-body">
{% for position in group.list %}
<h4>{{ position.name }}{% if position.is_iesg_position %} (IESG){% endif %}</h4>
{% if group.grouper %}

View file

@ -31,7 +31,7 @@
{% endif %}
</dl>
<div class = "panel panel-default">
<div class = "panel ">
<p class='pasted'>{{ template.content }}</p>
</div>

View file

@ -20,8 +20,8 @@
{% regroup nominees_feedback by nominee.staterank as stateranked_nominees %}
{% for staterank in stateranked_nominees %}
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel ">
<div class="card-header">
{% if staterank.grouper == 0 %}
<h6 class="anchor-target" id="accepted">Accepted nomination for at least one position</h6>
{% elif staterank.grouper == 1 %}
@ -30,7 +30,7 @@
<h6 class="anchor-target" id="declined">Declined each nominated position</h6>
{% endif %}
</div>
<div class="panel-body">
<div class="card-body">
<table class="table table-sm table-striped tablesorter">
<thead>
<tr>
@ -70,8 +70,8 @@
<h2 class="anchor-target" id="topics">Feedback related to topics</h2>
<div class="panel panel-default">
<div class="panel-body">
<div class="panel ">
<div class="card-body">
<table class="table table-sm table-striped">
<thead>
<tr>

View file

@ -17,9 +17,9 @@
{% regroup volunteers by eligible as volunteers_by_eligibility %}
{% for eligibility_group in volunteers_by_eligibility %}
<div class="panel panel-default">
<div class="panel-heading">{{ eligibility_group.grouper|yesno:"Eligible, Not Eligible"}}</div>
<div class="panel-body">
<div class="panel ">
<div class="card-header">{{ eligibility_group.grouper|yesno:"Eligible, Not Eligible"}}</div>
<div class="card-body">
<table class="table table-sm table-striped tablesorter">
<thead>
<th></th>

View file

@ -121,7 +121,7 @@
</div>
{% if person.has_drafts %}
<div id="chart" style="width:100%; height:400px; margin-top:1em;" class="panel panel-default panel-body col-md-12"></div>
<div id="chart" style="width:100%; height:400px; margin-top:1em;" class="panel card-body col-md-12"></div>
{% endif %}
{% endfor %}

View file

@ -36,8 +36,8 @@
fix them.
</p>
<div class="panel panel-default">
<div class="panel-body">
<div class="panel ">
<div class="card-body">
<form method="post" enctype="multipart/form-data">
{% csrf_token %}