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