The wizard is implemented as a list of steps starting from the main button. They can all be configured directly from the configuration page of the custom field.
The configuration page displays a list of buttons with all their steps. A button is actually the first screen of a wizard.
For every button you can do the next operations: edit the scripts (condition, screen and action), change the description, rename it, add a step or remove it and reorder them to suit your needs.
When adding a next step to a given button, a new line will be added in the configuration table, containing the it. For this new step we also configure the scripts, change the description or rename it.
The steps of a button can be reordered inside the button.
Adding new steps
In order to add a new step all you need to do is press the "Add Next Step" button (the "+" icon) for the desired button. A new line containing the new step will be added into the table.
The name of the step will always be built from the word "Step" and its position in the list. This is an non-editable data.
The description of the step can be changed by clicking on the "Change Description" button.
Configuring a step
The condition script for a step is similar to the one for a button. This means that it still allows you to decide whether an action will be available for the user, or not.
By default, when adding a new action, it will have the following default condition script.
number ENABLED = 1; number DISABLED = 2; number HIDDEN = 3; return ENABLED;
The script should return one of the predefined variables: ENABLED, DISABLE or HIDDEN.
- Enabled actions are available for the user to execute.
- Disabled actions mean that the screen for the action will not be visible at all and thus not available for the user to execute.
- Hidden actions mean that the screen for the action will not be visible at all but the action script will be executed.
Of course, since we are using SIL, the return value of the script can be conditional.
number ENABLED = 1; number DISABLED = 2; number HIDDEN = 3; if(<some_condition>){ return ENABLED; } if(<some_other_condition>){ return DISABLED; } return HIDDEN;
Sharing values between wizard screens
Since some values from a screen of the wizard may depend on other values from another screens, we implemented some additional routines that should help with the sharing mechanism.