Core
Tlačítka a vzhled
Táž akce jako plné tlačítko, ikona, odkaz nebo sotva znatelný prvek v řádku — mění se vykreslení, nikdy chování.
Na této stránce
Jedna akce, několik podob: plné tlačítko v hlavičce, ikona v hustém řádku, prostý odkaz jinam, klávesová zkratka úplně bez tlačítka. Co se tady mění, je to, jak je akce nakreslená — nikdy to, co dělá — a slovník barev, velikostí a ikon je ten kanonický, přes který si své hodnoty řeší každý další povrch frameworku.
Icon button
Action::make('edit') ->icon('pencil') ->iconButton() // vykreslí jako tlačítko jen s ikonou ->tooltip('Edit record'); // Nebo skrýt jen labelAction::make('edit') ->icon('pencil') ->hideLabel(); // onlyIcon() je totéž volání pod jménem, které se tu čte líp
iconButton() a hideLabel() nejsou totéž: první dá tlačítku i čtvercový tvar
icon buttonu a vlastní resolver barev, druhé jen odebere slova. onlyIcon() je
alias pro hideLabel(true) — zůstal, protože přesně tohle to volání na místě
řádkové akce znamená.
URL akce
Action::make('view') ->url(fn ($record) => route('users.show', $record), openInNewTab: true); // Řetězcová URLAction::make('docs') ->url('/docs', openInNewTab: true);
Klávesové zkratky
Action::make('save')->keyboardShortcut('mod+s');Action::make('delete')->keyboardShortcut('Delete');
Používá pod kapotou Alpine.js @keydown.
Outlined a velikost
Action::make('cancel') ->outlined() // outline varianta místo výchozí solid výplně ->color('gray') ->size('sm'); // xs, sm, md, lg
Tiché řádkové akce
Ve výchozím stavu se řádkové akce tabulky vykreslují jako plná, stále barevná
tlačítka. Nastavte styl akcí tabulky na quiet pro klidnější, profesionálnější
vzhled — akce v klidu vypadají jako neutrální text a barvu odhalí až na hoveru
nebo klávesovém focusu, takže řádek plný akcí přestane soupeřit s daty.
$table->actionsStyle('quiet'); // výchozí je 'solid'
Chování tichého stylu:
- Nedestruktivní akce jsou v klidu neutrálně šedé a svou
->color()získají na hoveru/focusu. - Destruktivní akce zůstávají čitelné i v klidu (červený text), protože dotyková
zařízení nemají hover —
DeleteActiontak čte jako nebezpečná i bez interakce. - Každá akce si drží viditelný focus ring pro klávesnici.
Jednu akci necháte výraznou tím, že ji vrátíte do plné výplně přes ->solid():
$table ->actions([ Action::make('view')->icon('outline:eye'), Action::make('edit')->icon('pencil')->color('primary'), Action::make('approve')->icon('check')->color('success')->solid(), // zůstane plné tlačítko DeleteAction::make(), // čitelně červené v klidu ]) ->actionsStyle('quiet');
Tichý styl je opt-in; existující tabulky zůstávají beze změny. ->solid() a
->outlined() zůstávají dostupné jako override u jednotlivých akcí.
Extra atributy
Action::make('custom') ->extraAttributes([ 'data-testid' => 'custom-action', 'x-on:click' => 'console.log("clicked")', ]);
Související
- Akce — třídy, které se kreslí
- Foundation: Barvy a Ikony — slovník, kterým tahle nastavení mluví
- Tiché řádkové akce — varianta pro husté tabulky, výše
- Vrstva gest — klávesnice nad celou tabulkou