mirror of
https://github.com/PacktPublishing/Web-Development-with-Blazor-Second-Edition.git
synced 2025-12-06 05:32:03 +01:00
20 lines
817 B
C#
20 lines
817 B
C#
|
|
using Microsoft.AspNetCore.Components;
|
|||
|
|
using Microsoft.AspNetCore.Components.Forms;
|
|||
|
|
namespace Components;
|
|||
|
|
|
|||
|
|
public class CustomCssClassProvider<ProviderType> : ComponentBase where ProviderType : FieldCssClassProvider, new()
|
|||
|
|
{
|
|||
|
|
[CascadingParameter]
|
|||
|
|
EditContext? CurrentEditContext { get; set; }
|
|||
|
|
public ProviderType Provider { get; set; } = new ProviderType();
|
|||
|
|
protected override void OnInitialized()
|
|||
|
|
{
|
|||
|
|
if (CurrentEditContext == null)
|
|||
|
|
{
|
|||
|
|
throw new InvalidOperationException($"{nameof(CustomCssClassProvider<ProviderType>)} requires a cascading parameter of type {nameof(EditContext)}. For example, you can use {nameof(CustomCssClassProvider<ProviderType>)} inside an EditForm.");
|
|||
|
|
}
|
|||
|
|
CurrentEditContext.SetFieldCssClassProvider
|
|||
|
|
(Provider);
|
|||
|
|
}
|
|||
|
|
}
|