From 4d594e17aafa01a07a105a038f6431b50195f15e Mon Sep 17 00:00:00 2001 From: elitsa Date: Wed, 31 Oct 2018 13:40:23 +0100 Subject: [PATCH 1/4] Adding a check to verify if there are any children which will resolve the problem with showing a right-pointing arrow in front of empty trees in the Settings section. --- src/Umbraco.Web/Trees/ContentBlueprintTreeController.cs | 3 +++ src/Umbraco.Web/Trees/FileSystemTreeController.cs | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/src/Umbraco.Web/Trees/ContentBlueprintTreeController.cs b/src/Umbraco.Web/Trees/ContentBlueprintTreeController.cs index 5b45888dca..f3be39b6f8 100644 --- a/src/Umbraco.Web/Trees/ContentBlueprintTreeController.cs +++ b/src/Umbraco.Web/Trees/ContentBlueprintTreeController.cs @@ -32,6 +32,9 @@ namespace Umbraco.Web.Trees //this will load in a custom UI instead of the dashboard for the root node root.RoutePath = $"{Constants.Applications.Settings}/{Constants.Trees.ContentBlueprints}/intro"; + //check if there are any content blueprints + root.HasChildren = Services.ContentService.GetBlueprintsForContentTypes().Any(); + return root; } protected override TreeNodeCollection GetTreeNodes(string id, FormDataCollection queryStrings) diff --git a/src/Umbraco.Web/Trees/FileSystemTreeController.cs b/src/Umbraco.Web/Trees/FileSystemTreeController.cs index 21e81a58af..33c5c360b2 100644 --- a/src/Umbraco.Web/Trees/FileSystemTreeController.cs +++ b/src/Umbraco.Web/Trees/FileSystemTreeController.cs @@ -74,6 +74,14 @@ namespace Umbraco.Web.Trees return nodes; } + protected override TreeNode CreateRootNode(FormDataCollection queryStrings) + { + var root = base.CreateRootNode(queryStrings); + //check if there are any children + root.HasChildren = GetTreeNodes(Constants.System.Root.ToInvariantString(), queryStrings).Any(); + return root; + } + protected virtual MenuItemCollection GetMenuForRootNode(FormDataCollection queryStrings) { var menu = new MenuItemCollection(); From b9e30604a4f5fc667fb2ba0c1abff628ad943157 Mon Sep 17 00:00:00 2001 From: elitsa Date: Sun, 4 Nov 2018 22:54:25 +0100 Subject: [PATCH 2/4] Fix for chekcing the children belonging to Templates tree. --- src/Umbraco.Web/Trees/TemplatesTreeController.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Umbraco.Web/Trees/TemplatesTreeController.cs b/src/Umbraco.Web/Trees/TemplatesTreeController.cs index 2339d92d96..a84baa76c4 100644 --- a/src/Umbraco.Web/Trees/TemplatesTreeController.cs +++ b/src/Umbraco.Web/Trees/TemplatesTreeController.cs @@ -25,6 +25,14 @@ namespace Umbraco.Web.Trees [CoreTree(TreeGroup = Constants.Trees.Groups.Templating)] public class TemplatesTreeController : TreeController, ISearchableTree { + protected override TreeNode CreateRootNode(FormDataCollection queryStrings) + { + var root = base.CreateRootNode(queryStrings); + //check if there are any templates + root.HasChildren = Services.MacroService.GetAll().Any(); + return root; + } + /// /// The method called to render the contents of the tree structure /// From 666a78f80381f2c8e3e8117791dd338a8b096d85 Mon Sep 17 00:00:00 2001 From: elitsa Date: Mon, 5 Nov 2018 10:36:17 +0100 Subject: [PATCH 3/4] Fix for getting the right collection. --- src/Umbraco.Web/Trees/TemplatesTreeController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web/Trees/TemplatesTreeController.cs b/src/Umbraco.Web/Trees/TemplatesTreeController.cs index a84baa76c4..3fc005d670 100644 --- a/src/Umbraco.Web/Trees/TemplatesTreeController.cs +++ b/src/Umbraco.Web/Trees/TemplatesTreeController.cs @@ -29,7 +29,7 @@ namespace Umbraco.Web.Trees { var root = base.CreateRootNode(queryStrings); //check if there are any templates - root.HasChildren = Services.MacroService.GetAll().Any(); + root.HasChildren = Services.FileService.GetTemplates(-1).Any(); return root; } From 2b33c5cfd75fc979f259a2eceab3f5ff5a8ae191 Mon Sep 17 00:00:00 2001 From: elitsa Date: Mon, 5 Nov 2018 10:46:50 +0100 Subject: [PATCH 4/4] Fix for chekcing the children belonging to MemberType tree. --- src/Umbraco.Web/Trees/MemberTypeTreeController.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web/Trees/MemberTypeTreeController.cs b/src/Umbraco.Web/Trees/MemberTypeTreeController.cs index 77eb6e0b24..7bf04010f2 100644 --- a/src/Umbraco.Web/Trees/MemberTypeTreeController.cs +++ b/src/Umbraco.Web/Trees/MemberTypeTreeController.cs @@ -7,11 +7,18 @@ using Umbraco.Web.WebApi.Filters; namespace Umbraco.Web.Trees { - [CoreTree(TreeGroup =Constants.Trees.Groups.Settings)] + [CoreTree(TreeGroup = Constants.Trees.Groups.Settings)] [UmbracoTreeAuthorize(Constants.Trees.MemberTypes)] [Tree(Constants.Applications.Settings, Constants.Trees.MemberTypes, null, sortOrder: 2)] public class MemberTypeTreeController : MemberTypeAndGroupTreeControllerBase { + protected override TreeNode CreateRootNode(FormDataCollection queryStrings) + { + var root = base.CreateRootNode(queryStrings); + //check if there are any member types + root.HasChildren = Services.MemberTypeService.GetAll().Any(); + return root; + } protected override IEnumerable GetTreeNodesFromService(string id, FormDataCollection queryStrings) { return Services.MemberTypeService.GetAll()