refactor(types): use types for prop type functions

This commit is contained in:
moklick
2020-05-15 21:53:13 +02:00
parent b887568ac8
commit 1e447a204c
8 changed files with 32 additions and 36 deletions
+2 -1
View File
@@ -1,4 +1,4 @@
import React, { memo, MouseEvent as ReactMouseEvent } from 'react';
import React, { memo, MouseEvent as ReactMouseEvent, CSSProperties } from 'react';
import cx from 'classnames';
import { HandleType, ElementId, Position, XYPosition, OnConnectFunc, Connection } from '../../types';
@@ -16,6 +16,7 @@ interface BaseHandleProps {
isValidConnection: ValidConnectionFunc;
id?: ElementId | boolean;
className?: string;
style?: CSSProperties;
}
type Result = {
+4 -18
View File
@@ -4,36 +4,22 @@ import { useStoreActions, useStoreState } from '../../store/hooks';
import BaseHandle from './BaseHandle';
import NodeIdContext from '../../contexts/NodeIdContext';
import {
HandleType,
ElementId,
Position,
Connection,
OnConnectFunc,
} from '../../types';
interface HandleProps {
type: HandleType;
position: Position;
onConnect?: OnConnectFunc;
isValidConnection?: (connection: Connection) => boolean;
id?: string;
}
import { HandleProps, ElementId, Position, Connection } from '../../types';
const Handle = memo(
({
onConnect = _ => {},
type = 'source',
position = Position.Top,
onConnect = () => {},
isValidConnection = () => true,
...rest
}: HandleProps) => {
const nodeId = useContext(NodeIdContext) as ElementId;
const { setPosition, setSourceId } = useStoreActions(a => ({
const { setPosition, setSourceId } = useStoreActions((a) => ({
setPosition: a.setConnectionPosition,
setSourceId: a.setConnectionSourceId,
}));
const onConnectAction = useStoreState(s => s.onConnect);
const onConnectAction = useStoreState((s) => s.onConnect);
const onConnectExtended = (params: Connection) => {
onConnectAction(params);
onConnect(params);
+1 -1
View File
@@ -60,7 +60,7 @@ const onDrag = (
};
const onStop = (
onNodeDragStop: (params: Node) => void,
onNodeDragStop: (node: Node) => void,
isDragging: boolean,
setDragging: (isDragging: boolean) => void,
id: ElementId,