parent
18708f30d9
commit
9a3669d801
|
@ -1,7 +1,7 @@
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import isString from 'Utilities/String/isString';
|
import isString from 'Utilities/String/isString';
|
||||||
import { IN_LAST, IN_NEXT } from 'Helpers/Props/filterTypes';
|
import { IN_LAST, NOT_IN_LAST, IN_NEXT, NOT_IN_NEXT } from 'Helpers/Props/filterTypes';
|
||||||
import NumberInput from 'Components/Form/NumberInput';
|
import NumberInput from 'Components/Form/NumberInput';
|
||||||
import SelectInput from 'Components/Form/SelectInput';
|
import SelectInput from 'Components/Form/SelectInput';
|
||||||
import TextInput from 'Components/Form/TextInput';
|
import TextInput from 'Components/Form/TextInput';
|
||||||
|
@ -18,7 +18,12 @@ const timeOptions = [
|
||||||
];
|
];
|
||||||
|
|
||||||
function isInFilter(filterType) {
|
function isInFilter(filterType) {
|
||||||
return filterType === IN_LAST || filterType === IN_NEXT;
|
return (
|
||||||
|
filterType === IN_LAST ||
|
||||||
|
filterType === NOT_IN_LAST ||
|
||||||
|
filterType === IN_NEXT ||
|
||||||
|
filterType === NOT_IN_NEXT
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
class DateFilterBuilderRowValue extends Component {
|
class DateFilterBuilderRowValue extends Component {
|
||||||
|
|
|
@ -24,7 +24,9 @@ export const possibleFilterTypes = {
|
||||||
{ key: filterTypes.LESS_THAN, value: 'is before' },
|
{ key: filterTypes.LESS_THAN, value: 'is before' },
|
||||||
{ key: filterTypes.GREATER_THAN, value: 'is after' },
|
{ key: filterTypes.GREATER_THAN, value: 'is after' },
|
||||||
{ key: filterTypes.IN_LAST, value: 'in the last' },
|
{ key: filterTypes.IN_LAST, value: 'in the last' },
|
||||||
{ key: filterTypes.IN_NEXT, value: 'in the next' }
|
{ key: filterTypes.NOT_IN_LAST, value: 'not in the last' },
|
||||||
|
{ key: filterTypes.IN_NEXT, value: 'in the next' },
|
||||||
|
{ key: filterTypes.NOT_IN_NEXT, value: 'not in the next' }
|
||||||
],
|
],
|
||||||
|
|
||||||
[EXACT]: [
|
[EXACT]: [
|
||||||
|
|
|
@ -3,7 +3,9 @@ export const EQUAL = 'equal';
|
||||||
export const GREATER_THAN = 'greaterThan';
|
export const GREATER_THAN = 'greaterThan';
|
||||||
export const GREATER_THAN_OR_EQUAL = 'greaterThanOrEqual';
|
export const GREATER_THAN_OR_EQUAL = 'greaterThanOrEqual';
|
||||||
export const IN_LAST = 'inLast';
|
export const IN_LAST = 'inLast';
|
||||||
|
export const NOT_IN_LAST = 'notInLast';
|
||||||
export const IN_NEXT = 'inNext';
|
export const IN_NEXT = 'inNext';
|
||||||
|
export const NOT_IN_NEXT = 'notInNext';
|
||||||
export const LESS_THAN = 'lessThan';
|
export const LESS_THAN = 'lessThan';
|
||||||
export const LESS_THAN_OR_EQUAL = 'lessThanOrEqual';
|
export const LESS_THAN_OR_EQUAL = 'lessThanOrEqual';
|
||||||
export const NOT_CONTAINS = 'notContains';
|
export const NOT_CONTAINS = 'notContains';
|
||||||
|
@ -17,5 +19,9 @@ export const all = [
|
||||||
LESS_THAN,
|
LESS_THAN,
|
||||||
LESS_THAN_OR_EQUAL,
|
LESS_THAN_OR_EQUAL,
|
||||||
NOT_CONTAINS,
|
NOT_CONTAINS,
|
||||||
NOT_EQUAL
|
NOT_EQUAL,
|
||||||
|
IN_LAST,
|
||||||
|
NOT_IN_LAST,
|
||||||
|
IN_NEXT,
|
||||||
|
NOT_IN_NEXT
|
||||||
];
|
];
|
||||||
|
|
|
@ -21,12 +21,22 @@ export default function(itemValue, filterValue, type) {
|
||||||
isBefore(itemValue)
|
isBefore(itemValue)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
case filterTypes.NOT_IN_LAST:
|
||||||
|
return (
|
||||||
|
isBefore(itemValue, { [filterValue.time]: filterValue.value * -1 })
|
||||||
|
);
|
||||||
|
|
||||||
case filterTypes.IN_NEXT:
|
case filterTypes.IN_NEXT:
|
||||||
return (
|
return (
|
||||||
isAfter(itemValue) &&
|
isAfter(itemValue) &&
|
||||||
isBefore(itemValue, { [filterValue.time]: filterValue.value })
|
isBefore(itemValue, { [filterValue.time]: filterValue.value })
|
||||||
);
|
);
|
||||||
|
|
||||||
|
case filterTypes.NOT_IN_NEXT:
|
||||||
|
return (
|
||||||
|
isAfter(itemValue, { [filterValue.time]: filterValue.value })
|
||||||
|
);
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue