Skip to content

arqel-dev/table — API Reference

Namespace Arqel\Table\. Builder fluente, 12 column types, 8 filter types, query builder.

Arqel\Table\Table (final)

Builder principal.

MétodoTipoDescrição
Table::make()selfFactory
columns(array<Column>)selfLista de columns
filters(array<Filter>)selfLista de filters
actions(array<Action>)selfRowActions
bulkActions(array<Action>)selfBulkActions (require selectable)
toolbarActions(array<Action>)selfToolbarActions
defaultSort(string $column, string $direction='asc')self
perPage(int) / perPageOptions(array<int>)selfPaginação
searchable(bool=true) / selectable(bool=true)self
striped(bool=true) / compact(bool=true)self
emptyState(array)self['icon', 'title', 'description']
toArray()arraySchema serializado para Inertia

Columns

Arqel\Table\Column (abstract). Factory: Column::make($name) retorna TextColumn por defeito.

ClassUse caseSetters extra
TextColumnString/text defaultlimit(int), wrap(bool)
BadgeColumnStatus com corescolors(array), icons(array)
BooleanColumnCheckmarktrueIcon, falseIcon, trueColor, falseColor
DateColumnDatas formatadasdate(string), dateTime(string), since(), timezone(string)
NumberColumnNumérico right-aligndecimals(int), prefix, suffix
IconColumnSingle íconeoptions(array), size(string)
ImageColumnThumbnaildisk(string), circular(bool), size(int)
RelationshipColumnEager-loaded relationmake(name) + ->display(attribute)
ComputedColumnClosure derivadafactory make(name, Closure)
SelectColumnCélula select editáveloptions(array|Closure), rules(array), debounce(int)
TextInputColumnCélula text-input inline editávelrules(array), debounce(int), readonly(bool)
ToggleColumnCélula toggle editávelonValue(mixed), offValue(mixed), debounce(int)

Setters comuns (em todos): label, sortable(bool), searchable(bool), hidden(bool), hiddenOnMobile(bool), align(string), width(string), tooltip(string\|Closure).

Filters

Arqel\Table\Filter (abstract). Factory: Filter::make($name) (mas use as classes concretas).

ClassUse caseSetters extra
SelectFilterSingle-value pickeroptions(array|Closure)
MultiSelectFilterMulti-value pickeroptions(array|Closure)
DateRangeFilterRange start/end(sem setters extra)
TextFilterLike searchcolumn(string)
TernaryFiltertrue/false/alltrueLabel, falseLabel, allLabel
ScopeFilterEloquent scopefactory make($name, $scopeName)
QueryBuilderFilterÁrvore visual de condições (grupos AND/OR)constraints(array<Constraint>)
TrashedFilterSoft-delete três estados (without/with/only)(sem setters extra)

Setters comuns: label, apply(Closure) (override de query), default(mixed), placeholder(string).

Arqel\Table\TableQueryBuilder (final)

Orquestra request → Eloquent query.

MétodoDescrição
for(Table, Builder, Request)Factory
paginate(): LengthAwarePaginatorAplica search/filter/sort/eager-load + paginate

Sort whitelisted contra columns sortable. per_page validado contra perPageOptions. Eager loading inferido de RelationshipColumn.

Licença MIT — construído com Inertia + React + Laravel.