Skip to content

Commit 870fed0

Browse files
authored
fix: More fixes for narrow screens (ietf-tools#3662)
* fix: More fixes for narrow screens Need to keep checking for issues, there are more. * Make columns more narrow on narrow screens * More fixes * More fixes * Test fixes * Fix more tests * Close tbody
1 parent 66feccb commit 870fed0

40 files changed

Lines changed: 194 additions & 145 deletions

ietf/doc/tests.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,7 @@ def test_document_draft(self):
562562
self.assertEqual(r.status_code, 200)
563563
self.assertContains(r, "Active Internet-Draft")
564564
if settings.USER_PREFERENCE_DEFAULTS['full_draft'] == 'off':
565-
self.assertContains(r, "Show full document text")
565+
self.assertContains(r, "Show full document")
566566
self.assertNotContains(r, "Deimos street")
567567
self.assertContains(r, replaced.canonical_name())
568568
self.assertContains(r, replaced.title)
@@ -579,7 +579,7 @@ def test_document_draft(self):
579579
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)) + "?include_text=0")
580580
self.assertEqual(r.status_code, 200)
581581
self.assertContains(r, "Active Internet-Draft")
582-
self.assertContains(r, "Show full document text")
582+
self.assertContains(r, "Show full document")
583583
self.assertNotContains(r, "Deimos street")
584584
self.assertContains(r, replaced.canonical_name())
585585
self.assertContains(r, replaced.title)
@@ -596,7 +596,7 @@ def test_document_draft(self):
596596
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)) + "?include_text=foo")
597597
self.assertEqual(r.status_code, 200)
598598
self.assertContains(r, "Active Internet-Draft")
599-
self.assertNotContains(r, "Show full document text")
599+
self.assertNotContains(r, "Show full document")
600600
self.assertContains(r, "Deimos street")
601601
self.assertContains(r, replaced.canonical_name())
602602
self.assertContains(r, replaced.title)
@@ -613,7 +613,7 @@ def test_document_draft(self):
613613
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)) + "?include_text=1")
614614
self.assertEqual(r.status_code, 200)
615615
self.assertContains(r, "Active Internet-Draft")
616-
self.assertNotContains(r, "Show full document text")
616+
self.assertNotContains(r, "Show full document")
617617
self.assertContains(r, "Deimos street")
618618
self.assertContains(r, replaced.canonical_name())
619619
self.assertContains(r, replaced.title)
@@ -631,7 +631,7 @@ def test_document_draft(self):
631631
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)))
632632
self.assertEqual(r.status_code, 200)
633633
self.assertContains(r, "Active Internet-Draft")
634-
self.assertNotContains(r, "Show full document text")
634+
self.assertNotContains(r, "Show full document")
635635
self.assertContains(r, "Deimos street")
636636
self.assertContains(r, replaced.canonical_name())
637637
self.assertContains(r, replaced.title)
@@ -649,7 +649,7 @@ def test_document_draft(self):
649649
r = self.client.get(urlreverse("ietf.doc.views_doc.document_main", kwargs=dict(name=draft.name)))
650650
self.assertEqual(r.status_code, 200)
651651
self.assertContains(r, "Active Internet-Draft")
652-
self.assertContains(r, "Show full document text")
652+
self.assertContains(r, "Show full document")
653653
self.assertNotContains(r, "Deimos street")
654654
self.assertContains(r, replaced.canonical_name())
655655
self.assertContains(r, replaced.title)
@@ -668,7 +668,7 @@ def test_document_draft(self):
668668
self.assertEqual(r.status_code, 200)
669669
self.assertContains(r, "Active Internet-Draft")
670670
if settings.USER_PREFERENCE_DEFAULTS['full_draft'] == 'off':
671-
self.assertContains(r, "Show full document text")
671+
self.assertContains(r, "Show full document")
672672
self.assertNotContains(r, "Deimos street")
673673
self.assertContains(r, replaced.canonical_name())
674674
self.assertContains(r, replaced.title)
@@ -2807,4 +2807,4 @@ def test_pdfized(self):
28072807
self.should_succeed(dict(name=rfc.name,rev=f'{r:02d}'))
28082808
for ext in ('pdf','txt','html','anythingatall'):
28092809
self.should_succeed(dict(name=rfc.name,rev=f'{r:02d}',ext=ext))
2810-
self.should_404(dict(name=rfc.name,rev='02'))
2810+
self.should_404(dict(name=rfc.name,rev='02'))

