Initial commit
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
<div class="ks-model-builder-content">
|
||||
<div class="ks-model-builder-actions">
|
||||
<a-space>
|
||||
<a-tooltip v-if="graph && currentTreeModelGraph" placement="top">
|
||||
<a-tooltip v-if="graph && currentNodeGraph" placement="top">
|
||||
<template #title>
|
||||
保存
|
||||
</template>
|
||||
@@ -68,7 +68,7 @@ import Header from './header.vue';
|
||||
import Properties from './properties.vue';
|
||||
import { useGraphCanvas } from './builder/hooks';
|
||||
import { registerNodeElement } from './builder/register';
|
||||
import type { NodeGraph, NodeTemplate, SettingTaskNodeElement, TreeModel, TreeModelGraph } from './types';
|
||||
import type { BehaviorTree, NodeGraph, NodeTemplate, SettingTaskNodeElement, TreeModel, TreeModelGraph } from './types';
|
||||
import { createTree, findOneTreeById, updateTree } from './api';
|
||||
import { createTaskNodeElement, createTaskNodeElementFromTemplate, hasElements, hasRootElementNode, resolveNodeGraph } from './utils/node';
|
||||
import TressCard from './trees-card.vue';
|
||||
@@ -97,7 +97,7 @@ export default defineComponent({
|
||||
const currentZoom = ref<number>(1);
|
||||
const draggedNodeData = ref<NodeTemplate | null>(null);
|
||||
const isDraggingOver = ref(false);
|
||||
const currentTreeModelGraph = ref<TreeModelGraph | null>(null);
|
||||
const currentNodeGraph = ref<NodeGraph | null>(null);
|
||||
const selectedModelNode = ref<Node<NodeProperties> | null>(null);
|
||||
const selectedNodeTaskElement = ref<SettingTaskNodeElement | null>(null);
|
||||
const changed = ref<boolean>(false)
|
||||
@@ -151,7 +151,7 @@ export default defineComponent({
|
||||
safeStopPropagation(e);
|
||||
isDraggingOver.value = false;
|
||||
|
||||
if (!currentTreeModelGraph.value) {
|
||||
if (!currentNodeGraph.value) {
|
||||
message.error('请先选择或者创建行为树.');
|
||||
return;
|
||||
}
|
||||
@@ -201,19 +201,19 @@ export default defineComponent({
|
||||
};
|
||||
|
||||
const createElements = () => {
|
||||
if(graph.value && currentTreeModelGraph.value){
|
||||
if(graph.value && currentNodeGraph.value){
|
||||
graph.value.clearCells();
|
||||
setTimeout(()=> {
|
||||
nextTick(()=> {
|
||||
try{
|
||||
if (currentTreeModelGraph.value && !currentTreeModelGraph.value?.graph){
|
||||
currentTreeModelGraph.value.graph = {
|
||||
if (currentNodeGraph.value && !currentNodeGraph.value?.graph){
|
||||
currentNodeGraph.value.graph = {
|
||||
nodes: [],
|
||||
edges: [],
|
||||
}
|
||||
}
|
||||
const nodes = currentTreeModelGraph.value?.graph?.nodes ?? [];
|
||||
const edges = currentTreeModelGraph.value?.graph?.edges ?? [];
|
||||
const nodes = currentNodeGraph.value?.graph?.nodes ?? [];
|
||||
const edges = currentNodeGraph.value?.graph?.edges ?? [];
|
||||
|
||||
nodes.forEach(n=> {
|
||||
const node = createTaskNodeElement(n);
|
||||
@@ -297,7 +297,7 @@ export default defineComponent({
|
||||
console.error('handleSelectTree', treeModel);
|
||||
findOneTreeById(treeModel.id).then(r => {
|
||||
if (r.data) {
|
||||
currentTreeModelGraph.value = r.data;
|
||||
currentNodeGraph.value = r.data;
|
||||
createElements();
|
||||
} else {
|
||||
message.error(r.message ?? '行为树不存在.');
|
||||
@@ -308,16 +308,16 @@ export default defineComponent({
|
||||
const handleSave = () => {
|
||||
const graphData: NodeGraph = resolveNodeGraph(graph.value as Graph);
|
||||
console.info('handleSave', graphData);
|
||||
if (!currentTreeModelGraph.value) {
|
||||
if (!currentNodeGraph.value) {
|
||||
message.error('当前决策树不存在');
|
||||
return;
|
||||
}
|
||||
const newModel: TreeModelGraph = {
|
||||
...currentTreeModelGraph.value,
|
||||
...currentNodeGraph.value,
|
||||
graph: graphData,
|
||||
};
|
||||
let res = null;
|
||||
if (currentTreeModelGraph.value.id > 0) {
|
||||
if (currentNodeGraph.value.id > 0) {
|
||||
res = createTree(newModel);
|
||||
} else {
|
||||
res = updateTree(newModel);
|
||||
@@ -351,7 +351,7 @@ export default defineComponent({
|
||||
});
|
||||
|
||||
return {
|
||||
currentTreeModelGraph,
|
||||
currentNodeGraph,
|
||||
selectedNodeTaskElement,
|
||||
selectedModelNode,
|
||||
graph,
|
||||
|
||||
Reference in New Issue
Block a user