From 018c51b75b1ac4e29d4090d5299706b0e5693947 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Mon, 16 Feb 2026 12:39:29 +0530 Subject: [PATCH] Added id column in hidden and updated_by name updated on every control afterStateUpdated and searchable() method added on select controls --- .../ProductCharacteristicsMasterResource.php | 49 +++++++++++++++++-- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/app/Filament/Resources/ProductCharacteristicsMasterResource.php b/app/Filament/Resources/ProductCharacteristicsMasterResource.php index 2396211..f8b713d 100644 --- a/app/Filament/Resources/ProductCharacteristicsMasterResource.php +++ b/app/Filament/Resources/ProductCharacteristicsMasterResource.php @@ -43,11 +43,15 @@ class ProductCharacteristicsMasterResource extends Resource Forms\Components\Select::make('plant_id') ->label('Plant') ->relationship('plant', 'name') + ->searchable() ->options(function (callable $get) { $userHas = Filament::auth()->user()->plant_id; return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::orderBy('code')->pluck('name', 'id')->toArray(); }) + ->afterStateUpdated(function ($state, callable $set) { + $set('updated_by', Filament::auth()->user()?->name); + }) ->reactive() ->required(), Forms\Components\Select::make('item_id') @@ -63,10 +67,14 @@ class ProductCharacteristicsMasterResource extends Resource return \App\Models\Item::where('plant_id', $plantId)->pluck('code', 'id'); }) + ->afterStateUpdated(function ($state, callable $set) { + $set('updated_by', Filament::auth()->user()?->name); + }) ->required(), Forms\Components\Select::make('line_id') ->label('Line') ->reactive() + ->searchable() ->options(function (callable $get) { $plantId = $get('plant_id'); if (empty($plantId)) { @@ -77,10 +85,10 @@ class ProductCharacteristicsMasterResource extends Resource }) ->afterStateUpdated(function ($state, callable $set, callable $get) { $set('machine_id', null); - if (! $get('work_group_master_id')) { $set('machine_id', null); } + $set('updated_by', Filament::auth()->user()?->name); }) ->required(), // ->relationship('line', 'name'), @@ -88,6 +96,7 @@ class ProductCharacteristicsMasterResource extends Resource ->label('Group Work Center') ->required() ->reactive() + ->searchable() ->options(function (callable $get) { if (! $get('plant_id') || ! $get('line_id')) { return []; @@ -107,6 +116,7 @@ class ProductCharacteristicsMasterResource extends Resource ->disabled(fn (Get $get) => ! empty($get('id'))) ->afterStateUpdated(function ($state, callable $set, callable $get) { $lineId = $get('line_id'); + $set('updated_by', Filament::auth()->user()?->name); if (! $lineId) { $set('mGroupWorkError', 'Please select a line first.'); $set('machine_id', null); @@ -133,8 +143,8 @@ class ProductCharacteristicsMasterResource extends Resource Forms\Components\Select::make('machine_id') ->label('Work Center') // ->relationship('machine', 'name'), - ->searchable() ->reactive() + ->searchable() ->options(function (callable $get) { $plantId = $get('plant_id'); $lineId = $get('line_id'); @@ -153,6 +163,7 @@ class ProductCharacteristicsMasterResource extends Resource if (! $get('plant_id') || ! $get('line_id') || ! $get('work_group_master_id')) { $set('machine_id', null); } + $set('updated_by', Filament::auth()->user()?->name); }) ->required(), Forms\Components\Select::make('characteristics_type') @@ -162,16 +173,30 @@ class ProductCharacteristicsMasterResource extends Resource 'Process' => 'Process', ]) ->reactive() + ->searchable() + // ->preload() + ->afterStateUpdated(function ($state, callable $set) { + $set('updated_by', Filament::auth()->user()?->name); + }) ->required(), Forms\Components\TextInput::make('name') - ->label('Name'), + ->label('Name') + ->reactive() + ->afterStateUpdated(function ($state, callable $set) { + $set('updated_by', Filament::auth()->user()?->name); + }), Forms\Components\Select::make('inspection_type') ->label('Inspection Type') + ->searchable() ->options([ 'Visual' => 'Visual', 'Value' => 'Value', ]) ->reactive() + // ->preload() + ->afterStateUpdated(function ($state, callable $set) { + $set('updated_by', Filament::auth()->user()?->name); + }) ->required(), // Forms\Components\Select::make('result') // ->label('Visual Type') @@ -197,7 +222,11 @@ class ProductCharacteristicsMasterResource extends Resource ->default(0.0) ->minValue(0.0) ->maxValue(fn (Get $get) => $get('upper') ?? PHP_INT_MAX) - ->afterStateUpdated(fn ($state, callable $set, callable $get) => $set('middle', ($state + $get('upper')) / 2)) + // ->afterStateUpdated(fn ($state, callable $set, callable $get) => $set('middle', ($state + $get('upper')) / 2)) + ->afterStateUpdated(function ($state, callable $set, callable $get) { + $set('middle', ($state + $get('upper')) / 2); + $set('updated_by', Filament::auth()->user()?->name); + }) ->visible(fn (callable $get) => $get('inspection_type') == 'Value'), Forms\Components\TextInput::make('upper') ->label('Upper') @@ -206,7 +235,11 @@ class ProductCharacteristicsMasterResource extends Resource ->default(0.0) ->minValue(fn (Get $get) => $get('lower') ?? 0) ->maxValue(PHP_INT_MAX) - ->afterStateUpdated(fn ($state, callable $set, callable $get) => $set('middle', ($get('lower') + $state) / 2)) + // ->afterStateUpdated(fn ($state, callable $set, callable $get) => $set('middle', ($get('lower') + $state) / 2)) + ->afterStateUpdated(function ($state, callable $set, callable $get) { + $set('middle', ($get('lower') + $state) / 2); + $set('updated_by', Filament::auth()->user()?->name); + }) ->visible(fn (callable $get) => $get('inspection_type') == 'Value'), Forms\Components\TextInput::make('middle') ->label('Middle') @@ -228,12 +261,18 @@ class ProductCharacteristicsMasterResource extends Resource // }; // }) ->dehydrateStateUsing(fn ($state, Get $get) => ($get('lower') + $get('upper')) / 2) + ->afterStateUpdated(function ($state, callable $set) { + $set('updated_by', Filament::auth()->user()?->name); + }) ->visible(fn (callable $get) => $get('inspection_type') == 'Value'), Forms\Components\Hidden::make('created_by') ->label('Created By') ->default(Filament::auth()->user()?->name), Forms\Components\Hidden::make('updated_by') ->label('Updated By'), + Forms\Components\TextInput::make('id') + ->hidden() + ->readOnly(), ]); }