refactor: introduce a reusable BackAction component and apply it to standardize back buttons across various Filament pages.
This commit is contained in:
parent
2626d890a4
commit
27b25f6193
22
app/Filament/Actions/BackAction.php
Normal file
22
app/Filament/Actions/BackAction.php
Normal file
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Actions;
|
||||
|
||||
use Filament\Actions\Action;
|
||||
|
||||
class BackAction extends Action
|
||||
{
|
||||
public static function getDefaultName(): ?string
|
||||
{
|
||||
return 'back';
|
||||
}
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->label('Kembali')
|
||||
->color('secondary')
|
||||
->outlined();
|
||||
}
|
||||
}
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Filament\Resources\Manage\Cooperations\Pages;
|
||||
|
||||
use App\Filament\Actions\BackAction;
|
||||
use App\Filament\Resources\Manage\Cooperations\CooperationResource;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use App\Notifications\BroadcastNotification;
|
||||
@ -19,11 +20,8 @@ class CreateCooperation extends CreateRecord
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('back')
|
||||
->label('Kembali')
|
||||
->url(ListCooperations::getUrl())
|
||||
->outlined()
|
||||
->color('secondary'),
|
||||
BackAction::make()
|
||||
->url(ListCooperations::getUrl()),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -2,10 +2,10 @@
|
||||
|
||||
namespace App\Filament\Resources\Manage\Cooperations\Pages;
|
||||
|
||||
use App\Filament\Actions\BackAction;
|
||||
use App\Filament\Resources\Manage\Cooperations\CooperationResource;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use App\Models\Cooperation;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Notifications\Notification;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
@ -36,11 +36,8 @@ public function mount(int|string $record): void
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('back')
|
||||
->label('Kembali')
|
||||
->url(ListCooperations::getUrl())
|
||||
->outlined()
|
||||
->color('secondary'),
|
||||
BackAction::make()
|
||||
->url(ListCooperations::getUrl()),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
|
||||
namespace App\Filament\Resources\Manage\Cooperations\Pages;
|
||||
|
||||
use App\Filament\Actions\BackAction;
|
||||
use App\Filament\Resources\Manage\Cooperations\CooperationResource;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Resources\Pages\ViewRecord;
|
||||
|
||||
class ViewCooperation extends ViewRecord
|
||||
@ -13,11 +13,8 @@ class ViewCooperation extends ViewRecord
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('back')
|
||||
->label('Kembali')
|
||||
->url(ListCooperations::getUrl())
|
||||
->outlined()
|
||||
->color('secondary'),
|
||||
BackAction::make()
|
||||
->url(ListCooperations::getUrl()),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
|
||||
namespace App\Filament\Resources\Manage\DataChanges\Pages;
|
||||
|
||||
use App\Filament\Actions\BackAction;
|
||||
use App\Filament\Resources\Manage\DataChanges\DataChangesResource;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Resources\Pages\ViewRecord;
|
||||
|
||||
class ViewDataChange extends ViewRecord
|
||||
@ -13,11 +13,8 @@ class ViewDataChange extends ViewRecord
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('back')
|
||||
->label('Kembali')
|
||||
->url(DataChangesResource::getUrl())
|
||||
->outlined()
|
||||
->color('secondary'),
|
||||
BackAction::make()
|
||||
->url(DataChangesResource::getUrl()),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
|
||||
namespace App\Filament\Resources\Manage\Partners\Pages;
|
||||
|
||||
use App\Filament\Actions\BackAction;
|
||||
use App\Filament\Resources\Manage\Partners\PartnerResource;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Resources\Pages\ViewRecord;
|
||||
|
||||
class ViewPartner extends ViewRecord
|
||||
@ -13,11 +13,8 @@ class ViewPartner extends ViewRecord
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('back')
|
||||
->label('Kembali')
|
||||
->url(url()->previous())
|
||||
->outlined()
|
||||
->color('secondary'),
|
||||
BackAction::make()
|
||||
->url(url()->previous()),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
|
||||
namespace App\Filament\Resources\Monitoring\ContentRecaps\Pages;
|
||||
|
||||
use App\Filament\Actions\BackAction;
|
||||
use App\Filament\Resources\Monitoring\ContentRecaps\ContentRecapResource;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Notifications\Notification;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
@ -17,11 +17,8 @@ class CreateContentRecap extends CreateRecord
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('back')
|
||||
->label('Kembali')
|
||||
->url(ListContentRecaps::getUrl())
|
||||
->outlined()
|
||||
->color('secondary'),
|
||||
BackAction::make()
|
||||
->url(ListContentRecaps::getUrl()),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -2,10 +2,10 @@
|
||||
|
||||
namespace App\Filament\Resources\Monitoring\ContentRecaps\Pages;
|
||||
|
||||
use App\Filament\Actions\BackAction;
|
||||
use App\Filament\Resources\Monitoring\ContentRecaps\ContentRecapResource;
|
||||
use App\Filament\Resources\Monitoring\MediaMonitorings\Pages\ListMediaMonitorings;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Notifications\Notification;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
|
||||
@ -16,11 +16,8 @@ class EditContentRecap extends EditRecord
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('back')
|
||||
->label('Kembali')
|
||||
->url(ListMediaMonitorings::getUrl())
|
||||
->outlined()
|
||||
->color('secondary'),
|
||||
BackAction::make()
|
||||
->url(ListMediaMonitorings::getUrl()),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
|
||||
namespace App\Filament\Resources\Monitoring\IssueManagements\Pages;
|
||||
|
||||
use App\Filament\Actions\BackAction;
|
||||
use App\Filament\Resources\Monitoring\IssueManagements\IssueManagementResource;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Notifications\Notification;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
@ -17,11 +17,8 @@ class CreateIssueManagement extends CreateRecord
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('back')
|
||||
->label('Kembali')
|
||||
->url(ListIssueManagements::getUrl())
|
||||
->outlined()
|
||||
->color('secondary'),
|
||||
BackAction::make()
|
||||
->url(ListIssueManagements::getUrl()),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
|
||||
namespace App\Filament\Resources\Monitoring\IssueManagements\Pages;
|
||||
|
||||
use App\Filament\Actions\BackAction;
|
||||
use App\Filament\Resources\Monitoring\IssueManagements\IssueManagementResource;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Notifications\Notification;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
|
||||
@ -15,11 +15,8 @@ class EditIssueManagement extends EditRecord
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('back')
|
||||
->label('Kembali')
|
||||
->url(ListIssueManagements::getUrl())
|
||||
->outlined()
|
||||
->color('secondary'),
|
||||
BackAction::make()
|
||||
->url(ListIssueManagements::getUrl()),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -2,10 +2,10 @@
|
||||
|
||||
namespace App\Filament\Resources\Monitoring\MediaMonitorings\Pages;
|
||||
|
||||
use App\Filament\Actions\BackAction;
|
||||
use App\Filament\Resources\Monitoring\MediaMonitorings\MediaMonitoringResource;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use App\Models\MediaMonitoring;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Notifications\Notification;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
@ -18,11 +18,8 @@ class CreateMediaMonitoring extends CreateRecord
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('back')
|
||||
->label('Kembali')
|
||||
->url(ListMediaMonitorings::getUrl())
|
||||
->outlined()
|
||||
->color('secondary'),
|
||||
BackAction::make()
|
||||
->url(ListMediaMonitorings::getUrl()),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
|
||||
namespace App\Filament\Resources\Monitoring\MediaMonitorings\Pages;
|
||||
|
||||
use App\Filament\Actions\BackAction;
|
||||
use App\Filament\Resources\Monitoring\MediaMonitorings\MediaMonitoringResource;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Notifications\Notification;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
|
||||
@ -15,11 +15,8 @@ class EditMediaMonitoring extends EditRecord
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('back')
|
||||
->label('Kembali')
|
||||
->url(ListMediaMonitorings::getUrl())
|
||||
->outlined()
|
||||
->color('secondary'),
|
||||
BackAction::make()
|
||||
->url(ListMediaMonitorings::getUrl()),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
|
||||
namespace App\Filament\Resources\Publication\News\Pages;
|
||||
|
||||
use App\Filament\Actions\BackAction;
|
||||
use App\Filament\Resources\Publication\News\NewsResource;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Notifications\Notification;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
@ -17,11 +17,8 @@ class CreateNews extends CreateRecord
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('back')
|
||||
->label('Kembali')
|
||||
->url(ListNews::getUrl())
|
||||
->outlined()
|
||||
->color('secondary'),
|
||||
BackAction::make()
|
||||
->url(ListNews::getUrl()),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
|
||||
namespace App\Filament\Resources\Publication\News\Pages;
|
||||
|
||||
use App\Filament\Actions\BackAction;
|
||||
use App\Filament\Resources\Publication\News\NewsResource;
|
||||
use App\Filament\Support\CheerfulNotification;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Notifications\Notification;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
|
||||
@ -15,11 +15,8 @@ class EditNews extends EditRecord
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('back')
|
||||
->label('Kembali')
|
||||
->url(ListNews::getUrl())
|
||||
->outlined()
|
||||
->color('secondary'),
|
||||
BackAction::make()
|
||||
->url(ListNews::getUrl()),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user