diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/AbpDynamicComponentOptions.cs b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/AbpDynamicComponentOptions.cs new file mode 100644 index 0000000000..e7c3178f1b --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/AbpDynamicComponentOptions.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using JetBrains.Annotations; + +namespace Volo.Abp.AspNetCore.Components.Web.Theming; + +public class AbpDynamicComponentOptions +{ + /// + /// Used to define components that renders in the layout + /// + [NotNull] + public Dictionary?> Components { get; set; } + + public AbpDynamicComponentOptions() + { + Components = new Dictionary?>(); + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Components/AbpDynamicComponents.razor b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Components/AbpDynamicComponents.razor new file mode 100644 index 0000000000..a0773109dc --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Components/AbpDynamicComponents.razor @@ -0,0 +1,7 @@ +@if (AbpDynamicComponentOptions.Value.Components.Any()) +{ + foreach (var (componentType, parameters) in AbpDynamicComponentOptions.Value.Components) + { + + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Components/AbpDynamicComponents.razor.cs b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Components/AbpDynamicComponents.razor.cs new file mode 100644 index 0000000000..3784c6be22 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Components/AbpDynamicComponents.razor.cs @@ -0,0 +1,10 @@ +using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.Options; + +namespace Volo.Abp.AspNetCore.Components.Web.Theming.Components; + +public partial class AbpDynamicComponents : ComponentBase +{ + [Inject] + protected IOptions AbpDynamicComponentOptions { get; set; } +} \ No newline at end of file diff --git a/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/MainLayout.razor b/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/MainLayout.razor index 82c7cc0fc7..794aa8af1b 100644 --- a/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/MainLayout.razor +++ b/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/MainLayout.razor @@ -1,4 +1,5 @@ -@inherits LayoutComponentBase +@using Volo.Abp.AspNetCore.Components.Web.Theming.Components; +@inherits LayoutComponentBase