diff --git a/src/FilterPanel/DateFilter.js b/src/FilterPanel/DateFilter.js index d84c714..5a6ed3c 100644 --- a/src/FilterPanel/DateFilter.js +++ b/src/FilterPanel/DateFilter.js @@ -46,10 +46,25 @@ const DateFilter = ({ (filterMax != null && filterMax < max) const handleChange = (minOrMax: 'min' | 'max') => value => { + const filterValue = createFilterValue(value, minOrMax) const newFilter = minOrMax === 'min' - ? compileFilter(fieldKey, createFilterValue(value, 'min'), filterMax) - : compileFilter(fieldKey, filterMin, createFilterValue(value, 'max')) + ? compileFilter( + fieldKey, + filterValue, + filterMax && + (filterMax < filterValue + ? createFilterValue(value, 'max') + : filterMax) + ) + : compileFilter( + fieldKey, + filterMin && + (filterMin > filterValue + ? createFilterValue(value, 'min') + : filterMin), + filterValue + ) onChangeFilter(newFilter) } diff --git a/src/FilterPanel/DateFilter.stories.js b/src/FilterPanel/DateFilter.stories.js index 60902f7..327605f 100644 --- a/src/FilterPanel/DateFilter.stories.js +++ b/src/FilterPanel/DateFilter.stories.js @@ -25,8 +25,8 @@ export const defaultStory = () => { label="Select Date" fieldKey={['foo']} filter={filter} - min="2018-01-01" - max="2019-09-28" + min="2019-01-01T18:40:48.749Z" + max="2019-09-28T08:40:48.749Z" onChangeFilter={setFilter} /> )