Fullcalendar 完整日历v3在列表视图中的日历年结束后扩展显示

Fullcalendar 完整日历v3在列表视图中的日历年结束后扩展显示,fullcalendar,Fullcalendar,早上好 我在完整日历中设置了一个列表视图,并注意到它不会显示年底之后的事件。现在是12月中旬,这对我来说有点问题。我们有几个事件应该显示在此列表中。当我将视图更改为“月份”时,我必须单击“下一个月”按钮以获取下一年的事件,但至少这样,我成功地看到了相关事件 当我接近今年年底时,是否有办法让我的列表视图日历滚动并包含下一年的条目 以下是我所拥有的影响日历显示的内容的摘录: {url:'https://calendar.mydomain.com/services/id/38djsuw3hr-

早上好

我在完整日历中设置了一个列表视图,并注意到它不会显示年底之后的事件。现在是12月中旬,这对我来说有点问题。我们有几个事件应该显示在此列表中。当我将视图更改为“月份”时,我必须单击“下一个月”按钮以获取下一年的事件,但至少这样,我成功地看到了相关事件

当我接近今年年底时,是否有办法让我的列表视图日历滚动并包含下一年的条目

以下是我所拥有的影响日历显示的内容的摘录:

    {url:'https://calendar.mydomain.com/services/id/38djsuw3hr-au8reh39dq/organization/1/department/13/',event_properties:{color:'#6a9b49'}},
]


function data_req (url, callback) {
    req = new XMLHttpRequest()
    req.addEventListener('load', callback)
    req.open('GET', url)
    req.send()
}   

function add_recur_events() {
    if (sources_to_load_cnt < 1) {
        $('#calendar').fullCalendar('addEventSource', expand_recur_events)
    } else {
        setTimeout(add_recur_events, 30)
    }
}

function load_ics(ics){
    data_req(ics.url, function(){
        $('#calendar').fullCalendar('addEventSource', fc_events(this.response, ics.event_properties))
        sources_to_load_cnt -= 1
    })
}

$(document).ready(function() {
    $('#calendar').fullCalendar({
        header: {
            left: '',
            center: '',
            right: '' //view options on top-right (supported by v2.9.1 currently)    
        },
        viewDisplay: function(view) {
            parent.setIframeHeight(iframeId) ;
          },
        eventClick: function(event) { 
            // opens events in a new window or tab
            window.open(event.url,);
            return false;

          },
         // eventDataTransform: function(rawEventData){
         //     return {title: rawEventData.Title
         //         };
         //     },

        defaultView: $(window).width() < 765 ? 'listYear':'listYear', //carryover code from full sized calendar
            nowIndicator: false, //show a marker for current time 
            eventLimit: 4, // allow "more" link when too many events
            fixedWeekCount: false, // have blank rows on a 6 or 7 row month
            listDayFormat: 'MMMM Do',
            listDayAltFormat: false,
            allDayDefault: false,
            noEventsMessage: "No Currently Scheduled Events"
        })

    sources_to_load_cnt = ics_sources.length
    for (ics of ics_sources) {
        load_ics(ics)
    }
    add_recur_events()
})
{url:'https://calendar.mydomain.com/services/id/38djsuw3hr-au8reh39dq/organization/1/department/13/,事件属性:{color:'#6a9b49'}},
]
函数数据请求(url、回调){
req=新的XMLHttpRequest()
请求addEventListener('load',回调)
请求打开('GET',url)
请求发送()
}   
函数add\u recur\u events(){
如果(源到负载小于1){
$(“#日历”).fullCalendar('addEventSource',expand_recur_events)
}否则{
设置超时(添加重复事件,30)
}
}
功能负载(ics){
数据请求(ics.url,函数(){
$('#calendar').fullCalendar('addEventSource',fc_事件(this.response,ics.event_属性))
源\u至\u负载\u cnt-=1
})
}
$(文档).ready(函数(){
$(“#日历”).fullCalendar({
标题:{
左:'',
中心:'',
右:“”//右上角的视图选项(当前受v2.9.1支持)
},
视图显示:功能(视图){
parent.setIframeHeight(iframeId);
},
eventClick:函数(事件){
//在新窗口或选项卡中打开事件
window.open(event.url,);
返回false;
},
//eventDataTransform:函数(rawEventData){
//返回{title:rawEventData.title
//         };
//     },
defaultView:$(window).width()<765?'listYear':'listYear',//全尺寸日历的结转代码
nowIndicator:false,//显示当前时间的标记
eventLimit:4,//当事件太多时允许“更多”链接
fixedWeekCount:false,//在6行或7行月份中有空行
listDayFormat:'MMMM Do',
listDayAltFormat:false,
allDayDefault:false,
noEventsMessage:“没有当前计划的事件”
})
sources_至_load_cnt=ics_sources.length
用于(ics\U源的ics){
加载集成电路(ics)
}
添加重复事件()
})
在列表视图中,我只看到我的“NoEventsMessage”文本。如果我创建的测试事件发生在年底之前,它将显示在列表视图中

