Obarvení řádku v ublaboo datagridu
- ImUnicorn
- Člen | 12
Zdravím,
potřeboval bych obarvit(background-color) řádek v ublaboo datagridu. Snažím se to udělat takhle:
$this->setRowCallback( function( $item, $tr ) use ( $presenter, $user, $usersRegions ) {
if( ! $this->isUserAllowedRow( $user, $item, $usersRegions ) )
{
$tr->addClass( 'warning' );
}
$labels = $item->doctorLabels->get()->fetchAll();
if(\count($labels) > 1) {
/** @var Html $tr */
$tr->addStyle[] = 'background-color:' . DoctorLabel::DEFAULT_BACKGROUND_COLOR . ";";
} elseif(\count($labels) === 1) {
if (isset($labels[0]->hexColor)) {
$tr->addStyle[] = 'background-color:' . $labels[0]->hexColor;
}
}
});
Bohužel tohle nefunguje. Němáte někdo nějakou radu? Díky.
Editoval ImUnicorn (6. 12. 2018 17:21)
- Ondřej Kubíček
- Člen | 494
$tr
je klasický nette html object ne?
na $addStyle[]
jsi přišel jak? myslím že takhle to bude
fungovat
$tr->addStyle('background-color:' . DoctorLabel::DEFAULT_BACKGROUND_COLOR)
ale spíš bych si nastavil třídu, která ti to obarví
- ImUnicorn
- Člen | 12
Ondřej Kubíček napsal(a):
$tr
je klasický nette html object ne?
na$addStyle[]
jsi přišel jak? myslím že takhle to bude fungovat$tr->addStyle('background-color:' . DoctorLabel::DEFAULT_BACKGROUND_COLOR)
ale spíš bych si nastavil třídu, která ti to obarví
Ano. Je to Nette HTML objekt. Bohužel nefunguje i řešení, co jsi napsal ani to z dokumentace.
Nette\Utils\Html #6cd8
attrs => array (1)
style => array (1)
"background-color" => "#ff0000" (7)
children protected => array ()
name private => "tr" (2)
isEmpty private => false
Tohle vrací dump po přidání stylu. Je to správně, akorát v HTML kódu ten atribut prostě není. Přidat třídu nemohu, protože si uživatel vybírá barvu z colorpickeru a nemůžu mít pro každou barvu třídu.
- Ondřej Kubíček
- Člen | 494
díval jsem se rychle na api toho datagridu a myslím, že napřímo to neumí, že bys musel mít poděděnou svoji šablonu, on si totiž vezme jen id a classy
Editoval Ondřej Kubíček (18. 12. 2018 13:35)
- ImUnicorn
- Člen | 12
Ondřej Kubíček napsal(a):
díval jsem se rychle na api toho datagridu a myslím, že napřímo to neumí, že bys musel mít poděděnou svoji šablonu, on si totiž vezme jen id a classy
Kde prosím si našel, že si to z toho bere(soubor)? Bych to doprogramoval a dal pull request. Myslím si, že to není špatná věc.