function active_tags_field_widget_form in Active Tags 7.2
Implements hook_field_widget_form().
File
- ./
active_tags.module, line 31 - Active Tags widget for free tagging taxonomies
Code
function active_tags_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) {
$settings = $instance['widget']['settings'];
$tags = array();
foreach ($items as $item) {
$tags[$item['tid']] = isset($item['taxonomy_term']) ? $item['taxonomy_term'] : taxonomy_term_load($item['tid']);
}
$element += array(
'#type' => 'item',
'#markup' => '',
'#element_validate' => array(
'active_tags_taxonomy_autocomplete_validate',
),
);
$element['field_terms'] = array(
'#markup' => theme('active_tags_term_list_remove', array(
'terms' => $tags,
)),
);
$element['term_entry'] = array(
'#type' => 'textfield',
'#default_value' => '',
'#autocomplete_path' => $settings['autocomplete_path'] . '/' . $field['field_name'],
'#size' => $settings['size'],
'#maxlength' => 1024,
'#attributes' => array(
'class' => array(
'at-term-entry',
),
),
'#theme_wrappers' => array(),
);
$element['add_button'] = array(
'#type' => 'button',
'#value' => t('Add'),
'#attributes' => array(
'class' => array(
'at-add-btn',
),
),
);
$element['terms'] = array(
'#type' => 'hidden',
'#default_value' => taxonomy_implode_tags($tags),
'#size' => $settings['size'],
'#maxlength' => 1024,
//'#element_validate' => array('active_tags_taxonomy_autocomplete_validate'),
'#attributes' => array(
'class' => array(
'at-terms',
),
),
'#theme_wrappers' => array(),
);
drupal_add_css(drupal_get_path('module', 'active_tags') . '/active_tags.css');
drupal_add_js(array(
'activeTags' => array(
'mode' => $settings['mode'],
),
), 'setting');
drupal_add_js(drupal_get_path('module', 'active_tags') . '/active_tags.js');
return $element;
}