Dialog display issue when using Continuations
Posted: Mon Jun 27, 2011 7:09 pm
Hi all,
We are using Continuations to simulate blocking modal dialogs in the Web Client. However we encounter a strange issue - if a modal dialog is displayed and upon closing of the first dialog a second one is displayed, the Web Client does not show the second dialog. If you use the "Refresh" button on the browser, the second dialog will be displayed when the page is refreshed, but clearly this is not a solution to this problem.
To reproduce the issue, you can use for example the Dialogs Module from Servoy Forge with a simple test like:
Run the code in both Smart and Web client and notice the difference in behavior. It appears that certain UI changes are not being pushed to the Web Client when Continuations are used. Is this a bug in Servoy or an incorrect usage of Continuations? Any suggestions on how we can make blocking modal dialogs to work on the Web Client is more than welcome.
Thanks for your help.
We are using Continuations to simulate blocking modal dialogs in the Web Client. However we encounter a strange issue - if a modal dialog is displayed and upon closing of the first dialog a second one is displayed, the Web Client does not show the second dialog. If you use the "Refresh" button on the browser, the second dialog will be displayed when the page is refreshed, but clearly this is not a solution to this problem.
To reproduce the issue, you can use for example the Dialogs Module from Servoy Forge with a simple test like:
- Code: Select all
application.output('Showing first dialog...');
var _res = globals.DIALOGS.showQuestionDialog('Question Dialog', 'Do you want to display a second dialog?', 'Yes', 'No');
application.output('The result is: ' + _res);
if(_res == 'Yes')
{
application.output('Showing second dialog...');
//this second dialog will not be shown in the Web Client until you hit the Refresh button of the browser
globals.DIALOGS.showQuestionDialog('Second Dialog', 'Is this working?', 'Yes', 'Not Really');
application.output('After second dialog...');
}
else
{
application.output('No Second Dialog');
}
application.output('Done');
Run the code in both Smart and Web client and notice the difference in behavior. It appears that certain UI changes are not being pushed to the Web Client when Continuations are used. Is this a bug in Servoy or an incorrect usage of Continuations? Any suggestions on how we can make blocking modal dialogs to work on the Web Client is more than welcome.
Thanks for your help.