Is there a c# way to set these? If not, how to set them the non c# way? I've seen the samples for localization, but not really for blazor.
I've created a "wwwroot\flexmonster-localization.json" file like this:
{
"global": {
"localization": {
"grid": {
"blankMember": " ",
"dateInvalidCaption": " "
}
}
}
}
And tried to invoke it like this:
await JSRuntime.InvokeVoidAsync("setFlexmonsterLocalization", FlexPivot, "/flexmonster-localization.json");
In a component like this:
<FlexmonsterComponent @ref="FlexPivot" />
And get this runtime error:
Unhandled exception rendering component: Cannot read properties of undefined (reading 'setLocalization')
TypeError: Cannot read properties of undefined (reading 'setLocalization')
at window.setFlexmonsterLocalization (https://localhost:44301/js/FlexmonsterTweaks.js?v=1709851561109:12:29)
at https://localhost:44301/_framework/blazor.webassembly.js:1:3337
Hello, Brent!
Thank you for reaching out to us.
Kindly note that to set the localization for Flexmonster in Blazor, you need to specify the URL of the localization file. As the file is located in the wwwroot
folder, it is accessible from the client side on https://yourdomain/flexmonster-localization.json
, so you can specify the URL in the report as follows:
report = new Report()
{
Localization = "/flexmonster-localization.json"
};
Please note that there is no separate API call to set the localization, so you can set it while creating or changing the Report.
Regarding the content of the flexmonster-localization.json
, it should look as follows:
{
"grid": {
"blankMember": " ",
"dateInvalidCaption": " "
}
}
Please let us know if the suggested approach works well for you.
Looking forward to hearing from you.
Kind regards,
Soloimiia
That works! Thank you!
Hello, Brent!
Thank you for your feedback.
We are glad to hear the suggested approach works well for you.
Do not hesitate to contact us if any other questions arise.
Best regards,
Solomiia
This c# based solution seems to work for all FM reports:
dynamic localization = new System.Dynamic.ExpandoObject();
dynamic grid = new System.Dynamic.ExpandoObject();
grid.blankMember = "";
grid.dateInvalidCaption = "";
localization.grid = grid;
report.Localization = localization;
Hello, Brent!
Thank you for sharing your approach of changing localization in Blazor.
We are glad that everything works well now.
Feel free to reach out in case of any other questions.
Kind regards,
Solomiia