TommyDatatables
6/22/2018 - 5:51 PM

Date Range Filtering

Date range filtering

//opendate filtering
$.fn.dataTableExt.afnFiltering.push(
  function (oSettings, aData, iDataIndex) {
      var daterange = $("#openDate").val();
      var newDaterange = daterange.split(" - ");
      var filterstart = newDaterange[0];
      var filterend = newDaterange[1];
      var iStartDateCol = 6;
      var iEndDateCol = 6;
      var tabledatestart = aData[iStartDateCol];
      var tabledateend = aData[iEndDateCol];
      if (!filterstart && !filterend)
      {
          return true;
      } else if ((moment(filterstart).isSame(tabledatestart) ||
              moment(filterstart).isBefore(tabledatestart)) &&
              (moment(filterend).isSame(tabledateend) ||
                      moment(filterend).isAfter(tabledateend)))
      {
          return true;
      }
  }
);

//close date filtering
$.fn.dataTableExt.afnFiltering.push(
  function (oSettings, aData, iDataIndex) {
      var grab_daterange = $("#closeDate").val();
      var give_results_daterange = grab_daterange.split(" - ");
      var filterstart = give_results_daterange[0];
      var filterend = give_results_daterange[1];
      var iStartDateCol = 7;
      var iEndDateCol = 7;
      var tabledatestart = aData[iStartDateCol];
      var tabledateend = aData[iEndDateCol];
      if (!filterstart && !filterend)
      {
          return true;
      } else if ((moment(filterstart).isSame(tabledatestart) || moment(filterstart).isBefore(tabledatestart)) && filterend === "")
      {
          return true;
      } else if ((moment(filterstart).isSame(tabledatestart) || moment(filterstart).isAfter(tabledatestart)) && filterstart === "")
      {
          return true;
      } else if ((moment(filterstart).isSame(tabledatestart) || moment(filterstart).isBefore(tabledatestart)) && (moment(filterend).isSame(tabledateend) || moment(filterend).isAfter(tabledateend)))
      {
          return true;
      }
  }
);