From 1fd98dba30aff6183ec6c82613a7a2ac8b2f72ea Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 18 Jan 2017 14:50:51 +0100 Subject: [PATCH] make launch mini editor service return a promise so we can update a node when it is saved --- .../src/common/services/minieditorhelper.service.js | 12 +++++++++++- .../contentpicker/contentpicker.controller.js | 11 ++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/services/minieditorhelper.service.js b/src/Umbraco.Web.UI.Client/src/common/services/minieditorhelper.service.js index 9c974f9ca9..693457c7e8 100644 --- a/src/Umbraco.Web.UI.Client/src/common/services/minieditorhelper.service.js +++ b/src/Umbraco.Web.UI.Client/src/common/services/minieditorhelper.service.js @@ -1,12 +1,14 @@ (function () { 'use strict'; - function miniEditorHelper(dialogService, editorState, fileManager, contentEditingHelper) { + function miniEditorHelper(dialogService, editorState, fileManager, contentEditingHelper, $q) { var launched = false; function launchMiniEditor(node) { + var deferred = $q.defer(); + launched = true; //We need to store the current files selected in the file manager locally because the fileManager @@ -47,6 +49,9 @@ } launched = false; + + deferred.resolve(data); + }, closeCallback: function () { //reset the fileManager to what it was @@ -59,9 +64,14 @@ editorState.set(currEditorState); launched = false; + + deferred.reject(); + } }); + return deferred.promise; + } var service = { diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/contentpicker/contentpicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/contentpicker/contentpicker.controller.js index d39027e014..ba29b92477 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/contentpicker/contentpicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/contentpicker/contentpicker.controller.js @@ -213,7 +213,16 @@ function contentPickerController($scope, entityResource, editorState, iconHelper }; $scope.openMiniEditor = function(node) { - miniEditorHelper.launchMiniEditor(node); + miniEditorHelper.launchMiniEditor(node).then(function(updatedNode){ + // update the node + node.name = updatedNode.name; + node.published = updatedNode.hasPublishedVersion; + if(entityType !== "Member") { + entityResource.getUrl(updatedNode.id, entityType).then(function(data){ + node.url = data; + }); + } + }); }; var unsubscribe = $scope.$on("formSubmitting", function (ev, args) {