Make member types searchable

This commit is contained in:
Kenn Jacobsen
2019-10-27 21:35:26 +01:00
parent 4153cfe78f
commit f6aee731fc

View File

@@ -2,7 +2,10 @@
using System.Linq; using System.Linq;
using System.Net.Http.Formatting; using System.Net.Http.Formatting;
using Umbraco.Core; using Umbraco.Core;
using Umbraco.Core.Models;
using Umbraco.Web.Models.ContentEditing;
using Umbraco.Web.Models.Trees; using Umbraco.Web.Models.Trees;
using Umbraco.Web.Search;
using Umbraco.Web.WebApi.Filters; using Umbraco.Web.WebApi.Filters;
namespace Umbraco.Web.Trees namespace Umbraco.Web.Trees
@@ -10,8 +13,15 @@ namespace Umbraco.Web.Trees
[CoreTree] [CoreTree]
[UmbracoTreeAuthorize(Constants.Trees.MemberTypes)] [UmbracoTreeAuthorize(Constants.Trees.MemberTypes)]
[Tree(Constants.Applications.Settings, Constants.Trees.MemberTypes, SortOrder = 2, TreeGroup = Constants.Trees.Groups.Settings)] [Tree(Constants.Applications.Settings, Constants.Trees.MemberTypes, SortOrder = 2, TreeGroup = Constants.Trees.Groups.Settings)]
public class MemberTypeTreeController : MemberTypeAndGroupTreeControllerBase public class MemberTypeTreeController : MemberTypeAndGroupTreeControllerBase, ISearchableTree
{ {
private readonly UmbracoTreeSearcher _treeSearcher;
public MemberTypeTreeController(UmbracoTreeSearcher treeSearcher)
{
_treeSearcher = treeSearcher;
}
protected override TreeNode CreateRootNode(FormDataCollection queryStrings) protected override TreeNode CreateRootNode(FormDataCollection queryStrings)
{ {
var root = base.CreateRootNode(queryStrings); var root = base.CreateRootNode(queryStrings);
@@ -25,5 +35,9 @@ namespace Umbraco.Web.Trees
.OrderBy(x => x.Name) .OrderBy(x => x.Name)
.Select(dt => CreateTreeNode(dt, Constants.ObjectTypes.MemberType, id, queryStrings, Constants.Icons.MemberType, false)); .Select(dt => CreateTreeNode(dt, Constants.ObjectTypes.MemberType, id, queryStrings, Constants.Icons.MemberType, false));
} }
public IEnumerable<SearchResultEntity> Search(string query, int pageSize, long pageIndex, out long totalFound, string searchFrom = null)
=> _treeSearcher.EntitySearch(UmbracoObjectTypes.MemberType, query, pageSize, pageIndex, out totalFound, searchFrom);
} }
} }