mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-19 16:48:42 +02:00
N°3882 - Fix null status color when class has no style defined
This commit is contained in:
@@ -37,7 +37,7 @@ class PillFactory
|
||||
if ($oStyle !== null) {
|
||||
$oPill->SetCSSColorClass($oStyle->GetStyleClass());
|
||||
} else {
|
||||
$oPill->SetSemanticColor(UIHelper::GetColorFromStatusCode($sStateCode));
|
||||
$oPill->SetSemanticColor(UIHelper::GetColorNameFromStatusCode($sStateCode));
|
||||
}
|
||||
|
||||
return $oPill;
|
||||
|
||||
@@ -63,7 +63,7 @@ class ObjectDetails extends Panel implements iKeyboardShortcut
|
||||
protected $sStatusCode;
|
||||
/** @var string Label of the current value of the attribute carrying the state for $sClassName */
|
||||
protected $sStatusLabel;
|
||||
/** @var string */
|
||||
/** @var string Color value (eg. #ABCDEF, var(--foo-color), ...) */
|
||||
protected $sStatusColor;
|
||||
|
||||
/**
|
||||
@@ -240,6 +240,11 @@ class ObjectDetails extends Panel implements iKeyboardShortcut
|
||||
if ($oStyle !== null) {
|
||||
$this->sStatusColor = $oStyle->GetMainColor();
|
||||
}
|
||||
// If no style defined, fallback on a default color
|
||||
else {
|
||||
$sColorName = UIHelper::GetColorNameFromStatusCode($this->sStatusCode);
|
||||
$this->sStatusColor = "var(--ibo-lifecycle-$sColorName-state-primary-color)";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -22,9 +22,9 @@ class UIHelper
|
||||
* @param string $sStateCode Code of the state value
|
||||
* @param bool $bAllowFallbackIfNoMatch If set to true, a fallback semantic color code will be returned in case of no matching mappping. Otherwise it will return null to indicate there was no match.
|
||||
*
|
||||
* @return string|null A semantic status color code (eg. success, pending, failure, neutral, ...) depending on the value's code. Usefull to try to find a semantic match when a class has no style defined on its state attribute.
|
||||
* @return string|null A semantic status color name (eg. success, pending, failure, neutral, ...) depending on the value's code. Usefull to try to find a semantic match when a class has no style defined on its state attribute.
|
||||
*/
|
||||
public static function GetColorFromStatusCode(string $sStateCode, bool $bAllowFallbackIfNoMatch = true): ?string
|
||||
public static function GetColorNameFromStatusCode(string $sStateCode, bool $bAllowFallbackIfNoMatch = true): ?string
|
||||
{
|
||||
$sStatusColor = null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user