You are here

function form_builder_examples_form_builder_element_types in Form Builder 7

Same name and namespace in other branches
  1. 7.2 examples/form_builder_examples.module \form_builder_examples_form_builder_element_types()

Implements of hook_form_builder_element_types().

Define the supported fields and properties supported by CCK.

File

examples/form_builder_examples.module, line 151
form_builder_examples.module Sample implementations of form_builder.

Code

function form_builder_examples_form_builder_element_types($form_type, $form_id) {
  if ($form_type != 'example') {
    return;
  }
  $fields['fieldset'] = array(
    'title' => t('Fieldset'),
    'properties' => array(
      'title',
      'description',
      'collapsible',
      'collapsed',
    ),
    'default' => array(
      '#title' => t('New fieldset'),
      '#type' => 'fieldset',
      '#collapsible' => TRUE,
      '#collapsed' => FALSE,
    ),
  );
  $fields['number'] = array(
    'title' => t('Number'),
    'properties' => array(
      'title',
      'description',
      'field_prefix',
      'field_suffix',
      'default_value',
      'required',
    ),
    // TODO: how to handle validate functions?
    'validate' => array(
      'number',
    ),
    'default' => array(
      '#title' => t('New number'),
      '#type' => 'textfield',
      '#default_value' => NULL,
    ),
  );
  $fields['select'] = array(
    'title' => t('Select list'),
    'properties' => array(
      'title',
      'description',
      'default_value',
      'required',
      'options',
      'multiple',
      // Handled by options element.
      'key_type',
      // Handled by options element.
      'key_type_toggle',
      // Handled by options element.
      'key_type_toggled',
    ),
    'default' => array(
      '#title' => t('New select list'),
      '#type' => 'select',
      '#options' => array(
        '1' => 'one',
        '2' => 'two',
        '3' => 'three',
      ),
      '#multiple_toggle' => TRUE,
      '#default_value' => '2',
    ),
  );

  // TODO: Merge checkbox with checkboxes?

  /*
  $fields['checkbox'] = array(
    'title' => t('Checkbox'),
    'properties' => array(
      'title',
      'description',
      'return_value',
      'default_value',
      'required',
     ),
    'default' => array(
      '#title' => t('New checkbox'),
      '#type' => 'checkbox',
    ),
  );
  */
  $fields['checkboxes'] = array(
    'title' => t('Checkboxes'),
    'properties' => array(
      'title',
      'description',
      'default_value',
      'required',
      'options',
      'multiple',
      'key_type',
      // Handled by options element.
      'key_type_toggle',
      // Handled by options element.
      'key_type_toggled',
    ),
    'default' => array(
      '#title' => t('New checkboxes'),
      '#type' => 'checkboxes',
      '#options' => array(
        'one' => 'one',
        'two' => 'two',
        'three' => 'three',
      ),
      '#default_value' => array(
        'two',
      ),
    ),
  );
  $fields['radios'] = array(
    'title' => t('Radios'),
    'properties' => array(
      'title',
      'description',
      'default_value',
      'required',
      'options',
      'key_type',
      // Handled by options element.
      'key_type_toggle',
      // Handled by options element.
      'key_type_toggled',
    ),
    'default' => array(
      '#title' => t('New radios'),
      '#type' => 'radios',
      '#options' => array(
        'one' => 'one',
        'two' => 'two',
        'three' => 'three',
      ),
      '#default_value' => 'two',
    ),
  );
  $fields['textfield'] = array(
    'title' => t('Textfield'),
    'properties' => array(
      'title',
      'description',
      'field_prefix',
      'field_suffix',
      'default_value',
      'required',
      'size',
    ),
    'default' => array(
      '#title' => t('New textfield'),
      '#type' => 'textfield',
      '#default_value' => '',
    ),
  );
  $fields['textarea'] = array(
    'title' => t('Textarea'),
    'properties' => array(
      'title',
      'description',
      'default_value',
      'required',
      'rows',
      'cols',
    ),
    'default' => array(
      '#title' => t('New textarea'),
      '#type' => 'textarea',
      '#default_value' => '',
    ),
  );
  $fields['file'] = array(
    'title' => t('File'),
    'properties' => array(
      'title',
      'description',
      'required',
      'size',
      'file_extension_validate',
      'file_size_validate',
    ),
    'default' => array(
      '#title' => t('New file'),
      '#type' => 'file',
      '#size' => 30,
    ),
  );
  $fields['image'] = array(
    'title' => t('Image'),
    'properties' => array(
      'title',
      'description',
      'required',
    ),
    'validate' => array(
      'file_extension_validate',
      'file_size_validate',
      'file_image_size',
    ),
    'default' => array(
      '#title' => t('New image'),
      '#type' => 'file',
      '#size' => 30,
    ),
  );
  return $fields;
}