/// <summary> /// Add Blazor UI Module with customed UI provider. /// </summary> /// <typeparam name="TUIProvider"></typeparam> /// <param name="builder"></param> /// <param name="configureOptions"></param> /// <returns></returns> public static IModuleHostBuilder AddBlazorUI <TUIProvider>(this IModuleHostBuilder builder, Action <BlazorUiModuleOption, IServiceProvider>?configureOptions = null) where TUIProvider : class, IBlazorUIProvider { builder.ConfigureServices(sc => sc.AddScoped <IBlazorUIProvider, TUIProvider>()).AddModule <BlazorUiModule>(); if (configureOptions is not null) { builder.ConfigureOptions(configureOptions); } return(builder); }
public static IModuleHostBuilder AddModuleManagerModule(this IModuleHostBuilder modules, Action <ModuleOption, IServiceProvider>?configureOptions = null) { modules.AddModule <ModuleManagerModule>(); if (configureOptions is not null) { modules.ConfigureServices(services => { services.AddOptions <ModuleOption>().Configure(configureOptions); }); } return(modules); }
/// <summary> /// Add default server hosting client side blazor UI. /// </summary> /// <typeparam name="TUIProvider"></typeparam> /// <param name="builder"></param> /// <param name="configureOptions"></param> /// <returns></returns> public static IModuleHostBuilder AddClientSideBlazorUI <TUIProvider>(this IModuleHostBuilder builder, Action <BlazorUiHostingModuleOption, IServiceProvider>?configureOptions = null) where TUIProvider : class, IBlazorUIProvider { return(builder.ConfigureServices(services => services.AddRazorPages()).AddBlazorUI <TUIProvider>((o, sp) => { // Disable inner render, because of the server render. o.RenderUIResources = false; }).AddBlazorUIHosting( (o, sp) => { o.HostingModel = HostingModel.Client; if (configureOptions is not null) { configureOptions(o, sp); } })); }
public static IModuleHostBuilder AddIdentityServerModule(this IModuleHostBuilder builder, Action <IdentityServerModuleStartupOption, IServiceProvider>?configureStartupOptions = null, Action <IdentityServerModuleOption, IServiceProvider>?configureOptions = null) { builder.AddModule <IdentityServerModule>(); if (configureStartupOptions is not null) { builder.ConfigureBuilderServices(services => { services.AddOptions <IdentityServerModuleStartupOption>().Configure(configureStartupOptions); }); } if (configureOptions is not null) { builder.ConfigureServices(services => { services.AddOptions <IdentityServerModuleOption>().Configure(configureOptions); }); } return(builder); }
/// <summary> /// Configure options for target services. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="builder"></param> /// <param name="configureOptions"></param> /// <returns></returns> public static IModuleHostBuilder ConfigureOptions <T>(this IModuleHostBuilder builder, Action <T, IServiceProvider> configureOptions) where T : class => builder.ConfigureServices(services => services.AddOptions <T>().Configure(configureOptions));