class BooleanItem
Same name and namespace in other branches
- 11.x core/lib/Drupal/Core/Field/Plugin/Field/FieldType/BooleanItem.php \Drupal\Core\Field\Plugin\Field\FieldType\BooleanItem
- 10 core/lib/Drupal/Core/Field/Plugin/Field/FieldType/BooleanItem.php \Drupal\Core\Field\Plugin\Field\FieldType\BooleanItem
- 9 core/lib/Drupal/Core/Field/Plugin/Field/FieldType/BooleanItem.php \Drupal\Core\Field\Plugin\Field\FieldType\BooleanItem
- main core/lib/Drupal/Core/Field/Plugin/Field/FieldType/BooleanItem.php \Drupal\Core\Field\Plugin\Field\FieldType\BooleanItem
Defines the 'boolean' entity field type.
Plugin annotation
@FieldType(
id = "boolean",
label = @Translation("Boolean"),
description = @Translation("An entity field containing a boolean value."),
default_widget = "boolean_checkbox",
default_formatter = "boolean",
)
Hierarchy
- class \Drupal\Core\TypedData\TypedData implements \Drupal\Core\TypedData\TypedDataInterface, \Drupal\Component\Plugin\PluginInspectionInterface uses \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\TypedData\TypedDataTrait
- class \Drupal\Core\TypedData\Plugin\DataType\Map implements \Drupal\Core\TypedData\Plugin\DataType\IteratorAggregate, \Drupal\Core\TypedData\ComplexDataInterface extends \Drupal\Core\TypedData\TypedData
- class \Drupal\Core\Field\FieldItemBase implements \Drupal\Core\Field\FieldItemInterface extends \Drupal\Core\TypedData\Plugin\DataType\Map
- class \Drupal\Core\Field\Plugin\Field\FieldType\BooleanItem implements \Drupal\Core\TypedData\OptionsProviderInterface extends \Drupal\Core\Field\FieldItemBase
- class \Drupal\Core\Field\FieldItemBase implements \Drupal\Core\Field\FieldItemInterface extends \Drupal\Core\TypedData\Plugin\DataType\Map
- class \Drupal\Core\TypedData\Plugin\DataType\Map implements \Drupal\Core\TypedData\Plugin\DataType\IteratorAggregate, \Drupal\Core\TypedData\ComplexDataInterface extends \Drupal\Core\TypedData\TypedData
Expanded class hierarchy of BooleanItem
6 files declare their use of BooleanItem
- BooleanItemNormalizer.php in core/
modules/ serialization/ tests/ modules/ test_fieldtype_boolean_emoji_normalizer/ src/ Normalizer/ BooleanItemNormalizer.php - EntityFieldManagerTest.php in core/
tests/ Drupal/ Tests/ Core/ Entity/ EntityFieldManagerTest.php - Contains \Drupal\Tests\Core\Entity\EntityFieldManagerTest.
- EntityResourceTestBase.php in core/
modules/ rest/ tests/ src/ Functional/ EntityResource/ EntityResourceTestBase.php - ResourceTestBase.php in core/
modules/ jsonapi/ tests/ src/ Functional/ ResourceTestBase.php - StatusItem.php in core/
modules/ user/ src/ StatusItem.php
File
-
core/
lib/ Drupal/ Core/ Field/ Plugin/ Field/ FieldType/ BooleanItem.php, line 25
Namespace
Drupal\Core\Field\Plugin\Field\FieldTypeView source
class BooleanItem extends FieldItemBase implements OptionsProviderInterface {
/**
* {@inheritdoc}
*/
public static function defaultFieldSettings() {
return [
'on_label' => new TranslatableMarkup('On'),
'off_label' => new TranslatableMarkup('Off'),
] + parent::defaultFieldSettings();
}
/**
* {@inheritdoc}
*/
public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) {
$properties['value'] = DataDefinition::create('boolean')->setLabel(t('Boolean value'))
->setRequired(TRUE);
return $properties;
}
/**
* {@inheritdoc}
*/
public static function schema(FieldStorageDefinitionInterface $field_definition) {
return [
'columns' => [
'value' => [
'type' => 'int',
'size' => 'tiny',
],
],
];
}
/**
* {@inheritdoc}
*/
public function fieldSettingsForm(array $form, FormStateInterface $form_state) {
$element = [];
$element['on_label'] = [
'#type' => 'textfield',
'#title' => $this->t('"On" label'),
'#default_value' => $this->getSetting('on_label'),
'#required' => TRUE,
];
$element['off_label'] = [
'#type' => 'textfield',
'#title' => $this->t('"Off" label'),
'#default_value' => $this->getSetting('off_label'),
'#required' => TRUE,
];
return $element;
}
/**
* {@inheritdoc}
*/
public function getPossibleValues(AccountInterface $account = NULL) {
return [
0,
1,
];
}
/**
* {@inheritdoc}
*/
public function getPossibleOptions(AccountInterface $account = NULL) {
return [
0 => $this->getSetting('off_label'),
1 => $this->getSetting('on_label'),
];
}
/**
* {@inheritdoc}
*/
public function getSettableValues(AccountInterface $account = NULL) {
return [
0,
1,
];
}
/**
* {@inheritdoc}
*/
public function getSettableOptions(AccountInterface $account = NULL) {
return $this->getPossibleOptions($account);
}
/**
* {@inheritdoc}
*/
public static function generateSampleValue(FieldDefinitionInterface $field_definition) {
$values['value'] = mt_rand(0, 1);
return $values;
}
}
Members
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.