class PatternDataDefinition in UI Patterns 8
Class PatternDefinition.
@package Drupal\ui_patterns\Plugin\DataType
Hierarchy
- class \Drupal\Core\TypedData\DataDefinition implements \Drupal\Core\TypedData\ArrayAccess, DataDefinitionInterface uses TypedDataTrait
- class \Drupal\Core\TypedData\ComplexDataDefinitionBase implements ComplexDataDefinitionInterface
- class \Drupal\Core\TypedData\MapDataDefinition
- class \Drupal\ui_patterns\TypedData\PatternDataDefinition
- class \Drupal\Core\TypedData\MapDataDefinition
- class \Drupal\Core\TypedData\ComplexDataDefinitionBase implements ComplexDataDefinitionInterface
Expanded class hierarchy of PatternDataDefinition
2 files declare their use of PatternDataDefinition
- AbstractPatternsDeriver.php in src/
Plugin/ Deriver/ AbstractPatternsDeriver.php - PatternDataDefinitionTest.php in tests/
src/ Kernel/ TypedData/ PatternDataDefinitionTest.php
File
- src/
TypedData/ PatternDataDefinition.php, line 14
Namespace
Drupal\ui_patterns\TypedDataView source
class PatternDataDefinition extends MapDataDefinition {
/**
* Valid machine name string.
*/
const MACHINE_NAME = '/^(?!(%s)$)(?=[A-Za-z0-9_-]+$).*$/';
/**
* Reserved words.
*
* @var array
*/
protected $reserved = [
'id',
'type',
'theme',
'context',
'use',
'attributes',
];
/**
* {@inheritdoc}
*/
public function getPropertyDefinitions() {
$this
->setMainPropertyName('id')
->setPropertyDefinition('id', $this
->getMachineNameDefinition()
->setRequired(TRUE))
->setPropertyDefinition('label', DataDefinition::create('string')
->setRequired(TRUE))
->setPropertyDefinition('base path', DataDefinition::create('string')
->setRequired(TRUE))
->setPropertyDefinition('file name', DataDefinition::create('string')
->setRequired(TRUE))
->setPropertyDefinition('provider', DataDefinition::create('string')
->setRequired(TRUE))
->setPropertyDefinition('fields', $this
->getFieldsDefinition())
->setPropertyDefinition('variants', $this
->getVariantsDefinition())
->setPropertyDefinition('theme hook', DataDefinition::create('string')
->setRequired(TRUE))
->setPropertyDefinition('description', DataDefinition::create('string'))
->setPropertyDefinition('use', DataDefinition::create('string'))
->setPropertyDefinition('tags', ListDataDefinition::create('string'))
->setPropertyDefinition('custom theme hook', DataDefinition::create('boolean'))
->setPropertyDefinition('template', DataDefinition::create('string'))
->setPropertyDefinition('libraries', DataDefinition::create('any'));
return $this->propertyDefinitions;
}
/**
* Get valid machine name definition.
*
* @return \Drupal\Core\TypedData\DataDefinition
* Data definition instance.
*/
protected function getMachineNameDefinition() {
return DataDefinition::create('string')
->addConstraint('Regex', sprintf(self::MACHINE_NAME, implode('|', $this->reserved)));
}
/**
* Get definition for 'field' property.
*
* @return \Drupal\Core\TypedData\ListDataDefinition
* Data definition instance.
*/
protected function getFieldsDefinition() {
return new ListDataDefinition([], MapDataDefinition::create()
->setPropertyDefinition('name', $this
->getMachineNameDefinition()
->setRequired(TRUE))
->setPropertyDefinition('label', DataDefinition::create('string')
->setRequired(TRUE))
->setPropertyDefinition('type', $this
->getMachineNameDefinition())
->setPropertyDefinition('description', DataDefinition::create('string'))
->setPropertyDefinition('preview', DataDefinition::create('any')));
}
/**
* Get definition for 'variant' property.
*
* @return \Drupal\Core\TypedData\ListDataDefinition
* Data definition instance.
*/
protected function getVariantsDefinition() {
return new ListDataDefinition([], MapDataDefinition::create()
->setPropertyDefinition('name', $this
->getMachineNameDefinition()
->setRequired(TRUE))
->setPropertyDefinition('label', DataDefinition::create('string')
->setRequired(TRUE))
->setPropertyDefinition('description', DataDefinition::create('string')));
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ComplexDataDefinitionBase:: |
protected | property | An array of data definitions. | |
ComplexDataDefinitionBase:: |
public | function |
Gets the definition of a contained property. Overrides ComplexDataDefinitionInterface:: |
|
ComplexDataDefinitionBase:: |
public | function |
Overrides DataDefinition:: |
|
DataDefinition:: |
protected | property | The array holding values for all definition keys. | |
DataDefinition:: |
public | function |
Adds a validation constraint. Overrides DataDefinitionInterface:: |
|
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 |
Returns whether the data is multi-valued, i.e. a list of data items. Overrides DataDefinitionInterface:: |
|
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 |
MapDataDefinition:: |
protected | property | The name of the main property, or NULL if there is none. | |
MapDataDefinition:: |
public static | function |
Creates a new map definition. Overrides DataDefinition:: |
|
MapDataDefinition:: |
public static | function |
Creates a new data definition object. Overrides DataDefinition:: |
|
MapDataDefinition:: |
public | function |
Returns the name of the main property, if any. Overrides ComplexDataDefinitionBase:: |
|
MapDataDefinition:: |
public | function | Sets the main property name. | |
MapDataDefinition:: |
public | function | Sets the definition of a map property. | |
PatternDataDefinition:: |
protected | property | Reserved words. | |
PatternDataDefinition:: |
protected | function | Get definition for 'field' property. | |
PatternDataDefinition:: |
protected | function | Get valid machine name definition. | |
PatternDataDefinition:: |
public | function |
Gets an array of property definitions of contained properties. Overrides MapDataDefinition:: |
|
PatternDataDefinition:: |
protected | function | Get definition for 'variant' property. | |
PatternDataDefinition:: |
constant | Valid machine name string. | ||
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 |