Skip to content

A customizable resource import card for laravel nova

License

Notifications You must be signed in to change notification settings

digitalunityca/nova-import-card

 
 

Repository files navigation

A card which lets you batch import resources

Latest Stable Version Total Downloads Latest Unstable Version License StyleCI TravisCi codecov

A customizable import card for laravel nova. This package is more or less just a UI for laravel-excel import. It is however not an official package from Maatwebsite.

Nova Import Card Screenshot

Installation

You can install the package in to a Laravel app that uses Nova via composer:

composer require sparclex/nova-import-card

Next up, you must register the card. This is typically done in the card method of the corresponding resource or the NovaServiceProvider.

// in app/Providers/NovaServiceProvider.php or app/Nova/<Resource>.php

// ...

public function card()
{
    return [
        // ...
        new \Sparclex\NovaImportCard\NovaImportCard(\App\Nova\User::class),
    ];
}

Customization

To customize the import process create a new importer class. The importer class is basically just an import implementation of the laravel-excel package. The easiest way to get started is to extend Sparclex\NovaImportCard\BasicImporter and overwrite the different methods. During the import process you may throw an exception of the type Sparclex\NovaImportCard\ImportException with an error message visible for the user. You may also add a message(): String method to customize the success message.

The custom importer class can be registered on global or resource basis.

// app/Nova/User.php

class User extends Resource
{

    public static $importer = CustomImporter::class;
    
    // ...
}

// or app/config/nova-import-card.php

return [
    'importer' => CustomImporter::class,
    
    // ...
]

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

License

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

About

A customizable resource import card for laravel nova

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 82.6%
  • Vue 16.3%
  • Other 1.1%