2012-05-14 3 views
3

임, 사용자가 특정 날짜 범위 및 날짜가 변경 될 때마다 시간을 선택할 수 있습니다, 아약스 요청에 공급되는 JSON 객체를 생성 크로스 필터.크로스 필터를 사용하면 인스턴스화 된 후에 크로스 필터를 제거/제거 할 수 있습니까? 내 응용 프로그램에서 자바 스크립트</p> <p><a href="https://github.com/square/crossfilter" rel="nofollow">https://github.com/square/crossfilter</a></p> <p>에 대한 평방 crossfilter 플러그인을 참조

기존 크로스 필터 (화면의 객체는 물론 이벤트)를 제거하고 새로 생성 된 json 객체로 새 객체를 시작할 수 있기를 원합니다.

답변

3

문서에 따르면, 당신은 당신의 객체에

.filter(null) 

또는

.filterAll() 

을 적용하여 필터 중 하나를 취소 할 수 있습니다.

그러나 나는 이것이 반드시 작동하지 않는다는 것을 알았습니다. 따라서 새로운 크로스 필터 개체에 새로운 필터를 적용하는 것이 더 좋은 방법 일 것입니다.

당신이 도움이 될 더 나은 컨텍스트에 대한 몇 가지 코드를 제공 할 수 있다면.

+0

나는 그가 (이후 적어도 내가 무엇을했는지) 실제로 필터를 제거하지 않고 교차 필터 데이터 세트에서 레코드를 제거하는 것이라고 생각한다. – daemonl

1

에서 필터를 재설정해야합니다. 모두 크로스 필터에서 파생 된 크기로 재설정해야합니다. 예를 들어 , 당신이 적용한 경우 다음과 같은 필터를 원래 상태로 되돌아 각 하나 하나 다시 설정해야

payments_by_quantity.filter([1, Infinity]); 
payments_by_total.filter(90); 
payments_by_tip.filter(0); 
payments_by_type.filter("tab"); 

: 당신이 선택적으로 활성화 할 수로

payments_by_quantity.filter(null); 
payments_by_total.filter(null); 
payments_by_tip.filter(null); 
payments_by_type.filter(null); 

이, 말이을 정의한 차원에서 필터를 비활성화/비활성화합니다.

0
if(crossFilter.size() > 0) { 
    // Need to apply filter to all first 
    dc.filterAll(); 
    // Then call remove 
    crossFilter.remove(); 
}