From 22608e952bcce465fbd15ae778bc0e0e877f57ae Mon Sep 17 00:00:00 2001 From: Nicholas Mayne Date: Sun, 22 Jun 2014 23:42:43 +0100 Subject: [PATCH] Adding a Show/Hide all to Widgets view. --- .../Views/WidgetLayerVisibility.cshtml | 35 ++++++++++++++----- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Views/WidgetLayerVisibility.cshtml b/src/Orchard.Web/Modules/Orchard.Widgets/Views/WidgetLayerVisibility.cshtml index 8ccfbf7f3..876d9aaf9 100644 --- a/src/Orchard.Web/Modules/Orchard.Widgets/Views/WidgetLayerVisibility.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Widgets/Views/WidgetLayerVisibility.cshtml @@ -15,7 +15,7 @@ } @using(Script.Foot()) { @@ -30,7 +30,7 @@ ]; var visWrapper = $("#widgets-layer-visibility"); var visContainer = $(""); - + var widgetPlacement = $("#widgets-zones"); for (var i = 0; i < layers.length; i++) { var layersWidgets = widgetPlacement.find(".widgets-layer-" + layers[i].id); @@ -39,11 +39,10 @@ if (layersWidgets.length > 0) { layer = $("
  • " + layers[i].name + "
  • "); layer.data("widgets", layersWidgets); - layersWidgets.each(function(){ + layersWidgets.each(function() { $(this).data("widgets-vis-control", layer); }); - } - else { + } else { layer = $("
  • " + layers[i].name + " [empty]
  • "); } @@ -54,19 +53,39 @@ _this.toggleClass("off"); if (_this.hasClass("off")) { _this.data("widgets").hide(); - } - else { + } else { _this.data("widgets").show(); } }); $(document).on("hover", "#widgets-layer-visibility .widgets-other-layer", function() { $(this).data("widgets").toggleClass("on"); }); - $(document).on("hover", "#widgets-zones .widgets-other-layer", function() { + $(document).on("hover", "#widgets-zones .widgets-other-layer", function() { var layer = $(this).data("widgets-vis-control"); layer.toggleClass("on"); layer.data("widgets").toggleClass("on"); }); + $(document).on("click", "#widgets-layer-visibility-toggle-all", function() { + var showAllText = "@T("Show All")"; + var isShowAll = ($("#widgets-layer-visibility-toggle-all").text() == showAllText); + + var layers = $("#widgets-layer-visibility .widgets-other-layer"); + for (var i = 0; i < layers.length; i++) { + var _this = $(layers[i]); + if (isShowAll) { + _this.removeClass("off"); + _this.data("widgets").show(); + } else { + _this.addClass("off"); + _this.data("widgets").hide(); + } + } + if (isShowAll) { + $("#widgets-layer-visibility-toggle-all").text("@T("Hide All")"); + } else { + $("#widgets-layer-visibility-toggle-all").text(showAllText); + } + }); visWrapper.append(visContainer); })(jQuery);