Skip to content

Commit bac0040

Browse files
committed
refactor(Dashboard): mutualize template for number widget
1 parent 4fbf453 commit bac0040

6 files changed

Lines changed: 27 additions & 149 deletions

File tree

install/migration/update_1.1.1_to_1.2.0/09_add_impact_criterias.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,22 @@
111111
]);
112112
}
113113

114+
$dashboard_item = new DashboardItem();
115+
$rows = $dashboard_item->find([
116+
'card_id' => 'plugin_carbon_report_usage_abiotic_depletion'
117+
]);
118+
foreach ($rows as $row) {
119+
$card_options = json_decode($row['card_options'], true);
120+
if ($card_options['widgettype'] === 'usage_abiotic_depletion') {
121+
$card_options['widgettype'] = 'impact_criteria_number';
122+
}
123+
$dashboard_item->update([
124+
'id' => $row['id'],
125+
'card_id' => 'plugin_carbon_report_usage_adp_impact',
126+
'card_options' => json_encode($card_options),
127+
]);
128+
}
129+
114130
$dashboard_item = new DashboardItem();
115131
$rows = $dashboard_item->find([
116132
'card_id' => 'plugin_carbon_report_embodied_abiotic_depletion'

src/Dashboard/DemoProvider.php

Lines changed: 3 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ class DemoProvider
4646
{
4747
/** @var array<string, array> $impact_values Embodied and usage impact values*/
4848
private static array $impact_values = [
49-
'gwp' => [616000000, null],
50-
'adp' => [12.748, null],
49+
'gwp' => [616000000, 176483],
50+
'adp' => [12.748, 2.86],
5151
'pe' => [491000000, null],
5252
'gwppb' => [null, null],
5353
'gwppf' => [null, null],
@@ -70,24 +70,6 @@ class DemoProvider
7070
'ept' => [null, null],
7171
];
7272

73-
public static function getUsageAbioticDepletion(array $params = [], array $crit = []): array
74-
{
75-
$default_params = [
76-
'label' => __('Usage abiotic depletion potential', 'carbon'),
77-
'icon' => 'fa-solid fa-temperature-arrow-up',
78-
];
79-
$params = array_merge($default_params, $params);
80-
81-
$value = 2.86;
82-
$value = Toolbox::getWeight($value) . __('Sbeq', 'carbon');
83-
84-
return [
85-
'number' => $value,
86-
'label' => $params['label'],
87-
'icon' => $params['icon'],
88-
];
89-
}
90-
9173
public static function getUsageCarbonEmissionPerMonth(array $params = [], array $crit = []): array
9274
{
9375
$default_params = [
@@ -380,27 +362,6 @@ public static function getSumUsageEmissionsPerModel(array $params = [], array $w
380362
];
381363
}
382364

383-
/**
384-
* Get usage CO2 emissions
385-
*
386-
* @param array $params
387-
* @return array
388-
*/
389-
public static function getUsageCarbonEmission(array $params = []): array
390-
{
391-
$default_params = [
392-
'label' => __('plugin carbon - Usage carbon emission', 'carbon'),
393-
'icon' => 'fa-solid fa-temperature-arrow-up',
394-
];
395-
$params = array_merge($default_params, $params);
396-
$gwp = Toolbox::getWeight(176483) . __('CO₂eq', 'carbon');
397-
return [
398-
'number' => $gwp,
399-
'label' => $params['label'],
400-
'icon' => $params['icon'],
401-
];
402-
}
403-
404365
/**
405366
* Get the value of an impact criteria for the embodied scope
406367
*
@@ -501,7 +462,7 @@ public static function getImpactOfEmbodiedAndUsageCriteria(string $impact_type,
501462
$crit['itemtype'] = array_intersect($crit['itemtype'], PLUGIN_CARBON_TYPES);
502463
}
503464

504-
$value = self::$impact_values[$impact_type][1];
465+
$value = self::$impact_values[$impact_type][0] + self::$impact_values[$impact_type][1];
505466
if ($value === null) {
506467
$value = 'N/A';
507468
} else {

src/Dashboard/Grid.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,11 +266,14 @@ protected static function getReportCards(): array
266266
'label' => __('Biggest monthly averaged carbon emission per model', 'carbon'),
267267
'provider' => Provider::class . '::getSumUsageEmissionsPerModel',
268268
],
269-
'plugin_carbon_report_usage_abiotic_depletion' => [
270-
'widgettype' => ['usage_abiotic_depletion'],
269+
'plugin_carbon_report_usage_adp_impact' => [
270+
'widgettype' => ['impact_criteria_number'],
271271
'group' => $group,
272272
'label' => __('Usage abiotic depletion potential', 'carbon'),
273-
'provider' => Provider::class . '::getUsageAbioticDepletion',
273+
'provider' => Provider::class . '::getImpactOfUsageCriteria',
274+
'args' => [
275+
'impact_type' => 'adp',
276+
]
274277
],
275278
];
276279

src/Dashboard/Widget.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -863,7 +863,7 @@ public static function displayImpactCriteriaNumber(array $params = []): string
863863

864864
$label_color = '#626976';
865865
$fg_color = GlpiToolbox::getFgColor($p['color']);
866-
return TemplateRenderer::getInstance()->render('@carbon/dashboard/embodied-impact-criteria.html.twig', [
866+
return TemplateRenderer::getInstance()->render('@carbon/dashboard/impact-criteria.html.twig', [
867867
'id' => $p['id'],
868868
'color' => $p['color'],
869869
'fg_color' => $fg_color,

templates/dashboard/embodied-impact-criteria.html.twig renamed to templates/dashboard/impact-criteria.html.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
<div class="card" id="{{ id }}">
7373
<div class="card-body" style="height: 100%">
7474
<div class="row align-items-center">
75-
<div class="col-auto" id="carbonEmbodiedCarbonEmissionIconElement">
75+
<div class="col-auto">
7676
<span class="icon icon-size">
7777
{% if pictogram_file != '' %}
7878
{{ source('@carbon/dashboard/' ~ pictogram_file) }}

templates/dashboard/usage-abiotic-depletion.html.twig

Lines changed: 0 additions & 102 deletions
This file was deleted.

0 commit comments

Comments
 (0)