Actions define how a control reacts to user interactions or internal events.
In iOS, events and actions defined in the configuration serve the same purpose as
achieved via the
UIControl addTarget: action:forControlEvents API
when writing native code. The Extensibility Framework currently supports these event types:
- onClick (touch -
UIControlEventTouchUpInside)
- onLongClick (touch and hold)
- onOrientationChange (on-phone orientation change)
- onEnter (on Enter pressed)
- onDidLoad (viewDidLoad)
- onViewWillAppear
- onChange
- onSearch (search pressed)
- onDataLoaded
- onCreate
- onDidAppear
- onProgressCanceled
- onContextChanged
- onGlobalContextChanged
The onClick event, which translates to
UIControlEventTouchUpInside, is the most commonly used user
interaction event type.
The actions that define what happens when an event is triggered include:
- navigate – navigates to another screen with a given target
tile.
- back – returns to the previous screen.
- edit – places the view in edit mode.
- copy – copies attributes from the source object to the target
object.
- save – saves the changes made to the current object.
- delete – deletes the current object.
- uiRefresh – refreshes the current tile’s views.
- dataReload – reloads the data.
- showModal – presents the tile modally.
- dismissModal – closes a modal screen.
- updateContext – updates the tile’s context.
- clearContext – purges the context.
- updateGlobalContext – updates the global context cache with
values provided as action parameters.
- clearGlobalContext – cleans up global context.
- waitForContext – tells the tile to stop further activities
until the context arrives.
- pushUndoBuffer – starts an undo group; changes made in an
undo group can be undone simultaneously.
- popUndoBuffer – closes a previously opened undo group.
- emptyUndoBuffer – reverts all BO changes.
- showProgressView – shows an alert view; the alert view’s
parameters are provided in the binding and the BindigRef.
- dismissProgressView – closes the alert view previously opened
via showProgressView.
This example demonstrates how to define a button to react to touch
events by navigating to the tile with the TimeAccountsScreen ID:
<UIElement type=”button”>
<P pid="text" value="Time Accounts" visible="true" />
<P pid="halign" value="left" />
<P pid="width" value="49%" />
<P pid="height" value="25pt" />
<P pid="style" value="BlackButton" />
<Event id="onClick">
<Action id="navigate">
<P pid="target" value="TimeAccountsScreen" />
</Action>
</Event>
</UIElement>
You can assign events and actions to any of the supported UI elements, including those
with “image”type. This example shows how to define an image that brings up an alert view
when
tapped:
<UIElement type=”image”>
<P pid="imageSrc" value="tapMe.png"/>
<P pid="width" value="64pt" />
<P pid="height" value="64pt" />
<P pid="halign" value="center" />
<Event id="onClick">
<Action id="showAlertView">
<P pid="alertTitle" value="Delete files?" />
<P pid="cancelButtonText" value="Cancel" />
<P pid="alertMessage" value="Nuke’em!" />
</Action>
</Event>
</UIElement>