mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-20 06:34:55 +00:00
[improvement][semantic-fe] Optimizing the logic for setting dimension values and editing data sources, and adding system settings functionality (#383)
* [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
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { Space } from 'antd';
|
||||
import { ReactNode } from 'react';
|
||||
export interface IProps {
|
||||
title: string;
|
||||
title: string | ReactNode;
|
||||
subTitle?: string;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import { Space } from 'antd';
|
||||
import React from 'react';
|
||||
import { useModel } from 'umi';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { useModel, history } from 'umi';
|
||||
import Avatar from './AvatarDropdown';
|
||||
|
||||
import { SettingOutlined } from '@ant-design/icons';
|
||||
import { getSystemConfig } from '@/services/user';
|
||||
import styles from './index.less';
|
||||
import cx from 'classnames';
|
||||
|
||||
@@ -10,14 +11,29 @@ export type SiderTheme = 'light' | 'dark';
|
||||
|
||||
const GlobalHeaderRight: React.FC = () => {
|
||||
const { initialState } = useModel('@@initialState');
|
||||
const [hasSettingPermisson, setHasSettingPermisson] = useState<boolean>(false);
|
||||
useEffect(() => {
|
||||
querySystemConfig();
|
||||
}, []);
|
||||
|
||||
if (!initialState || !initialState.settings) {
|
||||
return null;
|
||||
}
|
||||
const { currentUser = {} } = initialState as any;
|
||||
|
||||
const { navTheme, layout } = initialState.settings;
|
||||
const { layout } = initialState.settings;
|
||||
let className = styles.right;
|
||||
|
||||
const querySystemConfig = async () => {
|
||||
const { code, data } = await getSystemConfig();
|
||||
if (code === 200) {
|
||||
const { admins } = data;
|
||||
if (admins.includes(currentUser?.staffName)) {
|
||||
setHasSettingPermisson(true);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (layout === 'top' || layout === 'mix') {
|
||||
className = cx(styles.right, styles.dark);
|
||||
}
|
||||
@@ -25,8 +41,19 @@ const GlobalHeaderRight: React.FC = () => {
|
||||
function handleLogin() {}
|
||||
|
||||
return (
|
||||
<Space className={className}>
|
||||
<Space className={className} style={{ marginRight: -8 }}>
|
||||
<Avatar onClickLogin={handleLogin} />
|
||||
{hasSettingPermisson && (
|
||||
<span
|
||||
className={styles.action}
|
||||
style={{ padding: 20 }}
|
||||
onClick={() => {
|
||||
history.push(`/system`);
|
||||
}}
|
||||
>
|
||||
<SettingOutlined />
|
||||
</span>
|
||||
)}
|
||||
</Space>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user