Have a RemoteObject (WebService, HTTPRequest) call that takes a while to come back? Can't really do anything until it does come back? Give the user something to do! If you have a long running process and nothing for the user to see/do, they'll get distracted and move from your app to do something else.

PleaseWait.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Panel
   xmlns:mx="http://www.adobe.com/2006/mxml"
   title="Please Wait ..."
   horizontalAlign="center"
   width="285" height="90">

   
   <mx:Label
      text="Please wait while employee data is loaded"/>

   
   <mx:ProgressBar
      indeterminate="true"
      labelPlacement="center"/>

   
</mx:Panel>

This is basic, just a moving progress bar. But you could put a Sudoku game in there. Or trivia, or a porn slideshow, whatever!

import components.PleaseWait;
public var pw:PleaseWait = new PleaseWait();

private function init():void{
   ro.getEmployeeListXML();
   pw.x = (this.width-pw.width)/2;
   pw.y = (this.height-pw.height)/2;
   mx.managers.PopUpManager.addPopUp(pw, this, true);
}

The RemoteObject (ro) does its thing. We wait. We read 5 fascinating facts about cheese. Then the ro returns and the popup goes away.

private function setEmployeeList(event:ResultEvent):void{
   mx.managers.PopUpManager.removePopUp(pw);
   empByLead = event.result as XML;
}

Now because it's adding and removing the pw object as a modal popup and not reinitializing it anywhere, you should be able to put continuing content (crossword puzzle, short story, documentary) things in it. I haven't tested it, but in theory it would save the state of things next time the popup comes up, on another long running process in the application.

Phase 2: Would be cool to have the return call tell the popup it's done. Then you could switch states in the popup, adding/enabling a "close" button. So if someone's just about to solve the puzzle it won't suddenly disappear.

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)
BlogCFC was created by Raymond Camden. This blog is running version 5.9.002. Contact Blog Owner