mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-07-19 15:31:59 +00:00
fix(ui): column name overlapping in entity table (#14086)
* fix column name overlaping in entity table * minor fixes
This commit is contained in:
parent
845a2e585e
commit
1540329e1e
@ -41,15 +41,17 @@ const ContainerChildren: FC<ContainerChildrenProps> = ({
|
|||||||
{
|
{
|
||||||
title: t('label.name'),
|
title: t('label.name'),
|
||||||
dataIndex: 'name',
|
dataIndex: 'name',
|
||||||
width: '200px',
|
width: 400,
|
||||||
key: 'name',
|
key: 'name',
|
||||||
render: (_, record) => (
|
render: (_, record) => (
|
||||||
<Link
|
<div className="d-inline-flex w-max-90">
|
||||||
className="link-hover"
|
<Link
|
||||||
data-testid="container-name"
|
className="break-word"
|
||||||
to={getContainerDetailPath(record.fullyQualifiedName || '')}>
|
data-testid="container-name"
|
||||||
{getEntityName(record)}
|
to={getContainerDetailPath(record.fullyQualifiedName ?? '')}>
|
||||||
</Link>
|
{getEntityName(record)}
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -421,19 +421,25 @@ const DashboardDetails = ({
|
|||||||
}),
|
}),
|
||||||
dataIndex: 'chartName',
|
dataIndex: 'chartName',
|
||||||
key: 'chartName',
|
key: 'chartName',
|
||||||
width: 200,
|
width: 220,
|
||||||
|
fixed: 'left',
|
||||||
render: (_, record) => {
|
render: (_, record) => {
|
||||||
const chartName = getEntityName(record);
|
const chartName = getEntityName(record);
|
||||||
|
|
||||||
return record.sourceUrl ? (
|
return record.sourceUrl ? (
|
||||||
<Typography.Link href={record.sourceUrl} target="_blank">
|
<div className="d-flex items-center">
|
||||||
<Space>
|
<Typography.Link href={record.sourceUrl} target="_blank">
|
||||||
{chartName}
|
<span className="break-all">{chartName}</span>
|
||||||
<ExternalLinkIcon height={14} width={14} />
|
|
||||||
</Space>
|
<ExternalLinkIcon
|
||||||
</Typography.Link>
|
className="m-l-xs flex-none"
|
||||||
|
height={14}
|
||||||
|
width={14}
|
||||||
|
/>
|
||||||
|
</Typography.Link>
|
||||||
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<Typography.Text>{chartName}</Typography.Text>
|
<Typography.Text className="w-full">{chartName}</Typography.Text>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -64,11 +64,14 @@ const DataModelTable = () => {
|
|||||||
const dataModelDisplayName = getEntityName(record);
|
const dataModelDisplayName = getEntityName(record);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Link
|
<div className="d-inline-flex w-max-90">
|
||||||
data-testid={`data-model-${dataModelDisplayName}`}
|
<Link
|
||||||
to={getDataModelDetailsPath(record.fullyQualifiedName || '')}>
|
className="break-word"
|
||||||
{dataModelDisplayName}
|
data-testid={`data-model-${dataModelDisplayName}`}
|
||||||
</Link>
|
to={getDataModelDetailsPath(record.fullyQualifiedName || '')}>
|
||||||
|
{dataModelDisplayName}
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -78,6 +78,7 @@ const ModelTab = ({
|
|||||||
dataIndex: 'name',
|
dataIndex: 'name',
|
||||||
key: 'name',
|
key: 'name',
|
||||||
width: 250,
|
width: 250,
|
||||||
|
fixed: 'left',
|
||||||
render: (_, record) => (
|
render: (_, record) => (
|
||||||
<Typography.Text>{getEntityName(record)}</Typography.Text>
|
<Typography.Text>{getEntityName(record)}</Typography.Text>
|
||||||
),
|
),
|
||||||
|
@ -370,7 +370,8 @@ const PipelineDetails = ({
|
|||||||
key: t('label.name'),
|
key: t('label.name'),
|
||||||
dataIndex: 'name',
|
dataIndex: 'name',
|
||||||
title: t('label.name'),
|
title: t('label.name'),
|
||||||
width: 200,
|
width: 220,
|
||||||
|
fixed: 'left',
|
||||||
render: (_, record) =>
|
render: (_, record) =>
|
||||||
isEmpty(record.sourceUrl) ? (
|
isEmpty(record.sourceUrl) ? (
|
||||||
<span>{getEntityName(record)}</span>
|
<span>{getEntityName(record)}</span>
|
||||||
@ -379,8 +380,15 @@ const PipelineDetails = ({
|
|||||||
className="flex items-center gap-2"
|
className="flex items-center gap-2"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
to={{ pathname: record.sourceUrl }}>
|
to={{ pathname: record.sourceUrl }}>
|
||||||
<span>{getEntityName(record)}</span>
|
<div className="d-flex items-center">
|
||||||
<ExternalLinkIcon height={14} width={14} />
|
<span className="break-all">{getEntityName(record)}</span>
|
||||||
|
|
||||||
|
<ExternalLinkIcon
|
||||||
|
className="m-l-xs flex-none"
|
||||||
|
height={14}
|
||||||
|
width={14}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</Link>
|
</Link>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
@ -325,7 +325,8 @@ const SchemaTable = ({
|
|||||||
|
|
||||||
<Typography.Text
|
<Typography.Text
|
||||||
className="m-b-0 d-block text-grey-muted"
|
className="m-b-0 d-block text-grey-muted"
|
||||||
data-testid="column-name">
|
data-testid="column-name"
|
||||||
|
ellipsis={{ tooltip: true }}>
|
||||||
{name}
|
{name}
|
||||||
</Typography.Text>
|
</Typography.Text>
|
||||||
</div>
|
</div>
|
||||||
|
@ -16,7 +16,6 @@ import {
|
|||||||
Radio,
|
Radio,
|
||||||
RadioChangeEvent,
|
RadioChangeEvent,
|
||||||
Row,
|
Row,
|
||||||
Space,
|
|
||||||
Tag,
|
Tag,
|
||||||
Tooltip,
|
Tooltip,
|
||||||
Typography,
|
Typography,
|
||||||
@ -128,17 +127,17 @@ const TopicSchemaFields: FC<TopicSchemaFieldsProps> = ({
|
|||||||
|
|
||||||
const renderSchemaName = useCallback(
|
const renderSchemaName = useCallback(
|
||||||
(_, record: Field) => (
|
(_, record: Field) => (
|
||||||
<Space align="start" className="w-max-90 vertical-align-inherit" size={2}>
|
<div className="d-inline-flex w-max-90 vertical-align-inherit">
|
||||||
<Tooltip destroyTooltipOnHide title={getEntityName(record)}>
|
<Tooltip destroyTooltipOnHide title={getEntityName(record)}>
|
||||||
<Typography.Text className="break-word">
|
<span className="break-word">
|
||||||
{isVersionView ? (
|
{isVersionView ? (
|
||||||
<RichTextEditorPreviewer markdown={getEntityName(record)} />
|
<RichTextEditorPreviewer markdown={getEntityName(record)} />
|
||||||
) : (
|
) : (
|
||||||
getEntityName(record)
|
getEntityName(record)
|
||||||
)}
|
)}
|
||||||
</Typography.Text>
|
</span>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</Space>
|
</div>
|
||||||
),
|
),
|
||||||
[isVersionView]
|
[isVersionView]
|
||||||
);
|
);
|
||||||
|
@ -74,18 +74,21 @@ function SchemaTablesTab({
|
|||||||
title: t('label.name'),
|
title: t('label.name'),
|
||||||
dataIndex: 'name',
|
dataIndex: 'name',
|
||||||
key: 'name',
|
key: 'name',
|
||||||
|
width: 500,
|
||||||
render: (_, record: Table) => {
|
render: (_, record: Table) => {
|
||||||
return (
|
return (
|
||||||
<Link
|
<div className="d-inline-flex w-max-90">
|
||||||
to={getEntityLink(
|
<Link
|
||||||
EntityType.TABLE,
|
className="break-word"
|
||||||
record.fullyQualifiedName as string
|
to={getEntityLink(
|
||||||
)}>
|
EntityType.TABLE,
|
||||||
{getEntityName(record)}
|
record.fullyQualifiedName as string
|
||||||
</Link>
|
)}>
|
||||||
|
{getEntityName(record)}
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
className: 'truncate w-max-500',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: t('label.description'),
|
title: t('label.description'),
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Space, Tooltip, Typography } from 'antd';
|
import { Tooltip, Typography } from 'antd';
|
||||||
import { ColumnsType } from 'antd/lib/table';
|
import { ColumnsType } from 'antd/lib/table';
|
||||||
import { cloneDeep, isEmpty, isUndefined, toLower } from 'lodash';
|
import { cloneDeep, isEmpty, isUndefined, toLower } from 'lodash';
|
||||||
import { EntityTags } from 'Models';
|
import { EntityTags } from 'Models';
|
||||||
@ -171,15 +171,12 @@ const SearchIndexFieldsTable = ({
|
|||||||
dataIndex: 'name',
|
dataIndex: 'name',
|
||||||
key: 'name',
|
key: 'name',
|
||||||
accessor: 'name',
|
accessor: 'name',
|
||||||
width: 180,
|
width: 220,
|
||||||
fixed: 'left',
|
fixed: 'left',
|
||||||
render: (_, record: SearchIndexField) => (
|
render: (_, record: SearchIndexField) => (
|
||||||
<Space
|
<div className="d-inline-flex w-max-90">
|
||||||
align="start"
|
|
||||||
className="w-max-90 vertical-align-inherit"
|
|
||||||
size={2}>
|
|
||||||
<span className="break-word">{getEntityName(record)}</span>
|
<span className="break-word">{getEntityName(record)}</span>
|
||||||
</Space>
|
</div>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -92,13 +92,16 @@ const StoredProcedureTab = () => {
|
|||||||
key: 'name',
|
key: 'name',
|
||||||
width: 350,
|
width: 350,
|
||||||
render: (_, record) => (
|
render: (_, record) => (
|
||||||
<Link
|
<div className="d-inline-flex w-max-90">
|
||||||
to={getEntityLink(
|
<Link
|
||||||
EntityType.STORED_PROCEDURE,
|
className="break-word"
|
||||||
record.fullyQualifiedName ?? ''
|
to={getEntityLink(
|
||||||
)}>
|
EntityType.STORED_PROCEDURE,
|
||||||
{getEntityName(record)}
|
record.fullyQualifiedName ?? ''
|
||||||
</Link>
|
)}>
|
||||||
|
{getEntityName(record)}
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -34,15 +34,19 @@ export const schemaTableColumns: ColumnsType<DatabaseSchema> = [
|
|||||||
title: t('label.schema-name'),
|
title: t('label.schema-name'),
|
||||||
dataIndex: 'name',
|
dataIndex: 'name',
|
||||||
key: 'name',
|
key: 'name',
|
||||||
|
width: 250,
|
||||||
render: (_, record: DatabaseSchema) => (
|
render: (_, record: DatabaseSchema) => (
|
||||||
<Link
|
<div className="d-inline-flex w-max-90">
|
||||||
to={
|
<Link
|
||||||
record.fullyQualifiedName
|
className="break-word"
|
||||||
? getDatabaseSchemaDetailsPath(record.fullyQualifiedName)
|
to={
|
||||||
: ''
|
record.fullyQualifiedName
|
||||||
}>
|
? getDatabaseSchemaDetailsPath(record.fullyQualifiedName)
|
||||||
{getEntityName(record)}
|
: ''
|
||||||
</Link>
|
}>
|
||||||
|
{getEntityName(record)}
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user