fix: typecast edges and nodes

* make GraphView props all required
refactor: renamed "NodesTypeType" to "NodeType" and "EdgesTypeType" to "EdgeType"
This commit is contained in:
Braks
2021-08-08 19:28:45 +02:00
parent 83216f8ece
commit 3b5857febb
20 changed files with 261 additions and 640 deletions
+2 -2
View File
@@ -1,10 +1,10 @@
import { computed, defineComponent, inject, PropType } from 'vue';
import Node from '../../components/Nodes/Node.vue';
import { getNodesInside } from '../../utils/graph';
import { NodeTypesType, RevueFlowStore } from '../../types';
import { NodeType, RevueFlowStore } from '../../types';
interface NodeRendererProps {
nodeTypes: NodeTypesType;
nodeTypes: Record<string, NodeType>;
selectNodesOnDrag: boolean;
snapToGrid: boolean;
snapGrid: [number, number];
+5 -6
View File
@@ -1,20 +1,19 @@
import DefaultNode from '../../components/Nodes/DefaultNode';
import InputNode from '../../components/Nodes/InputNode';
import OutputNode from '../../components/Nodes/OutputNode';
import { NodeTypesType } from '../../types';
import { NodeType } from '../../types';
export function createNodeTypes(nodeTypes: NodeTypesType): NodeTypesType {
const standardTypes: NodeTypesType = {
export function createNodeTypes(nodeTypes: Record<string, NodeType>): Record<string, NodeType> {
const standardTypes: Record<string, NodeType> = {
input: nodeTypes.input || InputNode,
default: nodeTypes.default || DefaultNode,
output: nodeTypes.output || OutputNode
};
const wrappedTypes = {} as NodeTypesType;
const specialTypes: NodeTypesType = Object.keys(nodeTypes)
const wrappedTypes = {} as NodeType;
const specialTypes: NodeType = Object.keys(nodeTypes)
.filter((k) => !['input', 'default', 'output'].includes(k))
.reduce((res, key) => {
// @ts-ignore
res[key] = nodeTypes[key] || DefaultNode;
return res;