Вход Регистрация
Файл: vendor/laravel/prompts/src/Themes/Default/TableRenderer.php
Строк: 36
<?php

namespace LaravelPromptsThemesDefault;

use 
LaravelPromptsOutputBufferedConsoleOutput;
use 
LaravelPromptsTable;
use 
SymfonyComponentConsoleHelperTable as SymfonyTable;
use 
SymfonyComponentConsoleHelperTableStyle;

class 
TableRenderer extends Renderer
{
    
/**
     * Render the table.
     */
    
public function __invoke(Table $table): string
    
{
        
$tableStyle = (new TableStyle)
            ->
setHorizontalBorderChars('─')
            ->
setVerticalBorderChars('│''│')
            ->
setCellHeaderFormat($this->dim('<fg=default>%s</>'))
            ->
setCellRowFormat('<fg=default>%s</>');

        if (empty(
$table->headers)) {
            
$tableStyle->setCrossingChars('┼''''''''┤''┘</>''┴''└''├''<fg=gray>┌''┬''┐');
        } else {
            
$tableStyle->setCrossingChars('┼''<fg=gray>┌''┬''┐''┤''┘</>''┴''└''├');
        }

        
$buffered = new BufferedConsoleOutput;

        (new 
SymfonyTable($buffered))
            ->
setHeaders($table->headers)
            ->
setRows($table->rows)
            ->
setStyle($tableStyle)
            ->
render();

        
collect(explode(PHP_EOLtrim($buffered->content(), PHP_EOL)))
            ->
each(fn ($line) => $this->line(' '.$line));

        return 
$this;
    }
}
Онлайн: 1
Реклама