Overview
Excerpt |
---|
This class lets you inspect the current form state as well as perform actions on it, such as adding handlers or updating values. |
The B25.Form class is the main point of interaction for anything that you want to do on the form. Inside the customize
method (defined in the B25.Form.Customizer
interface) you can add your own event handlers to the form (or its child elements). Inside the handleEvent
method of your own handlers, you can inspect the current form state and update values on it (or its child elements). Use the getter methods to access lower level child elements, such as fields or related lists.
Example 1: Adding a handler
Adding handlers is done inside the customize
method of your own implementation of the B25.Form.Customizer interface.
Also see: Quick Start Guide
Code Block |
---|
global with sharing class MyFormCustomizer implements B25.Form.Customizer {
global void customize(B25.Form form) {
form.getField(B25__Reservation__c.B25__Status__c).onUpdate(new MyStatusHandler());
}
} |
Example 2: Updating the form
Updating the form is done inside the handleEvent
method of your own event handlers.
Also see: B25.FormEventHandler
Code Block |
---|
global with sharing class MyStatusHandler extends B25.FormEventHandler {
global override void handleEvent(B25.FormEvent event, B25.Form form) {
form.getField(B25__Reservation__c.B25__Title__c).updateValue('Hello World!');
}
} |
Interfaces
B25.Form.Customizer
The B25.Form.Customizer interface is what you need to implement to attach your own handlers to the form (also see: Quick Start Guide). It only has one method, with the following signature:
Code Block |
---|
void customize(B25.Form form) |
Parameters:
Name | Type | Description |
---|---|---|
form | B25.Form | The form, to which you can add your own handlers. |
...
Methods
getField
Code Block |
---|
B25.FormField getField(SObjectField fieldToken) |
This method will return a Field object for the specified SObjectField. The SObjectField must be an existing reservation field.
Return value:B25.FormField
Parameters:
Name | Type | Description |
---|---|---|
fieldToken | The token representing the field for which you want to get a FormField instance. |
Example:
Code Block |
---|
B25.FormField titleField = form.getField(B25__Reservation__c.B25__Title__c); |
...
getButton
Code Block |
---|
B25.FormButton getButton(String buttonName) |
This method will return a Button object. The buttonName must be an existing button.
Return value: B25.FormButton
Parameters:
Name | Type | Description |
---|---|---|
buttonName | String | The name of the button to interact with. |
Example:
Code Block |
---|
B25.FormButton button = form.getButton('my-custom-button'); |
...
getSection
Code Block |
---|
B25.FormSection getSection(String sectionName) |
This method will return a Section object. The sectionName must be an existing section label.
Return value:B25.FormSection
Parameters:
Name | Type | Description |
---|---|---|
sectionName | String | The label of the section to interact with. |
Example:
Code Block |
---|
B25.FormSection section = form.getSection('Pricing'); |
...
getLookup
Code Block |
---|
B25.Lookup getLookup(SObjectField fieldToken) |
Similar to getField, but instead this method will return a Lookup object for the specified SObjectField. The SObjectField must be an existing lookup field on reservation.
Return value:B25.Lookup
Parameters:
Name | Type | Description |
---|---|---|
fieldToken | The token representing the lookup for which you want to get a FormField instance. |
Example:
Code Block |
---|
B25.Lookup resourceLookup = form.getLookup(B25__Reservation__c.B25__Resource__c); |
...
getRelatedList
Code Block |
---|
B25.RelatedList getRelatedList(SObjectType sObjectToken) |
Returns the related list associated with the passed SObjectType token. The SObjectType must be a child of the form’s SObjectType (which is currently always B25__Reservation__c).
Return value:B25.RelatedList
Parameters:
Name | Type | Description |
---|---|---|
sObjectToken | The token representing the child object type for which you want to get a RelatedList instance. |
Example:
Code Block |
---|
B25.RelatedList contactList = form.getRelatedList(B25__ReservationContact__c.SObjectType); |
...
getReservation
Code Block |
---|
B25__Reservation__c getReservation() |
Returns the actual reservation record of this form. You can use this method inside your handlers to get more information about the field values of the current reservation record.
Setting values directly on this record has no effect. If you want to update field values, call getField followed by updateValue instead, as illustrated below:
Code Block |
---|
// to update a field inside a handler, instead of doing this:
form.getReservation().B25__Title__c = 'my title';
// you should do this:
form.getField(B25__Reservation__c.B25__Title__c).updateValue('my title'); |
Return value: B25__Reservation__c
...
onInit (without parameters)
Code Block |
---|
List<B25.FormEventHandler> onInit() |
Returns a reference to the list of handlers that have been defined to trigger when the form is initialized. You can use such a handler to prepopulate fields on the form, for example. If you simply want to set a single handler, you can use the onInit (with parameter) method described in the next section.
This method is intended to be used in the customize method defined in your implementation of the B25.Form.Customizable interface. Using it anywhere else, such as inside one of your event handlers, will not have any effect.
Note |
---|
Because this method returns a reference to the actual list (and not a copy), any changes you make to this list will directly affect the defined handlers. |
Return value: List<B25.FormEventHandler>
...
onInit (with parameter)
Code Block |
---|
void onInit(B25.FormEventHandler handler) |
This method is a convenience method, and is identical to calling onInit().add(B25.FormEventHandler handler)
. See the previous section onInit (without parameters) for more details.
Parameters:
Name | Type | Description |
---|---|---|
handler | The handler to trigger when the form is initialized. |
...
onBeforeSave (without parameters)
Code Block |
---|
List<B25.FormEventHandler> onBeforeSave() |
Returns a reference to the list of handlers that have been defined to trigger when the form is saved, but before the actual saving logic is executed. You can use such a handler to add your own validation, for example. If you simply want to set a single handler, you can use the onBeforeSave (with parameter) method described in the next section.
This method is intended to be used in the customize method defined in your implementation of the B25.Form.Customizable interface. Using it anywhere else, such as inside one of your event handlers, will not have any effect.
Note |
---|
Because this method returns a reference to the actual list (and not a copy), any changes you make to this list will directly affect the defined handlers. |
Return value: List<B25.FormEventHandler>
...
onBeforeSave (with parameter)
Code Block |
---|
void |
...
onBeforeSave(B25.FormEventHandler handler) |
...
This method is a convenience method, and is identical to calling
...
onBeforeSave().add(B25.FormEventHandler handler)
. See the previous section onBeforeSave (without parameters) for more details.
Parameters:
Name | Type | Description |
---|---|---|
handler | The handler to trigger when the form is |
...
saved (before performing the actual save logic). |
...
addButton
Code Block |
---|
void addButton(B25.FormButton button) |
Adds a button to the form. Must be called inside the customize method.
Parameters:
Name | Type | Description |
---|---|---|
button | The button to be added to the form. |
Example:
Code Block |
---|
form.addButton(new B25.FormButton('my-name', 'My Label')); |
...
showSuccessToast
Code Block |
---|
ToastNotification showSuccessToast(String title, String message) |
Shows a success toast notification on the form.
Parameters:
Name | Type | Description |
---|---|---|
title | String | The title to be displayed on the toast notification. |
message | String | The message to be displayed on the toast notification. |
Example:
Code Block |
---|
form.showSuccessToast('Success!', 'Changes saved succesfully.'); |
...
showErrorToast
Code Block |
---|
ToastNotification showErrorToast(String title, String message) |
Shows an error toast notification on the form.
Parameters:
Name | Type | Description |
---|---|---|
title | String | The title to be displayed on the toast notification. |
message | String | The message to be displayed on the toast notification. |
Example:
Code Block |
---|
form.showErrorToast('Error', 'Something went wrong.'); |
...
On this page
...
...
showWarningToast
Code Block |
---|
ToastNotification showWarningToast(String title, String message) |
Shows a warning toast notification on the form.
Parameters:
Name | Type | Description |
---|---|---|
title | String | The title to be displayed on the toast notification. |
message | String | The message to be displayed on the toast notification. |
Example:
Code Block |
---|
form.showWarningToast('Warning', 'Saving this record would result in a conflict.'); |
...
showInfoToast
Code Block |
---|
ToastNotification showInfoToast(String title, String message) |
Shows an info toast notification on the form.
Parameters:
Name | Type | Description |
---|---|---|
title | String | The title to be displayed on the toast notification. |
message | String | The message to be displayed on the toast notification. |
Example:
Code Block |
---|
form.showInfoToast('Did you know?', 'In order to maintain air-speed velocity, a swallow needs to beat its wings forty-three times every second.'); |