cammac / nova-workflow
A Laravel Nova resource tool.
Requires
- winzou/state-machine: ^0.4.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
This package helps you to create workflow on your Nova application. It's built on top of this package winzou/state-machine
Installation
You can install the package in to a Laravel app that uses Nova via composer:
composer require cammac/nova-workflow
Next, publish the config file
php artisan vendor:publish --tag workflow
open config/workflow.php and define your workflow
Configuration
you can define inside workflows element workflow name and it's config as following:
| field | mandatory | Description |
|---|---|---|
| model | Yes | Model class you want to do your workflow on |
| column | Yes | Column name you want to monitor |
| states | Yes | All possible states |
| transitions | Yes | All possible transitions |
| from | Yes | array: From states |
| to | Yes | To state |
| event | No | Event class that will be fired after the transition is completed |
| style_classes | No | apply your css classes |
| with_reasons | No | string: column inside your model will be filled with the transition |
| with_reasons | No | array: will generate a dropdown list from with_reasons.model with id as option's value and label as option's text |
Usage
To display the workflow that are associated with a given Nova resource, you need to add the workflow Resource Tool to your resource.
For example, in your app/Nova/Order.php file:
use Cammac\Workflow\Workflow; ... public function fields(Request $request) { return [ ID::make()->sortable(), // Your other fields Workflow::make('request')->onlyOnDetail() // request is the workflow name defined in workflow configuration file ]; }
This will automatically search possible transitions for the current status
License
The MIT License (MIT). Please see License File for more information.

