This commit is contained in:
Thomas Peterson 2025-07-17 14:15:09 +02:00
parent 219a7e5af9
commit 9b14dedec0
2 changed files with 113 additions and 29 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd"> <!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
<coverage line-rate="0.73794686782552" branch-rate="0" lines-covered="2250" lines-valid="3049" branches-covered="0" branches-valid="0" complexity="1346" version="0.4" timestamp="1752753848"> <coverage line-rate="0.73218353400586" branch-rate="0" lines-covered="2250" lines-valid="3073" branches-covered="0" branches-valid="0" complexity="1350" version="0.4" timestamp="1752754365">
<sources> <sources>
<source>/home/thomas/projekte/calc/src</source> <source>/home/thomas/projekte/calc/src</source>
</sources> </sources>
@ -6116,9 +6116,9 @@
</class> </class>
</classes> </classes>
</package> </package>
<package name="Option/Parser/Select.php" line-rate="0.61206896551724" branch-rate="0" complexity="53"> <package name="Option/Parser/Select.php" line-rate="0.50714285714286" branch-rate="0" complexity="57">
<classes> <classes>
<class name="PSC\Library\Calc\Option\Parser\Select" filename="Option/Parser/Select.php" line-rate="0.61206896551724" branch-rate="0" complexity="53"> <class name="PSC\Library\Calc\Option\Parser\Select" filename="Option/Parser/Select.php" line-rate="0.50714285714286" branch-rate="0" complexity="57">
<methods> <methods>
<method name="__construct" signature="null|string $mode" line-rate="1" branch-rate="0" complexity="7"> <method name="__construct" signature="null|string $mode" line-rate="1" branch-rate="0" complexity="7">
<lines> <lines>
@ -6255,45 +6255,69 @@
<line number="217" hits="8"/> <line number="217" hits="8"/>
</lines> </lines>
</method> </method>
<method name="parseModeColorDbJson" signature="" line-rate="0" branch-rate="0" complexity="1"> <method name="parseModeColorDbJson" signature="" line-rate="0" branch-rate="0" complexity="5">
<lines> <lines>
<line number="222" hits="0"/> <line number="222" hits="0"/>
<line number="224" hits="0"/>
<line number="226" hits="0"/>
<line number="227" hits="0"/>
<line number="229" hits="0"/>
<line number="231" hits="0"/>
<line number="232" hits="0"/>
<line number="234" hits="0"/>
<line number="235" hits="0"/>
<line number="238" hits="0"/>
<line number="239" hits="0"/>
<line number="240" hits="0"/>
<line number="241" hits="0"/>
<line number="242" hits="0"/>
<line number="243" hits="0"/>
<line number="244" hits="0"/>
<line number="245" hits="0"/>
<line number="246" hits="0"/>
<line number="247" hits="0"/>
<line number="248" hits="0"/>
<line number="249" hits="0"/>
<line number="253" hits="0"/>
<line number="254" hits="0"/>
<line number="256" hits="0"/>
<line number="258" hits="0"/>
</lines> </lines>
</method> </method>
<method name="parseModeNormalXML" signature="" line-rate="1" branch-rate="0" complexity="2"> <method name="parseModeNormalXML" signature="" line-rate="1" branch-rate="0" complexity="2">
<lines> <lines>
<line number="227" hits="126"/> <line number="263" hits="126"/>
<line number="228" hits="122"/> <line number="264" hits="122"/>
<line number="229" hits="122"/> <line number="265" hits="122"/>
<line number="230" hits="122"/> <line number="266" hits="122"/>
</lines> </lines>
</method> </method>
<method name="parseModeNormalJson" signature="" line-rate="1" branch-rate="0" complexity="2"> <method name="parseModeNormalJson" signature="" line-rate="1" branch-rate="0" complexity="2">
<lines> <lines>
<line number="236" hits="1"/> <line number="272" hits="1"/>
<line number="237" hits="1"/> <line number="273" hits="1"/>
<line number="238" hits="1"/> <line number="274" hits="1"/>
<line number="239" hits="1"/> <line number="275" hits="1"/>
</lines> </lines>
</method> </method>
<method name="getPaperContainer" signature="" line-rate="1" branch-rate="0" complexity="1"> <method name="getPaperContainer" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="248" hits="67"/> <line number="284" hits="67"/>
</lines> </lines>
</method> </method>
<method name="setPaperContainer" signature="$paperContainer" line-rate="1" branch-rate="0" complexity="1"> <method name="setPaperContainer" signature="$paperContainer" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="256" hits="125"/> <line number="292" hits="125"/>
</lines> </lines>
</method> </method>
<method name="setPaperRepository" signature="$repository" line-rate="1" branch-rate="0" complexity="1"> <method name="setPaperRepository" signature="$repository" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="264" hits="123"/> <line number="300" hits="123"/>
</lines> </lines>
</method> </method>
<method name="getPaperRepository" signature="" line-rate="1" branch-rate="0" complexity="1"> <method name="getPaperRepository" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines> <lines>
<line number="272" hits="67"/> <line number="308" hits="67"/>
</lines> </lines>
</method> </method>
</methods> </methods>
@ -6402,18 +6426,42 @@
<line number="215" hits="8"/> <line number="215" hits="8"/>
<line number="217" hits="8"/> <line number="217" hits="8"/>
<line number="222" hits="0"/> <line number="222" hits="0"/>
<line number="227" hits="126"/> <line number="224" hits="0"/>
<line number="228" hits="122"/> <line number="226" hits="0"/>
<line number="229" hits="122"/> <line number="227" hits="0"/>
<line number="230" hits="122"/> <line number="229" hits="0"/>
<line number="236" hits="1"/> <line number="231" hits="0"/>
<line number="237" hits="1"/> <line number="232" hits="0"/>
<line number="238" hits="1"/> <line number="234" hits="0"/>
<line number="239" hits="1"/> <line number="235" hits="0"/>
<line number="248" hits="67"/> <line number="238" hits="0"/>
<line number="256" hits="125"/> <line number="239" hits="0"/>
<line number="264" hits="123"/> <line number="240" hits="0"/>
<line number="272" hits="67"/> <line number="241" hits="0"/>
<line number="242" hits="0"/>
<line number="243" hits="0"/>
<line number="244" hits="0"/>
<line number="245" hits="0"/>
<line number="246" hits="0"/>
<line number="247" hits="0"/>
<line number="248" hits="0"/>
<line number="249" hits="0"/>
<line number="253" hits="0"/>
<line number="254" hits="0"/>
<line number="256" hits="0"/>
<line number="258" hits="0"/>
<line number="263" hits="126"/>
<line number="264" hits="122"/>
<line number="265" hits="122"/>
<line number="266" hits="122"/>
<line number="272" hits="1"/>
<line number="273" hits="1"/>
<line number="274" hits="1"/>
<line number="275" hits="1"/>
<line number="284" hits="67"/>
<line number="292" hits="125"/>
<line number="300" hits="123"/>
<line number="308" hits="67"/>
</lines> </lines>
</class> </class>
</classes> </classes>

