Stop using labelIdentifier when adding record card (#10805)
When creating an object from kanban, we are using `labelIdentifier.toLowerCase()` for the labelIdentifier field. Issue is that labelIdentifier is translated. Using `labelIdentifierField.name` instead.
This commit is contained in:
@ -138,20 +138,10 @@ export const RecordBoardCardHeader = ({
|
|||||||
autoFocus
|
autoFocus
|
||||||
value={newLabelValue}
|
value={newLabelValue}
|
||||||
onInputEnter={() =>
|
onInputEnter={() =>
|
||||||
handleInputEnter(
|
handleInputEnter(newLabelValue, position, onCreateSuccess)
|
||||||
identifierFieldDefinition.label ?? '',
|
|
||||||
newLabelValue,
|
|
||||||
position,
|
|
||||||
onCreateSuccess,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
onBlur={() =>
|
onBlur={() =>
|
||||||
handleBlur(
|
handleBlur(newLabelValue, position, onCreateSuccess)
|
||||||
identifierFieldDefinition.label ?? '',
|
|
||||||
newLabelValue,
|
|
||||||
position,
|
|
||||||
onCreateSuccess,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
onChange={(text: string) => setNewLabelValue(text)}
|
onChange={(text: string) => setNewLabelValue(text)}
|
||||||
placeholder={identifierFieldDefinition.label}
|
placeholder={identifierFieldDefinition.label}
|
||||||
|
|||||||
@ -73,7 +73,6 @@ export const useAddNewCard = ({
|
|||||||
|
|
||||||
const createRecord = useCallback(
|
const createRecord = useCallback(
|
||||||
(
|
(
|
||||||
labelIdentifier: string,
|
|
||||||
labelValue: string,
|
labelValue: string,
|
||||||
position: 'first' | 'last',
|
position: 'first' | 'last',
|
||||||
isOpportunity: boolean,
|
isOpportunity: boolean,
|
||||||
@ -112,7 +111,7 @@ export const useAddNewCard = ({
|
|||||||
...(isOpportunity
|
...(isOpportunity
|
||||||
? { companyId: company?.id, name: company?.name }
|
? { companyId: company?.id, name: company?.name }
|
||||||
: {
|
: {
|
||||||
[labelIdentifier.toLowerCase()]: computedLabelIdentifierValue,
|
[labelIdentifierField.name]: computedLabelIdentifierValue,
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -129,7 +128,6 @@ export const useAddNewCard = ({
|
|||||||
const handleAddNewCardClick = useRecoilCallback(
|
const handleAddNewCardClick = useRecoilCallback(
|
||||||
({ set }) =>
|
({ set }) =>
|
||||||
(
|
(
|
||||||
labelIdentifier: string,
|
|
||||||
labelValue: string,
|
labelValue: string,
|
||||||
position: 'first' | 'last',
|
position: 'first' | 'last',
|
||||||
isOpportunity: boolean,
|
isOpportunity: boolean,
|
||||||
@ -142,7 +140,7 @@ export const useAddNewCard = ({
|
|||||||
SingleRecordPickerHotkeyScope.SingleRecordPicker,
|
SingleRecordPickerHotkeyScope.SingleRecordPicker,
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
createRecord(labelIdentifier, labelValue, position, isOpportunity);
|
createRecord(labelValue, position, isOpportunity);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
[
|
[
|
||||||
@ -184,25 +182,17 @@ export const useAddNewCard = ({
|
|||||||
);
|
);
|
||||||
|
|
||||||
const handleCreate = (
|
const handleCreate = (
|
||||||
labelIdentifier: string,
|
|
||||||
labelValue: string,
|
labelValue: string,
|
||||||
position: 'first' | 'last',
|
position: 'first' | 'last',
|
||||||
onCreateSuccess?: () => void,
|
onCreateSuccess?: () => void,
|
||||||
) => {
|
) => {
|
||||||
if (labelValue.trim() !== '' && position !== undefined) {
|
if (labelValue.trim() !== '' && position !== undefined) {
|
||||||
handleAddNewCardClick(
|
handleAddNewCardClick(labelValue.trim(), position, false, '');
|
||||||
labelIdentifier,
|
|
||||||
labelValue.trim(),
|
|
||||||
position,
|
|
||||||
false,
|
|
||||||
'',
|
|
||||||
);
|
|
||||||
onCreateSuccess?.();
|
onCreateSuccess?.();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleBlur = (
|
const handleBlur = (
|
||||||
labelIdentifier: string,
|
|
||||||
labelValue: string,
|
labelValue: string,
|
||||||
position: 'first' | 'last',
|
position: 'first' | 'last',
|
||||||
onCreateSuccess?: () => void,
|
onCreateSuccess?: () => void,
|
||||||
@ -210,17 +200,16 @@ export const useAddNewCard = ({
|
|||||||
if (labelValue.trim() === '') {
|
if (labelValue.trim() === '') {
|
||||||
onCreateSuccess?.();
|
onCreateSuccess?.();
|
||||||
} else {
|
} else {
|
||||||
handleCreate(labelIdentifier, labelValue, position, onCreateSuccess);
|
handleCreate(labelValue, position, onCreateSuccess);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleInputEnter = (
|
const handleInputEnter = (
|
||||||
labelIdentifier: string,
|
|
||||||
labelValue: string,
|
labelValue: string,
|
||||||
position: 'first' | 'last',
|
position: 'first' | 'last',
|
||||||
onCreateSuccess?: () => void,
|
onCreateSuccess?: () => void,
|
||||||
) => {
|
) => {
|
||||||
handleCreate(labelIdentifier, labelValue, position, onCreateSuccess);
|
handleCreate(labelValue, position, onCreateSuccess);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleEntitySelect = useCallback(
|
const handleEntitySelect = useCallback(
|
||||||
@ -230,7 +219,7 @@ export const useAddNewCard = ({
|
|||||||
columnId?: string,
|
columnId?: string,
|
||||||
) => {
|
) => {
|
||||||
const columnDefinitionId = getColumnDefinitionId(columnId);
|
const columnDefinitionId = getColumnDefinitionId(columnId);
|
||||||
createRecord('', '', position, true, company);
|
createRecord('', position, true, company);
|
||||||
handleCreateSuccess(position, columnDefinitionId, true);
|
handleCreateSuccess(position, columnDefinitionId, true);
|
||||||
},
|
},
|
||||||
[createRecord, handleCreateSuccess, getColumnDefinitionId],
|
[createRecord, handleCreateSuccess, getColumnDefinitionId],
|
||||||
|
|||||||
@ -1,16 +1,6 @@
|
|||||||
import { useAddNewCard } from '@/object-record/record-board/record-board-column/hooks/useAddNewCard';
|
import { useAddNewCard } from '@/object-record/record-board/record-board-column/hooks/useAddNewCard';
|
||||||
import { recordBoardVisibleFieldDefinitionsComponentSelector } from '@/object-record/record-board/states/selectors/recordBoardVisibleFieldDefinitionsComponentSelector';
|
|
||||||
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
|
|
||||||
|
|
||||||
export const useColumnNewCardActions = (columnId: string) => {
|
export const useColumnNewCardActions = (columnId: string) => {
|
||||||
const visibleFieldDefinitions = useRecoilComponentValueV2(
|
|
||||||
recordBoardVisibleFieldDefinitionsComponentSelector,
|
|
||||||
);
|
|
||||||
|
|
||||||
const labelIdentifierField = visibleFieldDefinitions.find(
|
|
||||||
(field) => field.isLabelIdentifier,
|
|
||||||
);
|
|
||||||
|
|
||||||
const { handleAddNewCardClick } = useAddNewCard({
|
const { handleAddNewCardClick } = useAddNewCard({
|
||||||
recordPickerComponentInstanceId: `add-new-card-record-picker-column-${columnId}`,
|
recordPickerComponentInstanceId: `add-new-card-record-picker-column-${columnId}`,
|
||||||
});
|
});
|
||||||
@ -19,13 +9,7 @@ export const useColumnNewCardActions = (columnId: string) => {
|
|||||||
position: 'first' | 'last',
|
position: 'first' | 'last',
|
||||||
isOpportunity: boolean,
|
isOpportunity: boolean,
|
||||||
) => {
|
) => {
|
||||||
handleAddNewCardClick(
|
handleAddNewCardClick('', position, isOpportunity, columnId);
|
||||||
labelIdentifierField?.label ?? '',
|
|
||||||
'',
|
|
||||||
position,
|
|
||||||
isOpportunity,
|
|
||||||
columnId,
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
||||||
import { useAddNewCard } from '@/object-record/record-board/record-board-column/hooks/useAddNewCard';
|
import { useAddNewCard } from '@/object-record/record-board/record-board-column/hooks/useAddNewCard';
|
||||||
import { useIsOpportunitiesCompanyFieldDisabled } from '@/object-record/record-board/record-board-column/hooks/useIsOpportunitiesCompanyFieldDisabled';
|
import { useIsOpportunitiesCompanyFieldDisabled } from '@/object-record/record-board/record-board-column/hooks/useIsOpportunitiesCompanyFieldDisabled';
|
||||||
import { recordBoardVisibleFieldDefinitionsComponentSelector } from '@/object-record/record-board/states/selectors/recordBoardVisibleFieldDefinitionsComponentSelector';
|
|
||||||
import { visibleRecordGroupIdsComponentFamilySelector } from '@/object-record/record-group/states/selectors/visibleRecordGroupIdsComponentFamilySelector';
|
import { visibleRecordGroupIdsComponentFamilySelector } from '@/object-record/record-group/states/selectors/visibleRecordGroupIdsComponentFamilySelector';
|
||||||
import { RecordGroupDefinition } from '@/object-record/record-group/types/RecordGroupDefinition';
|
import { RecordGroupDefinition } from '@/object-record/record-group/types/RecordGroupDefinition';
|
||||||
import { RecordIndexPageKanbanAddMenuItem } from '@/object-record/record-index/components/RecordIndexPageKanbanAddMenuItem';
|
import { RecordIndexPageKanbanAddMenuItem } from '@/object-record/record-index/components/RecordIndexPageKanbanAddMenuItem';
|
||||||
@ -12,7 +11,6 @@ import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/Drop
|
|||||||
import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown';
|
import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown';
|
||||||
import { PageAddButton } from '@/ui/layout/page/components/PageAddButton';
|
import { PageAddButton } from '@/ui/layout/page/components/PageAddButton';
|
||||||
import { useRecoilComponentFamilyValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyValueV2';
|
import { useRecoilComponentFamilyValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyValueV2';
|
||||||
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
|
|
||||||
import { ViewType } from '@/views/types/ViewType';
|
import { ViewType } from '@/views/types/ViewType';
|
||||||
import { useCallback } from 'react';
|
import { useCallback } from 'react';
|
||||||
import { useRecoilValue } from 'recoil';
|
import { useRecoilValue } from 'recoil';
|
||||||
@ -20,7 +18,7 @@ import { useRecoilValue } from 'recoil';
|
|||||||
export const RecordIndexPageKanbanAddButton = () => {
|
export const RecordIndexPageKanbanAddButton = () => {
|
||||||
const dropdownId = `record-index-page-add-button-dropdown`;
|
const dropdownId = `record-index-page-add-button-dropdown`;
|
||||||
|
|
||||||
const { recordIndexId, objectMetadataItem } = useRecordIndexContextOrThrow();
|
const { objectMetadataItem } = useRecordIndexContextOrThrow();
|
||||||
|
|
||||||
const visibleRecordGroupIds = useRecoilComponentFamilyValueV2(
|
const visibleRecordGroupIds = useRecoilComponentFamilyValueV2(
|
||||||
visibleRecordGroupIdsComponentFamilySelector,
|
visibleRecordGroupIdsComponentFamilySelector,
|
||||||
@ -37,15 +35,6 @@ export const RecordIndexPageKanbanAddButton = () => {
|
|||||||
const isOpportunity =
|
const isOpportunity =
|
||||||
objectMetadataItem.nameSingular === CoreObjectNameSingular.Opportunity;
|
objectMetadataItem.nameSingular === CoreObjectNameSingular.Opportunity;
|
||||||
|
|
||||||
const visibleFieldDefinitions = useRecoilComponentValueV2(
|
|
||||||
recordBoardVisibleFieldDefinitionsComponentSelector,
|
|
||||||
recordIndexId,
|
|
||||||
);
|
|
||||||
|
|
||||||
const labelIdentifierField = visibleFieldDefinitions.find(
|
|
||||||
(field) => field.isLabelIdentifier,
|
|
||||||
);
|
|
||||||
|
|
||||||
const { closeDropdown } = useDropdown(dropdownId);
|
const { closeDropdown } = useDropdown(dropdownId);
|
||||||
const { isOpportunitiesCompanyFieldDisabled } =
|
const { isOpportunitiesCompanyFieldDisabled } =
|
||||||
useIsOpportunitiesCompanyFieldDisabled();
|
useIsOpportunitiesCompanyFieldDisabled();
|
||||||
@ -58,7 +47,6 @@ export const RecordIndexPageKanbanAddButton = () => {
|
|||||||
const isOpportunityEnabled =
|
const isOpportunityEnabled =
|
||||||
isOpportunity && !isOpportunitiesCompanyFieldDisabled;
|
isOpportunity && !isOpportunitiesCompanyFieldDisabled;
|
||||||
handleAddNewCardClick(
|
handleAddNewCardClick(
|
||||||
labelIdentifierField?.label ?? '',
|
|
||||||
'',
|
'',
|
||||||
'first',
|
'first',
|
||||||
isOpportunityEnabled,
|
isOpportunityEnabled,
|
||||||
@ -70,7 +58,6 @@ export const RecordIndexPageKanbanAddButton = () => {
|
|||||||
isOpportunity,
|
isOpportunity,
|
||||||
handleAddNewCardClick,
|
handleAddNewCardClick,
|
||||||
closeDropdown,
|
closeDropdown,
|
||||||
labelIdentifierField,
|
|
||||||
isOpportunitiesCompanyFieldDisabled,
|
isOpportunitiesCompanyFieldDisabled,
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user