<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
kapital-online / filament-form-components example snippets
// Önce
use Filament\Forms\Components\Select;
// Sonra
use Kapital\Filament\FormComponents\Components\Select;
// Kullanım tamamen aynı
Select::make('field_name')
->options([
'1' => 'Seçenek 1',
'2' => 'Seçenek 2',
'3' => 'Seçenek 3',
])
->multiple()
->disableOptionWhen(fn ($value) => $value === '2')
use Kapital\Filament\FormComponents\Tables\Concerns\InteractsWithMasterDetailTable;
class ListOverduePaymentPlanReports extends ListRecords
{
use InteractsWithMasterDetailTable;
}
use Kapital\Filament\FormComponents\Components\Select;
use App\Models\Tag;
Select::make('tags')
->label('Sipariş Etiketleri')
->relationship('tags', 'name')
->multiple()
->disableOptionWhen(function ($value) {
// Sistem etiketlerini devre dışı bırak - kaldırılamazlar
return Tag::find($value)?->is_system ?? false;
})
->selectAllOption() // "Tümünü Seç" butonu (disabled olanları atlar)
->deselectAllOption() // "Tümünü Temizle" butonu
->maxSelectable(5) // Sipariş başına maksimum 5 etiket
->minSelectable(1) // En az 1 etiket gerekli
->searchable()
->preload()
->helperText('Sistem etiketleri devre dışıdır ve değiştirilemez.')
use Kapital\Filament\FormComponents\Tables\Concerns\InteractsWithMasterDetailTable;
class ListOverduePaymentPlanReports extends ListRecords
{
use InteractsWithMasterDetailTable;
}
use Kapital\Filament\FormComponents\Components\Select;
use App\Models\Tag;
Select::make('tags')
->label('Order Tags')
->relationship('tags', 'name')
->multiple()
->disableOptionWhen(function ($value) {
// Disable system tags - they cannot be removed
return Tag::find($value)?->is_system ?? false;
})
->selectAllOption() // "Select All" button (skips disabled ones)
->deselectAllOption() // "Clear All" button
->maxSelectable(5) // Maximum 5 tags per order
->minSelectable(1) // At least 1 tag