Overwrite standard translations (#11134)

Manage overwriting translations for standard fields and standard objects
properties
This commit is contained in:
Félix Malfait
2025-03-25 22:17:29 +01:00
committed by GitHub
parent 7a7003d859
commit 6ec06be18d
13 changed files with 1809 additions and 122 deletions

View File

@ -105,7 +105,6 @@ export const SettingsDataModelFieldIconLabelForm = ({
const fillNameFromLabel = (label: string) => {
isDefined(label) &&
fieldMetadataItem?.isCustom &&
setValue('name', computeMetadataNameFromLabel(label), {
shouldDirty: true,
});
@ -141,7 +140,11 @@ export const SettingsDataModelFieldIconLabelForm = ({
}
}}
error={getErrorMessageFromError(errors.label?.message)}
disabled={isLabelSyncedWithName === true}
disabled={
isLabelSyncedWithName === true &&
fieldMetadataItem &&
!fieldMetadataItem?.isCustom
}
maxLength={maxLength}
fullWidth
/>

View File

@ -100,6 +100,7 @@ export const SettingsDataModelObjectAboutForm = ({
setValue('labelPlural', labelPluralFromSingularLabel, {
shouldDirty: true,
});
fillNamePluralFromLabelPlural(labelPluralFromSingularLabel);
};
const fillNameSingularFromLabelSingular = (
@ -161,7 +162,11 @@ export const SettingsDataModelObjectAboutForm = ({
}
}}
onBlur={() => onNewDirtyField?.()}
disabled={!objectMetadataItem?.isCustom && isLabelSyncedWithName}
disabled={
objectMetadataItem &&
!objectMetadataItem?.isCustom &&
isLabelSyncedWithName
}
fullWidth
maxLength={OBJECT_NAME_MAXIMUM_LENGTH}
/>
@ -187,7 +192,11 @@ export const SettingsDataModelObjectAboutForm = ({
}
}}
onBlur={() => onNewDirtyField?.()}
disabled={!objectMetadataItem?.isCustom && isLabelSyncedWithName}
disabled={
objectMetadataItem &&
!objectMetadataItem?.isCustom &&
isLabelSyncedWithName
}
fullWidth
maxLength={OBJECT_NAME_MAXIMUM_LENGTH}
/>
@ -293,37 +302,40 @@ export const SettingsDataModelObjectAboutForm = ({
</AdvancedSettingsWrapper>
),
)}
<AdvancedSettingsWrapper>
<Controller
name="isLabelSyncedWithName"
control={control}
defaultValue={objectMetadataItem?.isLabelSyncedWithName}
render={({ field: { onChange, value } }) => (
<Card rounded>
<SettingsOptionCardContentToggle
Icon={IconRefresh}
title={t`Synchronize Objects Labels and API Names`}
description={t`Should changing an object's label also change the API?`}
checked={value ?? true}
advancedMode
onChange={(value) => {
onChange(value);
onNewDirtyField?.();
{(!objectMetadataItem || objectMetadataItem?.isCustom) && (
<AdvancedSettingsWrapper>
<Controller
name="isLabelSyncedWithName"
control={control}
defaultValue={objectMetadataItem?.isLabelSyncedWithName}
render={({ field: { onChange, value } }) => (
<Card rounded>
<SettingsOptionCardContentToggle
Icon={IconRefresh}
title={t`Synchronize Objects Labels and API Names`}
description={t`Should changing an object's label also change the API?`}
checked={value ?? true}
advancedMode
onChange={(value) => {
onChange(value);
onNewDirtyField?.();
if (
value === true &&
isDefined(objectMetadataItem) &&
objectMetadataItem.isCustom
) {
fillNamePluralFromLabelPlural(labelPlural);
fillNameSingularFromLabelSingular(labelSingular);
}
}}
/>
</Card>
)}
/>
</AdvancedSettingsWrapper>
if (
value === true &&
((isDefined(objectMetadataItem) &&
objectMetadataItem.isCustom) ||
!isDefined(objectMetadataItem))
) {
fillNamePluralFromLabelPlural(labelPlural);
fillNameSingularFromLabelSingular(labelSingular);
}
}}
/>
</Card>
)}
/>
</AdvancedSettingsWrapper>
)}
</StyledAdvancedSettingsSectionInputWrapper>
</StyledAdvancedSettingsContainer>
</StyledAdvancedSettingsOuterContainer>