Angular-Ui-Calendar:根据下拉选择过滤日历中的事件

时间:2013-07-03 06:03:34

标签: angularjs fullcalendar angular-ui

我正在使用Angular-Ui-Calendar,我的日历中有3个视图。我在日历上方添加了一个包含用户列表的下拉列表。所以我的目标是根据下拉选择过滤渲染的事件。

我想在Angular-Ui日历中应用过滤逻辑。让我来描述一下我的日历

我有3个视图的日历(agendaDay,agendaWeek和basicWeek),我使用2个来源在我的日历中加载事件。我的第一个来源是“用户任务”
和第二个来源“用户会议”。首先,我想只加载agendaDay和agendaWeek的“任务”源,当用户将视图切换到basicWeek时,将在basicWeek中获取并显示“Meeting”。我这样做面临着问题。

其次,我在日历外面有一个下拉/选择框,其中包含用户列表。现在我想根据选定的用户过滤这些来源(任务和会议)。

这是我的plunkr代码

http://embed.plnkr.co/qfzCSi/preview

http://plnkr.co/edit/qfzCSi?p=preview

请给我一些解决方案。

1 个答案:

答案 0 :(得分:4)

最后我得到了解决方案,我解决了angular-ui-calendar中的过滤问题。

当最终用户从下拉列表(上面的日历)中选择用户时,它会在控制器中调用“onStaffSelect(userId)”功能。

 /*on user select*/
$scope.onUserSelect = function(id){
    console.log("### onUserSelect is called "+id);
    if(id==1)
      $scope.events = [{title: 'Birthday Party',start: new Date(y, m, d + 1, 19,     0),end: new Date(y, m, d + 1, 22, 30),allDay: false, userId: 1}];
    };

 $scope.myCalendar.fullCalendar( 'removeEvents');
 $scope.myCalendar.fullCalendar( 'addEventSource', $scope.events);