Skip to content

Commit ba0a3ec

Browse files
Blur sessions for hidden areas instead of hiding entirely. Fixes ietf-tools#3218. Commit ready for merge.
- Legacy-Id: 19134
1 parent 1d12391 commit ba0a3ec

4 files changed

Lines changed: 33 additions & 6 deletions

File tree

ietf/meeting/tests_js.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,9 +228,21 @@ def test_edit_meeting_schedule(self):
228228
# hide sessions in area
229229
self.assertTrue(s1_element.is_displayed())
230230
self.driver.find_element_by_css_selector(".session-parent-toggles [value=\"{}\"]".format(s1.group.parent.acronym)).click()
231-
self.assertTrue(not s1_element.is_displayed())
231+
self.assertTrue(s1_element.is_displayed()) # should still be displayed
232+
self.assertIn('hidden-parent', s1_element.get_attribute('class'),
233+
'Session should be hidden when parent disabled')
234+
s1_element.click() # try to select
235+
self.assertNotIn('selected', s1_element.get_attribute('class'),
236+
'Session should not be selectable when parent disabled')
237+
232238
self.driver.find_element_by_css_selector(".session-parent-toggles [value=\"{}\"]".format(s1.group.parent.acronym)).click()
233239
self.assertTrue(s1_element.is_displayed())
240+
self.assertNotIn('hidden-parent', s1_element.get_attribute('class'),
241+
'Session should not be hidden when parent enabled')
242+
s1_element.click() # try to select
243+
self.assertIn('selected', s1_element.get_attribute('class'),
244+
'Session should be selectable when parent enabled')
245+
234246

235247
# hide timeslots
236248
self.driver.find_element_by_css_selector(".timeslot-group-toggles button").click()

ietf/static/ietf/css/ietf.css

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1175,6 +1175,12 @@ a.fc-event, .fc-event, .fc-content, .fc-title, .fc-event-container {
11751175
background-color: #ddd;
11761176
}
11771177

1178+
.edit-meeting-schedule .session.hidden-parent * {
1179+
/* This makes .session.hidden-parent's children transparent but keeps the
1180+
* .session itself opaque so the timeslot label does not show through. */
1181+
opacity: 0.7;
1182+
}
1183+
11781184
.edit-meeting-schedule .session.selected .session-label {
11791185
font-weight: bold;
11801186
}
@@ -1198,7 +1204,7 @@ a.fc-event, .fc-event, .fc-content, .fc-title, .fc-event-container {
11981204
}
11991205

12001206
.edit-meeting-schedule .timeslot.overfull .session {
1201-
border-radius: 0.4em 0 0 0.4em; /* remove bottom rounding to illude to being cut off */
1207+
border-radius: 0.4em 0 0 0.4em; /* remove right-side rounding to allude to being cut off */
12021208
margin-right: 0;
12031209
}
12041210

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

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,10 @@ jQuery(document).ready(function () {
168168

169169
sessions.on("click", function (event) {
170170
event.stopPropagation();
171-
selectSessionElement(this);
171+
// do not allow hidden sessions to be selected
172+
if (!jQuery(this).hasClass('hidden-parent')) {
173+
selectSessionElement(this);
174+
}
172175
});
173176

174177

@@ -478,14 +481,19 @@ jQuery(document).ready(function () {
478481
// toggling visible sessions by session parents
479482
let sessionParentInputs = content.find(".session-parent-toggles input");
480483

484+
function setSessionHidden(sess, hide) {
485+
sess.toggleClass('hidden-parent', hide);
486+
sess.prop('draggable', !hide);
487+
}
488+
481489
function updateSessionParentToggling() {
482490
let checked = [];
483491
sessionParentInputs.filter(":checked").each(function () {
484492
checked.push(".parent-" + this.value);
485493
});
486494

487-
sessions.not(".untoggleable").filter(checked.join(",")).show();
488-
sessions.not(".untoggleable").not(checked.join(",")).hide();
495+
setSessionHidden(sessions.not(".untoggleable").filter(checked.join(",")), false);
496+
setSessionHidden(sessions.not(".untoggleable").not(checked.join(",")), true);
489497
}
490498

491499
sessionParentInputs.on("click", updateSessionParentToggling);

ietf/templates/meeting/edit_meeting_schedule.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
{% block morecss %}
88
{# set the group colors with CSS here #}
99
{% for parent in session_parents %}
10-
.parent-{{ parent.acronym }} { background: linear-gradient(to right, {{ parent.scheduling_color }} 0.4em, transparent 0.5em); }
10+
.parent-{{ parent.acronym }} { background-image: linear-gradient(to right, {{ parent.scheduling_color }} 0.4em, transparent 0.5em); }
11+
.parent-{{ parent.acronym }}.hidden-parent { filter: blur(3px); }{# blur masks contents but keeps the parent color visible #}
1112
.parent-{{ parent.acronym }}.selected { background-color: {{ parent.light_scheduling_color }}; }
1213
{% endfor %}
1314
{% endblock morecss %}

0 commit comments

Comments
 (0)