commerce_license-8.x-2.x-dev/src/Element/StatusReport.php

src/Element/StatusReport.php
<?php

namespace Drupal\commerce_license\Element;

use Drupal\Core\Render\Element\StatusReport as StatusReportCore;

/**
 * Creates commerce license status report element.
 *
 * @RenderElement("commerce_license_status_report")
 */
class StatusReport extends StatusReportCore {

  /**
   * {@inheritdoc}
   */
  public function getInfo() {
    $class = static::class;
    return [
      '#theme' => 'commerce_license_status_report_grouped',
      '#pre_render' => [
        [$class, 'preRenderGroupRequirements'],
      ],
    ];
  }

  /**
   * {@inheritdoc}
   */
  public static function preRenderGroupRequirements($element) {
    $severity_map = [
      REQUIREMENT_INFO => 'checked',
      REQUIREMENT_OK => 'checked',
      REQUIREMENT_WARNING => 'warning',
      REQUIREMENT_ERROR => 'error',
    ];
    $grouped_requirements = [];
    $grouped_requirements[0]['title'] = t('Checked', [], ['context' => 'Examined']);
    $grouped_requirements[0]['type'] = 'checked';

    $requirements = $element['#requirements'];
    foreach ($requirements as $key => $requirement) {
      $requirements[$key]['type'] = $severity_map[$requirement['severity']] ?? 'checked';
    }
    $grouped_requirements[0]['items'] = $requirements;
    $element['#grouped_requirements'] = $grouped_requirements;

    return $element;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc