From 53d7023b40f354704e171d50ecee6fefe4b529ce Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 7 Dec 2018 15:01:12 +0100 Subject: [PATCH] fix file picker --- .../treepicker/treepicker.controller.js | 6 ----- .../src/views/packages/edit.controller.js | 25 +++++++++++++------ 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/treepicker/treepicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/treepicker/treepicker.controller.js index 002b617f84..1a4cc2b930 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/treepicker/treepicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/treepicker/treepicker.controller.js @@ -1,18 +1,12 @@ //used for the media picker dialog angular.module("umbraco").controller("Umbraco.Editors.TreePickerController", function ($scope, - $q, entityResource, eventsService, - $log, - searchService, angularHelper, $timeout, localizationService, treeService, - contentResource, - mediaResource, - memberResource, languageResource) { //used as the result selection diff --git a/src/Umbraco.Web.UI.Client/src/views/packages/edit.controller.js b/src/Umbraco.Web.UI.Client/src/views/packages/edit.controller.js index 39b23a6853..b1197cb706 100644 --- a/src/Umbraco.Web.UI.Client/src/views/packages/edit.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/packages/edit.controller.js @@ -157,6 +157,9 @@ } function openFilePicker() { + + let selection = angular.copy(vm.package.files); + const filePicker = { title: "Select files", section: "settings", @@ -164,16 +167,22 @@ entityType: "file", multiPicker: true, onlyInitialized: false, - submit: function(model) { - console.log(model.selection); + select: function(node) { + node.selected = !node.selected; - if(model && model.selection) { - vm.package.files = vm.package.files ? vm.package.files : []; - model.selection.forEach(selected => { - vm.package.files.push(selected); - }); + const id = unescape(node.id); + const index = selection.indexOf(id); + + if(node.selected) { + if(index === -1) { + selection.push(id); + } + } else { + selection.splice(index, 1); } - + }, + submit: function() { + vm.package.files = selection; editorService.close(); }, close: function() {