Browse Source

Enable nullable annotations for Volo.Abp.AspNetCore.Mvc.UI.Bootstrap

pull/17094/head
liangshiwei 3 years ago
parent
commit
46e71cb24e
  1. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/Microsoft/AspNetCore/Razor/TagHelpers/AbpTagHelperAttributeListExtensions.cs
  2. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/AbpTagHelper.cs
  3. 6
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/AbpTagHelperLocalizer.cs
  4. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/AbpTagHelperService.cs
  5. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Breadcrumb/AbpBreadcrumbItemTagHelper.cs
  6. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Breadcrumb/BreadcrumbItem.cs
  7. 6
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonTagHelper.cs
  8. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonTagHelperServiceBase.cs
  9. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpLinkButtonTagHelper.cs
  10. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/IButtonTagHelperBase.cs
  11. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Card/AbpCardBodyTagHelper.cs
  12. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Card/AbpCardBodyTagHelperService.cs
  13. 8
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Carousel/AbpCarouselItemTagHelper.cs
  14. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Carousel/AbpCarouselItemTagHelperService.cs
  15. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Carousel/AbpCarouselTagHelper.cs
  16. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Carousel/AbpCarouselTagHelperService.cs
  17. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpAccordionItemTagHelper.cs
  18. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpAccordionTagHelper.cs
  19. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpCollapseBodyTagHelper.cs
  20. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpCollapseButtonTagHelper.cs
  21. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Dropdown/AbpDropdownButtonTagHelper.cs
  22. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Extensions/ModelExplorerExtensions.cs
  23. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Extensions/TagHelperContextExtensions.cs
  24. 20
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelper.cs
  25. 12
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelperService.cs
  26. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpIdNameTagHelper.cs
  27. 16
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelper.cs
  28. 6
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs
  29. 6
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpRadioInputTagHelper.cs
  30. 6
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpRadioInputTagHelperService.cs
  31. 28
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelper.cs
  32. 6
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelperService.cs
  33. 32
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerBaseTagHelper.cs
  34. 48
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerBaseTagHelperService.cs
  35. 22
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerOptions.cs
  36. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerRange.cs
  37. 3
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerTagHelper.cs
  38. 14
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerTagHelperService.cs
  39. 6
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDateRangePickerTagHelper.cs
  40. 18
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDateRangePickerTagHelperService.cs
  41. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/DatePickerOptionsAttribute.cs
  42. 29
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/IAbpDatePickerOptions.cs
  43. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/FormGroupItem.cs
  44. 8
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/SelectItems.cs
  45. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/IAbpTagHelperLocalizer.cs
  46. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/ListGroup/AbpListGroupItemTagHelper.cs
  47. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalHeaderTagHelper.cs
  48. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Nav/AbpNavbarToggleTagHelper.cs
  49. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Nav/NavItem.cs
  50. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/AbpPaginationTagHelper.cs
  51. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/PageItem.cs
  52. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/PagerModel.cs
  53. 10
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Popover/AbpPopoverTagHelper.cs
  54. 10
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Popover/AbpPopoverTagHelperService.cs
  55. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabDropdownTagHelper.cs
  56. 8
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabLinkTagHelper.cs
  57. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabLinkTagHelperService.cs
  58. 6
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabTagHelper.cs
  59. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabTagHelperService.cs
  60. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabsTagHelper.cs
  61. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/TabItem.cs
  62. 12
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tooltip/AbpTooltipTagHelper.cs
  63. 10
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tooltip/AbpTooltipTagHelperService.cs
  64. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.csproj
  65. 2
      framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpDashboardOptionsProvider.cs

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/Microsoft/AspNetCore/Razor/TagHelpers/AbpTagHelperAttributeListExtensions.cs

@ -22,7 +22,7 @@ public static class AbpTagHelperAttributeListExtensions
}
else
{
var existingClasses = classAttribute.Value.ToString().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList();
var existingClasses = classAttribute.Value.ToString()!.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList();
existingClasses.AddIfNotContains(className);
attributes.SetAttribute("class", string.Join(" ", existingClasses));
}
@ -41,7 +41,7 @@ public static class AbpTagHelperAttributeListExtensions
return;
}
var classList = classAttribute.Value.ToString().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList();
var classList = classAttribute.Value.ToString()!.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList();
classList.RemoveAll(c => c == className);
attributes.SetAttribute("class", classList.JoinAsString(" "));

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/AbpTagHelper.cs

@ -23,7 +23,7 @@ public abstract class AbpTagHelper<TTagHelper, TService> : AbpTagHelper
[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; }
public ViewContext ViewContext { get; set; } = default!;
protected AbpTagHelper(TService service)
{

6
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/AbpTagHelperLocalizer.cs

@ -27,12 +27,12 @@ public class AbpTagHelperLocalizer : IAbpTagHelperLocalizer
: localizer[text].Value;
}
public IStringLocalizer GetLocalizerOrNull(ModelExplorer explorer)
public IStringLocalizer? GetLocalizerOrNull(ModelExplorer explorer)
{
return GetLocalizerOrNull(explorer.Container.ModelType.Assembly);
}
public IStringLocalizer GetLocalizerOrNull(Assembly assembly)
public IStringLocalizer? GetLocalizerOrNull(Assembly assembly)
{
var resourceType = GetResourceType(assembly);
return resourceType == null
@ -40,7 +40,7 @@ public class AbpTagHelperLocalizer : IAbpTagHelperLocalizer
: _stringLocalizerFactory.Create(resourceType);
}
private Type GetResourceType(Assembly assembly)
private Type? GetResourceType(Assembly assembly)
{
return _options
.AssemblyResources

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/AbpTagHelperService.cs

@ -23,7 +23,7 @@ public abstract class AbpTagHelperService<TTagHelper> : IAbpTagHelperService<TTa
protected const string AbpTabItemSelectedPlaceholder = "{_Tab_Selected_Placeholder_}";
protected const string AbpAccordionParentIdPlaceholder = "{_Parent_Accordion_Id_}";
public TTagHelper TagHelper { get; internal set; }
public TTagHelper TagHelper { get; internal set; } = default!;
public virtual int Order { get; }

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Breadcrumb/AbpBreadcrumbItemTagHelper.cs

@ -2,9 +2,9 @@
public class AbpBreadcrumbItemTagHelper : AbpTagHelper<AbpBreadcrumbItemTagHelper, AbpBreadcrumbItemTagHelperService>
{
public string Href { get; set; }
public string? Href { get; set; }
public string Title { get; set; }
public string Title { get; set; } = default!;
public bool Active { get; set; }

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Breadcrumb/BreadcrumbItem.cs

@ -2,7 +2,7 @@
public class BreadcrumbItem
{
public string Html { get; set; }
public string Html { get; set; } = default!;
public bool Active { get; set; }
}

6
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonTagHelper.cs

@ -9,11 +9,11 @@ public class AbpButtonTagHelper : AbpTagHelper<AbpButtonTagHelper, AbpButtonTagH
public AbpButtonSize Size { get; set; } = AbpButtonSize.Default;
public string BusyText { get; set; }
public string? BusyText { get; set; }
public string Text { get; set; }
public string? Text { get; set; }
public string Icon { get; set; }
public string? Icon { get; set; }
public bool? Disabled { get; set; }

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonTagHelperServiceBase.cs

@ -57,7 +57,7 @@ public abstract class AbpButtonTagHelperServiceBase<TTagHelper> : AbpTagHelperSe
case FontIconType.FontAwesome:
return "fa fa-" + TagHelper.Icon;
default:
return TagHelper.Icon;
return TagHelper.Icon!;
}
}
@ -69,7 +69,7 @@ public abstract class AbpButtonTagHelperServiceBase<TTagHelper> : AbpTagHelperSe
}
var span = new TagBuilder("span");
span.InnerHtml.AppendHtml(TagHelper.Text);
span.InnerHtml.AppendHtml(TagHelper.Text!);
output.Content.AppendHtml(span);
}

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpLinkButtonTagHelper.cs

