Lightbox 操作
获取/设置控件值
要获取或更新某个 section 控件的值,可以像下面这样使用 formSection 对象:
// 获取值
var value = scheduler.formSection('description').getValue();
// 设置值
scheduler.formSection('description').setValue('abc');
Setting/getting values of lightbox's controls
单击打开 Lightbox
你可以配置 Lightbox 通过单击事件打开。可以结合 onClick 事件与 showLightbox 方法实现:
scheduler.attachEvent("onClick", function (id, e){
scheduler.showLightbox(id);
return true;
});
Related sample Opening the lightbox on one click
这样配置后,左键单击事件框即可打开 Lightbox。
检查 Lightbox 是否已打开
要判断 Lightbox 当前是打开还是关闭,可以检查 getState 方法返回的 state 对象中的 lightbox_id 属性。 如果 Lightbox 已打开,则返回当前 Lightbox 中事件的 id;否则返回 'null' 或 'undefined':
if (scheduler.getState().lightbox_id){
// Lightbox 已打开时的处理代码
} else {
// Lightbox 已关闭时的处理代码
}
映射事件对象属性到 Lightbox section
要将事件对象的属性映射到 Lightbox 的 section,请按以下步骤操作:
- 确保你的数据源以支持的格式提供事件数据
{
"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访问。
- 要将 Lightbox 控件映射到特定属性,请在 section 配置中设置 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)。