Постарались сразу реализовать, как фишку, но с ходу не заработало, а насколько оно вобще надо - вопрос.
Это кусок в DictionaryStylizer, смысл в том, что мы получаем количество этапов между сложностью задачи и дефолтной сложностью. И на эту разницу умножаем каждый компонент цвета с неким коэфицентом, так чтобы фон стал светлее или темнее. Например, при средней сложности 3, задача со сложностью 2 должна быть на одну ступень светлее, а задача со сложностью 5 - на две ступени темнее.
if (isset($items[DictionariesTypeEnum::TASK_COMPLEXITY])) {
/** @var DictionaryItem $item */
$item = $items[DictionariesTypeEnum::TASK_COMPLEXITY];
/** @var TaskComplexity $complexity */
$complexity = $this->fetcher->getDictionary(DictionariesTypeEnum::TASK_COMPLEXITY(), $entity);
$delta = $complexity->getPositionDelta($item->getId());
if ($delta < 0) {
$aspect = abs($delta)*0.1;
$bgColor = [round($bgColor[0]*$aspect), round($bgColor[1]*$aspect), round($bgColor[2]*$aspect)];
}
if ($delta > 0) {
$aspect = abs($delta)*1.1;
$bgColor = [round($bgColor[0]*$aspect), round($bgColor[1]*$aspect), round($bgColor[2]*$aspect)];
}
}
Это кстати не забыть и не сделать копии случайно. Я думаю об этой задаче можно будет подумать после релиза tndt-19 и введения системы TableListWidget и для задач TaskTableWidget в которой мы перенесем в том числе stylizer