Added support for level=family

This commit is contained in:
2023-02-26 23:21:02 +01:00
parent f79d54c752
commit 65a3082c02
5 changed files with 158 additions and 19 deletions

View File

@@ -8,6 +8,7 @@
<div style="float: right;">
<button id="btn-filter-All" type="button" class="btn btn-xs btn-green">Alle Touren</button>
<button id="btn-filter-B" type="button" class="btn btn-xs btn-sport-B btn-white">Bergsteigen</button>
<button id="btn-filter-family" type="button" class="btn btn-xs btn-level-family btn-white">Familien</button>
<button id="btn-filter-K" type="button" class="btn btn-xs btn-sport-K btn-white">Klettern</button>
<button id="btn-filter-M" type="button" class="btn btn-xs btn-sport-M btn-white">Mountainbike</button>
<button id="btn-filter-S" type="button" class="btn btn-xs btn-sport-S btn-white">Ski</button>
@@ -18,6 +19,7 @@
<thead>
<tr>
<th class="hidden">Sport</th>
<th class="hidden">Level</th>
<th><input type="text" id="searchfield" placeholder="{% trans 'Volltextsuche' %}"></th>
</tr>
</thead>
@@ -25,6 +27,7 @@
{% for event in event_list %}
<tr>
<td class="hidden">{{ event.sport }}</td>
<td class="hidden">{{ event.level }}</td>
<td>
<div class="pull-right" style="margin-left: 2em;">
<a role="button" id="controlChevronCollapseDetails{{ event.id }}" data-toggle="collapse"
@@ -66,6 +69,9 @@
{{ event.get_number }} - {{ event.title }}
</a>
</span></strong>
{% if event.level == 'family' %}
&emsp;<span class="label label-level-family">für Familien</span>
{% endif %}
<p>
{% if event.is_canceled %}<del>{% endif %}
{{ event.get_formated_date }}
@@ -121,19 +127,33 @@
</table>
<script type="text/javascript">
function filter_sport(table, sport) {
const sports = ["All", "B", "K", "M", "S", "W"];
const choices = ["All", "B", "K", "M", "S", "W"];
var search = sport;
for(let i in sports) {
if(sport != sports[i])
$("#btn-filter-" + sports[i]).addClass("btn-white");
for(let i in choices) {
if(sport != choices[i])
$("#btn-filter-" + choices[i]).addClass("btn-white");
}
$("#btn-filter-" + sport).removeClass("btn-white");
if(sport == "All")
search = "";
table.column(0).search(search).draw();
}
};
function filter_level(table, level) {
const choices = ["All", "beginner", "advanced", "family"];
var search = level;
for(let i in choices) {
if(level != choices[i])
$("#btn-filter-" + choices[i]).addClass("btn-white");
}
$("#btn-filter-" + level).removeClass("btn-white");
if(level == "All")
search = "";
table.column(1).search(search).draw();
};
$(document).ready( function () {
var table = $("#objects_table").DataTable( {
ordering: false,
@@ -150,24 +170,34 @@
} );
$("#btn-filter-All").on("click", function() {
filter_sport(table, "All");
filter_level(table, "All");
} );
$("#btn-filter-B").on("click", function() {
filter_level(table, "All");
filter_sport(table, "B");
} );
$("#btn-filter-K").on("click", function() {
filter_level(table, "All");
filter_sport(table, "K");
} );
$("#btn-filter-M").on("click", function() {
filter_level(table, "All");
filter_sport(table, "M");
} );
$("#btn-filter-S").on("click", function() {
filter_level(table, "All");
filter_sport(table, "S");
} );
$("#btn-filter-W").on("click", function() {
filter_level(table, "All");
filter_sport(table, "W");
} );
$("#btn-filter-family").on("click", function() {
filter_sport(table, "All");
filter_level(table, "family");
} );
$("#searchfield").on( "keyup change", function() {
table.column(1).search( this.value ).draw();
table.column(2).search( this.value ).draw();
} );
$("#objects_table_filter").hide();
filter_sport(table, "{{ init_sport_filter|default:'All' }}");