From 3997f29021fb92c8844bd8bf852a4b5b19b8c546 Mon Sep 17 00:00:00 2001 From: Bart Jaskulski <bjaskulski@protonmail.com> Date: Tue, 19 Jul 2022 03:20:26 +0200 Subject: [PATCH] feat: add possibility to manipulate field type --- src/Field/BasicField.php | 9 ++++++++- src/Field/SelectField.php | 4 ++++ src/Field/TextAreaField.php | 4 ++++ src/Field/TimepickerField.php | 4 ++++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/Field/BasicField.php b/src/Field/BasicField.php index 67aa662..3e34ff9 100644 --- a/src/Field/BasicField.php +++ b/src/Field/BasicField.php @@ -29,6 +29,7 @@ abstract class BasicField implements Field { 'description' => '', 'description_tip' => '', 'data' => [], + 'type' => 'text', ]; public function should_override_form_template(): bool { @@ -36,7 +37,13 @@ abstract class BasicField implements Field { } public function get_type(): string { - return 'text'; + return $this->meta['type']; + } + + public function set_type( string $type ): Field { + $this->meta['type'] = $type; + + return $this; } public function get_validator(): Validator { diff --git a/src/Field/SelectField.php b/src/Field/SelectField.php index 2162753..04d290c 100644 --- a/src/Field/SelectField.php +++ b/src/Field/SelectField.php @@ -6,6 +6,10 @@ use WPDesk\Forms\Field; class SelectField extends BasicField { + public function get_type(): string { + return 'select'; + } + public function get_template_name(): string { return 'select'; } diff --git a/src/Field/TextAreaField.php b/src/Field/TextAreaField.php index f22b2bb..81ed137 100644 --- a/src/Field/TextAreaField.php +++ b/src/Field/TextAreaField.php @@ -4,6 +4,10 @@ namespace WPDesk\Forms\Field; class TextAreaField extends BasicField { + public function get_type(): string { + return 'textarea'; + } + public function get_template_name(): string { return 'textarea'; } diff --git a/src/Field/TimepickerField.php b/src/Field/TimepickerField.php index 0d5f0e3..f1bf91a 100644 --- a/src/Field/TimepickerField.php +++ b/src/Field/TimepickerField.php @@ -7,6 +7,10 @@ use WPDesk\Forms\Serializer\JsonSerializer; class TimepickerField extends BasicField { + public function get_type(): string { + return 'time'; + } + public function has_serializer(): bool { return true; } -- GitLab