@ -11,9 +11,9 @@ public class AbpLinkButtonTagHelper : AbpTagHelper<AbpLinkButtonTagHelper, AbpLi
public AbpButtonSize Size { get; set; } = AbpButtonSize.Default;
public string Text { get; set; }
public string? Text { get; set; }
public string Icon { get; set; }
public string? Icon { get; set; }
public bool? Disabled { get; set; }

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/IButtonTagHelperBase.cs

@ -6,9 +6,9 @@ public interface IButtonTagHelperBase
AbpButtonSize Size { get; }
string Text { get; }
string? Text { get; }
string Icon { get; }
string? Icon { get; }
bool? Disabled { get; }

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Card/AbpCardBodyTagHelper.cs

@ -2,9 +2,9 @@
public class AbpCardBodyTagHelper : AbpTagHelper<AbpCardBodyTagHelper, AbpCardBodyTagHelperService>
{
public string Title { get; set; }
public string? Title { get; set; }
public string Subtitle { get; set; }
public string? Subtitle { get; set; }
public AbpCardBodyTagHelper(AbpCardBodyTagHelperService tagHelperService)
: base(tagHelperService)

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Card/AbpCardBodyTagHelperService.cs

@ -22,7 +22,7 @@ public class AbpCardBodyTagHelperService : AbpTagHelperService<AbpCardBodyTagHel
{
var cardTitle = new TagBuilder(AbpCardTitleTagHelper.DefaultHeading.ToHtmlTag());
cardTitle.AddCssClass("card-title");
cardTitle.InnerHtml.AppendHtml(TagHelper.Title);
cardTitle.InnerHtml.AppendHtml(TagHelper.Title!);
output.PreContent.AppendHtml(cardTitle);
}
}
@ -33,7 +33,7 @@ public class AbpCardBodyTagHelperService : AbpTagHelperService<AbpCardBodyTagHel
{
var cardSubtitle = new TagBuilder(AbpCardSubtitleTagHelper.DefaultHeading.ToHtmlTag());
cardSubtitle.AddCssClass("card-subtitle text-muted mb-2");
cardSubtitle.InnerHtml.AppendHtml(TagHelper.Subtitle);
cardSubtitle.InnerHtml.AppendHtml(TagHelper.Subtitle!);
output.PreContent.AppendHtml(cardSubtitle);
}
}

8
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Carousel/AbpCarouselItemTagHelper.cs

@ -4,13 +4,13 @@ public class AbpCarouselItemTagHelper : AbpTagHelper<AbpCarouselItemTagHelper, A
{
public bool? Active { get; set; }
public string Src { get; set; }
public string Src { get; set; } = default!;
public string Alt { get; set; }
public string Alt { get; set; } = default!;
public string CaptionTitle { get; set; }
public string? CaptionTitle { get; set; }
public string Caption { get; set; }
public string? Caption { get; set; }
public AbpCarouselItemTagHelper(AbpCarouselItemTagHelperService tagHelperService)
: base(tagHelperService)

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Carousel/AbpCarouselItemTagHelperService.cs

@ -66,10 +66,10 @@ public class AbpCarouselItemTagHelperService : AbpTagHelperService<AbpCarouselIt
}
var title = new TagBuilder("h5");
title.InnerHtml.AppendHtml(TagHelper.CaptionTitle);
title.InnerHtml.AppendHtml(TagHelper.CaptionTitle!);
var caption = new TagBuilder("p");
caption.InnerHtml.AppendHtml(TagHelper.Caption);
caption.InnerHtml.AppendHtml(TagHelper.Caption!);
var wrapper = new TagBuilder("div");
wrapper.AddCssClass("carousel-caption d-none d-md-block");

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Carousel/AbpCarouselTagHelper.cs

