コード例 #1
0
 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);
 }
コード例 #2
0
 /// <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);
         }
     }));
 }
コード例 #3
0
        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);
        }
コード例 #4
0
        public static IModuleHostBuilder UseDefaults(this IModuleHostBuilder builder)
        {
            builder.ConfigureOptions <ServerConfiguration>((o, _) =>
            {
                o.GraphQLEndpoint = "https://localhost:5001/graphql";
            })
            .AddModule <UI.UiModule>()
            .AddNotesModule(configureOptions: (o, sp) =>
            {
                var serverConfiguration = sp.GetRequiredService <IOptions <ServerConfiguration> >().Value;
                o.GraphQLEndpoint       = serverConfiguration.GraphQLEndpoint;
            })
            .AddPersonsModule(configureOptions: (o, sp) =>
            {
                var serverConfiguration = sp.GetRequiredService <IOptions <ServerConfiguration> >().Value;
                o.GraphQLEndpoint       = serverConfiguration.GraphQLEndpoint;
            })
            .AddBookkeepingModule(configureOptions: (o, sp) =>
            {
                var serverConfiguration = sp.GetRequiredService <IOptions <ServerConfiguration> >().Value;
                o.GraphQLEndpoint       = serverConfiguration.GraphQLEndpoint;
            });

            /*builder.AddHelloModule(configureOptions: (o, sp) =>
             * {
             *   var serverConfiguration = sp.GetRequiredService<IOptions<ServerConfiguration>>().Value;
             *   o.GraphQLEndpoint = serverConfiguration.GraphQLEndpoint;
             * })
             * .AddModuleManagerModule(configureOptions: (o, sp) =>
             * {
             *  var serverConfiguration = sp.GetRequiredService<IOptions<ServerConfiguration>>().Value;
             *  o.GraphQLEndpoint = serverConfiguration.GraphQLEndpoint;
             * });*/

            return(builder);
        }
コード例 #5
0
 public static IModuleHostBuilder AddHelloServerModule(this IModuleHostBuilder builder)
 {
     builder.AddModule <HelloServerModule>();
     return(builder);
 }
コード例 #6
0
 public static IModuleHostBuilder AddModuleManagerServerModule(this IModuleHostBuilder modules)
 {
     modules.AddModule <ModuleManagerServerModule>();
     return(modules);
 }
コード例 #7
0
 public static IModuleHostBuilder AddClientModule(this IModuleHostBuilder modules)
 {
     modules.AddModule <ClientModule>();
     return(modules);
 }
コード例 #8
0
 /// <summary>
 /// Add a typed plugin.
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="builder"></param>
 /// <returns></returns>
 public static IModuleHostBuilder UsePlugin <T>(this IModuleHostBuilder builder) where T : IModuleHostBuilderPlugin => builder.UsePlugin(typeof(T));
コード例 #9
0
 /// <summary>
 /// Use aspnet modules.
 /// </summary>
 /// <param name="modules"></param>
 /// <returns></returns>
 public static IModuleHostBuilder UseAspNetServerModules(this IModuleHostBuilder modules) => modules.AddModule <AspnetServerCoreModule>();
コード例 #10
0
 /// <summary>
 /// Add <see cref="JQueryModule"/>.
 /// </summary>
 /// <param name="modules"></param>
 /// <returns></returns>
 public static IModuleHostBuilder AddJQueryModule(this IModuleHostBuilder modules) => modules.AddModule <JQueryModule>();
コード例 #11
0
 public static IModuleHostBuilder AddItemMetadataServerGraphqlModule(this IModuleHostBuilder builder) => builder.AddModule <GraphQL.ItemMetadataServerGraphqlModule>();
コード例 #12
0
 /// <summary>
 /// Add Modulight module services.
 /// </summary>
 /// <param name="services"></param>
 /// <param name="builder"></param>
 /// <param name="builderServices">Service collection for builder.</param>
 /// <returns></returns>
 public static IServiceCollection AddModules(this IServiceCollection services, IModuleHostBuilder builder, IServiceCollection?builderServices = null)
 {
     builder.Build(services, builderServices);
     return(services);
 }
コード例 #13
0
 /// <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));
コード例 #14
0
 /// <summary>
 /// Add <see cref="AntDesignModule"/>.
 /// </summary>
 /// <param name="modules"></param>
 /// <returns></returns>
 public static IModuleHostBuilder AddAntDesignModule(this IModuleHostBuilder modules) => modules.AddModule <AntDesignModule>();
コード例 #15
0
 /// <summary>
 /// Add <see cref="AntDesignModule"/>.
 /// </summary>
 /// <param name="modules"></param>
 /// <returns></returns>
 public static IModuleHostBuilder AddMarkdownModule(this IModuleHostBuilder modules) => modules.AddModule <MarkdownModule>();
コード例 #16
0
 /// <summary>
 /// Add <see cref="BootstrapModule"/>.
 /// </summary>
 /// <param name="modules"></param>
 /// <returns></returns>
 public static IModuleHostBuilder AddBootstrapModule(this IModuleHostBuilder modules) => modules.AddModule <BootstrapModule>();
コード例 #17
0
 public static IModuleHostBuilder AddIdentityServerGraphqlModule(this IModuleHostBuilder builder)
 {
     builder.AddModule <IdentityServerGraphqlModule>();
     return(builder);
 }
コード例 #18
0
 /// <summary>
 /// Add <see cref="VditorModule"/>.
 /// </summary>
 /// <param name="modules"></param>
 /// <returns></returns>
 public static IModuleHostBuilder AddVditorModule(this IModuleHostBuilder modules) => modules.AddModule <VditorModule>();
コード例 #19
0
 /// <summary>
 /// Add a typed module.
 /// </summary>
 /// <typeparam name="T">Module type.</typeparam>
 /// <param name="builder">Module host builder.</param>
 /// <returns></returns>
 public static IModuleHostBuilder AddModule <T>(this IModuleHostBuilder builder) where T : IModule => builder.AddModule(typeof(T));