A wizard form for the Laravel Nova
This package gives you the ability to creating or updating a resource step by step and validating and storing resources on each step.
To get started with nova-wizard run the below command:
composer require zareismail/nova-wizard
To use, your resource class should implement the Wizard interface. Then for creating each step use the Step class like the following:
use Zareismail\NovaWizard\Contracts\Wizard;
use Zareismail\NovaWizard\Step;
class Supply extends Resource implements Wizard
{
return [
(new Step(__('Step One'), [
// some fields
])->withToolbar()
new Step('Step Two', [
]),
new Step(__('Step Three'), function() {
return [
];
}),
];
}
Now; your source automatically displays wizard form to you.
By default; each step, except the last, will store in the session. if you need to store data into the database after a specific step you should call the Checkpoint method on that step. now, checkpoint step and all steps after it will be store in the DB.
For ignoring wizard-form on the update page, your resource should implement the Zareismail\NovaWizard\Contracts\IgnoreUpdateWizard.