diff --git a/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js b/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js
index 6304f4b8a0..6e820e8c33 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js
@@ -397,6 +397,54 @@
}
}
+
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.listViewHelper#selectAllItemsToggle
+ * @methodOf umbraco.services.listViewHelper
+ *
+ * @description
+ * Helper method for toggling the select state on all items.
+ *
+ * @param {Array} items Items to toggle selection on, should be $scope.items
+ * @param {Array} selection Listview selection, available as $scope.selection
+ */
+
+ function selectAllItemsToggle(items, selection) {
+
+ if (!angular.isArray(items)) {
+ return;
+ }
+
+ if (isSelectedAll()) {
+ // unselect all items
+ angular.forEach(items, function (item) {
+ item.selected = false;
+ });
+
+ // reset selection without loosing reference.
+ selection.length = 0;
+
+ } else {
+
+ // reset selection without loosing reference.
+ selection.length = 0;
+
+ // select all items
+ angular.forEach(items, function (item) {
+ var obj = {
+ id: item.id
+ };
+ if (item.key) {
+ obj.key = item.key;
+ }
+ item.selected = true;
+ vm.selection.push(user.id);
+ });
+ }
+
+ }
/**
* @ngdoc method
diff --git a/src/Umbraco.Web.UI.Client/src/views/components/umb-table.html b/src/Umbraco.Web.UI.Client/src/views/components/umb-table.html
index befdd8ee78..cfd9ea2be4 100644
--- a/src/Umbraco.Web.UI.Client/src/views/components/umb-table.html
+++ b/src/Umbraco.Web.UI.Client/src/views/components/umb-table.html
@@ -7,12 +7,16 @@
+ ng-checked="vm.isSelectedAll()"/>
+
+
+