From c8a92434af48a16c993298fe0a45c58e0edc4f08 Mon Sep 17 00:00:00 2001 From: Per Ploug Date: Thu, 15 Dec 2016 13:55:26 +0100 Subject: [PATCH] Fixes issue with inserting macros + updates the dialog ui --- .../macropicker/macropicker.controller.js | 19 +++++++-- .../overlays/macropicker/macropicker.html | 42 ++++++++++++++----- 2 files changed, 47 insertions(+), 14 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/macropicker/macropicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/overlays/macropicker/macropicker.controller.js index e46bd26513..69f9851926 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/macropicker/macropicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/macropicker/macropicker.controller.js @@ -7,15 +7,19 @@ function MacroPickerController($scope, entityResource, macroResource, umbPropEdi $scope.macros = []; $scope.model.selectedMacro = null; - $scope.wizardStep = "macroSelect"; $scope.model.macroParams = []; + + $scope.wizardStep = "macroSelect"; $scope.noMacroParams = false; - $scope.changeMacro = function() { + $scope.selectMacro = function (macro) { + + $scope.model.selectedMacro = macro; + if ($scope.wizardStep === "macroSelect") { editParams(); } else { - submitForm(); + $scope.model.submit($scope.model); } }; @@ -25,12 +29,15 @@ function MacroPickerController($scope, entityResource, macroResource, umbPropEdi macroResource.getMacroParameters($scope.model.selectedMacro.id) .then(function (data) { + + //go to next page if there are params otherwise we can just exit if (!angular.isArray(data) || data.length === 0) { - $scope.noMacroParams = true; + $scope.model.submit($scope.model); } else { + $scope.wizardStep = "paramSelect"; $scope.model.macroParams = data; @@ -83,6 +90,10 @@ function MacroPickerController($scope, entityResource, macroResource, umbPropEdi entityResource.getAll("Macro", ($scope.model.dialogData && $scope.model.dialogData.richTextEditor && $scope.model.dialogData.richTextEditor === true) ? "UseInEditor=true" : null) .then(function (data) { + if (angular.isArray(data) && data.length == 0) { + $scope.nomacros = true; + } + //if 'allowedMacros' is specified, we need to filter if (angular.isArray($scope.model.dialogData.allowedMacros) && $scope.model.dialogData.allowedMacros.length > 0) { $scope.macros = _.filter(data, function(d) { diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/macropicker/macropicker.html b/src/Umbraco.Web.UI.Client/src/views/common/overlays/macropicker/macropicker.html index 318fed41a8..418e6b5ca6 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/macropicker/macropicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/macropicker/macropicker.html @@ -2,17 +2,39 @@
- - - - +
+ + + + + + + + There are no macros available to insert + + + +