dav_registrations: Fixed filter stuff on event list page for family
All checks were successful
buildbot/django-dav-events--test Build done.
All checks were successful
buildbot/django-dav-events--test Build done.
events
This commit is contained in:
@@ -58,6 +58,7 @@
|
||||
<img src="{% static icon %}" width="48px"
|
||||
alt="{{ event.get_sport_display }}" title="{{ event.get_sport_display }}">
|
||||
<span class="hidden">{{ event.get_sport_display }}</span>
|
||||
<span class="hidden">{{ event.get_level_display }}</span>
|
||||
{% endwith %}
|
||||
{% endwith %}
|
||||
</div>
|
||||
@@ -126,33 +127,36 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<script type="text/javascript">
|
||||
function filter_sport(table, sport) {
|
||||
const choices = ["All", "B", "K", "M", "S", "W"];
|
||||
var search = sport;
|
||||
function filter_table(table, sport, level) {
|
||||
const sport_choices = ["B", "K", "M", "S", "W"];
|
||||
const level_choices = ["beginner", "advanced", "family"];
|
||||
|
||||
for(let i in choices) {
|
||||
if(sport != choices[i])
|
||||
$("#btn-filter-" + choices[i]).addClass("btn-white");
|
||||
if(sport != "*")
|
||||
$("#btn-filter-" + sport).removeClass("btn-white");
|
||||
if(level != "*")
|
||||
$("#btn-filter-" + level).removeClass("btn-white");
|
||||
|
||||
if(sport == "*" && level == "*")
|
||||
$("#btn-filter-All").removeClass("btn-white");
|
||||
else
|
||||
$("#btn-filter-All").addClass("btn-white");
|
||||
|
||||
for(let i in sport_choices) {
|
||||
if(sport != sport_choices[i])
|
||||
$("#btn-filter-" + sport_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");
|
||||
for(let i in level_choices) {
|
||||
if(level != level_choices[i])
|
||||
$("#btn-filter-" + level_choices[i]).addClass("btn-white");
|
||||
}
|
||||
$("#btn-filter-" + level).removeClass("btn-white");
|
||||
|
||||
if(level == "All")
|
||||
search = "";
|
||||
table.column(1).search(search).draw();
|
||||
if(sport == "*")
|
||||
sport = ""
|
||||
table.column(0).search(sport).draw();
|
||||
|
||||
if(level == "*")
|
||||
level = ""
|
||||
table.column(1).search(level).draw();
|
||||
};
|
||||
$(document).ready( function () {
|
||||
var table = $("#objects_table").DataTable( {
|
||||
@@ -169,38 +173,31 @@
|
||||
}
|
||||
} );
|
||||
$("#btn-filter-All").on("click", function() {
|
||||
filter_sport(table, "All");
|
||||
filter_level(table, "All");
|
||||
filter_table(table, "*", "*");
|
||||
} );
|
||||
$("#btn-filter-B").on("click", function() {
|
||||
filter_level(table, "All");
|
||||
filter_sport(table, "B");
|
||||
filter_table(table, "B", "*")
|
||||
} );
|
||||
$("#btn-filter-K").on("click", function() {
|
||||
filter_level(table, "All");
|
||||
filter_sport(table, "K");
|
||||
filter_table(table, "K", "*")
|
||||
} );
|
||||
$("#btn-filter-M").on("click", function() {
|
||||
filter_level(table, "All");
|
||||
filter_sport(table, "M");
|
||||
filter_table(table, "M", "*")
|
||||
} );
|
||||
$("#btn-filter-S").on("click", function() {
|
||||
filter_level(table, "All");
|
||||
filter_sport(table, "S");
|
||||
filter_table(table, "S", "*")
|
||||
} );
|
||||
$("#btn-filter-W").on("click", function() {
|
||||
filter_level(table, "All");
|
||||
filter_sport(table, "W");
|
||||
filter_table(table, "W", "*")
|
||||
} );
|
||||
$("#btn-filter-family").on("click", function() {
|
||||
filter_sport(table, "All");
|
||||
filter_level(table, "family");
|
||||
filter_table(table, "*", "family")
|
||||
} );
|
||||
$("#searchfield").on( "keyup change", function() {
|
||||
table.column(2).search( this.value ).draw();
|
||||
} );
|
||||
$("#objects_table_filter").hide();
|
||||
filter_sport(table, "{{ init_sport_filter|default:'All' }}");
|
||||
filter_table(table, "{{ init_sport_filter|default:'*' }}", "{{ init_level_filter|default:'*' }}");
|
||||
} );
|
||||
</script>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user