如何选择列表视图以匹配Fullcalendar中的当前视图

时间:2016-10-26 18:43:19

标签: javascript jquery fullcalendar

我在Fullcalendar上的标题右侧按钮是'month,agendaWeek,agendaDay,list),列表默认为listWeek。如何让日历在用户已查看的列表视图中显示相同的时间跨度?换句话说,如果它们在月视图上并单击列表按钮,则应该看到listMonth视图;如果他们在AgendaWeek视图上,他们点击列表按钮,他们应该看到listWeek视图;如果他们在agendaDay视图上,他们点击列表按钮,他们应该看到listDay视图。没有多个“列表”按钮,有人知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决这个问题的方法。如果有人想出更好的方法,请告诉我。我使用localStorage来保留当前视图,以便用户可以在返回日历时返回到该视图。每当他们更改视图时都会更新。

在customButtons部分,我创建了自己的名为listView的按钮,我根据当前视图设置了列表视图,然后调用.fullCalendar( 'changeView', viewName )

    listView: {
        text: 'list',
        click: function() {
            var currentView = localStorage.getItem("AI_Default_FullCalendar_View");
            if(currentView.indexOf('list') == -1){
                if(currentView.indexOf('month') != -1){
                    currentView = 'listMonth';
                }
                if(currentView.indexOf('Week') != -1){
                    currentView = 'listWeek';
                }
                if(currentView.indexOf('Day') != -1){
                    currentView = 'listDay';
                }
            }
            localStorage.setItem('AI_Default_FullCalendar_View', currentView);
            $("#calendar").fullCalendar('changeView', currentView);
        }
    }