diff --git a/core/modules/datetime/lib/Drupal/datetime/Plugin/field/field_type/DateTimeItem.php b/core/modules/datetime/lib/Drupal/datetime/Plugin/field/field_type/DateTimeItem.php index 0c51dd4..b0324a7 100644 --- a/core/modules/datetime/lib/Drupal/datetime/Plugin/field/field_type/DateTimeItem.php +++ b/core/modules/datetime/lib/Drupal/datetime/Plugin/field/field_type/DateTimeItem.php @@ -76,7 +76,7 @@ public static function schema(FieldInterface $field) { /** * {@inheritdoc} */ - public function settingsForm(array $form, array &$form_state) { + public function settingsForm(array $form, array &$form_state, $has_data) { $element = array(); $element['datetime_type'] = array( diff --git a/core/modules/number/lib/Drupal/number/Plugin/field/field_type/DecimalItem.php b/core/modules/number/lib/Drupal/number/Plugin/field/field_type/DecimalItem.php index d7ca60f..9271899 100644 --- a/core/modules/number/lib/Drupal/number/Plugin/field/field_type/DecimalItem.php +++ b/core/modules/number/lib/Drupal/number/Plugin/field/field_type/DecimalItem.php @@ -67,10 +67,9 @@ public static function schema(FieldInterface $field) { /** * {@inheritdoc} */ - public function settingsForm(array $form, array &$form_state) { + public function settingsForm(array $form, array &$form_state, $has_data) { $element = array(); $settings = $this->getFieldSettings(); - $has_data = $this->getInstance()->getField()->hasData(); $element['precision'] = array( '#type' => 'select', diff --git a/core/modules/text/lib/Drupal/text/Plugin/field/field_type/TextItem.php b/core/modules/text/lib/Drupal/text/Plugin/field/field_type/TextItem.php index d048caf..644a2a9 100644 --- a/core/modules/text/lib/Drupal/text/Plugin/field/field_type/TextItem.php +++ b/core/modules/text/lib/Drupal/text/Plugin/field/field_type/TextItem.php @@ -83,7 +83,7 @@ public function getConstraints() { /** * {@inheritdoc} */ - public function settingsForm(array $form, array &$form_state) { + public function settingsForm(array $form, array &$form_state, $has_data) { $element = array(); $element['max_length'] = array( @@ -93,9 +93,7 @@ public function settingsForm(array $form, array &$form_state) { '#required' => TRUE, '#description' => t('The maximum length of the field in characters.'), '#min' => 1, - // @todo: If $has_data, add a validate handler that only allows - // max_length to increase. - '#disabled' => $this->getInstance()->getField()->hasData(), + '#disabled' => $has_data, ); return $element;