Analyze.php

Same filename in other branches
  1. 8.9.x core/modules/views_ui/src/Form/Ajax/Analyze.php
  2. 10 core/modules/views_ui/src/Form/Ajax/Analyze.php
  3. 11.x core/modules/views_ui/src/Form/Ajax/Analyze.php

Namespace

Drupal\views_ui\Form\Ajax

File

core/modules/views_ui/src/Form/Ajax/Analyze.php

View source
<?php

namespace Drupal\views_ui\Form\Ajax;

use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Views;

/**
 * Displays analysis information for a view.
 *
 * @internal
 */
class Analyze extends ViewsFormBase {
    
    /**
     * {@inheritdoc}
     */
    public function getFormKey() {
        return 'analyze';
    }
    
    /**
     * {@inheritdoc}
     */
    public function getFormId() {
        return 'views_ui_analyze_view_form';
    }
    
    /**
     * {@inheritdoc}
     */
    public function buildForm(array $form, FormStateInterface $form_state) {
        $view = $form_state->get('view');
        $form['#title'] = $this->t('View analysis');
        $form['#section'] = 'analyze';
        $analyzer = Views::analyzer();
        $messages = $analyzer->getMessages($view->getExecutable());
        $form['analysis'] = [
            '#prefix' => '<div class="js-form-item form-item">',
            '#suffix' => '</div>',
            '#markup' => $analyzer->formatMessages($messages),
        ];
        // Inform the standard button function that we want an OK button.
        $form_state->set('ok_button', TRUE);
        $view->getStandardButtons($form, $form_state, 'views_ui_analyze_view_form');
        return $form;
    }
    
    /**
     * {@inheritdoc}
     */
    public function submitForm(array &$form, FormStateInterface $form_state) {
        
        /** @var \Drupal\views_ui\ViewUI $view */
        $view = $form_state->get('view');
        $form_state->setRedirectUrl($view->toUrl('edit-form'));
    }

}

Classes

Title Deprecated Summary
Analyze Displays analysis information for a view.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.