You are here

function _form_builder_webform_property_map in Form Builder 7

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

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

6 calls to _form_builder_webform_property_map()
FormBuilderWebformForm::addComponents in modules/webform/form_builder_webform.classes.inc
Add components to the form.
FormBuilderWebformFormTest::testElementMappings in modules/webform/tests/FormBuilderWebformFormTest.php
Test whether we have a mapping for every (core) webform component.
form_builder_webform_form_builder_element_types in modules/webform/form_builder_webform.module
Implements hook_form_builder_element_types().
form_builder_webform_form_builder_properties in modules/webform/form_builder_webform.module
Implements hook_form_builder_properties().
_form_builder_webform_mapped_form in modules/webform/form_builder_webform.components.inc
Helper function; Generate a configuration form based on a map.

... See full list

File

modules/webform/form_builder_webform.module, line 360
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();
    $map += array(
      'form_builder_type' => $component_type,
    );
    if (webform_component_feature($component_type, 'title')) {
      $map['properties']['title'] = array(
        'storage_parents' => array(
          'name',
        ),
      );
    }
    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(
        'class' => 'FormBuilderWebformPropertyValue',
        'storage_parents' => array(
          'value',
        ),
      );
    }
    if (webform_component_feature($component_type, 'description')) {
      $map['properties']['description'] = array(
        'storage_parents' => array(
          'extra',
          'description',
        ),
      );
    }
    if (webform_component_feature($component_type, 'placeholder')) {
      $map['properties']['placeholder'] = array(
        'form_parents' => array(
          'display',
          'placeholder',
        ),
        'storage_parents' => array(
          'extra',
          'placeholder',
        ),
      );
    }
    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, 'css_classes')) {
      $map['properties']['css_classes'] = array(
        'form_parents' => array(
          'display',
          'css_classes',
        ),
        'storage_parents' => array(
          'extra',
          'css_classes',
        ),
      );
    }
    if (webform_component_feature($component_type, 'wrapper_classes')) {
      $map['properties']['wrapper_classes'] = array(
        'form_parents' => array(
          'display',
          'wrapper_classes',
        ),
        'storage_parents' => array(
          'extra',
          'wrapper_classes',
        ),
      );
    }
    if (webform_component_feature($component_type, 'required')) {
      $map['properties']['required'] = array(
        'class' => 'FormBuilderWebformPropertyRequired',
      );
    }

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