PHP code example of elegantly / filament-media-plugin

1. Go to this page and download the library: Download elegantly/filament-media-plugin library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

elegantly / filament-media-plugin example snippets


use Filament\Forms\Components\ElegantlyMediaFileUpload;

ElegantlyMediaFileUpload::make('avatar')

use Filament\Forms\Components\ElegantlyMediaFileUpload;

ElegantlyMediaFileUpload::make('avatar')
    ->collection('avatars')

use Filament\Forms\Components\ElegantlyMediaFileUpload;

ElegantlyMediaFileUpload::make('attachment')
    ->disk('s3')

use Filament\Forms\Components\ElegantlyMediaFileUpload;

ElegantlyMediaFileUpload::make('attachments')
    ->multiple()
    ->reorderable()

use Filament\Forms\Components\ElegantlyMediaFileUpload;

ElegantlyMediaFileUpload::make('attachments')
    ->multiple()
    ->metadata(['zip_filename_prefix' => 'folder/subfolder/'])

use Filament\Forms\Components\ElegantlyMediaFileUpload;

ElegantlyMediaFileUpload::make('attachments')
    ->conversion('thumb')

use Filament\Schemas\Components\Utilities\Get;
use Filament\Forms\Components\ElegantlyMediaFileUpload;
use Illuminate\Support\Collection;

ElegantlyMediaFileUpload::make('images')
    ->metadata(fn (Get $get): array => [
        'gallery_id' => $get('gallery_id'),
    ])
    ->filterMediaUsing(
        fn (Collection $media, Get $get): Collection => $media->where(
            'metadata.gallery_id',
            $get('gallery_id')
        ),
    )

use Filament\Forms\Components\RichEditor\FileAttachmentProviders\ElegantlyMediaFileAttachmentProvider;
use Filament\Forms\Components\RichEditor\Models\Concerns\InteractsWithRichContent;
use Filament\Forms\Components\RichEditor\Models\Contracts\HasRichContent;
use Illuminate\Database\Eloquent\Model;

class Post extends Model implements HasRichContent
{
    use InteractsWithRichContent;

    public function setUpRichContent(): void
    {
        $this->registerRichContent('content')
            ->fileAttachmentsProvider(ElegantlyMediaFileAttachmentProvider::make());
    }
}

use Filament\Forms\Components\RichEditor\FileAttachmentProviders\ElegantlyMediaFileAttachmentProvider;
use Filament\Forms\Components\RichEditor\Models\Concerns\InteractsWithRichContent;
use Filament\Forms\Components\RichEditor\Models\Contracts\HasRichContent;
use Illuminate\Database\Eloquent\Model;

class Post extends Model implements HasRichContent
{
    use InteractsWithRichContent;

    public function setUpRichContent(): void
    {
        $this->registerRichContent('content')
            ->fileAttachmentsProvider(
                ElegantlyMediaFileAttachmentProvider::make()
                    ->collection('content-file-attachments'),
            );
    }
}

use Filament\Tables\Columns\ElegantlyMediaImageColumn;

ElegantlyMediaImageColumn::make('avatar')

use Filament\Tables\Columns\ElegantlyMediaImageColumn;

ElegantlyMediaImageColumn::make('avatar')
    ->collection('avatars')

use Filament\Tables\Columns\ElegantlyMediaImageColumn;

ElegantlyMediaImageColumn::make('avatar')
    ->allCollections()

use Filament\Tables\Columns\ElegantlyMediaImageColumn;

ElegantlyMediaImageColumn::make('avatar')
    ->conversion('thumb')

use Filament\Tables\Columns\ElegantlyMediaImageColumn;
use Illuminate\Support\Collection;

ElegantlyMediaImageColumn::make('images')
    ->filterMediaUsing(
        fn (Collection $media): Collection => $media->where(
            'metadata.gallery_id',
            12345,
        ),
    )

use Filament\Infolists\Components\ElegantlyMediaImageEntry;

ElegantlyMediaImageEntry::make('avatar')

use Filament\Infolists\Components\ElegantlyMediaImageEntry;

ElegantlyMediaImageEntry::make('avatar')
    ->collection('avatars')

use Filament\Infolists\Components\ElegantlyMediaImageEntry;

ElegantlyMediaImageEntry::make('avatar')
    ->allCollections()

use Filament\Infolists\Components\ElegantlyMediaImageEntry;

ElegantlyMediaImageEntry::make('avatar')
    ->conversion('thumb')

use Filament\Tables\Columns\ElegantlyMediaImageEntry;
use Illuminate\Support\Collection;

ElegantlyMediaImageEntry::make('images')
    ->filterMediaUsing(
        fn (Collection $media): Collection => $media->where(
            'metadata.gallery_id',
            12345,
        ),
    )
bash
php artisan vendor:publish --tag="media-migrations"
bash
php artisan migrate