From 2a3969b79a8e13e476154863db6e340a8d906da6 Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Fri, 20 Mar 2020 12:27:09 +0300 Subject: [PATCH 1/5] added abp-modal tag static attribute --- .../TagHelpers/Modal/AbpModalTagHelper.cs | 2 ++ .../TagHelpers/Modal/AbpModalTagHelperService.cs | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalTagHelper.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalTagHelper.cs index aa61832ab9..51688afceb 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalTagHelper.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalTagHelper.cs @@ -6,6 +6,8 @@ public bool? Centered { get; set; } = false; + public bool? Static { get; set; } = false; + public AbpModalTagHelper(AbpModalTagHelperService tagHelperService) : base(tagHelperService) { 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 8106db4661..995a651e55 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 @@ -18,9 +18,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal var sb = new StringBuilder(); var attritubutes = output.Attributes.Select(a => " " + a.Name + "=\"" + a.Value + "\" ").ToList(); - var attritubutesAsJoin = string.Join(" ", attritubutes.ToArray()); - - sb.AppendLine("
"); + var attritubutesAsJoin = string.Join(" ", attritubutes.ToArray()); + + sb.AppendLine("
"); sb.AppendLine("
"); sb.AppendLine("
"); @@ -56,6 +56,16 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal return "modal-content"; } + protected virtual string GetDataAttributes() + { + + if (TagHelper.Static == true) + { + return "data-backdrop=\"static\" "; + } + return string.Empty; + } + protected virtual string CreatePostContent() { var sb = new StringBuilder(); From 3f946ecd69b4c035dfec69c2a87bcdef09028849 Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Fri, 20 Mar 2020 12:29:22 +0300 Subject: [PATCH 2/5] removed empty string --- .../TagHelpers/Modal/AbpModalTagHelperService.cs | 1 - 1 file changed, 1 deletion(-) 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 995a651e55..3524b27d35 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 @@ -58,7 +58,6 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal protected virtual string GetDataAttributes() { - if (TagHelper.Static == true) { return "data-backdrop=\"static\" "; From 6eb7804afd9e664d891a9df53d0decbacc9f4112 Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Fri, 20 Mar 2020 12:55:43 +0300 Subject: [PATCH 3/5] Added button alignment attribute to modal footer --- .../TagHelpers/Modal/AbpModalFooterTagHelper.cs | 7 ++++++- .../Modal/AbpModalFooterTagHelperService.cs | 14 ++++++++++++-- .../TagHelpers/Modal/ButtonsAlign.cs | 12 ++++++++++++ 3 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/ButtonsAlign.cs diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalFooterTagHelper.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalFooterTagHelper.cs index 2df1bf158a..7784f63671 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalFooterTagHelper.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalFooterTagHelper.cs @@ -1,8 +1,13 @@ -namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal +using Microsoft.AspNetCore.Razor.TagHelpers; + +namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal { + [HtmlTargetElement("abp-modal")] + [HtmlTargetElement("abp-modal-footer")] public class AbpModalFooterTagHelper : AbpTagHelper { public AbpModalButtons Buttons { get; set; } + public ButtonsAlign ButtonAlignment { get; set; } = ButtonsAlign.Default; public AbpModalFooterTagHelper(AbpModalFooterTagHelperService tagHelperService) : base(tagHelperService) 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 cff4646917..38cac85a6d 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 @@ -24,6 +24,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal { output.PostContent.SetHtmlContent(CreateContent()); } + ProcessButtonsAlignment(output); } protected virtual string CreateContent() @@ -49,9 +50,18 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal sb.AppendLine(""); sb.AppendLine(""); break; - } - + } + return sb.ToString(); } + + protected virtual void ProcessButtonsAlignment(TagHelperOutput output) + { + if (TagHelper.ButtonAlignment == ButtonsAlign.Default) + { + return; + } + output.Attributes.AddClass("justify-content-" + TagHelper.ButtonAlignment.ToString().ToLowerInvariant()); + } } } \ No newline at end of file diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/ButtonsAlign.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/ButtonsAlign.cs new file mode 100644 index 0000000000..7f6ba7b984 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/ButtonsAlign.cs @@ -0,0 +1,12 @@ +namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal +{ + public enum ButtonsAlign + { + Default, + Start, + Center, + Around, + Between, + End + } +} From 8b675324e5fc9b337cd5365ccc64390c0204c40f Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Fri, 20 Mar 2020 13:04:32 +0300 Subject: [PATCH 4/5] added missing commat at tutorial for multiple buttons --- .../Pages/Components/Modals.cshtml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Modals.cshtml b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Modals.cshtml index 74116488ad..ad2f4a602c 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Modals.cshtml +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Modals.cshtml @@ -45,16 +45,16 @@
-

-<abp-button button-type="Primary" data-toggle="modal" data-target="#myModal">Launch modal</abp-button>
-
-<abp-modal centered="true" size="Large" id="myModal">
-   <abp-modal-header title="Modal title"></abp-modal-header>
-   <abp-modal-body>
-       Woohoo, you're reading this text in a modal!
-   </abp-modal-body>
-   <abp-modal-footer buttons="(AbpModalButtons.Save|AbpModalButtons.Close)"></abp-modal-footer>
-</abp-modal>
+                

+    <abp-button button-type="Primary" data-toggle="modal" data-target="#myModal">Launch modal</abp-button>
+
+    <abp-modal centered="true" size="Large" id="myModal">
+    <abp-modal-header title="Modal title"></abp-modal-header>
+    <abp-modal-body>
+    Woohoo, you're reading this text in a modal!
+    </abp-modal-body>
+    <abp-modal-footer buttons="@(AbpModalButtons.Save|AbpModalButtons.Close)"></abp-modal-footer>
+    </abp-modal>
 
From d44974c9b768d3fcb0c5d51e3fb18609ce4a59df Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Fri, 20 Mar 2020 13:39:25 +0300 Subject: [PATCH 5/5] Removed htmltarget element abp-modal from abp-modal-footer tag --- .../TagHelpers/Modal/AbpModalFooterTagHelper.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalFooterTagHelper.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalFooterTagHelper.cs index 7784f63671..30de6d25f5 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalFooterTagHelper.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalFooterTagHelper.cs @@ -2,7 +2,6 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal { - [HtmlTargetElement("abp-modal")] [HtmlTargetElement("abp-modal-footer")] public class AbpModalFooterTagHelper : AbpTagHelper {