using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Mvc.ViewFeatures;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace StatusMonitor.Web.TagHelpers
{
[HtmlTargetElement("utc-time", Attributes = "time")]
///
/// Underlying class for tag.
///
public class UtcTimeTagHelper : TagHelper
{
public bool ShowDate { get; set; } = false;
public DateTime Time { get; set; }
[ViewContext]
public ViewContext ViewContext { get; set; }
///
/// Called by the framework. Renders tag helper.
///
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "span";
output.TagMode = TagMode.StartTagAndEndTag;
output.Attributes.Clear();
output.Attributes.Add("class", ShowDate ? "utc-date" : "utc-time");
output.Content.SetHtmlContent(Time.ToString());
await Task.CompletedTask;
}
}
}