|
@@ -1,6 +1,6 @@
|
|
|
import React from 'react';
|
|
|
import { Graph, Addon, Path, Cell, Model, Node, Markup } from '@antv/x6';
|
|
|
-import { Drawer, message, Modal, Table, Tooltip } from 'antd';
|
|
|
+import { Drawer, Input, message, Modal, Table, Tooltip } from 'antd';
|
|
|
import AlgoNode from './AlgoNode';
|
|
|
import ToolBar from './ToolBar';
|
|
|
import DatasourceNodeInfo from './DatasourceNodeInfo';
|
|
@@ -213,7 +213,9 @@ export default class Dag extends React.Component<any, any> {
|
|
|
filename: '',
|
|
|
currentDblNode: '',
|
|
|
canBeginRun: false,
|
|
|
- scriptInputNodes: []
|
|
|
+ scriptInputNodes: [],
|
|
|
+ saveModalOpen: false,
|
|
|
+ table_name: ''
|
|
|
};
|
|
|
}
|
|
|
|
|
@@ -611,7 +613,6 @@ export default class Dag extends React.Component<any, any> {
|
|
|
});
|
|
|
|
|
|
const text = this.props.context.current;
|
|
|
- this.setState({ filename: text.path.split('/').pop() });
|
|
|
text.ready.then(() => {
|
|
|
const dagJson: any = text.model.toJSON();
|
|
|
if (dagJson?.graph) {
|
|
@@ -658,16 +659,16 @@ export default class Dag extends React.Component<any, any> {
|
|
|
name: 'dataSource',
|
|
|
title: '数据源'
|
|
|
},
|
|
|
- {
|
|
|
- name: 'dataHandle',
|
|
|
- title: '数据处理',
|
|
|
- collapsed: true
|
|
|
- },
|
|
|
- {
|
|
|
- name: 'otherScript',
|
|
|
- title: '其它',
|
|
|
- collapsed: true
|
|
|
- },
|
|
|
+ // {
|
|
|
+ // name: 'dataHandle',
|
|
|
+ // title: '数据处理',
|
|
|
+ // collapsed: true
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // name: 'otherScript',
|
|
|
+ // title: '其它',
|
|
|
+ // collapsed: true
|
|
|
+ // },
|
|
|
{
|
|
|
name: 'customScript',
|
|
|
title: '自定义脚本'
|
|
@@ -799,22 +800,27 @@ export default class Dag extends React.Component<any, any> {
|
|
|
};
|
|
|
|
|
|
saveTableData = async () => {
|
|
|
- const menuNode = this.state.contextMenuNode;
|
|
|
- const { nodeName, nodeId } = menuNode.getData();
|
|
|
- const params = {
|
|
|
- name: nodeName,
|
|
|
- user_name: 'test',
|
|
|
- user_id: 'test',
|
|
|
- project_id: 'test',
|
|
|
- dag_uuid: this.state.dagId,
|
|
|
- node_id: nodeId,
|
|
|
- out_pin: this.state.selectedPin
|
|
|
- };
|
|
|
- const { data } = await saveNodeTable(params);
|
|
|
- if (data.code === 200) {
|
|
|
- message.success('另存为成功');
|
|
|
+ if (this.state.table_name) {
|
|
|
+ const menuNode = this.state.contextMenuNode;
|
|
|
+ const { nodeId } = menuNode.getData();
|
|
|
+ const params = {
|
|
|
+ name: this.state.table_name,
|
|
|
+ user_name: 'test',
|
|
|
+ user_id: 'test',
|
|
|
+ project_id: 'test',
|
|
|
+ dag_uuid: this.state.dagId,
|
|
|
+ node_id: nodeId,
|
|
|
+ out_pin: this.state.selectedPin
|
|
|
+ };
|
|
|
+ const { data } = await saveNodeTable(params);
|
|
|
+ if (data.code === 200) {
|
|
|
+ message.success('另存为成功');
|
|
|
+ this.setState({ saveModalOpen: false });
|
|
|
+ } else {
|
|
|
+ message.error(data.msg);
|
|
|
+ }
|
|
|
} else {
|
|
|
- message.error(data.msg);
|
|
|
+ message.error('请输入名字');
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -892,7 +898,7 @@ export default class Dag extends React.Component<any, any> {
|
|
|
<span
|
|
|
className="save_tab"
|
|
|
onClick={() => {
|
|
|
- this.saveTableData();
|
|
|
+ this.setState({ saveModalOpen: true });
|
|
|
}}
|
|
|
>
|
|
|
另存为
|
|
@@ -906,6 +912,23 @@ export default class Dag extends React.Component<any, any> {
|
|
|
scroll={{ y: 450 }}
|
|
|
/>
|
|
|
</Modal>
|
|
|
+ <Modal
|
|
|
+ title="重命名"
|
|
|
+ open={this.state.saveModalOpen}
|
|
|
+ onOk={this.saveTableData}
|
|
|
+ cancelText="取消"
|
|
|
+ okText="确认"
|
|
|
+ onCancel={() => {
|
|
|
+ this.setState({ saveModalOpen: false });
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <Input
|
|
|
+ value={this.state.table_name}
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({ table_name: e.target.value });
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ </Modal>
|
|
|
<Modal
|
|
|
title="查看执行日志"
|
|
|
open={this.state.isOpenLog}
|
|
@@ -980,7 +1003,7 @@ export default class Dag extends React.Component<any, any> {
|
|
|
graph={this.state.dagGraph}
|
|
|
saveGraph={this.props.saveGraph}
|
|
|
dagId={this.state.dagId}
|
|
|
- filename={this.state.filename}
|
|
|
+ context={this.props.context}
|
|
|
runDag={this.handleRunDag}
|
|
|
/>
|
|
|
</div>
|