0

I'm trying to build an event date filter by passing in a time range. I was able to filter for events that are the same date as today but need help to filter events from last week, last month, etc...

$scope.eventDateFilter = function(column) {
    if(column === 'today') {
        $scope.dateRange = $scope.dateToday;
    } else if (column === 'pastWeek') {
        //need logic
    } else if (column === 'pastMonth') {
        //need logic            
    } else if (column === 'future') {
        //need logic
    } else {
        $scope.dateRange = "";
    }
}

Here's my fiddle: http://jsfiddle.net/c6BfQ/3/

Your help is greatly appreciated.

3
  • What is your question? Commented Aug 26, 2013 at 22:14
  • Sorry sza. My question has been updated. Commented Aug 26, 2013 at 22:20
  • did u find the logic?? even im in need of this... Commented Mar 9, 2016 at 9:36

1 Answer 1

2

I would use a custom filter. Here is one I used to filter things created in the last two days, it should give you an idea of how to do yours.

.filter('dateFilter', function() {
  return function (objects) {
    var filtered_list = [];
    for (var i = 0; i < objects.length; i++) {
      var two_days_ago = new Date().getTime() - 2*24*60*60*1000;
      var last_modified = new Date(objects[i].date_created).getTime();
      if (two_days_ago <= last_modified) {
        filtered_list.push(objects[i]);
      }
    }
    return filtered_list;
  }
});
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.