PHP code example of iperamuna / filament-ace-editor
1. Go to this page and download the library: Download iperamuna/filament-ace-editor 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/ */
iperamuna / filament-ace-editor example snippets
use Iperamuna\FilamentAceEditor\AceEditor;
AceEditor::make('content')
->label('Code Editor')
->mode('php')
->theme('monokai')
->minLines(20)
->maxLines(50);
AceEditor::make('script_content')
->label('Shell Script')
->hint(fn ($state) => new HtmlString(
view('components.copy-button', ['content' => $state])->render()
))
->mode('sh')
->theme('monokai')
->minLines(20)
->maxLines(30)
// Toggleable edit/read-only mode
->toggleable(true)
// Control initial read-only state
->defaultReadOnly(fn ($livewire) => $livewire->getRecord() !== null)
// Add extensions
->addExtension('searchbox')
// Custom editor options
->options([
'tabSize' => 2,
'showPrintMargin' => false,
'enableBasicAutocompletion' => true,
]);
use Iperamuna\FilamentAceEditor\AceEditorEntry;
AceEditorEntry::make('content')
->label('Script Content')
->mode('sh')
->theme('monokai')
->minLines(15)
->maxLines(50);
// Always read-only initially
AceEditor::make('config')
->defaultReadOnly(true);
// Read-only when editing existing records, editable when creating new ones
AceEditor::make('script_content')
->defaultReadOnly(fn ($livewire) => $livewire->getRecord() !== null);
// Custom logic based on user permissions
AceEditor::make('sensitive_data')
->defaultReadOnly(fn ($livewire) => !auth()->user()->can('edit', $livewire->getRecord()));
// Disable read-only mode entirely
AceEditor::make('content')
->defaultReadOnly(false);
// Light theme for day work
AceEditor::make('content')
->theme('github');
// Dark theme for night owls
AceEditor::make('content')
->theme('monokai');
AceEditor::make('content')
->toggleable(true) // Shows EDIT/DONE toggle button
->defaultReadOnly(true); // Starts in read-only mode
AceEditor::make('content')
->minLines(10) // Minimum editor height
->maxLines(50); // Maximum editor height
AceEditor::make('content')
->addExtension('searchbox')
->addExtension('beautify')
->addExtension('language_tools');
return [
'base_url' => 'https://cdnjs.cloudflare.com/ajax/libs/ace/1.32.7',
'editor_options' => [
'enableBasicAutocompletion' => true,
'enableLiveAutocompletion' => true,
'enableSnippets' => true,
'showPrintMargin' => true,
'highlightActiveLine' => true,
'displayIndentGuides' => true,
],
'enabled_extensions' => [
'language_tools',
'beautify',
'searchbox',
],
];
bash
php artisan vendor:publish --tag="filament-ace-editor-config"
bash
php artisan vendor:publish --tag="filament-ace-editor-views"
bash
php artisan vendor:publish --tag="filament-ace-editor-config"