Skip to content

forest-lynx/moonshine-filemanager

 
 

Repository files navigation

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.

Total Downloads Latest Stable Version License

Laravel 10+ PHP 8+ Moonshine 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

  1. Install the UniSharp Laravel FileManager package and follow the instructions in the documentation to set up the package correctly.

  2. Install the package via composer:

composer require sweet1s/moonshine-filemanager

Usage

  1. 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
            ]),
        ];
    }
}
  1. 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',
    ];
}

How does it look in the Admin Panel ?

How does it look in the Admin Panel How does it look in the Admin Panel Opened

About

File Manager in Laravel Moonshine Admin Panel

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 60.7%
  • Blade 39.3%