1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
<?php
defined( 'ABSPATH' ) || exit;
/** * Can be loaded by ajax * * @var AutomateWoo\Workflow $workflow * @var AutomateWoo\Trigger $trigger * @var bool $fill_fields (optional) */
// default to false if ( ! isset( $fill_fields ) ) { $fill_fields = false; }
if ( ! $trigger ) { return; }
// if we're populating field values, get the trigger object from the workflow // Otherwise just use the unattached trigger object
if ( $fill_fields ) { $trigger = $workflow->get_trigger(); }
$fields = $trigger->get_fields();
?>
<?php foreach ( $fields as $field ) : ?>
<?php if ( $fill_fields ) { // load dynamic options before value is set and field is rendered if ( $field->get_type() === 'select' ) {
/** @var $field AutomateWoo\Fields\Select */ if ( $field->has_dynamic_options() ) { $reference_field_value = $workflow->get_trigger_option( $field->dynamic_options_reference_field_name ); $options = $trigger->get_dynamic_field_options( $field->get_name(), $reference_field_value ); $field->set_options( $options ); } }
$value = $workflow->get_trigger_option( $field->get_name() ); } else { $value = null; } ?>
<tr class="automatewoo-table__row aw-trigger-option" data-name="name" data-type="<?php echo esc_attr( $field->get_type() ); ?>" data-required="<?php echo (int) $field->get_required(); ?> ">
<td class="automatewoo-table__col automatewoo-table__col--label">
<?php echo wp_kses_post( $field->get_title() ); ?> <?php if ( $field->get_required() ) : ?> <span class="required">*</span> <?php endif; ?>
<?php AutomateWoo\Admin::help_tip( $field->get_description() ); ?>
</td>
<td class="automatewoo-table__col automatewoo-table__col--field automatewoo-field-wrap"> <?php $field->render( $value ); ?> </td> </tr>
<?php endforeach; ?>
|