diff --git a/app/Filament/Resources/CharacteristicApproverMasterResource.php b/app/Filament/Resources/CharacteristicApproverMasterResource.php index bfb36c2..3677d3d 100644 --- a/app/Filament/Resources/CharacteristicApproverMasterResource.php +++ b/app/Filament/Resources/CharacteristicApproverMasterResource.php @@ -2,6 +2,7 @@ namespace App\Filament\Resources; +use App\Filament\Exports\CharacteristicApproverMasterExporter; use App\Filament\Resources\CharacteristicApproverMasterResource\Pages; use App\Models\CharacteristicApproverMaster; use App\Models\Machine; @@ -11,6 +12,8 @@ use Filament\Forms\Components\Section; use Filament\Forms\Form; use Filament\Resources\Resource; use Filament\Tables; +use Filament\Tables\Actions\ExportAction; +use Filament\Tables\Actions\ImportAction; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; @@ -34,10 +37,13 @@ class CharacteristicApproverMasterResource extends Resource ->columnSpan(2) ->reactive() ->relationship('plant', 'name') + ->required() + ->default(function () { + return optional(CharacteristicApproverMaster::latest()->first())->plant_id; + }) ->afterStateUpdated(function ($state, callable $set) { $set('updated_by', Filament::auth()->user()?->name); - }) - ->required(), + }), Forms\Components\Select::make('machine_id') ->label('Work Center') ->columnSpan(2) @@ -52,19 +58,28 @@ class CharacteristicApproverMasterResource extends Resource return Machine::where('plant_id', $plantId)->pluck('work_center', 'id'); }) + ->required() + ->default(function () { + return optional(CharacteristicApproverMaster::latest()->first())->machine_id ?? []; + }) ->afterStateUpdated(function ($state, callable $set) { $set('updated_by', Filament::auth()->user()?->name); - }) - ->required(), + }), Forms\Components\TextInput::make('characteristic_field') - ->label('Characteristic Field') + ->label('Master Characteristic Field') ->columnSpan(2) + ->required() + ->default('NIL') ->afterStateUpdated(function ($state, callable $set) { $set('updated_by', Filament::auth()->user()?->name); }), Forms\Components\TextInput::make('machine_name') ->label('Machine') ->columnSpan(2) + ->required() + ->default(function () { + return optional(CharacteristicApproverMaster::latest()->first())->machine_name ?? ''; + }) ->afterStateUpdated(function ($state, callable $set) { $set('updated_by', Filament::auth()->user()?->name); }), @@ -173,7 +188,7 @@ class CharacteristicApproverMasterResource extends Resource ->searchable() ->sortable(), Tables\Columns\TextColumn::make('characteristic_field') - ->label('Characteristic Field') + ->label('Master Characteristic Field') ->alignCenter() ->searchable() ->formatStateUsing(fn (string $state): string => strtoupper(__($state))) @@ -271,6 +286,22 @@ class CharacteristicApproverMasterResource extends Resource Tables\Actions\ForceDeleteBulkAction::make(), Tables\Actions\RestoreBulkAction::make(), ]), + ]) + ->headerActions([ + // ImportAction::make() + // ->label('Import Request Characteristics') + // ->color('warning') + // ->importer(CharacteristicApproverMasterImporter::class) + // ->visible(function () { + // return Filament::auth()->user()->can('view import characteristic approver master'); + // }), + ExportAction::make() + ->label('Export Request Characteristics') + ->color('warning') + ->exporter(CharacteristicApproverMasterExporter::class) + ->visible(function () { + return Filament::auth()->user()->can('view export characteristic approver master'); + }), ]); }