mirror of
https://github.com/tencentmusic/supersonic.git
synced 2026-01-09 19:46:02 +08:00
[improvement][semantic-fe] Added an editing component to set filtering rules for Q&A. Now, the SQL editor will be accompanied by a list for display and control, to resolve ambiguity when using comma-separated values.
[improvement][semantic-fe] Improved validation logic and prompt copywriting for data source/dimension/metric editing and creation. [improvement][semantic-fe] Improved user experience for visual modeling. Now, when using the legend to control the display/hide of data sources and their associated metric dimensions, the canvas will be re-layout based on the activated data source in the legend. Co-authored-by: tristanliu <tristanliu@tencent.com>
This commit is contained in:
@@ -9,6 +9,7 @@ import DataSourceRelationFormDrawer from './DataSourceRelationFormDrawer';
|
||||
import DataSourceCreateForm from '../../Datasource/components/DataSourceCreateForm';
|
||||
import ClassDataSourceTypeModal from '../../components/ClassDataSourceTypeModal';
|
||||
import { GraphApi } from '../service';
|
||||
import { SemanticNodeType } from '../../enum';
|
||||
import type { StateType } from '../../model';
|
||||
import DataSource from '../../Datasource';
|
||||
|
||||
@@ -112,7 +113,7 @@ const XflowJsonSchemaFormDrawerForm: React.FC<CreateFormProps> = (props) => {
|
||||
...targetData,
|
||||
label: dataSourceInfo.name,
|
||||
payload: dataSourceInfo,
|
||||
id: `dataSource-${dataSourceInfo.id}`,
|
||||
id: `${SemanticNodeType.DATASOURCE}-${dataSourceInfo.id}`,
|
||||
});
|
||||
setDataSourceItem(undefined);
|
||||
commandService.executeCommand(XFlowGraphCommands.SAVE_GRAPH_DATA.id, {
|
||||
@@ -144,7 +145,7 @@ const XflowJsonSchemaFormDrawerForm: React.FC<CreateFormProps> = (props) => {
|
||||
...targetData,
|
||||
label: dataSourceInfo.name,
|
||||
payload: dataSourceInfo,
|
||||
id: `dataSource-${dataSourceInfo.id}`,
|
||||
id: `${SemanticNodeType.DATASOURCE}-${dataSourceInfo.id}`,
|
||||
});
|
||||
setDataSourceItem(undefined);
|
||||
commandService.executeCommand(XFlowGraphCommands.SAVE_GRAPH_DATA.id, {
|
||||
|
||||
@@ -7,6 +7,7 @@ import type { NsDeployDagCmd } from './CmdExtensions/CmdDeploy';
|
||||
import { getRelationConfigInfo, addClassInfoAsDataSourceParents } from './utils';
|
||||
import { cloneDeep } from 'lodash';
|
||||
import type { IDataSource } from '../data';
|
||||
import { SemanticNodeType } from '../enum';
|
||||
import {
|
||||
getDatasourceList,
|
||||
deleteDatasource,
|
||||
@@ -57,7 +58,7 @@ export namespace GraphApi {
|
||||
|
||||
export const createDataSourceNode = (dataSourceItem: IDataSource.IDataSourceItem) => {
|
||||
const { id, name } = dataSourceItem;
|
||||
const nodeId = `dataSource-${id}`;
|
||||
const nodeId = `${SemanticNodeType.DATASOURCE}-${id}`;
|
||||
return {
|
||||
...NODE_COMMON_PROPS,
|
||||
id: nodeId,
|
||||
@@ -89,7 +90,7 @@ export namespace GraphApi {
|
||||
const dataSourceMap = data.reduce(
|
||||
(itemMap: Record<string, IDataSource.IDataSourceItem>, item: IDataSource.IDataSourceItem) => {
|
||||
const { id, name } = item;
|
||||
itemMap[`dataSource-${id}`] = item;
|
||||
itemMap[`${SemanticNodeType.DATASOURCE}-${id}`] = item;
|
||||
|
||||
itemMap[name] = item;
|
||||
return itemMap;
|
||||
@@ -114,7 +115,7 @@ export namespace GraphApi {
|
||||
mergeNodes = data.reduce(
|
||||
(mergeNodeList: NsGraph.INodeConfig[], item: IDataSource.IDataSourceItem) => {
|
||||
const { id } = item;
|
||||
const targetDataSourceItem = nodesMap[`dataSource-${id}`];
|
||||
const targetDataSourceItem = nodesMap[`${SemanticNodeType.DATASOURCE}-${id}`];
|
||||
if (targetDataSourceItem) {
|
||||
mergeNodeList.push({
|
||||
...targetDataSourceItem,
|
||||
@@ -166,7 +167,7 @@ export namespace GraphApi {
|
||||
const { list } = data;
|
||||
const nodes: NsGraph.INodeConfig[] = list.map((item: any) => {
|
||||
const { id, name } = item;
|
||||
const nodeId = `dimension-${id}`;
|
||||
const nodeId = `${SemanticNodeType.DIMENSION}-${id}`;
|
||||
return {
|
||||
...NODE_COMMON_PROPS,
|
||||
id: nodeId,
|
||||
|
||||
Reference in New Issue
Block a user