Skip to content

Commit

Permalink
FIX
Browse files Browse the repository at this point in the history
  • Loading branch information
ehconitin committed Nov 13, 2024
1 parent e78712a commit dab0834
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 41 deletions.
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
import styled from '@emotion/styled';

import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord';
import { useAddNewCard } from '@/object-record/record-board/record-board-column/hooks/useAddNewCard';
import { recordBoardNewRecordByColumnIdSelector } from '@/object-record/record-board/states/selectors/recordBoardNewRecordByColumnIdSelector';
import { viewableRecordIdState } from '@/object-record/record-right-drawer/states/viewableRecordIdState';
import { viewableRecordNameSingularState } from '@/object-record/record-right-drawer/states/viewableRecordNameSingularState';
import { SingleEntitySelect } from '@/object-record/relation-picker/components/SingleEntitySelect';
import { useRelationPicker } from '@/object-record/relation-picker/hooks/useRelationPicker';
import { RelationPickerScope } from '@/object-record/relation-picker/scopes/RelationPickerScope';
import { useRightDrawer } from '@/ui/layout/right-drawer/hooks/useRightDrawer';
import { RightDrawerPages } from '@/ui/layout/right-drawer/types/RightDrawerPages';
import styled from '@emotion/styled';
import { useRecoilValue, useSetRecoilState } from 'recoil';
import { v4 } from 'uuid';
import { isDefined } from '~/utils/isDefined';
Expand Down Expand Up @@ -41,20 +37,10 @@ export const RecordBoardColumnNewOpportunity = ({
scopeId: columnId,
}),
);
const { setRelationPickerSearchFilter } = useRelationPicker({
relationPickerScopeId: 'relation-picker',
});
const { handleCreateSuccess, handleEntitySelect } = useAddNewCard();

const { objectMetadataItem: companyMetadataItem } = useObjectMetadataItem({
objectNameSingular: CoreObjectNameSingular.Company,
});

const relationFieldMetadataItem = companyMetadataItem.fields.find(
(field) => field.name === 'opportunities',
);
const { handleCreateSuccess, handleEntitySelect } = useAddNewCard();

const { createOneRecord } = useCreateOneRecord({
const { createOneRecord: createCompany } = useCreateOneRecord({
objectNameSingular: CoreObjectNameSingular.Company,
});
const { openRightDrawer } = useRightDrawer();
Expand All @@ -64,10 +50,12 @@ export const RecordBoardColumnNewOpportunity = ({
viewableRecordNameSingularState,
);

const handleCreateAndSelect = async (searchInput?: string) => {
const createCompanyOpportunityAndOpenRightDrawer = async (
searchInput?: string,
) => {
const newRecordId = v4();

const createdCompany = await createOneRecord({
const createdCompany = await createCompany({
id: newRecordId,
name: searchInput,
});
Expand All @@ -76,37 +64,29 @@ export const RecordBoardColumnNewOpportunity = ({
setViewableRecordNameSingular(CoreObjectNameSingular.Company);
openRightDrawer(RightDrawerPages.ViewRecord);

setRelationPickerSearchFilter(searchInput || '');

if (isDefined(createdCompany)) {
handleEntitySelect(
position,
{
id: createdCompany.id,
name: createdCompany.name,
record: createdCompany,
},
columnId,
);
handleEntitySelect(position, createdCompany);
}
};

return (
<>
{newRecord.isCreating && newRecord.position === position && (
<StyledCompanyPickerContainer>
<RelationPickerScope relationPickerScopeId="relation-picker">
<SingleEntitySelect
onCancel={() => handleCreateSuccess(position, columnId, false)}
onEntitySelected={(company) =>
company ? handleEntitySelect(position, company, columnId) : null
<SingleEntitySelect
onCancel={() => {
handleCreateSuccess(position, columnId, false);
}}
onEntitySelected={(company) => {
if (isDefined(company)) {
handleEntitySelect(position, company);
}
relationObjectNameSingular={CoreObjectNameSingular.Company}
relationPickerScopeId="relation-picker"
selectedRelationRecordIds={[]}
onCreate={handleCreateAndSelect}
/>
</RelationPickerScope>
}}
relationObjectNameSingular={CoreObjectNameSingular.Company}
relationPickerScopeId="relation-picker"
selectedRelationRecordIds={[]}
onCreate={createCompanyOpportunityAndOpenRightDrawer}
/>
</StyledCompanyPickerContainer>
)}
</>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ export const useFilteredSearchEntityQuery = ({
filter: notFilter,
limit: limit ?? DEFAULT_SEARCH_REQUEST_LIMIT,
searchInput: searchFilter,
fetchPolicy: 'cache-and-network',
});

return {
Expand Down

0 comments on commit dab0834

Please sign in to comment.