From b5daf04c962edfaa7a1d55e2c94da76941a2bd30 Mon Sep 17 00:00:00 2001 From: tristanliu <37809633+sevenliu1896@users.noreply.github.com> Date: Mon, 27 Nov 2023 23:38:31 +0800 Subject: [PATCH] [improvement][semantic-fe] Fixing the issue with passing the model ID for dimensions in the indicator market. (#436) * [improvement][semantic-fe] Add model alias setting & Add view permission restrictions to the model permission management tab. [improvement][semantic-fe] Add permission control to the action buttons for the main domain; apply high sensitivity filtering to the authorization of metrics/dimensions. [improvement][semantic-fe] Optimize the editing mode in the dimension/metric/datasource components to use the modelId stored in the database for data, instead of relying on the data from the state manager. * [improvement][semantic-fe] Add time granularity setting in the data source configuration. * [improvement][semantic-fe] Dictionary import for dimension values supported in Q&A visibility * [improvement][semantic-fe] Modification of data source creation prompt wording" * [improvement][semantic-fe] metric market experience optimization * [improvement][semantic-fe] enhance the analysis of metric trends * [improvement][semantic-fe] optimize the presentation of metric trend permissions * [improvement][semantic-fe] add metric trend download functionality * [improvement][semantic-fe] fix the dimension initialization issue in metric correlation * [improvement][semantic-fe] Fix the issue of database changes not taking effect when creating based on an SQL data source. * [improvement][semantic-fe] Optimizing pagination logic and some CSS styles * [improvement][semantic-fe] Fixing the API for the indicator list by changing "current" to "pageNum" * [improvement][semantic-fe] Fixing the default value setting for the indicator list * [improvement][semantic-fe] Adding batch operations for indicators/dimensions/models * [improvement][semantic-fe] Replacing the single status update API for indicators/dimensions with a batch update API * [improvement][semantic-fe] Redesigning the indicator homepage to incorporate trend charts and table functionality for indicators * [improvement][semantic-fe] Optimizing the logic for setting dimension values and editing data sources, and adding system settings functionality * [improvement][semantic-fe] Upgrading antd version to 5.x, extracting the batch operation button component, optimizing the interaction for system settings, and expanding the configuration generation types for list-to-select component. * [improvement][semantic-fe] Adding the ability to filter dimensions based on whether they are tags or not. * [improvement][semantic-fe] Adding the ability to edit relationships between models in the canvas. * [improvement][semantic-fe] Updating the datePicker component to use dayjs instead. * [improvement][semantic-fe] Fixing the issue with passing the model ID for dimensions in the indicator market. --- .../Metric/components/MetricTrendDimensionFilter.tsx | 3 ++- .../SemanticModel/Metric/components/MetricTrendSection.tsx | 4 ++-- .../src/pages/SemanticModel/components/BindMeasuresTable.tsx | 4 ++-- .../pages/SemanticModel/components/MetricInfoCreateForm.tsx | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricTrendDimensionFilter.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricTrendDimensionFilter.tsx index 93b598a17..f3a9d5f0a 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricTrendDimensionFilter.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricTrendDimensionFilter.tsx @@ -59,10 +59,11 @@ const MetricTrendDimensionFilter: React.FC = ({ return; } const { dimensionBizName } = queryParams.current; + const targetOptions = dimensionOptions.find((item) => item.value === dimensionBizName) || {}; const { code, data } = await queryDimValue({ ...queryParams.current, value: searchValue, - modelId, + modelId: targetOptions.modelId, // dateInfo: {}, limit: 50, ...(periodDate?.startDate 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 096cf42ea..9c3a21b16 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 @@ -47,7 +47,7 @@ const MetricTrendSection: React.FC = ({ metircData }) => { const [authMessage, setAuthMessage] = useState(''); const [downloadLoding, setDownloadLoding] = useState(false); const [relationDimensionOptions, setRelationDimensionOptions] = useState< - { value: string; label: string }[] + { value: string; label: string; modelId: number }[] >([]); const [dimensionList, setDimensionList] = useState([]); const [queryParams, setQueryParams] = useState({}); @@ -147,7 +147,7 @@ const MetricTrendSection: React.FC = ({ metircData }) => { setDimensionList(data.list); setRelationDimensionOptions( data.list.map((item: ISemantic.IMetricItem) => { - return { label: item.name, value: item.bizName }; + return { label: item.name, value: item.bizName, modelId: item.modelId }; }), ); return data.list; diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/BindMeasuresTable.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/BindMeasuresTable.tsx index e24aa9aec..418b2117c 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/BindMeasuresTable.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/BindMeasuresTable.tsx @@ -18,7 +18,7 @@ export type CreateFormProps = { }; const BindMeasuresTable: React.FC = ({ - measuresList, + measuresList = [], selectedMeasuresList = [], onSubmit, onCancel, @@ -105,7 +105,7 @@ const BindMeasuresTable: React.FC = ({ columns={columns} params={{ ...searchParams }} pagination={false} - dataSource={measuresList} + dataSource={measuresList || []} size="small" search={false} options={false} diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/MetricInfoCreateForm.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/MetricInfoCreateForm.tsx index e2e80af41..31c5c9621 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/MetricInfoCreateForm.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/MetricInfoCreateForm.tsx @@ -92,7 +92,7 @@ const MetricInfoCreateForm: React.FC = ({ const { code, data } = await getModelDetail({ modelId }); if (code === 200) { if (Array.isArray(data?.modelDetail?.measures)) { - setClassMeasureList(data); + setClassMeasureList(data.modelDetail.measures); if (datasourceId) { const hasMeasures = data.some( (item: ISemantic.IMeasure) => item.datasourceId === datasourceId,