关于跨越日历终点有什么想法吗? 谢谢


[编辑:我应该说顶部的链接是一个JSON提要,因此我没有使用脚本中或外部文件中的事件预填充列表]

我就是这样解决的

  • 我为特定的默认视图创建了一个名为“列表”的自定义视图条目,并给它一年的期限:

    视图:{
    名单:{
    持续时间:{天:365}
    }
    },

  • 我从我的全尺寸日历中带入的动态版本中重置了默认视图(因为我在列中使用了该视图,不需要窗口宽度调用):

    发件人:

    defaultView:$(窗口).width()listYear':'listYear',

    致:

    defaultView:'list',

  • 做了这些之后,我明年一月份的条目开始显示在列表视图中

    下面是我的显示调用的样子(如果有人想编辑它使它看起来更漂亮、更高效,我不介意:)

    ics\u源=[
    {url:'https://calendar.mydomain.com/services/id/38djsuw3hr-au8reh39dq/organization/1/department/13/,事件属性:{color:'#6a9b49'}},
    ]
    函数数据请求(url、回调){
    req=新的XMLHttpRequest()
    请求addEventListener('load',回调)
    请求打开('GET',url)
    请求发送()
    }   
    函数add\u recur\u events(){
    如果(源到负载小于1){
    $(“#日历”).fullCalendar('addEventSource',expand_recur_events)
    }否则{
    设置超时(添加重复事件,30)
    }
    }
    功能负载(ics){
    数据请求(ics.url,函数(){
    $('#calendar').fullCalendar('addEventSource',fc_事件(this.response,ics.event_属性))
    源\u至\u负载\u cnt-=1
    })
    }
    $(文档).ready(函数(){
    $(“#日历”).fullCalendar({
    标题:false,
    视图显示:功能(视图){
    parent.setIframeHeight(iframeId);
    },
    eventClick:函数(事件){
    //在新窗口或选项卡中打开事件
    window.open(event.url,);
    返回false;
    },
    defaultView:'列表',
    nowIndicator:false,//显示当前时间的标记
    eventLimit:4,//当事件太多时允许“更多”链接
    fixedWeekCount:false,//在6行或7行月份中有空行
    listDayFormat:'MMMM Do',
    listDayAltFormat:false,
    noEventsMessage:“没有当前计划的事件”,
    观点:{
    名单:{
    持续时间:{天:365},
    }
    }
    })
    sources_至_load_cnt=ics_sources.length
    用于(ics\U源的ics){
    加载集成电路(ics)
    }
    添加重复事件()
    })
    
    谢谢

    [编辑:从答案中删除无关的反勾号。]

    ics_sources = [
            {url:'https://calendar.mydomain.com/services/id/38djsuw3hr-au8reh39dq/organization/1/department/13/',event_properties:{color:'#6a9b49'}},
    ]
    
    
    function data_req (url, callback) {
        req = new XMLHttpRequest()
        req.addEventListener('load', callback)
        req.open('GET', url)
        req.send()
    }   
    
    function add_recur_events() {
        if (sources_to_load_cnt < 1) {
            $('#calendar').fullCalendar('addEventSource', expand_recur_events)
        } else {
            setTimeout(add_recur_events, 30)
        }
    }
    
    function load_ics(ics){
        data_req(ics.url, function(){
            $('#calendar').fullCalendar('addEventSource', fc_events(this.response, ics.event_properties))
            sources_to_load_cnt -= 1
        })
    }
    
    $(document).ready(function() {
        $('#calendar').fullCalendar({
            header: false,
    
            viewDisplay: function(view) {
                parent.setIframeHeight(iframeId) ;
              },
            eventClick: function(event) { 
                // opens events in a new window or tab
                window.open(event.url,);
                return false;
    
              },
    
    
            defaultView: 'list',    
                nowIndicator: false, //show a marker for current time 
                eventLimit: 4, // allow "more" link when too many events
                fixedWeekCount: false, // have blank rows on a 6 or 7 row month
                listDayFormat: 'MMMM Do',
                listDayAltFormat: false,
                noEventsMessage: "No Currently Scheduled Events",
                views: {
                         list: {
                                 duration: { days: 365 },
                                }
                        }
            })
    
        sources_to_load_cnt = ics_sources.length
        for (ics of ics_sources) {
            load_ics(ics)
        }
        add_recur_events()
    })