function _civicrm_entity_price_set_field_simple_widget_price_field_ajax in CiviCRM Entity 7.2
Ajax callback for Price Field Values table, Simple Widget
_state
Parameters
$form:
Return value
array|null
1 string reference to '_civicrm_entity_price_set_field_simple_widget_price_field_ajax'
- civicrm_entity_price_set_field_field_widget_form_alter in modules/
civicrm_entity_price_set_field/ civicrm_entity_price_set_field.module - Implements hook_field_widget_form_alter().
File
- modules/
civicrm_entity_price_set_field/ civicrm_entity_price_set_field.module, line 935
Code
function _civicrm_entity_price_set_field_simple_widget_price_field_ajax($form, $form_state) {
$element_id = $form_state['triggering_element']['#element_id'];
$price_field_id = $form_state['triggering_element']['#price_field_id'];
$element_parents = $form_state['triggering_element']['#parents'];
$parents = array();
$field_name = '';
foreach ($element_parents as $index => $parent) {
if (strpos($parent, 'field_') === 0) {
$field_name = str_replace('_', '-', $parent);
}
if (strpos($parent, 'price_field') === 0) {
$parents[] = 'price_field';
break;
}
else {
$parents[] = $parent;
}
}
$output = drupal_array_get_nested_value($form, $parents);
$row_state = drupal_array_get_nested_value($form_state['input'], $parents);
$selected_id = 0;
foreach ($row_state as $id => $values) {
if ($values['is_default'] == 1) {
$selected_id = $id;
break;
}
}
$commands = array();
$commands[] = ajax_command_html('#price-field-' . $price_field_id . '-attributes', render($output));
$commands[] = array(
'command' => 'afterPriceFieldAjaxReplaceCallback',
'selectedValue' => $selected_id,
'fieldName' => $field_name,
);
return array(
'#type' => 'ajax',
'#commands' => $commands,
);
}