node add args & input & output
This commit is contained in:
1 parent
6c3a83ce77
commit
f08e0e3c67
3 files changed
+55
-7
No files matched your search
@@ -14,7 +14,7 @@ export interface BehaviorNodeModel {
|
||||
id: number;
|
||||
name: string;
|
||||
desc?: string;
|
||||
args?: string[][3];
|
||||
args?: {[key: string]: any};
|
||||
input?: string[];
|
||||
output?: string;
|
||||
children?: BehaviorNodeModel[];
|
||||
@@ -28,7 +28,7 @@ export interface BehaviorTreeModel {
|
||||
export interface GraphNodeModel extends TreeGraphData {
|
||||
name: string;
|
||||
desc?: string;
|
||||
args?: string[][3];
|
||||
args?: {[key: string]: any};
|
||||
input?: string[];
|
||||
output?: string;
|
||||
children?: GraphNodeModel[];
|
||||
|
||||
+4
-4
@@ -26,15 +26,15 @@ export const refreshNodeId = (nodeData: GraphNodeModel, id?: number) => {
|
||||
|
||||
export const calcTreeNodeSize = (treeNode: GraphNodeModel) => {
|
||||
var height = 40;
|
||||
const updateHeight = (arr: any) => {
|
||||
if(arr && arr.length > 0) {
|
||||
height += 30;
|
||||
const updateHeight = (obj: any) => {
|
||||
if (Array.isArray(obj) || (obj && Object.keys(obj).length > 0)) {
|
||||
height += 25;
|
||||
}
|
||||
}
|
||||
updateHeight(treeNode.args);
|
||||
updateHeight(treeNode.input);
|
||||
updateHeight(treeNode.output);
|
||||
return [150, height];
|
||||
return [200, height];
|
||||
}
|
||||
|
||||
export const createTreeData = (bNode: BehaviorNodeModel) => {
|
||||
|
||||
@@ -57,7 +57,6 @@ export default class Main extends Component {
|
||||
},
|
||||
style: {
|
||||
fill: "white",
|
||||
width: 150,
|
||||
},
|
||||
stateStyles: {
|
||||
selected: {
|
||||
@@ -165,6 +164,7 @@ export default class Main extends Component {
|
||||
textBaseline: 'top',
|
||||
x: x0 + 18,
|
||||
y: y0 + 4,
|
||||
fontWeight: 800,
|
||||
lineHeight: 20,
|
||||
text: cfg.name,
|
||||
fill: 'black',
|
||||
@@ -191,6 +191,54 @@ export default class Main extends Component {
|
||||
});
|
||||
}
|
||||
|
||||
const args: any = cfg.args;
|
||||
if (args && Object.keys(args).length > 0) {
|
||||
y += 20;
|
||||
group.addShape('text', {
|
||||
attrs: {
|
||||
textBaseline: 'top',
|
||||
x,
|
||||
y,
|
||||
lineHeight: 20,
|
||||
text: `参数:${JSON.stringify(args)}`,
|
||||
fill: 'black',
|
||||
},
|
||||
name: 'args-text',
|
||||
});
|
||||
}
|
||||
|
||||
const input: [] = cfg.input ? cfg.input as [] : [];
|
||||
if (input.length > 0) {
|
||||
y += 20;
|
||||
group.addShape('text', {
|
||||
attrs: {
|
||||
textBaseline: 'top',
|
||||
x,
|
||||
y,
|
||||
lineHeight: 20,
|
||||
text: `输入:${JSON.stringify(input)}`,
|
||||
fill: 'black',
|
||||
},
|
||||
name: 'input-text',
|
||||
});
|
||||
}
|
||||
|
||||
const output: [] = cfg.output ? cfg.output as [] : [];
|
||||
if (output.length > 0) {
|
||||
y += 20;
|
||||
group.addShape('text', {
|
||||
attrs: {
|
||||
textBaseline: 'top',
|
||||
x,
|
||||
y,
|
||||
lineHeight: 20,
|
||||
text: `输出:${JSON.stringify(output)}`,
|
||||
fill: 'black',
|
||||
},
|
||||
name: 'output-text',
|
||||
});
|
||||
}
|
||||
|
||||
group.addShape('rect', {
|
||||
name: 'drag-up',
|
||||
attrs: {
|
||||
|
||||
Reference in new issue
Block a user