diff --git a/app/Enums/ExtendedFrequency.php b/app/Enums/ExtendedFrequency.php new file mode 100644 index 00000000..0ffff6e4 --- /dev/null +++ b/app/Enums/ExtendedFrequency.php @@ -0,0 +1,27 @@ +label(__('intervention_plan.labels.physics')) ->inline() - ->options(Frequency::options()), + ->options(ExtendedFrequency::options()) + ->live(), Radio::make('data.sexed') ->label(__('intervention_plan.labels.sexed')) ->inline() - ->options(Frequency::options()), + ->options(ExtendedFrequency::options()) + ->live(), Radio::make('data.psychological') ->label(__('intervention_plan.labels.psychological')) ->inline() - ->options(Frequency::options()), + ->options(ExtendedFrequency::options()) + ->live(), Radio::make('data.verbal') ->label(__('intervention_plan.labels.verbal')) ->inline() - ->options(Frequency::options()), + ->options(ExtendedFrequency::options()) + ->live(), Radio::make('data.sociable') ->label(__('intervention_plan.labels.sociable')) ->inline() - ->options(Frequency::options()), + ->options(ExtendedFrequency::options()) + ->live(), Radio::make('data.economic') ->label(__('intervention_plan.labels.economic')) ->inline() - ->options(Frequency::options()), + ->options(ExtendedFrequency::options()) + ->live(), Radio::make('data.cybernetics') ->label(__('intervention_plan.labels.cybernetics')) ->inline() - ->options(Frequency::options()), + ->options(ExtendedFrequency::options()) + ->live(), Radio::make('data.spiritual') ->label(__('intervention_plan.labels.spiritual')) ->inline() - ->options(Frequency::options()), + ->options(ExtendedFrequency::options()) + ->live(), Group::make() ->maxWidth('3xl') ->schema([ Textarea::make('data.physical_violence_description') ->label(__('intervention_plan.labels.physical_violence_description')) + ->hidden( + fn (Get $get) => ! $get('data.physics') || + ExtendedFrequency::isValue($get('data.physics'), ExtendedFrequency::NONE) || + ExtendedFrequency::isValue($get('data.physics'), ExtendedFrequency::NO_ANSWER) + ) ->maxLength(1500), Textarea::make('data.sexual_violence_description') ->label(__('intervention_plan.labels.sexual_violence_description')) + ->hidden( + fn (Get $get) => ! $get('data.sexed') || + ExtendedFrequency::isValue($get('data.sexed'), ExtendedFrequency::NONE) || + ExtendedFrequency::isValue($get('data.sexed'), ExtendedFrequency::NO_ANSWER) + ) ->maxLength(1500), Textarea::make('data.psychological_violence_description') ->label(__('intervention_plan.labels.psychological_violence_description')) + ->hidden( + fn (Get $get) => ! $get('data.psychological') || + ExtendedFrequency::isValue($get('data.psychological'), ExtendedFrequency::NONE) || + ExtendedFrequency::isValue($get('data.psychological'), ExtendedFrequency::NO_ANSWER) + ) ->maxLength(1500), Textarea::make('data.verbal_violence_description') ->label(__('intervention_plan.labels.verbal_violence_description')) + ->hidden( + fn (Get $get) => ! $get('data.verbal') || + ExtendedFrequency::isValue($get('data.verbal'), ExtendedFrequency::NONE) || + ExtendedFrequency::isValue($get('data.verbal'), ExtendedFrequency::NO_ANSWER) + ) ->maxLength(1500), Textarea::make('data.social_violence_description') ->label(__('intervention_plan.labels.social_violence_description')) + ->hidden( + fn (Get $get) => ! $get('data.sociable') || + ExtendedFrequency::isValue($get('data.sociable'), ExtendedFrequency::NONE) || + ExtendedFrequency::isValue($get('data.sociable'), ExtendedFrequency::NO_ANSWER) + ) ->maxLength(1500), Textarea::make('data.economic_violence_description') ->label(__('intervention_plan.labels.economic_violence_description')) + ->hidden( + fn (Get $get) => ! $get('data.economic') || + ExtendedFrequency::isValue($get('data.economic'), ExtendedFrequency::NONE) || + ExtendedFrequency::isValue($get('data.economic'), ExtendedFrequency::NO_ANSWER) + ) ->maxLength(1500), Textarea::make('data.cyber_violence_description') ->label(__('intervention_plan.labels.cyber_violence_description')) + ->hidden( + fn (Get $get) => ! $get('data.cybernetics') || + ExtendedFrequency::isValue($get('data.cybernetics'), ExtendedFrequency::NONE) || + ExtendedFrequency::isValue($get('data.cybernetics'), ExtendedFrequency::NO_ANSWER) + ) ->maxLength(1500), Textarea::make('data.spiritual_violence_description') ->label(__('intervention_plan.labels.spiritual_violence_description')) + ->hidden( + fn (Get $get) => ! $get('data.spiritual') || + ExtendedFrequency::isValue($get('data.spiritual'), ExtendedFrequency::NONE) || + ExtendedFrequency::isValue($get('data.spiritual'), ExtendedFrequency::NO_ANSWER) + ) ->maxLength(1500), ]), ]), diff --git a/app/Filament/Organizations/Resources/InterventionServiceResource/Widgets/CounselingSheetWidget.php b/app/Filament/Organizations/Resources/InterventionServiceResource/Widgets/CounselingSheetWidget.php index 56cf7871..1a936ff2 100644 --- a/app/Filament/Organizations/Resources/InterventionServiceResource/Widgets/CounselingSheetWidget.php +++ b/app/Filament/Organizations/Resources/InterventionServiceResource/Widgets/CounselingSheetWidget.php @@ -5,9 +5,9 @@ namespace App\Filament\Organizations\Resources\InterventionServiceResource\Widgets; use App\Enums\CounselingSheet; +use App\Enums\ExtendedFrequency; use App\Enums\FamilyRelationship; use App\Enums\FileDocumentType; -use App\Enums\Frequency; use App\Enums\Gender; use App\Enums\HomeType; use App\Enums\Patrimony; @@ -174,35 +174,35 @@ private function getSchemaForPsychologicalAssistance(): array EnumEntry::make('data.physics') ->label(__('intervention_plan.labels.physics')) - ->enumClass(Frequency::class), + ->enumClass(ExtendedFrequency::class), EnumEntry::make('data.sexed') ->label(__('intervention_plan.labels.sexed')) - ->enumClass(Frequency::class), + ->enumClass(ExtendedFrequency::class), EnumEntry::make('data.psychological') ->label(__('intervention_plan.labels.psychological')) - ->enumClass(Frequency::class), + ->enumClass(ExtendedFrequency::class), EnumEntry::make('data.verbal') ->label(__('intervention_plan.labels.verbal')) - ->enumClass(Frequency::class), + ->enumClass(ExtendedFrequency::class), EnumEntry::make('data.sociable') ->label(__('intervention_plan.labels.sociable')) - ->enumClass(Frequency::class), + ->enumClass(ExtendedFrequency::class), EnumEntry::make('data.economic') ->label(__('intervention_plan.labels.economic')) - ->enumClass(Frequency::class), + ->enumClass(ExtendedFrequency::class), EnumEntry::make('data.cybernetics') ->label(__('intervention_plan.labels.cybernetics')) - ->enumClass(Frequency::class), + ->enumClass(ExtendedFrequency::class), EnumEntry::make('data.spiritual') ->label(__('intervention_plan.labels.spiritual')) - ->enumClass(Frequency::class), + ->enumClass(ExtendedFrequency::class), TextEntry::make('data.physical_violence_description') ->label(__('intervention_plan.labels.physical_violence_description')), diff --git a/lang/ro/enum.php b/lang/ro/enum.php index ed85a061..7dc18d08 100644 --- a/lang/ro/enum.php +++ b/lang/ro/enum.php @@ -184,6 +184,8 @@ 'weekly' => 'Săptămânală', 'monthly' => 'Lunară', 'lass_than_monthly' => 'Mai rar decât lunară', + 'none' => 'Deloc', + 'no_answer' => 'NS/NR', ], 'helps' => [