CategoryCallback

자동 필터링 시 사용자 지정 분류를 위한 콜백 형식

타입

(column: DataColumn, values: any[]) => FilterCategory[];

상세 설명

[매개변수 목록]

column - 자동 필터링이 걸려있는 컬럼

values - 전체 값들

[반환값] - 카데고리 분류 모델의 배열 형태

예제 코드

const f = function(column, values) {
     const emptyText = '빈 아이템'
     if (!values) {
         return null;
     }
     const valids = values.filter(function (el) { return el != undefined && el != null; });
     const min = Math.min.apply(null, valids);
     const vlen = values.length;
     let unit;
     if (vlen > 15) {
         const groupCount = Math.min(Math.round(vlen / 5)), 10);
         unit = Math.round(vlen / groupCount);
     } else {
         unit = 1;
     }
     let categories = [];
     let gvals = [];
     let gindex = 0;
     let gmin = min;
     let isEmpty = false;
     for (let i = 0; i < vlen; i++) {
         const v = values[i];
         if (v === undefined || v === null) {
             isEmpty = true;
             continue;
         }
         if (i == gindex + unit || i === vlen - 1) {
             categories.push({ text: gmin + ' ~ ' + v, values: gvals });
             gvals = [v];
             gindex = i;
             gmin = v;
         } else {
             gvals.push(v);
         }
     }
     if (isEmpty) {
         categories.push({ text: emptyText, empty: true });
     }
     return categories;
}