You are here

public function FeedsEntityProcessorPropertyDefault::getFormField in Feeds entity processor 7

Implements FeedsEntityProcessorPropertyInterface::getFormField().

Overrides FeedsEntityProcessorPropertyInterface::getFormField

2 calls to FeedsEntityProcessorPropertyDefault::getFormField()
FeedsEntityProcessorPropertyBoolean::getFormField in src/Property/FeedsEntityProcessorPropertyBoolean.php
Implements FeedsEntityProcessorPropertyInterface::getFormField().
FeedsEntityProcessorPropertyDate::getFormField in src/Property/FeedsEntityProcessorPropertyDate.php
Implements FeedsEntityProcessorPropertyInterface::getFormField().
3 methods override FeedsEntityProcessorPropertyDefault::getFormField()
FeedsEntityProcessorPropertyBoolean::getFormField in src/Property/FeedsEntityProcessorPropertyBoolean.php
Implements FeedsEntityProcessorPropertyInterface::getFormField().
FeedsEntityProcessorPropertyDate::getFormField in src/Property/FeedsEntityProcessorPropertyDate.php
Implements FeedsEntityProcessorPropertyInterface::getFormField().
FeedsEntityProcessorPropertyEntity::getFormField in src/Property/FeedsEntityProcessorPropertyEntity.php
Implements FeedsEntityProcessorPropertyInterface::getFormField().

File

src/Property/FeedsEntityProcessorPropertyDefault.php, line 82
Contains FeedsEntityProcessorPropertyDefault.

Class

FeedsEntityProcessorPropertyDefault
Default handler for entity properties.

Code

public function getFormField(array &$form, array &$form_state, $default) {
  $property_info = $this
    ->getPropertyInfo();
  $field = array(
    '#type' => 'textfield',
    '#title' => check_plain($property_info['label']),
    '#description' => isset($property_info['description']) ? check_plain($property_info['description']) : '',
    '#default_value' => $default,
    '#required' => !empty($property_info['required']),
  );

  // Add machine name of property.
  if (!empty($field['#description'])) {
    $field['#description'] .= '<br />';
  }
  $field['#description'] .= t('Machine name: @name', array(
    '@name' => $this->name,
  ));

  // Add data type info, if available.
  $data_type = $this
    ->getDataType();
  if ($data_type) {
    $field['#description'] .= '<br />' . t('Data type: @type', array(
      '@type' => $data_type,
    ));
  }
  if (!empty($property_info['options list'])) {
    $field['#type'] = 'select';
    if (!is_array($field['#default_value'])) {
      $field['#default_value'] = array(
        $field['#default_value'],
      );
    }
    if (isset($property_info['type']) && entity_property_list_extract_type($property_info['type'])) {
      $field['#type'] = 'checkboxes';
    }
    $name = $this
      ->getName();
    $field['#options'] = $this
      ->entityWrapper()->{$name}
      ->optionsList();
  }
  return $field;
}