Name: closeControl

Type: message

Syntax: closeControl

Summary: Sent to a <group> when the user is leaving the <card> that contains it.

Introduced: 3.5

OS: mac,windows,linux,ios,android

Platforms: desktop,server,web,mobile

Example:
on closeControl
  deleteTemporaryObjects
  pass closeBackground
end closeControl

Description:
Handle the <closeControl> message if you want to perform clean-up or do other tasks when the user leaves a card.

A <group> is closed when the user either goes to a card that doesn't have the group on it, or closes the stack. Groups with their <backgroundBehavior property> set to true are sent the message when the user goes to a card that the group is not placed on from one where it is, as well as when the stack is closed.

The <closeControl> message is sent to groups just before the <closeCard message> is sent to the <card> being closed. For nested groups it is sent to the parent group first, then if passed or not handled, it passes through each child group in reverse layer order (from highest to lowest).

For groups with their <backgroundBehavior property> set to true, the <closeControl> message is sent after the <closeCard message>, and just before the <closeBackground message>.

The actual closing is not triggered by the <closeControl> message, so blocking it will not stop the card being closed.

References: backgroundBehavior property (property), closeCard message (message), openControl (message), closeBackground message (message), dispatch (command), card (object), group (object)
