laravel-backpack-dropzone-field maintained by julienmru
Description
Add Dropzone support for Laravel Backpack
Authors
Last update
2023/08/25 11:41
(dev-master)
License
Downloads
28
Backpack Dropzone field
Add Dropzone support for Laravel Backpack.
Requirements
Limitations
Currently, you can only manage media while editing an entry.
Install
Via Composer
composer require julienmru/laravel-backpack-dropzone-field
Publish assets:
php artisan julienmru:backpackdropzonefield:install
Usage
EntityCrudController
For simplicity add the HandleAjaxMedia trait to all EntityCrudController.
<?php
...
use JulienMru\BackpackDropzoneField\Traits\HandleAjaxMedia;
...
class EntityCrudController extends CrudController
{
...
use HandleAjaxMedia;
...
}
Routes
In your routes file, you have to add additionals routes.
<?php
...
Route::crud('entity', 'EntityCrudController')
Route::post('entity/{id}/media', 'EntityCrudController@uploadMedia');
Route::delete('entity/{id}/media/{mediaId}', 'EntityCrudController@deleteMedia');
Route::post('entity/{id}/media/reorder', 'EntityCrudController@reorderMedia');
...
Field
[
...
'type' => 'dropzone_media',
'collection' => 'photos', // Media collection where files are added to
'thumb_collection' => 'thumbs', // Media collection where thumb are displayed from. If not set, 'collection' is used by default
'options' => [
... // Dropzone options
]
...
]
Example:
<?php
...
$this->crud->operation(['update'], function() {
$this->crud->addField([
'label' => 'Photos',
'type' => 'dropzone_media',
'name' => 'photos',
'collection' => 'photos',
'thumb_collection' => 'thumbs',
'options' => [
'thumbnailHeight' => 120,
'thumbnailWidth' => 120,
'maxFilesize' => 10,
'addRemoveLinks' => true,
'createImageThumbnails' => true,
],
]);
});
...
Change log
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email mail@julien.expert instead of using the issue tracker.
Credits
- Adrian Sacchi
- [Julien Tessier][https://github.com/julienmru]
- All Contributors
License
The MIT License (MIT). Please see License File for more information.