Hi,
Yes, there is no Empty layout for Blazor, but it's easy to do yourself.
For example:
You can remove the components you want
EmptyLayout.razor
@inherits LayoutComponentBase @using Volo.Abp.AspNetCore.Components.Web.LeptonXTheme.Components.ApplicationLayout.Common @using Volo.Abp.Ui.Branding @using Volo.Abp.BlazoriseUI.Components @using Volo.Abp.AspNetCore.Components.Web.Theming.Components @using Volo.Abp.Ui.LayoutHooks @using Volo.Abp.AspNetCore.Components.Web.Theming.Components.LayoutHooks @using Volo.Abp.AspNetCore.Components.Web.Theming.Layout @inject IBrandingProvider BrandingProvider <div class="lpx-scroll-container ps"> <div id="lpx-wrapper"> <div class="lpx-content-container"> <div class="lpx-topbar-container"> <div class="lpx-topbar"> <Breadcrumbs /> </div> </div> <div class="lpx-content-wrapper"> <div class="lpx-content"> <ContentToolbar /> <PageAlert /> <LayoutHook Name="@LayoutHooks.Body.First" Layout="@StandardLayouts.Empty" /> @Body <LayoutHook Name="@LayoutHooks.Body.Last" Layout="@StandardLayouts.Empty" /> <DynamicLayoutComponent /> <UiMessageAlert /> <UiNotificationAlert /> </div> </div> <footer> <Footer /> </footer> </div> </div> </div>
EmptyLayout.razor.cs
public partial class EmptyLayout { [Inject] protected IAbpUtilsService UtilsService { get; set; } [Inject] IJSRuntime JSRuntime { get; set; } [Inject] protected IOptions<LeptonXThemeOptions> Options { get; set; } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { await UtilsService.AddClassToTagAsync("body", GetBodyClassName()); await JSRuntime.InvokeVoidAsync("initLeptonX", new[] { "side-menu", Options.Value.DefaultStyle }); await JSRuntime.InvokeVoidAsync("afterLeptonXInitialization", new[] { "side-menu", Options.Value.DefaultStyle }); } } private string GetBodyClassName() { return "lpx-theme-" + Options.Value.DefaultStyle; } }
Thanks for this. I have a few questions:
@using Volo.Abp.Ui.LayoutHooks
and
@using Volo.Abp.AspNetCore.Components.Web.Theming.Components.LayoutHooks
are throwing errors. It says that the type or namespace doesn't exist. I've tried to download v6.0.0 of both packages, but still the same error.initLeptonX
and afterLeptonXInitialization
, or are those built in?