MoonShine FileManager
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
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]),];}}
// ...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', ];//orprotected function casts(): array{return ['images' => 'collection',];}
protected $casts = [ 'images' => 'collection', ];//orprotected function casts(): array{return ['images' => 'collection',];}
How does it look in the Admin Panel ?