function bat_calendar_reference_field_widget_form in Booking and Availability Management Tools for Drupal 7
Implements hook_field_widget_form().
File
- modules/
bat_calendar_reference/ bat_calendar_reference.module, line 736 - Defines a field type for referencing event information.
Code
function bat_calendar_reference_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) {
$widget = array(
'#theme_wrappers' => array(
'container',
'form_element',
),
'#attributes' => array(
'class' => array(
'container-inline',
),
),
);
switch ($instance['widget']['type']) {
case 'bat_calendar_reference_unit_autocomplete':
$widget['unit_id'] = array(
'#type' => 'textfield',
'#title' => t('Unit'),
'#default_value' => isset($items[$delta]['unit_id']) ? $items[$delta]['unit_id'] : NULL,
'#autocomplete_path' => 'bat_calendar_reference/autocomplete/units/' . $instance['entity_type'] . '/' . $instance['bundle'] . '/' . $field['field_name'],
'#size' => 60,
'#maxlength' => 255,
'#element_validate' => array(
'bat_calendar_reference_autocomplete_unit_validate',
),
'#value_callback' => 'bat_calendar_reference_unit_autocomplete_value',
);
$widget['event_type_id'] = array(
'#type' => 'textfield',
'#title' => t('Event type'),
'#default_value' => isset($items[$delta]['event_type_id']) ? $items[$delta]['event_type_id'] : NULL,
'#autocomplete_path' => 'bat_calendar_reference/autocomplete/event_types/' . $instance['entity_type'] . '/' . $instance['bundle'] . '/' . $field['field_name'],
'#size' => 60,
'#maxlength' => 255,
'#element_validate' => array(
'bat_calendar_reference_autocomplete_event_type_validate',
),
'#value_callback' => 'bat_calendar_reference_event_type_autocomplete_value',
);
break;
case 'bat_calendar_reference_unit_type_autocomplete':
$widget['unit_type_id'] = array(
'#type' => 'textfield',
'#title' => t('Unit type'),
'#default_value' => isset($items[$delta]['unit_type_id']) ? $items[$delta]['unit_type_id'] : NULL,
'#autocomplete_path' => 'bat_calendar_reference/autocomplete/unit_types/' . $instance['entity_type'] . '/' . $instance['bundle'] . '/' . $field['field_name'],
'#size' => 60,
'#maxlength' => 255,
'#element_validate' => array(
'bat_calendar_reference_autocomplete_unit_type_validate',
),
'#value_callback' => 'bat_calendar_reference_unit_type_autocomplete_value',
);
$widget['event_type_id'] = array(
'#type' => 'textfield',
'#title' => t('Event type'),
'#default_value' => isset($items[$delta]['event_type_id']) ? $items[$delta]['event_type_id'] : NULL,
'#autocomplete_path' => 'bat_calendar_reference/autocomplete/event_types/' . $instance['entity_type'] . '/' . $instance['bundle'] . '/' . $field['field_name'],
'#size' => 60,
'#maxlength' => 255,
'#element_validate' => array(
'bat_calendar_reference_autocomplete_event_type_validate',
),
'#value_callback' => 'bat_calendar_reference_event_type_autocomplete_value',
);
break;
}
return $element + $widget;
}