configuration = NestedArray::mergeDeep($this->defaultConfiguration(), $this->configuration); } /** * {@inheritdoc} */ public function calculateDependencies() { return []; } /** * {@inheritdoc} */ public function defaultConfiguration() { return []; } /** * {@inheritdoc} */ public function getConfiguration() { return $this->configuration; } /** * {@inheritdoc} */ public function getConfigurationValue($name, $default = NULL) { $configuration = $this->getConfiguration(); if (array_key_exists($name, $configuration)) { return $configuration[$name]; } else { return $default; } } /** * {@inheritdoc} */ public function setConfiguration(array $configuration) { $this->configuration = $configuration; } /** * {@inheritdoc} */ public function setConfigurationValue($name, $value) { $this->configuration[$name] = $value; } /** * {@inheritdoc} */ public function buildConfigurationForm(array $form, FormStateInterface $form_state) { return $form; } /** * {@inheritdoc} */ public function validateConfigurationForm(array &$form, FormStateInterface $form_state) { // Do nothing. } /** * {@inheritdoc} */ public function submitConfigurationForm(array &$form, FormStateInterface $form_state) { if (!$form_state->hasAnyErrors()) { $this->setConfiguration( array_intersect_key( $form_state->getValues(), $this->defaultConfiguration() ) ); } } }