tldr;想要使用自定义按钮定义一个按钮,该按钮将在单击时更新所有事件设置Event.setProp(title,ExtendedProps.avres(。
长版本:我试图通过更改EventRender函数以更新event.title(从而更改事件应显示的内容(将所有事件的标题更改为ExtendedProps.avres.avres。我已经确定我需要设置事件的标题道具以更改显示的标题,但是在尝试动态更改Eventrender函数时,我正在撞到墙上。这是我尝试过的代码,当前默默失败。
...
//,buttonText:'AV Resources'
function eventtitleToAvres(info){
if (info.event.title!=info.event.extendedProps.avres{info.event.setProp(title,extendedProps.avres);}
}
...
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
...
,customButtons:{
eventtitles:{text:'Titles',click:function(calendar){calendar.eventRender .= eventtitleToDbTitle;}}
,eventavres:{text:'AV Resources',click:function(calendar){calendar.eventRender = eventtitleToAvres;}}
,eventparticipants:{text:'Participants',click:function(calendar){calendar.eventRender = eventtitleToParticipants;}}
}
...
但是单击创建的按钮AV资源无济于事。显示的事件标题保持不变,如果我使事件被更新。
EventRender:解决此问题的错误途径。相反,我做了以下操作(使用...用于与此解决方案相关的不重要的代码,而该解决方案不会在其求解的代码中混淆。
<script>
...
var eventTextField='dbtext';
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
...
,customButtons:{
eventtitles:{text:'Titles',click: eventtitleToDbTitle}
,eventavres:{text:'AV Resources',click: eventtitleToAvres}
,eventparticipants:{text:'Participants',click: eventtitleToParticipants}
}
,header:left:'prev,next',center:'title',right:'eventtitles,eventavres,eventparticipants'}
...
});
calendar.render();
function changeTitleField(value,index,array){
value.setProp('title',value.extendedProps[eventTextField]);
}
function eventtitleToDbTitle(){
eventTextField='dbtitle';
currEvents=calendar.getEvents();
currEvents.forEach(changeTitleField);
}
function eventtitleToAvres(){
eventTextField='avres';
currEvents=calendar.getEvents();
currEvents.forEach(changeTitleField);
}
function eventtitleToParticipants(){
eventTextField='panelists';
currEvents=calendar.getEvents();
currEvents.forEach(changeTitleField);
}
});
</script>
因此,在文档内容加载功能中使用上述内容,您必须在驱散新日历后必须声明其他功能,否则它错误而行不通。尝试使用Eventrender会导致种族条件或仅有很长的运行事件负载,甚至只有110个事件,它在15分钟后仍在搅动。.以这种方式书写,需要15-45秒才能重新启动这些事件,但确实如此工作,我可以查看不同的领域...我的项目是为组织编程活动编写一个工具,以进行小型粉丝运行(非利润(约定...这使我可以安排事件,然后选择AV视图以寻找需要在没有AV资源的房间中需要AV硬件的活动。最终,它允许我看到参与者的名字列表,但这更为复杂,因为活动小组成员字段是一系列参与者ID,而不是名字。