mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-11 03:58:14 +00:00
[improvement][semantic-fe] Fixing the abnormal state of the popup when creating a model. (#452)
* [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.
This commit is contained in:
@@ -58,7 +58,7 @@
|
||||
"@ant-design/pro-layout": "^7.17.15",
|
||||
"@ant-design/pro-table": "^3.13.9",
|
||||
"@antv/dom-util": "^2.0.4",
|
||||
"@antv/g6": "^4.8.14",
|
||||
"@antv/g6": "^4.8.23",
|
||||
"@antv/g6-core": "^0.8.23",
|
||||
"@antv/layout": "^0.3.20",
|
||||
"@antv/xflow": "^1.0.55",
|
||||
|
||||
@@ -432,7 +432,9 @@ const DataSourceCreateForm: React.FC<CreateFormProps> = ({
|
||||
maskClosable={false}
|
||||
open={createModalVisible}
|
||||
footer={renderFooter()}
|
||||
onCancel={onCancel}
|
||||
onCancel={() => {
|
||||
onCancel?.();
|
||||
}}
|
||||
>
|
||||
<Steps style={{ marginBottom: 28 }} size="small" current={currentStep}>
|
||||
<Step title="基本信息" />
|
||||
|
||||
@@ -142,6 +142,9 @@ const MetricTrendSection: React.FC<Props> = ({ metircData }) => {
|
||||
};
|
||||
|
||||
const queryDimensionList = async (ids: number[]) => {
|
||||
if (!(Array.isArray(ids) && ids.length > 0)) {
|
||||
return;
|
||||
}
|
||||
const { code, data, msg } = await getDimensionList({ ids });
|
||||
if (code === 200 && Array.isArray(data?.list)) {
|
||||
setDimensionList(data.list);
|
||||
@@ -162,6 +165,9 @@ const MetricTrendSection: React.FC<Props> = ({ metircData }) => {
|
||||
const ids = data.map((item) => item.dimensionId);
|
||||
queryDimensionList(ids);
|
||||
return data;
|
||||
} else {
|
||||
setDimensionList([]);
|
||||
setRelationDimensionOptions([]);
|
||||
}
|
||||
if (code !== 200) {
|
||||
message.error(msg);
|
||||
|
||||
@@ -1070,7 +1070,8 @@ const DomainManger: React.FC<Props> = ({ domainManger, dispatch }) => {
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
{
|
||||
|
||||
{createDataSourceModalOpen && (
|
||||
<ClassDataSourceTypeModal
|
||||
open={createDataSourceModalOpen}
|
||||
onCancel={() => {
|
||||
@@ -1082,7 +1083,7 @@ const DomainManger: React.FC<Props> = ({ domainManger, dispatch }) => {
|
||||
updateGraphData();
|
||||
}}
|
||||
/>
|
||||
}
|
||||
)}
|
||||
{
|
||||
<DeleteConfirmModal
|
||||
open={confirmModalOpenState}
|
||||
|
||||
@@ -43,8 +43,8 @@ const ClassDataSourceTypeModal: React.FC<Props> = ({
|
||||
const [scriptColumns, setScriptColumns] = useState<any[]>([]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!dataSourceItem || !open) {
|
||||
setCreateDataSourceModalOpen(open);
|
||||
if (!dataSourceItem?.id || !open) {
|
||||
setCreateDataSourceModalOpen(true);
|
||||
return;
|
||||
}
|
||||
if (dataSourceItem?.modelDetail?.queryType === 'table_query') {
|
||||
|
||||
@@ -32,8 +32,7 @@ const DimensionAndMetricRelationModal: React.FC<Props> = ({
|
||||
};
|
||||
const { code, msg } = await updateExprMetric(queryParams);
|
||||
if (code === 200) {
|
||||
// message.success('编辑指标成功');
|
||||
// onSubmit?.(queryParams);
|
||||
onSubmit(relationList);
|
||||
return;
|
||||
}
|
||||
message.error(msg);
|
||||
@@ -46,7 +45,6 @@ const DimensionAndMetricRelationModal: React.FC<Props> = ({
|
||||
<Button
|
||||
type="primary"
|
||||
onClick={() => {
|
||||
onSubmit(relationList);
|
||||
saveMetric(relationList);
|
||||
}}
|
||||
>
|
||||
|
||||
@@ -9,8 +9,6 @@ import type { StateType } from '../model';
|
||||
import { deleteModel, updateModel } from '../service';
|
||||
import ClassDataSourceTypeModal from './ClassDataSourceTypeModal';
|
||||
|
||||
import ModelCreateFormModal from './ModelCreateFormModal';
|
||||
|
||||
import moment from 'moment';
|
||||
import styles from './style.less';
|
||||
import { ISemantic } from '../data';
|
||||
@@ -23,15 +21,7 @@ type Props = {
|
||||
domainManger: StateType;
|
||||
};
|
||||
|
||||
const ModelTable: React.FC<Props> = ({
|
||||
modelList,
|
||||
domainManger,
|
||||
disabledEdit = false,
|
||||
onModelChange,
|
||||
dispatch,
|
||||
}) => {
|
||||
const { selectModelId: modelId, selectDomainId } = domainManger;
|
||||
const [modelCreateFormModalVisible, setModelCreateFormModalVisible] = useState<boolean>(false);
|
||||
const ModelTable: React.FC<Props> = ({ modelList, disabledEdit = false, onModelChange }) => {
|
||||
const [modelItem, setModelItem] = useState<ISemantic.IModelItem>();
|
||||
const [saveLoading, setSaveLoading] = useState<boolean>(false);
|
||||
const [createDataSourceModalOpen, setCreateDataSourceModalOpen] = useState(false);
|
||||
@@ -143,7 +133,6 @@ const ModelTable: React.FC<Props> = ({
|
||||
key="metricEditBtn"
|
||||
onClick={() => {
|
||||
setModelItem(record);
|
||||
// setModelCreateFormModalVisible(true);
|
||||
setCreateDataSourceModalOpen(true);
|
||||
}}
|
||||
>
|
||||
@@ -220,8 +209,6 @@ const ModelTable: React.FC<Props> = ({
|
||||
type="primary"
|
||||
onClick={() => {
|
||||
setModelItem(undefined);
|
||||
// setModelCreateFormModalVisible(true);
|
||||
|
||||
setCreateDataSourceModalOpen(true);
|
||||
}}
|
||||
>
|
||||
@@ -235,28 +222,14 @@ const ModelTable: React.FC<Props> = ({
|
||||
open={createDataSourceModalOpen}
|
||||
dataSourceItem={modelItem}
|
||||
onSubmit={() => {
|
||||
// actionRef.current?.reload();
|
||||
// setCreateDataSourceModalOpen(false);
|
||||
onModelChange?.();
|
||||
setCreateDataSourceModalOpen(false);
|
||||
}}
|
||||
onCancel={() => {
|
||||
setCreateDataSourceModalOpen(false);
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
{modelCreateFormModalVisible && (
|
||||
<ModelCreateFormModal
|
||||
domainId={selectDomainId}
|
||||
basicInfo={modelItem}
|
||||
onSubmit={() => {
|
||||
setModelCreateFormModalVisible(false);
|
||||
onModelChange?.();
|
||||
}}
|
||||
onCancel={() => {
|
||||
setModelCreateFormModalVisible(false);
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -374,6 +374,10 @@
|
||||
:global {
|
||||
.ant-breadcrumb-link {
|
||||
height: 28px;
|
||||
color: #709bf1;
|
||||
&:hover{
|
||||
color: #296df3;
|
||||
}
|
||||
}
|
||||
.anticon {
|
||||
font-size: 18px;
|
||||
|
||||
Reference in New Issue
Block a user