/** * Create form elements for runner selection and options. * * @param \Drupal\Core\Form\FormStateInterface $form_state * * @return array * @internal param $runner_settings * */ protected function createRunnerElements(FormStateInterface $form_state) { $runner_settings = $form_state->getValue('update_runner'); $update_runner = $this->createRunnerInstance($runner_settings, $form_state); $elements = $update_runner->buildConfigurationForm([], $form_state); $runner_options = []; foreach ($this->runnerManager->getDefinitions() as $definition) { $runner_options[$definition['id']] = $definition['label']; } $elements['id'] = ['#type' => 'select', '#title' => $this->t('Update Runner'), '#options' => $runner_options, '#default_value' => $runner_settings['id'], '#limit_validation_errors' => array()]; $elements += ['#type' => 'fieldset', '#tree' => TRUE, '#title' => $this->t('Update Runner settings')]; return $elements; }
/** * Get definitions for Runner Plugins that should be supported. * * @return array|\mixed[]|null */ protected function getSupportedRunnerDefinitions() { return $this->runnerManager->getDefinitions(); }