diff --git a/app/Filament/Resources/Manage/Partners/Pages/ManagePartners.php b/app/Filament/Resources/Manage/Partners/Pages/ManagePartners.php new file mode 100644 index 0000000..3ea390f --- /dev/null +++ b/app/Filament/Resources/Manage/Partners/Pages/ManagePartners.php @@ -0,0 +1,13 @@ +components([ + TextInput::make('name') + ->required() + ->maxLength(255), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->recordTitleAttribute('name') + ->columns([ + TextColumn::make('company.name') + ->label('Perusahaan') + ->searchable() + ->sortable() + ->description(fn (User $record) => $record->company?->director_name), + + TextColumn::make('company.partnerMedia.name') + ->label('Media') + ->searchable() + ->sortable(), + + TextColumn::make('company.journalists.name') + ->label('Jurnalis') + ->searchable() + ->sortable() + ->wrap(), + + TextColumn::make('created_at') + ->label('Tgl Daftar') + ->date() + ->sortable() + ->searchable() + ->dateTime('l, d F Y H:i:s') + ->wrap(), + ]) + ->filters([ + // + ]) + ->recordActions([ + EditAction::make(), + DeleteAction::make(), + ]) + ->toolbarActions([ + BulkActionGroup::make([ + DeleteBulkAction::make(), + ]), + ]) + ->filters([ + TrashedFilter::make()->native(false), + ]) + ->recordActions([ + EditAction::make()->modalWidth('lg'), + DeleteAction::make(), + ForceDeleteAction::make(), + RestoreAction::make(), + ]) + ->toolbarActions([ + BulkActionGroup::make([ + DeleteBulkAction::make(), + ForceDeleteBulkAction::make(), + RestoreBulkAction::make(), + ]), + ]) + ->emptyStateIcon('heroicon-o-bookmark') + ->emptyStateDescription('Setelah Anda membubat data pertama, maka akan muncul disini.') + ->defaultSort('created_at', 'desc') + ->deferFilters(false) + ->reorderable('sort_order') + ->modifyQueryUsing(function (Builder $query) { + $query->role('Perusahaan') + ->whereHas('company'); + }); + } + + public static function getPages(): array + { + return [ + 'index' => ManagePartners::route('/'), + ]; + } +}