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;
}