public static void AddBreadcrumbs(this IServiceCollection services, Assembly assembly, Action <BreadcrumbOptions> optionsSetter) { var options = new BreadcrumbOptions(); optionsSetter.Invoke(options); AddBreadcrumbs(services, assembly, options); }
public BreadcrumbProvider(ISitemapNodeRepository sitemapNodeRepository, IMatchSitemapNode matchSitemapNode, IOptions <BreadcrumbOptions> breadcrumbOptions, IMemoryCache memoryCache, ILogger <BreadcrumbProvider> logger) { _sitemapNodeRepository = sitemapNodeRepository; _matchSitemapNode = matchSitemapNode; _breadcrumbOptions = breadcrumbOptions.Value; _memoryCache = memoryCache; _logger = logger; }
public void ExtractMvcControllerKey_ShouldReturnCorrectValue(Type fromController, string expectedKey) { var defaultAction = new BreadcrumbOptions().DefaultAction; Assert.Equal($"{expectedKey}.{defaultAction}", fromController.ExtractMvcControllerKey()); }
private static void AddBreadcrumbs(IServiceCollection services, Assembly assembly, BreadcrumbOptions options) { var bm = new BreadcrumbManager(options); bm.Initialize(assembly); services.AddSingleton(bm); services.TryAddSingleton <IActionContextAccessor, ActionContextAccessor>(); }
public static void ConfigureWebSite(this IServiceCollection services, Assembly assembly, BreadcrumbOptions breadCrumbOptions = null) { services.AddBreadcrumbs(assembly, options => { options.TagName = breadCrumbOptions?.TagName ?? "nav"; options.TagClasses = breadCrumbOptions?.TagClasses ?? string.Empty; options.OlClasses = breadCrumbOptions?.OlClasses ?? "breadcrumb float-sm-right"; options.LiClasses = breadCrumbOptions?.LiClasses ?? "breadcrumb-item"; options.ActiveLiClasses = breadCrumbOptions?.ActiveLiClasses ?? "breadcrumb-item active"; options.SeparatorElement = breadCrumbOptions?.SeparatorElement ?? string.Empty; }); }