이 문서는 AI에 의해 번역되었습니다. 정확한 정보는 영어 버전을 참조하세요.
필터 연결 관리자로, 필터 양식(FilterForm)과 데이터 블록(테이블, 목록, 차트 등) 사이의 필터 연결을 관리합니다. BlockGridModel에서 제공하며, 해당 컨텍스트(예: 필터 양식 블록, 데이터 블록) 내에서만 사용할 수 있습니다.
| 시나리오 | 설명 |
|---|---|
| 필터 양식 블록 | 필터 항목과 대상 블록 간의 연결 설정을 관리하며, 필터 변경 시 대상 데이터를 새로고침합니다. |
| 데이터 블록 (테이블/목록) | 필터링 대상이 되며, bindToTarget을 통해 필터 조건을 바인딩합니다. |
| 연동 규칙 / 사용자 정의 FilterModel | doFilter, doReset 호출 시 refreshTargetsByFilter를 사용하여 대상 새로고침을 실행합니다. |
| 연결 필드 설정 | getConnectFieldsConfig, saveConnectFieldsConfig를 사용하여 필터와 대상 간의 필드 매핑을 유지 관리합니다. |
주의:
ctx.filterManager는BlockGridModel이 있는 RunJS 컨텍스트(예: 필터 양식이 포함된 페이지 내)에서만 사용할 수 있습니다. 일반 JSBlock이나 독립 페이지에서는undefined이므로, 사용 전 옵셔널 체이닝(?.)을 사용하는 것을 권장합니다.
| 메서드 | 설명 |
|---|---|
getFilterConfigs() | 현재 모든 필터 연결 설정을 가져옵니다. |
getConnectFieldsConfig(filterId) | 특정 필터의 연결 필드 설정을 가져옵니다. |
saveConnectFieldsConfig(filterId, config) | 필터의 연결 필드 설정을 저장합니다. |
addFilterConfig(config) | 필터 설정(filterId + targetId + filterPaths)을 추가합니다. |
removeFilterConfig({ filterId?, targetId?, persist? }) | filterId, targetId 또는 둘 다를 기준으로 필터 설정을 삭제합니다. |
bindToTarget(targetId) | 필터 설정을 대상 블록에 바인딩하여 해당 리소스(resource)가 필터를 적용하도록 트리거합니다. |
unbindFromTarget(targetId) | 대상 블록에서 필터 바인딩을 해제합니다. |
refreshTargetsByFilter(filterId 또는 filterId[]) | 필터와 연관된 대상 블록 데이터를 새로고침합니다. |
getFilterValue()를 구현해야 합니다.resource는 addFilterGroup, removeFilterGroup, refresh를 지원해야 합니다.