从旧版本迁移
7.1 -> 7.2
升级到 v7.2 带来了一些默认设置的变更。
all_timed 插件现在默认启用
all_timed 插件现在默认激活,允许显示跨夜事件。若需恢复到之前的行为,可以按如下方式调整配置:
scheduler.config.all_timed = false;
日期函数不再修改其参数
在早期版本中,诸如 scheduler.date.day_start、scheduler.date.week_start 和 scheduler.date.date_part 等日期函数会更改传入的原始日期对象:
const date = new Date(2025, 1, 15, 13, 00);
const dayStart = scheduler.date.day_start(date);
console.log(dayStart);
// 2025-02-15 00:00:00
console.log(date);
// 2025-02-15 00:00:00
从 v7.2 开始,原始日期对象保持不变:
const date = new Date(2025, 1, 15, 13, 00);
const dayStart = scheduler.date.day_start(date);
console.log(dayStart);
// 2025-02-15 00:00:00
console.log(date);
// 2025-02-15 13:00:00
7.0 -> 7.1
v7.1 更新包含若干重大变更。
新的周期性事件引擎
启用 recurring 插件时,会使用新的周期性事件引擎:
scheduler.plugin({
recurring:true
});
由于新插件依赖于不同的属性集来定义周期性事件,目前没有直接的迁移路径。你可以继续通过启用旧版插件,使用旧的周期性事件引擎,直到准备好迁移:
scheduler.plugin({
recurring_legacy:true
});
撤销弹窗
由 undo_deleted 控制的撤销功能现在默认启用。如不需要此行为,可通过配置关闭:
scheduler.config.undo_deleted = false;
地图视图的变更
部分属性已弃用,现在属于 map_settings 配置对象的一部分:
- scheduler.config.map_error_position
- scheduler.config.map_initial_position
- scheduler.config.map_type
设置这些属性的新方式如下:
scheduler.config.map_settings = {
initial_position: {
lat: 48.724,
lng: 8.215
},
error_position: {
lat: 15,
lng: 15
},
type: google.maps.MapTypeId.HYBRID
}
...
scheduler.init('scheduler_here',new Date(2024,05,11),"map");
此外,以下地图视图模板已弃用,被 map_info_content 替代:
- scheduler.templates.marker_date
- scheduler.templates.marker_text
新的模板用法如下:
scheduler.templates.map_info_content = function(event){
const formatDate = scheduler.templates.tooltip_date_format;
return `<div><b>Text:</b> ${event.text}
<div><b>Location:</b> ${event.event_location}</div>
<div><b>Starts:</b> ${formatDate(event.start_date)}</div>
<div><b>Ends:</b> ${formatDate(event.end_date)}</div>
</div>`;
};
属性可单独或在统一对象中配置
map_view_provider 属性可以单独指定,也可以放入 map_settings 配置对象中,如下:
scheduler.config.map_settings = {
view_provider: "googleMap"
}
...
scheduler.init('scheduler_here',new Date(2024,05,11),"map");