<submit/>
Description
Submit buttons are aesthetically similar to normal buttons but their behaviour differs from normal buttons with respect to the following:
- By default, they allow data captured on the view to be submitted to a unit
- They do not allow for usage without an action function binding
Visibility bindings, Button colours and icons, Button grouping, Tooltips and the confirm dialog is also supported.
Note that it is also possible to force data actions (rowAction, cellAction, locationAction, markerAction etc.) to act as though they are submit buttons. To achieve this, the "submit" attribute can be set to a value of "true".
Example
<textarea label="input.workout_comments"> <binding variable="uWorkout"> <attribute name="comments"/> </binding> </textarea> <submit label="button.save_workout" action="saveWorkout"/>
unit Workouts;
Workout uWorkout;
void init() {
uWorkout = Workout:new();
}
.
.
.
DSL_VIEWS saveWorkout() {
uWorkout.endTstamp = Date:now();
uWorkout.save();
init();
return DSL_VIEWS.Workouts;
}
button.save_workout = Save workout
The above example shows a very typical use case where data is submitted after which the view is reloaded by means of a navigation to the same view. Note that when navigating from a view to itself, the view is reloaded in that any collection sources for widgets on the view are re-evaluated. The init function, however, will not be executed. A view init function will only be executed when navigating to the view from a different view or as a result of a menu navigation. For that reason we include a call to init in the saveWorkout function in the code snippet above. This ensures that a new workout object instance is instantiated despite the init function not being called automatically.
Additional Mentions and References
- Shown in code example in the Helium Tutorial Lesson 5: Model Objects, Enums
- Helium DSL and View Quick Reference