pushColumns([ TextColumn::make('missing_items') ->label('Missing Items') ->separator() ->listWithLineBreaks() ->bulleted(), ]) ->recordActions([ ActionGroup::make([ Action::make('resolve-problematic') ->label('Set to Ready for Picking') ->icon('heroicon-o-check-circle') ->color('primary') ->modalHeading(function (Order $record) { return 'Set Order #'.$record->order_number.' to Ready for Picking'; }) ->requiresConfirmation() ->action(self::problematicToReadyForPickingAction()), ViewOrderCommentsAction::make(), ]) ->hidden(function (Order $record) { return !$record->isProblematic(); }) ]) ->headerActions([ ProblematicOrderExportAction::make(), ]) ->toolbarActions([ ProblematicOrderBulkExportAction::make(), ]); return $table; } private static function problematicToReadyForPickingAction(): Closure { return function (Action $action, UpdateOperationStatusAction $updateOperationStatusAction, Order $record) { }; } public static function getPages(): array { return [ 'index' => ProblematicListing::route('/') ]; } public static function getEloquentQuery(): Builder { /** @var OrderBuilder $builder */ $builder = parent::getEloquentQuery(); return $builder->whereProblematic()->withMissingItems(); } }