name = __( 'Dropdown', 'weforms' );
$this->input_type = 'dropdown_field';
$this->icon = 'caret-square-o-down';
}
/**
* Render the text field
*
* @param array $field_settings
* @param integer $form_id
*
* @return void
*/
public function render( $field_settings, $form_id ) {
$selected = isset( $field_settings['selected'] ) ? $field_settings['selected'] : '';
$name = $field_settings['name'];
?>
print_list_attributes( $field_settings ); ?>>
print_label( $field_settings, $form_id ); ?>
help_text( $field_settings ); ?>
get_default_option_settings();
$dropdown_options = array(
$this->get_default_option_dropdown_settings(),
array(
'name' => 'first',
'title' => __( 'Select Text', 'weforms' ),
'type' => 'text',
'section' => 'basic',
'priority' => 13,
'help_text' => __( "First element of the select dropdown. Leave this empty if you don't want to show this field", 'weforms' ),
),
);
return array_merge( $default_options, $dropdown_options );
}
/**
* Get the field props
*
* @return array
*/
public function get_field_props() {
$defaults = $this->default_attributes();
$props = array(
'selected' => '',
'options' => array( 'Option' => __( 'Option', 'weforms' ) ),
'first' => __( '— Select —', 'weforms' ),
);
return array_merge( $defaults, $props );
}
/**
* Prepare entry
*
* @param $field
*
* @return mixed
*/
public function prepare_entry( $field ) {
$val = $_POST[$field['name']];
return isset( $field['options'][$val] ) ? $field['options'][$val] : '';
}
}