mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-10-19 04:41:02 +00:00
Fix : Charts details display issue in summary panels. (#20666)
* fix charts details display issue in summary panels * minor fix * added loader
This commit is contained in:
parent
ec535795a3
commit
f31c50a419
@ -56,6 +56,8 @@ export const DataAssetSummaryPanel = ({
|
|||||||
Record<string, number | string>
|
Record<string, number | string>
|
||||||
>({});
|
>({});
|
||||||
const [charts, setCharts] = useState<Chart[]>([]);
|
const [charts, setCharts] = useState<Chart[]>([]);
|
||||||
|
const [chartsDetailsLoading, setChartsDetailsLoading] =
|
||||||
|
useState<boolean>(false);
|
||||||
const [entityPermissions, setEntityPermissions] =
|
const [entityPermissions, setEntityPermissions] =
|
||||||
useState<OperationPermission | null>(null);
|
useState<OperationPermission | null>(null);
|
||||||
const { isTourPage } = useTourProvider();
|
const { isTourPage } = useTourProvider();
|
||||||
@ -71,9 +73,10 @@ export const DataAssetSummaryPanel = ({
|
|||||||
entityType === EntityType.DASHBOARD
|
entityType === EntityType.DASHBOARD
|
||||||
? ({ ...dataAsset, charts } as any)
|
? ({ ...dataAsset, charts } as any)
|
||||||
: dataAsset,
|
: dataAsset,
|
||||||
highlights
|
highlights,
|
||||||
|
entityType === EntityType.DASHBOARD ? chartsDetailsLoading : false
|
||||||
);
|
);
|
||||||
}, [dataAsset, entityType, highlights]);
|
}, [dataAsset, entityType, highlights, charts, chartsDetailsLoading]);
|
||||||
|
|
||||||
const isEntityDeleted = useMemo(() => dataAsset.deleted, [dataAsset]);
|
const isEntityDeleted = useMemo(() => dataAsset.deleted, [dataAsset]);
|
||||||
|
|
||||||
@ -105,12 +108,14 @@ export const DataAssetSummaryPanel = ({
|
|||||||
}, [dataAsset?.fullyQualifiedName, entityPermissions]);
|
}, [dataAsset?.fullyQualifiedName, entityPermissions]);
|
||||||
|
|
||||||
const fetchChartsDetails = useCallback(async () => {
|
const fetchChartsDetails = useCallback(async () => {
|
||||||
|
setChartsDetailsLoading(true);
|
||||||
try {
|
try {
|
||||||
const chartDetails = await fetchCharts((dataAsset as Dashboard).charts);
|
const chartDetails = await fetchCharts((dataAsset as Dashboard).charts);
|
||||||
|
|
||||||
setCharts(chartDetails);
|
setCharts(chartDetails);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// Error
|
// Error
|
||||||
|
} finally {
|
||||||
|
setChartsDetailsLoading(false);
|
||||||
}
|
}
|
||||||
}, [dataAsset]);
|
}, [dataAsset]);
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Collapse, Row, Typography } from 'antd';
|
import { Collapse, Row, Skeleton, Typography } from 'antd';
|
||||||
import { isEmpty, isUndefined } from 'lodash';
|
import { isEmpty, isUndefined } from 'lodash';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
@ -26,9 +26,18 @@ export default function SummaryList({
|
|||||||
formattedEntityData,
|
formattedEntityData,
|
||||||
entityType,
|
entityType,
|
||||||
emptyPlaceholderText,
|
emptyPlaceholderText,
|
||||||
}: SummaryListProps) {
|
loading = false,
|
||||||
|
}: Readonly<SummaryListProps>) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
|
if (loading) {
|
||||||
|
return (
|
||||||
|
<Row align="middle" data-testid="summary-list-loader">
|
||||||
|
<Skeleton active paragraph={{ rows: 1 }} />
|
||||||
|
</Row>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Row align="middle" data-testid="summary-list">
|
<Row align="middle" data-testid="summary-list">
|
||||||
{isEmpty(formattedEntityData) ? (
|
{isEmpty(formattedEntityData) ? (
|
||||||
|
@ -42,4 +42,5 @@ export interface SummaryListProps {
|
|||||||
formattedEntityData: BasicEntityInfo[];
|
formattedEntityData: BasicEntityInfo[];
|
||||||
entityType?: SummaryEntityType;
|
entityType?: SummaryEntityType;
|
||||||
emptyPlaceholderText?: string;
|
emptyPlaceholderText?: string;
|
||||||
|
loading?: boolean;
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,11 @@ function SummaryListItem({
|
|||||||
iconClassName: 'm-r-xss',
|
iconClassName: 'm-r-xss',
|
||||||
iconWidth: '14px',
|
iconWidth: '14px',
|
||||||
})}
|
})}
|
||||||
{entityDetails.title}
|
<Typography.Text
|
||||||
|
className="m-r-xs"
|
||||||
|
ellipsis={{ tooltip: entityDetails.title }}>
|
||||||
|
{entityDetails.title}
|
||||||
|
</Typography.Text>
|
||||||
|
|
||||||
{entityDetails.type && (
|
{entityDetails.type && (
|
||||||
<AppBadge
|
<AppBadge
|
||||||
|
@ -384,7 +384,8 @@ export const getFormattedEntityData = (
|
|||||||
export const getEntityChildDetails = (
|
export const getEntityChildDetails = (
|
||||||
entityType: EntityType,
|
entityType: EntityType,
|
||||||
entityInfo: SearchedDataProps['data'][number]['_source'],
|
entityInfo: SearchedDataProps['data'][number]['_source'],
|
||||||
highlights?: SearchedDataProps['data'][number]['highlight']
|
highlights?: SearchedDataProps['data'][number]['highlight'],
|
||||||
|
loading?: boolean
|
||||||
) => {
|
) => {
|
||||||
let childComponent;
|
let childComponent;
|
||||||
let heading;
|
let heading;
|
||||||
@ -456,7 +457,9 @@ export const getEntityChildDetails = (
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Row className="p-md border-radius-card" gutter={[0, 8]}>
|
<Row
|
||||||
|
className="p-md border-radius-card summary-panel-card"
|
||||||
|
gutter={[0, 8]}>
|
||||||
<Col span={24}>
|
<Col span={24}>
|
||||||
<Typography.Text
|
<Typography.Text
|
||||||
className="summary-panel-section-title"
|
className="summary-panel-section-title"
|
||||||
@ -465,11 +468,16 @@ export const getEntityChildDetails = (
|
|||||||
</Typography.Text>
|
</Typography.Text>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={24}>
|
<Col span={24}>
|
||||||
<SummaryList formattedEntityData={formattedChartsData} />
|
<SummaryList
|
||||||
|
formattedEntityData={formattedChartsData}
|
||||||
|
loading={loading}
|
||||||
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
|
|
||||||
<Row className="p-md border-radius-card" gutter={[0, 8]}>
|
<Row
|
||||||
|
className="p-md border-radius-card summary-panel-card"
|
||||||
|
gutter={[0, 8]}>
|
||||||
<Col span={24}>
|
<Col span={24}>
|
||||||
<Typography.Text
|
<Typography.Text
|
||||||
className="summary-panel-section-title"
|
className="summary-panel-section-title"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user