From faf4320eb53a64ecb3229f5df4b3e45199333482 Mon Sep 17 00:00:00 2001 From: Warren Buckley Date: Thu, 4 Aug 2022 10:21:36 +0100 Subject: [PATCH] Add new UmbracoBuiilder extension methods to discover and set an IUmbracoTreeSearcherFields (#12751) --- .../WebsiteUmbracoBuilderExtensions.cs | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/Umbraco.Web.Website/Extensions/WebsiteUmbracoBuilderExtensions.cs b/src/Umbraco.Web.Website/Extensions/WebsiteUmbracoBuilderExtensions.cs index ecc58e6a6c..6229aaceb6 100644 --- a/src/Umbraco.Web.Website/Extensions/WebsiteUmbracoBuilderExtensions.cs +++ b/src/Umbraco.Web.Website/Extensions/WebsiteUmbracoBuilderExtensions.cs @@ -1,5 +1,6 @@ using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Routing; +using Umbraco.Cms.Infrastructure.Examine; namespace Umbraco.Extensions; @@ -84,5 +85,41 @@ public static class WebsiteUmbracoBuilderExtensions return builder; } + /// + /// Sets the UmbracoTreeSearcherFields to change fields that can be searched in the backoffice. + /// + /// The type of the Umbraco tree searcher fields. + /// The builder. + public static IUmbracoBuilder SetTreeSearcherFields(this IUmbracoBuilder builder) + where T : class, IUmbracoTreeSearcherFields + { + builder.Services.AddUnique(); + return builder; + } + + /// + /// Sets the UmbracoTreeSearcherFields to change fields that can be searched in the backoffice. + /// + /// The builder. + /// A function creating a TreeSearcherFields + public static IUmbracoBuilder SetTreeSearcherFields( + this IUmbracoBuilder builder, + Func factory) + { + builder.Services.AddUnique(factory); + return builder; + } + + /// + /// Sets the UmbracoTreeSearcherFields to change fields that can be searched in the backoffice. + /// + /// The builder. + /// An UmbracoTreeSearcherFields. + public static IUmbracoBuilder SetTreeSearcherFields(this IUmbracoBuilder builder, IUmbracoTreeSearcherFields treeSearcherFields) + { + builder.Services.AddUnique(treeSearcherFields); + return builder; + } + #endregion }