class StatusReport
Same name in other branches
- 9 core/lib/Drupal/Core/Render/Element/StatusReport.php \Drupal\Core\Render\Element\StatusReport
- 8.9.x core/lib/Drupal/Core/Render/Element/StatusReport.php \Drupal\Core\Render\Element\StatusReport
- 10 core/lib/Drupal/Core/Render/Element/StatusReport.php \Drupal\Core\Render\Element\StatusReport
Creates status report page element.
Attributes
#[RenderElement('status_report')]
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
- class \Drupal\Core\Render\Element\RenderElementBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\Core\Render\Element\ElementInterface
- class \Drupal\Core\Render\Element\StatusReport extends \Drupal\Core\Render\Element\RenderElementBase
- class \Drupal\Core\Render\Element\RenderElementBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\Core\Render\Element\ElementInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
Expanded class hierarchy of StatusReport
2 files declare their use of StatusReport
- LegacyStatusReportTest.php in core/
tests/ Drupal/ KernelTests/ Core/ Render/ Element/ LegacyStatusReportTest.php - StatusReportTest.php in core/
tests/ Drupal/ KernelTests/ Core/ Render/ Element/ StatusReportTest.php
File
-
core/
lib/ Drupal/ Core/ Render/ Element/ StatusReport.php, line 11
Namespace
Drupal\Core\Render\ElementView source
class StatusReport extends RenderElementBase {
/**
* {@inheritdoc}
*/
public function getInfo() {
return [
'#theme' => 'status_report_grouped',
'#priorities' => [
'error',
'warning',
'checked',
'ok',
],
'#pre_render' => [
[
static::class,
'preRenderGroupRequirements',
],
],
];
}
/**
* Render API callback: Groups requirements.
*
* This function is assigned as a #pre_render callback.
*/
public static function preRenderGroupRequirements($element) {
$grouped_requirements = [];
RequirementSeverity::convertLegacyIntSeveritiesToEnums($element['#requirements'], __METHOD__);
/** @var array{title: \Drupal\Core\StringTranslation\TranslatableMarkup, value: mixed, description: \Drupal\Core\StringTranslation\TranslatableMarkup, severity: \Drupal\Core\Extension\Requirement\RequirementSeverity} $requirement */
foreach ($element['#requirements'] as $key => $requirement) {
$severity = RequirementSeverity::Info;
if (isset($requirement['severity'])) {
$severity = $requirement['severity'] === RequirementSeverity::OK ? RequirementSeverity::Info : $requirement['severity'];
}
elseif (defined('MAINTENANCE_MODE') && MAINTENANCE_MODE == 'install') {
$severity = RequirementSeverity::OK;
}
$grouped_requirements[$severity->status()]['title'] = $severity->title();
$grouped_requirements[$severity->status()]['type'] = $severity->status();
$grouped_requirements[$severity->status()]['items'][$key] = $requirement;
}
// Order the grouped requirements by a set order.
$order = array_flip($element['#priorities']);
uksort($grouped_requirements, function ($a, $b) use ($order) {
return $order[$a] <=> $order[$b];
});
$element['#grouped_requirements'] = $grouped_requirements;
return $element;
}
/**
* Gets the severities.
*
* @return array
* An associative array of the requirements severities. The keys are the
* requirement constants defined in install.inc.
*
* @deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. There is no
* replacement.
*
* @see https://www.drupal.org/node/3410939
*/
public static function getSeverities() {
@trigger_error('Calling ' . __METHOD__ . '() is deprecated in drupal:11.2.0 and is removed from in drupal:12.0.0. There is no replacement. See https://www.drupal.org/node/3410939', \E_USER_DEPRECATED);
return [
RequirementSeverity::Info->value => [
'title' => t('Checked', [], [
'context' => 'Examined',
]),
'status' => 'checked',
],
RequirementSeverity::OK->value => [
'title' => t('OK'),
'status' => 'ok',
],
RequirementSeverity::Warning->value => [
'title' => t('Warnings found'),
'status' => 'warning',
],
RequirementSeverity::Error->value => [
'title' => t('Errors found'),
'status' => 'error',
],
];
}
}
Members
Title Sort descending | Deprecated | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|---|
PluginInspectionInterface::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | 7 | ||
PluginInspectionInterface::getPluginId | public | function | Gets the plugin ID of the plugin instance. | 3 | ||
RenderElementBase::preRenderAjaxForm | public static | function | Adds Ajax information about an element to communicate with JavaScript. | 2 | ||
RenderElementBase::preRenderGroup | public static | function | Adds members of this group as actual elements for rendering. | 2 | ||
RenderElementBase::processAjaxForm | public static | function | Form element processing handler for the #ajax form property. | 3 | ||
RenderElementBase::processGroup | public static | function | Arranges elements into groups. | 2 | ||
RenderElementBase::setAttributes | public static | function | Sets a form element's class attribute. | Overrides ElementInterface::setAttributes | 2 | |
StatusReport::getInfo | public | function | Returns the element properties for this element. | Overrides ElementInterface::getInfo | ||
StatusReport::getSeverities | Deprecated | public static | function | Gets the severities. | ||
StatusReport::preRenderGroupRequirements | public static | function | Render API callback: Groups requirements. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.