-
Notifications
You must be signed in to change notification settings - Fork 2
Thrive Automator Trigger Fields
iuliadezmirean1 edited this page May 13, 2022
·
2 revisions
Trigger Fields are the fields used for setting up an action in the admin UI.
In order to create your own Trigger_Field you need to extend Thrive\Automator\Items\Trigger_Field and implement the required basic methods.
-
abstract public static function get_id(): string- should return a unique identifier that will be used as a key in arrays. To avoid conflicts or overwrites we suggest using a prefix.
public static function get_id(): string {
return 'request_headers_toggle';
}-
abstract public static function get_name(): string- the name of theTrigger_Field.
public static function get_name(): string {
return 'Headers';
}-
abstract public static function get_description(): string- short description of theTrigger_Fieldthat will be displayed in the tooltip.
public static function get_description(): string {
return 'Whether you want custom headers';
}-
abstract public static function get_placeholder(): string- input placeholder to be displayed in the admin UI.
public static function get_placeholder(): string {
return 'user role';
}-
abstract public static function get_type(): string- type of input field, required to render in the admin UI.
/**
* @see Utils::FIELD_TYPE_TEXT
* @see Utils::FIELD_TYPE_TAGS
* @see Utils::FIELD_TYPE_SELECT
* @see Utils::FIELD_TYPE_CHECKBOX
* @see Utils::FIELD_TYPE_AUTOCOMPLETE
* @see Utils::FIELD_TYPE_DOUBLE_DROPDOWN
* @see Utils::FIELD_TYPE_BUTTON
* @see Utils::FIELD_TYPE_KEY_PAIR
*/
public static function get_type(): string {
return Trigger_Field::FIELD_TYPE_RADIO;
}-
abstract public static function get_validators(): array- return an array of validations that should be done on the field.
public static function get_validators(): array {
return [ static::REQUIRED_VALIDATION ];
}-
abstract public static function is_ajax_field(): bool- check if the field values are retrieved normally or with an ajax request.
public static function is_ajax_field(): bool {
return true;
}-
public static function allow_dynamic_data(): bool- Whether users should be allowed to add dynamic data fromData_Fieldas value for the currentTrigger_Field.
public static function allow_dynamic_data(): bool {
return false;
}-
public static function get_default_value(): string- can be used to set default values for a field e.g select field.
public static function get_default_value(): string{
return 'first_key';
}-
abstract public static function get_options_callback(): array- return an array of id/label arrays representing the option values for theTrigger_Field.$trigger_id- the current trigger where the field is displayed, useful when a single field is used in multiple triggers(e.g products list)$trigger_data- current state of the trigger. Can be used to filter the values based on other properties set for the current trigger
public static function get_options_callback( $trigger_id, $trigger_data ): array {
return [
'none' => [
'id' => 'none',
'label' => 'None',
],
'custom' => [
'id' => 'custom',
'label' => 'Custom',
],
];
}In order to register this Trigger_Field so it can appear in the admin area, we should use the thrive_automator_register_trigger_field function which receives as the only parameter, the class name.