Tahir Alvi
Tahir Alvi

Reputation: 994

How remove/close multiple popup in Flex application?

if we open lot of popup during browsing(web) or in an AIR application, how remove them at once?

Upvotes: 0

Views: 1784

Answers (2)

rejo
rejo

Reputation: 3350

Add all popups in array when u create it. And remove all popups

var popupCollection:ArrayCollection = new ArrayCollection;
var mypopup:IFlexDisplayObject;

PopUpManager.centerPopUp(mypopup=PopUpManager.createPopUp(this,popupWindow));
popupCollection.addItem(mypopup);

u can remove all popup using loop

PopUpManager.removePopUp(popupCollection[index] as IFlexDisplayObject);

Upvotes: 1

shaunhusain
shaunhusain

Reputation: 19748

I don't think there's really a call for removing all pop-ups with the pop-up manager. I think you would need to keep a reference to each instance in a list and call PopUpManager.removePopUp for each one. Honestly though it's probably not a good idea to have a ton of pop-ups (in terms of user experience) there may be a case for it but I would definitely take some time to consider if it's the best option really.

EDIT:

You could also consider extending PopUpManager and maintain an internal collection, it looks like PopUpManager uses PopUpManagerImpl and doesn't seem to expose the impl property it uses for delegating the actual work so you'd probably need to extend both. But you could then use the PopUpManagerImpl.mx_internal::popupInfo which is an array that has objects that have a property called owner that seems like it would be what you'd want to supply to the calls to removePopUp.

Upvotes: 2

Related Questions