LaravelPackages.net
Acme Inc.
Toggle sidebar
cammac/nova-workflow

A Laravel Nova resource tool.

6.825
35
2.2.0
About cammac/nova-workflow

cammac/nova-workflow is a Laravel package for a laravel nova resource tool.. It currently has 35 GitHub stars and 6.825 downloads on Packagist (latest version 2.2.0). Install it with composer require cammac/nova-workflow. Discover more Laravel packages by cammac or browse all Laravel packages to compare alternatives.

Last updated

Workflow Resource Tool for Laravel Nova

This package helps you to create workflow on your Nova application. It's built on top of this package winzou/state-machine

screenshot

screenshot

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.

Star History Chart