You are here

public function PropertiesExtended::getPluginDefinition in Salesforce Suite 8.4

Same name and namespace in other branches
  1. 5.0.x modules/salesforce_mapping/src/Plugin/SalesforceMappingField/PropertiesExtended.php \Drupal\salesforce_mapping\Plugin\SalesforceMappingField\PropertiesExtended::getPluginDefinition()

Gets the definition of the plugin implementation.

Return value

array The plugin definition, as returned by the discovery object used by the plugin manager.

Overrides PluginBase::getPluginDefinition

File

modules/salesforce_mapping/src/Plugin/SalesforceMappingField/PropertiesExtended.php, line 26

Class

PropertiesExtended
Adapter for entity properties and fields.

Namespace

Drupal\salesforce_mapping\Plugin\SalesforceMappingField

Code

public function getPluginDefinition() {
  $definition = parent::getPluginDefinition();
  $field_name = $this
    ->config('drupal_field_value');
  if (strpos($field_name, '.')) {
    list($field_name, $dummy) = explode('.', $field_name, 2);
  }

  // Add reference field.
  if ($field = FieldConfig::loadByName($this->mapping
    ->getDrupalEntityType(), $this->mapping
    ->getDrupalBundle(), $field_name)) {
    $definition['config_dependencies']['config'][] = $field
      ->getConfigDependencyName();

    // Add dependencies of referenced field.
    foreach ($field
      ->getDependencies() as $type => $dependency) {
      foreach ($dependency as $item) {
        $definition['config_dependencies'][$type][] = $item;
      }
    }
  }
  return $definition;
}