From f4f8fbd97bc35f12a36fcb6e411abee9a8c1bbfd Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Fri, 16 Feb 2024 14:32:17 +0100 Subject: [PATCH 1/3] Resolve bugs tied to record creations on table --- .../components/RecordIndexContainer.tsx | 11 +++-- .../states/recordIndexViewTypeState.ts | 8 ++++ .../hooks/useCloseRecordTableCell.ts | 40 ----------------- .../pages/object-record/RecordIndexPage.tsx | 29 +++--------- .../object-record/RecordIndexPageHeader.tsx | 44 +++++++++++++++++++ 5 files changed, 62 insertions(+), 70 deletions(-) create mode 100644 packages/twenty-front/src/modules/object-record/record-index/states/recordIndexViewTypeState.ts create mode 100644 packages/twenty-front/src/pages/object-record/RecordIndexPageHeader.tsx diff --git a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexContainer.tsx b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexContainer.tsx index 6c522797f1d7..81679b9c64f2 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexContainer.tsx +++ b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexContainer.tsx @@ -1,6 +1,5 @@ -import { useState } from 'react'; import styled from '@emotion/styled'; -import { useRecoilCallback, useSetRecoilState } from 'recoil'; +import { useRecoilCallback, useRecoilState, useSetRecoilState } from 'recoil'; import { useColumnDefinitionsFromFieldMetadata } from '@/object-metadata/hooks/useColumnDefinitionsFromFieldMetadata'; import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; @@ -16,6 +15,7 @@ import { recordIndexFieldDefinitionsState } from '@/object-record/record-index/s import { recordIndexFiltersState } from '@/object-record/record-index/states/recordIndexFiltersState'; import { recordIndexIsCompactModeActiveState } from '@/object-record/record-index/states/recordIndexIsCompactModeActiveState'; import { recordIndexSortsState } from '@/object-record/record-index/states/recordIndexSortsState'; +import { recordIndexViewTypeState } from '@/object-record/record-index/states/recordIndexViewTypeState'; import { useRecordTable } from '@/object-record/record-table/hooks/useRecordTable'; import { SpreadsheetImportProvider } from '@/spreadsheet-import/provider/components/SpreadsheetImportProvider'; import { ViewBar } from '@/views/components/ViewBar'; @@ -46,10 +46,9 @@ export const RecordIndexContainer = ({ recordIndexId, objectNamePlural, }: RecordIndexContainerProps) => { - const [recordIndexViewType, setRecordIndexViewType] = useState< - ViewType | undefined - >(undefined); - + const [recordIndexViewType, setRecordIndexViewType] = useRecoilState( + recordIndexViewTypeState, + ); const { objectNameSingular } = useObjectNameSingularFromPlural({ objectNamePlural, }); diff --git a/packages/twenty-front/src/modules/object-record/record-index/states/recordIndexViewTypeState.ts b/packages/twenty-front/src/modules/object-record/record-index/states/recordIndexViewTypeState.ts new file mode 100644 index 000000000000..28dcdef038af --- /dev/null +++ b/packages/twenty-front/src/modules/object-record/record-index/states/recordIndexViewTypeState.ts @@ -0,0 +1,8 @@ +import { atom } from 'recoil'; + +import { ViewType } from '@/views/types/ViewType'; + +export const recordIndexViewTypeState = atom({ + key: 'recordIndexViewTypeState', + default: undefined, +}); diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useCloseRecordTableCell.ts b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useCloseRecordTableCell.ts index 55d5ac99dda4..9ba618747f1a 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useCloseRecordTableCell.ts +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useCloseRecordTableCell.ts @@ -1,59 +1,19 @@ -import { useContext } from 'react'; -import { useRecoilCallback, useRecoilValue } from 'recoil'; - -import { FieldContext } from '@/object-record/record-field/contexts/FieldContext'; -import { useRecordFieldInput } from '@/object-record/record-field/hooks/useRecordFieldInput'; -import { EntityDeleteContext } from '@/object-record/record-table/contexts/EntityDeleteHookContext'; -import { RecordTableCellContext } from '@/object-record/record-table/contexts/RecordTableCellContext'; -import { useRecordTableStates } from '@/object-record/record-table/hooks/internal/useRecordTableStates'; import { useDragSelect } from '@/ui/utilities/drag-select/hooks/useDragSelect'; import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope'; -import { getSnapshotValue } from '@/ui/utilities/recoil-scope/utils/getSnapshotValue'; import { useCloseCurrentTableCellInEditMode } from '../../hooks/internal/useCloseCurrentTableCellInEditMode'; import { TableHotkeyScope } from '../../types/TableHotkeyScope'; export const useCloseRecordTableCell = () => { - const { getTableRowIdsState } = useRecordTableStates(); - const { columnIndex } = useContext(RecordTableCellContext); - const { entityId, fieldDefinition } = useContext(FieldContext); - const deleteOneRecord = useContext(EntityDeleteContext); - const setHotkeyScope = useSetHotkeyScope(); const { setDragSelectionStartEnabled } = useDragSelect(); const closeCurrentTableCellInEditMode = useCloseCurrentTableCellInEditMode(); - const { - getDraftValueSelector: getFieldInputDraftValueSelector, - isDraftValueEmpty: isCurrentFieldInputValueEmpty, - } = useRecordFieldInput( - `${entityId}-${fieldDefinition?.metadata?.fieldName}`, - ); - - const currentFieldInputDraftValue = useRecoilValue( - getFieldInputDraftValueSelector(), - ); - - const isFirstColumnCell = columnIndex === 0; - - const deleteRow = useRecoilCallback(({ snapshot }) => async () => { - const tableRowIds = getSnapshotValue(snapshot, getTableRowIdsState()); - - await deleteOneRecord(tableRowIds[0]); - }); - const closeTableCell = async () => { setDragSelectionStartEnabled(true); closeCurrentTableCellInEditMode(); setHotkeyScope(TableHotkeyScope.TableSoftFocus); - - if ( - isFirstColumnCell && - isCurrentFieldInputValueEmpty(currentFieldInputDraftValue) - ) { - await deleteRow(); - } }; return { diff --git a/packages/twenty-front/src/pages/object-record/RecordIndexPage.tsx b/packages/twenty-front/src/pages/object-record/RecordIndexPage.tsx index 2c87d997a780..61f719d43766 100644 --- a/packages/twenty-front/src/pages/object-record/RecordIndexPage.tsx +++ b/packages/twenty-front/src/pages/object-record/RecordIndexPage.tsx @@ -1,19 +1,15 @@ import { useParams } from 'react-router-dom'; import styled from '@emotion/styled'; -import { useObjectMetadataItemForSettings } from '@/object-metadata/hooks/useObjectMetadataItemForSettings'; import { useObjectNameSingularFromPlural } from '@/object-metadata/hooks/useObjectNameSingularFromPlural'; import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord'; import { RecordIndexContainer } from '@/object-record/record-index/components/RecordIndexContainer'; import { DEFAULT_CELL_SCOPE } from '@/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCell'; import { useSelectedTableCellEditMode } from '@/object-record/record-table/record-table-cell/hooks/useSelectedTableCellEditMode'; -import { useIcons } from '@/ui/display/icon/hooks/useIcons'; -import { PageAddButton } from '@/ui/layout/page/PageAddButton'; import { PageBody } from '@/ui/layout/page/PageBody'; import { PageContainer } from '@/ui/layout/page/PageContainer'; -import { PageHeader } from '@/ui/layout/page/PageHeader'; -import { PageHotkeysEffect } from '@/ui/layout/page/PageHotkeysEffect'; import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope'; +import { RecordIndexPageHeader } from '~/pages/object-record/RecordIndexPageHeader'; const StyledIndexContainer = styled.div` display: flex; @@ -28,20 +24,11 @@ export const RecordIndexPage = () => { objectNamePlural, }); - const { findObjectMetadataItemByNamePlural } = - useObjectMetadataItemForSettings(); - - const { getIcon } = useIcons(); - const Icon = getIcon( - findObjectMetadataItemByNamePlural(objectNamePlural)?.icon, - ); - const { createOneRecord: createOneObject } = useCreateOneRecord({ objectNameSingular, }); const recordIndexId = objectNamePlural ?? ''; - const setHotkeyScope = useSetHotkeyScope(); const { setSelectedTableCellEditMode } = useSelectedTableCellEditMode({ @@ -49,7 +36,9 @@ export const RecordIndexPage = () => { }); const handleAddButtonClick = async () => { - await createOneObject?.({}); + await createOneObject?.({ + position: 0, + }); setSelectedTableCellEditMode(0, 0); setHotkeyScope(DEFAULT_CELL_SCOPE.scope, DEFAULT_CELL_SCOPE.customScopes); @@ -57,15 +46,7 @@ export const RecordIndexPage = () => { return ( - - - - + void; +}; + +export const RecordIndexPageHeader = ({ + createRecord, +}: RecordIndexPageHeaderProps) => { + const objectNamePlural = useParams().objectNamePlural ?? ''; + + const { findObjectMetadataItemByNamePlural } = + useObjectMetadataItemForSettings(); + + const { getIcon } = useIcons(); + const Icon = getIcon( + findObjectMetadataItemByNamePlural(objectNamePlural)?.icon, + ); + + const recordIndexViewType = useRecoilValue(recordIndexViewTypeState); + + return ( + + + {recordIndexViewType === ViewType.Table && ( + + )} + + ); +}; From 49661dd2323652fad002fe0e23e1c354848d9c59 Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Fri, 16 Feb 2024 14:52:02 +0100 Subject: [PATCH 2/3] Fix according to PR --- .../src/pages/object-record/RecordIndexPageHeader.tsx | 8 ++------ .../standard-objects-prefill-data/company.ts | 6 ++++++ .../standard-objects-prefill-data/person.ts | 6 ++++++ 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/packages/twenty-front/src/pages/object-record/RecordIndexPageHeader.tsx b/packages/twenty-front/src/pages/object-record/RecordIndexPageHeader.tsx index e389c3cbd1bb..fd24ab76f1b3 100644 --- a/packages/twenty-front/src/pages/object-record/RecordIndexPageHeader.tsx +++ b/packages/twenty-front/src/pages/object-record/RecordIndexPageHeader.tsx @@ -8,6 +8,7 @@ import { PageAddButton } from '@/ui/layout/page/PageAddButton'; import { PageHeader } from '@/ui/layout/page/PageHeader'; import { PageHotkeysEffect } from '@/ui/layout/page/PageHotkeysEffect'; import { ViewType } from '@/views/types/ViewType'; +import { capitalize } from '~/utils/string/capitalize'; type RecordIndexPageHeaderProps = { createRecord: () => void; @@ -29,12 +30,7 @@ export const RecordIndexPageHeader = ({ const recordIndexViewType = useRecoilValue(recordIndexViewTypeState); return ( - + {recordIndexViewType === ViewType.Table && ( diff --git a/packages/twenty-server/src/workspace/workspace-manager/standard-objects-prefill-data/company.ts b/packages/twenty-server/src/workspace/workspace-manager/standard-objects-prefill-data/company.ts index 814615457803..9899ffd1ca44 100644 --- a/packages/twenty-server/src/workspace/workspace-manager/standard-objects-prefill-data/company.ts +++ b/packages/twenty-server/src/workspace/workspace-manager/standard-objects-prefill-data/company.ts @@ -12,6 +12,7 @@ export const companyPrefillData = async ( 'domainName', 'address', 'employees', + 'position', ]) .orIgnore() .values([ @@ -20,30 +21,35 @@ export const companyPrefillData = async ( domainName: 'airbnb.com', address: 'San Francisco', employees: 5000, + position: 1, }, { name: 'Qonto', domainName: 'qonto.com', address: 'San Francisco', employees: 800, + position: 2, }, { name: 'Stripe', domainName: 'stripe.com', address: 'San Francisco', employees: 8000, + position: 3, }, { name: 'Figma', domainName: 'figma.com', address: 'San Francisco', employees: 800, + position: 4, }, { name: 'Notion', domainName: 'notion.com', address: 'San Francisco', employees: 400, + position: 5, }, ]) .returning('*') diff --git a/packages/twenty-server/src/workspace/workspace-manager/standard-objects-prefill-data/person.ts b/packages/twenty-server/src/workspace/workspace-manager/standard-objects-prefill-data/person.ts index 205ba5f43448..68d82ebb1eb9 100644 --- a/packages/twenty-server/src/workspace/workspace-manager/standard-objects-prefill-data/person.ts +++ b/packages/twenty-server/src/workspace/workspace-manager/standard-objects-prefill-data/person.ts @@ -13,6 +13,7 @@ export const personPrefillData = async ( 'city', 'email', 'avatarUrl', + 'position', ]) .orIgnore() .values([ @@ -23,6 +24,7 @@ export const personPrefillData = async ( email: 'chesky@airbnb.com', avatarUrl: 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAABIAAAAAQAAAEgAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAADygAwAEAAAAAQAAADwAAAAA/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAAOEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/AABEIADwAPAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2wBDAAoHCBUSFRgSEhUYGBgYGBgYGBgYGBgYGBgYGBgZGRgaGBgcIS4lHB4rIRgYJjgmKy8xNTU1GiQ7QDszPy40NTH/2wBDAQwMDBAPEBwSEh40ISQkMTQ0NjQxNDQ2NDQ0NDQ0MTQ0NDQ0NDQ0NDQ0NDE0NDQ0NDQ0PzQ0NDQ0NDQ0NDQ0NDT/3QAEAAT/2gAMAwEAAhEDEQA/AOtApcUtLWpkJiub1TxlawHaC0pGM+WAQM9ixIGfal8bas8ESwwjMs5KLjqq4+ZgO55A/wCBe1cDceGLxVyYCysOqfNjnoQOQfzqJTs7GkYNq53uleLba5KoCyO2fldcDI7b/uk/jW8VrxSSJowQ6OPqhwPxxXofw81Mz27IxyYmCjPUKRlee/f8qIyuKUbHT4oxT6SrIP/Q6+ilorUyOJ147tTjzjbFArEk4A3M/wD9au20u4Rl+R1bHXawJFZ89vGbgM4GWj2898HI/rTbXSIo5lkj5fpuyWO3upPccVx1H7zO6nH3EizroBjbIB/KuL+H0eJ7soMIBGPx3Ocfkf1rUbRPPzM0jYYtv3MTjkjCDOF7flS+C7Hyo5XznzZSRxjhAEH16E1VH4ia/wAJ0dFFLXUcZ//R7HFIRWXq/iS1teJZRu6hEG9+/JC9Bx1OK43VPiM7ZW2iCejyHc34Ivyj8zWpmdtqkiq8QfoxYe3bGfryKbNb8HEzIwyUYKCQCOnbP0IPasPwtKb+3JlcvICUck8hgSVYAcLkFSMelSya3LbL5U8Bl28K67efTcD0P0rjm7zZ3UtIocsZEQhDEu5IXrnaTks+Scnqa3LWBY1EaDCqMDkn9TXCSapNBIb+ZR0ZRGSQArY+Vf8Aa4GD9a6XRvE9tdYCuFc/8s3IVvw7MPcVtRStcwrybZuilpopa2Oc/9Ly0J/kUBaVTS1sZl7SNWmtH8yB9pPBBGVYZzhl7j9R611T/ERmHzWqFvXzDt+uNuevb9a4eiolCMtyozlHYu6zrE12QZSAF+6ijCjPfHc+5/Ss3bUlFUkkrITbbuze8P8Aiqe0IDMZIsjcjEsQOh8ticqcduhx26163FKGUMpyGAII6EEZBrwQmvX/AAFIXso93O0ug/3Vdgo/KmI//9k=', + position: 1, }, { nameFirstName: 'Alexandre', @@ -31,6 +33,7 @@ export const personPrefillData = async ( email: 'prot@qonto.com', avatarUrl: 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAABIAAAAAQAAAEgAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAADygAwAEAAAAAQAAADwAAAAA/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAAOEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/AABEIADwAPAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2wBDAAkGBxAQEBUQEBAVFRUVFRUVFRUVEBAVFRUQFRUWFhUVFRUYHSggGBolGxUVITEhJSkrLi4uFx8zODMtNygtLiv/2wBDAQoKCg4NDhcQEBctHR0dLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS3/3QAEAAT/2gAMAwEAAhEDEQA/APZ6KSitCRc1Sn1e3Q7XmQEdRuHH19K4n4keK3i3WluSHwu9lJBBbkID24GSfevOILa6lO4GSQ4x8qsRjuARUOVjSMLn0RDMrgMpBB7g5FPrwzRdavLaQJ+9jPZXVtjEdsEdcelex6DqQuYFlxgkYYejjqKadxSjY0aKSlpkH//Q9mooFFaEnj2vWQk1xoGUsHfzH5IBTYuB9K9HtkVU2qAABgAYGB7CsrU9Jj+2i5YfOA8ZbJyyPgqPouMD6moF8PokvnAnr1LPnPPv71zvdnbCNkT6xaxSfLKUweBuYDk9CKk+G4xbSLzlJWRg3Xenyn88A575zWVfaPG9zI7qCeDzyQhGML6DK/nXR+FQv78rjBmABB5+WNQc++c0Qeoqyurm/RSZpM1ucZ//0fZaWkqOWZV6n8O9aJXIvYzvEIjEe5iA2RtyeTjkgDucZ/KsOaR2X5QCAOu4gg+orX1aES7XIBKNuXPYEFT+hNc7dCaAkw4Zf7hOCPofT2rOrCzR1YepoZIMvmO7yM4YY5OTnoFUAACvTbWMKijAHAzgY5wMn61wGgXjSXSm5CxhWAVSR80pBK8/h+legbqVKO7JxE7tJEmaM1HmjNanOf/S9blnJ6cD171VI9afu4pjV2xVjmbuMuruOGNnlYBV6k989AAOpPTArnRc74jIFO0jcAww+09Nw7EdxW7cQq+A6hsHIyM4PqKrXVgjAkZU/wCyxGfqOholSU1bqOFZ03focTPpkszoFBGJlkPvwQB+pP4Cu8tLrDmIZ3KqliRwd2eh79OR2rLvrkxRIygE8ZJHXBxzj6VNYpnkscvyxyM8+noKcKajCxNSo5TbOhhnDdxkdcVLmsy3GJQBwNjcfRlq/msJqzNoO6P/2Q==', + position: 2, }, { nameFirstName: 'Patrick', @@ -39,6 +42,7 @@ export const personPrefillData = async ( email: 'collison@stripe.com', avatarUrl: 'data:image/jpeg;base64,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', + position: 3, }, { nameFirstName: 'Dylan', @@ -47,6 +51,7 @@ export const personPrefillData = async ( email: 'field@figma.com', avatarUrl: 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQABLAEsAAD/4QSQRXhpZgAATU0AKgAAAAgADAEOAAIAAADlAAAAngEPAAIAAAAGAAABhAEQAAIAAAANAAABigESAAMAAAABAAEAAAEaAAUAAAABAAABmAEbAAUAAAABAAABoAEoAAMAAAABAAIAAAExAAIAAAAhAAABqAEyAAIAAAAUAAABygE7AAIAAAAPAAAB3oKYAAIAAAASAAAB7odpAAQAAAABAAACAAAAAABTQU4gRlJBTkNJU0NPLCBDQUxJRk9STklBIC0gT0NUT0JFUiAyMDogQ28tZm91bmRlciAmIENFTyBvZsKgRmlnbWEgRHlsYW4gRmllbGQgc3BlYWtzIG9uc3RhZ2UgZHVyaW5nIFRlY2hDcnVuY2ggRGlzcnVwdCAyMDIyIG9uIE9jdG9iZXIgMjAsIDIwMjIgaW4gU2FuIEZyYW5jaXNjbywgQ2FsaWZvcm5pYS4gKFBob3RvIGJ5IEtpbWJlcmx5IFdoaXRlL0dldHR5IEltYWdlcyBmb3IgVGVjaENydW5jaCkAAENhbm9uAENhbm9uIEVPUyBSNQAAAAABLAAAAAEAAAEsAAAAAUFkb2JlIFBob3Rvc2hvcCAyMy41IChNYWNpbnRvc2gpAAAyMDIyOjEwOjIwIDEwOjU2OjU4AEtpbWJlcmx5IFdoaXRlAAAyMDIyIEdldHR5IEltYWdlcwAAI4KaAAUAAAABAAADqoKdAAUAAAABAAADsogiAAMAAAABAAEAAIgnAAMAAAABCcQAAIgwAAMAAAABAAIAAIgyAAQAAAABAAAJxJAAAAcAAAAEMDIzMZADAAIAAAAUAAADupAEAAIAAAAUAAADzpAQAAIAAAAHAAAD4pARAAIAAAAHAAAD6pASAAIAAAAHAAAD8pIBAAoAAAABAAAD+pICAAUAAAABAAAEApIEAAoAAAABAAAECpIFAAUAAAABAAAEEpIHAAMAAAABAAUAAJIJAAMAAAABAAAAAJIKAAUAAAABAAAEGpKQAAIAAAADNzgAAJKRAAIAAAADNzgAAJKSAAIAAAADNzgAAKACAAQAAAABAAAAPKADAAQAAAABAAAAUKIOAAUAAAABAAAEIqIPAAUAAAABAAAEKqIQAAMAAAABAAIAAKQBAAMAAAABAAAAAKQCAAMAAAABAAEAAKQDAAMAAAABAAEAAKQGAAMAAAABAAAAAKQxAAIAAAANAAAEMqQyAAUAAAAEAAAEQKQ0AAIAAAAcAAAEYKQ1AAIAAAALAAAEfAAAAAAAAAABAAAB9AAAAAUAAAABMjAyMjoxMDoyMCAxMjo0ODozMgAyMDIyOjEwOjIwIDEyOjQ4OjMyAC0wNTowMAAALTA1OjAwAAAtMDU6MDAAAAAAdbYAAA0hAAQwyQAA5wMAAAAAAAAAAQAAAAMAAAABAAAAbgAAAAEAFT2AAAAB2QAlDXsAAAM6MDUyMDIxMDA0MTE5AAAAAABGAAAAAQAAAMgAAAABAAAAAAAAAAEAAAAAAAAAAUVGNzAtMjAwbW0gZi8yLjhMIElTIElJIFVTTQAwMDAwNDBjNzVjAAD/4ROOaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpHZXR0eUltYWdlc0dJRlQ9Imh0dHA6Ly94bXAuZ2V0dHlpbWFnZXMuY29tL2dpZnQvMS4wLyIgeG1sbnM6SXB0YzR4bXBDb3JlPSJodHRwOi8vaXB0Yy5vcmcvc3RkL0lwdGM0eG1wQ29yZS8xLjAveG1sbnMvIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnBsdXM9Imh0dHA6Ly9ucy51c2VwbHVzLm9yZy9sZGYveG1wLzEuMC8iIHhtbG5zOnhtcFJpZ2h0cz0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3JpZ2h0cy8iIHhtbG5zOklwdGM0eG1wRXh0PSJodHRwOi8vaXB0Yy5vcmcvc3RkL0lwdGM0eG1wRXh0LzIwMDgtMDItMjkvIiBwaG90b3Nob3A6Q2l0eT0iU2FuIEZyYW5jaXNjbyIgcGhvdG9zaG9wOkRhdGVDcmVhdGVkPSIyMDIyLTEwLTIwVDEyOjQ4OjMyLjc4IiBwaG90b3Nob3A6SGVhZGxpbmU9IlRlY2hDcnVuY2ggRGlzcnVwdCAyMDIyIC0gRGF5IDMiIHBob3Rvc2hvcDpDb3VudHJ5PSJVbml0ZWQgU3RhdGVzIiBwaG90b3Nob3A6Q29weXJpZ2h0RmxhZz0idHJ1ZSIgcGhvdG9zaG9wOkNhdGVnb3J5PSJFIiBwaG90b3Nob3A6U291cmNlPSJHZXR0eSBJbWFnZXMgTm9ydGggQW1lcmljYSIgcGhvdG9zaG9wOlVyZ2VuY3k9IjMiIHBob3Rvc2hvcDpBdXRob3JzUG9zaXRpb249IlN0cmluZ2VyIiBwaG90b3Nob3A6VHJhbnNtaXNzaW9uUmVmZXJlbmNlPSI3NzU4ODQzODQiIHBob3Rvc2hvcDpVUkw9Imh0dHBzOi8vd3d3LmdldHR5aW1hZ2VzLmNvbSIgcGhvdG9zaG9wOlN0YXRlPSJDYWxpZm9ybmlhIiBwaG90b3Nob3A6Q3JlZGl0PSJHZXR0eSBJbWFnZXMgZm9yIFRlY2hDcnVuY2giIHBob3Rvc2hvcDpDYXB0aW9uV3JpdGVyPSJFRCAvIEVEIiBkYzpSaWdodHM9IjIwMjIgR2V0dHkgSW1hZ2VzIiBHZXR0eUltYWdlc0dJRlQ6SW1hZ2VSYW5rPSIzIiBHZXR0eUltYWdlc0dJRlQ6RGxyZWY9ImZjNkRiREMzK0ZHWG5PMXpiVzFKYkE9PSIgR2V0dHlJbWFnZXNHSUZUOkFzc2V0SUQ9IjE0MzUwODg1NjciIElwdGM0eG1wQ29yZTpDb3VudHJ5Q29kZT0iVVNBIiBJcHRjNHhtcENvcmU6TG9jYXRpb249Ik1vc2NvbmUgQ2VudGVyIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMi0xMC0yMFQxMjo0ODozMi43OCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjMuNSAoTWFjaW50b3NoKSIgeG1wOk1vZGlmeURhdGU9IjIwMjItMTAtMjBUMTA6NTY6NTguNzgiIHBsdXM6SW1hZ2VTdXBwbGllckltYWdlSUQ9IjE0MzUwODg1NjciIHhtcFJpZ2h0czpXZWJTdGF0ZW1lbnQ9Imh0dHBzOi8vd3d3LmdldHR5aW1hZ2VzLmNvbS9ldWxhP3V0bV9tZWRpdW09b3JnYW5pYyZhbXA7dXRtX3NvdXJjZT1nb29nbGUmYW1wO3V0bV9jYW1wYWlnbj1pcHRjdXJsIiBJcHRjNHhtcEV4dDpIZWFkbGluZT0iVGVjaENydW5jaCBEaXNydXB0IDIwMjIgLSBEYXkgMyI+IDxwaG90b3Nob3A6U3VwcGxlbWVudGFsQ2F0ZWdvcmllcz4gPHJkZjpCYWc+IDxyZGY6bGk+QUNFPC9yZGY6bGk+IDxyZGY6bGk+RU5UPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6U3VwcGxlbWVudGFsQ2F0ZWdvcmllcz4gPGRjOnJpZ2h0cz4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+MjAyMiBHZXR0eSBJbWFnZXM8L3JkZjpsaT4gPC9yZGY6QWx0PiA8L2RjOnJpZ2h0cz4gPGRjOnN1YmplY3Q+IDxyZGY6QmFnPiA8cmRmOmxpPmFydHMgY3VsdHVyZSBhbmQgZW50ZXJ0YWlubWVudDwvcmRmOmxpPiA8L3JkZjpCYWc+IDwvZGM6c3ViamVjdD4gPGRjOmNyZWF0b3I+IDxyZGY6U2VxPiA8cmRmOmxpPktpbWJlcmx5IFdoaXRlPC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9kYzpjcmVhdG9yPiA8ZGM6dGl0bGU+IDxyZGY6QWx0PiA8cmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1bHQiPjE0MzUwODg1Njc8L3JkZjpsaT4gPC9yZGY6QWx0PiA8L2RjOnRpdGxlPiA8ZGM6ZGVzY3JpcHRpb24+IDxyZGY6QWx0PiA8cmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1bHQiPlNBTiBGUkFOQ0lTQ08sIENBTElGT1JOSUEgLSBPQ1RPQkVSIDIwOiBDby1mb3VuZGVyICZhbXA7IENFTyBvZsKgRmlnbWEgRHlsYW4gRmllbGQgc3BlYWtzIG9uc3RhZ2UgZHVyaW5nIFRlY2hDcnVuY2ggRGlzcnVwdCAyMDIyIG9uIE9jdG9iZXIgMjAsIDIwMjIgaW4gU2FuIEZyYW5jaXNjbywgQ2FsaWZvcm5pYS4gKFBob3RvIGJ5IEtpbWJlcmx5IFdoaXRlL0dldHR5IEltYWdlcyBmb3IgVGVjaENydW5jaCk8L3JkZjpsaT4gPC9yZGY6QWx0PiA8L2RjOmRlc2NyaXB0aW9uPiA8cGx1czpMaWNlbnNvcj4gPHJkZjpTZXE+IDxyZGY6bGkgcGx1czpMaWNlbnNvclVSTD0iaHR0cHM6Ly93d3cuZ2V0dHlpbWFnZXMuY29tL2RldGFpbC8xNDM1MDg4NTY3P3V0bV9tZWRpdW09b3JnYW5pYyZhbXA7dXRtX3NvdXJjZT1nb29nbGUmYW1wO3V0bV9jYW1wYWlnbj1pcHRjdXJsIi8+IDwvcmRmOlNlcT4gPC9wbHVzOkxpY2Vuc29yPiA8SXB0YzR4bXBFeHQ6UGVyc29uSW5JbWFnZT4gPHJkZjpCYWc+IDxyZGY6bGk+RHlsYW4gRmllbGQ8L3JkZjpsaT4gPC9yZGY6QmFnPiA8L0lwdGM0eG1wRXh0OlBlcnNvbkluSW1hZ2U+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz4A/+0CsFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAJ3HAFaAAMbJUccAgAAAgACHAI8AAYxMjQ4MzIcAngA5FNBTiBGUkFOQ0lTQ08sIENBTElGT1JOSUEgLSBPQ1RPQkVSIDIwOiBD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', + position: 4, }, { nameFirstName: 'Ivan', @@ -55,6 +60,7 @@ export const personPrefillData = async ( email: 'zhao@notion.com', avatarUrl: 'data:image/jpeg;base64,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', + position: 5, }, ]) .returning('*') From 325f3e0d99494c0d1642533c69af698500e59ee5 Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Fri, 16 Feb 2024 14:57:44 +0100 Subject: [PATCH 3/3] Fix tests --- .../hooks/__tests__/useCloseRecordTableCell.test.tsx | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/__tests__/useCloseRecordTableCell.test.tsx b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/__tests__/useCloseRecordTableCell.test.tsx index 5370062c90e8..c608e921e635 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/__tests__/useCloseRecordTableCell.test.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/__tests__/useCloseRecordTableCell.test.tsx @@ -3,7 +3,6 @@ import { RecoilRoot, useRecoilValue } from 'recoil'; import { textfieldDefinition } from '@/object-record/record-field/__mocks__/fieldDefinitions'; import { FieldContext } from '@/object-record/record-field/contexts/FieldContext'; -import { EntityDeleteContext } from '@/object-record/record-table/contexts/EntityDeleteHookContext'; import { RecordTableCellContext } from '@/object-record/record-table/contexts/RecordTableCellContext'; import { RecordTableRowContext } from '@/object-record/record-table/contexts/RecordTableRowContext'; import { useRecordTableStates } from '@/object-record/record-table/hooks/internal/useRecordTableStates'; @@ -23,7 +22,6 @@ jest.mock('@/ui/utilities/hotkey/hooks/useSetHotkeyScope', () => ({ })); const onColumnsChange = jest.fn(); -const deleteEntity = jest.fn(); const scopeId = 'scopeId'; const Wrapper = ({ children }: { children: React.ReactNode }) => ( @@ -44,9 +42,7 @@ const Wrapper = ({ children }: { children: React.ReactNode }) => ( - - {children} - + {children} @@ -86,6 +82,5 @@ describe('useCloseRecordTableCell', () => { expect(result.current.isDragSelectionStartEnabled()).toBe(true); expect(result.current.isTableCellInEditMode).toBe(false); expect(setHotkeyScope).toHaveBeenCalledWith('table-soft-focus'); - expect(deleteEntity).toHaveBeenCalled(); }); });