Lightbox 조작하기
컨트롤 값 가져오기/설정하기
섹션의 컨트롤 값을 가져오거나 업데이트하려면 formSection 객체를 다음과 같이 사용하세요:
// 값을 가져오기
var value = scheduler.formSection('description').getValue();
// 값을 설정하기
scheduler.formSection('description').setValue('abc');
Setting/getting values of lightbox's controls
한 번의 클릭으로 라이트박스 열기
라이트박스 를 한 번의 클릭으로 열도록 설정할 수 있습니다. 이는 onClick 이벤트와 showLightbox 메서드를 함께 사용하여 구현할 수 있습니다:
scheduler.attachEvent("onClick", function (id, e){
scheduler.showLightbox(id);
return true;
});
Related sample Opening the lightbox on one click
이 설정을 적용하면, 이벤트 박스를 마우스 왼쪽 버튼으로 클릭할 때 라이트박스가 열립니다.
라이트박스가 열려 있는지 확인하기
라이트박스가 현재 열려 있는지 닫혀 있는지 확인하려면, getState 메서드가 반환하는 state 객체의 lightbox_id 속성을 확인하세요. 라이트박스가 열려 있으면 해당 라이트박스에 있는 이벤트의 id를 반환하고, 그렇지 않으면 'null' 또는 'undefined'를 반환합니다:
if (scheduler.getState().lightbox_id){
// 라이트박스가 열려 있을 때 처리 코드
} else {
// 라이트박스가 닫혀 있을 때 처리 코드
}
이벤트 객체의 속성을 라이트박스 섹션에 매핑하기
이벤트 객체의 속성을 라이트박스 섹션에 연결하려면 다음 단계를 따르세요:
- 데이터 소스가 지원되는 형식으로 이벤트를 제공하는지 확인하세요.
{
"data":[
{
"id":"1",
"start_date":"2019-03-02 00:00:00",
"end_date":"2019-03-04 00:00:00",
"text":"Graduation ceremony",
"type":"1",
"location":"London"
},
...
]
}
데이터 소스가 반환하는 모든 속성은 이벤트 객체에 추가되며, 클라이언트 사이드 API를 통해 접근할 수 있습니다.
- 라이트박스 컨트롤을 특정 속성에 매핑하려면 섹션의 map_to 속성에 이벤트 속성명을 지정하세요:
scheduler.config.lightbox.sections="["
{name:"description", height:70, map_to:"text", type:"textarea" , focus:true},
{name:"locationInput", height:35, map_to:"location", type:"textarea" },
{name:"typeSelect", map_to:"type", type:"select", options:scheduler.serverList("types")},
{name:"time", type:"time", map_to:"auto"}
];
time 및 recurring 컨트롤은 예외로, 항상 고정된 속성(event.start_date/event.end_date 및 event.rec_type/event.event_length/event.event_pid)에 매핑됩니다.
Time 컨트롤에서 자동 종료 날짜
이벤트의 기본 지속 시간을 설정하고, 해당 지속 시간을 유지하도록 종료 날짜가 자동으로 업데이트되게 하려면 다음 속성을 설정하세요:
// auto_end_time 파라미터에 분 단위로 이벤트 지속 시간 지정
scheduler.config.event_duration = 60;
scheduler.config.auto_end_date = true;
이렇게 하면 사용자가 라이트박스에서 이벤트의 시작 시간이나 날짜를 변경할 때마다 종료 시간과 날짜가 자동으로 조정되어 이벤트 지속 시간이 60분( event_duration 옵션에 지정된 대로)으로 유지됩니다.