You are here

function form_builder_examples_property_options_form in Form Builder 7.2

Configuration form for the "options" property.

1 string reference to 'form_builder_examples_property_options_form'
form_builder_examples_form_builder_properties in examples/form_builder_examples.module
Implementation of hook_form_builder_properties().

File

examples/form_builder_examples.properties.inc, line 187
form_builder_examples.properties.inc Implementations of hook_form_builder_properties in separate functions.

Code

function form_builder_examples_property_options_form(&$form_state, $form_type, $element, $property) {
  $form = array();

  // Checkboxes have an implied "multiple" property.
  if ($element['#type'] == 'checkboxes') {
    $element['#multiple'] = TRUE;
  }
  $form['options'] = array(
    '#form_builder' => array(
      'property_group' => 'options',
    ),
    '#title' => t('Options'),
    '#type' => 'options',
    '#default_value' => $element['#default_value'],
    '#options' => $element['#options'],
    '#required' => TRUE,
    '#multiple' => isset($element['#multiple']) ? $element['#multiple'] : FALSE,
    '#multiple_toggle' => isset($element['#multiple_toggle']) ? $element['#multiple_toggle'] : FALSE,
    '#optgroups' => $element['#type'] == 'select' ? TRUE : FALSE,
    '#limit' => 500,
    '#key_type' => isset($element['#key_type']) ? $element['#key_type'] : 'mixed',
    '#key_type_toggle' => isset($element['#key_type_toggle']) ? $element['#key_type_toggle'] : TRUE,
    '#key_type_toggled' => isset($element['#key_type_toggled']) ? $element['#key_type_toggled'] : FALSE,
  );

  // Remove the default value field, since it's handled by the options field.
  $form['default_value'] = array();
  return $form;
}