4

我玩过 AlloyUI Scheduler,它似乎是迄今为止最好的日历。在戳它的同时,提出了一些问题。我对 YUI 不是特别有经验,所以我的问题可能是由于缺乏与 YUI 一起思考的经验引起的。然而,以下是我未能克服的问题:

  1. 首先,我尝试将 500 多个事件加载到其中,结果是每个操作(添加事件、删除事件、在视图之间切换、在周/月之间切换)都会延迟发生。这是预期的吗?500 个事件听起来并不多,即使在相对较短的时间内也是如此。

  2. 我可以限制日或月视图中显示的小时数吗?即,我宁愿只显示 08:00 - 17:59,而不是 00:00 - 23:59。

  3. 我已经设法翻译了一些 UI,例如“今天”、“日”、“周”、“月”、“议程”、“删除”、“保存”、“取消”、“例如,晚餐在布赖恩的”。但是我如何翻译这些日子(例如,“星期一”、“星期二”等)?

  4. 我找到了一种方法来替换 EventRecorder 工具栏的默认按钮。但是有没有办法保留原件(“保存”、“取消”、“删除”)并添加一些自定义的?

    var eventRecorder = new Y.SchedulerEventRecorder({
      toolbar: {
        children: [
          [
            {
              label: 'Details',
              on: {
                click: function () {
                  alert("Yeah!");
                }
              }
            },
          ]
        ]
      }
    });
    
  5. 有没有办法禁用某些时间段来创建事件?我想这可以通过以某种方式中断事件创建来实现。有点像

    scheduler.on({
      'scheduler-events:add': function (event) {
        return isEventAllowed();
      }
    });
    
  6. 在“scheduler-event:change”、“scheduler-event-recorder:edit”或类似事件的情况下,访问日历事件数据的正确方法是什么?我目前分别使用scheduler.getEvents()[event.index]._state.dataeventRecorder.getUpdatedSchedulerEvent()._state.data。但是使用这些气味很有趣。

  7. 为事件添加详细编辑视图的推荐方法是什么?我目前用以下内容破解了它

    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);
        }
      }
    });
    

谢谢,

4

0 回答 0