콘텐츠로 이동
Data TableAPI Reference

집계 함수·반환값

comins-table@0.2.2React

comins-table 루트에서 import합니다.

export declare function getCominsSummaryValues<TData>(rows: readonly TData[], columns: readonly CominsTableRuntimeColumn<TData>[], summary: CominsTableSummaryConfig<TData>): Record<string, React.ReactNode>;

전달한 rows만 집계해 컬럼 ID별 결과를 반환합니다. 페이지·필터·Tree 범위를 자동 계산하지 않으므로 호출자가 집계할 행을 정합니다. 컬럼 field의 점 경로로 원본 값을 읽으며 셀 formatter는 사용하지 않습니다. 없는 컬럼 설정은 생략합니다. 입력 배열을 변경하지 않지만 사용자 집계·format 콜백은 순수 함수로 작성해야 합니다.

export type CominsSummaryBuiltin = "avg" | "count" | "max" | "min" | "sum";

count는 null·undefined·문자열을 포함한 입력 행 개수입니다. sum/avg/min/max는 유한한 number만 사용하고 숫자 문자열·NaN·Infinity는 제외합니다. 숫자가 없으면 0 대신 null입니다.

export type CominsSummaryAggregator<TData> = (input: {
column: CominsTableRuntimeColumn<TData>;
rows: readonly TData[];
values: readonly unknown[];
}) => React.ReactNode;

column은 정규화된 runtime 컬럼, rows는 전달한 전체 집계 대상, values는 해당 field의 원본 값 배열입니다. ReactNode를 반환합니다. 숨김·접힘·페이지 범위는 이 함수가 결정하지 않습니다.

export type CominsSummaryFormatPayload<TData> = {
column: CominsTableRuntimeColumn<TData>;
rows: readonly TData[];
value: React.ReactNode;
values: readonly unknown[];
};

value는 집계 후 결과입니다. column/rows/values는 집계 입력과 같으며 format은 집계 후 한 번 적용됩니다. 금액 표시 등 출력 변환에 사용합니다.

export type CominsSummaryColumn<TData> = CominsSummaryBuiltin | CominsSummaryAggregator<TData> | CominsSummaryColumnConfig<TData>;

집계 이름, 사용자 함수 또는 상세 설정 객체를 사용할 수 있습니다. 상세 옵션의 aggregate/format/colSpan/style은 테이블 기본 옵션을 참고하십시오.