Code Coverage  | 
     ||||||||||
Classes and Traits  | 
      Functions and Methods  | 
      Lines  | 
     ||||||||
| Total |         | 
      0.00%  | 
      0 / 1  | 
              | 
      0.00%  | 
      0 / 6  | 
      CRAP |         | 
      0.00%  | 
      0 / 55  | 
     
| ConfigHandlerGroup |         | 
      0.00%  | 
      0 / 1  | 
              | 
      0.00%  | 
      0 / 6  | 
      90 |         | 
      0.00%  | 
      0 / 55  | 
     
| __construct |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 3  | 
     |||
| getFormKey |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 2  | 
     |||
| getForm |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 4  | 
     |||
| getFormId |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 2  | 
     |||
| buildForm |         | 
      0.00%  | 
      0 / 1  | 
      20 |         | 
      0.00%  | 
      0 / 34  | 
     |||
| submitForm |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 10  | 
     |||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\views_ui\Form\Ajax\ConfigHandlerGroup. | |
| */ | |
| namespace Drupal\views_ui\Form\Ajax; | |
| use Drupal\Core\Form\FormStateInterface; | |
| use Drupal\views\Views; | |
| use Drupal\views\ViewEntityInterface; | |
| use Drupal\views\ViewExecutable; | |
| /** | |
| * Provides a form for configuring grouping information for a Views UI handler. | |
| */ | |
| class ConfigHandlerGroup extends ViewsFormBase { | |
| /** | |
| * Constructs a new ConfigHandlerGroup object. | |
| */ | |
| public function __construct($type = NULL, $id = NULL) { | |
| $this->setType($type); | |
| $this->setID($id); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getFormKey() { | |
| return 'handler-group'; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getForm(ViewEntityInterface $view, $display_id, $js, $type = NULL, $id = NULL) { | |
| $this->setType($type); | |
| $this->setID($id); | |
| return parent::getForm($view, $display_id, $js); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getFormId() { | |
| return 'views_ui_config_item_group_form'; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function buildForm(array $form, FormStateInterface $form_state) { | |
| $view = $form_state->get('view'); | |
| $display_id = $form_state->get('display_id'); | |
| $type = $form_state->get('type'); | |
| $id = $form_state->get('id'); | |
| $form = array( | |
| 'options' => array( | |
| '#tree' => TRUE, | |
| '#theme_wrappers' => array('container'), | |
| '#attributes' => array('class' => array('scroll'), 'data-drupal-views-scroll' => TRUE), | |
| ), | |
| ); | |
| $executable = $view->getExecutable(); | |
| if (!$executable->setDisplay($display_id)) { | |
| $form['markup'] = array('#markup' => $this->t('Invalid display id @display', array('@display' => $display_id))); | |
| return $form; | |
| } | |
| $executable->initQuery(); | |
| $item = $executable->getHandler($display_id, $type, $id); | |
| if ($item) { | |
| $handler = $executable->display_handler->getHandler($type, $id); | |
| if (empty($handler)) { | |
| $form['markup'] = array('#markup' => $this->t("Error: handler for @table > @field doesn't exist!", array('@table' => $item['table'], '@field' => $item['field']))); | |
| } | |
| else { | |
| $handler->init($executable, $executable->display_handler, $item); | |
| $types = ViewExecutable::getHandlerTypes(); | |
| $form['#title'] = $this->t('Configure aggregation settings for @type %item', array('@type' => $types[$type]['lstitle'], '%item' => $handler->adminLabel())); | |
| $handler->buildGroupByForm($form['options'], $form_state); | |
| $form_state->set('handler', $handler); | |
| } | |
| $view->getStandardButtons($form, $form_state, 'views_ui_config_item_group_form'); | |
| } | |
| return $form; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function submitForm(array &$form, FormStateInterface $form_state) { | |
| $view = $form_state->get('view'); | |
| $item = &$form_state->get('handler')->options; | |
| $type = $form_state->get('type'); | |
| $handler = Views::handlerManager($type)->getHandler($item); | |
| $executable = $view->getExecutable(); | |
| $handler->init($executable, $executable->display_handler, $item); | |
| $handler->submitGroupByForm($form, $form_state); | |
| // Store the item back on the view | |
| $executable->setHandler($form_state->get('display_id'), $form_state->get('type'), $form_state->get('id'), $item); | |
| // Write to cache | |
| $view->cacheSet(); | |
| } | |
| } |