diff --git a/app/Filament/Resources/StickerMasterResource.php b/app/Filament/Resources/StickerMasterResource.php index 2c983a0..b923a74 100644 --- a/app/Filament/Resources/StickerMasterResource.php +++ b/app/Filament/Resources/StickerMasterResource.php @@ -8,6 +8,7 @@ use App\Filament\Imports\StickerMasterImporter; use App\Filament\Resources\StickerMasterResource\Pages; use App\Filament\Resources\StickerMasterResource\RelationManagers; use App\Models\StickerMaster; +use Closure; use Filament\Forms; use Filament\Forms\Form; use Filament\Resources\Resource; @@ -183,51 +184,111 @@ class StickerMasterResource extends Resource Forms\Components\Checkbox::make('serial_number_motor') - ->nullable() - ->dehydrateStateUsing(fn ($state) => $state ? $state : null), + ->reactive() + ->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') - ->nullable() + ->reactive() + ->afterStateUpdated(function ($state, callable $set,callable $get) { + if ($get('serial_number_pumpset')) + { + $set('serial_number_pump', false); + } + }) ->dehydrateStateUsing(fn ($state) => $state ? $state : null), Forms\Components\Checkbox::make('serial_number_pumpset') - ->nullable() + ->disabled(function ($get) { + return $get('serial_number_motor') || $get('serial_number_pump'); + }) ->dehydrateStateUsing(fn ($state) => $state ? $state : null), Forms\Components\Checkbox::make('pack_slip_motor') - ->nullable() + ->reactive() + ->afterStateUpdated(function ($state, callable $set,callable $get) { + if ($get('pack_slip_pumpset')) + { + $set('pack_slip_motor', false); + } + }) ->dehydrateStateUsing(fn ($state) => $state ? $state : null), Forms\Components\Checkbox::make('pack_slip_pump') - ->nullable() + ->reactive() + ->afterStateUpdated(function ($state, callable $set,callable $get) { + if ($get('pack_slip_pumpset')) + { + $set('pack_slip_pump', false); + } + }) ->dehydrateStateUsing(fn ($state) => $state ? $state : null), Forms\Components\Checkbox::make('pack_slip_pumpset') - ->nullable() + ->reactive() + ->disabled(function ($get) { + return $get('pack_slip_motor') || $get('pack_slip_pump'); + }) ->dehydrateStateUsing(fn ($state) => $state ? $state : null), Forms\Components\Checkbox::make('name_plate_motor') - ->nullable() + ->reactive() + ->afterStateUpdated(function ($state, callable $set,callable $get) { + if ($get('name_plate_pumpset')) + { + $set('name_plate_motor', false); + } + }) ->dehydrateStateUsing(fn ($state) => $state ? $state : null), Forms\Components\Checkbox::make('name_plate_pump') - ->nullable() + ->reactive() + ->afterStateUpdated(function ($state, callable $set,callable $get) { + if ($get('name_plate_pumpset')) + { + $set('name_plate_pump', false); + } + }) ->dehydrateStateUsing(fn ($state) => $state ? $state : null), Forms\Components\Checkbox::make('name_plate_pumpset') - ->nullable() + ->reactive() + ->disabled(function ($get) { + return $get('name_plate_motor') || $get('name_plate_pump'); + }) ->dehydrateStateUsing(fn ($state) => $state ? $state : null), Forms\Components\Checkbox::make('tube_sticker_motor') - ->nullable() + ->reactive() + ->afterStateUpdated(function ($state, callable $set,callable $get) { + if ($get('tube_sticker_pumpset')) + { + $set('tube_sticker_motor', false); + } + }) ->dehydrateStateUsing(fn ($state) => $state ? $state : null), Forms\Components\Checkbox::make('tube_sticker_pump') - ->nullable() + ->reactive() + ->afterStateUpdated(function ($state, callable $set,callable $get) { + if ($get('tube_sticker_pumpset')) + { + $set('tube_sticker_pump', false); + } + }) ->dehydrateStateUsing(fn ($state) => $state ? $state : null), Forms\Components\Checkbox::make('tube_sticker_pumpset') ->nullable() + ->reactive() + ->disabled(function ($get) { + return $get('tube_sticker_motor') || $get('tube_sticker_pump'); + }) ->dehydrateStateUsing(fn ($state) => $state ? $state : null), //to pass null value Forms\Components\Checkbox::make('warranty_card')