use Ffhs\FilamentPackageFfhsCustomForms\CustomForms\CustomForm\FormConfiguration\CustomFormConfiguration;
class SimpleForm extends CustomFormConfiguration {
public static function identifier(): string {
return 'simple_form';
}
public static function displayName(): string
{
return __('Simple Form');
}
}
class MyType extends CustomFieldType
{
public function getTranslatedName(): string
{
return __('type.label');
}
public static function identifier(): string
{
return 'text';
}
public function viewModes(): array
{
return [
'default' => MyTypeView::class,
];
}
public function icon(): string
{
return 'bi-input-cursor-text';
}
}
// MyTrigger.php
class MyTrigger extends FormRuleTriggerType
{
use HasTriggerEventFormTargets; // <= Adds an CustomField Select
public static function identifier(): string
{
return 'my_trigger';
}
public function getDisplayName(): string
{
return 'My Trigger';
}
public function isTrigger(array $arguments, mixed &$target, RuleTrigger $rule): bool
{
return ...;
}
public function getFormSchema(): array
{
return [
Toggle::make('option for my trigger'),
this->getTargetSelect() // <= Adds an CustomField Select
];
}
}
// MyTrigger.php
class MyEvent extends FormRuleEventType
{
use HasTriggerEventFormTargets; // <= Adds an CustomField Select
public static function identifier(): string
{
return 'my_event';
}
public function getDisplayName(): string
{
return 'My Event';
}
public function getFormSchema(): array
{
return [
Toggle::make('option for my trigger'),
this->getTargetSelect() // <= Adds an CustomField Select
];
}
// Implement one or more handler functions below depending on your use case:
// - handleAnswerLoadMutation
// - handleAnswerSaveMutation
// - handleBeforeRender
// - handleAfterRenderForm
// - handleAfterRenderInfolist
}