diff --git a/core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php b/core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php index e40849cbcd..210b2a9eb5 100644 --- a/core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php +++ b/core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php @@ -78,9 +78,11 @@ abstract class TextItemBase extends FieldItemBase { ->setLabel(t('Text')) ->setRequired(TRUE); - $properties['format'] = DataDefinition::create('filter_format') - ->setLabel(t('Text format')) - ->setSetting('allowed_formats', $field_definition->getSetting('allowed_formats')); + $moduleHandler = \Drupal::service('module_handler'); + if ($moduleHandler->moduleExists('filter')) { + $properties['format'] = DataDefinition::create('filter_format') + ->setLabel(t('Text format')); + } $properties['processed'] = DataDefinition::create('string') ->setLabel(t('Processed text')) @@ -107,7 +109,15 @@ abstract class TextItemBase extends FieldItemBase { */ public function isEmpty() { $value = $this->get('value')->getValue(); - return $value === NULL || $value === ''; + $format = NULL; + $properties = $this->getProperties(); + if (isset($properties['format'])) { + $format = $this->get('format')->getValue(); + if ($format === filter_default_format()) { + $format = NULL; + } + } + return ($value === NULL || $value === '') && ($format === NULL || $format === ''); } /**