summaryrefslogtreecommitdiff
path: root/app/frontend/controls/scripts/CalendarGroupFilter.js
blob: e6c1d738e3dec206d3f683abdf641c9c5c57168f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$(document).on('ready', function() {
    var selectBoxes = $('.selectGroup input.box');
    var selectAllBox = $('.selectAllGroups input.box');
    selectBoxes.on('change', function() {
        var groups = [];
        var allSelected = true;
        $('.selectGroup input.box').each(function() {
            var box = $(this);
            if (box.is(':checked')) {
                groups.push(box.val());
            } else {
                allSelected = false;
            }
        });
        if (allSelected) {
            selectAllBox.prop('checked', true);
        } else {
            selectAllBox.removeAttr('checked');
        }
        $(document).trigger('Application.calendarGroupFilterChanged', {groups: groups});
    });
    selectAllBox.on('change', function() {
        if ($(this).is(':checked')) {
            selectBoxes.prop('checked', true).trigger('change');
        } else {
            selectBoxes.removeAttr('checked').trigger('change');
        }
    });
});