From f2e1978ddbcef6cbcce837689d4f1ba17c8bb558 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Tue, 29 Jan 2019 20:55:38 +0100 Subject: [PATCH] Support start node IDs for media picker in infinite editing --- .../prevalueeditors/mediapicker.controller.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/mediapicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/mediapicker.controller.js index cacb6f8a3f..89878e3750 100644 --- a/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/mediapicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/mediapicker.controller.js @@ -1,6 +1,6 @@ //this controller simply tells the dialogs service to open a mediaPicker window //with a specified callback, this callback will receive an object with a selection on it -function mediaPickerController($scope, entityResource, iconHelper, editorService) { +function mediaPickerController($scope, entityResource, iconHelper, editorService, angularHelper) { function trim(str, chr) { var rgxtrim = (!chr) ? new RegExp('^\\s+|\\s+$', 'g') : new RegExp('^' + chr + '+|' + chr + '+$', 'g'); @@ -50,10 +50,12 @@ function mediaPickerController($scope, entityResource, iconHelper, editorService $scope.remove =function(index){ $scope.renderModel.splice(index, 1); + syncModelValue(); }; $scope.clear = function() { $scope.renderModel = []; + syncModelValue(); }; $scope.add = function (item) { @@ -76,19 +78,17 @@ function mediaPickerController($scope, entityResource, iconHelper, editorService }); } + + syncModelValue(); }; - var unsubscribe = $scope.$on("formSubmitting", function (ev, args) { + function syncModelValue() { var currIds = _.map($scope.renderModel, function (i) { return dialogOptions.idType === "udi" ? i.udi : i.id; }); $scope.model.value = trim(currIds.join(), ","); - }); - - //when the scope is destroyed we need to unsubscribe - $scope.$on('$destroy', function () { - unsubscribe(); - }); + angularHelper.getCurrentForm($scope).$setDirty(); + } //load media data var modelIds = $scope.model.value ? $scope.model.value.split(',') : [];