diff --git a/webapp/packages/supersonic-fe/package.json b/webapp/packages/supersonic-fe/package.json index 6b4beb226..d3a967ed5 100644 --- a/webapp/packages/supersonic-fe/package.json +++ b/webapp/packages/supersonic-fe/package.json @@ -58,7 +58,7 @@ "@ant-design/pro-layout": "^7.17.15", "@ant-design/pro-table": "^3.13.9", "@antv/dom-util": "^2.0.4", - "@antv/g6": "^4.8.14", + "@antv/g6": "^4.8.23", "@antv/g6-core": "^0.8.23", "@antv/layout": "^0.3.20", "@antv/xflow": "^1.0.55", diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/DataSourceCreateForm.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/DataSourceCreateForm.tsx index 0debb9bfc..5bd0e15b9 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/DataSourceCreateForm.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/DataSourceCreateForm.tsx @@ -432,7 +432,9 @@ const DataSourceCreateForm: React.FC = ({ maskClosable={false} open={createModalVisible} footer={renderFooter()} - onCancel={onCancel} + onCancel={() => { + onCancel?.(); + }} > diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricTrendSection.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricTrendSection.tsx index 9c3a21b16..025db547a 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricTrendSection.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricTrendSection.tsx @@ -142,6 +142,9 @@ const MetricTrendSection: React.FC = ({ metircData }) => { }; const queryDimensionList = async (ids: number[]) => { + if (!(Array.isArray(ids) && ids.length > 0)) { + return; + } const { code, data, msg } = await getDimensionList({ ids }); if (code === 200 && Array.isArray(data?.list)) { setDimensionList(data.list); @@ -162,6 +165,9 @@ const MetricTrendSection: React.FC = ({ metircData }) => { const ids = data.map((item) => item.dimensionId); queryDimensionList(ids); return data; + } else { + setDimensionList([]); + setRelationDimensionOptions([]); } if (code !== 200) { message.error(msg); diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/SemanticGraph/index.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/SemanticGraph/index.tsx index 0685ecdae..56ecc80d9 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/SemanticGraph/index.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/SemanticGraph/index.tsx @@ -1070,7 +1070,8 @@ const DomainManger: React.FC = ({ domainManger, dispatch }) => { }} /> )} - { + + {createDataSourceModalOpen && ( { @@ -1082,7 +1083,7 @@ const DomainManger: React.FC = ({ domainManger, dispatch }) => { updateGraphData(); }} /> - } + )} { = ({ const [scriptColumns, setScriptColumns] = useState([]); useEffect(() => { - if (!dataSourceItem || !open) { - setCreateDataSourceModalOpen(open); + if (!dataSourceItem?.id || !open) { + setCreateDataSourceModalOpen(true); return; } if (dataSourceItem?.modelDetail?.queryType === 'table_query') { diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DimensionAndMetricRelationModal.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DimensionAndMetricRelationModal.tsx index b3617086f..69bf7b98c 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DimensionAndMetricRelationModal.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DimensionAndMetricRelationModal.tsx @@ -32,8 +32,7 @@ const DimensionAndMetricRelationModal: React.FC = ({ }; const { code, msg } = await updateExprMetric(queryParams); if (code === 200) { - // message.success('编辑指标成功'); - // onSubmit?.(queryParams); + onSubmit(relationList); return; } message.error(msg); @@ -46,7 +45,6 @@ const DimensionAndMetricRelationModal: React.FC = ({