template
설명
template 함수는 테이블 헤더 셀과 본문 셀에 템플릿을 적용할 수 있게 합니다.
사용법
본문 셀의 경우:
pivot.template({value, method, row, column}) => string;
헤더 셀의 경우:
pivot.template({value, field, method, cell, column}) => string;
파라미터
본문 셀의 경우 함수는 다음 파라미터를 받습니다:
value(any) - (필수) 셀의 원시 값method(string) - (필수) 열에 사용되는 메서드 또는 predicaterow- (필수) 행 데이터를 담은 객체:id(number) - (필수) 행 idvalues(array) - (필수) 행 데이터를 담은 배열open(boolean)- (선택) 브랜치 상태$level(boolean)- (선택) 브랜치 인덱스
column- (필수) 열 데이터를 담은 객체:id(number) - (필수) 열의 idcell(any) - (선택) 셀 콘텐츠를 가진 템플릿 (template 헬퍼를 통한 템플릿 추가 참조)template- (선택)tableShape프로퍼티를 통해 정의된 템플릿fields(array) - (선택) 트리 모드에서 계층형 열의 필드를 정의합니다. 서로 다른 레벨에서 이 열에 표시되는 필드를 반영합니다field- (선택) 필드 id인 문자열method(string) - (선택) 이 열의 필드에 대해 정의된 경우의 메서드methods(array) - (선택) 트리 모드에서 계층형 열의 필드에 적용되는 메서드를 정의합니다format(string or object) - (필수) 날짜 형식 또는 숫자 형식 (필드에 형식 적용 참조)isNumeric(boolean) - (선택) 열이 숫자 값을 포함하는지 여부를 정의합니다isTotal(boolean) - (선택) 합계 열인지 여부를 정의합니다area(string) - (선택) 열이 렌더링되는 영역: "rows", "columns", "values"header- (선택) 각 셀에 대해 다음 프로퍼티를 가진 헤더 셀 배열:text(string) - (선택) 셀 텍스트, 형식화된 값, 또는 predicate 템플릿으로 처리된 값rowspan(number) - (선택) 헤더가 걸쳐야 하는 행 수colspan(number) - (선택) 헤더가 걸쳐야 하는 열 수value(any) - (필수) 셀이 "columns" 영역에 속하는 경우의 원시 값field(string) - (필수) 셀이 "columns" 영역에 속하는 경우 표시되는 값의 필드method(string) - (필수) 셀이 "columns" 영역에 속하고 predicate가 정의된 경우의 필드 predicateformat(string or object) - 날짜 형식 또는 숫자 형식 (필드에 형식 적용 참조)
헤더 셀의 경우 함수 파라미터는 다음과 같습니다:
value(any) - (필수) 셀의 원시 값method(string) - (선택) 열에 사용되는 predicatefield(string) - (선택) 셀에 표시되는 값의 필드cell- (필수) 셀 데이터를 담은 객체:text(string) - (선택) 셀 텍스트, 형식화된 값, 또는 predicate 템플릿으로 처리된 값rowspan(number) - (선택) 헤더가 걸쳐야 하는 행 수colspan(number) - (선택) 헤더가 걸쳐야 하는 열 수value(any) - (필수) 셀이 "columns" 영역에 속하는 경우의 원시 값field(string) - (필수) 셀이 "columns" 영역에 속하는 경우 표시되는 값의 필드method(string) - (필수) 셀이 "columns" 영역에 속하고 predicate가 정의된 경우의 필드 predicateformat(string or object) - (필수) 날짜 형식 또는 숫자 형식 (필드에 형식 적용 참조)
column- (필수) 열 데이터를 담은 객체 (본문 셀과 동일)
예제
아래 스니펫은 pivot.template 헬퍼를 통해 템플릿을 정의하는 방법을 보여줍니다. 헬퍼는 테이블이 렌더링되기 직전에 적용되며, 이는 api.intercept() 메서드를 사용하여 render-table 이벤트를 인터셉트함으로써 이루어집니다.
스니펫은 다음 항목에 아이콘을 추가하는 방법을 보여줍니다:
- 필드(id, user_score)를 기반으로 한 본문 셀 (템플릿이 깃발 및 별 아이콘을 추가)
- 필드 이름을 기반으로 한 헤더 레이블 (예: 필드가 "id"인 경우 헤더 값 옆에 지구본 아이콘 추가)
- 값을 기반으로 한 열 헤더 (색상이 있는 화살표 표시기 추가)
관련 문서: