class DateTimeFieldMapping in Webform Content Creator 3.x
Provides a datetime field mapping.
Plugin annotation
@WebformContentCreatorFieldMapping(
id = "datetime_mapping",
label = @Translation("Datetime"),
weight = 0,
field_types = {
"datetime",
"timestamp"
},
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\webform_content_creator\Plugin\FieldMappingBase implements FieldMappingInterface
- class \Drupal\webform_content_creator\Plugin\WebformContentCreator\FieldMapping\DateTimeFieldMapping
- class \Drupal\webform_content_creator\Plugin\FieldMappingBase implements FieldMappingInterface
Expanded class hierarchy of DateTimeFieldMapping
File
- src/
Plugin/ WebformContentCreator/ FieldMapping/ DateTimeFieldMapping.php, line 24
Namespace
Drupal\webform_content_creator\Plugin\WebformContentCreator\FieldMappingView source
class DateTimeFieldMapping extends FieldMappingBase {
public function getSupportedWebformFields($webform_id) {
$supported_types = [
"changed",
"created",
"date",
"datetime",
"datelist",
"timestamp",
"webform_time",
];
return $this
->filterWebformFields($webform_id, $supported_types);
}
public function mapEntityField(ContentEntityInterface &$content, array $webform_element, array $data = [], FieldDefinitionInterface $field_definition) {
$field_id = $field_definition
->getName();
$field_value = $data[$field_id];
if ($field_definition
->getType() == "datetime") {
$field_data = $this
->convertTimestamp($field_value, $field_definition);
$content
->set($field_id, $field_data);
}
}
/**
* Convert timestamp value according to field type.
*
* @param int $value
* Original datetime value.
* @param FieldDefinitionInterface $field_definition
* Entity field.
*
* @return string
* Converted value.
*/
protected function convertTimestamp($value, FieldDefinitionInterface $field_definition) {
$date_time = new DrupalDateTime($value, 'UTC');
$date_type = $field_definition
->getSettings()['datetime_type'];
if ($date_type === 'datetime') {
$result = \Drupal::service('date.formatter')
->format($date_time
->getTimestamp(), 'custom', DateTimeItemInterface::DATETIME_STORAGE_FORMAT, 'UTC');
}
else {
$result = \Drupal::service('date.formatter')
->format($date_time
->getTimestamp(), 'custom', DateTimeItemInterface::DATE_STORAGE_FORMAT, 'UTC');
}
return $result;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DateTimeFieldMapping:: |
protected | function | Convert timestamp value according to field type. | |
DateTimeFieldMapping:: |
public | function |
Overrides FieldMappingBase:: |
|
DateTimeFieldMapping:: |
public | function |
Use a single mapping to set an entity field value. Overrides FieldMappingBase:: |
|
FieldMappingBase:: |
protected | function | ||
FieldMappingBase:: |
public | function |
Returns the entity component fields. Overrides FieldMappingInterface:: |
1 |
FieldMappingBase:: |
public | function | Get the field types this plugin is available for. | |
FieldMappingBase:: |
public | function | Get the plugin ID. | |
FieldMappingBase:: |
public | function | Get the plugin label. | |
FieldMappingBase:: |
public | function | Return the plugin. | |
FieldMappingBase:: |
public | function | Get the plugin weight. | |
FieldMappingBase:: |
public | function | Is this a generic (non-element specific) plugin. | |
FieldMappingBase:: |
public | function |
Returns whether the mapper supports custom field text Overrides FieldMappingInterface:: |
2 |
FieldMappingInterface:: |
constant | |||
FieldMappingInterface:: |
constant | |||
FieldMappingInterface:: |
constant | |||
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
2 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginBase:: |
public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | 98 |