Core 행 조회·변경
0.2.0: 이 페이지의 타입과 helper는 루트
comins-table의 React 상태 계약입니다. 중립/core는 별도 타입 계약을 사용합니다. 마이그레이션 가이드에서 import 경로와 셀 정책 차이를 확인합니다.
행 변경 함수는 다음 상태를 반환합니다. 입력 배열과 행 객체를 직접 변경하지 말고 반환 상태를 저장하십시오. 행 ID 배열의 값 또는 순서가 바뀌면 행·셀·범위 선택을 모두 초기화합니다.
queryCominsRows
섹션 제목: “queryCominsRows”export declare function queryCominsRows<TData>(state: CominsTableState<TData>, predicate?: (row: TData, index: number) => boolean): TData[];predicate가 없으면 rows의 얕은 배열 복사, 있으면 원본 인덱스로 filter한 배열을 반환합니다. 정렬·페이지는 적용하지 않습니다.
replaceCominsRows
섹션 제목: “replaceCominsRows”export declare function replaceCominsRows<TData>(state: CominsTableState<TData>, rows: readonly TData[]): CominsTableState<TData>;행 배열을 교체합니다. ID가 동일해도 선택을 항상 초기화하며 새 배열의 참조를 공유합니다.
addCominsRows
섹션 제목: “addCominsRows”export declare function addCominsRows<TData>(state: CominsTableState<TData>, rows: readonly TData[]): CominsTableState<TData>;기존 배열 끝에 행을 추가합니다. 고유 ID 생성이나 중복 ID 제거를 대신하지 않습니다.
updateCominsRows
섹션 제목: “updateCominsRows”export declare function updateCominsRows<TData>(state: CominsTableState<TData>, updates: ReadonlyArray<CominsRowUpdate<TData>>): CominsTableState<TData>;ID에 대응하는 patch를 적용합니다. 객체 patch는 얕게 병합하고 함수 patch는 새 행 전체를 반환합니다. 같은 ID의 마지막 update가 우선하며 없는 ID는 무시합니다. ID와 순서가 유지되면 선택도 유지됩니다.
deleteCominsRows
섹션 제목: “deleteCominsRows”export declare function deleteCominsRows<TData>(state: CominsTableState<TData>, rowIds: readonly CominsRowId[]): CominsTableState<TData>;지정 ID의 행을 제거합니다. 존재하지 않는 ID는 무시합니다.
moveCominsRow
섹션 제목: “moveCominsRow”export declare function moveCominsRow<TData>(state: CominsTableState<TData>, rowId: CominsRowId, targetIndex: number): CominsTableState<TData>;행을 제거한 배열에서 targetIndex 위치에 삽입합니다. targetIndex는 0…남은 길이로 제한하며 없는 행 ID는 원래 상태를 반환합니다. 정렬 모델은 유지되므로 정렬된 표시 순서는 달라 보일 수 있습니다.
moveCominsRowToGroup
섹션 제목: “moveCominsRowToGroup”export declare function moveCominsRowToGroup<TData>(state: CominsTableState<TData>, options: CominsRowGroupMoveOptions<TData>): CominsTableState<TData>;그룹이 달라지면 setRowGroupId가 필요합니다. targetRowId가 있으면 이동 전 대상 행 인덱스를 제거 후 배열에 제한하여 삽입합니다. 따라서 원본 행이 대상보다 앞에 있으면 대상 뒤, 뒤에 있으면 대상 앞이 됩니다. 생략하면 대상 그룹의 마지막 행 뒤, 빈 그룹이면 배열 끝입니다. 잘못된 ID·대상 그룹 불일치는 원래 상태를 반환합니다.
CominsRowUpdate
섹션 제목: “CominsRowUpdate”export type CominsRowUpdate<TData> = { id: CominsRowId; patch: Partial<TData> | ((row: TData) => TData);};| 속성 | 동작·기본값 |
|---|---|
id |
변경할 행 ID. |
patch |
Partial 객체의 얕은 병합 또는 새 행을 반환하는 함수. 함수에서 기존 행을 직접 변경하지 않습니다. |
CominsRowGroupMoveOptions
섹션 제목: “CominsRowGroupMoveOptions”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에 속해야 합니다. |