ietf/doc/views_doc.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -360,9 +360,9 @@ def document_main(request, name, rev=None):
360360
if can_adopt_draft(request.user, doc) and not doc.get_state_slug() in ["rfc"] and not snapshot:
361361
if doc.group and doc.group.acronym != 'none': # individual submission
362362
# already adopted in one group
363-
button_text = "Change Document Adoption to other Group (now in %s)" % doc.group.acronym
363+
button_text = "Switch adoption"
364364
else:
365-
button_text = "Manage Document Adoption in Group"
365+
button_text = "Adopt"
366366
actions.append((button_text, urlreverse('ietf.doc.views_draft.adopt_draft', kwargs=dict(name=doc.name))))
367367

368368
if can_unadopt_draft(request.user, doc) and not doc.get_state_slug() in ["rfc"] and not snapshot:

ietf/meeting/tests_js.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2320,7 +2320,7 @@ def _assert_interim_tz_correct(sessions, tz):
23202320
end = ts.utc_end_time().astimezone(zone).strftime('%H:%M')
23212321
meeting_link = self.driver.find_element(By.LINK_TEXT, session.meeting.number)
23222322
time_td = meeting_link.find_element(By.XPATH, '../../td[contains(@class, "session-time")]')
2323-
self.assertIn('%s - %s' % (start, end), time_td.text)
2323+
self.assertIn('%s-%s' % (start, end), time_td.text)
23242324

23252325
def _assert_ietf_tz_correct(meetings, tz):
23262326
zone = pytz.timezone(tz)
@@ -2339,7 +2339,7 @@ def _assert_ietf_tz_correct(meetings, tz):
23392339
end = end_dt.astimezone(zone).strftime('%Y-%m-%d')
23402340
meeting_link = self.driver.find_element(By.LINK_TEXT, "IETF " + meeting.number)
23412341
time_td = meeting_link.find_element(By.XPATH, '../../td[contains(@class, "meeting-time")]')
2342-
self.assertIn('%s - %s' % (start, end), time_td.text)
2342+
self.assertIn('%s to %s' % (start, end), time_td.text)
23432343

23442344
sessions = [m.session_set.first() for m in self.displayed_interims()]
23452345
self.assertGreater(len(sessions), 0)

ietf/meeting/tests_views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4307,7 +4307,7 @@ def test_past(self):
43074307
q = PyQuery(r.content)
43084308
#id="-%s" % interim.group.acronym
43094309
#self.assertIn('Cancelled', q('[id*="'+id+'"]').text())
4310-
self.assertIn('Cancelled', q('tr>td>a>span').text())
4310+
self.assertIn('Cancelled', q('tr>td>a+span').text())
43114311

43124312
def do_upcoming_test(self, querystring=None, create_meeting=True):
43134313
if create_meeting:

