From 6fc77ad797772940020b2107d66a44eaba9989ae Mon Sep 17 00:00:00 2001 From: zhandouxiaojiji Date: Fri, 16 Oct 2020 16:38:20 +0800 Subject: [PATCH] withEditorContext --- render-process/Editor/BehaviorTree.tsx | 46 +++++++++++++++++++++----- render-process/Editor/NodePanel.tsx | 37 ++++++--------------- render-process/Editor/index.tsx | 19 ++++------- 3 files changed, 55 insertions(+), 47 deletions(-) diff --git a/render-process/Editor/BehaviorTree.tsx b/render-process/Editor/BehaviorTree.tsx index 46ed494..0241609 100644 --- a/render-process/Editor/BehaviorTree.tsx +++ b/render-process/Editor/BehaviorTree.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import GGEditor, { Mind, RegisterNode } from 'gg-editor'; +import GGEditor, { Mind, RegisterNode, setAnchorPointsState } from 'gg-editor'; import { MindData } from 'gg-editor/lib/common/interfaces'; const data: MindData = { id: "1", @@ -20,14 +20,44 @@ const data: MindData = { ], }; -export default class BehaviorTree extends React.Component { +interface BehaviorTreeProps{ + +} + +class BehaviorTree extends React.Component { + componentDidMount() { + // const { graph } = this.props; + // graph.on('click', (ev: any) => { + // console.log("click", ev); + // }); + + // graph.on('dbclick', (ev: any) => { + // console.log("dbclick", ev); + // }); + + // graph.on('dragenter', (ev: any) => { + // console.log("dragenter", ev); + // }); + } + render() { return ( - + { + if (component) { + console.log('graph:', component.graph); + } + }} + /> ); } -} \ No newline at end of file +} + +export default BehaviorTree; \ No newline at end of file diff --git a/render-process/Editor/NodePanel.tsx b/render-process/Editor/NodePanel.tsx index 42cd6e0..a73c8f3 100644 --- a/render-process/Editor/NodePanel.tsx +++ b/render-process/Editor/NodePanel.tsx @@ -2,10 +2,9 @@ import React from 'react'; import { Card } from 'antd'; import { DetailPanel, withEditorContext } from 'gg-editor'; import { EditorContextProps } from 'gg-editor/lib/components/EditorContext'; -import { DetailPanelComponentProps } from 'gg-editor/lib/components/DetailPanel'; -interface NodePanelProps extends EditorContextProps, DetailPanelComponentProps { +interface NodePanelProps extends EditorContextProps { } @@ -13,33 +12,17 @@ interface NodePanelState { } -class Panel extends React.Component { - render() { - const { nodes } = this.props; - console.log("NodePanel render", nodes); - const node = nodes[0]; - if (node) { - return ( - - {node ? node.getModel().label : ''} - - ) - } else { - return ( - - 未选中 - - ) - } - +class Panel extends React.Component { + componentDidMount() { + console.log(this.props); + this.props.graph.on("click", (ev: any) => { + console.log("on click", ev); + }) } -} - -export default class NodePanel extends React.Component { render() { - console.log("NodePanel render"); + console.log("NodePanel render", this.props); return ( - + 未选中fefqwefqwefwewef ) @@ -47,4 +30,4 @@ export default class NodePanel extends React.Component { } -// export default DetailPanel.create('node')(withEditorContext(Panel)); \ No newline at end of file +export default withEditorContext(Panel); diff --git a/render-process/Editor/index.tsx b/render-process/Editor/index.tsx index 8bef5cb..62c36b8 100644 --- a/render-process/Editor/index.tsx +++ b/render-process/Editor/index.tsx @@ -1,16 +1,20 @@ import * as React from 'react'; -import GGEditor, { Mind, RegisterNode } from 'gg-editor'; -import { MindData } from 'gg-editor/lib/common/interfaces'; +import GGEditor, { Mind, RegisterNode, withEditorContext } from 'gg-editor'; import { Row, Col } from 'antd'; -import './Editor.css'; import NodePanel from './NodePanel'; import BehaviorTree from './BehaviorTree'; +import './Editor.css'; + export interface EditorProps { } export default class Editor extends React.Component { + componentDidMount() { + console.log("props", this.props); + } + render() { return ( @@ -22,16 +26,7 @@ export default class Editor extends React.Component { - {/* - - - - { }} /> */} ); } -} - -function getExclamationMarks(numChars: number) { - return Array(numChars + 1).join('!'); } \ No newline at end of file