I think there might be a problem with ABP global bundle js file. Maybe it is using the older version of blazorise.bootstrap.js
file.
Can you open the ABP global.js
file, format it and search for the following part of the code to make sure we're on agood track. (Look under window.blazoriseBootstrap
)
close: (element) => {
var modals = Number(document.body.getAttribute("data-modals") || "0");
modals -= 1;
if (modals < 0) {
modals = 0;
}
if (modals === 0) {
window.blazorise.removeClassFromBody("modal-open");
}
document.body.setAttribute("data-modals", modals.toString());
}
It must have if (modals < 0)
part.
I don't think there is a way to make it without modifying the code. Can you tell us when or whre does it happen so we can reproduce?
Hello, sorry for not getting to you sooner.
Can you explain more in what way you want to improve the error messages? Do you want to add extra information ot change the modal dialog UI?
The issue with data-modals
was fixed on 0.9.3.1 so I don't see a reason why it wouldn't work here.Maybe you have cached older version of blazorise.js
. Try hitting Ctrl+F5.
If that doesn't work I suspect the ABP bundle file was created with older blazorise.js
.
What is your Blazorise version?
The way of how you re-render component with StateHasChanged
is the same with both Blazor WASM and Blazor Server projects. There is no diference there. But, since you mention SignalR, that is only possible with Blazor Server by default.
If you want to have SIgnalR for Blazor WASM you will need to implement it in your project. Here is one way on how to implement it https://docs.microsoft.com/en-us/aspnet/core/tutorials/signalr-blazor?view=aspnetcore-5.0&tabs=visual-studio&pivots=webassembly
For moving your project from Blazor WebAssembly to Blazor Server the best way is to first create a new ABP Blazor Server project
Look at some of the guides here https://docs.abp.io/en/abp/4.3/Getting-Started?UI=BlazorServer&DB=EF&Tiered=No
After the project is created you will need to compare the diferences and update your project accordingly. The process should be similar to any Blazor WA to Blazor SS conversion. There is no easy way around it but we tried to keep the structure as close as possible between the projects.
Hi,
The migration guide for 4.x to 4.3 can be found here: https://docs.abp.io/en/abp/4.3/Migration-Guides/Abp-4_3
It should work with localization handler helper.ErrorMessage is automatically used by the localizer if it is provided and given the same key it is also located in the .json file it should work.
First you need to inject the handler
@inject AbpBlazorMessageLocalizerHelper<IdentityResource> LH
Next you just define it on Validation
<Validation MessageLocalizer="@LH.Localize">
<Field>
<FieldLabel>@L["DisplayName:UserName"]</FieldLabel>
<TextEdit @bind-Text="EditingEntity.UserName">
<Feedback>
<ValidationError/>
</Feedback>
</TextEdit>
</Field>
</Validation>