ietf/static/css/ietf.scss

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,26 @@ table tbody.meta {
9292

9393
th:first-child,
9494
td:first-child {
95-
width: 9em;
95+
width: 4em;
9696
}
9797

9898
th:nth-child(2),
9999
td:nth-child(2) {
100-
// text-align: right;
101-
width: 14em;
100+
width: 7em;
101+
}
102+
103+
// See https://getbootstrap.com/docs/5.0/layout/breakpoints/#media-queries
104+
@include media-breakpoint-up(md) {
105+
106+
th:first-child,
107+
td:first-child {
108+
width: 9em;
109+
}
110+
111+
th:nth-child(2),
112+
td:nth-child(2) {
113+
width: 14em;
114+
}
102115
}
103116

104117
td.edit {

ietf/static/js/agenda_timezone.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -126,20 +126,20 @@ function format_tooltip_table(start, end) {
126126
var current_timezone = get_current_tz_cb();
127127
var out = '<div class="text-start"><table class="table table-sm"><tr><th></th><th>Session start</th><th>Session end</th></tr>';
128128
if (window.meeting_timezone !== "") {
129-
out += '<tr><th class="timehead">Meeting timezone</th><td class="text-nowrap">' +
130-
format_time(start, window.meeting_timezone, 0) + '</td><td class="text-nowrap">' +
129+
out += '<tr><th class="timehead">Meeting timezone</th><td>' +
130+
format_time(start, window.meeting_timezone, 0) + '</td><td>' +
131131
format_time(end, window.meeting_timezone, 0) + '</td></tr>';
132132
}
133-
out += '<tr><th class="timehead">Local timezone</th><td class="text-nowrap">' +
134-
format_time(start, local_timezone, 0) + '</td><td class="text-nowrap">' +
133+
out += '<tr><th class="timehead">Local timezone</th><td>' +
134+
format_time(start, local_timezone, 0) + '</td><td>' +
135135
format_time(end, local_timezone, 0) + '</td></tr>';
136136
if (current_timezone !== 'UTC') {
137-
out += '<tr><th class="timehead">Selected Timezone</th><td class="text-nowrap">' +
138-
format_time(start, current_timezone, 0) + '</td><td class="text-nowrap">' +
137+
out += '<tr><th class="timehead">Selected Timezone</th><td>' +
138+
format_time(start, current_timezone, 0) + '</td><td>' +
139139
format_time(end, current_timezone, 0) + '</td></tr>';
140140
}
141-
out += '<tr><th class="timehead">UTC</th><td class="text-nowrap">' +
142-
format_time(start, 'UTC', 0) + '</td><td class="text-nowrap">' +
141+
out += '<tr><th class="timehead">UTC</th><td>' +
142+
format_time(start, 'UTC', 0) + '</td><td>' +
143143
format_time(end, 'UTC', 0) + '</td></tr>';
144144
out += '</table>' + format_tooltip_notice(start, end) + '</div>';
145145
return out;

ietf/static/js/ietf.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,49 @@ $(document)
4646
.tooltip();
4747
});
4848

49+
// Help browser to wrap long link texts (esp. email addresses) more sensibly.
50+
$(document)
51+
.ready(function () {
52+
$("#content a")
53+
.each(function () {
54+
// get the text of the <a> element
55+
var text = $(this)
56+
.text();
57+
// insert some <wbr> at strategic places
58+
var newtext = text.replace(/([@._])/g, "$1<wbr>");
59+
if (newtext === text) {
60+
return;
61+
}
62+
// now replace only that text inside the element's HTML
63+
var newhtml = $(this)
64+
.html()
65+
.replace(text, newtext);
66+
$(this)
67+
.html(newhtml);
68+
});
69+
70+
// $("#content table.tablesorter")
71+
// .on("tablesorter:done", function () {
72+
// $("#content table.tablesorter .date")
73+
// .each(function () {
74+
// // get the text of the <a> element
75+
// var text = $(this)
76+
// .text();
77+
// // insert some <wbr> at strategic places
78+
// var newtext = text.replace(/([-])/g, "$1<wbr>");
79+
// if (newtext === text) {
80+
// return;
81+
// }
82+
// // now replace only that text inside the element's HTML
83+
// var newhtml = $(this)
84+
// .html()
85+
// .replace(text, newtext);
86+
// $(this)
87+
// .html(newhtml);
88+
// });
89+
// });
90+
});
91+
4992
$(document)
5093
.ready(function () {
5194

ietf/static/js/list.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,5 +273,7 @@ $(document)
273273
});
274274
$(table.addClass("tablesorter-done"));
275275
n++;
276+
$(table)[0]
277+
.dispatchEvent(new Event("tablesorter:done"));
276278
});
277279
});

ietf/static/js/upcoming.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ function format_session_time(session_elt, tz) {
122122
.attr('data-start-utc'));
123123
var end = moment.utc($(session_elt)
124124
.attr('data-end-utc'));
125-
return format_moment(start, tz, 'datetime') + ' - ' + format_moment(end, tz, 'time');
125+
return format_moment(start, tz, 'datetime') + '-' + format_moment(end, tz, 'time');
126126
}
127127

128128
function format_meeting_time(meeting_elt, tz) {
@@ -134,7 +134,7 @@ function format_meeting_time(meeting_elt, tz) {
134134
var end = moment.tz($(meeting_elt)
135135
.attr('data-end-date'), meeting_tz)
136136
.endOf('day');
137-
return format_moment(start, tz, 'date') + ' - ' + format_moment(end, tz, 'date');
137+
return format_moment(start, tz, 'date') + ' to ' + format_moment(end, tz, 'date');
138138
}
139139

140140
window.timezone_changed = function (newtz) {

ietf/templates/doc/bofreq/bof_requests.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ <h2 class="mt-5">{{ req_group.grouper|capfirst }} BOF Requests</h2>
3232
<thead>
3333
<tr>
3434
<th data-sort="name">Name</th>
35-
<th data-sort="date">Date</th>
35+
<th class="d-none d-sm-table-cell" data-sort="date">Date</th>
3636
<th data-sort="title">Title</th>
3737
<th data-sort="responsible">Responsible</th>
3838
<th data-sort="editors">Editors</th>
@@ -44,7 +44,7 @@ <h2 class="mt-5">{{ req_group.grouper|capfirst }} BOF Requests</h2>
4444
<td>
4545
<a href="{% url 'ietf.doc.views_doc.document_main' name=req.name %}">{{ req.name }}-{{ req.rev }}</a>
4646
</td>
47-
<td>{{ req.latest_revision_event.time|date:"Y-m-d" }}</td>
47+
<td class="d-none d-sm-table-cell">{{ req.latest_revision_event.time|date:"Y-m-d" }}</td>
4848
<td>{{ req.title }}</td>
4949
<td>
5050
{% for person in req.responsible %}

0 commit comments

Comments
 (0)