getPluginDefinition()->getRegionNames() as $region_name) { if (array_key_exists($region_name, $regions)) { $build[$region_name] = $regions[$region_name]; } } $build['#in_preview'] = $this->inPreview; $build['#settings'] = $this->getConfiguration(); $build['#layout'] = $this->pluginDefinition; $build['#theme'] = $this->pluginDefinition->getThemeHook(); if ($library = $this->pluginDefinition->getLibrary()) { $build['#attached']['library'][] = $library; } return $build; } /** * {@inheritdoc} */ public function defaultConfiguration() { return [ 'label' => '', ]; } /** * {@inheritdoc} */ public function calculateDependencies() { return []; } /** * {@inheritdoc} * * @return \Drupal\Core\Layout\LayoutDefinition * The layout plugin definition for this plugin. */ public function getPluginDefinition() { return parent::getPluginDefinition(); } /** * {@inheritdoc} */ public function buildConfigurationForm(array $form, FormStateInterface $form_state) { $form['label'] = [ '#type' => 'textfield', '#title' => $this->t('Administrative label'), '#default_value' => $this->configuration['label'], ]; $contexts = $form_state->getTemporaryValue('gathered_contexts') ?: []; $form['context_mapping'] = $this->addContextAssignmentElement($this, $contexts); return $form; } /** * {@inheritdoc} */ public function validateConfigurationForm(array &$form, FormStateInterface $form_state) { } /** * {@inheritdoc} */ public function submitConfigurationForm(array &$form, FormStateInterface $form_state) { $this->configuration['label'] = $form_state->getValue('label'); } /** * {@inheritdoc} */ public function setInPreview(bool $in_preview): void { $this->inPreview = $in_preview; } }