Skip to content

Commit 45916f2

Browse files
Improve visibility of other sessions for group of selected session in schedule editor. Fixes ietf-tools#3219. Commit ready for merge.
- Legacy-Id: 19135
1 parent ba0a3ec commit 45916f2

4 files changed

Lines changed: 20 additions & 2 deletions

File tree

ietf/meeting/tests_js.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,15 @@ def test_edit_meeting_schedule(self):
108108

109109
# select - show session info
110110
s2_element = self.driver.find_element_by_css_selector('#session{}'.format(s2.pk))
111+
s2b_element = self.driver.find_element_by_css_selector('#session{}'.format(s2b.pk))
112+
self.assertNotIn('other-session-selected', s2b_element.get_attribute('class'))
111113
s2_element.click()
112114

115+
# other session for group should be flagged for highlighting
116+
s2b_element = self.driver.find_element_by_css_selector('#session{}'.format(s2b.pk))
117+
self.assertIn('other-session-selected', s2b_element.get_attribute('class'))
118+
119+
# other session for group should appear in the info panel
113120
session_info_container = self.driver.find_element_by_css_selector('.session-info-container')
114121
self.assertIn(s2.group.acronym, session_info_container.find_element_by_css_selector(".title").text)
115122
self.assertEqual(session_info_container.find_element_by_css_selector(".other-session .time").text, "not yet scheduled")
@@ -118,6 +125,7 @@ def test_edit_meeting_schedule(self):
118125
self.driver.find_element_by_css_selector('.scheduling-panel').click()
119126

120127
self.assertEqual(session_info_container.find_elements_by_css_selector(".title"), [])
128+
self.assertNotIn('other-session-selected', s2b_element.get_attribute('class'))
121129

122130
# unschedule
123131

ietf/static/ietf/css/ietf.css

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1164,6 +1164,11 @@ a.fc-event, .fc-event, .fc-content, .fc-title, .fc-event-container {
11641164

11651165
.edit-meeting-schedule .session.selected {
11661166
cursor: grabbing;
1167+
outline: #0000ff solid 0.2em; /* blue, width matches margin on .session */
1168+
}
1169+
1170+
.edit-meeting-schedule .session.other-session-selected {
1171+
outline: #00008b solid 0.2em; /* darkblue, width matches margin on .session */
11671172
}
11681173

11691174
.edit-meeting-schedule .read-only .session.selected {
@@ -1186,6 +1191,7 @@ a.fc-event, .fc-event, .fc-content, .fc-title, .fc-event-container {
11861191
}
11871192

11881193
.edit-meeting-schedule .session.highlight {
1194+
outline-color: #ff8c00; /* darkorange */
11891195
background-color: #f3f3f3;
11901196
}
11911197

@@ -1427,7 +1433,6 @@ a.fc-event, .fc-event, .fc-content, .fc-title, .fc-event-container {
14271433
height: 19px;
14281434
top: 0px;
14291435
font-size: 13px;
1430-
overflow: hidden;
14311436
text-overflow: ellipsis;
14321437
white-space: nowrap;
14331438
cursor: pointer;

ietf/static/ietf/js/edit-meeting-schedule.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ jQuery(document).ready(function () {
4040

4141
// selecting
4242
function selectSessionElement(element) {
43+
sessions.removeClass("other-session-selected");
4344
if (element) {
4445
sessions.not(element).removeClass("selected");
4546
jQuery(element).addClass("selected");
@@ -54,8 +55,11 @@ jQuery(document).ready(function () {
5455
sessionInfoContainer.find(".time").text(jQuery(element).closest(".timeslot").data('scheduledatlabel'));
5556

5657
sessionInfoContainer.find(".other-session").each(function () {
57-
let scheduledAt = sessions.filter("#session" + this.dataset.othersessionid).closest(".timeslot").data('scheduledatlabel');
58+
let otherSessionElement = sessions.filter("#session" + this.dataset.othersessionid).first();
59+
let scheduledAt = otherSessionElement.closest(".timeslot").data('scheduledatlabel');
5860
let timeElement = jQuery(this).find(".time");
61+
62+
otherSessionElement.addClass("other-session-selected");
5963
if (scheduledAt)
6064
timeElement.text(timeElement.data("scheduled").replace("{time}", scheduledAt));
6165
else

ietf/templates/meeting/edit_meeting_schedule.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
.parent-{{ parent.acronym }} { background-image: linear-gradient(to right, {{ parent.scheduling_color }} 0.4em, transparent 0.5em); }
1111
.parent-{{ parent.acronym }}.hidden-parent { filter: blur(3px); }{# blur masks contents but keeps the parent color visible #}
1212
.parent-{{ parent.acronym }}.selected { background-color: {{ parent.light_scheduling_color }}; }
13+
.parent-{{ parent.acronym }}.other-session-selected { background-color: {{ parent.light_scheduling_color }}; }
1314
{% endfor %}
1415
{% endblock morecss %}
1516

0 commit comments

Comments
 (0)