Feature : Adding percentage option to Input Number (#8481)

fixing #7375

---------

Co-authored-by: guillim <guillaume@twenty.com>
This commit is contained in:
Guillim
2024-11-14 14:23:25 +01:00
committed by GitHub
parent 090f612c4b
commit 15b8b9b158
18 changed files with 166 additions and 47 deletions

View File

@ -11,6 +11,7 @@ type SettingsObjectFieldDataTypeProps = {
to?: string;
Icon?: IconComponent;
label?: string;
labelDetail?: string;
value: SettingsFieldType;
};
@ -50,11 +51,15 @@ const StyledLabelContainer = styled.div`
white-space: nowrap;
`;
const StyledSpan = styled.span`
color: ${({ theme }) => theme.font.color.extraLight};
`;
export const SettingsObjectFieldDataType = ({
to,
value,
Icon: IconFromProps,
label: labelFromProps,
labelDetail,
}: SettingsObjectFieldDataTypeProps) => {
const theme = useTheme();
@ -70,7 +75,9 @@ export const SettingsObjectFieldDataType = ({
return (
<StyledDataType as={to ? Link : 'div'} to={to} value={value}>
<StyledIcon size={theme.icon.size.sm} />
<StyledLabelContainer>{label}</StyledLabelContainer>
<StyledLabelContainer>
{label} <StyledSpan>{labelDetail && `· ${labelDetail}`}</StyledSpan>
</StyledLabelContainer>
</StyledDataType>
);
};

View File

@ -90,7 +90,6 @@ export const SettingsObjectFieldItemTableRow = ({
() => getRelationMetadata({ fieldMetadataItem }),
[fieldMetadataItem, getRelationMetadata],
) ?? {};
const fieldType = fieldMetadataItem.type;
const isFieldTypeSupported = isFieldTypeSupportedInSettings(fieldType);
@ -234,6 +233,9 @@ export const SettingsObjectFieldItemTableRow = ({
? relationObjectMetadataItem?.labelSingular
: relationObjectMetadataItem?.labelPlural
}
labelDetail={
fieldMetadataItem.settings?.type === 'percentage' ? '%' : undefined
}
to={
relationObjectMetadataItem?.namePlural &&
!relationObjectMetadataItem.isSystem