View File

@ -219,7 +219,43 @@ class Select extends Base
private function parseModeColorDbJson(): void private function parseModeColorDbJson(): void
{ {
$this->element->setContainer((string) $this->json['container']); $colorSystem = (string) $this->json['container'];
$this->element->setContainer($colorSystem);
$value = $this->cache->get($colorSystem, function (ItemInterface $item) use ($colorSystem): array {
$item->expiresAfter(3600);
$temp = [];
if (str_contains($colorSystem, 'panton')) {
$system = new PANTONE(\Color\System\Enum\PANTONE::from($colorSystem));
}
if (str_contains($colorSystem, 'hks')) {
$system = new HKS(\Color\System\Enum\HKS::from($colorSystem));
}
if ($system) {
foreach ($system->getAllColors() as $color) {
$optColor = new \PSC\Library\Calc\Option\Type\Select\ColorOpt();
$optColor->setId($color->getName());
$optColor->setLabel($color->getValue('name'));
$optColor->setPrefix($system->getColorSystemPrefix());
$optColor->setSuffix($system->getColorSystemSuffix());
$optColor->setColorHex((string) $color->getHex());
$optColor->setColorCMYK((string) $color->getCMYK());
$optColor->setColorRGB((string) $color->getRGB());
$optColor->setValue((string) $color->getHEX());
$temp[] = $optColor;
}
}
return $temp;
});
$this->element->setColorSystem($colorSystem);
$this->element->addOptions($value);
} }
private function parseModeNormalXML() private function parseModeNormalXML()