protected function ScheduledUpdateTypeBaseForm::createRunnerElements in Scheduled Updates 8
Create form elements for runner selection and options.
Parameters
\Drupal\Core\Form\FormStateInterface $form_state:
Return value
array
1 call to ScheduledUpdateTypeBaseForm::createRunnerElements()
- ScheduledUpdateTypeBaseForm::form in src/
Form/ ScheduledUpdateTypeBaseForm.php - Gets the actual form array to be built.
File
- src/
Form/ ScheduledUpdateTypeBaseForm.php, line 192 - Contains \Drupal\scheduled_updates\Form\ScheduledUpdateTypeBaseForm.
Class
Namespace
Drupal\scheduled_updates\FormCode
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 = [];
$runner_definitions = $this
->getSupportedRunnerDefinitions();
foreach ($runner_definitions as $definition) {
/** @var UpdateRunnerInterface $runner_instance */
$runner_instance = $this->runnerManager
->createInstance($definition['id']);
$runner_options[$definition['id']] = $definition['label'] . ' - ' . $runner_instance
->getDescription();
}
$elements['id'] = [
'#type' => 'radios',
'#title' => $this
->t('Update Runner'),
'#options' => $runner_options,
'#default_value' => $runner_settings['id'],
'#limit_validation_errors' => array(),
'#weight' => -30,
];
$elements += [
'#type' => 'fieldset',
'#tree' => TRUE,
'#title' => $this
->t('Update Runner settings'),
];
return $elements;
}