Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 23 |
| TextProcessed | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
90 | |
0.00% |
0 / 23 |
| __construct | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 5 |
|||
| getValue | |
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 13 |
|||
| setValue | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 5 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\text\TextProcessed. | |
| */ | |
| namespace Drupal\text; | |
| use Drupal\Core\TypedData\DataDefinitionInterface; | |
| use Drupal\Core\TypedData\TypedDataInterface; | |
| use Drupal\Core\TypedData\TypedData; | |
| /** | |
| * A computed property for processing text with a format. | |
| * | |
| * Required settings (below the definition's 'settings' key) are: | |
| * - text source: The text property containing the to be processed text. | |
| */ | |
| class TextProcessed extends TypedData { | |
| /** | |
| * Cached processed text. | |
| * | |
| * @var string|null | |
| */ | |
| protected $processed = NULL; | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function __construct(DataDefinitionInterface $definition, $name = NULL, TypedDataInterface $parent = NULL) { | |
| parent::__construct($definition, $name, $parent); | |
| if ($definition->getSetting('text source') === NULL) { | |
| throw new \InvalidArgumentException("The definition's 'text source' key has to specify the name of the text property to be processed."); | |
| } | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getValue() { | |
| if ($this->processed !== NULL) { | |
| return $this->processed; | |
| } | |
| $item = $this->getParent(); | |
| $text = $item->{($this->definition->getSetting('text source'))}; | |
| // Avoid running check_markup() on empty strings. | |
| if (!isset($text) || $text === '') { | |
| $this->processed = ''; | |
| } | |
| else { | |
| $this->processed = check_markup($text, $item->format, $item->getLangcode()); | |
| } | |
| return $this->processed; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function setValue($value, $notify = TRUE) { | |
| $this->processed = $value; | |
| // Notify the parent of any changes. | |
| if ($notify && isset($this->parent)) { | |
| $this->parent->onChange($this->name); | |
| } | |
| } | |
| } |