class RevisionsProperty in Multiversion 8
Same name and namespace in other branches
- 8.2 src/Field/RevisionsProperty.php \Drupal\multiversion\Field\RevisionsProperty
The 'revisions' property for revision token fields.
Hierarchy
- class \Drupal\Core\TypedData\TypedData implements PluginInspectionInterface, TypedDataInterface uses DependencySerializationTrait, StringTranslationTrait, TypedDataTrait
- class \Drupal\multiversion\Field\RevisionsProperty
Expanded class hierarchy of RevisionsProperty
File
- src/
Field/ RevisionsProperty.php, line 10
Namespace
Drupal\multiversion\FieldView source
class RevisionsProperty extends TypedData {
/**
* @var array
*/
protected $value = [];
/**
* {@inheritdoc}
*/
public function getValue($langcode = NULL) {
/** @var \Drupal\Core\Entity\ContentEntityInterface $entity */
$entity = $this
->getRoot()
->getValue();
$workspace = isset($entity->workspace) ? $entity->workspace->entity : null;
$branch = \Drupal::service('multiversion.entity_index.factory')
->get('multiversion.entity_index.rev.tree', $workspace)
->getDefaultBranch($entity
->uuid());
$values = [];
if (empty($branch) && !$entity->_rev->is_stub && !$entity
->isNew()) {
list($i, $hash) = explode('-', $entity->_rev->value);
$values = [
$hash,
];
}
else {
// We want children first and parent last.
foreach (array_reverse($branch) as $rev => $status) {
list($i, $hash) = explode('-', $rev);
$values[] = $hash;
}
}
if (empty($this->value)) {
$this->value = [];
}
$count_value = count($this->value);
$count_branch = count($values);
if ($count_value == 0 && $count_branch == 0) {
return [];
}
elseif ($count_value == 0 && $count_branch > 0 || count(array_intersect($values, $this->value)) == $count_value) {
$this->value = $values;
}
return $this->value;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
RevisionsProperty:: |
protected | property | ||
RevisionsProperty:: |
public | function |
Gets the data value. Overrides TypedData:: |
|
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. | |
TypedData:: |
protected | property | The data definition. | 1 |
TypedData:: |
protected | property | The property name. | |
TypedData:: |
protected | property | The parent typed data object. | |
TypedData:: |
public | function |
Applies the default value. Overrides TypedDataInterface:: |
3 |
TypedData:: |
public static | function |
Constructs a TypedData object given its definition and context. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Gets a list of validation constraints. Overrides TypedDataInterface:: |
9 |
TypedData:: |
public | function |
Gets the data definition. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns the name of a property or item. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns the parent data structure; i.e. either complex data or a list. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
|
TypedData:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
TypedData:: |
public | function |
Returns the property path of the data. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns the root of the typed data tree. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns a string representation of the data. Overrides TypedDataInterface:: |
6 |
TypedData:: |
public | function |
Sets the context of a property or item via a context aware parent. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Sets the data value. Overrides TypedDataInterface:: |
10 |
TypedData:: |
public | function |
Validates the currently set data value. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function | Constructs a TypedData object given its definition and context. | 3 |
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 |