MoonShine MoonShine
EN
← All plugins

MoonShine FileManager

File Manager integration for MoonShine Laravel admin panel. This package extends UniSharp's Laravel FileManager to provide a user-friendly media management interface within MoonShine. Features include drag-and-drop uploads, file organization, image preview, customizable file type restrictions, and seamless integration with MoonShine's existing field system.

Rating
Downloads
226
Version
1.1.0
Last updated
29.12.2024
MoonShine version
v1, v2, v3
Github stars
12
Andrei Balan
Author
Andrei Balan

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