From a6b9380ed6b162894bb76cadf5ea2aadcda5c4a9 Mon Sep 17 00:00:00 2001 From: Julian Leucker <leuckerj@gmail.com> Date: Sun, 29 Nov 2020 17:28:54 +0100 Subject: [PATCH] Write JS code for beautiful multiple select --- .../apps/alsijil/static/js/alsijil/person.js | 36 +++++++++++++++++++ .../alsijil/class_register/person.html | 1 + 2 files changed, 37 insertions(+) create mode 100644 aleksis/apps/alsijil/static/js/alsijil/person.js diff --git a/aleksis/apps/alsijil/static/js/alsijil/person.js b/aleksis/apps/alsijil/static/js/alsijil/person.js new file mode 100644 index 000000000..579b046cc --- /dev/null +++ b/aleksis/apps/alsijil/static/js/alsijil/person.js @@ -0,0 +1,36 @@ +$(document).ready(function () { + $("#select_all_container").show(); + $("#select_all_box").change(function (event) { + if ($(this).is(":checked")) { + $(document).find('input[name="selected_notes"]').prop({ + indeterminate: false, + checked: true, + }); + } else { + $(document).find('input[name="selected_notes"]').prop({ + indeterminate: false, + checked: false, + }); + } + }); + + $('input[name="selected_notes"]').change(function () { + var checked = $(this).is(":checked"); + var indeterminate = false; + $(document).find('input[name="selected_notes"]').each(function () { + if ($(this).is(":checked") !== checked){ + $("#select_all_box").prop({ + indeterminate: true, + }) + indeterminate = true; + return false; + } + }); + if (!(indeterminate)) { + $("#select_all_box").prop({ + indeterminate: false, + checked: checked, + }); + } + }); +}); \ No newline at end of file diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/person.html b/aleksis/apps/alsijil/templates/alsijil/class_register/person.html index b51e911e3..928087adf 100644 --- a/aleksis/apps/alsijil/templates/alsijil/class_register/person.html +++ b/aleksis/apps/alsijil/templates/alsijil/class_register/person.html @@ -8,6 +8,7 @@ {% block extra_head %} <link rel="stylesheet" href="{% static "css/alsijil/person.css" %}"> + <script src="{% static "js/alsijil/person.js" %}" type="text/javascript"></script> {% endblock %} {% block browser_title %}{% blocktrans %}Class register: person{% endblocktrans %}{% endblock %} -- GitLab