Skip to content

Commit 9971964

Browse files
committed
wip
1 parent 32a60a5 commit 9971964

26 files changed

Lines changed: 878 additions & 687 deletions

File tree

app/Contracts/Pages/WithSidebar.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44

55
namespace App\Contracts\Pages;
66

7+
/**
8+
* @deprecated Use \Filament\Pages\Concerns\HasSubNavigation instead.
9+
*/
710
interface WithSidebar
811
{
912
public function getSidebarNavigation(): array;

app/Filament/Resources/AppointmentResource.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
use App\Tables\Columns\TextColumn;
1313
use Filament\Forms\Form;
1414
use Filament\Infolists\Infolist;
15+
use Filament\Pages\SubNavigationPosition;
16+
use Filament\Resources\Pages\Page;
1517
use Filament\Resources\Resource;
1618
use Filament\Tables;
1719
use Filament\Tables\Filters\SelectFilter;
@@ -25,6 +27,17 @@ class AppointmentResource extends Resource
2527

2628
protected static ?string $navigationIcon = 'heroicon-m-calendar-date-range';
2729

30+
protected static SubNavigationPosition $subNavigationPosition = SubNavigationPosition::Start;
31+
32+
public static function getRecordSubNavigation(Page $page): array
33+
{
34+
return $page->generateNavigationItems([
35+
// ...
36+
Pages\ViewAppointment::class,
37+
Pages\EditAppointment::class,
38+
]);
39+
}
40+
2841
public static function getModelLabel(): string
2942
{
3043
return __('appointment.label.singular');

app/Filament/Resources/BeneficiaryResource.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,4 +158,16 @@ public static function getWidgets(): array
158158
ActiveInterventionsWidget::class,
159159
];
160160
}
161+
162+
public static function getRecordSubNavigation(Page $page): array
163+
{
164+
return $page->generateNavigationItems([
165+
Pages\OverviewBeneficiary::class,
166+
Pages\ViewPersonalData::class,
167+
Pages\CatagraphySummary::class,
168+
// InterventionPages\ListInterventions::class,
169+
// DocumentPages\ListDocuments::class,
170+
// Pages\ListHistory::class,
171+
]);
172+
}
161173
}

app/Filament/Resources/BeneficiaryResource/Concerns/CommonViewFormSchema.php

Lines changed: 0 additions & 177 deletions
This file was deleted.

app/Filament/Resources/BeneficiaryResource/Pages/CatagraphySummary.php

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
use App\Forms\Components\RecommendationsSection;
1212
use App\Forms\Components\VulnerabilityChips;
1313
use App\Models\Catagraphy;
14-
use Filament\Actions\Action as PageAction;
14+
use Filament\Forms\Components\Actions\Action;
1515
use Filament\Forms\Components\Section;
1616
use Filament\Forms\Components\View;
1717
use Filament\Forms\Form;
@@ -46,7 +46,7 @@ public function mount(int | string $record): void
4646

4747
$this->record = $this->beneficiary->catagraphy;
4848

49-
abort_unless(static::getResource()::canView($this->getRecord()), 403);
49+
abort_unless(BeneficiaryResource::canView($this->getRecord()), 403);
5050

5151
abort_unless($this->getBeneficiary()->isRegular(), 404);
5252

@@ -56,23 +56,19 @@ public function mount(int | string $record): void
5656
public function form(Form $form): Form
5757
{
5858
return $form
59-
->columns(1)
6059
->schema([
6160
Section::make()
6261
->heading(__('catagraphy.header.vulnerabilities'))
63-
->headerActions(function (Catagraphy $record) {
64-
if (! $record->created_at) {
65-
return false;
66-
}
67-
68-
return [
69-
PageAction::make('view')
70-
->label(__('catagraphy.action.view'))
71-
->url(static::getResource()::getUrl('catagraphy.view', $this->getBeneficiary()))
72-
->color('gray'),
73-
];
74-
})
75-
->footer($this->getVulnerabilitiesFooter())
62+
->headerActions([
63+
Action::make('view')
64+
->label(__('catagraphy.action.view'))
65+
->visible(fn (Catagraphy $record) => filled($record->created_at))
66+
->url(BeneficiaryResource::getUrl('catagraphy.view', [
67+
'record' => $this->getBeneficiary(),
68+
]))
69+
->color('gray'),
70+
])
71+
// ->footer($this->getVulnerabilitiesFooter())
7672
->schema($this->getVulnerabilitiesFormSchema()),
7773

7874
RecommendationsSection::make(),
@@ -91,7 +87,7 @@ protected function getVulnerabilitiesFormSchema(): array
9187
'actions' => [
9288
TableAction::make('create')
9389
->label(__('catagraphy.vulnerability.empty.create'))
94-
->url(static::getResource()::getUrl('catagraphy.edit', ['record' => $this->getBeneficiary()]))
90+
->url(BeneficiaryResource::getUrl('catagraphy.edit', ['record' => $this->getBeneficiary()]))
9591
->button()
9692
->color('gray'),
9793
],
@@ -127,7 +123,9 @@ protected function getVulnerabilitiesFooter(): ?ViewContract
127123
'created_at' => $catagraphy->created_at->toFormattedDateTime(),
128124
'updated_at' => $catagraphy->updated_at->toFormattedDateTime(),
129125
'name' => $catagraphy->nurse->full_name,
130-
'history_url' => static::getResource()::getUrl('history', $this->getBeneficiary()),
126+
'history_url' => BeneficiaryResource::getUrl('history', [
127+
'record' => $this->getBeneficiary(),
128+
]),
131129
]);
132130
}
133131

app/Filament/Resources/BeneficiaryResource/Pages/CreateBeneficiary.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@
55
namespace App\Filament\Resources\BeneficiaryResource\Pages;
66

77
use App\Enums\Beneficiary\Type;
8+
use App\Filament\Resources\AppointmentResource\Schemas\OcasionalBeneficiaryForm;
9+
use App\Filament\Resources\AppointmentResource\Schemas\RegularBeneficiaryForm;
810
use App\Filament\Resources\BeneficiaryResource;
9-
use App\Filament\Resources\BeneficiaryResource\Concerns;
1011
use Filament\Forms\Components\Grid;
1112
use Filament\Forms\Components\Group;
1213
use Filament\Forms\Components\Section;
1314
use Filament\Forms\Components\Select;
1415
use Filament\Forms\Form;
16+
use Filament\Forms\Get;
1517
use Filament\Resources\Pages\CreateRecord;
1618

1719
class CreateBeneficiary extends CreateRecord
1820
{
19-
use Concerns\CommonEditFormSchema;
20-
2121
protected static string $resource = BeneficiaryResource::class;
2222

2323
protected static bool $canCreateAnother = false;
@@ -46,12 +46,12 @@ public function form(Form $form): Form
4646
]),
4747

4848
Group::make()
49-
->visible(fn (callable $get) => Type::REGULAR->is($get('type')))
50-
->schema(static::getRegularBeneficiaryFormSchema()),
49+
->visible(fn (Get $get) => Type::REGULAR->is($get('type')))
50+
->schema(RegularBeneficiaryForm::getSchema()),
5151

5252
Group::make()
53-
->visible(fn (callable $get) => Type::OCASIONAL->is($get('type')))
54-
->schema(static::getOcasionalBeneficiaryFormSchema()),
53+
->visible(fn (Get $get) => Type::OCASIONAL->is($get('type')))
54+
->schema(OcasionalBeneficiaryForm::getSchema()),
5555
]),
5656
]);
5757
}

0 commit comments

Comments
 (0)