diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DimensionInfoModal.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DimensionInfoModal.tsx index a18bfd93f..39efc26a9 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DimensionInfoModal.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DimensionInfoModal.tsx @@ -6,6 +6,12 @@ import { formLayout } from '@/components/FormHelper/utils'; import SqlEditor from '@/components/SqlEditor'; import InfoTagList from './InfoTagList'; import { ISemantic } from '../data'; +import { + DIM_OPTIONS, + EnumDataSourceType, + PARTITION_TIME_FORMATTER, + DATE_FORMATTER, +} from '@/pages/SemanticModel/Datasource/constants'; import { InfoCircleOutlined } from '@ant-design/icons'; import { createDimension, @@ -17,6 +23,7 @@ import { import FormItemTitle from '@/components/FormHelper/FormItemTitle'; import { message } from 'antd'; +import { values } from 'lodash'; export type CreateFormProps = { modelId: number; @@ -49,6 +56,7 @@ const DimensionInfoModal: React.FC = ({ const [form] = Form.useForm(); const { setFieldsValue, resetFields } = form; const [llmLoading, setLlmLoading] = useState(false); + const [formData, setFormData] = useState(); const handleSubmit = async ( isSilenceSubmit = false, @@ -119,7 +127,12 @@ const DimensionInfoModal: React.FC = ({ const setFormVal = () => { if (dimensionItem) { const { alias } = dimensionItem; - setFieldsValue({ ...dimensionItem, alias: alias && alias.trim() ? alias.split(',') : [] }); + const dimensionData = { + ...dimensionItem, + alias: alias && alias.trim() ? alias.split(',') : [], + }; + setFieldsValue(dimensionData); + setFormData(dimensionData); } }; @@ -228,9 +241,40 @@ const DimensionInfoModal: React.FC = ({ )} + + + + {formData?.type && + [EnumDataSourceType.PARTITION_TIME, EnumDataSourceType.TIME].includes(formData.type) && ( + + + + )} +