Home>Programming related>Other source code

you can attach global js or css file to the media manager by add this code to your provider

use TomatoPHPFilamentMediaManagerFacadeFilamentMediaManager;
use TomatoPHPFilamentMediaManagerServicesContractsMediaManagerType;


public function boot() {
     FilamentMediaManager::register([
        MediaManagerType::make('.pdf')
            ->js('https://mozilla.github.io/pdf.js/build/pdf.mjs'),
            ->css('https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.3.136/pdf_viewer.min.css'),
            ->icon('bxs-file-pdf')
            ->preview('media-manager.pdf'),
    ]);
}

please note that the name of the component will be the same name of the collection.

Allow Sub Folders

you can allow create and manage subfolders on your media manager on /app/Providers/Filament/AdminPanelProvider.php

->plugin(
    TomatoPHPFilamentMediaManagerFilamentMediaManagerPlugin::make()
        ->allowSubFolders()
)

Allow User Access

now you can allow user to access selected folder and restract user to access each other folders if the folder is not public on /app/Providers/Filament/AdminPanelProvider.php

->plugin(
    TomatoPHPFilamentMediaManagerFilamentMediaManagerPlugin::make()
        ->allowUserAccess()
)

now on your user model you can use this trait to allow user to access selected folder

use TomatoPHPFilamentMediaManagerTraitsInteractsWithMediaFolders;

class User extends Authenticatable
{
    use InteractsWithMediaFolders;
}

NOTE don't forget to migrate after update the plugin

Folders API

now you can access your media and folders using API you have 2 endpoints

to allow this feature you need to publish the config file by use this command

php artisan vendor:publish --tag="filament-media-manager-config"

then you can set api.active to true on the config file

true, ],">
'api' => [
    "active" => true,
],

Publish Assets

you can publish config file by use this command

php artisan vendor:publish --tag="filament-media-manager-config"

you can publish views file by use this command

php artisan vendor:publish --tag="filament-media-manager-views"

you can publish languages file by use this command

php artisan vendor:publish --tag="filament-media-manager-lang"

you can publish migrations file by use this command

php artisan vendor:publish --tag="filament-media-manager-migrations"

Other Filament Packages

Checkout our Awesome TomatoPHP

Expand
Additional Information