You are here

function subform_form_after_build in Subform 7

After-build callback for form elements within subform elements.

Registers this callback.

See also

subform_form_alter()

1 string reference to 'subform_form_after_build'
subform_form_alter in ./subform.module
Implements hook_form_alter().

File

./subform.module, line 350
Defines a subform element type.

Code

function subform_form_after_build($element, &$form_state) {
  if (!isset($form_state['triggering_element'])) {

    // Indicate that no actual triggering element is set; form_builder() will
    // set the first button as the triggering element.
    $form_state['temporary']['subform_no_triggering_element'] = TRUE;

    // Allows to set an alternative default triggering element.
    if (!empty($element['#subform_default_triggering_element'])) {
      $triggering_element =& subform_array_get_nested_value($element, $element['#subform_default_triggering_element'], $triggering_element_exists);
      if ($triggering_element_exists) {
        $form_state['triggering_element'] = $triggering_element;
      }
    }
  }

  // Set a #pre_render callback on all elements within a subform.
  $element['#pre_render']['subform_form_pre_render'] = 'subform_form_pre_render';
  subform_form_after_build_traverse_children($form_state['subform_name'], $element);
  return $element;
}