@konce-pt/table
v0.8.5
Published
Data-table core for Koncept UI — column filters, aggregations, CSV escaping, cell-to-text. Framework-free TypeScript, zero runtime dependencies.
Maintainers
Readme
@konce-pt/table
Rdzeń tabeli danych Koncept UI: filtry kolumn, agregacje wiersza podsumowania, escapowanie CSV i zamiana wartości komórki na tekst. Czysty TypeScript, zero zależności runtime, bez wiązania z frameworkiem.
Zwykle nie instalujesz go samodzielnie: używają go KptDataTable z @konce-pt/angular
i z @konce-pt/react. Sięgnij po niego wprost, gdy budujesz własną tabelę na tym samym zachowaniu
filtrów i podsumowań.
npm i @konce-pt/tableimport { aggregate, matchesColumnFilter, escapeCsvCell } from '@konce-pt/table';
// Filtr `select` dopasowuje też komórkę-tablicę (lista tagów albo członków zespołu).
matchesColumnFilter({ type: 'select', multiple: true }, ['Anna', 'Jan'], ['Jan']); // true
// Pusty zbiór: suma to 0, średnia null — komórka renderuje się pusta, nie `NaN`.
aggregate([], 'qty', 'sum'); // 0
// Wartość zaczynająca się od `=` byłaby w arkuszu formułą.
escapeCsvCell('=SUM(A1:A9)'); // "'=SUM(A1:A9)"Wartości komórek bywają czymkolwiek
toText() jest jedną definicją tego, „co mówi komórka" — dla filtrowania, sortowania i podsumowań.
Zwykły obiekt daje pusty string, nie '[object Object]': ten drugi udawałby treść, przez co filtr
tekstowy „obj" dopasowywałby każdy wiersz z obiektem w komórce.
API
- Tekst komórki —
toText - Filtry kolumn —
matchesColumnFilter,isEmptyFilterValue, typyKptColumnFilter,KptColumnFilterType,KptTableFilterOption - Agregacje —
aggregate,toNumber, typyKptColumnSummary,KptSummaryFn - CSV —
escapeCsvCell
Pełny opis: llms.txt (EN)
i llms-pl.txt (PL).
Testy
pnpm --filter @konce-pt/table exec node --test "src/**/*.test.ts"Licencja
MIT © konce.pt
