From 86ba6f40828647a2f7c556ff588f7eda58113d0a Mon Sep 17 00:00:00 2001 From: yekalkan Date: Wed, 16 May 2018 05:04:10 +0300 Subject: [PATCH] Breadcrumb tag helper refactoring --- .../AbpBreadcrumbItemTagHelperService.cs | 3 +-- .../Breadcrumb/AbpBreadcrumbTagHelperService.cs | 15 +++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Breadcrumb/AbpBreadcrumbItemTagHelperService.cs b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Breadcrumb/AbpBreadcrumbItemTagHelperService.cs index a1626941dc..c19ac3acd8 100644 --- a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Breadcrumb/AbpBreadcrumbItemTagHelperService.cs +++ b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Breadcrumb/AbpBreadcrumbItemTagHelperService.cs @@ -23,8 +23,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Breadcrumb var list = GetValueFromContext>(context, BreadcrumbItemsContent); output.Content.SetHtmlContent(GetInnerHtml(context, output)); - - + list.Add(new BreadcrumbItem { Html = RenderTagHelperOutput(output, _encoder), diff --git a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Breadcrumb/AbpBreadcrumbTagHelperService.cs b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Breadcrumb/AbpBreadcrumbTagHelperService.cs index abd12aa4b6..439b138dbf 100644 --- a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Breadcrumb/AbpBreadcrumbTagHelperService.cs +++ b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Breadcrumb/AbpBreadcrumbTagHelperService.cs @@ -26,12 +26,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Breadcrumb protected virtual void SetInnerList(TagHelperContext context, TagHelperOutput output, List list) { - var anyActiveItem = list.Any(bc => bc.Active); - - if (!anyActiveItem && list.Count > 0) - { - list.Last().Active = true; - } + SetLastOneActiveIfThereIsNotAny(context, output, list); var html = new StringBuilder(""); @@ -52,6 +47,14 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Breadcrumb return items; } + protected virtual void SetLastOneActiveIfThereIsNotAny(TagHelperContext context, TagHelperOutput output, List list) + { + if (list.Count > 0 && list.Any(bc => bc.Active)) + { + list.Last().Active = true; + } + } + protected virtual string SetActiveClassIfActiveAndGetHtml(BreadcrumbItem item) { return item.Active ?