Refactor work group visibility logic in LineResource form

This commit is contained in:
dhanabalan
2025-11-15 17:02:44 +05:30
parent 41f9ec2990
commit b2ad2ef6ce

View File

@@ -20,6 +20,7 @@ use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope; use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Forms\Components\Section; use Filament\Forms\Components\Section;
use Filament\Forms\Set;
use Filament\Tables\Actions\ExportAction; use Filament\Tables\Actions\ExportAction;
use Illuminate\Validation\Rule; use Illuminate\Validation\Rule;
use Illuminate\Validation\Rules\Unique; use Illuminate\Validation\Rules\Unique;
@@ -192,9 +193,8 @@ class LineResource extends Resource
->placeholder('Scan the valid No Of Operatrion') ->placeholder('Scan the valid No Of Operatrion')
->afterStateUpdated(function (callable $set, callable $get, ?string $state) { ->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
$partValidationColumns = [ $partValidationColumns = [
'work_group1_id', 'work_group2_id', 'work_group3_id', 'work_group4_id', 'work_group1_id', 'work_group2_id', 'work_group3_id', 'work_group4_id', 'work_group5_id',
'work_group5_id', 'work_group6_id', 'work_group7_id', 'work_group8_id', 'work_group6_id', 'work_group7_id', 'work_group8_id', 'work_group9_id', 'work_group10_id',
'work_group9_id', 'work_group10_id',
]; ];
foreach ($partValidationColumns as $column) { foreach ($partValidationColumns as $column) {
@@ -202,6 +202,15 @@ class LineResource extends Resource
$set($column, null); $set($column, null);
} }
$partValidDispColumns = [
'work_group1_actual_id', 'work_group2_actual_id', 'work_group3_actual_id', 'work_group4_actual_id', 'work_group5_actual_id',
'work_group6_actual_id', 'work_group7_actual_id', 'work_group8_actual_id', 'work_group9_actual_id', 'work_group10_actual_id'
];
foreach ($partValidDispColumns as $column) {
$set($column, null);
}
if (is_numeric($state) && $state > 0) { if (is_numeric($state) && $state > 0) {
for ($i = 1; $i <= (int) $state; $i++) { for ($i = 1; $i <= (int) $state; $i++) {
$set("work_group{$i}_id_visible", true); $set("work_group{$i}_id_visible", true);
@@ -215,6 +224,17 @@ class LineResource extends Resource
}), }),
Forms\Components\Hidden::make('work_group1_id'), Forms\Components\Hidden::make('work_group1_id'),
// ->afterStateHydrated(function ($component, $state, Get $get, Set $set) {
// if ($get('id')) {
// $workGroupId = Line::where('id', $get('id'))->first()?->work_group1_id;
// if ($workGroupId) {
// $set('work_group1_id', $workGroupId);
// } else {
// $set('work_group1_id', null);
// }
// }
// }),
//->required(fn (callable $get) => $get('no_of_operation') >= 1),
Forms\Components\TextInput::make('work_group1_actual_id') Forms\Components\TextInput::make('work_group1_actual_id')
->label('Work Group Center 1') ->label('Work Group Center 1')