[]
        
(Showing Draft Content)

이벤트 조회, 필터링 및 새로고침

애플리케이션에서 일부 이벤트만 조회하거나, 업무 기준에 따라 일정을 필터링하거나, 데이터 변경 후 스케줄러를 새로 고쳐야 할 때 이 내용을 참고하세요. 이러한 작업은 런타임 데이터 처리에 해당합니다. 이벤트 필드 매핑에 대한 자세한 내용은 이벤트 데이터 구성을 참조하세요.

날짜 및 리소스별 이벤트 조회

애플리케이션에서 특정 시간 범위나 리소스에 해당하는 원본 이벤트를 조회하려면 getEvents를 사용합니다. 리소스 조건은 SchedulerResourceQuery 배열로 전달합니다.

const visibleEvents = scheduler.getEvents(
  new Date(2026, 7, 24),
  new Date(2026, 7, 25),
  [{ fieldExpr: 'roomId', value: 'room-a' }],
);

반환되는 값은 렌더링된 이벤트 조각이 아니라 원본 항목입니다. start 경계는 포함되며 end 경계는 포함되지 않습니다.

CollectionView로 이벤트 필터링

상태, 팀, 담당자 또는 검색어와 같은 애플리케이션 조건을 충족하는 이벤트만 사용자에게 표시해야 하는 경우 CollectionView 필터를 사용합니다.

const events = new wjCore.CollectionView(allEvents);
scheduler.itemsSource = events;
events.filter = item =>
  item.status === 'Confirmed' && item.team === selectedTeam;

필터를 변경하면 컬렉션 뷰가 새로 고쳐집니다. 스케줄러는 컬렉션의 현재 뷰를 렌더링하며 원본 배열을 수정하지 않습니다.

검색 조건과 필터 조건 결합

검색 텍스트와 선택 컨트롤이 일관되게 적용되도록 필터 조건 함수를 애플리케이션 상태로 관리합니다.

function refreshFilter() {
  const term = searchText.trim().toLowerCase();
  events.filter = item => {
    const matchesText = !term || item.subject.toLowerCase().includes(term);
    const matchesStatus = statusFilter === 'All' || item.status === statusFilter;
    return matchesText && matchesStatus;
  };
}

리소스별 레인을 표시하거나 리소스 할당을 확인해야 한다면 리소스 설명자를 사용하세요. 컬렉션 필터링으로 리소스 구성을 대신하지 마세요.

데이터 변경 후 새로 고침

스케줄러가 변경 사항을 감지할 수 있도록 바인딩된 CollectionView를 통해 항목을 추가하거나 수정 또는 삭제하세요.

events.addNew(newEvent);
events.commitNew();

항목을 수정할 때는 이벤트 생성, 편집 및 삭제에 설명된 컬렉션 API를 사용해 원본 데이터를 업데이트하세요. 화면에 표시된 이벤트 요소를 직접 수정하지 마세요.

서버 데이터 업데이트 후 새로 고침

서버 요청이 완료되면 컬렉션 소스를 교체하거나 업데이트한 뒤 뷰를 새로 고치세요. 스케줄러는 서버 작업을 자동으로 롤백하지 않으므로, 요청이 실패했을 때의 처리는 애플리케이션 코드에서 직접 구현해야 합니다.

const response = await api.getEvents();
events.sourceCollection = response.items;
events.refresh();

업데이트가 증분 방식으로 도착하는 경우 전체 소스를 교체하는 대신 기존 컬렉션에 적용합니다. 이렇게 하면 필터 및 기타 컨트롤에서 사용하는 컬렉션 인스턴스가 유지됩니다.

스케줄러와 애플리케이션 상태 동기화

작업

권장 담당 주체

필드 매핑 및 유효성 검사

애플리케이션 및 스케줄러 구성

검색 및 업무 기준 필터링

CollectionView 또는 애플리케이션 상태

날짜 및 리소스 조회

getEvents

로컬 컬렉션 변경 알림

CollectionView

서버 저장

애플리케이션 서비스 계층

필드 매핑 규칙은 이벤트 데이터 구성을, 사용자가 편집한 이벤트를 저장하는 방법은 이벤트 생성, 편집 및 삭제를 참조하시기 바랍니다.