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?We have a Blazor Server app that uses the LeptonX theme, and I was wondering how we could assign the Empty layout to a specific razor page/component. We have a publicly accessible page within our app which we would like to be free of the typical layout parts (side menu, toolbars, etc.). I see an 'Account' and 'Application' folder in Blazor/Themes/LeptonX/Layouts, but no 'Empty' folder.
Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.
If you're creating a bug/problem report, please include followings:
I've implemented the Blazorise RichTextEdit within a modal in our Blazor server app, but when typing at normal speeds, the cursor jumps back to the beginning of the text. I noticed that this doesn't happen when typing extremely slowly.
A workaround that is working is removing the RichTextEditor from the modal, and putting it on a new page.