class MappedFieldProperty in Search API Field Map 8
Same name and namespace in other branches
- 8.3 src/Plugin/search_api/processor/Property/MappedFieldProperty.php \Drupal\search_api_field_map\Plugin\search_api\processor\Property\MappedFieldProperty
- 8.2 src/Plugin/search_api/processor/Property/MappedFieldProperty.php \Drupal\search_api_field_map\Plugin\search_api\processor\Property\MappedFieldProperty
- 4.x src/Plugin/search_api/processor/Property/MappedFieldProperty.php \Drupal\search_api_field_map\Plugin\search_api\processor\Property\MappedFieldProperty
Defines an "mapped field" property.
Hierarchy
- class \Drupal\Core\TypedData\DataDefinition implements \Drupal\Core\TypedData\ArrayAccess, DataDefinitionInterface uses TypedDataTrait
- class \Drupal\search_api\Processor\ProcessorProperty implements ProcessorPropertyInterface
- class \Drupal\search_api\Processor\ConfigurablePropertyBase implements ConfigurablePropertyInterface
- class \Drupal\search_api_field_map\Plugin\search_api\processor\Property\MappedFieldProperty uses StringTranslationTrait
- class \Drupal\search_api\Processor\ConfigurablePropertyBase implements ConfigurablePropertyInterface
- class \Drupal\search_api\Processor\ProcessorProperty implements ProcessorPropertyInterface
Expanded class hierarchy of MappedFieldProperty
See also
\Drupal\search_api_field_map\Plugin\search_api\processor\MappedFields
1 file declares its use of MappedFieldProperty
- MappedFields.php in src/
Plugin/ search_api/ processor/ MappedFields.php
File
- src/
Plugin/ search_api/ processor/ Property/ MappedFieldProperty.php, line 22
Namespace
Drupal\search_api_field_map\Plugin\search_api\processor\PropertyView source
class MappedFieldProperty extends ConfigurablePropertyBase {
use StringTranslationTrait;
/**
* {@inheritdoc}
*/
public function defaultConfiguration() {
return [
'type' => 'union',
'fields' => [],
];
}
/**
* {@inheritdoc}
*/
public function buildConfigurationForm(FieldInterface $field, array $form, FormStateInterface $form_state) {
$index = $field
->getIndex();
$configuration = $field
->getConfiguration();
$form['#attached']['library'][] = 'search_api/drupal.search_api.admin_css';
$form['#tree'] = TRUE;
$form['field_data'] = [
'#type' => 'item',
'#title' => $this
->t('Mapped data'),
'#description' => $this
->t('Set the data to be sent to the index for each bundle in the data sources set in your index configuration. Use static values or choose tokens using the picker below.'),
];
foreach ($index
->getDatasources() as $datasource_id => $datasource) {
$bundles = $datasource
->getBundles();
$entity_type = $datasource
->getEntityTypeId();
// Make an array of all the entity types we're working with to pass to token_help.
$entity_types[] = $entity_type;
foreach ($bundles as $bundle_id => $bundle_label) {
// Create a config field for each bundle in our enabled datasources.
$form['field_data'][$entity_type][$bundle_id] = [
'#type' => 'textfield',
'#title' => $this
->t('Field data for %datasource » %bundle', [
'%datasource' => $datasource
->label(),
'%bundle' => $bundle_label,
]),
'#element_validate' => array(
'token_element_validate',
),
'#token_types' => array(
$entity_type,
),
];
// Set the default value if something already exists in our config.
if (isset($configuration['field_data'][$entity_type][$bundle_id])) {
$form['field_data'][$entity_type][$bundle_id]['#default_value'] = $configuration['field_data'][$entity_type][$bundle_id];
}
}
}
// Build the token picker.
$form['token_help'] = [
'#theme' => 'token_tree_link',
'#token_types' => $entity_types,
];
return $form;
}
/**
* {@inheritdoc}
*/
public function submitConfigurationForm(FieldInterface $field, array &$form, FormStateInterface $form_state) {
$values = [
'field_data' => array_filter($form_state
->getValue('field_data')),
];
$field
->setConfiguration($values);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConfigurablePropertyBase:: |
public | function |
Retrieves the description for a field based on this property. Overrides ConfigurablePropertyInterface:: |
1 |
ConfigurablePropertyBase:: |
public | function |
Validates a configuration form for a field based on this property. Overrides ConfigurablePropertyInterface:: |
|
DataDefinition:: |
protected | property | The array holding values for all definition keys. | |
DataDefinition:: |
public | function |
Adds a validation constraint. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public static | function | Creates a new data definition. | 5 |
DataDefinition:: |
public static | function |
Creates a new data definition object. Overrides DataDefinitionInterface:: |
5 |
DataDefinition:: |
public | function |
Returns the class used for creating the typed data object. Overrides DataDefinitionInterface:: |
1 |
DataDefinition:: |
public | function |
Returns a validation constraint. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function |
Returns an array of validation constraints. Overrides DataDefinitionInterface:: |
1 |
DataDefinition:: |
public | function |
Returns the data type of the data. Overrides DataDefinitionInterface:: |
2 |
DataDefinition:: |
public | function |
Returns a human readable description. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function |
Returns a human readable label. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function |
Returns the value of a given setting. Overrides DataDefinitionInterface:: |
2 |
DataDefinition:: |
public | function |
Returns the array of settings, as required by the used class. Overrides DataDefinitionInterface:: |
2 |
DataDefinition:: |
public | function |
Determines whether the data value is computed. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function |
Determines whether the data value is internal. Overrides DataDefinitionInterface:: |
1 |
DataDefinition:: |
public | function |
Determines whether the data is read-only. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function |
Determines whether a data value is required. Overrides DataDefinitionInterface:: |
|
DataDefinition:: |
public | function | This is for BC support only. @todo: Remove in https://www.drupal.org/node/1928868. | |
DataDefinition:: |
public | function | This is for BC support only. @todo: Remove in https://www.drupal.org/node/1928868. | |
DataDefinition:: |
public | function | This is for BC support only. @todo: Remove in https://www.drupal.org/node/1928868. | |
DataDefinition:: |
public | function | This is for BC support only. @todo: Remove in https://www.drupal.org/node/1928868. | |
DataDefinition:: |
public | function | Sets the class used for creating the typed data object. | |
DataDefinition:: |
public | function | Sets whether the data is computed. | |
DataDefinition:: |
public | function | Sets an array of validation constraints. | |
DataDefinition:: |
public | function | Sets the data type. | 1 |
DataDefinition:: |
public | function | Sets the human-readable description. | |
DataDefinition:: |
public | function | Sets the whether the data value should be internal. | |
DataDefinition:: |
public | function | Sets the human-readable label. | |
DataDefinition:: |
public | function | Sets whether the data is read-only. | |
DataDefinition:: |
public | function | Sets whether the data is required. | |
DataDefinition:: |
public | function | Sets a definition setting. | 2 |
DataDefinition:: |
public | function | Sets the array of settings, as required by the used class. | 2 |
DataDefinition:: |
public | function | Returns all definition values as array. | |
DataDefinition:: |
public | function | Constructs a new data definition object. | 1 |
DataDefinition:: |
public | function | 2 | |
MappedFieldProperty:: |
public | function |
Constructs a configuration form for a field based on this property. Overrides ConfigurablePropertyInterface:: |
|
MappedFieldProperty:: |
public | function |
Gets the default configuration for this property. Overrides ConfigurablePropertyBase:: |
|
MappedFieldProperty:: |
public | function |
Submits a configuration form for a field based on this property. Overrides ConfigurablePropertyBase:: |
|
ProcessorProperty:: |
public | function |
Retrieves the ID of the processor which defines this property. Overrides ProcessorPropertyInterface:: |
|
ProcessorProperty:: |
public | function |
Determines whether this property should be hidden from the UI. Overrides ProcessorPropertyInterface:: |
|
ProcessorProperty:: |
public | function |
Returns whether the data is multi-valued, i.e. a list of data items. Overrides DataDefinition:: |
|
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
TypedDataTrait:: |
protected | property | The typed data manager used for creating the data types. | |
TypedDataTrait:: |
public | function | Gets the typed data manager. | 2 |
TypedDataTrait:: |
public | function | Sets the typed data manager. | 2 |