Integrating state-machine with Filament
Right now I'm trying to integrate
winzou/state-machine
using the laravel service provider sebdesign/laravel-state-machine
.
I want to be able to view the current state as a badge and execute available transitions in the table view with buttons or a select box.
So far I what I've done is the following:
- created a new Column (extends from TextColumn and adds features from SelectColumn)
- added a public function in the ListRecords class which handles the transition change
- added a new column template which is kind of a merge between the text-column and the select-column
It all kind of works so far, but it seems unnecessary complicated.
Is there an easier way to implement this?
Is there an easy way to add a button or a button group to the column template which then triggers the default Table actions? So far I only found how to add buttons to the start/end of a row.
Any help or pointers in the right direction are very welcome.
As this is my first project with Filament, it could be that I misuse something or don't understand some of the core concepts. My apologies for that π3 Replies
Any ideas?
Every column can have an
-> Action()
. You could have a badge and on click execute the action you want.
You could also use SelectColumn
and the updateStateUsing()
method to do the transitionThanks for the idea.
I guess this is one of the many undocumented features?
I couldn't find anything regarding this method in the official docs