action-button-render.php
3 years ago
base-select-radio-check.php
3 years ago
base.php
3 years ago
calculated-field-render.php
3 years ago
checkbox-field-render.php
3 years ago
date-field-render.php
3 years ago
datetime-field-render.php
3 years ago
form-builder.php
3 years ago
form-hidden-fields.php
3 years ago
group-break-field-render.php
3 years ago
heading-field-render.php
3 years ago
media-field-render.php
3 years ago
number-field-render.php
3 years ago
radio-field-render.php
3 years ago
range-field-render.php
3 years ago
repeater-field-render.php
3 years ago
select-field-render.php
3 years ago
text-field-render.php
3 years ago
textarea-field-render.php
3 years ago
time-field-render.php
3 years ago
wysiwyg-field-render.php
3 years ago
action-button-render.php
63 lines
| 1 | <?php |
| 2 | |
| 3 | namespace Jet_Form_Builder\Blocks\Render; |
| 4 | |
| 5 | // If this file is called directly, abort. |
| 6 | use Jet_Form_Builder\Blocks\Button_Types\Button_Type_Base; |
| 7 | use Jet_Form_Builder\Blocks\Types\Action_Button; |
| 8 | use Jet_Form_Builder\Blocks\Types\Submit_Field; |
| 9 | use Jet_Form_Builder\Classes\Attributes_Trait; |
| 10 | |
| 11 | if ( ! defined( 'WPINC' ) ) { |
| 12 | die; |
| 13 | } |
| 14 | |
| 15 | /** |
| 16 | * Define text field renderer class |
| 17 | * |
| 18 | * @property Action_Button $block_type |
| 19 | */ |
| 20 | class Action_Button_Render extends Base { |
| 21 | |
| 22 | public $wrapper; |
| 23 | |
| 24 | public function get_name() { |
| 25 | return 'action-button'; |
| 26 | } |
| 27 | |
| 28 | public function label_allowed() { |
| 29 | return false; |
| 30 | } |
| 31 | |
| 32 | public function before_render( $args ) { |
| 33 | $type = $args['action_type'] ?? ''; |
| 34 | $this->wrapper = new class() { |
| 35 | use Attributes_Trait; |
| 36 | }; |
| 37 | |
| 38 | /** @var Button_Type_Base $type */ |
| 39 | $type = $this->block_type->get_button_type( $type ); |
| 40 | |
| 41 | if ( is_null( $type ) ) { |
| 42 | return; |
| 43 | } |
| 44 | |
| 45 | $this->add_attribute( 'class', 'jet-form-builder__action-button' ); |
| 46 | $this->add_attribute( 'class', $args['class_name'] ?? '' ); |
| 47 | $this->add_attribute( 'class', $type->get_class( 'button' ) ); |
| 48 | $this->add_attribute( 'type', $type->get_type() ); |
| 49 | |
| 50 | $wrap_classes = array( |
| 51 | 'jet-form-builder__action-button-wrapper', |
| 52 | $type->get_class( 'wrapper' ), |
| 53 | ); |
| 54 | |
| 55 | if ( isset( $args['add_prev'] ) && $args['add_prev'] && 1 < $this->block_type->get_current_form_break()->get_current() ) { |
| 56 | $wrap_classes[] = 'has-prev'; |
| 57 | } |
| 58 | $this->wrapper->add_attribute( 'data-type', $type->slug() ); |
| 59 | $this->wrapper->add_attribute( 'class', $wrap_classes ); |
| 60 | } |
| 61 | |
| 62 | } |
| 63 |