/** * {@inheritdoc} */ public function buildForm(array $form, FormStateInterface $form_state, PageVariantInterface $page_variant = NULL, $block_id = NULL) { $this->pageVariant = $page_variant; $this->block = $this->prepareBlock($block_id); $form_state->set('page_variant_id', $page_variant->id()); $form_state->set('block_id', $this->block->getConfiguration()['uuid']); $form['#tree'] = TRUE; $form['settings'] = $this->block->buildConfigurationForm([], $form_state); $form['settings']['id'] = ['#type' => 'value', '#value' => $this->block->getPluginId()]; $form['region'] = ['#title' => $this->t('Region'), '#type' => 'select', '#options' => $this->getVariantPlugin()->getRegionNames(), '#default_value' => $this->getVariantPlugin()->getRegionAssignment($this->block->getConfiguration()['uuid']), '#required' => TRUE]; if ($this->block instanceof ContextAwarePluginInterface) { $form['context_mapping'] = $this->addContextAssignmentElement($this->block, $this->pageVariant->getContexts()); } $form['actions']['submit'] = ['#type' => 'submit', '#value' => $this->submitText(), '#button_type' => 'primary']; return $form; }