콘텐츠로 이동
Data TableAPI Reference

Core 행 조회·변경

comins-table@0.2.2React

0.2.0: 이 페이지의 타입과 helper는 루트 comins-table의 React 상태 계약입니다. 중립 /core는 별도 타입 계약을 사용합니다. 마이그레이션 가이드에서 import 경로와 셀 정책 차이를 확인합니다.

행 변경 함수는 다음 상태를 반환합니다. 입력 배열과 행 객체를 직접 변경하지 말고 반환 상태를 저장하십시오. 행 ID 배열의 값 또는 순서가 바뀌면 행·셀·범위 선택을 모두 초기화합니다.

export declare function queryCominsRows<TData>(state: CominsTableState<TData>, predicate?: (row: TData, index: number) => boolean): TData[];

predicate가 없으면 rows의 얕은 배열 복사, 있으면 원본 인덱스로 filter한 배열을 반환합니다. 정렬·페이지는 적용하지 않습니다.

export declare function replaceCominsRows<TData>(state: CominsTableState<TData>, rows: readonly TData[]): CominsTableState<TData>;

행 배열을 교체합니다. ID가 동일해도 선택을 항상 초기화하며 새 배열의 참조를 공유합니다.

export declare function addCominsRows<TData>(state: CominsTableState<TData>, rows: readonly TData[]): CominsTableState<TData>;

기존 배열 끝에 행을 추가합니다. 고유 ID 생성이나 중복 ID 제거를 대신하지 않습니다.

export declare function updateCominsRows<TData>(state: CominsTableState<TData>, updates: ReadonlyArray<CominsRowUpdate<TData>>): CominsTableState<TData>;

ID에 대응하는 patch를 적용합니다. 객체 patch는 얕게 병합하고 함수 patch는 새 행 전체를 반환합니다. 같은 ID의 마지막 update가 우선하며 없는 ID는 무시합니다. ID와 순서가 유지되면 선택도 유지됩니다.

export declare function deleteCominsRows<TData>(state: CominsTableState<TData>, rowIds: readonly CominsRowId[]): CominsTableState<TData>;

지정 ID의 행을 제거합니다. 존재하지 않는 ID는 무시합니다.

export declare function moveCominsRow<TData>(state: CominsTableState<TData>, rowId: CominsRowId, targetIndex: number): CominsTableState<TData>;

행을 제거한 배열에서 targetIndex 위치에 삽입합니다. targetIndex는 0…남은 길이로 제한하며 없는 행 ID는 원래 상태를 반환합니다. 정렬 모델은 유지되므로 정렬된 표시 순서는 달라 보일 수 있습니다.

export declare function moveCominsRowToGroup<TData>(state: CominsTableState<TData>, options: CominsRowGroupMoveOptions<TData>): CominsTableState<TData>;

그룹이 달라지면 setRowGroupId가 필요합니다. targetRowId가 있으면 이동 전 대상 행 인덱스를 제거 후 배열에 제한하여 삽입합니다. 따라서 원본 행이 대상보다 앞에 있으면 대상 뒤, 뒤에 있으면 대상 앞이 됩니다. 생략하면 대상 그룹의 마지막 행 뒤, 빈 그룹이면 배열 끝입니다. 잘못된 ID·대상 그룹 불일치는 원래 상태를 반환합니다.

export type CominsRowUpdate<TData> = {
id: CominsRowId;
patch: Partial<TData> | ((row: TData) => TData);
};
속성 동작·기본값
id 변경할 행 ID.
patch Partial 객체의 얕은 병합 또는 새 행을 반환하는 함수. 함수에서 기존 행을 직접 변경하지 않습니다.
export type CominsRowGroupMoveOptions<TData> = {
getRowGroupId: (row: TData, dataIndex: number) => CominsRowId;
setRowGroupId?: (params: {
fromGroupId: CominsRowId;
row: TData;
rowId: CominsRowId;
toGroupId: CominsRowId;
}) => TData;
sourceRowId: CominsRowId;
targetGroupId: CominsRowId;
targetRowId?: CominsRowId;
};
속성 동작·기본값
getRowGroupId 필수. 행과 현재 데이터 인덱스에서 그룹 ID를 계산합니다.
setRowGroupId 그룹 간 이동 시 필수. fromGroupId/row/rowId/toGroupId를 받아 새 행을 반환합니다.
sourceRowId 이동할 행 ID.
targetGroupId 대상 그룹 ID.
targetRowId 선택. 위치 기준 행 ID. 해당 행은 targetGroupId에 속해야 합니다.