This was surprisingly quick, it was already built, just not enabled. Let's double check it together still on Monday @FelixMalfait!
This commit is contained in:
@ -24,6 +24,7 @@ export const formatFieldMetadataItemsAsFilterDefinitions = ({
|
||||
if (
|
||||
![
|
||||
FieldMetadataType.DateTime,
|
||||
FieldMetadataType.Date,
|
||||
FieldMetadataType.Text,
|
||||
FieldMetadataType.Email,
|
||||
FieldMetadataType.Emails,
|
||||
|
||||
@ -76,9 +76,9 @@ export const MultipleFiltersDropdownContent = ({
|
||||
{filterDefinitionUsedInDropdown.type === 'RATING' && (
|
||||
<ObjectFilterDropdownRatingInput />
|
||||
)}
|
||||
{filterDefinitionUsedInDropdown.type === 'DATE_TIME' && (
|
||||
<ObjectFilterDropdownDateInput />
|
||||
)}
|
||||
{['DATE_TIME', 'DATE'].includes(
|
||||
filterDefinitionUsedInDropdown.type,
|
||||
) && <ObjectFilterDropdownDateInput />}
|
||||
{filterDefinitionUsedInDropdown.type === 'RELATION' && (
|
||||
<>
|
||||
<ObjectFilterDropdownSearchInput />
|
||||
|
||||
@ -11,6 +11,7 @@ export const MultipleFiltersDropdownFilterOnFilterChangedEffect = ({
|
||||
|
||||
useEffect(() => {
|
||||
switch (filterDefinitionUsedInDropdownType) {
|
||||
case 'DATE':
|
||||
case 'DATE_TIME':
|
||||
setDropdownWidth(280);
|
||||
break;
|
||||
|
||||
@ -28,6 +28,9 @@ export const ObjectFilterDropdownDateInput = () => {
|
||||
selectedFilter?.value ? new Date(selectedFilter.value) : new Date(),
|
||||
);
|
||||
|
||||
const isDateTimeInput =
|
||||
filterDefinitionUsedInDropdown?.type === FieldMetadataType.DateTime;
|
||||
|
||||
const handleChange = (date: Date | null) => {
|
||||
setInternalDate(date);
|
||||
|
||||
@ -38,7 +41,11 @@ export const ObjectFilterDropdownDateInput = () => {
|
||||
fieldMetadataId: filterDefinitionUsedInDropdown.fieldMetadataId,
|
||||
value: isDefined(date) ? date.toISOString() : '',
|
||||
operand: selectedOperandInDropdown,
|
||||
displayValue: isDefined(date) ? date.toLocaleString() : '',
|
||||
displayValue: isDefined(date)
|
||||
? isDateTimeInput
|
||||
? date.toLocaleString()
|
||||
: date.toLocaleDateString()
|
||||
: '',
|
||||
definition: filterDefinitionUsedInDropdown,
|
||||
});
|
||||
|
||||
@ -50,9 +57,7 @@ export const ObjectFilterDropdownDateInput = () => {
|
||||
date={internalDate}
|
||||
onChange={handleChange}
|
||||
onMouseSelect={handleChange}
|
||||
isDateTimeInput={
|
||||
filterDefinitionUsedInDropdown?.type === FieldMetadataType.DateTime
|
||||
}
|
||||
isDateTimeInput={isDateTimeInput}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
@ -227,6 +227,7 @@ export const isRecordMatchingFilter = ({
|
||||
});
|
||||
});
|
||||
}
|
||||
case FieldMetadataType.Date:
|
||||
case FieldMetadataType.DateTime: {
|
||||
return isMatchingDateFilter({
|
||||
dateFilter: filterValue as DateFilter,
|
||||
|
||||
@ -199,6 +199,7 @@ const applyEmptyFilters = (
|
||||
[correspondingField.name]: { is: 'NULL' } as StringFilter,
|
||||
};
|
||||
break;
|
||||
case 'DATE':
|
||||
case 'DATE_TIME':
|
||||
emptyRecordFilter = {
|
||||
[correspondingField.name]: { is: 'NULL' } as DateFilter,
|
||||
@ -326,6 +327,7 @@ export const turnObjectDropdownFilterIntoQueryFilter = (
|
||||
);
|
||||
}
|
||||
break;
|
||||
case 'DATE':
|
||||
case 'DATE_TIME':
|
||||
switch (rawUIFilter.operand) {
|
||||
case ViewFilterOperand.GreaterThan:
|
||||
|
||||
Reference in New Issue
Block a user