mirror of https://github.com/abpframework/abp.git
7 changed files with 1280 additions and 0 deletions
@ -0,0 +1,35 @@ |
|||
using Microsoft.AspNetCore.Razor.TagHelpers; |
|||
|
|||
namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tooltip |
|||
{ |
|||
[HtmlTargetElement("button", Attributes = "abp-tooltip")] |
|||
[HtmlTargetElement("button", Attributes = "abp-tooltip-right")] |
|||
[HtmlTargetElement("button", Attributes = "abp-tooltip-left")] |
|||
[HtmlTargetElement("button", Attributes = "abp-tooltip-top")] |
|||
[HtmlTargetElement("button", Attributes = "abp-tooltip-bottom")] |
|||
[HtmlTargetElement("abp-button", Attributes = "abp-tooltip")] |
|||
[HtmlTargetElement("abp-button", Attributes = "abp-tooltip-right")] |
|||
[HtmlTargetElement("abp-button", Attributes = "abp-tooltip-left")] |
|||
[HtmlTargetElement("abp-button", Attributes = "abp-tooltip-top")] |
|||
[HtmlTargetElement("abp-button", Attributes = "abp-tooltip-bottom")] |
|||
public class AbpTooltipTagHelper : AbpTagHelper<AbpTooltipTagHelper, AbpTooltipTagHelperService> |
|||
{ |
|||
public string AbpTooltip { get; set; } |
|||
|
|||
public string AbpTooltipRight { get; set; } |
|||
|
|||
public string AbpTooltipLeft { get; set; } |
|||
|
|||
public string AbpTooltipTop { get; set; } |
|||
|
|||
public string AbpTooltipBottom { get; set; } |
|||
|
|||
public string Title { get; set; } |
|||
|
|||
public AbpTooltipTagHelper(AbpTooltipTagHelperService tagHelperService) |
|||
: base(tagHelperService) |
|||
{ |
|||
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,73 @@ |
|||
using Microsoft.AspNetCore.Razor.TagHelpers; |
|||
|
|||
namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tooltip |
|||
{ |
|||
public class AbpTooltipTagHelperService : AbpTagHelperService<AbpTooltipTagHelper> |
|||
{ |
|||
public override void Process(TagHelperContext context, TagHelperOutput output) |
|||
{ |
|||
SetDataToggle(context, output); |
|||
SetDataPlacement(context, output); |
|||
SetTooltipTitle(context, output); |
|||
} |
|||
|
|||
protected virtual void SetDataToggle(TagHelperContext context, TagHelperOutput output) |
|||
{ |
|||
output.Attributes.Add("data-toggle","tooltip"); |
|||
} |
|||
|
|||
protected virtual void SetDataPlacement(TagHelperContext context, TagHelperOutput output) |
|||
{ |
|||
output.Attributes.Add("data-placement", GetDirectory().ToString().ToLowerInvariant()); |
|||
} |
|||
|
|||
protected virtual void SetTooltipTitle(TagHelperContext context, TagHelperOutput output) |
|||
{ |
|||
output.Attributes.Add("title", GetTitle()); |
|||
} |
|||
|
|||
protected virtual TooltipDirectory GetDirectory() |
|||
{ |
|||
if (!string.IsNullOrWhiteSpace(TagHelper.AbpTooltipTop)) |
|||
{ |
|||
return TooltipDirectory.Top; |
|||
} |
|||
if (!string.IsNullOrWhiteSpace(TagHelper.AbpTooltipBottom)) |
|||
{ |
|||
return TooltipDirectory.Bottom; |
|||
} |
|||
if (!string.IsNullOrWhiteSpace(TagHelper.AbpTooltipRight)) |
|||
{ |
|||
return TooltipDirectory.Right; |
|||
} |
|||
if (!string.IsNullOrWhiteSpace(TagHelper.AbpTooltipLeft)) |
|||
{ |
|||
return TooltipDirectory.Left; |
|||
} |
|||
|
|||
return TooltipDirectory.Bottom; |
|||
} |
|||
|
|||
protected virtual string GetTitle() |
|||
{ |
|||
if (!string.IsNullOrWhiteSpace(TagHelper.AbpTooltipTop)) |
|||
{ |
|||
return TagHelper.AbpTooltipTop; |
|||
} |
|||
if (!string.IsNullOrWhiteSpace(TagHelper.AbpTooltipRight)) |
|||
{ |
|||
return TagHelper.AbpTooltipRight; |
|||
} |
|||
if (!string.IsNullOrWhiteSpace(TagHelper.AbpTooltipBottom)) |
|||
{ |
|||
return TagHelper.AbpTooltipBottom; |
|||
} |
|||
if (!string.IsNullOrWhiteSpace(TagHelper.AbpTooltipLeft)) |
|||
{ |
|||
return TagHelper.AbpTooltipLeft; |
|||
} |
|||
|
|||
return TagHelper.AbpTooltip; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tooltip |
|||
{ |
|||
public enum TooltipDirectory |
|||
{ |
|||
Default, |
|||
Right, |
|||
Left, |
|||
Bottom, |
|||
Top |
|||
} |
|||
} |
|||
File diff suppressed because it is too large
@ -0,0 +1,53 @@ |
|||
@page |
|||
@model Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Components.TooltipsModel |
|||
@{ |
|||
ViewData["Title"] = "Badges"; |
|||
} |
|||
|
|||
<h2>Tooltips</h2> |
|||
|
|||
<p>Based on <a href="https://getbootstrap.com/docs/4.1/components/tooltips/" target="_blank"> Bootstrap Tooltips</a>.</p> |
|||
|
|||
<h4># Tooltips Examples</h4> |
|||
|
|||
<div class="demo-with-code"> |
|||
<div class="demo-area"> |
|||
|
|||
<abp-button button-type="Dark" abp-tooltip="Tooltip Default"> |
|||
Tooltip Default |
|||
</abp-button> |
|||
<abp-button button-type="Primary" abp-tooltip-top="Tooltip on top"> |
|||
Tooltip on top |
|||
</abp-button> |
|||
<abp-button button-type="Warning" abp-tooltip-right="Tooltip on right"> |
|||
Tooltip on right |
|||
</abp-button> |
|||
<abp-button button-type="Danger" abp-tooltip-bottom="Tooltip on bottom"> |
|||
Tooltip on bottom |
|||
</abp-button> |
|||
<abp-button button-type="Success" abp-tooltip-left="Tooltip on left"> |
|||
Tooltip on left |
|||
</abp-button> |
|||
|
|||
</div> |
|||
<div class="code-area"> |
|||
<pre> |
|||
<abp-button button-type="Dark" abp-tooltip="Tooltip Default"> |
|||
Tooltip Default |
|||
</abp-button> |
|||
<abp-button button-type="Primary" abp-tooltip-top="Tooltip on top"> |
|||
Tooltip on top |
|||
</abp-button> |
|||
<abp-button button-type="Warning" abp-tooltip-right="Tooltip on right"> |
|||
Tooltip on right |
|||
</abp-button> |
|||
<abp-button button-type="Danger" abp-tooltip-bottom="Tooltip on bottom"> |
|||
Tooltip on bottom |
|||
</abp-button> |
|||
<abp-button button-type="Success" abp-tooltip-left="Tooltip on left"> |
|||
Tooltip on left |
|||
</abp-button> |
|||
</pre> |
|||
</div> |
|||
</div> |
|||
|
|||
@ -0,0 +1,17 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Threading.Tasks; |
|||
using Microsoft.AspNetCore.Mvc; |
|||
using Microsoft.AspNetCore.Mvc.RazorPages; |
|||
|
|||
namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Components |
|||
{ |
|||
public class TooltipsModel : PageModel |
|||
{ |
|||
public void OnGet() |
|||
{ |
|||
|
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue