TLDR;想要使用自定义按钮定义一个按钮,单击该按钮将更新设置event.setProp(title,extendedProps.avres)的所有事件。
长版: 我正在尝试通过更改eventRender函数以更新event.title(从而更改该事件应显示的内容),将所有事件的标题更改为extendedProps.avres。我已经确定需要设置事件的标题属性来更改显示的标题,但是在尝试动态更改eventRender函数时,我大吃一惊。这是我尝试过的当前无提示失败的代码。
df = pd.concat([df] * 1000, ignore_index=True)
%timeit df.assign(**dict(zip('gh', df.col.str)))
%timeit df.assign(**dict(zip('gh', zip(*df.col))))
%timeit df.join(pd.DataFrame([*df.col], df.index, [*'gh']))
11.4 ms ± 1.53 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
2.1 ms ± 41.4 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
2.33 ms ± 35.1 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
但是单击创建的按钮AV Resources不会执行任何操作。如果我导致要更新的事件,显示的事件标题将保持不变。.如何动态更新calendar.eventRender函数?
答案 0 :(得分:0)
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资源的房间中..最终,它使我可以按名称查看参与者的列表,但这更加复杂,因为Event Panelists字段是参与者ID而不是名称的数组。