Defines the Picture entity.
@Plugin(
id = "picture_mapping",
label = @Translation("Picture mapping"),
module = "picture",
controller_class = "Drupal\Core\Config\Entity\ConfigStorageController",
form_controller_class = {
"default" = "Drupal\picture\PictureMappingFormController",
"add" = "Drupal\picture\PictureMappingFormController",
"duplicate" = "Drupal\picture\PictureMappingFormController"
},
list_controller_class = "Drupal\picture\PictureMappingListController",
list_path = "admin/config/media/picturemapping",
uri_callback = "picture_mapping_uri",
config_prefix = "picture.mappings",
entity_keys = {
"id" = "id",
"label" = "label",
"uuid" = "uuid"
}
)
Expanded class hierarchy of PictureMapping
class PictureMapping extends ConfigEntityBase {
/**
* The picture ID (machine name).
*
* @var string
*/
public $id;
/**
* The picture UUID.
*
* @var string
*/
public $uuid;
/**
* The picture label.
*
* @var string
*/
public $label;
/**
* The picture mappings.
*
* @var array
*/
public $mappings = array();
/**
* The picture breakpoint group.
*
* @var BreakpointGroup
*/
public $breakpointGroup = '';
/**
* Overrides Drupal\config\ConfigEntityBase::__construct().
*/
public function __construct(array $values, $entity_type) {
parent::__construct($values, $entity_type);
$this
->loadBreakpointGroup();
$this
->loadAllMappings();
}
/**
* Overrides Drupal\Core\Entity::save().
*/
public function save() {
// Only save the keys, but return the full objects.
if (isset($this->breakpointGroup) && is_object($this->breakpointGroup)) {
$this->breakpointGroup = $this->breakpointGroup
->id();
}
parent::save();
$this
->loadBreakpointGroup();
$this
->loadAllMappings();
}
/**
* Implements EntityInterface::createDuplicate().
*/
public function createDuplicate() {
return entity_create('picture_mapping', array(
'id' => '',
'label' => t('Clone of !label', array(
'!label' => check_plain($this
->label()),
)),
'mappings' => $this->mappings,
));
}
/**
* Loads the breakpoint group.
*/
protected function loadBreakpointGroup() {
if ($this->breakpointGroup) {
$breakpoint_group = entity_load('breakpoint_group', $this->breakpointGroup);
$this->breakpointGroup = $breakpoint_group;
}
}
/**
* Loads all mappings and removes non-existing ones.
*/
protected function loadAllMappings() {
$loaded_mappings = $this->mappings;
$this->mappings = array();
if ($this->breakpointGroup) {
foreach ($this->breakpointGroup->breakpoints as $breakpoint_id => $breakpoint) {
// Get the mapping for the default multiplier.
$this->mappings[$breakpoint_id]['1x'] = '';
if (isset($loaded_mappings[$breakpoint_id]['1x'])) {
$this->mappings[$breakpoint_id]['1x'] = $loaded_mappings[$breakpoint_id]['1x'];
}
// Get the mapping for the other multipliers.
if (isset($breakpoint->multipliers) && !empty($breakpoint->multipliers)) {
foreach ($breakpoint->multipliers as $multiplier => $status) {
if ($status) {
$this->mappings[$breakpoint_id][$multiplier] = '';
if (isset($loaded_mappings[$breakpoint_id][$multiplier])) {
$this->mappings[$breakpoint_id][$multiplier] = $loaded_mappings[$breakpoint_id][$multiplier];
}
}
}
}
}
}
}
/**
* Checks if there's at least one mapping defined.
*/
public function hasMappings() {
$mapping_found = FALSE;
foreach ($this->mappings as $breakpoint => $multipliers) {
$filtered_array = array_filter($multipliers);
if (!empty($filtered_array)) {
$mapping_found = TRUE;
break;
}
}
return $mapping_found;
}
}
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConfigEntityBase:: |
protected | property | The original ID of the configuration entity. | |
ConfigEntityBase:: |
public | function |
Overrides Entity::get(). Overrides Entity:: |
1 |
ConfigEntityBase:: |
public | function |
Implements ConfigEntityInterface::getOriginalID(). Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
final public | function |
Overrides Entity::isNew(). Overrides Entity:: |
|
ConfigEntityBase:: |
public | function |
Overrides Entity::set(). Overrides Entity:: |
|
ConfigEntityBase:: |
public | function |
Implements ConfigEntityInterface::setOriginalID(). Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public static | function | Helper callback for uasort() to sort configuration entities by weight and label. | |
Entity:: |
protected | property | Boolean indicating whether the entity should be forced to be new. | |
Entity:: |
protected | property | The entity type. | |
Entity:: |
protected | property | Indicates whether this is the default revision. | 1 |
Entity:: |
public | property | The language code of the entity's default language. | 4 |
Entity:: |
protected | property | Boolean indicating whether a new revision should be created on save. | |
Entity:: |
public | function |
Implements AccessibleInterface::access(). Overrides AccessibleInterface:: |
|
Entity:: |
public | function |
Implements EntityInterface::bundle(). Overrides EntityInterface:: |
4 |
Entity:: |
public | function |
Implements EntityInterface::delete(). Overrides EntityInterface:: |
|
Entity:: |
public | function |
Implements EntityInterface::enforceIsNew(). Overrides EntityInterface:: |
|
Entity:: |
public | function |
Implements EntityInterface::entityInfo(). Overrides EntityInterface:: |
|
Entity:: |
public | function |
Implements EntityInterface::entityType(). Overrides EntityInterface:: |
|
Entity:: |
public | function | Implements ComplexDataInterface::getIterator(). | 1 |
Entity:: |
public | function |
Implements ComplexDataInterface::getProperties(). Overrides ComplexDataInterface:: |
1 |
Entity:: |
public | function |
Implements ComplexDataInterface::getPropertyDefinition(). Overrides ComplexDataInterface:: |
1 |
Entity:: |
public | function |
Implements ComplexDataInterface::getPropertyDefinitions(). Overrides ComplexDataInterface:: |
1 |
Entity:: |
public | function |
Implements ComplexDataInterface::getPropertyValues(). Overrides ComplexDataInterface:: |
1 |
Entity:: |
public | function |
Implements Drupal\Core\Entity\EntityInterface::getRevisionId(). Overrides EntityInterface:: |
3 |
Entity:: |
public | function |
Implements TranslatableInterface::getTranslation(). Overrides TranslatableInterface:: |
1 |
Entity:: |
public | function |
Implements TranslatableInterface::getTranslationLanguages(). Overrides TranslatableInterface:: |
1 |
Entity:: |
public | function |
Implements EntityInterface::id(). Overrides EntityInterface:: |
10 |
Entity:: |
public | function |
Implements Drupal\Core\Entity\EntityInterface::isDefaultRevision(). Overrides EntityInterface:: |
1 |
Entity:: |
public | function |
Implements ComplexDataInterface::isEmpty(). Overrides ComplexDataInterface:: |
1 |
Entity:: |
public | function |
Implements EntityInterface::isNewRevision(). Overrides EntityInterface:: |
|
Entity:: |
public | function |
Implements EntityInterface::label(). Overrides EntityInterface:: |
1 |
Entity:: |
public | function |
Implements TranslatableInterface::language(). Overrides TranslatableInterface:: |
1 |
Entity:: |
public | function |
Implements EntityInterface::setNewRevision(). Overrides EntityInterface:: |
|
Entity:: |
public | function |
Implements ComplexDataInterface::setPropertyValues(). Overrides ComplexDataInterface:: |
1 |
Entity:: |
public | function | Returns the languages the entity is translated to. | |
Entity:: |
public | function |
Implements EntityInterface::uri(). Overrides EntityInterface:: |
1 |
Entity:: |
public | function |
Implements EntityInterface::uuid(). Overrides EntityInterface:: |
1 |
PictureMapping:: |
public | property | The picture breakpoint group. | |
PictureMapping:: |
public | property | The picture ID (machine name). | |
PictureMapping:: |
public | property | The picture label. | |
PictureMapping:: |
public | property | The picture mappings. | |
PictureMapping:: |
public | property | The picture UUID. | |
PictureMapping:: |
public | function |
Implements EntityInterface::createDuplicate(). Overrides ConfigEntityBase:: |
|
PictureMapping:: |
public | function | Checks if there's at least one mapping defined. | |
PictureMapping:: |
protected | function | Loads all mappings and removes non-existing ones. | |
PictureMapping:: |
protected | function | Loads the breakpoint group. | |
PictureMapping:: |
public | function |
Overrides Drupal\Core\Entity::save(). Overrides Entity:: |
|
PictureMapping:: |
public | function |
Overrides Drupal\config\ConfigEntityBase::__construct(). Overrides ConfigEntityBase:: |