Added id column in hidden and updated_by name updated on every control afterStateUpdated and searchable() method added on select controls
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Gemini PR Review / Gemini PR Review (pull_request) Has been cancelled
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Has been cancelled
Laravel Larastan / larastan (pull_request) Has been cancelled
Laravel Pint / pint (pull_request) Has been cancelled

This commit is contained in:
dhanabalan
2026-02-16 12:39:29 +05:30
parent 7c086ceb28
commit 018c51b75b

View File

@@ -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(),
]);
}