Angular fullcalendar指令从单个事件源过滤事件

时间:2013-11-29 11:20:11

标签: angularjs fullcalendar angular-ui

我对Fullcalendar的Angular-UI Calendar指令有疑问。我是角度新手,我正在尝试从我的应用使用的单个事件源中过滤事件。我想要完成的是从我的资源对完整结果集执行前端过滤器并相应地更新日历。

我正在举办我的活动:

$scope.eventSources = [$scope.events];
$scope.events = function (start, end, callback) {
  var events = VergaderingCalendarEvents.list({
      start: start.getTime() / 1000,
      end: end.getTime() / 1000
  });

  // Belofte maakt schuld 
  events.$promise.then(function (val) {
          $scope.events = events;
          callback($scope.events);
      }
  );

};

这将返回一个JSON数组,其中包含以下格式的对象:

[{"id":1,"title":"CBS","allDay":false,"status":"OPEN","start":"2013-11-27T14:00Z","end":"2013-11-27T18:00Z"}]

现在我想使用选择值从控制器上的状态过滤此结果。我找到了一些示例代码,用于交换 $ scope.eventSources 数组中的元素,但这不完全是我想要完成的。我想以Angular正确的方式过滤此结果。如果是坏人我可以在今天晚些时候为此创建一个plunker。

感谢您的时间。

巴特

1 个答案:

答案 0 :(得分:2)

每次更改状态过滤器时,最简单,最有效的方法是使用正确的过滤器发送请求,并从api返回正确的列表,但这并不能解决您提出的客户端问题。

要通过客户端执行过滤器,您需要在将事件设置为$ scope之前过滤promise函数内的事件。

$scope.events = $filter('statusFilter')(events,status)