This has been a (very) frequent request from users that allow more control over the "page locking mechanism" (aka loading animation) in IntraWeb applications.
Some users go a long way in order to have a customized version on their application. We believe that the new feature will eliminate the need for complicated 3rd party libraries and workarounds (yes, I'm talking to you, "HoldOn" user ).
(07-10-2023, 09:30 AM)Alexandre Machado Wrote: A new demo has been published showing some new features introduced on version 15.3.10 that we have just released:
This has been a (very) frequent request from users that allow more control over the "page locking mechanism" (aka loading animation) in IntraWeb applications.
Some users go a long way in order to have a customized version on their application. We believe that the new feature will eliminate the need for complicated 3rd party libraries and workarounds (yes, I'm talking to you, "HoldOn" user ).
Enjoy
Hello,
Related to this question if i have got a callback called by showconfirm instruction, how can tell the ajax call to show the locker?
Thank you very much.
07-11-2023, 09:58 PM (This post was last modified: 07-11-2023, 10:04 PM by Alexandre Machado.)
(07-11-2023, 08:52 AM)Blanca80 Wrote: Hello,
Related to this question if i have got a callback called by showconfirm instruction, how can tell the ajax call to show the locker?
Thank you very much.
Blanca
Hi Blanca,
that's a good question.
Here's how:
Code:
procedure TIWForm1.ShowConfirmationWithCallback(const Msg: string);
var
jsCallbackCode: string;
begin
jsCallbackCode := 'javascript:ajaxCall(''MyConfirmCallback'', '''', {text:''Please wait until MyConfirmCallback returns''});';
WebApplication.ShowConfirm(Msg, jsCallbackCode, Title, 'Yes', 'No');
end;
basically you call ShowConfirm() the same way, but instead of passing the callback method name (the Delphi callback registered previously), you pass the actual code (JavaScript) that will execute the callback call, preceded by a "javascript:" prefix.
I'll update our NewDialogs demo to show a case like this.
Please notice that the js callback code is using single quotes as JavaScript string delimiter. That's because internally our code is not escaping the double quotes (Something that I'll fix).
Related to this question if i have got a callback called by showconfirm instruction, how can tell the ajax call to show the locker?
Thank you very much.
Blanca
Hi Blanca,
that's a good question.
Here's how:
Code:
procedure TIWForm1.ShowConfirmationWithCallback(const Msg: string);
var
jsCallbackCode: string;
begin
jsCallbackCode := 'javascript:ajaxCall(''MyConfirmCallback'', '''', {text:''Please wait until MyConfirmCallback returns''});';
WebApplication.ShowConfirm(Msg, jsCallbackCode, Title, 'Yes', 'No');
end;
basically you call ShowConfirm() the same way, but instead of passing the callback method name (the Delphi callback registered previously), you pass the actual code (JavaScript) that will execute the callback call, preceded by a "javascript:" prefix.
I'll update our NewDialogs demo to show a case like this.
Please notice that the js callback code is using single quotes as JavaScript string delimiter. That's because internally our code is not escaping the double quotes (Something that I'll fix).
Cheers
Hello Alexandre,
I've tested on our application but i find a problem that makes impossible to use it for now. The parameter retvalue in the eventparams list when entering the callback had disappeared when calling showconfirm on this way and it's impossible to know wich button the user has pressed.
I attach a pdf with the both event params list.
hello i've got one more question about this demo and i hope you can answer.
The default behaviour of the application is to show the locker in all syncronous events when enabled from
servercontroller. How it is posible that it is also showed in the ajax call of the button, that is asynchronous?