function sliderfield_field_widget_settings_form in SliderField 7
Same name and namespace in other branches
- 7.2 sliderfield.module \sliderfield_field_widget_settings_form()
Implements hook_field_widget_settings_form().
File
- ./
sliderfield.module, line 139 - Defines a Slider widget for use with decimal, number, and float fields.
Code
function sliderfield_field_widget_settings_form($this_field, $instance) {
$widget = $instance['widget'];
$settings = $widget['settings'];
switch ($widget['type']) {
case 'sliderfield_basic':
$form['step'] = array(
'#type' => 'textfield',
'#title' => t('Step'),
'#default_value' => isset($settings['step']) ? $settings['step'] : 1,
'#description' => t('The step that the slider should use.'),
'#element_validate' => array(
'_element_validate_number',
),
'#required' => TRUE,
);
break;
case 'sliderfield_adjust':
$entity_fields = field_info_instances($instance['entity_type'], $instance['bundle']);
$all_fields = field_info_fields();
$supported_field_types = array(
'number_decimal',
'number_integer',
'number_float',
);
$valid_fields = array();
// Get a list of all valid fields that we both support and are part of this entity
foreach ($all_fields as $field) {
if (array_key_exists($field['field_name'], $entity_fields)) {
if (in_array($field['type'], array_values($supported_field_types)) && $field['field_name'] != $this_field['field_name']) {
$valid_fields[$field['field_name']] = $entity_fields[$field['field_name']]['label'];
}
}
}
$valid_fields = array(
'' => '--',
) + $valid_fields;
$form['sliderfield_adjust_field'] = array(
'#type' => 'select',
'#title' => t('Adjust the Maximum value from field'),
'#default_value' => isset($settings['sliderfield_adjust_field']) ? $settings['sliderfield_adjust_field'] : '',
'#options' => $valid_fields,
'#description' => t('Select which field you would like to use to adjust the slider\'s Maximum value.'),
);
break;
}
return $form;
}