我玩过 AlloyUI Scheduler,它似乎是迄今为止最好的日历。在戳它的同时,提出了一些问题。我对 YUI 不是特别有经验,所以我的问题可能是由于缺乏与 YUI 一起思考的经验引起的。然而,以下是我未能克服的问题:
首先,我尝试将 500 多个事件加载到其中,结果是每个操作(添加事件、删除事件、在视图之间切换、在周/月之间切换)都会延迟发生。这是预期的吗?500 个事件听起来并不多,即使在相对较短的时间内也是如此。
我可以限制日或月视图中显示的小时数吗?即,我宁愿只显示 08:00 - 17:59,而不是 00:00 - 23:59。
我已经设法翻译了一些 UI,例如“今天”、“日”、“周”、“月”、“议程”、“删除”、“保存”、“取消”、“例如,晚餐在布赖恩的”。但是我如何翻译这些日子(例如,“星期一”、“星期二”等)?
我找到了一种方法来替换 EventRecorder 工具栏的默认按钮。但是有没有办法保留原件(“保存”、“取消”、“删除”)并添加一些自定义的?
var eventRecorder = new Y.SchedulerEventRecorder({ toolbar: { children: [ [ { label: 'Details', on: { click: function () { alert("Yeah!"); } } }, ] ] } });
有没有办法禁用某些时间段来创建事件?我想这可以通过以某种方式中断事件创建来实现。有点像
scheduler.on({ 'scheduler-events:add': function (event) { return isEventAllowed(); } });
在“scheduler-event:change”、“scheduler-event-recorder:edit”或类似事件的情况下,访问日历事件数据的正确方法是什么?我目前分别使用
scheduler.getEvents()[event.index]._state.data
和eventRecorder.getUpdatedSchedulerEvent()._state.data
。但是使用这些气味很有趣。为事件添加详细编辑视图的推荐方法是什么?我目前用以下内容破解了它
scheduler.on({ 'scheduler-base:click': function(event) { var toolbar = $(".aui-scheduler-event-recorder-overlay .yui3-widget-ft .aui-toolbar-content .aui-btn-group"); if (!toolbar.data("custom-processed")) { var button = $('<button class="aui-btn">Details</button>'); toolbar.append(button); button.click(function (event) { event.preventDefault(); var eventData = (eventRecorder.get("event") || eventRecorder.clone())._state.data; // Creating my detailed editing window here $(".aui-scheduler-event-recorder-overlay").addClass("yui3-overlay-hidden"); }); toolbar.data("custom-processed", true); } } });
谢谢,