diff --git a/src/Umbraco.Web.UI.Client/src/views/content/overlays/save.controller.js b/src/Umbraco.Web.UI.Client/src/views/content/overlays/save.controller.js
index 308673bf21..1581e5ce1c 100644
--- a/src/Umbraco.Web.UI.Client/src/views/content/overlays/save.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/content/overlays/save.controller.js
@@ -7,14 +7,28 @@
vm.loading = true;
vm.hasPristineVariants = false;
vm.isNew = true;
+ vm.saveAll = false;
vm.changeSelection = changeSelection;
+ vm.changeSaveAllSelection = changeSaveAllSelection;
function changeSelection(variant) {
var firstSelected = _.find(vm.variants, function (v) {
return v.save;
});
$scope.model.disableSubmitButton = !firstSelected; //disable submit button if there is none selected
+ updateSaveAllSelectionStatus();
+ }
+
+ function changeSaveAllSelection(){
+ vm.availableVariants.forEach(variant => {
+ variant.save = vm.saveAll;
+ });
+ $scope.model.disableSubmitButton = !vm.saveAll;
+ }
+
+ function updateSaveAllSelectionStatus(){
+ vm.saveAll = vm.availableVariants.every(x => x.save);
}
function allowUpdate (variant) {
@@ -92,6 +106,8 @@
vm.availableVariants = contentEditingHelper.getSortedVariantsAndSegments(vm.availableVariants);
+ updateSaveAllSelectionStatus();
+
} else {
//disable save button if we have nothing to save
$scope.model.disableSubmitButton = true;
diff --git a/src/Umbraco.Web.UI.Client/src/views/content/overlays/save.html b/src/Umbraco.Web.UI.Client/src/views/content/overlays/save.html
index 9153ae1650..1b564cb0b3 100644
--- a/src/Umbraco.Web.UI.Client/src/views/content/overlays/save.html
+++ b/src/Umbraco.Web.UI.Client/src/views/content/overlays/save.html
@@ -13,6 +13,17 @@
+
+
+
+ Select all variants
+
+
+
diff --git a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js
index c1c91057da..ce04d20ace 100644
--- a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.controller.js
@@ -6,8 +6,10 @@
var vm = this;
vm.loading = true;
vm.selectedVariants = [];
+ vm.sendToPublishAll = false;
vm.changeSelection = changeSelection;
+ vm.changeSendToPublishAllSelection = changeSendToPublishAllSelection;
function onInit() {
@@ -29,8 +31,9 @@
if (vm.availableVariants.length !== 0) {
vm.availableVariants = contentEditingHelper.getSortedVariantsAndSegments(vm.availableVariants);
+ updateSendToPublishAllSelectionStatus();
}
-
+
$scope.model.disableSubmitButton = true;
vm.loading = false;
}
@@ -55,10 +58,39 @@
let firstSelected = vm.variants.find(v => v.save);
$scope.model.disableSubmitButton = !firstSelected;
+ updateSendToPublishAllSelectionStatus();
+ }
+
+ function changeSendToPublishAllSelection(){
+
+ vm.availableVariants.forEach(variant => {
+
+ variant.publish = vm.sendToPublishAll;
+ let foundVariant = vm.selectedVariants.find(x => x.compositeId === variant.compositeId);
+
+ if (foundVariant === undefined) {
+ variant.save = true;
+ vm.selectedVariants.push(variant);
+ } else {
+ if(!vm.sendToPublishAll){
+ variant.save = false;
+ let index = vm.selectedVariants.indexOf(foundVariant);
+ if (index !== -1) {
+ vm.selectedVariants.splice(index, 1);
+ }
+ }
+ }
+ });
+ let firstSelected = vm.variants.find(v => v.save);
+ $scope.model.disableSubmitButton = !firstSelected;
+ }
+
+ function updateSendToPublishAllSelectionStatus(){
+ vm.sendToPublishAll = vm.availableVariants.every(x => x.publish);
}
- function isMandatoryFilter(variant) {
+ function isMandatoryFilter(variant) {
//determine a variant is 'dirty' (meaning it will show up as publish-able) if it's
// * has a mandatory language
// * without having a segment, segments cant be mandatory at current state of code.
diff --git a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html
index b9061a8eb6..4d51ae1c30 100644
--- a/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html
+++ b/src/Umbraco.Web.UI.Client/src/views/content/overlays/sendtopublish.html
@@ -10,6 +10,17 @@
+
+
+
+ Select all variants
+
+
+