Skip to content

TableWalker

TableWalker는 열 프로파일링, 필터링 및 정렬 기능이 있는 인터랙티브 데이터 테이블을 렌더링합니다. 각 열에 대한 선택적 통계 요약과 함께 데이터의 테이블 뷰를 제공합니다.

import { TableWalker } from '@kanaries/graphic-walker';

Props

데이터 Props

Prop타입필수설명
dataRecord<string, any>[]Yes*클라이언트 측 모드의 데이터 레코드 배열.
fieldsIMutField[]Yes각 열을 설명하는 필드 정의.
computationIComputationFunctionYes*서버 측 연산 함수. data의 대안.

*data(클라이언트 측) 또는 computation(서버 측) 중 하나를 제공하세요.

테이블 구성

Prop타입기본값설명
pageSizenumber20페이지당 행 수.
hideProfilingbooleanfalse열 프로파일링(분포 바) 숨기기.
hidePaginationAtOnepagebooleanfalse모든 데이터가 한 페이지에 맞을 때 페이지네이션 컨트롤 숨기기.
displayOffsetnumber0행 번호 표시 오프셋.
disableFilterbooleanfalse열 필터링 비활성화.
disableSortingbooleanfalse열 정렬 비활성화.
hideSemanticTypebooleanfalse열의 시맨틱 타입 표시기 숨기기.

외관 Props

Prop타입기본값설명
appearance'media' | 'light' | 'dark''media'다크 모드 설정.
vizThemeConfigIThemeKey | GWGlobalConfigundefined시각적 요소의 테마.
uiThemeIUIThemeConfigundefined커스텀 UI 색상.

Ref Props

Prop타입설명
tableFilterRefReact.Ref<{ getFilters: () => IVisFilter[] }>현재 필터 상태에 접근하기 위한 Ref.
storeRefReact.RefObject<VizSpecStore>내부 시각화 스토어에 대한 Ref.
onMetaChange(fid: string, meta: Partial<IMutField>) => void필드 메타데이터 변경 시 콜백.

i18n Props

Prop타입설명
i18nLangstring언어 코드.
i18nResourcesRecord<string, Record<string, string>>커스텀 번역.

스타일링

Prop타입설명
classNamestring루트 요소의 CSS 클래스.
styleReact.CSSProperties인라인 스타일. 기본값: { width: '100%', height: '100%' }.

예시

기본 테이블

import { TableWalker } from '@kanaries/graphic-walker';
 
function DataTable({ data, fields }) {
  return (
    <div style={{ height: '600px' }}>
      <TableWalker data={data} fields={fields} />
    </div>
  );
}

읽기 전용 테이블

<TableWalker
  data={data}
  fields={fields}
  disableFilter
  disableSorting
  hideProfiling
  pageSize={50}
/>

필터 접근하기

import { useRef } from 'react';
 
function FilteredTable({ data, fields }) {
  const filterRef = useRef(null);
 
  const handleGetFilters = () => {
    if (filterRef.current) {
      const filters = filterRef.current.getFilters();
      console.log('Active filters:', filters);
    }
  };
 
  return (
    <>
      <button onClick={handleGetFilters}>Get Filters</button>
      <TableWalker
        data={data}
        fields={fields}
        tableFilterRef={filterRef}
      />
    </>
  );
}