action-button-render.php
4 years ago
base-select-radio-check.php
4 years ago
base.php
4 years ago
calculated-field-render.php
4 years ago
checkbox-field-render.php
4 years ago
date-field-render.php
4 years ago
datetime-field-render.php
4 years ago
form-builder.php
4 years ago
group-break-field-render.php
4 years ago
heading-field-render.php
4 years ago
media-field-render.php
4 years ago
number-field-render.php
4 years ago
radio-field-render.php
4 years ago
range-field-render.php
4 years ago
repeater-field-render.php
4 years ago
select-field-render.php
4 years ago
text-field-render.php
4 years ago
textarea-field-render.php
4 years ago
time-field-render.php
4 years ago
wysiwyg-field-render.php
4 years ago
action-button-render.php
59 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 | $this->add_attribute( 'class', 'jet-form-builder__action-button' ); |
| 42 | $this->add_attribute( 'class', $args['class_name'] ?? '' ); |
| 43 | $this->add_attribute( 'class', $type->get_class( 'button' ) ); |
| 44 | $this->add_attribute( 'type', $type->get_type() ); |
| 45 | |
| 46 | $wrap_classes = array( |
| 47 | 'jet-form-builder__action-button-wrapper', |
| 48 | $type->get_class( 'wrapper' ), |
| 49 | ); |
| 50 | |
| 51 | if ( isset( $args['add_prev'] ) && $args['add_prev'] && 1 < $this->block_type->get_current_form_break()->get_current() ) { |
| 52 | $wrap_classes[] = 'has-prev'; |
| 53 | } |
| 54 | $this->wrapper->add_attribute( 'data-type', $type->slug() ); |
| 55 | $this->wrapper->add_attribute( 'class', $wrap_classes ); |
| 56 | } |
| 57 | |
| 58 | } |
| 59 |