← All changes
|
classes/views/frm-fields/back-end/combo-field/sub-field-options.php
+60
-32
6.4
→
trunk
View file →
| @@ -2,8 +2,9 @@ | ||
| 2 | 2 | /** |
| 3 | 3 | * Sub field options |
| 4 | 4 | * |
| 5 | 5 | * @package Formidable |
| 6 | + * | |
| 6 | 7 | * @since 4.10.02 |
| 7 | 8 | * |
| 8 | 9 | * @var FrmFieldCombo $this Field type object. |
| 9 | 10 | * @var array $field Field array. |
| @@ -25,11 +26,11 @@ | ||
| 25 | 26 | class="<?php echo esc_attr( $wrapper_classes ); ?>" |
| 26 | 27 | data-sub-field-name="<?php echo esc_attr( $sub_field['name'] ); ?>" |
| 27 | 28 | data-field-id="<?php echo intval( $field_id ); ?>" |
| 28 | 29 | > |
| 29 | - <label id="<?php echo esc_attr( $uniq_str ); ?>" class="frm_primary_label"> | |
| 30 | + <h4 id="<?php echo esc_attr( $uniq_str ); ?>" class="frm_primary_label frm-font-semibold frm-text-grey-600 frm-mt-xs frm-mb-xs"> | |
| 30 | 31 | <?php echo esc_html( $sub_field['label'] ); ?> |
| 31 | - </label> | |
| 32 | + </h4> | |
| 32 | 33 | |
| 33 | 34 | <?php |
| 34 | 35 | // Loop through $sub_field['options'] to show options. |
| 35 | 36 | foreach ( $sub_field['options'] as $option ) { |
| @@ -38,29 +39,57 @@ | ||
| 38 | 39 | $input_name = sprintf( '%1$s_%2$s[%3$s]', $option, $field_id, $sub_field['name'] ); |
| 39 | 40 | $input_id = $option . '_' . $uniq_str; |
| 40 | 41 | ?> |
| 41 | 42 | <p class="frm6 frm_form_field"> |
| 42 | - <span class="frm-with-right-icon"> | |
| 43 | - <?php | |
| 44 | - FrmAppHelper::icon_by_class( | |
| 45 | - 'frm_icon_font frm_more_horiz_solid_icon frm-show-inline-modal', | |
| 46 | - array( | |
| 47 | - 'data-open' => 'frm-smart-values-box', | |
| 48 | - ) | |
| 49 | - ); | |
| 43 | + <label class="frm_description" for="<?php echo esc_attr( $input_id ); ?>"> | |
| 44 | + <?php echo esc_html( $labels[ $option ] ); ?> | |
| 45 | + </label> | |
| 46 | + <?php | |
| 47 | + if ( isset( $sub_field['type'] ) && 'select' === $sub_field['type'] && isset( $sub_field['options'] ) ) { | |
| 50 | 48 | ?> |
| 51 | - <input | |
| 52 | - type="text" | |
| 49 | + <select | |
| 53 | 50 | name="<?php echo esc_attr( $input_name ); ?>" |
| 54 | 51 | id="<?php echo esc_attr( $input_id ); ?>" |
| 55 | - value="<?php echo esc_attr( isset( $default_value[ $sub_field['name'] ] ) ? $default_value[ $sub_field['name'] ] : '' ); ?>" | |
| 56 | 52 | data-changeme="field_<?php echo esc_attr( $field_key . '_' . $sub_field['name'] ); ?>" |
| 57 | 53 | data-changeatt="value" |
| 58 | - /> | |
| 59 | - </span> | |
| 60 | - <label class="frm_description" for="<?php echo esc_attr( $input_id ); ?>"> | |
| 61 | - <?php echo esc_html( $labels[ $option ] ); ?> | |
| 62 | - </label> | |
| 54 | + > | |
| 55 | + <option value=""><?php esc_html_e( '— Select —', 'formidable' ); ?></option> | |
| 56 | + <?php | |
| 57 | + foreach ( $sub_field['options'] as $opt_value => $opt_label ) { | |
| 58 | + $selected = isset( $default_value[ $sub_field['name'] ] ) && $default_value[ $sub_field['name'] ] === $opt_value ? 'selected' : ''; | |
| 59 | + ?> | |
| 60 | + <option value="<?php echo esc_attr( $opt_value ); ?>" <?php echo esc_attr( $selected ); ?>> | |
| 61 | + <?php echo esc_html( $opt_label ); ?> | |
| 62 | + </option> | |
| 63 | + <?php | |
| 64 | + } | |
| 65 | + ?> | |
| 66 | + </select> | |
| 67 | + <?php | |
| 68 | + } else { | |
| 69 | + ?> | |
| 70 | + <span class="frm-with-right-icon"> | |
| 71 | + <input | |
| 72 | + type="text" | |
| 73 | + name="<?php echo esc_attr( $input_name ); ?>" | |
| 74 | + id="<?php echo esc_attr( $input_id ); ?>" | |
| 75 | + value="<?php echo esc_attr( $default_value[ $sub_field['name'] ] ?? '' ); ?>" | |
| 76 | + data-changeme="field_<?php echo esc_attr( $field_key . '_' . $sub_field['name'] ); ?>" | |
| 77 | + data-changeatt="value" | |
| 78 | + /> | |
| 79 | + <?php | |
| 80 | + FrmAppHelper::icon_by_class( | |
| 81 | + 'frmfont frm_more_horiz_solid_icon frm-show-inline-modal frm-input-icon', | |
| 82 | + array( | |
| 83 | + 'data-open' => 'frm-smart-values-box', | |
| 84 | + 'tabindex' => '0', | |
| 85 | + ) | |
| 86 | + ); | |
| 87 | + ?> | |
| 88 | + </span> | |
| 89 | + <?php | |
| 90 | + }//end if | |
| 91 | + ?> | |
| 63 | 92 | </p> |
| 64 | 93 | <?php |
| 65 | 94 | break; |
| 66 | 95 | |
| @@ -70,19 +99,19 @@ | ||
| 70 | 99 | $input_id = 'field_options_' . $option . '_' . $uniq_str; |
| 71 | 100 | $input_value = FrmField::get_option( $field, $option ); |
| 72 | 101 | ?> |
| 73 | 102 | <p class="frm6 frm_form_field"> |
| 103 | + <label class="frm_description" for="<?php echo esc_attr( $input_id ); ?>"> | |
| 104 | + <?php echo esc_html( $labels[ $option ] ); ?> | |
| 105 | + </label> | |
| 74 | 106 | <input |
| 75 | 107 | type="text" |
| 76 | 108 | name="<?php echo esc_attr( $input_name ); ?>" |
| 77 | 109 | id="<?php echo esc_attr( $input_id ); ?>" |
| 78 | - value="<?php echo esc_attr( isset( $input_value[ $sub_field['name'] ] ) ? $input_value[ $sub_field['name'] ] : '' ); ?>" | |
| 110 | + value="<?php echo esc_attr( $input_value[ $sub_field['name'] ] ?? '' ); ?>" | |
| 79 | 111 | data-changeme="field_<?php echo esc_attr( $field_key . '_' . $sub_field['name'] ); ?>" |
| 80 | 112 | data-changeatt="<?php echo esc_attr( $option ); ?>" |
| 81 | 113 | /> |
| 82 | - <label class="frm_description" for="<?php echo esc_attr( $input_id ); ?>"> | |
| 83 | - <?php echo esc_html( $labels[ $option ] ); ?> | |
| 84 | - </label> | |
| 85 | 114 | </p> |
| 86 | 115 | <?php |
| 87 | 116 | break; |
| 88 | 117 | |
| @@ -91,23 +120,22 @@ | ||
| 91 | 120 | $input_name = sprintf( 'field_options[%1$s_%2$s_%3$s]', $sub_field['name'], $option, $field_id ); |
| 92 | 121 | $input_id = 'field_options_' . $option . '_' . $uniq_str; |
| 93 | 122 | $input_value = FrmField::get_option( $field, $sub_field['name'] . '_' . $option ); |
| 94 | 123 | ?> |
| 95 | - <p class="frm6 frm_form_field"> | |
| 96 | - <input | |
| 97 | - type="text" | |
| 124 | + <p class="frm_form_field frm-flex-col"> | |
| 125 | + <label class="frm_description" for="<?php echo esc_attr( $input_id ); ?>"> | |
| 126 | + <?php echo esc_html( $labels[ $option ] ); ?> | |
| 127 | + </label> | |
| 128 | + <textarea | |
| 98 | 129 | name="<?php echo esc_attr( $input_name ); ?>" |
| 99 | 130 | id="<?php echo esc_attr( $input_id ); ?>" |
| 100 | - value="<?php echo esc_attr( $input_value ); ?>" | |
| 101 | 131 | data-changeme="frm_field_<?php echo esc_attr( $field_id . '_' . $sub_field['name'] ); ?>_desc" |
| 102 | - /> | |
| 103 | - <label class="frm_description" for="<?php echo esc_attr( $input_id ); ?>"> | |
| 104 | - <?php echo esc_html( $labels[ $option ] ); ?> | |
| 105 | - </label> | |
| 132 | + rows="2" | |
| 133 | + ><?php echo esc_html( $input_value ); ?></textarea> | |
| 106 | 134 | </p> |
| 107 | 135 | <?php |
| 108 | 136 | break; |
| 109 | - } | |
| 110 | - } | |
| 137 | + }//end switch | |
| 138 | + }//end foreach | |
| 111 | 139 | ?> |
| 112 | 140 | <div class="frm12"></div> |
| 113 | 141 | </div><!-- End .frm_sub_field_options --> |