diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/ModelFieldForm.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/ModelFieldForm.tsx index 29d0bdef6..249f8dccb 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/ModelFieldForm.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/ModelFieldForm.tsx @@ -1,19 +1,19 @@ import React, { useState } from 'react'; -import { Table, Select, Checkbox, Input, Space, Tooltip, Form, Switch, Row, Col } from 'antd'; +import { Checkbox, Form, Input, Select, Space, Switch, Table, Tooltip } from 'antd'; import TableTitleTooltips from '../../components/TableTitleTooltips'; import { isUndefined } from 'lodash'; import { ExclamationCircleOutlined } from '@ant-design/icons'; import SqlEditor from '@/components/SqlEditor'; import { ISemantic } from '../../data'; import { - TYPE_OPTIONS, - DATE_FORMATTER, AGG_OPTIONS, - EnumDataSourceType, + DATE_FORMATTER, DATE_OPTIONS, DIM_OPTIONS, + EnumDataSourceType, EnumModelDataType, PARTITION_TIME_FORMATTER, + TYPE_OPTIONS, } from '../constants'; import styles from '../style.less'; @@ -90,8 +90,7 @@ const ModelFieldForm: React.FC = ({ dataIndex: 'type', width: 250, render: (_: any, record: FieldItem) => { - const type = fields.find((field) => field.bizName === record.bizName)?.type; - const classType = fields.find((field) => field.bizName === record.bizName)?.classType; + const { type, classType } = record; const selectTypeValue = [EnumModelDataType.DIMENSION].includes(classType) ? classType : type; @@ -229,13 +228,10 @@ const ModelFieldForm: React.FC = ({ // ); // } if (type === EnumDataSourceType.MEASURES) { - const agg = record.expr - ? fields.find((field) => field.expr === record.expr)?.agg - : undefined; return ( ); } - if (process.env.SHOW_TAG) { if (type === EnumDataSourceType.CATEGORICAL) { const isTag = fields.find((field) => field.bizName === record.bizName)?.isTag; @@ -299,10 +294,7 @@ const ModelFieldForm: React.FC = ({ } } if ([EnumDataSourceType.TIME, EnumDataSourceType.PARTITION_TIME].includes(type)) { - const dateFormat = fields.find((field) => field.bizName === record.bizName)?.dateFormat; - const timeGranularity = fields.find( - (field) => field.bizName === record.bizName, - )?.timeGranularity; + const { dateFormat, timeGranularity } = record; const dateFormatterOptions = type === EnumDataSourceType.PARTITION_TIME ? PARTITION_TIME_FORMATTER : DATE_FORMATTER; diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/View/components/DataSetTable.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/View/components/DataSetTable.tsx index 260c61062..0827df07b 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/View/components/DataSetTable.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/View/components/DataSetTable.tsx @@ -15,9 +15,10 @@ import ViewSearchFormModal from './ViewSearchFormModal'; type Props = { dataSetList: ISemantic.IDatasetItem[]; disabledEdit?: boolean; + isCurrent: boolean; }; -const DataSetTable: React.FC = ({ dataSetList, disabledEdit = false }) => { +const DataSetTable: React.FC = ({ dataSetList, disabledEdit = false, isCurrent }) => { const domainModel = useModel('SemanticModel.domainData'); const { selectDomainId } = domainModel; @@ -51,8 +52,8 @@ const DataSetTable: React.FC = ({ dataSetList, disabledEdit = false }) => useEffect(() => { // queryDataSetList(); - queryDomainAllModel(); - }, [selectDomainId]); + if (isCurrent) queryDomainAllModel(); + }, [selectDomainId, isCurrent]); const queryDataSetList = async () => { setLoading(true); diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/View/index.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/View/index.tsx index 962b9e1f8..fab3c3acc 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/View/index.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/View/index.tsx @@ -3,14 +3,15 @@ import { ISemantic } from '../data'; import DataSetTable from './components/DataSetTable'; type Props = { + isCurrent: boolean; disabledEdit?: boolean; dataSetList: ISemantic.IDatasetItem[]; }; -const View: React.FC = ({ dataSetList, disabledEdit = false }) => { +const View: React.FC = ({ isCurrent, dataSetList, disabledEdit = false }) => { return (
- +
); }; diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DomainManagerTab.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DomainManagerTab.tsx index 9e54e39fd..e07d10cfe 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DomainManagerTab.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DomainManagerTab.tsx @@ -50,7 +50,7 @@ const DomainManagerTab: React.FC = ({ label: '数据集管理', key: 'overview', hidden: !!domainData?.parentId, - children: , + children: , }, { label: '模型管理',