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 e5c09f420e..95b2c64a6f 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 @@ -9,6 +9,10 @@ function mediaPickerController($scope, dialogService, entityResource, $log, icon $scope.renderModel = []; + $scope.allowRemove = true; + $scope.allowEdit = true; + $scope.sortable = false; + var dialogOptions = { multiPicker: false, entityType: "Media", @@ -49,8 +53,7 @@ function mediaPickerController($scope, dialogService, entityResource, $log, icon }; } - $scope.remove =function(index, event){ - event.preventDefault(); + $scope.remove =function(index){ $scope.renderModel.splice(index, 1); }; @@ -66,8 +69,17 @@ function mediaPickerController($scope, dialogService, entityResource, $log, icon return dialogOptions.idType === "udi" ? i.udi : i.id; }); if (currIds.indexOf(itemId) < 0) { + item.icon = iconHelper.convertFromLegacyIcon(item.icon); $scope.renderModel.push({ name: item.name, id: item.id, icon: item.icon, udi: item.udi }); + + // store the index of the new item in the renderModel collection so we can find it again + var itemRenderIndex = $scope.renderModel.length - 1; + // get and update the path for the picked node + entityResource.getUrl(item.id, dialogOptions.entityType).then(function(data){ + $scope.renderModel[itemRenderIndex].path = data; + }); + } }; @@ -88,13 +100,21 @@ function mediaPickerController($scope, dialogService, entityResource, $log, icon if (modelIds.length > 0) { entityResource.getByIds(modelIds, dialogOptions.entityType).then(function (data) { _.each(data, function (item, i) { + item.icon = iconHelper.convertFromLegacyIcon(item.icon); - $scope.renderModel.push({ name: item.name, id: item.id, icon: item.icon, udi: item.udi }); + $scope.renderModel.push({ name: item.name, id: item.id, icon: item.icon, udi: item.udi }); + + // store the index of the new item in the renderModel collection so we can find it again + var itemRenderIndex = $scope.renderModel.length - 1; + // get and update the path for the picked node + entityResource.getUrl(item.id, dialogOptions.entityType).then(function(data){ + $scope.renderModel[itemRenderIndex].path = data; + }); + }); }); } - - + } angular.module('umbraco').controller("Umbraco.PrevalueEditors.MediaPickerController",mediaPickerController); \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/mediapicker.html b/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/mediapicker.html index a902385956..f8d780d3e2 100644 --- a/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/mediapicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/mediapicker.html @@ -1,30 +1,33 @@