fix: fix record deletion optimistic effect (#3683)

* fix: fix record deletion optimistic effect

* fix: fix renamed method after rebase

* Re-add evict

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Thaïs
2024-01-30 05:33:28 -03:00
committed by GitHub
parent e951fb70f8
commit 49f33bbe2e
6 changed files with 52 additions and 42 deletions

View File

@ -1,5 +1,3 @@
import { isNonEmptyString } from '@sniptt/guards';
import {
CurrencyFilter,
DateFilter,
@ -13,6 +11,7 @@ import {
import { makeAndFilterVariables } from '@/object-record/utils/makeAndFilterVariables';
import { ViewFilterOperand } from '@/views/types/ViewFilterOperand';
import { Field } from '~/generated/graphql';
import { isDefined } from '~/utils/isDefined';
import { Filter } from '../../object-filter-dropdown/types/Filter';
@ -39,6 +38,10 @@ export const turnObjectDropdownFilterIntoQueryFilter = (
);
}
if (!isDefined(rawUIFilter.value) || rawUIFilter.value === '') {
return undefined;
}
switch (rawUIFilter.definition.type) {
case 'EMAIL':
case 'PHONE':
@ -111,10 +114,6 @@ export const turnObjectDropdownFilterIntoQueryFilter = (
}
break;
case 'RELATION': {
if (!isNonEmptyString(rawUIFilter.value)) {
break;
}
try {
JSON.parse(rawUIFilter.value);
} catch (e) {

View File

@ -1,8 +1,7 @@
import { isNonEmptyString } from '@sniptt/guards';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { getLabelIdentifierFieldMetadataItem } from '@/object-metadata/utils/getLabelIdentifierFieldMetadataItem';
import { ObjectRecordQueryFilter } from '@/object-record/record-filter/types/ObjectRecordQueryFilter';
import { makeOrFilterVariables } from '@/object-record/utils/makeOrFilterVariables';
import { FieldMetadataType } from '~/generated/graphql';
import { isDefined } from '~/utils/isDefined';
@ -17,7 +16,7 @@ export const useSearchFilterPerMetadataItem = ({
Object.fromEntries<ObjectRecordQueryFilter>(
objectMetadataItems
.map((objectMetadataItem) => {
if (!isNonEmptyString(searchFilterValue)) return null;
if (searchFilterValue === '') return null;
const labelIdentifierFieldMetadataItem =
getLabelIdentifierFieldMetadataItem(objectMetadataItem);
@ -27,8 +26,8 @@ export const useSearchFilterPerMetadataItem = ({
if (labelIdentifierFieldMetadataItem) {
switch (labelIdentifierFieldMetadataItem.type) {
case FieldMetadataType.FullName: {
searchFilter = {
or: [
if (searchFilterValue) {
const fullNameFilter = makeOrFilterVariables([
{
[labelIdentifierFieldMetadataItem.name]: {
firstName: {
@ -43,16 +42,23 @@ export const useSearchFilterPerMetadataItem = ({
},
},
},
],
};
]);
if (fullNameFilter) {
searchFilter = fullNameFilter;
}
}
break;
}
default:
searchFilter = {
[labelIdentifierFieldMetadataItem.name]: {
ilike: `%${searchFilterValue}%`,
},
};
default: {
if (searchFilterValue) {
searchFilter = {
[labelIdentifierFieldMetadataItem.name]: {
ilike: `%${searchFilterValue}%`,
},
};
}
}
}
}