chore(lint): Update eslint rules

* Remove semi
This commit is contained in:
Braks
2021-10-20 22:39:54 +02:00
parent 5ed1094dfe
commit 77eac0c12a
74 changed files with 2007 additions and 1827 deletions
+287 -287
View File
@@ -1,14 +1,14 @@
import { Selection as D3Selection, ZoomBehavior } from 'd3';
import { CSSProperties, DefineComponent, HTMLAttributes, VNode } from 'vue';
import { Store } from 'pinia';
import { Selection as D3Selection, ZoomBehavior } from 'd3'
import { CSSProperties, DefineComponent, HTMLAttributes, VNode } from 'vue'
import { Store } from 'pinia'
export type ElementId = string;
export type ElementId = string
export type FlowElement<T = any> = Node<T> | Edge<T>;
export type FlowElement<T = any> = Node<T> | Edge<T>
export type Elements<T = any> = Array<FlowElement<T>>;
export type Elements<T = any> = Array<FlowElement<T>>
export type Transform = [number, number, number];
export type Transform = [number, number, number]
export enum Position {
Left = 'left',
@@ -18,44 +18,44 @@ export enum Position {
}
export interface XYPosition {
x: number;
y: number;
x: number
y: number
}
export interface Dimensions {
width: number;
height: number;
width: number
height: number
}
export interface Rect extends Dimensions, XYPosition {}
export interface Box extends XYPosition {
x2: number;
y2: number;
x2: number
y2: number
}
export type SnapGrid = [number, number];
export type SnapGrid = [number, number]
export interface Node<T = any> {
id: ElementId;
position: XYPosition;
type?: string;
id: ElementId
position: XYPosition
type?: string
__rf: {
position: XYPosition;
isDragging?: boolean;
width: number | null;
height: number | null;
handleBounds?: any;
};
data?: T;
style?: any;
className?: string;
targetPosition?: Position;
sourcePosition?: Position;
isHidden?: boolean;
draggable?: boolean;
selectable?: boolean;
connectable?: boolean;
position: XYPosition
isDragging?: boolean
width: number | null
height: number | null
handleBounds?: any
}
data?: T
style?: any
className?: string
targetPosition?: Position
sourcePosition?: Position
isHidden?: boolean
draggable?: boolean
selectable?: boolean
connectable?: boolean
}
export enum ArrowHeadType {
@@ -64,24 +64,24 @@ export enum ArrowHeadType {
}
export interface Edge<T = any> {
id: ElementId;
type?: string;
source: ElementId;
target: ElementId;
sourceHandle?: ElementId | null;
targetHandle?: ElementId | null;
label?: string | VNode;
labelStyle?: any;
labelShowBg?: boolean;
labelBgStyle?: any;
labelBgPadding?: [number, number];
labelBgBorderRadius?: number;
style?: any;
animated?: boolean;
arrowHeadType?: ArrowHeadType;
isHidden?: boolean;
data?: T;
className?: string;
id: ElementId
type?: string
source: ElementId
target: ElementId
sourceHandle?: ElementId | null
targetHandle?: ElementId | null
label?: string | VNode
labelStyle?: any
labelShowBg?: boolean
labelBgStyle?: any
labelBgPadding?: [number, number]
labelBgBorderRadius?: number
style?: any
animated?: boolean
arrowHeadType?: ArrowHeadType
isHidden?: boolean
data?: T
className?: string
}
export enum BackgroundVariant {
@@ -89,107 +89,107 @@ export enum BackgroundVariant {
Dots = 'dots'
}
export type HandleType = 'source' | 'target';
export type HandleType = 'source' | 'target'
export type NodeType = DefineComponent<NodeProps>;
export type NodeType = DefineComponent<NodeProps>
export type EdgeType = DefineComponent<EdgeSmoothStepProps>;
export type EdgeType = DefineComponent<EdgeSmoothStepProps>
export interface SelectionRect extends Rect {
startX: number;
startY: number;
draw: boolean;
startX: number
startY: number
draw: boolean
}
export interface EdgeProps<T = any> {
id: ElementId;
source: ElementId;
target: ElementId;
sourceX: number;
sourceY: number;
targetX: number;
targetY: number;
selected?: boolean;
animated?: boolean;
sourcePosition: Position;
targetPosition: Position;
label?: string | VNode;
labelStyle?: any;
labelShowBg?: boolean;
labelBgStyle?: any;
labelBgPadding?: [number, number];
labelBgBorderRadius?: number;
style?: any;
arrowHeadType?: ArrowHeadType;
markerEndId?: string;
data?: T;
sourceHandleId?: ElementId | null;
targetHandleId?: ElementId | null;
id: ElementId
source: ElementId
target: ElementId
sourceX: number
sourceY: number
targetX: number
targetY: number
selected?: boolean
animated?: boolean
sourcePosition: Position
targetPosition: Position
label?: string | VNode
labelStyle?: any
labelShowBg?: boolean
labelBgStyle?: any
labelBgPadding?: [number, number]
labelBgBorderRadius?: number
style?: any
arrowHeadType?: ArrowHeadType
markerEndId?: string
data?: T
sourceHandleId?: ElementId | null
targetHandleId?: ElementId | null
}
export interface EdgeSmoothStepProps<T = any> extends EdgeProps<T> {
borderRadius?: number;
borderRadius?: number
}
export interface EdgeTextProps extends HTMLAttributes {
x: number;
y: number;
label?: string | VNode;
labelStyle?: any;
labelShowBg?: boolean;
labelBgStyle?: any;
labelBgPadding?: [number, number];
labelBgBorderRadius?: number;
x: number
y: number
label?: string | VNode
labelStyle?: any
labelShowBg?: boolean
labelBgStyle?: any
labelBgPadding?: [number, number]
labelBgBorderRadius?: number
}
export interface NodeProps<T = any> {
id: ElementId;
type: string;
data: T;
selected: boolean;
isConnectable: boolean;
xPos?: number;
yPos?: number;
targetPosition?: Position;
sourcePosition?: Position;
isDragging?: boolean;
id: ElementId
type: string
data: T
selected: boolean
isConnectable: boolean
xPos?: number
yPos?: number
targetPosition?: Position
sourcePosition?: Position
isDragging?: boolean
}
export type FitViewParams = {
padding?: number;
includeHiddenNodes?: boolean;
minZoom?: number;
maxZoom?: number;
};
padding?: number
includeHiddenNodes?: boolean
minZoom?: number
maxZoom?: number
}
export type FlowExportObject<T = any> = {
elements: Elements<T>;
position: [number, number];
zoom: number;
};
elements: Elements<T>
position: [number, number]
zoom: number
}
export type FitViewFunc = (fitViewOptions?: FitViewParams) => void;
export type ProjectFunc = (position: XYPosition) => XYPosition;
export type ToObjectFunc<T = any> = () => FlowExportObject<T>;
export type FitViewFunc = (fitViewOptions?: FitViewParams) => void
export type ProjectFunc = (position: XYPosition) => XYPosition
export type ToObjectFunc<T = any> = () => FlowExportObject<T>
export type OnLoadParams<T = any> = {
zoomIn: () => void;
zoomOut: () => void;
zoomTo: (zoomLevel: number) => void;
fitView: FitViewFunc;
project: ProjectFunc;
getElements: () => Elements<T>;
setTransform: (transform: FlowTransform) => void;
toObject: ToObjectFunc<T>;
};
zoomIn: () => void
zoomOut: () => void
zoomTo: (zoomLevel: number) => void
fitView: FitViewFunc
project: ProjectFunc
getElements: () => Elements<T>
setTransform: (transform: FlowTransform) => void
toObject: ToObjectFunc<T>
}
export type OnLoadFunc<T = any> = (params: OnLoadParams<T>) => void;
export type OnLoadFunc<T = any> = (params: OnLoadParams<T>) => void
export interface Connection {
source: ElementId | null;
target: ElementId | null;
sourceHandle: ElementId | null;
targetHandle: ElementId | null;
source: ElementId | null
target: ElementId | null
sourceHandle: ElementId | null
targetHandle: ElementId | null
}
export enum ConnectionMode {
@@ -205,69 +205,69 @@ export enum ConnectionLineType {
}
export type ConnectionLineComponentProps = {
sourceX: number;
sourceY: number;
sourcePosition?: Position;
targetX: number;
targetY: number;
targetPosition?: Position;
connectionLineStyle?: any;
connectionLineType: ConnectionLineType;
};
sourceX: number
sourceY: number
sourcePosition?: Position
targetX: number
targetY: number
targetPosition?: Position
connectionLineStyle?: any
connectionLineType: ConnectionLineType
}
export type ConnectionLineComponent = DefineComponent<ConnectionLineComponentProps>;
export type ConnectionLineComponent = DefineComponent<ConnectionLineComponentProps>
export type OnConnectFunc = (connection: Connection) => void;
export type OnConnectFunc = (connection: Connection) => void
export type OnConnectStartParams = {
nodeId: ElementId | null;
handleId: ElementId | null;
handleType: HandleType | null;
};
export type OnConnectStartFunc = (event: MouseEvent, params: OnConnectStartParams) => void;
export type OnConnectStopFunc = (event: MouseEvent) => void;
export type OnConnectEndFunc = (event: MouseEvent) => void;
nodeId: ElementId | null
handleId: ElementId | null
handleType: HandleType | null
}
export type OnConnectStartFunc = (event: MouseEvent, params: OnConnectStartParams) => void
export type OnConnectStopFunc = (event: MouseEvent) => void
export type OnConnectEndFunc = (event: MouseEvent) => void
export type SetConnectionId = {
connectionNodeId: ElementId | null;
connectionHandleId: ElementId | null;
connectionHandleType: HandleType | null;
};
connectionNodeId: ElementId | null
connectionHandleId: ElementId | null
connectionHandleType: HandleType | null
}
export interface HandleElement extends XYPosition, Dimensions {
id?: ElementId | null;
position: Position;
id?: ElementId | null
position: Position
}
export interface HandleProps {
type: HandleType;
position: Position;
isConnectable?: boolean;
onConnect?: OnConnectFunc;
isValidConnection?: (connection: Connection) => boolean;
id?: ElementId;
type: HandleType
position: Position
isConnectable?: boolean
onConnect?: OnConnectFunc
isValidConnection?: (connection: Connection) => boolean
id?: ElementId
}
export type NodePosUpdate = {
id: ElementId;
pos: XYPosition;
};
id: ElementId
pos: XYPosition
}
export type NodeDiffUpdate = {
id?: ElementId;
diff?: XYPosition;
isDragging?: boolean;
};
id?: ElementId
diff?: XYPosition
isDragging?: boolean
}
export type FlowTransform = {
x: number;
y: number;
zoom: number;
};
x: number
y: number
zoom: number
}
export type TranslateExtent = [[number, number], [number, number]];
export type NodeExtent = TranslateExtent;
export type TranslateExtent = [[number, number], [number, number]]
export type NodeExtent = TranslateExtent
export type KeyCode = number | string;
export type KeyCode = number | string
export enum PanOnScrollMode {
Free = 'free',
@@ -276,150 +276,150 @@ export enum PanOnScrollMode {
}
export interface ZoomPanHelperFunctions {
zoomIn: () => void;
zoomOut: () => void;
zoomTo: (zoomLevel: number) => void;
transform: (transform: FlowTransform) => void;
fitView: FitViewFunc;
setCenter: (x: number, y: number, zoom?: number) => void;
fitBounds: (bounds: Rect, padding?: number) => void;
project: (position: XYPosition) => XYPosition;
zoomIn: () => void
zoomOut: () => void
zoomTo: (zoomLevel: number) => void
transform: (transform: FlowTransform) => void
fitView: FitViewFunc
setCenter: (x: number, y: number, zoom?: number) => void
fitBounds: (bounds: Rect, padding?: number) => void
project: (position: XYPosition) => XYPosition
}
export type OnEdgeUpdateFunc<T = any> = (oldEdge: Edge<T>, newConnection: Connection) => void;
export type OnEdgeUpdateFunc<T = any> = (oldEdge: Edge<T>, newConnection: Connection) => void
export type NodeDimensionUpdate = {
id: ElementId;
nodeElement: HTMLDivElement;
forceUpdate?: boolean;
};
id: ElementId
nodeElement: HTMLDivElement
forceUpdate?: boolean
}
export type InitD3ZoomPayload = {
d3Zoom: ZoomBehavior<Element, unknown>;
d3Selection: D3Selection<Element, unknown, null, undefined>;
d3ZoomHandler: ((this: Element, event: any, d: unknown) => void) | undefined;
transform: Transform;
};
d3Zoom: ZoomBehavior<Element, unknown>
d3Selection: D3Selection<Element, unknown, null, undefined>
d3ZoomHandler: ((this: Element, event: any, d: unknown) => void) | undefined
transform: Transform
}
export interface RevueFlowState {
width: number;
height: number;
transform: Transform;
nodes: Node[];
edges: Edge[];
selectedElements: Elements | null;
selectedNodesBbox: Rect;
width: number
height: number
transform: Transform
nodes: Node[]
edges: Edge[]
selectedElements: Elements | null
selectedNodesBbox: Rect
d3Zoom: ZoomBehavior<Element, unknown> | null;
d3Selection: D3Selection<Element, unknown, null, undefined> | null;
d3ZoomHandler: ((this: Element, event: any, d: unknown) => void) | undefined;
minZoom: number;
maxZoom: number;
translateExtent: TranslateExtent;
nodeExtent: NodeExtent;
d3Zoom: ZoomBehavior<Element, unknown> | null
d3Selection: D3Selection<Element, unknown, null, undefined> | null
d3ZoomHandler: ((this: Element, event: any, d: unknown) => void) | undefined
minZoom: number
maxZoom: number
translateExtent: TranslateExtent
nodeExtent: NodeExtent
nodesSelectionActive: boolean;
selectionActive: boolean;
nodesSelectionActive: boolean
selectionActive: boolean
userSelectionRect: SelectionRect;
userSelectionRect: SelectionRect
connectionNodeId: ElementId | null;
connectionHandleId: ElementId | null;
connectionHandleType: HandleType | null;
connectionPosition: XYPosition;
connectionMode: ConnectionMode;
connectionNodeId: ElementId | null
connectionHandleId: ElementId | null
connectionHandleType: HandleType | null
connectionPosition: XYPosition
connectionMode: ConnectionMode
snapToGrid: boolean;
snapGrid: SnapGrid;
snapToGrid: boolean
snapGrid: SnapGrid
nodesDraggable: boolean;
nodesConnectable: boolean;
elementsSelectable: boolean;
nodesDraggable: boolean
nodesConnectable: boolean
elementsSelectable: boolean
multiSelectionActive: boolean;
multiSelectionActive: boolean
revueFlowVersion: string;
revueFlowVersion: string
onConnect?: OnConnectFunc;
onConnectStart?: OnConnectStartFunc;
onConnectStop?: OnConnectStopFunc;
onConnectEnd?: OnConnectEndFunc;
onConnect?: OnConnectFunc
onConnectStart?: OnConnectStartFunc
onConnectStop?: OnConnectStopFunc
onConnectEnd?: OnConnectEndFunc
}
export type RevueFlowActions = {
setElements: (elements: Elements) => void;
updateNodeDimensions: (updates: NodeDimensionUpdate[]) => void;
updateNodePos: (payload: NodePosUpdate) => void;
updateNodePosDiff: (payload: NodeDiffUpdate) => void;
setUserSelection: (mousePos: XYPosition) => void;
updateUserSelection: (mousePos: XYPosition) => void;
unsetUserSelection: () => void;
addSelectedElements: (elements: Elements) => void;
initD3Zoom: (payload: InitD3ZoomPayload) => void;
setMinZoom: (zoom: number) => void;
setMaxZoom: (zoom: number) => void;
setTranslateExtent: (translateExtent: TranslateExtent) => void;
setNodeExtent: (nodeExtent: NodeExtent) => void;
resetSelectedElements: () => void;
unsetNodesSelection: () => void;
updateSize: (size: Dimensions) => void;
setConnectionNodeId: (payload: SetConnectionId) => void;
setInteractive: (isInteractive: boolean) => void;
};
setElements: (elements: Elements) => void
updateNodeDimensions: (updates: NodeDimensionUpdate[]) => void
updateNodePos: (payload: NodePosUpdate) => void
updateNodePosDiff: (payload: NodeDiffUpdate) => void
setUserSelection: (mousePos: XYPosition) => void
updateUserSelection: (mousePos: XYPosition) => void
unsetUserSelection: () => void
addSelectedElements: (elements: Elements) => void
initD3Zoom: (payload: InitD3ZoomPayload) => void
setMinZoom: (zoom: number) => void
setMaxZoom: (zoom: number) => void
setTranslateExtent: (translateExtent: TranslateExtent) => void
setNodeExtent: (nodeExtent: NodeExtent) => void
resetSelectedElements: () => void
unsetNodesSelection: () => void
updateSize: (size: Dimensions) => void
setConnectionNodeId: (payload: SetConnectionId) => void
setInteractive: (isInteractive: boolean) => void
}
export type RevueFlowStore = Store<string, RevueFlowState, any, RevueFlowActions>;
export type RevueFlowStore = Store<string, RevueFlowState, any, RevueFlowActions>
export type UpdateNodeInternals = (nodeId: ElementId) => void;
export type UpdateNodeInternals = (nodeId: ElementId) => void
export interface RevueFlowProps extends Omit<HTMLAttributes, 'onLoad'> {
modelValue: Elements;
nodeTypes?: Record<string, NodeType>;
edgeTypes?: Record<string, EdgeType>;
connectionMode?: ConnectionMode;
connectionLineType?: ConnectionLineType;
connectionLineStyle?: CSSProperties;
connectionLineComponent?: ConnectionLineComponent;
deleteKeyCode?: KeyCode;
selectionKeyCode?: KeyCode;
multiSelectionKeyCode?: KeyCode;
zoomActivationKeyCode?: KeyCode;
snapToGrid?: boolean;
snapGrid?: [number, number];
onlyRenderVisibleElements?: boolean;
nodesDraggable?: boolean;
nodesConnectable?: boolean;
elementsSelectable?: boolean;
selectNodesOnDrag?: boolean;
paneMoveable?: boolean;
minZoom?: number;
maxZoom?: number;
defaultZoom?: number;
defaultPosition?: [number, number];
translateExtent?: TranslateExtent;
nodeExtent?: NodeExtent;
arrowHeadColor?: string;
markerEndId?: string;
zoomOnScroll?: boolean;
zoomOnPinch?: boolean;
panOnScroll?: boolean;
panOnScrollSpeed?: number;
panOnScrollMode?: PanOnScrollMode;
zoomOnDoubleClick?: boolean;
edgeUpdaterRadius?: number;
nodeTypesId?: string;
edgeTypesId?: string;
modelValue: Elements
nodeTypes?: Record<string, NodeType>
edgeTypes?: Record<string, EdgeType>
connectionMode?: ConnectionMode
connectionLineType?: ConnectionLineType
connectionLineStyle?: CSSProperties
connectionLineComponent?: ConnectionLineComponent
deleteKeyCode?: KeyCode
selectionKeyCode?: KeyCode
multiSelectionKeyCode?: KeyCode
zoomActivationKeyCode?: KeyCode
snapToGrid?: boolean
snapGrid?: [number, number]
onlyRenderVisibleElements?: boolean
nodesDraggable?: boolean
nodesConnectable?: boolean
elementsSelectable?: boolean
selectNodesOnDrag?: boolean
paneMoveable?: boolean
minZoom?: number
maxZoom?: number
defaultZoom?: number
defaultPosition?: [number, number]
translateExtent?: TranslateExtent
nodeExtent?: NodeExtent
arrowHeadColor?: string
markerEndId?: string
zoomOnScroll?: boolean
zoomOnPinch?: boolean
panOnScroll?: boolean
panOnScrollSpeed?: number
panOnScrollMode?: PanOnScrollMode
zoomOnDoubleClick?: boolean
edgeUpdaterRadius?: number
nodeTypesId?: string
edgeTypesId?: string
}
export interface GraphViewProps extends Required<RevueFlowProps> {
selectionKeyCode: KeyCode;
deleteKeyCode: KeyCode;
multiSelectionKeyCode: KeyCode;
connectionLineType: ConnectionLineType;
snapToGrid: boolean;
snapGrid: [number, number];
onlyRenderVisibleElements: boolean;
defaultZoom: number;
defaultPosition: [number, number];
arrowHeadColor: string;
selectNodesOnDrag: boolean;
selectionKeyCode: KeyCode
deleteKeyCode: KeyCode
multiSelectionKeyCode: KeyCode
connectionLineType: ConnectionLineType
snapToGrid: boolean
snapGrid: [number, number]
onlyRenderVisibleElements: boolean
defaultZoom: number
defaultPosition: [number, number]
arrowHeadColor: string
selectNodesOnDrag: boolean
}