K

Tabulka

PhoneColumn

Uložené telefonní číslo zapsané tak, jak se čte, a odkázané pro vytáčení.

Na této stránce

Telefonní číslo, které člověk přečte a zařízení vytočí. Sáhněte po něm všude, kde sloupec drží E.164 — tvar, který chce databáze, a který nikdo nečte.

use NyonCode\WireTable\Columns\PhoneColumn;

Jak to funguje

Píše číslo stejnou gramatikou jako formulář. Předvolba se hledá ve sdílené tabulce Foundation\ValueObjects\DialingCodes a národní část se seskupuje po trojicích — přesně to, co ukazuje PhoneInput při editaci. Obě plochy čtou jednu tabulku, takže číslo nemůže být ve formuláři odsazené jinak než v řádku, který ho vypisuje.

Odkaz je smysl sloupce. Buňka se vykreslí jako tel: a číslice — mezery, které ho dělají čitelným, se zahodí, protože vytáčení chce číslice — takže kliknutí na telefonu zavolá a na desktopu otevře softphone. Samotné formátování je jen TextColumn::make('phone')->formatStateUsing(…); tenhle sloupec existuje kvůli odkazu. notCallable() zápis ponechá a odkaz zruší.

Předvolbu, kterou tabulka nezná, nechá být. Neformátované číslo je lepší než číslo seskupené podle země, do které nepatří — a odkaz zůstává, protože neznámá předvolba není neplatné číslo.

Poslední osamocená číslice se přidá ke skupině před sebou+1 212 555 1234, ne +1 212 555 123 4.

Základní použití

PhoneColumn::make('phone')

+420123456789 ve sloupci se vykreslí jako +420 123 456 789 s odkazem tel:+420123456789.

Číslo, na které se nevolá

PhoneColumn::make('fax')
->notCallable()

Se zbytkem API sloupce

PhoneColumn::make('phone')
->label('Mobil')
->copyable() // zkopíruje zapsané číslo do schránky
->searchable()
->toggleable()

Rozšířený příklad

use Livewire\Component;
use NyonCode\WireTable\Columns\PhoneColumn;
use NyonCode\WireTable\Columns\TextColumn;
use NyonCode\WireTable\Table;
use NyonCode\WireTable\Concerns\WithTable;
 
class ListContacts extends Component
{
use WithTable;
 
public function table(Table $table): Table
{
return $table
->model(Contact::class)
->columns([
TextColumn::make('name')->searchable()->sortable(),
PhoneColumn::make('phone')
->label('Mobil')
->copyable(),
PhoneColumn::make('fax')
->notCallable()
->toggleable(isToggledHiddenByDefault: true),
]);
}
}

API PhoneColumn

Telefonní část. Všechno ostatní — ->label(), ->sortable(), ->searchable(), ->copyable(), ->toggleable() — je sdílené API sloupce, zdokumentované ve Sloupce.

->notCallable(bool $condition = true) // ukáže číslo, zruší tel: odkaz
->isCallable(): bool

Související

  • Sloupce — sdílené API, které dědí každý sloupec
  • PhoneInput — pole, které totéž číslo edituje
  • TextColumn — pro číslo, které nepotřebuje odkaz ani seskupení