Issue #2380391 by webflo: Fix storage settings for TextLongItem and StringLongItem

8.0.x
Alex Pott 2014-11-23 10:23:16 +00:00
parent 826245d509
commit d8776af599
2 changed files with 28 additions and 2 deletions

View File

@ -91,14 +91,21 @@ class StringItem extends FieldItemBase {
public static function generateSampleValue(FieldDefinitionInterface $field_definition) {
$random = new Random();
$max = $field_definition->getSetting('max_length');
$values['value'] = $random->word(mt_rand(1, $max));
if ($max) {
$values['value'] = $random->word(mt_rand(1, $max));
}
else {
$values['value'] = $random->paragraphs();
}
return $values;
}
/**
* {@inheritdoc}
*/
public function settingsForm(array &$form, FormStateInterface $form_state, $has_data) {
public function storageSettingsForm(array &$form, FormStateInterface $form_state, $has_data) {
$element = array();
$element['max_length'] = array(

View File

@ -8,6 +8,7 @@
namespace Drupal\Core\Field\Plugin\Field\FieldType;
use Drupal\Core\Field\FieldStorageDefinitionInterface;
use Drupal\Core\Form\FormStateInterface;
/**
* Defines the 'string_long' field type.
@ -22,6 +23,15 @@ use Drupal\Core\Field\FieldStorageDefinitionInterface;
*/
class StringLongItem extends StringItem {
/**
* {@inheritdoc}
*/
public static function defaultStorageSettings() {
$settings = parent::defaultStorageSettings();
unset($settings['max_length']);
return $settings;
}
/**
* {@inheritdoc}
*/
@ -36,4 +46,13 @@ class StringLongItem extends StringItem {
);
}
/**
* {@inheritdoc}
*/
public function storageSettingsForm(array &$form, FormStateInterface $form_state, $has_data) {
$element = parent::storageSettingsForm($form, $form_state, $has_data);
unset($element['max_length']);
return $element;
}
}