diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Scripts/audit-trail-admin.js b/src/Orchard.Web/Modules/Orchard.AuditTrail/Scripts/audit-trail-admin.js index 0b8b47007..acd8577a1 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Scripts/audit-trail-admin.js +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Scripts/audit-trail-admin.js @@ -1,10 +1,44 @@ (function($) { - // Initialize Expando control - $(".expando-wrapper legend").expandoControl( - function (controller) { - return controller.nextAll(".expando"); - }, { - collapse: true, - remember: true + + var initExpandoControl = function() { + // Initialize Expando control + $(".expando-wrapper legend").expandoControl( + function(controller) { + return controller.nextAll(".expando"); + }, { + collapse: true, + remember: true + }); + }; + + var initCheckAll = function() { + // Check all / uncheck all. + $("table.check-all").each(function() { + var table = $(this); + var controller = table.find("thead input[type=\"checkbox\"]"); + var checkboxes = table.find("tbody input[type=\"checkbox\"]"); + + var updateController = function () { + var allChecked = checkboxes.filter(":not(:checked)").length == 0; + controller.prop("checked", allChecked); + } + + table.on("change", "thead input[type=\"checkbox\"]", function() { + var isChecked = $(this).is(":checked"); + checkboxes.prop("checked", isChecked); + }); + + table.on("change", "tbody input[type=\"checkbox\"]", function () { + updateController(); + }); + + updateController(); }); + }; + + $(function() { + initExpandoControl(); + initCheckAll(); + }); + })(jQuery); \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/EditorTemplates/Parts.AuditTrailSettings.cshtml b/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/EditorTemplates/Parts.AuditTrailSettings.cshtml index b1f908713..afc62e66a 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/EditorTemplates/Parts.AuditTrailSettings.cshtml +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Views/EditorTemplates/Parts.AuditTrailSettings.cshtml @@ -1,6 +1,9 @@ @model Orchard.AuditTrail.ViewModels.AuditTrailSettingsViewModel @{ Style.Include("admin.css"); + Script.Require("ShapesBase"); + Script.Include("~/Themes/TheAdmin/scripts/admin.js").AtFoot(); + Script.Include("audit-trail-admin.js").AtFoot(); }