show spinner until something is done
Sabine Manaa <[email protected]>
| Newsgroups | gmane.comp.lang.smalltalk.squeak.seaside |
|---|---|
| Message-ID | <[email protected]> |
I create pdf reports which are converted to pngs for small previews (and print/mail/export). When the user clicks at "report", there are several pdf reports and their pngs generated in the background. In this moment (When the user clicks at "report"), the application changes to the reports page. But in this moment, the repots possibly are not yet finished :-) So, I want to show a spinner/counter for each of the reports and update each in the moment when the png is ready. I succeeded with all but the spinner/counter and the moment when the page renders. Its to late. My problem is that the page is rendered only in the moment, when the code is run. Not earlier. I assume the onLoad is to late? I tried several things for several hours :-( and now I want to ask the community. I reduced the problem to a very simple example: 2 methods with the question: how to change this code to update the counter 1,2,3,4... Very curious about a solution >>renderContentOn: html html div id: 'image'; with: [ html text: 'Waiting for the report' ]. html div id: 'counter'; with: [ html text: 'This should count 1,2,3...' ]. html document addLoadScript: (html jQuery ajax script: [ :script | self loadScriptIndex: 1 script: script ]) >>loadScriptIndex: anIndex script: s | theIndex | (Delay forMilliseconds: 100) wait. theIndex := anIndex. "aPngFilename asFileReference exists" anIndex > 50 "simulate file is there after some time" ifTrue: [ s << (s jQuery: #image) replaceWith: [ :h | h text: theIndex asString. h image altText: 'Report'; width: '100%'; url: 'http://localhost/reports/a.png' ] ] ifFalse: [ theIndex := theIndex + 1. s << (s jQuery: #counter) replaceWith: [ :h | h div id: #counter; with: [ h text: theIndex asString ] ]. self loadScriptIndex: theIndex script: s and possibly registerTestApplication | theApplication | theApplication := WAAdmin register: RKATestView asApplicationAt: 'RKT'. theApplication addLibrary: JQDeploymentLibrary; addLibrary: JQUiDeploymentLibrary. ^ theApplication -- View this message in context: http://forum.world.st/show-spinner-until-something-is-done-tp4907725.html Sent from the Seaside General mailing list archive at Nabble.com.