From 01fb3fd1fd994f868cbcd508ea1be6def8e83e57 Mon Sep 17 00:00:00 2001 From: Mathieu Ducrot Date: Fri, 27 Jun 2025 18:09:44 +0200 Subject: [PATCH] `ProcessStatusEnum` new methods based on the `EnumTrait` from the platform-core-bundle : getBgColor, getBgColors, getTextColors, getTextColor, labels --- CHANGELOG.md | 4 ++++ src/Enum/ProcessStatusEnum.php | 36 ++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f4dbc2..28847e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ CHANGELOG for 1.x =================== +## v1.15.0 - (2025-06-27) +### Added +- `ProcessStatusEnum` new methods based on the `EnumTrait` from the platform-core-bundle : getBgColor, getBgColors, getTextColors, getTextColor, labels + ## v1.14.4 - (2025-06-24) ### Added - `FileUtils::slugifyFilename` Slugify and normalize filename + tests diff --git a/src/Enum/ProcessStatusEnum.php b/src/Enum/ProcessStatusEnum.php index 44385f2..e6b0381 100644 --- a/src/Enum/ProcessStatusEnum.php +++ b/src/Enum/ProcessStatusEnum.php @@ -21,4 +21,40 @@ public static function casesByTrans(TranslatorInterface $translator, bool $onlyV return $toReturn; } + + public static function getBgColor(mixed $case): ?string + { + return match ($case) { + self::ONGOING => '#3b82f6', // info-color colors.blue.500 + self::SUCCESS => '#22c55e', // success-color colors.green.500 + self::ERROR => '#dc2626', // danger-color colors.red.600 + default => null, + }; + } + + public static function getBgColors(): array + { + return array_map(function (self $case) { + return self::getBgColor($case); + }, self::cases()); + } + + public static function getTextColors(): array + { + return array_map(function (self $case) { + return self::getTextColor($case); + }, self::cases()); + } + + public static function getTextColor(mixed $case): ?string + { + return '#ffffff'; + } + + public static function labels(TranslatorInterface $translator): array + { + return array_map(function (self $case) use ($translator) { + return $translator->trans(self::PREFIX_LABEL . $case->value, [], 'enum'); + }, self::cases()); + } }