sweet1s / moonshine-filemanager
Moonshine File Manager is a Laravel package that provides a simple way to manage files and folders in your Laravel application.
Requires
- php: ^8.1|^8.2|^8.3
- ext-curl: *
- ext-json: *
Requires (Dev)
- brianium/paratest: ^6.8
- mockery/mockery: ^1.4.4
- moonshine/moonshine: ^2.0
- orchestra/testbench: ^4.0|^5.0|^6.0|^7.0|^8.0
- phpstan/phpstan: ^1.4.7
- phpunit/phpunit: ^9.5.8
- unisharp/laravel-filemanager: ^2.7
This package is auto-updated.
Last update: 2024-12-20 10:53:56 UTC
README
Description
This package is an extension exclusively designed for the MoonShine Admin Panel, building upon the functionality of the UniSharp Laravel FileManager package. This package introduces a user-friendly interface for managing files and images, allowing admins to easily upload, organize, and handle media directly within the admin panel.
Requirements
Moonshine: v2.0+
UniSharp laravel-filemanager: v2.7+
Features
- Intuitive File Management: Provides a simple and intuitive UI for managing files and images.
- Seamless Integration with Moonshine Admin Panel: Designed to integrate flawlessly with the Moonshine Admin Panel.
- Image Upload and Organization: Facilitates easy upload and organization of images.
- File Handling: Supports various file operations such as upload, delete, and rename.
Installation
-
Install the UniSharp Laravel FileManager package and follow the instructions in the documentation to set up the package correctly.
-
Install the package via composer:
composer require sweet1s/moonshine-filemanager
Usage
- For Resource, add the following: (In the screenshot you can see methods that can be used for File Manager, other methods that come from Field File do not work.)
// ... use Sweet1s\MoonshineFileManager\FileManager; use Sweet1s\MoonshineFileManager\FileManagerTypeEnum; class PostResource extends ModelResource { public function fields(): array { return [ Block::make('Contact information', [ // ... FileManager::make('Image', 'images') ->typeOfFileManager(FileManagerTypeEnum::File) // By default is FileManagerTypeEnum::Image ->title('Media Manager') // By default, is 'File Manager' ->allowedExtensions(['pdf', 'doc', 'txt']) // By default, all extensions are allowed ->removable() // By default is false ]), ]; } }
- All fields to be used as filemanager must be under the cast collection
protected $casts = [ 'images' => 'collection', ]; //or protected function casts(): array { return [ 'images' => 'collection', ]; }