@ -2,7 +2,7 @@
public class AbpCarouselTagHelper : AbpTagHelper<AbpCarouselTagHelper, AbpCarouselTagHelperService>
{
public string Id { get; set; }
public string? Id { get; set; }
public bool? Crossfade { get; set; }

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Carousel/AbpCarouselTagHelperService.cs

@ -138,7 +138,7 @@ public class AbpCarouselTagHelperService : AbpTagHelperService<AbpCarouselTagHel
{
if (!itemList.Any(it => it.Active) && itemList.Count > 0)
{
itemList.FirstOrDefault().Active = true;
itemList.FirstOrDefault()!.Active = true;
}
}

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpAccordionItemTagHelper.cs

@ -2,9 +2,9 @@
public class AbpAccordionItemTagHelper : AbpTagHelper<AbpAccordionItemTagHelper, AbpAccordionItemTagHelperService>
{
public string Id { get; set; }
public string? Id { get; set; }
public string Title { get; set; }
public string Title { get; set; } = default!;
public bool? Active { get; set; }

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpAccordionTagHelper.cs

@ -2,7 +2,7 @@
public class AbpAccordionTagHelper : AbpTagHelper<AbpAccordionTagHelper, AbpAccordionTagHelperService>
{
public string Id { get; set; }
public string? Id { get; set; }
public AbpAccordionTagHelper(AbpAccordionTagHelperService tagHelperService)
: base(tagHelperService)

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpCollapseBodyTagHelper.cs

@ -2,7 +2,7 @@
public class AbpCollapseBodyTagHelper : AbpTagHelper<AbpCollapseBodyTagHelper, AbpCollapseBodyTagHelperService>
{
public string Id { get; set; }
public string? Id { get; set; }
public bool? Multi { get; set; }

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpCollapseButtonTagHelper.cs

@ -8,7 +8,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Collapse;
public class AbpCollapseButtonTagHelper : AbpTagHelper<AbpCollapseButtonTagHelper, AbpCollapseButtonTagHelperService>
{
[HtmlAttributeName("abp-collapse-id")]
public string BodyId { get; set; }
public string BodyId { get; set; } = default!;
public AbpCollapseButtonTagHelper(AbpCollapseButtonTagHelperService tagHelperService)
: base(tagHelperService)

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Dropdown/AbpDropdownButtonTagHelper.cs

@ -4,7 +4,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Dropdown;
public class AbpDropdownButtonTagHelper : AbpTagHelper<AbpDropdownButtonTagHelper, AbpDropdownButtonTagHelperService>
{
public string Text { get; set; }
public string? Text { get; set; }
public AbpButtonSize Size { get; set; } = AbpButtonSize.Default;
@ -12,7 +12,7 @@ public class AbpDropdownButtonTagHelper : AbpTagHelper<AbpDropdownButtonTagHelpe
public AbpButtonType ButtonType { get; set; } = AbpButtonType.Default;
public string Icon { get; set; }
public string? Icon { get; set; }
public FontIconType IconType { get; set; } = FontIconType.FontAwesome;

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Extensions/ModelExplorerExtensions.cs

@ -7,9 +7,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Extensions;
public static class ModelExplorerExtensions
{
public static T GetAttribute<T>(this ModelExplorer property) where T : Attribute
public static T? GetAttribute<T>(this ModelExplorer property) where T : Attribute
{
return property?.Metadata?.ContainerType?.GetTypeInfo()?.GetProperty(property.Metadata.PropertyName)?.GetCustomAttribute<T>();
return property?.Metadata?.ContainerType?.GetTypeInfo()?.GetProperty(property.Metadata.PropertyName!)?.GetCustomAttribute<T>();
}
public static int GetDisplayOrder(this ModelExplorer explorer)

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Extensions/TagHelperContextExtensions.cs

@ -11,7 +11,7 @@ public static class TagHelperContextExtensions
{
if (!context.Items.ContainsKey(key))
{
return default(T);
return default(T)!;
}
return (T)context.Items[key];

20
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelper.cs

@ -12,7 +12,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form;
public class AbpDynamicFormTagHelper : AbpTagHelper<AbpDynamicFormTagHelper, AbpDynamicFormTagHelperService>
{
[HtmlAttributeName("abp-model")]
public ModelExpression Model { get; set; }
public ModelExpression Model { get; set; } = default!;
[HtmlAttributeName("column-size")]
public ColumnSize ColumnSize { get; set; }
@ -23,7 +23,7 @@ public class AbpDynamicFormTagHelper : AbpTagHelper<AbpDynamicFormTagHelper, Abp
#region MvcFormTagHelperAttiributes
private IDictionary<string, string> _routeValues;
private IDictionary<string, string>? _routeValues;
private const string ActionAttributeName = "asp-action";
private const string AreaAttributeName = "asp-area";
@ -36,28 +36,28 @@ public class AbpDynamicFormTagHelper : AbpTagHelper<AbpDynamicFormTagHelper, Abp
private const string RouteValuesPrefix = "asp-route-";
[HtmlAttributeName(ActionAttributeName)]
public string Action { get; set; }
public string Action { get; set; } = default!;
[HtmlAttributeName(ControllerAttributeName)]
public string Controller { get; set; }
public string Controller { get; set; } = default!;
[HtmlAttributeName(AreaAttributeName)]
public string Area { get; set; }
public string Area { get; set; } = default!;
[HtmlAttributeName(PageAttributeName)]
public string Page { get; set; }
public string Page { get; set; } = default!;
[HtmlAttributeName(PageHandlerAttributeName)]
public string PageHandler { get; set; }
public string PageHandler { get; set; } = default!;
[HtmlAttributeName(FragmentAttributeName)]
public string Fragment { get; set; }
public string Fragment { get; set; } = default!;
[HtmlAttributeName(RouteAttributeName)]
public string Route { get; set; }
public string Route { get; set; } = default!;
[EditorBrowsable(EditorBrowsableState.Never)]
public string Method { get; set; }
public string Method { get; set; } = default!;
[HtmlAttributeName(RouteValuesDictionaryName, DictionaryAttributePrefix = RouteValuesPrefix)]
public IDictionary<string, string> RouteValues

12
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelperService.cs

@ -201,7 +201,7 @@ public class AbpDynamicFormTagHelperService : AbpTagHelperService<AbpDynamicForm
private AbpTagHelper GetAbpDateRangeInputTagHelper(TagHelperContext context, TagHelperOutput output, ModelExpression model)
{
var modelAttribute = model.ModelExplorer.GetAttribute<DateRangePickerAttribute>();
var modelAttribute = model.ModelExplorer.GetAttribute<DateRangePickerAttribute>()!;
var pickerId = modelAttribute.PickerId;
@ -214,16 +214,16 @@ public class AbpDynamicFormTagHelperService : AbpTagHelperService<AbpDynamicForm
abpDateRangeInputTagHelper.AspForStart = model;
var otherModelExists = TryToGetOtherDateModel(model, pickerId, out var otherModel);
if (otherModelExists && otherModel.GetAttribute<DateRangePickerAttribute>().IsEnd)
if (otherModelExists && otherModel!.GetAttribute<DateRangePickerAttribute>()!.IsEnd)
{
abpDateRangeInputTagHelper.AspForEnd = ModelExplorerToModelExpressionConverter(otherModel);
abpDateRangeInputTagHelper.AspForEnd = ModelExplorerToModelExpressionConverter(otherModel!);
}
}
return abpDateRangeInputTagHelper;
}
private bool TryToGetOtherDateModel(ModelExpression model, string pickerId, out ModelExplorer otherModel)
private bool TryToGetOtherDateModel(ModelExpression model, string pickerId, out ModelExplorer? otherModel)
{
otherModel = TagHelper.Model.ModelExplorer.Properties.SingleOrDefault(x => x != model.ModelExplorer && x.GetAttribute<DateRangePickerAttribute>()?.PickerId == pickerId);
return otherModel != null;
@ -266,7 +266,7 @@ public class AbpDynamicFormTagHelperService : AbpTagHelperService<AbpDynamicForm
protected virtual AbpTagHelper GetAbpRadioInputTagHelper(ModelExpression model)
{
var radioButtonAttribute = model.ModelExplorer.GetAttribute<AbpRadioButton>();
var radioButtonAttribute = model.ModelExplorer.GetAttribute<AbpRadioButton>()!;
var abpRadioInputTagHelper = _serviceProvider.GetRequiredService<AbpRadioInputTagHelper>();
abpRadioInputTagHelper.AspFor = model;
abpRadioInputTagHelper.AspItems = null;
@ -356,7 +356,7 @@ public class AbpDynamicFormTagHelperService : AbpTagHelperService<AbpDynamicForm
return type.ToString().StartsWith("System.Collections.Generic.IEnumerable`") || type.ToString().StartsWith("System.Collections.Generic.List`");
}
protected virtual bool IsCsharpClassOrPrimitive(Type type)
protected virtual bool IsCsharpClassOrPrimitive(Type? type)
{
if (type == null)
{

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpIdNameTagHelper.cs

@ -18,7 +18,7 @@ public class AbpIdNameTagHelper : AbpTagHelper
public override int Order => -1000 - 1;
[HtmlAttributeName("abp-id-name")]
public ModelExpression IdNameFor { get; set; }
public ModelExpression? IdNameFor { get; set; }
private readonly MvcViewOptions _mvcViewOptions;

16
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelper.cs

@ -6,11 +6,11 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form;
public class AbpInputTagHelper : AbpTagHelper<AbpInputTagHelper, AbpInputTagHelperService>
{
public ModelExpression AspFor { get; set; }
public ModelExpression AspFor { get; set; } = default!;
public string Label { get; set; }
public string? Label { get; set; }
public string LabelTooltip { get; set; }
public string? LabelTooltip { get; set; }
public string LabelTooltipIcon { get; set; } = "bi-info-circle";
@ -19,7 +19,7 @@ public class AbpInputTagHelper : AbpTagHelper<AbpInputTagHelper, AbpInputTagHelp
public bool LabelTooltipHtml { get; set; } = false;
[HtmlAttributeName("info")]
public string InfoText { get; set; }
public string? InfoText { get; set; }
[HtmlAttributeName("disabled")]
public bool IsDisabled { get; set; } = false;
@ -30,7 +30,7 @@ public class AbpInputTagHelper : AbpTagHelper<AbpInputTagHelper, AbpInputTagHelp
public bool AutoFocus { get; set; }
[HtmlAttributeName("type")]
public string InputTypeName { get; set; }
public string? InputTypeName { get; set; }
public AbpFormControlSize Size { get; set; } = AbpFormControlSize.Default;
@ -38,11 +38,11 @@ public class AbpInputTagHelper : AbpTagHelper<AbpInputTagHelper, AbpInputTagHelp
public bool DisplayRequiredSymbol { get; set; } = true;
[HtmlAttributeName("asp-format")]
public string Format { get; set; }
public string? Format { get; set; }
public string Name { get; set; }
public string? Name { get; set; }
public string Value { get; set; }
public string? Value { get; set; }
public bool SuppressLabel { get; set; }

6
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs

@ -397,7 +397,7 @@ public class AbpInputTagHelperService : AbpTagHelperService<AbpInputTagHelper>
}
}
protected virtual TextArea TryGetTextAreaAttribute(TagHelperOutput output)
protected virtual TextArea? TryGetTextAreaAttribute(TagHelperOutput output)
{
var textAreaAttribute = TagHelper.AspFor.ModelExplorer.GetAttribute<TextArea>();
@ -479,14 +479,14 @@ public class AbpInputTagHelperService : AbpTagHelperService<AbpInputTagHelper>
protected virtual bool IsOutputHidden(TagHelperOutput inputTag)
{
return inputTag.Attributes.Any(a => a.Name.ToLowerInvariant() == "type" && a.Value.ToString().ToLowerInvariant() == "hidden");
return inputTag.Attributes.Any(a => a.Name.ToLowerInvariant() == "type" && a.Value.ToString()!.ToLowerInvariant() == "hidden");
}
protected virtual string GetIdAttributeValue(TagHelperOutput inputTag)
{
var idAttr = inputTag.Attributes.FirstOrDefault(a => a.Name == "id");
return idAttr != null ? idAttr.Value.ToString() : string.Empty;
return idAttr != null ? idAttr.Value.ToString()! : string.Empty;
}
protected virtual string GetIdAttributeAsString(TagHelperOutput inputTag)

6
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpRadioInputTagHelper.cs

@ -8,15 +8,15 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form;
[HtmlTargetElement("abp-radio")]
public class AbpRadioInputTagHelper : AbpTagHelper<AbpRadioInputTagHelper, AbpRadioInputTagHelperService>
{
public ModelExpression AspFor { get; set; }
public ModelExpression AspFor { get; set; } = default!;
public string Label { get; set; }
public string? Label { get; set; }
public bool? Inline { get; set; }
public bool? Disabled { get; set; }
public IEnumerable<SelectListItem> AspItems { get; set; }
public IEnumerable<SelectListItem>? AspItems { get; set; }
public AbpRadioInputTagHelper(AbpRadioInputTagHelperService tagHelperService)
: base(tagHelperService)

6
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpRadioInputTagHelperService.cs

@ -113,12 +113,12 @@ public class AbpRadioInputTagHelperService : AbpTagHelperService<AbpRadioInputTa
var localizer = _tagHelperLocalizer.GetLocalizerOrNull(explorer);
var selectItems = explorer.Metadata.IsEnum ? explorer.ModelType.GetTypeInfo().GetMembers(BindingFlags.Public | BindingFlags.Static)
.Select((t, i) => new SelectListItem { Value = i.ToString(), Text = GetLocalizedPropertyName(localizer, explorer.ModelType, t.Name) }).ToList() : null;
.Select((t, i) => new SelectListItem { Value = i.ToString(), Text = GetLocalizedPropertyName(localizer, explorer.ModelType, t.Name) }).ToList() : new List<SelectListItem>();
return selectItems;
}
protected virtual string GetLocalizedPropertyName(IStringLocalizer localizer, Type enumType, string propertyName)
protected virtual string GetLocalizedPropertyName(IStringLocalizer? localizer, Type enumType, string propertyName)
{
if (localizer == null)
{
@ -159,7 +159,7 @@ public class AbpRadioInputTagHelperService : AbpTagHelperService<AbpRadioInputTa
}
}
protected virtual string GetSelectedValue(TagHelperContext context, TagHelperOutput output)
protected virtual string? GetSelectedValue(TagHelperContext context, TagHelperOutput output)
{
if (TagHelper.AspFor.ModelExplorer.Metadata.IsEnum)
{

28
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelper.cs

@ -8,41 +8,41 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form;
[OutputElementHint("select")]
public class AbpSelectTagHelper : AbpTagHelper<AbpSelectTagHelper, AbpSelectTagHelperService>
{
public ModelExpression AspFor { get; set; }
public ModelExpression AspFor { get; set; } = default!;
public string Label { get; set; }
public string? Label { get; set; }
public bool SuppressLabel { get; set; }
public IEnumerable<SelectListItem> AspItems { get; set; }
public IEnumerable<SelectListItem>? AspItems { get; set; }
public AbpFormControlSize Size { get; set; } = AbpFormControlSize.Default;
[HtmlAttributeName("info")]
public string InfoText { get; set; }
public string? InfoText { get; set; }
[HtmlAttributeName("required-symbol")]
public bool DisplayRequiredSymbol { get; set; } = true;
public string AutocompleteApiUrl { get; set; }
public string? AutocompleteApiUrl { get; set; }
public string AutocompleteItemsPropertyName { get; set; }
public string? AutocompleteItemsPropertyName { get; set; }
public string AutocompleteDisplayPropertyName { get; set; }
public string? AutocompleteDisplayPropertyName { get; set; }
public string AutocompleteValuePropertyName { get; set; }
public string? AutocompleteValuePropertyName { get; set; }
public string AutocompleteFilterParamName { get; set; }
public string? AutocompleteFilterParamName { get; set; }
public string AutocompleteSelectedItemName { get; set; }
public string? AutocompleteSelectedItemName { get; set; }
public string AutocompleteSelectedItemValue { get; set; }
public string? AutocompleteSelectedItemValue { get; set; }
public string AutocompleteParentSelector { get; set; }
public string? AutocompleteParentSelector { get; set; }
public string AllowClear { get; set; }
public string? AllowClear { get; set; }
public string Placeholder { get; set; }
public string? Placeholder { get; set; }
[HtmlAttributeName("floating-label")]

6
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelperService.cs

@ -266,7 +266,7 @@ public class AbpSelectTagHelperService : AbpTagHelperService<AbpSelectTagHelper>
if (isNullableType)
{
enumType = Nullable.GetUnderlyingType(explorer.ModelType);
enumType = Nullable.GetUnderlyingType(explorer.ModelType)!;
selectItems.Add(new SelectListItem());
}
@ -279,7 +279,7 @@ public class AbpSelectTagHelperService : AbpTagHelperService<AbpSelectTagHelper>
{
containerLocalizer,
_stringLocalizerFactory.CreateDefaultOrNull()
});
}!);
selectItems.Add(new SelectListItem
{
Value = enumValue.ToString(),
@ -386,7 +386,7 @@ public class AbpSelectTagHelperService : AbpTagHelperService<AbpSelectTagHelper>
{
var idAttr = inputTag.Attributes.FirstOrDefault(a => a.Name == "id");
return idAttr != null ? idAttr.Value.ToString() : string.Empty;
return idAttr != null ? idAttr.Value.ToString()! : string.Empty;
}
protected virtual string GetIdAttributeAsString(TagHelperOutput inputTag)

32
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerBaseTagHelper.cs

@ -11,9 +11,9 @@ public abstract class
{
private IAbpDatePickerOptions _abpDatePickerOptionsImplementation;
public string Label { get; set; }
public string? Label { get; set; }
public string LabelTooltip { get; set; }
public string? LabelTooltip { get; set; }
public string LabelTooltipIcon { get; set; } = "bi-info-circle";
@ -22,7 +22,7 @@ public abstract class
public bool LabelTooltipHtml { get; set; } = false;
[HtmlAttributeName("info")]
public string InfoText { get; set; }
public string? InfoText { get; set; }
[HtmlAttributeName("disabled")]
public bool IsDisabled { get; set; } = false;
@ -37,9 +37,9 @@ public abstract class
[HtmlAttributeName("required-symbol")]
public bool DisplayRequiredSymbol { get; set; } = true;
public string Name { get; set; }
public string? Name { get; set; }
public string Value { get; set; }
public string? Value { get; set; }
public bool SuppressLabel { get; set; }
@ -53,7 +53,7 @@ public abstract class
_abpDatePickerOptionsImplementation = options;
}
public string PickerId {
public string? PickerId {
get => _abpDatePickerOptionsImplementation.PickerId;
set => _abpDatePickerOptionsImplementation.PickerId = value;
}
@ -68,7 +68,7 @@ public abstract class
set => _abpDatePickerOptionsImplementation.MaxDate = value;
}
public object MaxSpan {
public object? MaxSpan {
get => _abpDatePickerOptionsImplementation.MaxSpan;
set => _abpDatePickerOptionsImplementation.MaxSpan = value;
}
@ -113,7 +113,7 @@ public abstract class
set => _abpDatePickerOptionsImplementation.TimePickerSeconds = value;
}
public List<AbpDatePickerRange> Ranges {
public List<AbpDatePickerRange>? Ranges {
get => _abpDatePickerOptionsImplementation.Ranges;
set => _abpDatePickerOptionsImplementation.Ranges = value;
}
@ -138,27 +138,27 @@ public abstract class
set => _abpDatePickerOptionsImplementation.Drops = value;
}
public string ButtonClasses {
public string? ButtonClasses {
get => _abpDatePickerOptionsImplementation.ButtonClasses;
set => _abpDatePickerOptionsImplementation.ButtonClasses = value;
}
public string TodayButtonClasses {
public string? TodayButtonClasses {
get => _abpDatePickerOptionsImplementation.TodayButtonClasses;
set => _abpDatePickerOptionsImplementation.TodayButtonClasses = value;
}
public string ApplyButtonClasses {
public string? ApplyButtonClasses {
get => _abpDatePickerOptionsImplementation.ApplyButtonClasses;
set => _abpDatePickerOptionsImplementation.ApplyButtonClasses = value;
}
public string ClearButtonClasses {
public string? ClearButtonClasses {
get => _abpDatePickerOptionsImplementation.ClearButtonClasses;
set => _abpDatePickerOptionsImplementation.ClearButtonClasses = value;
}
public object Locale {
public object? Locale {
get => _abpDatePickerOptionsImplementation.Locale;
set => _abpDatePickerOptionsImplementation.Locale = value;
}
@ -178,12 +178,12 @@ public abstract class
set => _abpDatePickerOptionsImplementation.AutoUpdateInput = value;
}
public string ParentEl {
public string? ParentEl {
get => _abpDatePickerOptionsImplementation.ParentEl;
set => _abpDatePickerOptionsImplementation.ParentEl = value;
}
public string DateFormat {
public string? DateFormat {
get => _abpDatePickerOptionsImplementation.DateFormat;
set => _abpDatePickerOptionsImplementation.DateFormat = value;
}
@ -213,7 +213,7 @@ public abstract class
set => _abpDatePickerOptionsImplementation.IsIso = value;
}
public object Options {
public object? Options {
get => _abpDatePickerOptionsImplementation.Options;
set => _abpDatePickerOptionsImplementation.Options = value;
}

48
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerBaseTagHelperService.cs

@ -46,7 +46,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
return string.Empty;
}
},
{typeof(DateTime?), o => ((DateTime?) o)?.ToString("O")},
{typeof(DateTime?), o => ((DateTime?) o)?.ToString("O")!},
{
typeof(DateTimeOffset), o =>
{
@ -58,7 +58,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
return string.Empty;
}
},
{typeof(DateTimeOffset?), o => ((DateTimeOffset?) o)?.ToString("O")}
{typeof(DateTimeOffset?), o => ((DateTimeOffset?) o)?.ToString("O")!}
};
protected readonly IJsonSerializer JsonSerializer;
@ -85,12 +85,12 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
InputTagHelper = new InputTagHelper(Generator) { InputTypeName = "text" };
}
protected virtual T GetAttribute<T>() where T : Attribute
protected virtual T? GetAttribute<T>() where T : Attribute
{
return GetAttributeAndModelExpression<T>(out _);
}
protected abstract T GetAttributeAndModelExpression<T>(out ModelExpression modelExpression) where T : Attribute;
protected abstract T? GetAttributeAndModelExpression<T>(out ModelExpression? modelExpression) where T : Attribute;
public async override Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
@ -118,7 +118,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
var optionsAttribute = GetAttributeAndModelExpression<DatePickerOptionsAttribute>(out var modelExpression);
if (optionsAttribute != null)
{
TagHelper.SetDatePickerOptions(optionsAttribute.GetDatePickerOptions(modelExpression.ModelExplorer));
TagHelper.SetDatePickerOptions(optionsAttribute.GetDatePickerOptions(modelExpression!.ModelExplorer)!);
}
// Open and close button
@ -250,7 +250,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
return string.Empty;
}
protected TagHelperAttributeList ConvertDatePickerOptionsToAttributeList(IAbpDatePickerOptions options)
protected TagHelperAttributeList ConvertDatePickerOptionsToAttributeList(IAbpDatePickerOptions? options)
{
var attrList = new TagHelperAttributeList();
@ -281,7 +281,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
if (options.ShowDropdowns == false)
{
attrList.Add("data-show-dropdowns", options.ShowDropdowns.ToString().ToLowerInvariant());
attrList.Add("data-show-dropdowns", options.ShowDropdowns.ToString()!.ToLowerInvariant());
}
if (options.MinYear != null)
@ -306,7 +306,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
if (options.TimePicker != null)
{
attrList.Add("data-time-picker", options.TimePicker.ToString().ToLowerInvariant());
attrList.Add("data-time-picker", options.TimePicker.ToString()!.ToLowerInvariant());
}
if (options.TimePickerIncrement != null)
@ -316,12 +316,12 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
if (options.TimePicker24Hour != null)
{
attrList.Add("data-time-picker24-hour", options.TimePicker24Hour.ToString().ToLowerInvariant());
attrList.Add("data-time-picker24-hour", options.TimePicker24Hour.ToString()!.ToLowerInvariant());
}
if (options.TimePickerSeconds != null)
{
attrList.Add("data-time-picker-seconds", options.TimePickerSeconds.ToString().ToLowerInvariant());
attrList.Add("data-time-picker-seconds", options.TimePickerSeconds.ToString()!.ToLowerInvariant());
}
if (options.Opens != AbpDatePickerOpens.Center)
@ -356,17 +356,17 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
if (options.AutoApply != null)
{
attrList.Add("data-auto-apply", options.AutoApply.ToString().ToLowerInvariant());
attrList.Add("data-auto-apply", options.AutoApply.ToString()!.ToLowerInvariant());
}
if (options.LinkedCalendars != null)
{
attrList.Add("data-linked-calendars", options.LinkedCalendars.ToString().ToLowerInvariant());
attrList.Add("data-linked-calendars", options.LinkedCalendars.ToString()!.ToLowerInvariant());
}
if (options.AutoUpdateInput != null)
{
attrList.Add("data-auto-update-input", options.AutoUpdateInput.ToString().ToLowerInvariant());
attrList.Add("data-auto-update-input", options.AutoUpdateInput.ToString()!.ToLowerInvariant());
}
if (!options.ParentEl.IsNullOrEmpty())
@ -388,12 +388,12 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
if(options.AlwaysShowCalendars != null)
{
attrList.Add("data-always-show-calendars", options.AlwaysShowCalendars.ToString().ToLowerInvariant());
attrList.Add("data-always-show-calendars", options.AlwaysShowCalendars.ToString()!.ToLowerInvariant());
}
if(options.ShowCustomRangeLabel == false)
{
attrList.Add("data-show-custom-range-label", options.ShowCustomRangeLabel.ToString().ToLowerInvariant());
attrList.Add("data-show-custom-range-label", options.ShowCustomRangeLabel.ToString()!.ToLowerInvariant());
}
if(options.Options != null)
@ -403,12 +403,12 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
if (options.IsUtc != null)
{
attrList.Add("data-is-utc", options.IsUtc.ToString().ToLowerInvariant());
attrList.Add("data-is-utc", options.IsUtc.ToString()!.ToLowerInvariant());
}
if (options.IsIso != null)
{
attrList.Add("data-is-iso", options.IsIso.ToString().ToLowerInvariant());
attrList.Add("data-is-iso", options.IsIso.ToString()!.ToLowerInvariant());
}
if (!options.PickerId.IsNullOrWhiteSpace())
@ -481,7 +481,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
}
string text;
ModelExplorer modelExplorer = null;
ModelExplorer? modelExplorer = null;
if (!string.IsNullOrEmpty(TagHelper.InfoText))
{
@ -492,7 +492,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
var infoAttribute = GetAttributeAndModelExpression<InputInfoText>(out var modelExpression);
if (infoAttribute != null)
{
modelExplorer = modelExpression.ModelExplorer;
modelExplorer = modelExpression!.ModelExplorer;
text = infoAttribute.Text;
}
else
@ -502,7 +502,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
}
var idAttr = inputTag.Attributes.FirstOrDefault(a => a.Name == "id");
modelExplorer ??= GetModelExpression().ModelExplorer;
modelExplorer ??= GetModelExpression()!.ModelExplorer;
var localizedText = TagHelperLocalizer.GetLocalizedText(text, modelExplorer);
var div = new TagBuilder("div");
@ -553,7 +553,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
{
var idAttr = inputTag.Attributes.FirstOrDefault(a => a.Name == "id");
return idAttr != null ? idAttr.Value.ToString() : string.Empty;
return idAttr != null ? idAttr.Value.ToString()! : string.Empty;
}
protected virtual string GetRequiredSymbol(TagHelperContext context, TagHelperOutput output)
@ -568,7 +568,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
return GetAttribute<RequiredAttribute>() != null || isHaveRequiredAttribute ? "<span> * </span>" : "";
}
protected abstract ModelExpression GetModelExpression();
protected abstract ModelExpression? GetModelExpression();
protected virtual async Task<string> GetLabelAsHtmlUsingTagHelperAsync(TagHelperContext context,
TagHelperOutput output)
@ -651,7 +651,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
if (infoAttribute != null)
{
return TagHelperLocalizer.GetLocalizedText(infoAttribute.Text, modelExpression.ModelExplorer);
return TagHelperLocalizer.GetLocalizedText(infoAttribute.Text, modelExpression!.ModelExplorer);
}
return string.Empty;
@ -669,7 +669,7 @@ public abstract class AbpDatePickerBaseTagHelperService<TTagHelper> : AbpTagHelp
if (attribute != null)
{
var placeholderLocalized =
TagHelperLocalizer.GetLocalizedText(attribute.Value, modelExpression.ModelExplorer);
TagHelperLocalizer.GetLocalizedText(attribute.Value, modelExpression!.ModelExplorer);
inputTagHelperOutput.Attributes.Add("placeholder", placeholderLocalized);
}

22
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerOptions.cs

@ -5,10 +5,10 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form.DatePicker;
public class AbpDatePickerOptions : IAbpDatePickerOptions
{
public string PickerId { get; set; }
public string? PickerId { get; set; }
public DateTime? MinDate { get; set; }
public DateTime? MaxDate { get; set; }
public object MaxSpan { get; set; }
public object? MaxSpan { get; set; }
public bool? ShowDropdowns { get; set; }
public int? MinYear { get; set; }
public int? MaxYear { get; set; }
@ -17,25 +17,25 @@ public class AbpDatePickerOptions : IAbpDatePickerOptions
public int? TimePickerIncrement { get; set; }
public bool? TimePicker24Hour { get; set; }
public bool? TimePickerSeconds { get; set; }
public List<AbpDatePickerRange> Ranges { get; set; }
public List<AbpDatePickerRange>? Ranges { get; set; }
public bool? ShowCustomRangeLabel { get; set; }
public bool? AlwaysShowCalendars { get; set; }
public AbpDatePickerOpens Opens { get; set; } = AbpDatePickerOpens.Center;
public AbpDatePickerDrops Drops { get; set; } = AbpDatePickerDrops.Down;
public string ButtonClasses { get; set; }
public string TodayButtonClasses { get; set; }
public string ApplyButtonClasses { get; set; }
public string ClearButtonClasses { get; set; }
public object Locale { get; set; }
public string? ButtonClasses { get; set; }
public string? TodayButtonClasses { get; set; }
public string? ApplyButtonClasses { get; set; }
public string? ClearButtonClasses { get; set; }
public object? Locale { get; set; }
public bool? AutoApply { get; set; }
public bool? LinkedCalendars { get; set; }
public bool? AutoUpdateInput { get; set; }
public string ParentEl { get; set; }
public string DateFormat { get; set; }
public string? ParentEl { get; set; }
public string? DateFormat { get; set; }
public bool OpenButton { get; set; } = true;
public bool ClearButton { get; set; } = true;
public bool SingleOpenAndClearButton { get; set; } = true;
public bool? IsUtc { get; set; }
public bool? IsIso { get; set; }
public object Options { get; set; }
public object? Options { get; set; }
}

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerRange.cs

@ -6,7 +6,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form.DatePicker;
public class AbpDatePickerRange
{
private readonly List<string> _dates = new List<string>();
public string Label { get; set; }
public string Label { get; set; } = default!;
public IReadOnlyList<string> Dates => _dates;
public AbpDatePickerRange()

3
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerTagHelper.cs

@ -7,8 +7,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form.DatePicker;
[HtmlTargetElement("abp-date-picker", TagStructure = TagStructure.NormalOrSelfClosing)]
public class AbpDatePickerTagHelper : AbpDatePickerBaseTagHelper<AbpDatePickerTagHelper>
{
[CanBeNull]
public ModelExpression AspFor { get; set; }
public ModelExpression? AspFor { get; set; }
public AbpDatePickerTagHelper(AbpDatePickerTagHelperService service) : base(service)
{

14
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDatePickerTagHelperService.cs

@ -19,19 +19,17 @@ public class AbpDatePickerTagHelperService : AbpDatePickerBaseTagHelperService<A
}
protected override TagHelperOutput TagHelperOutput { get; set; }
protected override TagHelperOutput TagHelperOutput { get; set; } = default!;
[CanBeNull]
protected virtual InputTagHelper DateTagHelper { get; set; }
protected virtual InputTagHelper? DateTagHelper { get; set; }
[CanBeNull]
protected virtual TagHelperOutput DateTagHelperOutput { get; set; }
protected virtual TagHelperOutput? DateTagHelperOutput { get; set; }
protected override string GetPropertyName()
{
return TagHelper.AspFor?.Name ?? string.Empty;
}
protected override T GetAttributeAndModelExpression<T>(out ModelExpression modelExpression)
protected override T? GetAttributeAndModelExpression<T>(out ModelExpression? modelExpression) where T : class
{
modelExpression = TagHelper.AspFor;
return modelExpression?.ModelExplorer.GetAttribute<T>();
@ -74,7 +72,7 @@ public class AbpDatePickerTagHelperService : AbpDatePickerBaseTagHelperService<A
}
}
protected override ModelExpression GetModelExpression()
protected override ModelExpression? GetModelExpression()
{
return TagHelper.AspFor;
}
@ -86,6 +84,6 @@ public class AbpDatePickerTagHelperService : AbpDatePickerBaseTagHelperService<A
protected override string GetExtraInputHtml(TagHelperContext context, TagHelperOutput output)
{
return DateTagHelperOutput?.Render(Encoder);
return DateTagHelperOutput?.Render(Encoder)!;
}
}

6
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDateRangePickerTagHelper.cs

@ -7,11 +7,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form.DatePicker;
[HtmlTargetElement("abp-date-range-picker", TagStructure = TagStructure.NormalOrSelfClosing)]
public class AbpDateRangePickerTagHelper : AbpDatePickerBaseTagHelper<AbpDateRangePickerTagHelper>
{
[CanBeNull]
public ModelExpression AspForStart { get; set; }
public ModelExpression? AspForStart { get; set; }
[CanBeNull]
public ModelExpression AspForEnd { get; set; }
public ModelExpression? AspForEnd { get; set; }
public AbpDateRangePickerTagHelper(AbpDateRangePickerTagHelperService tagHelperService) :
base(tagHelperService)

18
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/AbpDateRangePickerTagHelperService.cs

@ -25,7 +25,7 @@ public class AbpDateRangePickerTagHelperService : AbpDatePickerBaseTagHelperServ
protected override string TagName { get; set; } = "abp-date-range-picker";
protected override T GetAttributeAndModelExpression<T>(out ModelExpression modelExpression)
protected override T? GetAttributeAndModelExpression<T>(out ModelExpression? modelExpression) where T : class
{
modelExpression = new[] { TagHelper.AspForStart, TagHelper.AspForEnd }.FirstOrDefault(x => x?.ModelExplorer?.GetAttribute<T>() != null);
return modelExpression?.ModelExplorer.GetAttribute<T>();
@ -62,19 +62,15 @@ public class AbpDateRangePickerTagHelperService : AbpDatePickerBaseTagHelperServ
await base.ProcessAsync(context, output);
}
protected override TagHelperOutput TagHelperOutput { get; set; }
protected override TagHelperOutput TagHelperOutput { get; set; } = default!;
[CanBeNull]
protected virtual InputTagHelper StartDateTagHelper { get; set; }
protected virtual InputTagHelper? StartDateTagHelper { get; set; }
[CanBeNull]
protected virtual TagHelperOutput StartDateTagHelperOutput { get; set; }
protected virtual TagHelperOutput? StartDateTagHelperOutput { get; set; }
[CanBeNull]
protected virtual InputTagHelper EndDateTagHelper { get; set; }
protected virtual InputTagHelper? EndDateTagHelper { get; set; }
[CanBeNull]
protected virtual TagHelperOutput EndDateTagHelperOutput { get; set; }
protected virtual TagHelperOutput? EndDateTagHelperOutput { get; set; }
protected override string GetPropertyName()
{
@ -108,7 +104,7 @@ public class AbpDateRangePickerTagHelperService : AbpDatePickerBaseTagHelperServ
return StartDateTagHelperOutput?.Render(Encoder) + EndDateTagHelperOutput?.Render(Encoder);
}
protected override ModelExpression GetModelExpression()
protected override ModelExpression? GetModelExpression()
{
return TagHelper.AspForStart;
}

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/DatePickerOptionsAttribute.cs

@ -14,7 +14,7 @@ public class DatePickerOptionsAttribute : Attribute
DatePickerOptionsPropertyName = datePickerOptionsPropertyName;
}
public IAbpDatePickerOptions GetDatePickerOptions(ModelExplorer explorer)
public IAbpDatePickerOptions? GetDatePickerOptions(ModelExplorer explorer)
{
var properties = explorer.Container.Properties.Where(p => p.Metadata.PropertyName != null && p.Metadata.PropertyName.Equals(DatePickerOptionsPropertyName)).ToList();

29
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/DatePicker/IAbpDatePickerOptions.cs

@ -6,7 +6,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form.DatePicker;
public interface IAbpDatePickerOptions
{
public string PickerId { get; set; }
public string? PickerId { get; set; }
/// <summary>
/// Min date allowed
@ -21,7 +21,7 @@ public interface IAbpDatePickerOptions
/// <summary>
/// The maximum span between the selected start and end dates. Can have any property you can add to a moment object (i.e. days, months)
/// </summary>
object MaxSpan { get; set; }
object? MaxSpan { get; set; }
/// <summary>
/// Show year and month select boxes above calendars to jump to a specific month and year.
@ -66,7 +66,7 @@ public interface IAbpDatePickerOptions
/// <summary>
/// Set predefined date ranges the user can select from. Each key is the label for the range, and its value an array with two dates representing the bounds of the range.
/// </summary>
List<AbpDatePickerRange> Ranges { get; set; }
List<AbpDatePickerRange>? Ranges { get; set; }
/// <summary>
/// Displays "Custom Range" at the end of the list of predefined ranges, when the ranges option is used. This option will be highlighted whenever the current date range selection does not match one of the predefined ranges. Clicking it will display the calendars to select a new range.
@ -91,32 +91,28 @@ public interface IAbpDatePickerOptions
/// <summary>
/// CSS class names that will be added to both the today, clear, and apply buttons.
/// </summary>
[CanBeNull]
string ButtonClasses { get; set; }
string? ButtonClasses { get; set; }
/// <summary>
/// CSS class names that will be added only to the today button.
/// </summary>
[CanBeNull]
string TodayButtonClasses { get; set; }
string? TodayButtonClasses { get; set; }
/// <summary>
/// CSS class names that will be added only to the apply button.
/// </summary>
[CanBeNull]
string ApplyButtonClasses { get; set; }
string? ApplyButtonClasses { get; set; }
/// <summary>
/// CSS class names that will be added only to the clear button.
/// </summary>
[CanBeNull]
string ClearButtonClasses { get; set; }
string? ClearButtonClasses { get; set; }
/// <summary>
/// Allows you to provide localized strings for buttons and labels, customize the date format, and change the first day of week for the calendars.
/// </summary>
[CanBeNull]
object Locale { get; set; }
object? Locale { get; set; }
/// <summary>
/// Hide the apply button, and automatically apply a new date range as soon as two dates are clicked.
@ -136,11 +132,9 @@ public interface IAbpDatePickerOptions
/// <summary>
/// jQuery selector of the parent element that the date range picker will be added to, if not provided this will be 'body'
/// </summary>
[CanBeNull]
string ParentEl { get; set; }
string? ParentEl { get; set; }
[CanBeNull]
string DateFormat { get; set; }
string? DateFormat { get; set; }
bool OpenButton { get; set; }
@ -155,6 +149,5 @@ public interface IAbpDatePickerOptions
/// <summary>
/// Other non-mapped attributes will be automatically added to the input element as is.
/// </summary>
[CanBeNull]
object Options { get; set; }
object? Options { get; set; }
}

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/FormGroupItem.cs

@ -2,9 +2,9 @@
public class FormGroupItem
{
public string HtmlContent { get; set; }
public string HtmlContent { get; set; } = default!;
public int Order { get; set; }
public string PropertyName { get; set; }
public string PropertyName { get; set; } = default!;
}

8
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/SelectItems.cs

@ -16,9 +16,9 @@ public class SelectItems : Attribute
ItemsListPropertyName = itemsListPropertyName;
}
public IEnumerable<SelectListItem> GetItems(ModelExplorer explorer)
public IEnumerable<SelectListItem>? GetItems(ModelExplorer explorer)
{
var properties = explorer.Container.Properties.Where(p => p.Metadata.PropertyName.Equals(ItemsListPropertyName)).ToList();
var properties = explorer.Container.Properties.Where(p => p.Metadata.PropertyName!.Equals(ItemsListPropertyName)).ToList();
while (properties.Count == 0)
{
@ -28,10 +28,10 @@ public class SelectItems : Attribute
return null;
}
properties = explorer.Container.Properties.Where(p => p.Metadata.PropertyName.Equals(ItemsListPropertyName)).ToList();
properties = explorer.Container.Properties.Where(p => p.Metadata.PropertyName!.Equals(ItemsListPropertyName)).ToList();
}
var selectItems = (properties.First().Model as IEnumerable<SelectListItem>).ToList();
var selectItems = (properties.First().Model as IEnumerable<SelectListItem>)!.ToList();
return selectItems;
}

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/IAbpTagHelperLocalizer.cs

@ -10,7 +10,7 @@ public interface IAbpTagHelperLocalizer : ITransientDependency
{
string GetLocalizedText(string text, ModelExplorer explorer);
IStringLocalizer GetLocalizerOrNull(ModelExplorer explorer);
IStringLocalizer? GetLocalizerOrNull(ModelExplorer explorer);
IStringLocalizer GetLocalizerOrNull(Assembly assembly);
IStringLocalizer? GetLocalizerOrNull(Assembly assembly);
}

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/ListGroup/AbpListGroupItemTagHelper.cs

@ -6,7 +6,7 @@ public class AbpListGroupItemTagHelper : AbpTagHelper<AbpListGroupItemTagHelper,
public bool? Disabled { get; set; }
public string Href { get; set; }
public string? Href { get; set; }
public AbpListItemTagType TagType { get; set; } = AbpListItemTagType.Default;

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Modal/AbpModalHeaderTagHelper.cs

@ -2,7 +2,7 @@
public class AbpModalHeaderTagHelper : AbpTagHelper<AbpModalHeaderTagHelper, AbpModalHeaderTagHelperService>
{
public string Title { get; set; }
public string Title { get; set; } = default!;
public AbpModalHeaderTagHelper(AbpModalHeaderTagHelperService tagHelperService)
: base(tagHelperService)

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Nav/AbpNavbarToggleTagHelper.cs

@ -2,7 +2,7 @@
public class AbpNavbarToggleTagHelper : AbpTagHelper<AbpNavbarToggleTagHelper, AbpNavbarToggleTagHelperService>
{
public string Id { get; set; }
public string? Id { get; set; }
public AbpNavbarToggleTagHelper(AbpNavbarToggleTagHelperService tagHelperService)
: base(tagHelperService)

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Nav/NavItem.cs

@ -2,7 +2,7 @@
public class NavItem
{
public string Html { get; set; }
public string Html { get; set; } = default!;
public bool Active { get; set; }
}

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/AbpPaginationTagHelper.cs

@ -7,7 +7,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Pagination;
[HtmlTargetElement("abp-paginator")]
public class AbpPaginationTagHelper : AbpTagHelper<AbpPaginationTagHelper, AbpPaginationTagHelperService>
{
public PagerModel Model { get; set; }
public PagerModel Model { get; set; } = default!;
public bool? ShowInfo { get; set; }

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/PageItem.cs

@ -16,7 +16,7 @@ public class PageItem
IsGap = isGap;
}
public override bool Equals(object obj)
public override bool Equals(object? obj)
{
if (!(obj is PageItem item))
{

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/PagerModel.cs

@ -25,13 +25,13 @@ public class PagerModel
public int NextPage { get; set; }
public string Sort { get; set; }
public string? Sort { get; set; }
public string PageUrl { get; set; }
private const int MaxItemsCountToShowAllPages = 4;
public PagerModel(long totalCount, int shownItemsCount, int currentPage, int pageSize, string pageUrl, string sort = null)
public PagerModel(long totalCount, int shownItemsCount, int currentPage, int pageSize, string pageUrl, string? sort = null)
{
TotalItemsCount = totalCount;
ShownItemsCount = shownItemsCount;

10
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Popover/AbpPopoverTagHelper.cs

@ -20,15 +20,15 @@ public class AbpPopoverTagHelper : AbpTagHelper<AbpPopoverTagHelper, AbpPopoverT
public bool? Hoverable { get; set; }
public string AbpPopover { get; set; }
public string? AbpPopover { get; set; }
public string AbpPopoverRight { get; set; }
public string? AbpPopoverRight { get; set; }
public string AbpPopoverLeft { get; set; }
public string? AbpPopoverLeft { get; set; }
public string AbpPopoverTop { get; set; }
public string? AbpPopoverTop { get; set; }
public string AbpPopoverBottom { get; set; }
public string? AbpPopoverBottom { get; set; }
public AbpPopoverTagHelper(AbpPopoverTagHelperService tagHelperService)
: base(tagHelperService)

10
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Popover/AbpPopoverTagHelperService.cs

@ -124,15 +124,15 @@ public class AbpPopoverTagHelperService : AbpTagHelperService<AbpPopoverTagHelpe
switch (GetDirectory())
{
case PopoverDirectory.Top:
return TagHelper.AbpPopoverTop;
return TagHelper.AbpPopoverTop!;
case PopoverDirectory.Right:
return TagHelper.AbpPopoverRight;
return TagHelper.AbpPopoverRight!;
case PopoverDirectory.Bottom:
return TagHelper.AbpPopoverBottom;
return TagHelper.AbpPopoverBottom!;
case PopoverDirectory.Left:
return TagHelper.AbpPopoverLeft;
return TagHelper.AbpPopoverLeft!;
default:
return TagHelper.AbpPopover;
return TagHelper.AbpPopover!;
}
}

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabDropdownTagHelper.cs

@ -5,9 +5,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tab;
[HtmlTargetElement("abp-tab-dropdown")]
public class AbpTabDropdownTagHelper : AbpTagHelper<AbpTabDropdownTagHelper, AbpTabDropdownTagHelperService>
{
public string Name { get; set; }
public string? Name { get; set; }
public string Title { get; set; }
public string Title { get; set; } = default!;
public AbpTabDropdownTagHelper(AbpTabDropdownTagHelperService tagHelperService)
: base(tagHelperService)

8
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabLinkTagHelper.cs

@ -5,13 +5,13 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tab;
[HtmlTargetElement("abp-tab-link", TagStructure = TagStructure.WithoutEndTag)]
public class AbpTabLinkTagHelper : AbpTagHelper<AbpTabLinkTagHelper, AbpTabLinkTagHelperService>
{
public string Name { get; set; }
public string? Name { get; set; }
public string Title { get; set; }
public string Title { get; set; } = default!;
public string ParentDropdownName { get; set; }
public string? ParentDropdownName { get; set; }
public string Href { get; set; }
public string Href { get; set; } = default!;
public AbpTabLinkTagHelper(AbpTabLinkTagHelperService tagHelperService)
: base(tagHelperService)

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabLinkTagHelperService.cs

@ -16,7 +16,7 @@ public class AbpTabLinkTagHelperService : AbpTagHelperService<AbpTabLinkTagHelpe
var tabHeaderItems = context.GetValue<List<TabItem>>(TabItems);
tabHeaderItems.Add(new TabItem(tabHeader, "", false, TagHelper.Name, TagHelper.ParentDropdownName, false));
tabHeaderItems.Add(new TabItem(tabHeader, "", false, TagHelper.Name!, TagHelper.ParentDropdownName, false));
output.SuppressOutput();

6
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabTagHelper.cs

@ -5,13 +5,13 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tab;
[HtmlTargetElement("abp-tab")]
public class AbpTabTagHelper : AbpTagHelper<AbpTabTagHelper, AbpTabTagHelperService>
{
public string Name { get; set; }
public string? Name { get; set; }
public string Title { get; set; }
public string Title { get; set; } = default!;
public bool? Active { get; set; }
public string ParentDropdownName { get; set; }
public string? ParentDropdownName { get; set; }
public AbpTabTagHelper(AbpTabTagHelperService tagHelperService)
: base(tagHelperService)

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabTagHelperService.cs

@ -21,7 +21,7 @@ public class AbpTabTagHelperService : AbpTagHelperService<AbpTabTagHelper>
var active = TagHelper.Active ?? false;
tabHeaderItems.Add(new TabItem(tabHeader, tabContent, active, TagHelper.Name, TagHelper.ParentDropdownName, false));
tabHeaderItems.Add(new TabItem(tabHeader, tabContent, active, TagHelper.Name!, TagHelper.ParentDropdownName, false));
output.SuppressOutput();
}

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabsTagHelper.cs

@ -5,7 +5,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tab;
public class AbpTabsTagHelper : AbpTagHelper<AbpTabsTagHelper, AbpTabsTagHelperService>
{
public string Name { get; set; }
public string? Name { get; set; }
public TabStyle TabStyle { get; set; } = TabStyle.Tab;

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/TabItem.cs

@ -2,7 +2,7 @@
public class TabItem
{
public TabItem(string header, string content, bool active, string id, string parentId, bool isDropdown)
public TabItem(string header, string content, bool active, string id, string? parentId, bool isDropdown)
{
Header = header;
Content = content;
@ -22,5 +22,5 @@ public class TabItem
public string Id { get; set; }
public string ParentId { get; set; }
public string? ParentId { get; set; }
}

12
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tooltip/AbpTooltipTagHelper.cs

@ -14,17 +14,17 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tooltip;
[HtmlTargetElement("abp-button", Attributes = "abp-tooltip-bottom")]
public class AbpTooltipTagHelper : AbpTagHelper<AbpTooltipTagHelper, AbpTooltipTagHelperService>
{
public string AbpTooltip { get; set; }
public string? AbpTooltip { get; set; }
public string AbpTooltipRight { get; set; }
public string? AbpTooltipRight { get; set; }
public string AbpTooltipLeft { get; set; }
public string? AbpTooltipLeft { get; set; }
public string AbpTooltipTop { get; set; }
public string? AbpTooltipTop { get; set; }
public string AbpTooltipBottom { get; set; }
public string? AbpTooltipBottom { get; set; }
public string Title { get; set; }
public string? Title { get; set; }
public AbpTooltipTagHelper(AbpTooltipTagHelperService tagHelperService)
: base(tagHelperService)

10
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tooltip/AbpTooltipTagHelperService.cs

@ -59,15 +59,15 @@ public class AbpTooltipTagHelperService : AbpTagHelperService<AbpTooltipTagHelpe
switch (GetDirectory())
{
case TooltipDirectory.Top:
return TagHelper.AbpTooltipTop;
return TagHelper.AbpTooltipTop!;
case TooltipDirectory.Right:
return TagHelper.AbpTooltipRight;
return TagHelper.AbpTooltipRight!;
case TooltipDirectory.Bottom:
return TagHelper.AbpTooltipBottom;
return TagHelper.AbpTooltipBottom!;
case TooltipDirectory.Left:
return TagHelper.AbpTooltipLeft;
return TagHelper.AbpTooltipLeft!;
default:
return TagHelper.AbpTooltip;
return TagHelper.AbpTooltip!;
}
}

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.csproj

@ -5,6 +5,8 @@
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<WarningsAsErrors>Nullable</WarningsAsErrors>
<AddRazorSupportForMvc>true</AddRazorSupportForMvc>
<AssemblyName>Volo.Abp.AspNetCore.Mvc.UI.Bootstrap</AssemblyName>
<PackageId>Volo.Abp.AspNetCore.Mvc.UI.Bootstrap</PackageId>

2
framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpDashboardOptionsProvider.cs

@ -3,7 +3,7 @@ using Hangfire;
using Microsoft.Extensions.Options;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.BackgroundJobs.Hangfire;
`namespace Volo.Abp.BackgroundJobs.Hangfire;
public class AbpDashboardOptionsProvider : ITransientDependency
{

Loading…
Cancel
Save