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::BuildingOffice2) ->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('/'), ]; } }