From 5ccab502a4276288765a14868b985af989aed189 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Sat, 19 Apr 2025 12:13:13 +0530 Subject: [PATCH] Added panel box code, material type, bundle quantity validations --- .../Resources/StickerMasterResource.php | 96 +++++++++++++++++-- 1 file changed, 87 insertions(+), 9 deletions(-) diff --git a/app/Filament/Resources/StickerMasterResource.php b/app/Filament/Resources/StickerMasterResource.php index b923a74..7f16431 100644 --- a/app/Filament/Resources/StickerMasterResource.php +++ b/app/Filament/Resources/StickerMasterResource.php @@ -161,11 +161,15 @@ class StickerMasterResource extends Resource Forms\Components\TextInput::make('panel_box_code') ->label('Panel Box Code') + ->readOnly(fn (callable $get) => $get('material_type')) ->nullable(), Forms\Components\TextInput::make('load_rate') ->label('Load Rate') ->default(0) + ->disabled(function ($get) { + return $get('material_type'); + }) ->integer() ->nullable(), @@ -173,28 +177,55 @@ class StickerMasterResource extends Resource Forms\Components\Select::make('material_type') ->label('Material Type') ->options([ - 'individual' => '1', - 'bundle' => '2', - ]), + '1' => 'Individual', + '2' => 'Bundle', + ]) + ->reactive() + ->afterStateUpdated(function ($state, callable $set, callable $get) { - Forms\Components\TextInput::make('bundle_quantity') + if ($state) + { + $set('panel_box_code', null); + $set('load_rate', 0); + } + + if ($state !== "2") + { + $set('bundle_quantity', null); + } + else + { + $set('bundle_quantity', 1); + } + //$plantId = $get('plant_id'); + }) + ->nullable(), + + Forms\Components\TextInput::make('bundle_quantity') ->label('Bundle Quantity') ->integer() + ->readOnly(fn (callable $get) => $get('material_type') !== "2") ->nullable(), Forms\Components\Checkbox::make('serial_number_motor') ->reactive() + ->disabled(function ($get) { + return $get('serial_number_pumpset'); + }) ->afterStateUpdated(function ($state, callable $set,callable $get) { if ($get('serial_number_pumpset')) { $set('serial_number_motor', false); } - }) + }) ->dehydrateStateUsing(fn ($state): mixed => $state ? $state : null), Forms\Components\Checkbox::make('serial_number_pump') ->reactive() + ->disabled(function ($get) { + return $get('serial_number_pumpset'); + }) ->afterStateUpdated(function ($state, callable $set,callable $get) { if ($get('serial_number_pumpset')) { @@ -204,13 +235,24 @@ class StickerMasterResource extends Resource ->dehydrateStateUsing(fn ($state) => $state ? $state : null), Forms\Components\Checkbox::make('serial_number_pumpset') - ->disabled(function ($get) { - return $get('serial_number_motor') || $get('serial_number_pump'); - }) - ->dehydrateStateUsing(fn ($state) => $state ? $state : null), + ->reactive() + ->disabled(function ($get) { + return $get('serial_number_motor') || $get('serial_number_pump'); + }) + ->afterStateUpdated(function ($state, callable $set,callable $get) { + if ($get('serial_number_pumpset')) + { + $set('serial_number_motor', false); + $set('serial_number_pump', false); + } + }) + ->dehydrateStateUsing(fn ($state) => $state ? $state : null), Forms\Components\Checkbox::make('pack_slip_motor') ->reactive() + ->disabled(function ($get) { + return $get('pack_slip_pumpset'); + }) ->afterStateUpdated(function ($state, callable $set,callable $get) { if ($get('pack_slip_pumpset')) { @@ -221,6 +263,9 @@ class StickerMasterResource extends Resource Forms\Components\Checkbox::make('pack_slip_pump') ->reactive() + ->disabled(function ($get) { + return $get('pack_slip_pumpset'); + }) ->afterStateUpdated(function ($state, callable $set,callable $get) { if ($get('pack_slip_pumpset')) { @@ -234,10 +279,20 @@ class StickerMasterResource extends Resource ->disabled(function ($get) { return $get('pack_slip_motor') || $get('pack_slip_pump'); }) + ->afterStateUpdated(function ($state, callable $set,callable $get) { + if ($get('pack_slip_pumpset')) + { + $set('pack_slip_motor', false); + $set('pack_slip_pump', false); + } + }) ->dehydrateStateUsing(fn ($state) => $state ? $state : null), Forms\Components\Checkbox::make('name_plate_motor') ->reactive() + ->disabled(function ($get) { + return $get('name_plate_pumpset'); + }) ->afterStateUpdated(function ($state, callable $set,callable $get) { if ($get('name_plate_pumpset')) { @@ -248,6 +303,9 @@ class StickerMasterResource extends Resource Forms\Components\Checkbox::make('name_plate_pump') ->reactive() + ->disabled(function ($get) { + return $get('name_plate_pumpset'); + }) ->afterStateUpdated(function ($state, callable $set,callable $get) { if ($get('name_plate_pumpset')) { @@ -260,11 +318,21 @@ class StickerMasterResource extends Resource ->reactive() ->disabled(function ($get) { return $get('name_plate_motor') || $get('name_plate_pump'); + }) + ->afterStateUpdated(function ($state, callable $set,callable $get) { + if ($get('name_plate_pumpset')) + { + $set('name_plate_motor', false); + $set('name_plate_pump', false); + } }) ->dehydrateStateUsing(fn ($state) => $state ? $state : null), Forms\Components\Checkbox::make('tube_sticker_motor') ->reactive() + ->disabled(function ($get) { + return $get('tube_sticker_pumpset'); + }) ->afterStateUpdated(function ($state, callable $set,callable $get) { if ($get('tube_sticker_pumpset')) { @@ -275,6 +343,9 @@ class StickerMasterResource extends Resource Forms\Components\Checkbox::make('tube_sticker_pump') ->reactive() + ->disabled(function ($get) { + return $get('tube_sticker_pumpset'); + }) ->afterStateUpdated(function ($state, callable $set,callable $get) { if ($get('tube_sticker_pumpset')) { @@ -288,6 +359,13 @@ class StickerMasterResource extends Resource ->reactive() ->disabled(function ($get) { return $get('tube_sticker_motor') || $get('tube_sticker_pump'); + }) + ->afterStateUpdated(function ($state, callable $set,callable $get) { + if ($get('tube_sticker_pumpset')) + { + $set('tube_sticker_motor', false); + $set('tube_sticker_pump', false); + } }) ->dehydrateStateUsing(fn ($state) => $state ? $state : null), //to pass null value