Filament Json Field is a Laravel Filament JSON Field integration with CodeMirror support, providing a powerful and feature-rich JSON editor for your Filament forms and infolists.
Package | PHP | Laravel | Filament Forms | Filament Infolists | Filament Support |
---|---|---|---|---|---|
v13.0 (alpha) | ^8.3, ^8.4 | ^13.0 | ^4.0 | ^4.0 | ^4.0 |
v12.0 | ^8.2, ^8.3, ^8.4 | ^12.0 | ^3.3 | ^3.3 | ^3.3 |
v2.0 | ^8.1 | ^11.0 | ^3.2 | ^3.2 | ^3.2 |
v1.0 | ^8.1 | ^10.45, ^11.0 | ^3.2 | ^3.2 | ^3.2 |
You can install the package via composer:
composer require codebar-ag/filament-json-field
php artisan filament:assets
use CodebarAg\FilamentJsonField\Forms\Components\JsonInput;
...
public function form(Form $form): Form
{
return $form
->schema([
JsonInput::make('json')
->label('JSON Data')
->lineNumbers(true)
->lineWrapping(true)
->autoCloseBrackets(true)
->darkTheme(true)
->foldingCode(true)
->foldedCode(true) // Folded code will fold the code on form load
->readOnly(false), // Set to true to make the field read-only
]);
}
use CodebarAg\FilamentJsonField\Infolists\Components\JsonEntry;
...
public function infolist(Infolist $infolist): Infolist
{
return $infolist
->schema([
JsonEntry::make('json')
->label('JSON Data')
->lineNumbers(true)
->lineWrapping(true)
->autoCloseBrackets(true)
->darkTheme(true)
->foldingCode(true)
->foldedCode(true), // Folded code will fold the code on form load
]);
}
The following options are currently supported:
Option | Supported | Description |
---|---|---|
Line Numbers | β | Display line numbers in the editor |
Line Wrapping | β | Enable line wrapping for long lines |
Auto Close Brackets | β | Automatically close brackets and quotes |
Dark Theme | β | Enable dark theme styling |
Folding Code | β | Enable code folding functionality |
Folded Code | β | Start with code folded (forms only) |
Read Only | β | Make the field read-only (forms only) |
- CodeMirror Integration: Powered by CodeMirror 5 for excellent JSON editing experience
- Syntax Highlighting: Full JSON syntax highlighting with validation
- Error Handling: Built-in JSON validation with user-friendly error messages
- Responsive Design: Works seamlessly across different screen sizes
- Customizable: Extensive configuration options for different use cases
- Filament 4.0 Ready: Fully compatible with the latest Filament version
Copy your own phpunit.xml-file.
cp phpunit.xml.dist phpunit.xml
Run the tests:
./vendor/bin/pest
node bin/build
Note: there is no output, but the build will be in the dist
directory.
Please see CHANGELOG for recent changes.
Please see CONTRIBUTING for details.
composer test
./vendor/bin/pint
Please review our security policy on reporting security vulnerabilities.
- Rhys Lees
- Sebastian Fix
- All Contributors
- Skeleton Repository from Spatie
- Laravel Package Training from Spatie
The MIT License (MIT). Please have a look at License File for more information.