ProcessDevelForm.php in Module Builder 8.3
File
module_builder_devel/src/Form/ProcessDevelForm.php
View source
<?php
namespace Drupal\module_builder_devel\Form;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;
class ProcessDevelForm extends FormBase {
public function getFormId() {
return 'module_builder_devel_process_form';
}
public function buildForm(array $form, FormStateInterface $form_state) {
\Drupal::service('module_builder.drupal_code_builder')
->loadLibrary();
try {
$task_handler_report = \Drupal::service('module_builder.drupal_code_builder')
->getTask('ReportHookDataFolder');
$task_report_summary = \Drupal::service('module_builder.drupal_code_builder')
->getTask('ReportSummary');
$task_handler_collect = \Drupal::service('module_builder.drupal_code_builder')
->getTask('Collect');
} catch (SanityException $e) {
}
$job_list = $this
->getJobList($form_state);
$job_options = [];
foreach ($job_list as $index => $job) {
$option_label = isset($job['item_label']) ? "{$job['process_label']} - {$job['item_label']}" : "{$job['process_label']}";
$job_options[$index] = $option_label;
}
$form['jobs'] = [
'#type' => 'checkboxes',
'#title' => t('Jobs to process'),
'#options' => $job_options,
'#required' => TRUE,
];
$form['submit'] = [
'#type' => 'submit',
'#value' => t('Run selected processing jobs'),
];
return $form;
}
public function submitForm(array &$form, FormStateInterface $form_state) {
$job_list = $this
->getJobList($form_state);
$job_indexes_to_run = array_filter($form_state
->getValues()['jobs'], function ($item) {
return is_string($item);
});
$jobs_to_run = array_intersect_key($job_list, $job_indexes_to_run);
$result = [];
foreach ($jobs_to_run as $job) {
$collector_helper = \DrupalCodeBuilder\Factory::getContainer()
->get($job['collector']);
$job_data = $collector_helper
->collect([
$job,
]);
dpm($job_data);
}
$form_state
->setRebuild();
}
protected function getJobList(FormStateInterface $form_state) {
$job_list = $form_state
->get('job_list');
if (!isset($job_list)) {
$task_handler_collect = \Drupal::service('module_builder.drupal_code_builder')
->getTask('Collect');
$job_list = $task_handler_collect
->getJobList();
$form_state
->set('job_list', $job_list);
}
return $job_list;
}
}
Classes
Name |
Description |
ProcessDevelForm |
Form for running selected analysis jobs and outputting the result. |