diff --git a/core/modules/content_moderation/src/Plugin/Field/FieldWidget/ModerationStateWidget.php b/core/modules/content_moderation/src/Plugin/Field/FieldWidget/ModerationStateWidget.php index 967343f..72b47d0 100644 --- a/core/modules/content_moderation/src/Plugin/Field/FieldWidget/ModerationStateWidget.php +++ b/core/modules/content_moderation/src/Plugin/Field/FieldWidget/ModerationStateWidget.php @@ -2,10 +2,6 @@ namespace Drupal\content_moderation\Plugin\Field\FieldWidget; -use Drupal\Core\Ajax\AjaxResponse; -use Drupal\Core\Ajax\AppendCommand; -use Drupal\Core\Ajax\InsertCommand; -use Drupal\Core\Ajax\ReplaceCommand; use Drupal\Core\Entity\ContentEntityInterface; use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Field\FieldDefinitionInterface; @@ -136,26 +132,25 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen $transition_labels[$transition->to()->id()] = $transition->label(); } - // @todo https://www.drupal.org/node/2779933 write a test for this. + $description_id = 'state_' . random_int(1,9999); $element += [ '#type' => 'container', 'current' => [ - '#type' => 'item', - '#markup' => '' . t('Current moderation state') . ': ' . $default->label(), + '#markup' => $this->t('Current moderation state: @current_state', ['@current_state' => $default->label()]), ], 'state' => [ '#type' => 'select', '#title' => $this->t('New state'), '#options' => $target_states, '#default_value' => isset($target_states[$default->id()]) ? $default->id() : NULL, - '#empty_option' => '- Select new state -', + '#empty_option' => $this->t('- Select new state -'), '#key_column' => $this->column, '#transitions' => $transition_labels, - '#description' => isset($transition_labels[$default->id()]) ? $transition_labels[$default->id()] . ' when saved.' : '
', + '#description' => isset($transition_labels[$default->id()]) ? $this->t('
@transition when saved
', ['@id' => $description_id, '@transition' => $transition_labels[$default->id()]]) : '
', '#ajax' => [ 'callback' => [get_class($this), 'change'], 'event' => 'change', - 'wrapper' => 'edit-moderation-state-0-state--description', + 'wrapper' => $description_id, 'method' => 'html', ] ] @@ -166,6 +161,8 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen } /** + * Ajax callback for the moderation state field description. + * * @param array $element * @param \Drupal\Core\Form\FormStateInterface $form_state * @@ -174,7 +171,7 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen public static function change(array $element, FormStateInterface $form_state) { $state = $form_state->getValue('moderation_state')[0]['value']; $transition_labels = $element['moderation_state']['widget'][0]['state']['#transitions']; - return ['#plain_text' => isset($transition_labels[$state]) ? $transition_labels[$state] . ' when saved.' : '']; + return ['#plain_text' => isset($transition_labels[$state]) ? t('@transition when saved', ['@transition' => $transition_labels[$state]]) : '']; } /**