|
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