Zum Inhalt springen
← Zurück zu den Projekten

Blueprint Nova Addon

#Blueprint Nova Addon

Build Status Total Downloads

:mega: Shoutout to Jason McCreary whose Blueprint package lays the groundwork for this small addon. Thank you Jason :raised_hands:

Installing this addon will allow you to generate your Nova resources with the php artisan blueprint:build command.

#Installation

You can install this package and Blueprint via composer:

composer require --dev naoray/blueprint-nova-addon

:warning: You need to have laravel nova installed in order for the resource generation to take place!

#Usage

Refer to Blueprint's Basic Usage to get started. Afterwards you can run the blueprint:build command to generate Nova resources automatically. To get an idea of how easy it is you can use the example draft.yaml file below.

# 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

From these 13 lines of YAML, this addon will generate 2 Nova resources which are pre-filled with 14 fields.

// App/Nova/Comment.php
public function fields(Request $request)
{
    return [
        ID::make()->sortable(),

        Textarea::make('Content')
            ->rules('required', 'string'),

        DateTime::make('Published at'),

        BelongsTo::make('Post'),

        DateTime::make('Created at'),
        DateTime::make('Updated at'),
    ];
}

// App/Nova/Post.php
public function fields(Request $request)
{
    return [
        ID::make()->sortable(),

        Text::make('Title')
            ->rules('required', 'string', 'max:400'),

        Textarea::make('Content')
            ->rules('required', 'string'),

        DateTime::make('Published at'),

        BelongsTo::make('Author', 'author', User::class),

        HasMany::make('Comments'),

        DateTime::make('Created at'),
        DateTime::make('Updated at'),
    ];
}

#Configuration

You may publish the configuration with the following command:

php artisan vendor:publish --tag=nova_blueprint

#Timestamp fields

To disable the generation of timestamp fields for all Nova resources set this option to false.

#Testing

composer test

#Changelog

Please see CHANGELOG for more information what has changed recently.

#Contributing

Please see CONTRIBUTING for details.

#Security

If you discover any security related issues, please email krishan.koenig@gmail.com instead of using the issue tracker.

#Credits

#License

The MIT License (MIT). Please see License File for more information.

Neue Version verfügbar.