Skip to content
Snippets Groups Projects
Commit 34b092f4 authored by Tomáš Valenta's avatar Tomáš Valenta
Browse files

reassign event listeners, make date ignoreable

parent 2ab1631b
Branches
No related tags found
No related merge requests found
Pipeline #16464 passed
......@@ -18,11 +18,13 @@
{{ lecture.name }}
</h2>
<span class="flex gap-2 mb-4">
<span>
<i class="ico--clock mr-1"></i> {{ lecture.timestamp }}
{% if lecture.timestamp %}
<span class="flex gap-2 mb-4">
<span>
<i class="ico--clock mr-1"></i> {{ lecture.timestamp }}
</span>
</span>
</span>
{% endif %}
{% if lecture.description %}
<div class="prose max-w-none">
......
......@@ -55,15 +55,18 @@
{% endif %}
<div class="flex flex-col gap-2 my-4 py-4 border-y border-gray-200">
<div class="flex justify-between gap-2 text-lg text-gray-600">
<div class="flex gap-2 items-center">
<i class="ico--clock"></i>
<span>Datum konání</span>
</div>
<div>
{{ lecture.timestamp }}
{% if lecture.timestamp %}
<div class="flex justify-between gap-2 text-lg text-gray-600">
<div class="flex gap-2 items-center">
<i class="ico--clock"></i>
<span>Datum konání</span>
</div>
<div>
{{ lecture.timestamp }}
</div>
</div>
</div>
{% endif %}
<div class="flex justify-between gap-2 text-lg text-gray-600">
<div class="flex gap-2 items-center">
<i class="ico--users"></i>
......
......@@ -157,8 +157,11 @@ def view_group_lectures(request, group_id: int):
past_lectures = (
Lecture.objects.filter(
lecture_group_types__group=group,
timestamp__lt=timestamp_starting_separator,
models.Q(lecture_group_types__group=group)
& models.Q(
models.Q(timestamp__lt=timestamp_starting_separator)
| models.Q(timestamp__isnull=True)
)
)
.order_by("category")
.all()
......@@ -212,6 +215,9 @@ def view_group_lectures(request, group_id: int):
has_next_timeline_years = False
for lecture in all_lectures:
if lecture.timestamp is None:
continue
if not has_previous_timeline_years and lecture.timestamp.year < current_year:
has_previous_timeline_years = True
......
......@@ -15,6 +15,37 @@ const showTimelineYear = () => {
);
}
const assignOpenerListeners = () => {
$(".__lecture-category").on(
"click",
event => {
if (event.currentTarget.dataset.isOpen === 'true') {
$(event.currentTarget).
find(".__lecture-category-opener").
addClass("ico--chevron-down").
removeClass("ico--chevron-up")
event.currentTarget.dataset.isOpen = 'false'
$(event.currentTarget).
find(".__lecture-category-content").
addClass("hidden")
} else {
$(event.currentTarget).
find(".__lecture-category-opener").
removeClass("ico--chevron-down").
addClass("ico--chevron-up")
event.currentTarget.dataset.isOpen = 'true'
$(event.currentTarget).
find(".__lecture-category-content").
removeClass("hidden")
}
}
)
}
$(window).ready(
() => {
window.nextTimelineYear = () => {
......@@ -27,32 +58,38 @@ $(window).ready(
showTimelineYear();
}
$(".__lecture-category").on(
assignOpenerListeners()
// Make sure our listeners exist
setInterval(
() => {
const currentUrl = window.location.href;
if (currentUrl != previousUrl) {
// URL changed
previousUrl = currentUrl;
const params = new Proxy(
new URLSearchParams(window.location.search), {
get: (searchParams, prop) => searchParams.get(prop),
}
)
if (
params.view !== null
&& params.view === "recordings"
) {
assignOpenerListeners()
}
}
},
100
)
$(".switch__item").on(
"click",
event => {
if (event.currentTarget.dataset.isOpen === 'true') {
$(event.currentTarget).
find(".__lecture-category-opener").
addClass("ico--chevron-down").
removeClass("ico--chevron-up")
event.currentTarget.dataset.isOpen = 'false'
$(event.currentTarget).
find(".__lecture-category-content").
addClass("hidden")
} else {
$(event.currentTarget).
find(".__lecture-category-opener").
removeClass("ico--chevron-down").
addClass("ico--chevron-up")
event.currentTarget.dataset.isOpen = 'true'
$(event.currentTarget).
find(".__lecture-category-content").
removeClass("hidden")
}
assignOpenerListeners()
}
)
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment