|  | 
| 702 | 702 | 
 | 
| 703 | 703 |                 $("a", el).click(function() | 
| 704 | 704 |                 { | 
| 705 |  | -                    var checkbox = $(this).find("input"); | 
| 706 | 705 |                     var item = $(this).parents("li"); | 
| 707 | 706 | 
 | 
| 708 |  | -                    var filter = checkbox.data("griddly-filter"); | 
| 709 |  | - | 
| 710 |  | -                    if (filter.data("griddly-filter-ismultiple")) | 
|  | 707 | +                    if (item.hasClass("griddly-list-group-header")) | 
| 711 | 708 |                     { | 
| 712 |  | -                        item.toggleClass("griddly-filter-selected"); | 
|  | 709 | +                        var children = item.nextUntil(".griddly-list-group-header"); | 
|  | 710 | + | 
|  | 711 | +                        if (children.length != children.filter(".griddly-filter-selected").length) | 
|  | 712 | +                        { | 
|  | 713 | +                            item.addClass("griddly-filter-selected"); | 
|  | 714 | + | 
|  | 715 | +                            children.addClass("griddly-filter-selected"); | 
|  | 716 | +                            children.find("input").prop("checked", true).first().change(); | 
|  | 717 | +                        } | 
|  | 718 | +                        else | 
|  | 719 | +                        { | 
|  | 720 | +                            item.removeClass("griddly-filter-selected"); | 
| 713 | 721 | 
 | 
| 714 |  | -                        checkbox.prop("checked", item.hasClass("griddly-filter-selected")).change(); | 
|  | 722 | +                            children.removeClass("griddly-filter-selected"); | 
|  | 723 | +                            children.find("input").prop("checked", false).first().change(); | 
|  | 724 | +                        } | 
| 715 | 725 |                     } | 
| 716 | 726 |                     else | 
| 717 | 727 |                     { | 
| 718 |  | -                        var content = filter.data("griddly-filter-content"); | 
|  | 728 | +                        var checkbox = $(this).find("input"); | 
|  | 729 | + | 
|  | 730 | +                        var filter = checkbox.data("griddly-filter"); | 
|  | 731 | + | 
|  | 732 | +                        if (filter.data("griddly-filter-ismultiple")) | 
|  | 733 | +                        { | 
|  | 734 | +                            item.toggleClass("griddly-filter-selected"); | 
|  | 735 | + | 
|  | 736 | +                            checkbox.prop("checked", item.hasClass("griddly-filter-selected")).change(); | 
|  | 737 | +                        } | 
|  | 738 | +                        else | 
|  | 739 | +                        { | 
|  | 740 | +                            var content = filter.data("griddly-filter-content"); | 
| 719 | 741 | 
 | 
| 720 |  | -                        content.find(".dropdown-menu li:not(.griddly-list-group-header)").not(item).removeClass("griddly-filter-selected"); | 
| 721 |  | -                        content.find("input").not(checkbox).prop("checked", false); | 
|  | 742 | +                            content.find(".dropdown-menu li:not(.griddly-list-group-header)").not(item).removeClass("griddly-filter-selected"); | 
|  | 743 | +                            content.find("input").not(checkbox).prop("checked", false); | 
| 722 | 744 | 
 | 
| 723 |  | -                        item.addClass("griddly-filter-selected"); | 
| 724 |  | -                        checkbox.prop("checked", true).change(); | 
|  | 745 | +                            item.addClass("griddly-filter-selected"); | 
|  | 746 | +                            checkbox.prop("checked", true).change(); | 
|  | 747 | +                        } | 
| 725 | 748 |                     } | 
| 726 | 749 |                 }); | 
| 727 | 750 |             }, this)); | 
|  | 
| 730 | 753 |             { | 
| 731 | 754 |                 var self = this; | 
| 732 | 755 | 
 | 
|  | 756 | +                var checkbox = $(el).parents(".filter-content").find("input:first"); | 
|  | 757 | +                var filter = checkbox.data("griddly-filter"); | 
|  | 758 | + | 
|  | 759 | +                var selector = ".dropdown-menu li" + (!filter.data("griddly-filter-ismultiple") ? ":not(.griddly-list-group-header)" : ""); | 
|  | 760 | + | 
| 733 | 761 |                 $(el).click(function () | 
| 734 | 762 |                 { | 
| 735 |  | -                    $(this).parents(".filter-content").find(".dropdown-menu li:not(.griddly-list-group-header)").addClass("griddly-filter-selected"); | 
|  | 763 | +                    $(this).parents(".filter-content").find(selector).addClass("griddly-filter-selected"); | 
| 736 | 764 |                     $(this).parents(".filter-content").find("input").prop("checked", true).first().change(); | 
| 737 | 765 |                 }); | 
| 738 | 766 |             }, this)); | 
|  | 
| 741 | 769 |             { | 
| 742 | 770 |                 var self = this; | 
| 743 | 771 | 
 | 
|  | 772 | +                var checkbox = $(el).parents(".filter-content").find("input:first"); | 
|  | 773 | +                var filter = checkbox.data("griddly-filter"); | 
|  | 774 | + | 
|  | 775 | +                var selector = ".dropdown-menu li" + (!filter.data("griddly-filter-ismultiple") ? ":not(.griddly-list-group-header)" : ""); | 
|  | 776 | + | 
| 744 | 777 |                 $(el).click(function () | 
| 745 | 778 |                 { | 
| 746 |  | -                    $(this).parents(".filter-content").find(".dropdown-menu li:not(.griddly-list-group-header)").removeClass("griddly-filter-selected"); | 
|  | 779 | +                    $(this).parents(".filter-content").find(selector).removeClass("griddly-filter-selected"); | 
| 747 | 780 |                     $(this).parents(".filter-content").find("input").prop("checked", false).first().change(); | 
| 748 | 781 |                 }); | 
| 749 | 782 |             }, this)); | 
|  | 
0 commit comments