amidesfahani/filament-tinyeditor
Pros:
Filament\Forms\Components\Field).public disk), aligning with Filament’s media management patterns.Cons:
| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Filament version lock | High | Pin to exact Filament minor version (e.g., 5.0.x). |
| Asset conflicts | Medium | Use --force in vendor:publish if needed. |
| TinyMCE config errors | Medium | Test profiles in staging; validate custom_configs. |
| File upload permissions | Medium | Ensure fileAttachmentsDisk has proper storage permissions. |
| RTL/LTR bugs | Low | Test with target languages pre-deployment. |
Filament Version Strategy:
^4.0.paste_from_word) require additional licensing?Media Handling:
spatie/laravel-medialibrary) that could conflict?Performance:
Customization Needs:
table or spellchecker)?tinymce.activeEditor)?Fallback Strategy:
Assessment Phase:
TextInput, RichEditor, or MarkdownEditor.Pilot Implementation:
default profile:
TinyEditor::make('content')
->profile('default')
->required();
Gradual Rollout:
TextInput/RichEditor fields incrementally.simple for comments).Optimization:
fileAttachmentsDirectory).| Component | Compatibility Notes |
|---|---|
| Filament 5.x | Native support; use ^5.0. |
| Filament 4.x | Supported but may lag; use ^4.0. |
| Laravel 12.x | Required for v5.x; v4.x works with Laravel 11.x. |
| PHP 8.2+ | Mandatory for v5.x; v3.x supports PHP 8.1+. |
| Livewire 3 | Optimized for Filament’s Livewire integration. |
| Alpine.js | Used for modal handling; conflicts unlikely unless custom Filament overrides exist. |
| TinyMCE 7.x | Core editor; external plugins may require manual JS includes. |
Prerequisites:
storage/app/public).Installation:
composer require amidesfahani/filament-tinyeditor:^5.0
php artisan vendor:publish --provider="AmidEsfahani\FilamentTinyEditor\TinyeditorServiceProvider" --tag="config"
php artisan vendor:publish --provider="AmidEsfahani\FilamentTinyEditor\TinyeditorServiceProvider" --tag="public"
Configuration:
config/filament-tinyeditor.php for profiles, RTL, or upload paths.custom profile for a minimal toolbar:
'custom' => [
'plugins' => 'link lists',
'toolbar' => 'bold italic | bullist numlist | link',
],
Usage:
TextInput with TinyEditor in Filament resources:
use AmidEsfahani\FilamentTinyEditor\TinyEditor;
TinyEditor::make('description')
->profile('custom')
->columnSpan('full');
Testing:
Deployment:
php artisan view:clear) if issues arise.public tag in vendor:publish.fileAttachmentsDisk.direction config is set to rtl.How can I help you explore Laravel packages today?