Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 4 |
CRAP | |
0.00% |
0 / 90 |
| ViewsFormMainForm | |
0.00% |
0 / 1 |
|
0.00% |
0 / 4 |
650 | |
0.00% |
0 / 90 |
| getFormId | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
|||
| buildForm | |
0.00% |
0 / 1 |
156 | |
0.00% |
0 / 61 |
|||
| validateForm | |
0.00% |
0 / 1 |
42 | |
0.00% |
0 / 14 |
|||
| submitForm | |
0.00% |
0 / 1 |
42 | |
0.00% |
0 / 14 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\views\Form\ViewsFormMainForm. | |
| */ | |
| namespace Drupal\views\Form; | |
| use Drupal\Core\Form\FormInterface; | |
| use Drupal\Core\Form\FormStateInterface; | |
| use Drupal\views\ViewExecutable; | |
| class ViewsFormMainForm implements FormInterface { | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getFormId() { | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function buildForm(array $form, FormStateInterface $form_state, ViewExecutable $view = NULL, $output = []) { | |
| $form['#prefix'] = '<div class="views-form">'; | |
| $form['#suffix'] = '</div>'; | |
| $form['#pre_render'][] = 'views_pre_render_views_form_views_form'; | |
| // Add the output markup to the form array so that it's included when the form | |
| // array is passed to the theme function. | |
| $form['output'] = $output; | |
| // This way any additional form elements will go before the view | |
| // (below the exposed widgets). | |
| $form['output']['#weight'] = 50; | |
| $form['actions'] = array( | |
| '#type' => 'actions', | |
| ); | |
| $form['actions']['submit'] = array( | |
| '#type' => 'submit', | |
| '#value' => t('Save'), | |
| ); | |
| $substitutions = array(); | |
| foreach ($view->field as $field_name => $field) { | |
| $form_element_name = $field_name; | |
| if (method_exists($field, 'form_element_name')) { | |
| $form_element_name = $field->form_element_name(); | |
| } | |
| $method_form_element_row_id_exists = FALSE; | |
| if (method_exists($field, 'form_element_row_id')) { | |
| $method_form_element_row_id_exists = TRUE; | |
| } | |
| // If the field provides a views form, allow it to modify the $form array. | |
| $has_form = FALSE; | |
| if (property_exists($field, 'views_form_callback')) { | |
| $callback = $field->views_form_callback; | |
| $callback($view, $field, $form, $form_state); | |
| $has_form = TRUE; | |
| } | |
| elseif (method_exists($field, 'viewsForm')) { | |
| $field->viewsForm($form, $form_state); | |
| $has_form = TRUE; | |
| } | |
| // Build the substitutions array for use in the theme function. | |
| if ($has_form) { | |
| foreach ($view->result as $row_id => $row) { | |
| if ($method_form_element_row_id_exists) { | |
| $form_element_row_id = $field->form_element_row_id($row_id); | |
| } | |
| else { | |
| $form_element_row_id = $row_id; | |
| } | |
| $substitutions[] = array( | |
| 'placeholder' => '<!--form-item-' . $form_element_name . '--' . $form_element_row_id . '-->', | |
| 'field_name' => $form_element_name, | |
| 'row_id' => $form_element_row_id, | |
| ); | |
| } | |
| } | |
| } | |
| // Give the area handlers a chance to extend the form. | |
| $area_handlers = array_merge(array_values($view->header), array_values($view->footer)); | |
| $empty = empty($view->result); | |
| foreach ($area_handlers as $area) { | |
| if (method_exists($area, 'viewsForm') && !$area->viewsFormEmpty($empty)) { | |
| $area->viewsForm($form, $form_state); | |
| } | |
| } | |
| $form['#substitutions'] = array( | |
| '#type' => 'value', | |
| '#value' => $substitutions, | |
| ); | |
| return $form; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function validateForm(array &$form, FormStateInterface $form_state) { | |
| $view = $form_state->getBuildInfo()['args'][0]; | |
| // Call the validation method on every field handler that has it. | |
| foreach ($view->field as $field) { | |
| if (method_exists($field, 'viewsFormValidate')) { | |
| $field->viewsFormValidate($form, $form_state); | |
| } | |
| } | |
| // Call the validate method on every area handler that has it. | |
| foreach (array('header', 'footer') as $area) { | |
| foreach ($view->{$area} as $area_handler) { | |
| if (method_exists($area_handler, 'viewsFormValidate')) { | |
| $area_handler->viewsFormValidate($form, $form_state); | |
| } | |
| } | |
| } | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function submitForm(array &$form, FormStateInterface $form_state) { | |
| $view = $form_state->getBuildInfo()['args'][0]; | |
| // Call the submit method on every field handler that has it. | |
| foreach ($view->field as $field) { | |
| if (method_exists($field, 'viewsFormSubmit')) { | |
| $field->viewsFormSubmit($form, $form_state); | |
| } | |
| } | |
| // Call the submit method on every area handler that has it. | |
| foreach (array('header', 'footer') as $area) { | |
| foreach ($view->{$area} as $area_handler) { | |
| if (method_exists($area_handler, 'viewsFormSubmit')) { | |
| $area_handler->viewsFormSubmit($form, $form_state); | |
| } | |
| } | |
| } | |
| } | |
| } |