function _addressfield_autocomplete_widget_after_build in Addressfield Autocomplete 7
Adds the states and JS settings to the correct form element by name.
Parameters
$form_element: The form element containing the parents array.
1 string reference to '_addressfield_autocomplete_widget_after_build'
File
- ./
addressfield_autocomplete.module, line 598 - The Addressfield Autocomplete module code.
Code
function _addressfield_autocomplete_widget_after_build($form_element) {
$parents = $form_element['#parents'];
$name = array_shift($parents) . '[' . implode('][', $parents) . ']';
// Update fields in JS settings with complete field name from parents.
$attached_js_fields =& $form_element['#attached']['js'][0]['data']['addressfield_autocomplete']['fields'];
$renamed_field_settings = array();
foreach ($attached_js_fields as $key => $settings) {
$renamed_field_settings[$name] = $settings;
}
$attached_js_fields = $renamed_field_settings;
$form_element['autocomplete']['#states'] = array(
'visible' => array(
':input[name="' . $name . '[reveal]"]' => array(
'value' => '0',
),
),
);
$form_element['link_container']['#states'] = array(
'visible' => array(
':input[name="' . $name . '[reveal]"]' => array(
'value' => '0',
),
),
);
$form_element['widget']['#states'] = array(
'visible' => array(
':input[name="' . $name . '[reveal]"]' => array(
'value' => '1',
),
),
);
return $form_element;
}