From 8bab9d7fa5bc5ad9a76e953dce2ee1081b6b6a66 Mon Sep 17 00:00:00 2001 From: sebastiaan Date: Tue, 4 Sep 2012 14:27:54 -0200 Subject: [PATCH] Added node path to be able to refresh the tree + refreshing the tree after an upload succeeds --- .../FolderBrowser/Js/folderbrowser.js | 5 +++++ src/Umbraco.Web/UI/Controls/FolderBrowser.cs | 3 +++ .../umbraco/webservices/MediaUploader.ashx.cs | 15 +++++++++++---- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI/umbraco_client/FolderBrowser/Js/folderbrowser.js b/src/Umbraco.Web.UI/umbraco_client/FolderBrowser/Js/folderbrowser.js index 949620a015..4df0457162 100644 --- a/src/Umbraco.Web.UI/umbraco_client/FolderBrowser/Js/folderbrowser.js +++ b/src/Umbraco.Web.UI/umbraco_client/FolderBrowser/Js/folderbrowser.js @@ -34,6 +34,7 @@ Umbraco.Sys.registerNamespace("Umbraco.Controls"); _el: null, _elId: null, _parentId: null, + _nodePath: null, _opts: null, _viewModel: null, @@ -239,6 +240,7 @@ Umbraco.Sys.registerNamespace("Umbraco.Controls"); switch (data.status) { case 'success': self._viewModel.queued.remove(data.context); + UmbClientMgr.mainTree().syncTree(self._nodePath.toString(), true); break; case 'error': data.context.message(data.message); @@ -397,6 +399,9 @@ Umbraco.Sys.registerNamespace("Umbraco.Controls"); // Grab parent id from element self._parentId = $(el).data("parentid"); + + // Grab node path from element + self._nodePath = $(el).data("nodepath"); // Merge options with default self._opts = $.extend({ diff --git a/src/Umbraco.Web/UI/Controls/FolderBrowser.cs b/src/Umbraco.Web/UI/Controls/FolderBrowser.cs index a6fa41985c..f259cc9c7a 100644 --- a/src/Umbraco.Web/UI/Controls/FolderBrowser.cs +++ b/src/Umbraco.Web/UI/Controls/FolderBrowser.cs @@ -107,6 +107,9 @@ namespace Umbraco.Web.UI.Controls } sb.Append(""); + // Path for tree refresh + Panel.Attributes.Add("data-nodepath", ParentNode.Path); + // Create size changer sb.Append("
" + "" + diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/webservices/MediaUploader.ashx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/webservices/MediaUploader.ashx.cs index e2dc9302e3..87e7c08fa4 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/webservices/MediaUploader.ashx.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/webservices/MediaUploader.ashx.cs @@ -8,8 +8,10 @@ using System.Web; using System.Web.Configuration; using System.Web.Script.Serialization; using System.Web.Security; +using System.Web.UI; using System.Xml; using System.Xml.Serialization; +using umbraco.BasePages; using umbraco.BusinessLogic; using umbraco.businesslogic.Exceptions; using umbraco.cms.businesslogic.media; @@ -127,12 +129,12 @@ namespace umbraco.presentation.umbraco.webservices { try { - // Check Path + var parentNode = new Media(parentNodeId); + // Check FilePath if (!string.IsNullOrEmpty(context.Request["path"])) { var pathParts = context.Request["path"].Trim('/').Split('/'); - - var parentNode = new Media(parentNodeId); + foreach (var pathPart in pathParts) { if (!string.IsNullOrEmpty(pathPart)) @@ -174,6 +176,9 @@ namespace umbraco.presentation.umbraco.webservices } } + var scripts = new ClientTools(new Page()); + scripts.SyncTree(parentNode.Path, true); + // log succes Log.Add(LogTypes.New, parentNodeId, "Succes"); } @@ -188,7 +193,9 @@ namespace umbraco.presentation.umbraco.webservices // log error Log.Add(LogTypes.Error, -1, "Parent node id is in incorrect format"); } - + + + return new UploadResponse(); }