Auto generate TALL-forms for all models with the php artisan blueprint:build
command.
This plugin is based on Blueprint Nova Addon by Krishan König.
- Consider the code you get as a mockup/draft. It won't work as is. You'll have to review and finalize the field declarations.
- You will get a single form component for each model. It's up to you to split it in two components if you need separate forms for create/update forms.
- Relationship fields are outputted as
Repeaters
,Selects
orMultiSelect
. This will change when I create required fields in TALL-forms - Review generated code, it's not perfect :)
- tall-forms >= v7.8.4
- blueprint >= 1.20
- Install Laravel, Livewire and TALL-forms
- Then install this package and Blueprint via composer:
composer require --dev tanthammar/tall-blueprint-addon
Refer to Blueprint's Basic Usage
to get started. Afterwards you can run the blueprint:build
command to
generate Tall-forms automatically. Try this example draft.yaml
file.
# draft.yaml
models:
Post:
author_id: id foreign:users
title: string:400
content: longtext
published_at: nullable timestamp
relationships:
HasMany: Comment
Comment:
post_id: id foreign
content: longtext
published_at: nullable timestamp
controllers:
Post:
index:
query: all
render: post.index with:posts
create:
render: post.create
store:
validate: title, content, author_id
save: post
dispatch: SyncMedia with:post
notify: post.author ReviewPost with:post
send: ReviewPost to:post.author with:post
flash: post.title
fire: NewPost with:post
redirect: post.index
update:
update: post
dispatch: SyncMedia with:post
destroy:
flash: post.title
send: SupportPostDeleted to:support with:post
delete: post
redirect: post.index
Comment:
resource
You may publish the configuration with the following command:
php artisan vendor:publish --tag=tall-blueprint-config
To disable the generation of timestamp
fields for all forms set this option to false
.
This is open source, I'll gladly accept every effort to contribute.
The MIT License (MIT). Please see License File for more information.