You are here

function _form_builder_webform_property_map in Form Builder 6

Same name and namespace in other branches
  1. 7.2 modules/webform/form_builder_webform.module \_form_builder_webform_property_map()
  2. 7 modules/webform/form_builder_webform.module \_form_builder_webform_property_map()

Helper function; Retrieve a component's map and merge in generic properties.

5 calls to _form_builder_webform_property_map()
form_builder_webform_form_builder_properties in modules/webform/form_builder_webform.module
Implements hook_form_builder_properties().
form_builder_webform_form_builder_types in modules/webform/form_builder_webform.module
Implements hook_form_builder_types().
_form_builder_webform_mapped_form in modules/webform/form_builder_webform.components.inc
Helper function; Generate a configuration form based on a map.
_form_builder_webform_save_mapped_component in modules/webform/form_builder_webform.components.inc
Helper function; Save an element to a Webform component based on a map.
_form_builder_webform_set_mapped_type in modules/webform/form_builder_webform.components.inc
Helper function; Alter a form element upon load based on a map.

File

modules/webform/form_builder_webform.module, line 410
Form Builder integration for the Webform module.

Code

function _form_builder_webform_property_map($component_type) {
  static $maps;
  if (!isset($maps[$component_type])) {
    module_load_include('inc', 'webform', 'includes/webform.components');
    $map = form_builder_webform_component_invoke($component_type, 'form_builder_map');
    $map = $map ? $map : array();
    if (webform_component_feature($component_type, 'title')) {
      $map['properties']['title'] = array();
    }
    if (webform_component_feature($component_type, 'title_display')) {
      $map['properties']['title_display'] = array(
        'form_parents' => array(
          'display',
          'title_display',
        ),
        'storage_parents' => array(
          'extra',
          'title_display',
        ),
      );
    }
    if (webform_component_feature($component_type, 'default_value')) {
      $map['properties']['default_value'] = array();
    }
    if (webform_component_feature($component_type, 'description')) {
      $map['properties']['description'] = array(
        'storage_parents' => array(
          'extra',
          'description',
        ),
      );
    }
    if (webform_component_feature($component_type, 'private')) {
      $map['properties']['webform_private'] = array(
        'form_parents' => array(
          'display',
          'private',
        ),
        'storage_parents' => array(
          'extra',
          'private',
        ),
      );
    }
    if (webform_component_feature($component_type, 'required')) {
      $map['properties']['required'] = array();
    }

    // All components support the key property.
    $map['properties']['key'] = array();
    drupal_alter('form_builder_webform_property_map', $map, $component_type);
    $maps[$component_type] = $map;
  }
  return $maps[$component_type];
}