javascript - FullCalendar 独特的自定义每周 View

标签 javascript jquery angularjs jquery-ui fullcalendar

是否可以像图片链接一样从头开始构建每周 View - 使用下面的 Json 结构?

var nestedEvents = {
    "ABC": [
        { 
            title: 'Test-1',
            startDate: moment,
            endDate: moment,
            "allDay": true
        },{ 
            title: 'Test-2',
            startTime: moment,
            endTime: moment,
            "allDay": true
        }
    ],
    "DEF": [
        { 
            title: 'Test-3',
            startTime: moment,
            endTime: moment,
            "allDay": true
        }
    ]
};

enter image description here

最佳答案

您可以借助 momentjs 的格式函数来完成此操作

moment(startDate).format('w') //returns the weeknumber (from 1 to 53)  
moment(startDate).format('d') //returns the day of the week (from 0 to 6)

首先,您必须创建一个对象来存储按周排序的事件。

然后,您必须循环事件并使用事件相应的周和日索引将每个事件推送到此对象:

for(var i=0; i<events.length; i++){
    var weekIndex = moment(startDate).format('w')-1; 
    var dayIndex = moment(startDate).format('d');

    calendar.weeks[weekIndex].days[dayIndex].events.push(events[i]);
}

结果(一年)必须如下所示:

var calendar = {

"weeks": [
  {
     "weekNumber": 0,
     "days": [
        {
           "dayNumber": 0,
           "events": [
              {
                 "title": "Test-1",
                 "startDate": moment,
                 "endDate": moment
                 "allDay": true
              }
           ]
        },
        {
           "dayNumber": 1,
           "events": [
              {
                 "eventNumber": 0,
                 "title": "Test-2",
                 "startDate": moment,
                 "endDate": moment,
                 "allDay": true
              },
              {
                 "eventNumber": 1
              },
              {}
           ]
        },
        {
           "dayNumber": 2
        }
     ]
  },
  {
     "weekNumber": 1
  },
  {
     "weekNumber": 2
  },
  {}
]
}

关于javascript - FullCalendar 独特的自定义每周 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33423032/

相关文章:

javascript - 管理 Angular JS karma grunt 测试中的依赖关系

javascript - 有什么方法可以删除 HTML 元素中的 Angular 属性吗?

jquery - 使用 Jquery 验证防止重复值

jQuery Mobile 无法正确调整页面大小

javascript - jQuery $.each 问题与 iOS Safari 上的循环

javascript - 为什么我的变量在 Controller 中未定义,但它在带有数据绑定(bind)的 HTML 页面中正确显示

javascript - CKEditor 4.7 - 对齐组菜单按钮

使用 if(foo) 的 Javascript 存在检查是否设置了变量

javascript - 如何选择行数据表对应的页

javascript - 在 IE 上使用 CKEditor 插件获取选定的文本