function select2widget_entity_process_callback in Select2 Field Widget 7.2
Process callback: 'select2widget' element type.
1 string reference to 'select2widget_entity_process_callback'
- select2widget_field_widget_form in ./
select2widget.module - Implements hook_field_widget_form().
File
- ./
select2widget.entityreference.inc, line 114
Code
function select2widget_entity_process_callback($element, &$form_state, $form) {
// Send Drupal.settings a reference to this form element.
$field_name = $element['#field_name'];
$langcode = $element['#language'];
if (!empty($form_state['field'][$field_name])) {
$cardinality = $form_state['field'][$field_name][$langcode]['field']['cardinality'];
}
else {
$parents = array_merge($element['#parents'], array(
$field_name,
));
$field = drupal_array_get_nested_value($form_state, $parents, $langcode);
$cardinality = $field['field']['cardinality'];
}
$data['select2widgetajax']['elements'][$element['#id']] = array(
'id' => $element['#id'],
'url' => $element['#autocomplete_path'],
'cardinality' => $cardinality,
'init' => $element['#init'],
'placeholder' => isset($element['#settings']['select2widgetajax']) && isset($element['#settings']['select2widgetajax']['placeholder']) ? $element['#settings']['select2widgetajax']['placeholder'] : '',
'min_char' => isset($element['#settings']['select2widgetajax']) && isset($element['#settings']['select2widgetajax']['min_char']) ? $element['#settings']['select2widgetajax']['min_char'] : '',
);
if (isset($element['#settings']['select2widgetajax']) && isset($element['#settings']['select2widgetajax']['width'])) {
$data['select2widgetajax']['elements'][$element['#id']]['width'] = $element['#settings']['select2widgetajax']['width'];
}
$data['select2widgetajax']['elements'][$element['#id']]['delay'] = variable_get('select2_delay', '100');
// Attaching library, integration script, and settings array.
$element['#attached']['library'][] = array(
'select2widget',
'select2',
);
$element['#attached']['js'][] = array(
'type' => 'setting',
'data' => $data,
);
return $element;
}