DataTable Bileseni
SkDatatable, admin panelde kullanilan paket tabanli tablo bilesenidir.
Importlar
tsimport { DB } from '@lvntr/components/DatatableBuilder/core';
import SkDatatable from '@lvntr/components/DatatableBuilder/SkDatatable.vue';
Temel kullanim
vue<script setup lang="ts">
import { DB } from '@lvntr/components/DatatableBuilder/core';
import SkDatatable from '@lvntr/components/DatatableBuilder/SkDatatable.vue';
import users from '@/routes/users';
interface UserRow {
id: string;
full_name: string;
email: string;
role: string;
status: string;
created_at: string;
}
const tableConfig = DB.table<UserRow>()
.route(users.dtApi.url())
.addColumns(
DB.column<UserRow>().label('common.full_name').key('full_name'),
DB.column<UserRow>().key('email'),
DB.column<UserRow>().label('common.role').key('role'),
DB.column<UserRow>().key('status').enumTag(),
)
.addActions(
DB.action<UserRow>()
.icon('pi pi-pencil')
.severity('warn')
.label('button.edit')
.handle((row) => console.log(row.id)),
)
.build();
</script>
<template>
<SkDatatable :config="tableConfig" refresh-key="users-table" />
</template>
Table builder API
route(url)string, Wayfinder sonucu ya da{ url }donduren callback kabul edersortable(enabled)pagination(enabled)searchable(enabled)isCard(enabled)cardTitle(title)cardSubtitle(subtitle)perPage(count)idColumn(config | false)addColumns(...columns)addFilters(...filters)addActions(...actions)addMenuActions(...menuActions)menuButton(config)create(config)
Column builder
key(string)label(string)sortable(boolean)render((row, escape) => string)tag(severity | fn)tagKey(key)enumTag()sticky()
enumTag(), backend tarafinda {key}_label ve {key}_severity alanlarini bekler.
Filter builder
key(string)label(string)type('text' | 'select' | 'multiselect' | 'daterange')options([...])placeholder(string)inline()placement('inline' | 'panel')
Satir aksiyonlari
Inline actions
Satirin icinde dogrudan gorunen butonlar icin DB.action() kullanilir.
iconseveritysizevariantroundedraisedtextoutlinedlabeltooltipvisible(fn)handle(fn)
Dahili davranislar
SkDatatable sunlari hazir olarak getirir:
- server-side arama, siralama, sayfalama ve filtreleme
- paylasilabilir tablo URL'leri icin query string senkronizasyonu
- sayfa yenilemelerinde
sessionStoragekaliciligi refresh-keyile opsiyonel refresh bus entegrasyonu- dahili per-page kontrolleri
- cekilen satirlari disari veren
loadeventi