Revert "Remove reference to data-testid from styling" (#10635)
Reverts twentyhq/twenty#10407
This commit is contained in:
@ -22,7 +22,6 @@ export type RecordChipProps = {
|
|||||||
maxWidth?: number;
|
maxWidth?: number;
|
||||||
to?: string | undefined;
|
to?: string | undefined;
|
||||||
size?: ChipSize;
|
size?: ChipSize;
|
||||||
isLabelHidden?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const RecordChip = ({
|
export const RecordChip = ({
|
||||||
@ -34,7 +33,6 @@ export const RecordChip = ({
|
|||||||
to,
|
to,
|
||||||
size,
|
size,
|
||||||
forceDisableClick = false,
|
forceDisableClick = false,
|
||||||
isLabelHidden = false,
|
|
||||||
}: RecordChipProps) => {
|
}: RecordChipProps) => {
|
||||||
const { recordChipData } = useRecordChipData({
|
const { recordChipData } = useRecordChipData({
|
||||||
objectNameSingular,
|
objectNameSingular,
|
||||||
@ -78,7 +76,6 @@ export const RecordChip = ({
|
|||||||
maxWidth={maxWidth}
|
maxWidth={maxWidth}
|
||||||
placeholderColorSeed={record.id}
|
placeholderColorSeed={record.id}
|
||||||
name={recordChipData.name}
|
name={recordChipData.name}
|
||||||
isLabelHidden={isLabelHidden}
|
|
||||||
avatarType={recordChipData.avatarType}
|
avatarType={recordChipData.avatarType}
|
||||||
avatarUrl={recordChipData.avatarUrl ?? ''}
|
avatarUrl={recordChipData.avatarUrl ?? ''}
|
||||||
className={className}
|
className={className}
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
import { RecordChip } from '@/object-record/components/RecordChip';
|
import { RecordChip } from '@/object-record/components/RecordChip';
|
||||||
import { useIsChipFieldDisplayLabelHidden } from '@/object-record/record-field/meta-types/display/hooks/useIsChipFieldDisplayLabelHidden';
|
|
||||||
import { useChipFieldDisplay } from '@/object-record/record-field/meta-types/hooks/useChipFieldDisplay';
|
import { useChipFieldDisplay } from '@/object-record/record-field/meta-types/hooks/useChipFieldDisplay';
|
||||||
import { isDefined } from 'twenty-shared';
|
import { isDefined } from 'twenty-shared';
|
||||||
import { ChipSize } from 'twenty-ui';
|
import { ChipSize } from 'twenty-ui';
|
||||||
@ -8,8 +7,6 @@ export const ChipFieldDisplay = () => {
|
|||||||
const { recordValue, objectNameSingular, labelIdentifierLink } =
|
const { recordValue, objectNameSingular, labelIdentifierLink } =
|
||||||
useChipFieldDisplay();
|
useChipFieldDisplay();
|
||||||
|
|
||||||
const isChipFieldDisplayLabelHidden = useIsChipFieldDisplayLabelHidden();
|
|
||||||
|
|
||||||
if (!isDefined(recordValue)) {
|
if (!isDefined(recordValue)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -20,7 +17,6 @@ export const ChipFieldDisplay = () => {
|
|||||||
record={recordValue}
|
record={recordValue}
|
||||||
size={ChipSize.Small}
|
size={ChipSize.Small}
|
||||||
to={labelIdentifierLink}
|
to={labelIdentifierLink}
|
||||||
isLabelHidden={isChipFieldDisplayLabelHidden}
|
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -5,7 +5,6 @@ import { CoreObjectNamePlural } from '@/object-metadata/types/CoreObjectNamePlur
|
|||||||
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
||||||
import { ChipFieldDisplay } from '@/object-record/record-field/meta-types/display/components/ChipFieldDisplay';
|
import { ChipFieldDisplay } from '@/object-record/record-field/meta-types/display/components/ChipFieldDisplay';
|
||||||
import { RecordIndexContextProvider } from '@/object-record/record-index/contexts/RecordIndexContext';
|
import { RecordIndexContextProvider } from '@/object-record/record-index/contexts/RecordIndexContext';
|
||||||
import { RecordTableComponentInstanceContext } from '@/object-record/record-table/states/context/RecordTableComponentInstanceContext';
|
|
||||||
import { ChipGeneratorsDecorator } from '~/testing/decorators/ChipGeneratorsDecorator';
|
import { ChipGeneratorsDecorator } from '~/testing/decorators/ChipGeneratorsDecorator';
|
||||||
import { getFieldDecorator } from '~/testing/decorators/getFieldDecorator';
|
import { getFieldDecorator } from '~/testing/decorators/getFieldDecorator';
|
||||||
import { MemoryRouterDecorator } from '~/testing/decorators/MemoryRouterDecorator';
|
import { MemoryRouterDecorator } from '~/testing/decorators/MemoryRouterDecorator';
|
||||||
@ -23,25 +22,18 @@ const meta: Meta = {
|
|||||||
)!;
|
)!;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<RecordTableComponentInstanceContext.Provider
|
<RecordIndexContextProvider
|
||||||
value={{
|
value={{
|
||||||
instanceId,
|
indexIdentifierUrl: () => '',
|
||||||
onColumnsChange: () => {},
|
onIndexRecordsLoaded: () => {},
|
||||||
|
objectNamePlural: CoreObjectNamePlural.Company,
|
||||||
|
objectNameSingular: CoreObjectNameSingular.Company,
|
||||||
|
objectMetadataItem: companyObjectMetadataItem,
|
||||||
|
recordIndexId: instanceId,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<RecordIndexContextProvider
|
<Story />
|
||||||
value={{
|
</RecordIndexContextProvider>
|
||||||
indexIdentifierUrl: () => '',
|
|
||||||
onIndexRecordsLoaded: () => {},
|
|
||||||
objectNamePlural: CoreObjectNamePlural.Company,
|
|
||||||
objectNameSingular: CoreObjectNameSingular.Company,
|
|
||||||
objectMetadataItem: companyObjectMetadataItem,
|
|
||||||
recordIndexId: instanceId,
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<Story />
|
|
||||||
</RecordIndexContextProvider>
|
|
||||||
</RecordTableComponentInstanceContext.Provider>
|
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
MemoryRouterDecorator,
|
MemoryRouterDecorator,
|
||||||
|
|||||||
@ -1,22 +0,0 @@
|
|||||||
import { RecordTableCellContext } from '@/object-record/record-table/contexts/RecordTableCellContext';
|
|
||||||
import { isRecordTableScrolledLeftComponentState } from '@/object-record/record-table/states/isRecordTableScrolledLeftComponentState';
|
|
||||||
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
|
|
||||||
import { useContext } from 'react';
|
|
||||||
import { useIsMobile } from 'twenty-ui';
|
|
||||||
|
|
||||||
export const useIsChipFieldDisplayLabelHidden = () => {
|
|
||||||
const isMobile = useIsMobile();
|
|
||||||
|
|
||||||
const isRecordTableScrolledLeft = useRecoilComponentValueV2(
|
|
||||||
isRecordTableScrolledLeftComponentState,
|
|
||||||
);
|
|
||||||
|
|
||||||
const { columnDefinition } = useContext(RecordTableCellContext);
|
|
||||||
|
|
||||||
const isLabelIdentifierInRecordTable = columnDefinition?.isLabelIdentifier;
|
|
||||||
|
|
||||||
const isLabelHidden =
|
|
||||||
isMobile && !isRecordTableScrolledLeft && isLabelIdentifierInRecordTable;
|
|
||||||
|
|
||||||
return isLabelHidden;
|
|
||||||
};
|
|
||||||
@ -1,4 +1,5 @@
|
|||||||
import styled from '@emotion/styled';
|
import styled from '@emotion/styled';
|
||||||
|
import { MOBILE_VIEWPORT } from 'twenty-ui';
|
||||||
|
|
||||||
const StyledTbody = styled.tbody`
|
const StyledTbody = styled.tbody`
|
||||||
&.first-columns-sticky {
|
&.first-columns-sticky {
|
||||||
@ -21,6 +22,18 @@ const StyledTbody = styled.tbody`
|
|||||||
z-index: 5;
|
z-index: 5;
|
||||||
transition: 0.3s ease;
|
transition: 0.3s ease;
|
||||||
|
|
||||||
|
@media (max-width: ${MOBILE_VIEWPORT}px) {
|
||||||
|
& [data-testid='editable-cell-display-mode'] {
|
||||||
|
[data-testid='tooltip'] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-testid='chip'] {
|
||||||
|
gap: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&:not(.disable-shadow)::after {
|
&:not(.disable-shadow)::after {
|
||||||
content: '';
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { ReactElement, useContext, useEffect, useRef } from 'react';
|
import { ReactElement, useContext, useEffect, useRef } from 'react';
|
||||||
import { useRecoilValue } from 'recoil';
|
import { useRecoilValue } from 'recoil';
|
||||||
import { IconArrowUpRight, useIsMobile } from 'twenty-ui';
|
import { IconArrowUpRight } from 'twenty-ui';
|
||||||
|
|
||||||
import { useGetButtonIcon } from '@/object-record/record-field/hooks/useGetButtonIcon';
|
import { useGetButtonIcon } from '@/object-record/record-field/hooks/useGetButtonIcon';
|
||||||
import { useIsFieldEmpty } from '@/object-record/record-field/hooks/useIsFieldEmpty';
|
import { useIsFieldEmpty } from '@/object-record/record-field/hooks/useIsFieldEmpty';
|
||||||
@ -80,12 +80,8 @@ export const RecordTableCellSoftFocusMode = ({
|
|||||||
? IconArrowUpRight // IconLayoutSidebarRightExpand - Disabling sidepanel access for now
|
? IconArrowUpRight // IconLayoutSidebarRightExpand - Disabling sidepanel access for now
|
||||||
: customButtonIcon;
|
: customButtonIcon;
|
||||||
|
|
||||||
const isMobile = useIsMobile();
|
|
||||||
const showButton =
|
const showButton =
|
||||||
isDefined(buttonIcon) &&
|
isDefined(buttonIcon) && !editModeContentOnly && !isFieldReadOnly;
|
||||||
!editModeContentOnly &&
|
|
||||||
!isFieldReadOnly &&
|
|
||||||
!(isMobile && isFirstColumn);
|
|
||||||
|
|
||||||
const dontShowContent = isEmpty && isFieldReadOnly;
|
const dontShowContent = isEmpty && isFieldReadOnly;
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,6 @@ export type LinkAvatarChipProps = Omit<AvatarChipsCommonProps, 'clickable'> & {
|
|||||||
to: string;
|
to: string;
|
||||||
onClick?: LinkChipProps['onClick'];
|
onClick?: LinkChipProps['onClick'];
|
||||||
variant?: AvatarChipVariant;
|
variant?: AvatarChipVariant;
|
||||||
isLabelHidden?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const LinkAvatarChip = ({
|
export const LinkAvatarChip = ({
|
||||||
@ -25,13 +24,11 @@ export const LinkAvatarChip = ({
|
|||||||
placeholderColorSeed,
|
placeholderColorSeed,
|
||||||
size,
|
size,
|
||||||
variant,
|
variant,
|
||||||
isLabelHidden,
|
|
||||||
}: LinkAvatarChipProps) => (
|
}: LinkAvatarChipProps) => (
|
||||||
<LinkChip
|
<LinkChip
|
||||||
to={to}
|
to={to}
|
||||||
onClick={onClick}
|
onClick={onClick}
|
||||||
label={name}
|
label={name}
|
||||||
isLabelHidden={isLabelHidden}
|
|
||||||
variant={
|
variant={
|
||||||
//Regular but Highlighted -> missleading
|
//Regular but Highlighted -> missleading
|
||||||
variant === AvatarChipVariant.Regular
|
variant === AvatarChipVariant.Regular
|
||||||
|
|||||||
@ -26,7 +26,6 @@ export type ChipProps = {
|
|||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
clickable?: boolean;
|
clickable?: boolean;
|
||||||
label: string;
|
label: string;
|
||||||
isLabelHidden?: boolean;
|
|
||||||
maxWidth?: number;
|
maxWidth?: number;
|
||||||
variant?: ChipVariant;
|
variant?: ChipVariant;
|
||||||
accent?: ChipAccent;
|
accent?: ChipAccent;
|
||||||
@ -125,7 +124,6 @@ const StyledContainer = withTheme(styled.div<
|
|||||||
export const Chip = ({
|
export const Chip = ({
|
||||||
size = ChipSize.Small,
|
size = ChipSize.Small,
|
||||||
label,
|
label,
|
||||||
isLabelHidden = false,
|
|
||||||
disabled = false,
|
disabled = false,
|
||||||
clickable = true,
|
clickable = true,
|
||||||
variant = ChipVariant.Regular,
|
variant = ChipVariant.Regular,
|
||||||
@ -147,9 +145,7 @@ export const Chip = ({
|
|||||||
maxWidth={maxWidth}
|
maxWidth={maxWidth}
|
||||||
>
|
>
|
||||||
{leftComponent?.()}
|
{leftComponent?.()}
|
||||||
{!isLabelHidden && (
|
<OverflowingTextWithTooltip size={size} text={label} />
|
||||||
<OverflowingTextWithTooltip size={size} text={label} />
|
|
||||||
)}
|
|
||||||
{rightComponent?.()}
|
{rightComponent?.()}
|
||||||
</StyledContainer>
|
</StyledContainer>
|
||||||
);
|
);
|
||||||
|
|||||||
@ -27,7 +27,6 @@ export const LinkChip = ({
|
|||||||
to,
|
to,
|
||||||
size = ChipSize.Small,
|
size = ChipSize.Small,
|
||||||
label,
|
label,
|
||||||
isLabelHidden = false,
|
|
||||||
variant = ChipVariant.Regular,
|
variant = ChipVariant.Regular,
|
||||||
leftComponent = null,
|
leftComponent = null,
|
||||||
rightComponent = null,
|
rightComponent = null,
|
||||||
@ -41,7 +40,6 @@ export const LinkChip = ({
|
|||||||
<Chip
|
<Chip
|
||||||
size={size}
|
size={size}
|
||||||
label={label}
|
label={label}
|
||||||
isLabelHidden={isLabelHidden}
|
|
||||||
clickable={true}
|
clickable={true}
|
||||||
variant={variant}
|
variant={variant}
|
||||||
leftComponent={leftComponent}
|
leftComponent={leftComponent}
|
||||||
|
|||||||
Reference in New Issue
Block a user