From 0408f0fe9a4bc75de9947ae76d3178ca8bcc2c75 Mon Sep 17 00:00:00 2001 From: tristanliu <37809633+sevenliu1896@users.noreply.github.com> Date: Fri, 5 Jan 2024 11:16:21 +0800 Subject: [PATCH] =?UTF-8?q?[improvement][semantic-fe]=20Changing=20the=20?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=90=8D=E7=A7=B0=20to=20=E8=8B=B1=E6=96=87?= =?UTF-8?q?=E5=90=8D=E7=A7=B0.=20(#600)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [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. * [improvement][semantic-fe] Fixing the abnormal state of the popup when creating a model. * [improvement][semantic-fe] Adding permission logic for bulk operations in the indicator market. * [improvement][semantic-fe] Adding the ability to download and transpose data. * [improvement][semantic-fe] Fixing the initialization issue with the date selection component in the indicator details page when switching time granularity. * [improvement][semantic-fe] Fixing the logic error in the dimension value setting. * [improvement][semantic-fe] Fixing the synchronization issue with the question and answer settings information. * [improvement][semantic-fe] Optimizing the canvas functionality for better performance and user experience. * [improvement][semantic-fe] Optimizing the update process for drawing model relationship edges in the canvas. * [improvement][semantic-fe] Changing the line type for canvas connections. * [improvement][semantic-fe] Replacing the initialization variable from "semantic" to "headless". * [improvement][semantic-fe] Fixing the missing migration issue for default drill-down dimension configuration in model editing. Additionally, optimizing the data retrieval method for initializing fields in the model. * [improvement][semantic-fe] Updating the logic for the fieldName. * [improvement][semantic-fe] Adjusting the position of the metrics tab. * [improvement][semantic-fe] Changing the 字段名称 to 英文名称. --- webapp/packages/supersonic-fe/src/app.tsx | 18 +++--------------- .../supersonic-fe/src/pages/Login/index.tsx | 7 ++++++- .../components/DataSourceFieldForm.tsx | 2 +- .../Metric/components/MetricFilter.tsx | 2 +- .../components/NodeInfoDrawer.tsx | 2 +- .../components/ClassDimensionTable.tsx | 4 ++-- .../components/ClassMetricTable.tsx | 4 ++-- .../CommonDimensionInfoModal.tsx | 2 +- .../CommonDimension/CommonDimensionTable.tsx | 4 ++-- .../components/DimensionInfoModal.tsx | 4 ++-- .../components/MetricInfoCreateForm.tsx | 4 ++-- .../SemanticModel/components/ModelTable.tsx | 2 +- 12 files changed, 24 insertions(+), 31 deletions(-) diff --git a/webapp/packages/supersonic-fe/src/app.tsx b/webapp/packages/supersonic-fe/src/app.tsx index 2af0917f7..3bd8ae5f3 100644 --- a/webapp/packages/supersonic-fe/src/app.tsx +++ b/webapp/packages/supersonic-fe/src/app.tsx @@ -40,9 +40,9 @@ export const initialStateConfig = { }; const getAuthCodes = (params: any) => { - const { currentUser, systemConfigAdmins } = params; + const { currentUser } = params; const codes = []; - if (Array.isArray(systemConfigAdmins) && systemConfigAdmins.includes(currentUser?.staffName)) { + if (currentUser?.superAdmin) { codes.push(ROUTE_AUTH_CODES.SYSTEM_ADMIN); } return codes; @@ -65,16 +65,7 @@ export async function getInitialState(): Promise<{ return undefined; }; - const fetchSystemConfigPermission = async () => { - try { - const { code, data } = await getSystemConfig(); - if (code === 200) { - const { admins } = data; - return [...admins]; - } - } catch (error) {} - return []; - }; + let currentUser: any; if (!window.location.pathname.includes('login')) { currentUser = await fetchUserInfo(); @@ -87,11 +78,8 @@ export async function getInitialState(): Promise<{ } } - const systemConfigAdmins = await fetchSystemConfigPermission(); - const authCodes = getAuthCodes({ currentUser, - systemConfigAdmins, }); return { diff --git a/webapp/packages/supersonic-fe/src/pages/Login/index.tsx b/webapp/packages/supersonic-fe/src/pages/Login/index.tsx index 804880a9e..6e9d87301 100644 --- a/webapp/packages/supersonic-fe/src/pages/Login/index.tsx +++ b/webapp/packages/supersonic-fe/src/pages/Login/index.tsx @@ -4,6 +4,7 @@ import { Button, Form, Input, message, Space } from 'antd'; import { LockOutlined, UserOutlined } from '@ant-design/icons'; import RegisterForm from './components/RegisterForm'; // import ForgetPwdForm from './components/ForgetPwdForm'; +import { ROUTE_AUTH_CODES } from '../../../config/routes'; import S2Icon, { ICON } from '@/components/S2Icon'; import React, { useState } from 'react'; import { useForm } from 'antd/lib/form/Form'; @@ -30,7 +31,11 @@ const LoginPage: React.FC = () => { ...queryUserData, staffName: queryUserData.staffName || queryUserData.name, }; - setInitialState({ ...initialState, currentUser }); + const authCodes = Array.isArray(initialState?.authCodes) ? initialState?.authCodes : []; + if (queryUserData.superAdmin) { + authCodes.push(ROUTE_AUTH_CODES.SYSTEM_ADMIN); + } + setInitialState({ ...initialState, currentUser, authCodes }); } history.push('/'); return; diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/DataSourceFieldForm.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/DataSourceFieldForm.tsx index a90e16e53..281b9de5b 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/DataSourceFieldForm.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/DataSourceFieldForm.tsx @@ -57,7 +57,7 @@ const FieldForm: React.FC = ({ fields, sql, onFieldChange, onSqlChange }) const columns = [ { - title: '字段名称', + title: '英文名称', dataIndex: 'fieldName', width: 100, }, diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricFilter.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricFilter.tsx index 1336d492d..22429fc51 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricFilter.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricFilter.tsx @@ -71,7 +71,7 @@ const MetricFilter: React.FC = ({ initFilterValues = {}, onFiltersChange
} onSearch={(value) => { onSearch(value); diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/SemanticGraph/components/NodeInfoDrawer.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/SemanticGraph/components/NodeInfoDrawer.tsx index c98e61e63..6ec4fb925 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/SemanticGraph/components/NodeInfoDrawer.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/SemanticGraph/components/NodeInfoDrawer.tsx @@ -76,7 +76,7 @@ const NodeInfoDrawer: React.FC = ({ title: '基本信息', children: [ { - label: '字段名称', + label: '英文名称', value: bizName, }, { diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/ClassDimensionTable.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/ClassDimensionTable.tsx index 416813885..9fb3e5449 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/ClassDimensionTable.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/ClassDimensionTable.tsx @@ -142,7 +142,7 @@ const ClassDimensionTable: React.FC = ({ domainManger, dispatch }) => { dataIndex: 'key', title: '维度搜索', hideInTable: true, - renderFormItem: () => , + renderFormItem: () => , }, { dataIndex: 'name', @@ -158,7 +158,7 @@ const ClassDimensionTable: React.FC = ({ domainManger, dispatch }) => { }, { dataIndex: 'bizName', - title: '字段名称', + title: '英文名称', search: false, // order: 9, }, diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/ClassMetricTable.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/ClassMetricTable.tsx index b7797c200..8599ba101 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/ClassMetricTable.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/ClassMetricTable.tsx @@ -107,7 +107,7 @@ const ClassMetricTable: React.FC = ({ domainManger, dispatch }) => { dataIndex: 'key', title: '指标搜索', hideInTable: true, - renderFormItem: () => , + renderFormItem: () => , }, { dataIndex: 'alias', @@ -118,7 +118,7 @@ const ClassMetricTable: React.FC = ({ domainManger, dispatch }) => { }, { dataIndex: 'bizName', - title: '字段名称', + title: '英文名称', search: false, }, { diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/CommonDimension/CommonDimensionInfoModal.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/CommonDimension/CommonDimensionInfoModal.tsx index 90174b5e9..6c33a76c8 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/CommonDimension/CommonDimensionInfoModal.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/CommonDimension/CommonDimensionInfoModal.tsx @@ -149,7 +149,7 @@ const CommonDimensionInfoModal: React.FC = ({ diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/CommonDimension/CommonDimensionTable.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/CommonDimension/CommonDimensionTable.tsx index ed461a866..536a5df54 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/CommonDimension/CommonDimensionTable.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/CommonDimension/CommonDimensionTable.tsx @@ -57,7 +57,7 @@ const CommonDimensionTable: React.FC = ({ domainManger, dispatch }) => { dataIndex: 'key', title: '维度搜索', hideInTable: true, - renderFormItem: () => , + renderFormItem: () => , }, { dataIndex: 'name', @@ -66,7 +66,7 @@ const CommonDimensionTable: React.FC = ({ domainManger, dispatch }) => { }, { dataIndex: 'bizName', - title: '字段名称', + title: '英文名称', search: false, // order: 9, }, 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 eb65415f9..1270cd421 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DimensionInfoModal.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DimensionInfoModal.tsx @@ -178,8 +178,8 @@ const DimensionInfoModal: React.FC = ({ 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 dbc09a872..c04db3cfc 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/MetricInfoCreateForm.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/MetricInfoCreateForm.tsx @@ -273,8 +273,8 @@ const MetricInfoCreateForm: React.FC = ({ diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/ModelTable.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/ModelTable.tsx index 358b404e4..83dd01ede 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/ModelTable.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/ModelTable.tsx @@ -67,7 +67,7 @@ const ModelTable: React.FC = ({ modelList, disabledEdit = false, onModelC dataIndex: 'key', title: '模型搜索', hideInTable: true, - renderFormItem: () => , + renderFormItem: () => , }, { dataIndex: 'alias',