From 1a46941a80f7b5421324b59cf740eefe1be2c5d1 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 23 Aug 2021 18:26:27 +0800 Subject: [PATCH] Upgrade to Bootstrap 5. --- .../Alert/AbpAlertTagHelperService.cs | 4 +- .../TagHelpers/Button/AbpButtonSize.cs | 10 +- .../Button/AbpButtonSizeExtensions.cs | 12 +- .../Carousel/AbpCarouselTagHelperService.cs | 10 +- .../AbpAccordionItemTagHelperService.cs | 6 +- .../AbpCollapseButtonTagHelperService.cs | 10 +- .../AbpDropdownButtonTagHelperService.cs | 4 +- .../Form/AbpInputTagHelperService.cs | 34 ++-- .../Form/AbpRadioInputTagHelperService.cs | 8 +- .../Form/AbpSelectTagHelperService.cs | 18 +-- .../TagHelpers/Grid/AbpRowTagHelperService.cs | 4 +- .../Modal/AbpModalFooterTagHelperService.cs | 4 +- .../Modal/AbpModalHeaderTagHelperService.cs | 9 +- .../Modal/AbpModalTagHelperService.cs | 4 +- .../Nav/AbpNavbarToggleTagHelperService.cs | 6 +- .../Popover/AbpPopoverTagHelperService.cs | 146 +++++++++--------- .../Tab/AbpTabDropdownTagHelperService.cs | 2 +- .../TagHelpers/Tab/AbpTabTagHelperService.cs | 4 +- .../Tooltip/AbpTooltipTagHelperService.cs | 12 +- .../Abp/MultiTenancy/TenantSwitchModal.cshtml | 3 +- .../MultiTenancy/TenantSwitchModal.cshtml.cs | 2 + .../Bootstrap/BootstrapScriptContributor.cs | 4 +- .../Bootstrap/BootstrapStyleContributor.cs | 2 +- .../DatatablesNetScriptContributor.cs | 2 +- .../DatatablesNetBs5ScriptContributor.cs | 18 +++ .../DatatablesNetBs5StyleContributor.cs | 16 ++ .../Popper/PopperJsScriptBundleContributor.cs | 4 +- .../Select2/Select2ScriptContributor.cs | 1 - .../Shared/Demos/CardsDemo/Default.cshtml | 2 +- .../AbpComponentDemoSectionTagHelper.cs | 8 +- .../SharedThemeGlobalScriptContributor.cs | 6 +- .../SharedThemeGlobalStyleContributor.cs | 6 +- .../datatables/datatables-extensions.js | 4 +- .../Pages/Account/Login.cshtml | 2 +- .../Themes/Basic/Layouts/Application.cshtml | 2 +- .../Pages/Components/Alerts.cshtml | 2 +- .../Pages/Components/Modals.cshtml | 8 +- .../Pages/Blogging/Admin/Blogs/Index.cshtml | 2 +- .../Pages/Blogs/Posts/Detail.cshtml | 24 +-- .../Volo.CmsKit.Web.Host/Pages/Index.cshtml | 2 +- .../Components/Commenting/Default.cshtml | 8 +- .../Shared/Components/Rating/Default.cshtml | 4 +- .../Pages/Docs/Admin/Projects/Index.cshtml | 2 +- .../Pages/Identity/Roles/Index.cshtml | 2 +- .../Pages/Identity/Users/Index.cshtml | 2 +- .../TenantManagement/Tenants/Index.cshtml | 2 +- npm/packs/select2/abp.resourcemapping.js | 3 +- .../src/select2-bootstrap-modal-patch.js | 4 - .../Pages/Index.cshtml | 2 +- .../Pages/Index.cshtml | 2 +- 50 files changed, 239 insertions(+), 219 deletions(-) create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/DatatablesNetBs5/DatatablesNetBs5ScriptContributor.cs create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/DatatablesNetBs5/DatatablesNetBs5StyleContributor.cs delete mode 100644 npm/packs/select2/src/select2-bootstrap-modal-patch.js diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Alert/AbpAlertTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Alert/AbpAlertTagHelperService.cs index 769bd1aee5..a8d2342978 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Alert/AbpAlertTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Alert/AbpAlertTagHelperService.cs @@ -42,9 +42,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Alert } var buttonAsHtml = - ""; + ""; output.PostContent.SetHtmlContent(buttonAsHtml); } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonSize.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonSize.cs index dd07ff22bf..b3aae45f6d 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonSize.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonSize.cs @@ -1,4 +1,6 @@ -namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Button +using System; + +namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Button { public enum AbpButtonSize { @@ -6,9 +8,13 @@ Small, Medium, Large, + [Obsolete("https://getbootstrap.com/docs/5.0/components/buttons/#block-buttons")] Block, + [Obsolete("https://getbootstrap.com/docs/5.0/components/buttons/#block-buttons")] Block_Small, + [Obsolete("https://getbootstrap.com/docs/5.0/components/buttons/#block-buttons")] Block_Medium, + [Obsolete("https://getbootstrap.com/docs/5.0/components/buttons/#block-buttons")] Block_Large, } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonSizeExtensions.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonSizeExtensions.cs index 408ba37573..5927d06e43 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonSizeExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonSizeExtensions.cs @@ -7,19 +7,15 @@ switch (size) { case AbpButtonSize.Small: + case AbpButtonSize.Block_Small: return "btn-sm"; case AbpButtonSize.Medium: + case AbpButtonSize.Block_Medium: return "btn-md"; case AbpButtonSize.Large: + case AbpButtonSize.Block_Large: return "btn-lg"; case AbpButtonSize.Block: - return "btn-block"; - case AbpButtonSize.Block_Small: - return "btn-sm btn-block"; - case AbpButtonSize.Block_Medium: - return "btn-md btn-block"; - case AbpButtonSize.Block_Large: - return "btn-lg btn-block"; case AbpButtonSize.Default: return ""; default: @@ -27,4 +23,4 @@ } } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Carousel/AbpCarouselTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Carousel/AbpCarouselTagHelperService.cs index c3672db7f5..d2056f62a4 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Carousel/AbpCarouselTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Carousel/AbpCarouselTagHelperService.cs @@ -79,7 +79,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Carousel prevAnchor.AddCssClass("carousel-control-prev"); prevAnchor.Attributes.Add("href", "#" + TagHelper.Id); prevAnchor.Attributes.Add("role", "button"); - prevAnchor.Attributes.Add("data-slide", "prev"); + prevAnchor.Attributes.Add("data-bs-slide", "prev"); prevAnchor.InnerHtml.AppendHtml(prevIcon); prevAnchor.InnerHtml.AppendHtml(prevText); @@ -97,7 +97,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Carousel nextAnchor.AddCssClass("carousel-control-next"); nextAnchor.Attributes.Add("href", "#" + TagHelper.Id); nextAnchor.Attributes.Add("role", "button"); - nextAnchor.Attributes.Add("data-slide", "next"); + nextAnchor.Attributes.Add("data-bs-slide", "next"); nextAnchor.InnerHtml.AppendHtml(nextIcon); nextAnchor.InnerHtml.AppendHtml(nextText); @@ -120,8 +120,8 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Carousel for (var i = 0; i < itemList.Count; i++) { var listItem = new TagBuilder("li"); - listItem.Attributes.Add("data-target", "#" + TagHelper.Id); - listItem.Attributes.Add("data-slide-to", i.ToString()); + listItem.Attributes.Add("data-bs-target", "#" + TagHelper.Id); + listItem.Attributes.Add("data-bs-slide-to", i.ToString()); if (itemList[i].Active) { @@ -144,7 +144,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Carousel protected virtual void AddBasicAttributes(TagHelperContext context, TagHelperOutput output) { - output.Attributes.Add("data-ride", "carousel"); + output.Attributes.Add("data-bs-ride", "carousel"); output.Attributes.Add("id", TagHelper.Id); AddBasicClasses(context, output); } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpAccordionItemTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpAccordionItemTagHelperService.cs index 1a94e3f536..3ea2824b62 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpAccordionItemTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpAccordionItemTagHelperService.cs @@ -28,8 +28,8 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Collapse var button = new TagBuilder("button"); button.AddCssClass("btn btn-link"); button.Attributes.Add("type", "button"); - button.Attributes.Add("data-toggle", "collapse"); - button.Attributes.Add("data-target", "#" + GetContentId()); + button.Attributes.Add("data-bs-toggle", "collapse"); + button.Attributes.Add("data-bs-target", "#" + GetContentId()); button.Attributes.Add("aria-expanded", "true"); button.Attributes.Add("aria-controls", GetContentId()); button.InnerHtml.AppendHtml(TagHelper.Title); @@ -58,7 +58,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Collapse wrapper.AddCssClass("collapse" + show); wrapper.Attributes.Add("id", GetContentId()); wrapper.Attributes.Add("aria-labelledby", GetHeadingId()); - wrapper.Attributes.Add("data-parent", "#" + AbpAccordionParentIdPlaceholder); + wrapper.Attributes.Add("data-bs-parent", "#" + AbpAccordionParentIdPlaceholder); wrapper.InnerHtml.AppendHtml(cardBody); return wrapper.ToHtmlString(); diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpCollapseButtonTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpCollapseButtonTagHelperService.cs index 6b7d74b866..fcc4ff413e 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpCollapseButtonTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpCollapseButtonTagHelperService.cs @@ -8,7 +8,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Collapse { public override void Process(TagHelperContext context, TagHelperOutput output) { - + AddCommonAttributes(context, output); @@ -24,7 +24,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Collapse protected virtual void AddCommonAttributes(TagHelperContext context, TagHelperOutput output) { - output.Attributes.Add("data-toggle", "collapse"); + output.Attributes.Add("data-bs-toggle", "collapse"); output.Attributes.Add("aria-expanded", "false"); output.Attributes.Add("aria-controls", TagHelper.BodyId); } @@ -33,11 +33,11 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Collapse { if (TagHelper.BodyId.Trim().Split(' ').Length > 1) { - output.Attributes.Add("data-target", ".multi-collapse"); + output.Attributes.Add("data-bs-target", ".multi-collapse"); return; } - output.Attributes.Add("data-target", "#" + TagHelper.BodyId); + output.Attributes.Add("data-bs-target", "#" + TagHelper.BodyId); } protected virtual void AddLinkAttributes(TagHelperContext context, TagHelperOutput output) @@ -52,4 +52,4 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Collapse } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Dropdown/AbpDropdownButtonTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Dropdown/AbpDropdownButtonTagHelperService.cs index 6b18f8ee90..faa8fe7d75 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Dropdown/AbpDropdownButtonTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Dropdown/AbpDropdownButtonTagHelperService.cs @@ -105,7 +105,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Dropdown if (TagHelper.DropdownStyle != DropdownStyle.Split) { attributes.AddClass("dropdown-toggle"); - attributes.Add("data-toggle", "dropdown"); + attributes.Add("data-bs-toggle", "dropdown"); attributes.Add("aria-haspopup", "true"); attributes.Add("aria-expanded", "false"); } @@ -117,7 +117,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Dropdown { var attributes = new TagHelperAttributeList { - {"data-toggle", "dropdown"}, + {"data-bs-toggle", "dropdown"}, {"aria-haspopup", "true"}, {"aria-expanded", "false"}, }; diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs index 0802360579..8af5be2072 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs @@ -54,9 +54,11 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form output.TagMode = TagMode.StartTagAndEndTag; output.TagName = "div"; LeaveOnlyGroupAttributes(context, output); - output.Attributes.AddClass(isCheckBox ? "custom-checkbox" : "form-group"); - output.Attributes.AddClass(isCheckBox ? "custom-control" : ""); - output.Attributes.AddClass(isCheckBox ? "mb-2" : ""); + output.Attributes.AddClass("mb-3"); + if (isCheckBox) + { + output.Attributes.AddClass("form-check"); + } output.Content.AppendHtml(innerHtml); } } @@ -102,7 +104,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form protected virtual string SurroundInnerHtmlAndGet(TagHelperContext context, TagHelperOutput output, string innerHtml, bool isCheckbox) { - return "
" + + return "
" + Environment.NewLine + innerHtml + Environment.NewLine + "
"; } @@ -178,7 +180,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form if (isCheckbox) { - className = "custom-control-input"; + className = "form-check-input"; } inputTagHelperOutput.Attributes.AddClass(className + " " + GetSize(context, output)); @@ -267,10 +269,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form label.Attributes.Add("for", GetIdAttributeValue(inputTag)); label.InnerHtml.AppendHtml(TagHelper.Label); - if (isCheckbox) - { - label.AddCssClass("custom-control-label"); - } + label.AddCssClass(isCheckbox ? "form-check-label" : "form-label"); return label.ToHtmlString(); } @@ -319,12 +318,14 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form var idAttr = inputTag.Attributes.FirstOrDefault(a => a.Name == "id"); var localizedText = _tagHelperLocalizer.GetLocalizedText(text, TagHelper.AspFor.ModelExplorer); - var small = new TagBuilder("small"); - small.Attributes.Add("id", idAttr?.Value?.ToString() + "InfoText"); - small.AddCssClass("form-text text-muted"); - small.InnerHtml.Append(localizedText); + var div = new TagBuilder("div"); + div.Attributes.Add("id", idAttr?.Value + "InfoText"); + div.AddCssClass("form-text"); + div.InnerHtml.Append(localizedText); - return small.ToHtmlString(); + inputTag.Attributes.Add("aria-describedby", idAttr?.Value + "InfoText"); + + return div.ToHtmlString(); } protected virtual async Task GetLabelAsHtmlUsingTagHelperAsync(TagHelperContext context, TagHelperOutput output, bool isCheckbox) @@ -337,10 +338,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form var attributeList = new TagHelperAttributeList(); - if (isCheckbox) - { - attributeList.AddClass("custom-control-label"); - } + attributeList.AddClass(isCheckbox ? "form-check-label" : "form-label"); return await labelTagHelper.RenderAsync(attributeList, context, _encoder, "label", TagMode.StartTagAndEndTag); } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpRadioInputTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpRadioInputTagHelperService.cs index bfbf4034eb..b3439db7ec 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpRadioInputTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpRadioInputTagHelperService.cs @@ -50,12 +50,12 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form foreach (var selectItem in selectItems) { - var inlineClass = (TagHelper.Inline ?? false) ? " custom-control-inline" : ""; + var inlineClass = (TagHelper.Inline ?? false) ? " form-check-inline" : ""; var id = TagHelper.AspFor.Name + "Radio" + selectItem.Value; var name = TagHelper.AspFor.Name; var input = new TagBuilder("input"); - input.AddCssClass("custom-control-input"); + input.AddCssClass("form-check-input"); input.Attributes.Add("type", "radio"); input.Attributes.Add("id", id); input.Attributes.Add("name", name); @@ -72,12 +72,12 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form } var label = new TagBuilder("label"); - label.AddCssClass("custom-control-label"); + label.AddCssClass("form-check-label"); label.Attributes.Add("for", id); label.InnerHtml.AppendHtml(selectItem.Text); var wrapper = new TagBuilder("div"); - wrapper.AddCssClass("custom-control custom-radio" + inlineClass); + wrapper.AddCssClass("form-check" + inlineClass); wrapper.InnerHtml.AppendHtml(input); wrapper.InnerHtml.AppendHtml(label); diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelperService.cs index f651c24874..0a83d983cb 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelperService.cs @@ -8,7 +8,6 @@ using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; -using System.Linq.Dynamic.Core; using System.Text.Encodings.Web; using System.Threading.Tasks; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Microsoft.AspNetCore.Razor.TagHelpers; @@ -54,7 +53,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form { output.TagName = "div"; LeaveOnlyGroupAttributes(context, output); - output.Attributes.AddClass("form-group"); + output.Attributes.AddClass("mb-3"); output.TagMode = TagMode.StartTagAndEndTag; output.Content.SetHtmlContent(innerHtml); } @@ -73,7 +72,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form protected virtual string SurroundInnerHtmlAndGet(TagHelperContext context, TagHelperOutput output, string innerHtml) { - return "
" + Environment.NewLine + innerHtml + Environment.NewLine + "
"; + return "
" + Environment.NewLine + innerHtml + Environment.NewLine + "
"; } protected virtual async Task GetSelectTagAsync(TagHelperContext context, TagHelperOutput output, TagHelperContent childContent) @@ -176,6 +175,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form if (!string.IsNullOrEmpty(TagHelper.Label)) { var label = new TagBuilder("label"); + label.AddCssClass("form-label"); label.Attributes.Add("for", GetIdAttributeValue(selectTag)); label.InnerHtml.AppendHtml(TagHelper.Label); @@ -307,10 +307,10 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form var labelTagHelper = new LabelTagHelper(_generator) { For = TagHelper.AspFor, - ViewContext = TagHelper.ViewContext + ViewContext = TagHelper.ViewContext, }; - return await labelTagHelper.RenderAsync(new TagHelperAttributeList(), context, _encoder, "label", TagMode.StartTagAndEndTag); + return await labelTagHelper.RenderAsync(new TagHelperAttributeList { { "class", "form-label" } }, context, _encoder, "label", TagMode.StartTagAndEndTag); } protected virtual async Task GetValidationAsHtmlAsync(TagHelperContext context, TagHelperOutput output, TagHelperOutput inputTag) @@ -338,11 +338,11 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form switch (TagHelper.Size) { case AbpFormControlSize.Small: - return "custom-select-sm"; + return "form-select-sm"; case AbpFormControlSize.Medium: - return "custom-select-md"; + return "form-select-md"; case AbpFormControlSize.Large: - return "custom-select-lg"; + return "form-select-lg"; } return ""; @@ -360,7 +360,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form attrList.Add(tagHelperAttribute); } - attrList.AddClass("custom-select"); + attrList.AddClass("form-select"); return attrList; } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Grid/AbpRowTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Grid/AbpRowTagHelperService.cs index 0dc92f300d..dc9ff3f0f2 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Grid/AbpRowTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Grid/AbpRowTagHelperService.cs @@ -50,7 +50,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Grid return; } - output.Attributes.AddClass("no-gutters"); + output.Attributes.AddClass("g-0"); } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalFooterTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalFooterTagHelperService.cs index 31cccf2428..310deef68a 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalFooterTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalFooterTagHelperService.cs @@ -82,7 +82,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal { var element = new TagBuilder("button"); element.Attributes.Add("type", "button"); - element.Attributes.Add("data-dismiss", "modal"); + element.Attributes.Add("data-bs-dismiss", "modal"); element.AddCssClass("btn"); element.AddCssClass("btn-secondary"); element.InnerHtml.Append(_localizer["Close"]); @@ -94,7 +94,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal { var element = new TagBuilder("button"); element.Attributes.Add("type", "button"); - element.Attributes.Add("data-dismiss", "modal"); + element.Attributes.Add("data-bs-dismiss", "modal"); element.AddCssClass("btn"); element.AddCssClass("btn-secondary"); element.InnerHtml.Append(_localizer["Cancel"]); diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalHeaderTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalHeaderTagHelperService.cs index 4a45ac1f20..ffd1ce9425 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalHeaderTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalHeaderTagHelperService.cs @@ -34,16 +34,11 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal protected virtual string CreatePostContent() { - var span = new TagBuilder("span"); - span.Attributes.Add("aria-hidden", "true"); - span.InnerHtml.AppendHtml("×"); - var button = new TagBuilder("button"); - button.AddCssClass("close"); + button.AddCssClass("btn-close"); button.Attributes.Add("type", "button"); - button.Attributes.Add("data-dismiss", "modal"); + button.Attributes.Add("data-bs-dismiss", "modal"); button.Attributes.Add("aria-label", L["Close"].Value); - button.InnerHtml.AppendHtml(span); return button.ToHtmlString(); } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalTagHelperService.cs index 5bc2330bf1..a4bd63f566 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalTagHelperService.cs @@ -102,7 +102,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal { if (TagHelper.Static == true) { - return "data-backdrop=\"static\" "; + return "data-bs-backdrop=\"static\" "; } return string.Empty; } @@ -111,7 +111,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal { if (TagHelper.Static == true) { - builder.Attributes.Add("data-backdrop", "static"); + builder.Attributes.Add("data-bs-backdrop", "static"); } } } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Nav/AbpNavbarToggleTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Nav/AbpNavbarToggleTagHelperService.cs index df48452c40..6cc017f076 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Nav/AbpNavbarToggleTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Nav/AbpNavbarToggleTagHelperService.cs @@ -34,8 +34,8 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Nav var button = new TagBuilder("button"); button.AddCssClass("navbar-toggler"); button.Attributes.Add("type", "button"); - button.Attributes.Add("data-toggle", "collapse"); - button.Attributes.Add("data-target", "#" + TagHelper.Id); + button.Attributes.Add("data-bs-toggle", "collapse"); + button.Attributes.Add("data-bs-target", "#" + TagHelper.Id); button.Attributes.Add("aria-controls", TagHelper.Id); button.Attributes.Add("aria-expanded", "false"); button.Attributes.Add("aria-label", L["ToggleNavigation"].Value); @@ -52,4 +52,4 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Nav } } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Popover/AbpPopoverTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Popover/AbpPopoverTagHelperService.cs index 5ada0dfbc5..42ac23925e 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Popover/AbpPopoverTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Popover/AbpPopoverTagHelperService.cs @@ -1,18 +1,18 @@ -using Microsoft.AspNetCore.Mvc.Rendering; -using Microsoft.AspNetCore.Mvc.ViewFeatures; +using Microsoft.AspNetCore.Mvc.Rendering; +using Microsoft.AspNetCore.Mvc.ViewFeatures; using Microsoft.AspNetCore.Razor.TagHelpers; using System.Linq; -using System.Web; - +using System.Web; + namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Popover { public class AbpPopoverTagHelperService : AbpTagHelperService - { - protected IHtmlGenerator HtmlGenerator { get; } - - public AbpPopoverTagHelperService(IHtmlGenerator htmlGenerator) - { - HtmlGenerator = htmlGenerator; + { + protected IHtmlGenerator HtmlGenerator { get; } + + public AbpPopoverTagHelperService(IHtmlGenerator htmlGenerator) + { + HtmlGenerator = htmlGenerator; } public override void Process(TagHelperContext context, TagHelperOutput output) @@ -29,79 +29,79 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Popover { SetDisabled(context, output); } - } - + } + protected virtual void SetDisabled(TagHelperContext context, TagHelperOutput output) - { + { var triggerValue = TagHelper.Dismissible ?? false ? "focus" : ""; - if (TagHelper.Hoverable ?? false) - { - if (triggerValue.Contains("focus")) - { - triggerValue = triggerValue.Replace("focus", "focus hover"); - } - else - { - triggerValue = "hover"; - } - } - + if (TagHelper.Hoverable ?? false) + { + if (triggerValue.Contains("focus")) + { + triggerValue = triggerValue.Replace("focus", "focus hover"); + } + else + { + triggerValue = "hover"; + } + } + var dataPlacement = GetDirectory().ToString().ToLowerInvariant(); - // data-placement="default" with data-trigger="focus" causes Cannot read property 'indexOf' of undefined at computeAutoPlacement(bootstrap.bundle.js?_v=637146714627330435:2185) error - if (IsDismissibleOrHoverable() && GetDirectory() == PopoverDirectory.Default) - { - //dataPlacementAsHtml = string.Empty; //bootstrap default placement is right, abp's is top. - dataPlacement = dataPlacement.Replace("default", "top"); - } + // data-bs-placement="default" with data-trigger="focus" causes Cannot read property 'indexOf' of undefined at computeAutoPlacement(bootstrap.bundle.js?_v=637146714627330435:2185) error + if (IsDismissibleOrHoverable() && GetDirectory() == PopoverDirectory.Default) + { + //dataPlacementAsHtml = string.Empty; //bootstrap default placement is right, abp's is top. + dataPlacement = dataPlacement.Replace("default", "top"); + } var titleAttribute = output.Attributes.FirstOrDefault(at => at.Name == "title"); var span = new TagBuilder("span"); span.AddCssClass("d-inline-block"); span.Attributes.Add("tabindex", "0"); - span.Attributes.Add("data-toggle", "popover"); - span.Attributes.Add("data-content", GetDataContent()); - span.Attributes.Add("data-trigger", triggerValue); - span.Attributes.Add("data-placement", dataPlacement); - - if (titleAttribute != null) - { - span.Attributes.Add("title", HttpUtility.HtmlDecode(titleAttribute.Value.ToString())); + span.Attributes.Add("data-bs-toggle", "popover"); + span.Attributes.Add("data-bs-content", GetDataContent()); + span.Attributes.Add("data-bs-trigger", triggerValue); + span.Attributes.Add("data-bs-placement", dataPlacement); + + if (titleAttribute != null) + { + span.Attributes.Add("title", HttpUtility.HtmlDecode(titleAttribute.Value.ToString())); } output.PreElement.SetHtmlContent(span.RenderStartTag()); output.PostElement.SetHtmlContent(span.RenderEndTag()); output.Attributes.Add("style", "pointer-events: none;"); - } - + } + protected virtual void SetDataTriggerIfDismissible(TagHelperContext context, TagHelperOutput output) { if (TagHelper.Dismissible ?? false) { - output.Attributes.Add("data-trigger", "focus"); + output.Attributes.Add("data-bs-trigger", "focus"); + } + } + + protected virtual void SetDataTriggerIfHoverable(TagHelperContext context, TagHelperOutput output) + { + if (TagHelper.Hoverable ?? false) + { + //If already has focus data trigger + if (output.Attributes.TryGetAttribute("data-bs-trigger", out _)) + { + output.Attributes.SetAttribute(new TagHelperAttribute("data-bs-trigger", "focus hover")); + } + else + { + output.Attributes.Add("data-bs-trigger", "hover"); + } } - } - - protected virtual void SetDataTriggerIfHoverable(TagHelperContext context, TagHelperOutput output) - { - if (TagHelper.Hoverable ?? false) - { - //If already has focus data trigger - if (output.Attributes.TryGetAttribute("data-trigger", out _)) - { - output.Attributes.SetAttribute(new TagHelperAttribute("data-trigger", "focus hover")); - } - else - { - output.Attributes.Add("data-trigger", "hover"); - } - } } protected virtual void SetDataToggle(TagHelperContext context, TagHelperOutput output) { - output.Attributes.Add("data-toggle", "popover"); + output.Attributes.Add("data-bs-toggle", "popover"); } protected virtual void SetDataPlacement(TagHelperContext context, TagHelperOutput output) @@ -111,12 +111,12 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Popover { directory = PopoverDirectory.Bottom; } - output.Attributes.Add("data-placement", directory.ToString().ToLowerInvariant()); + output.Attributes.Add("data-bs-placement", directory.ToString().ToLowerInvariant()); } protected virtual void SetPopoverData(TagHelperContext context, TagHelperOutput output) { - output.Attributes.Add("data-content", GetDataContent()); + output.Attributes.Add("data-bs-content", GetDataContent()); } protected virtual string GetDataContent() @@ -157,17 +157,17 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Popover return PopoverDirectory.Default; } - protected virtual bool IsDismissibleOrHoverable() - { - if (TagHelper.Dismissible ?? false) - { - return true; - } - if (TagHelper.Hoverable ?? false) - { - return true; - } - return false; + protected virtual bool IsDismissibleOrHoverable() + { + if (TagHelper.Dismissible ?? false) + { + return true; + } + if (TagHelper.Hoverable ?? false) + { + return true; + } + return false; } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabDropdownTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabDropdownTagHelperService.cs index 726a947be2..38ba3bcd91 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabDropdownTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabDropdownTagHelperService.cs @@ -35,7 +35,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tab var anchor = new TagBuilder("a"); anchor.AddCssClass("nav-link dropdown-toggle"); anchor.Attributes.Add("id", id); - anchor.Attributes.Add("data-toggle", "dropdown"); + anchor.Attributes.Add("data-bs-toggle", "dropdown"); anchor.Attributes.Add("href", "#" + link); anchor.Attributes.Add("role", "button"); anchor.Attributes.Add("aria-haspopup", "true"); diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabTagHelperService.cs index c17c7c5f3d..9bc2ae9af5 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabTagHelperService.cs @@ -43,7 +43,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tab anchor.AddCssClass("dropdown-item " + classAttributesAsString); anchor.Attributes.Add("id", id); anchor.Attributes.Add("href", "#" + link); - anchor.Attributes.Add("data-toggle", "tab"); + anchor.Attributes.Add("data-bs-toggle", "tab"); anchor.Attributes.Add("role", "tab"); anchor.Attributes.Add("aria-controls", control); anchor.Attributes.Add("aria-selected", "false"); @@ -62,7 +62,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tab var anchor = new TagBuilder("a"); anchor.AddCssClass("nav-link " + classAttributesAsString + " " + AbpTabItemActivePlaceholder); anchor.Attributes.Add("id", id); - anchor.Attributes.Add("data-toggle", TabItemsDataTogglePlaceHolder); + anchor.Attributes.Add("data-bs-toggle", TabItemsDataTogglePlaceHolder); anchor.Attributes.Add("href", "#" + link); anchor.Attributes.Add("role", "tab"); anchor.Attributes.Add("aria-controls", control); diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tooltip/AbpTooltipTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tooltip/AbpTooltipTagHelperService.cs index acef4a0951..70e4f656a2 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tooltip/AbpTooltipTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tooltip/AbpTooltipTagHelperService.cs @@ -22,13 +22,13 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tooltip protected virtual void SetParentElementWithTooltip(TagHelperContext context, TagHelperOutput output) { var directory = GetDirectory() != TooltipDirectory.Default ? GetDirectory() : TooltipDirectory.Top; - output.Attributes.Add("data-placement", directory.ToString().ToLowerInvariant()); + output.Attributes.Add("data-bs-placement", directory.ToString().ToLowerInvariant()); var span = new TagBuilder("span"); span.AddCssClass("d-inline-block"); span.Attributes.Add("tabindex", "0"); - span.Attributes.Add("data-toggle", "tooltip"); - span.Attributes.Add("data-placement", directory.ToString().ToLowerInvariant()); + span.Attributes.Add("data-bs-toggle", "tooltip"); + span.Attributes.Add("data-bs-placement", directory.ToString().ToLowerInvariant()); span.Attributes.Add("title", GetTitle()); output.PreElement.SetHtmlContent(span.RenderStartTag()); @@ -40,13 +40,13 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tooltip protected virtual void SetDataToggle(TagHelperContext context, TagHelperOutput output) { - output.Attributes.Add("data-toggle", "tooltip"); + output.Attributes.Add("data-bs-toggle", "tooltip"); } protected virtual void SetDataPlacement(TagHelperContext context, TagHelperOutput output) { var directory = GetDirectory() != TooltipDirectory.Default ? GetDirectory() : TooltipDirectory.Top; - output.Attributes.Add("data-placement", directory.ToString().ToLowerInvariant()); + output.Attributes.Add("data-bs-placement", directory.ToString().ToLowerInvariant()); } protected virtual void SetTooltipTitle(TagHelperContext context, TagHelperOutput output) @@ -98,4 +98,4 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tooltip return output.Attributes.Any(a => a.Name == "disabled"); } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Pages/Abp/MultiTenancy/TenantSwitchModal.cshtml b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Pages/Abp/MultiTenancy/TenantSwitchModal.cshtml index b7b8887a01..03545b964b 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Pages/Abp/MultiTenancy/TenantSwitchModal.cshtml +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Pages/Abp/MultiTenancy/TenantSwitchModal.cshtml @@ -13,9 +13,8 @@ -

@L["SwitchTenantHint"]

@* TODO: A "Submit" would be better than "Save"! *@ - \ No newline at end of file + diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Pages/Abp/MultiTenancy/TenantSwitchModal.cshtml.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Pages/Abp/MultiTenancy/TenantSwitchModal.cshtml.cs index 1edeadff16..469f6af6dc 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Pages/Abp/MultiTenancy/TenantSwitchModal.cshtml.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Pages/Abp/MultiTenancy/TenantSwitchModal.cshtml.cs @@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; using Volo.Abp; using Volo.Abp.AspNetCore.MultiTenancy; +using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; using Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy.Localization; using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; using Volo.Abp.MultiTenancy; @@ -63,6 +64,7 @@ namespace Pages.Abp.MultiTenancy public class TenantInfoModel { + [InputInfoText("SwitchTenantHint")] public string Name { get; set; } } } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Bootstrap/BootstrapScriptContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Bootstrap/BootstrapScriptContributor.cs index bfe5ecebb8..24d52a7c00 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Bootstrap/BootstrapScriptContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Bootstrap/BootstrapScriptContributor.cs @@ -1,11 +1,13 @@ using System.Collections.Generic; using Volo.Abp.AspNetCore.Mvc.UI.Bundling; using Volo.Abp.AspNetCore.Mvc.UI.Packages.JQuery; +using Volo.Abp.AspNetCore.Mvc.UI.Packages.Popper; using Volo.Abp.Modularity; namespace Volo.Abp.AspNetCore.Mvc.UI.Packages.Bootstrap { [DependsOn(typeof(JQueryScriptContributor))] + [DependsOn(typeof(PopperJsScriptBundleContributor))] public class BootstrapScriptContributor : BundleContributor { public override void ConfigureBundle(BundleConfigurationContext context) @@ -13,4 +15,4 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Packages.Bootstrap context.Files.AddIfNotContains("/libs/bootstrap/js/bootstrap.bundle.js"); } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Bootstrap/BootstrapStyleContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Bootstrap/BootstrapStyleContributor.cs index 2197bd6b97..63d1824d86 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Bootstrap/BootstrapStyleContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Bootstrap/BootstrapStyleContributor.cs @@ -18,4 +18,4 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Packages.Bootstrap } } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/DatatablesNet/DatatablesNetScriptContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/DatatablesNet/DatatablesNetScriptContributor.cs index 1a484159fc..71ec880afd 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/DatatablesNet/DatatablesNetScriptContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/DatatablesNet/DatatablesNetScriptContributor.cs @@ -13,4 +13,4 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Packages.DatatablesNet context.Files.AddIfNotContains("/libs/datatables.net/js/jquery.dataTables.js"); } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/DatatablesNetBs5/DatatablesNetBs5ScriptContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/DatatablesNetBs5/DatatablesNetBs5ScriptContributor.cs new file mode 100644 index 0000000000..0461240c22 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/DatatablesNetBs5/DatatablesNetBs5ScriptContributor.cs @@ -0,0 +1,18 @@ +using System.Collections.Generic; +using Volo.Abp.AspNetCore.Mvc.UI.Bundling; +using Volo.Abp.AspNetCore.Mvc.UI.Packages.Bootstrap; +using Volo.Abp.AspNetCore.Mvc.UI.Packages.DatatablesNet; +using Volo.Abp.Modularity; + +namespace Volo.Abp.AspNetCore.Mvc.UI.Packages.DatatablesNetBs5 +{ + [DependsOn(typeof(DatatablesNetScriptContributor))] + [DependsOn(typeof(BootstrapScriptContributor))] + public class DatatablesNetBs5ScriptContributor : BundleContributor + { + public override void ConfigureBundle(BundleConfigurationContext context) + { + context.Files.AddIfNotContains("/libs/datatables.net-bs5/js/dataTables.bootstrap5.js"); + } + } +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/DatatablesNetBs5/DatatablesNetBs5StyleContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/DatatablesNetBs5/DatatablesNetBs5StyleContributor.cs new file mode 100644 index 0000000000..e16b03f1fa --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/DatatablesNetBs5/DatatablesNetBs5StyleContributor.cs @@ -0,0 +1,16 @@ +using System.Collections.Generic; +using Volo.Abp.AspNetCore.Mvc.UI.Bundling; +using Volo.Abp.AspNetCore.Mvc.UI.Packages.Bootstrap; +using Volo.Abp.Modularity; + +namespace Volo.Abp.AspNetCore.Mvc.UI.Packages.DatatablesNetBs5 +{ + [DependsOn(typeof(BootstrapStyleContributor))] + public class DatatablesNetBs5StyleContributor : BundleContributor + { + public override void ConfigureBundle(BundleConfigurationContext context) + { + context.Files.AddIfNotContains("/libs/datatables.net-bs5/css/dataTables.bootstrap5.css"); + } + } +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Popper/PopperJsScriptBundleContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Popper/PopperJsScriptBundleContributor.cs index bc9a6c4a6d..f541deef8f 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Popper/PopperJsScriptBundleContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Popper/PopperJsScriptBundleContributor.cs @@ -1,6 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; +using System.Collections.Generic; using Volo.Abp.AspNetCore.Mvc.UI.Bundling; namespace Volo.Abp.AspNetCore.Mvc.UI.Packages.Popper diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Select2/Select2ScriptContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Select2/Select2ScriptContributor.cs index 81696d5e71..1e5f138f97 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Select2/Select2ScriptContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/Select2/Select2ScriptContributor.cs @@ -12,7 +12,6 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Packages.Select2 { //TODO: Add select2.full.min.js or localize! context.Files.AddIfNotContains("/libs/select2/js/select2.min.js"); - context.Files.AddIfNotContains("/libs/select2/js/select2-bootstrap-modal-patch.js"); } } } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/CardsDemo/Default.cshtml b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/CardsDemo/Default.cshtml index d40637735c..50756e8906 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/CardsDemo/Default.cshtml +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/CardsDemo/Default.cshtml @@ -160,7 +160,7 @@ Go somewhere - + Special title treatment With supporting text below as a natural lead-in to additional content. diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/TagHelpers/AbpComponentDemoSectionTagHelper.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/TagHelpers/AbpComponentDemoSectionTagHelper.cs index beaa8126fc..2ff4e84d05 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/TagHelpers/AbpComponentDemoSectionTagHelper.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/TagHelpers/AbpComponentDemoSectionTagHelper.cs @@ -48,8 +48,8 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo.Views.Components.Themes.S output.PreContent.AppendHtml("
"); output.PreContent.AppendHtml(""); output.PreContent.AppendHtml("
"); // col-auto @@ -68,10 +68,10 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo.Views.Components.Themes.S output.PostContent.AppendHtml($"
    "); output.PostContent.AppendHtml("
  • "); - output.PostContent.AppendHtml($"Abp Tag Helper"); + output.PostContent.AppendHtml($"Abp Tag Helper"); output.PostContent.AppendHtml("
  • "); output.PostContent.AppendHtml("
  • "); - output.PostContent.AppendHtml($"Bootstrap"); + output.PostContent.AppendHtml($"Bootstrap"); output.PostContent.AppendHtml("
  • "); output.PostContent.AppendHtml("
"); output.PostContent.AppendHtml($"
"); diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Bundling/SharedThemeGlobalScriptContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Bundling/SharedThemeGlobalScriptContributor.cs index 4ff7430553..042dd8c34d 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Bundling/SharedThemeGlobalScriptContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Bundling/SharedThemeGlobalScriptContributor.cs @@ -1,7 +1,7 @@ using Volo.Abp.AspNetCore.Mvc.UI.Bundling; using Volo.Abp.AspNetCore.Mvc.UI.Packages.Bootstrap; using Volo.Abp.AspNetCore.Mvc.UI.Packages.BootstrapDatepicker; -using Volo.Abp.AspNetCore.Mvc.UI.Packages.DatatablesNetBs4; +using Volo.Abp.AspNetCore.Mvc.UI.Packages.DatatablesNetBs5; using Volo.Abp.AspNetCore.Mvc.UI.Packages.JQuery; using Volo.Abp.AspNetCore.Mvc.UI.Packages.JQueryForm; using Volo.Abp.AspNetCore.Mvc.UI.Packages.JQueryValidationUnobtrusive; @@ -23,7 +23,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Bundling typeof(JQueryValidationUnobtrusiveScriptContributor), typeof(JQueryFormScriptContributor), typeof(Select2ScriptContributor), - typeof(DatatablesNetBs4ScriptContributor), + typeof(DatatablesNetBs5ScriptContributor), typeof(SweetalertScriptContributor), typeof(ToastrScriptBundleContributor), typeof(MalihuCustomScrollbarPluginScriptBundleContributor), @@ -49,4 +49,4 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Bundling }); } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Bundling/SharedThemeGlobalStyleContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Bundling/SharedThemeGlobalStyleContributor.cs index 49b8c4893e..ffa63e1353 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Bundling/SharedThemeGlobalStyleContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Bundling/SharedThemeGlobalStyleContributor.cs @@ -2,7 +2,7 @@ using Volo.Abp.AspNetCore.Mvc.UI.Packages.Bootstrap; using Volo.Abp.AspNetCore.Mvc.UI.Packages.BootstrapDatepicker; using Volo.Abp.AspNetCore.Mvc.UI.Packages.Core; -using Volo.Abp.AspNetCore.Mvc.UI.Packages.DatatablesNetBs4; +using Volo.Abp.AspNetCore.Mvc.UI.Packages.DatatablesNetBs5; using Volo.Abp.AspNetCore.Mvc.UI.Packages.FontAwesome; using Volo.Abp.AspNetCore.Mvc.UI.Packages.MalihuCustomScrollbar; using Volo.Abp.AspNetCore.Mvc.UI.Packages.Select2; @@ -18,7 +18,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Bundling typeof(ToastrStyleBundleContributor), typeof(Select2StyleContributor), typeof(MalihuCustomScrollbarPluginStyleBundleContributor), - typeof(DatatablesNetBs4StyleContributor), + typeof(DatatablesNetBs5StyleContributor), typeof(BootstrapDatepickerStyleContributor) )] public class SharedThemeGlobalStyleContributor : BundleContributor @@ -31,4 +31,4 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Bundling }); } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js index 6ae24f20dd..cbe8430a77 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js @@ -139,7 +139,7 @@ var abp = abp || {}; $dropdownButton .addClass('btn btn-primary btn-sm dropdown-toggle') - .attr('data-toggle', 'dropdown') + .attr('data-bs-toggle', 'dropdown') .attr('aria-haspopup', 'true') .attr('aria-expanded', 'false'); @@ -168,7 +168,7 @@ var abp = abp || {}; if ($dropdownItemsContainer.find('li').length > 0) { $dropdownItemsContainer.appendTo($container); - $dropdownButton.appendTo($container); + $dropdownButton.prependTo($container); } if ($dropdownItemsContainer.children().length === 0) { diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml index b1010fe921..6bac31203f 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml @@ -33,7 +33,7 @@ - + @L["ForgotPassword"] diff --git a/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Application.cshtml b/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Application.cshtml index 5514145e80..cd674e6e3f 100644 --- a/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Application.cshtml +++ b/modules/basic-theme/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Application.cshtml @@ -57,7 +57,7 @@
@(await Component.InvokeAsync())
-
+
@RenderSection("content_toolbar", false)
diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Alerts.cshtml b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Alerts.cshtml index 2081e091e5..daff8229bc 100644 --- a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Alerts.cshtml +++ b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Alerts.cshtml @@ -267,7 +267,7 @@

 <div class="alert alert-warning alert-dismissible fade show" role="alert">
   Holy guacamole! You should check in on some of those fields below.
-  <button type="button" class="close" data-dismiss="alert" aria-label="Close">
+  <button type="button" class="close" data-bs-dismiss="alert" aria-label="Close">
     <span aria-hidden="true">&times;</span>
   </button>
 </div>
diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Modals.cshtml b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Modals.cshtml
index 315d018146..6076868835 100644
--- a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Modals.cshtml
+++ b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Modals.cshtml
@@ -32,7 +32,7 @@
 
 
- Launch modal + Launch modal @@ -60,7 +60,7 @@

 <!-- Button trigger modal -->
-<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
+<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">
   Launch demo modal
 </button>
 
@@ -70,7 +70,7 @@
     <div class="modal-content">
       <div class="modal-header">
         <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
-        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+        <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
           <span aria-hidden="true">&times;</span>
         </button>
       </div>
@@ -78,7 +78,7 @@
         ...
       </div>
       <div class="modal-footer">
-        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
+        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
         <button type="button" class="btn btn-primary">Save</button>
       </div>
     </div>
diff --git a/modules/blogging/src/Volo.Blogging.Admin.Web/Pages/Blogging/Admin/Blogs/Index.cshtml b/modules/blogging/src/Volo.Blogging.Admin.Web/Pages/Blogging/Admin/Blogs/Index.cshtml
index 1c2b823852..f593d013ff 100644
--- a/modules/blogging/src/Volo.Blogging.Admin.Web/Pages/Blogging/Admin/Blogs/Index.cshtml
+++ b/modules/blogging/src/Volo.Blogging.Admin.Web/Pages/Blogging/Admin/Blogs/Index.cshtml
@@ -27,7 +27,7 @@
             
                 

@L["Blogs"]

- + @if (await Authorization.IsGrantedAsync(BloggingPermissions.Blogs.Create)) { diff --git a/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Detail.cshtml b/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Detail.cshtml index e94b9ba7a8..86f6142548 100644 --- a/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Detail.cshtml +++ b/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Detail.cshtml @@ -152,11 +152,11 @@

@L["CommentWithCount", @Model.CommentCount]

@if (hasCommentingPermission) { - @L["LeaveComment"] + @L["LeaveComment"] } else { - @L["LeaveComment"] + @L["LeaveComment"] }
@@ -216,8 +216,8 @@
- - + +
@@ -233,8 +233,8 @@
- - + +
@@ -292,8 +292,8 @@
- - + +
@@ -309,8 +309,8 @@
- - + + @@ -339,7 +339,7 @@
- + @@ -347,7 +347,7 @@ } else { - @L["LeaveComment"] + @L["LeaveComment"] } diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Host/Pages/Index.cshtml b/modules/cms-kit/host/Volo.CmsKit.Web.Host/Pages/Index.cshtml index 6452fc9167..bd761f35bc 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Host/Pages/Index.cshtml +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Host/Pages/Index.cshtml @@ -21,6 +21,6 @@ @Html.Raw(CurrentUser.GetAllClaims().Select(c => $"{c.Type}={c.Value}").OrderBy(x => x).JoinAsString("
")) }
-

abp.io

+

abp.io

diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Commenting/Default.cshtml b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Commenting/Default.cshtml index 062afddc4d..7d6c1ca9d5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Commenting/Default.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Commenting/Default.cshtml @@ -20,7 +20,7 @@ @((string.IsNullOrWhiteSpace(author.Name) ? author.UserName : author.Name + " " + author.Surname).Trim()) - @creationTime.ToString() + @creationTime.ToString() ; } @{ @@ -37,7 +37,7 @@
-
+
@L["Send"] @@ -101,7 +101,7 @@
-
+
@L["Update"] @L["Cancel"] @@ -122,7 +122,7 @@ } else if (!string.IsNullOrWhiteSpace(Model.LoginUrl)) { -
+ } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Rating/Default.cshtml b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Rating/Default.cshtml index 68e97d9318..492f3fae39 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Rating/Default.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Rating/Default.cshtml @@ -27,9 +27,7 @@