diff --git a/.prettierignore b/.prettierignore index f06235c..7d4436e 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,2 +1,3 @@ node_modules dist +.out diff --git a/lib-core/src/DiagramEngine.ts b/lib-core/src/DiagramEngine.ts index 9776a30..de8b1d4 100644 --- a/lib-core/src/DiagramEngine.ts +++ b/lib-core/src/DiagramEngine.ts @@ -1,16 +1,16 @@ -import * as _ from "lodash"; -import { BaseEntity } from "./core-models/BaseEntity"; -import { DiagramModel } from "./models/DiagramModel"; -import { BaseModel } from "./core-models/BaseModel"; -import { NodeModel } from "./models/NodeModel"; -import { PointModel } from "./models/PointModel"; -import { PortModel } from "./models/PortModel"; -import { LinkModel } from "./models/LinkModel"; -import { LabelModel } from "./models/LabelModel"; -import { FactoryBank } from "./core/FactoryBank"; -import { AbstractFactory } from "./core/AbstractFactory"; -import { AbstractReactFactory } from "./core/AbstractReactFactory"; -import { BaseListener, BaseObserver } from "./core/BaseObserver"; +import * as _ from 'lodash'; +import { BaseEntity } from './core-models/BaseEntity'; +import { DiagramModel } from './models/DiagramModel'; +import { BaseModel } from './core-models/BaseModel'; +import { NodeModel } from './models/NodeModel'; +import { PointModel } from './models/PointModel'; +import { PortModel } from './models/PortModel'; +import { LinkModel } from './models/LinkModel'; +import { LabelModel } from './models/LabelModel'; +import { FactoryBank } from './core/FactoryBank'; +import { AbstractFactory } from './core/AbstractFactory'; +import { AbstractReactFactory } from './core/AbstractReactFactory'; +import { BaseListener, BaseObserver } from './core/BaseObserver'; export interface DiagramEngineListener extends BaseListener { repaintCanvas?(): void; @@ -195,7 +195,7 @@ export class DiagramEngine extends BaseObserver { getNodeElement(node: NodeModel): Element { const selector = this.canvas.querySelector(`.node[data-nodeid="${node.getID()}"]`); if (selector === null) { - throw new Error("Cannot find Node element with nodeID: [" + node.getID() + "]"); + throw new Error('Cannot find Node element with nodeID: [' + node.getID() + ']'); } return selector; } @@ -206,11 +206,11 @@ export class DiagramEngine extends BaseObserver { ); if (selector === null) { throw new Error( - "Cannot find Node Port element with nodeID: [" + - port.getParent().getID() + - "] and name: [" + - port.getName() + - "]" + 'Cannot find Node Port element with nodeID: [' + + port.getParent().getID() + + '] and name: [' + + port.getName() + + ']' ); } return selector; diff --git a/lib-core/src/core-models/BaseEntity.ts b/lib-core/src/core-models/BaseEntity.ts index dc427fe..a8868c9 100644 --- a/lib-core/src/core-models/BaseEntity.ts +++ b/lib-core/src/core-models/BaseEntity.ts @@ -1,7 +1,7 @@ import { Toolkit } from '../Toolkit'; import * as _ from 'lodash'; import { DiagramEngine } from '../DiagramEngine'; -import { BaseEvent, BaseListener, BaseObserver } from "../core/BaseObserver"; +import { BaseEvent, BaseListener, BaseObserver } from '../core/BaseObserver'; export interface BaseEntityEvent extends BaseEvent { entity: T; @@ -22,21 +22,20 @@ export interface BaseEntityOptions { export type BaseEntityGenerics = { LISTENER: BaseEntityListener; OPTIONS: BaseEntityOptions; -} +}; export class BaseEntity extends BaseObserver { - protected options: T['OPTIONS']; constructor(options: T['OPTIONS'] = {}) { super(); this.options = { id: Toolkit.UID(), - ...options, + ...options }; } - getOptions(){ + getOptions() { return this.options; } diff --git a/lib-core/src/core-models/BaseModel.ts b/lib-core/src/core-models/BaseModel.ts index d29432a..553fcb8 100644 --- a/lib-core/src/core-models/BaseModel.ts +++ b/lib-core/src/core-models/BaseModel.ts @@ -1,11 +1,5 @@ -import { - BaseEntity, - BaseEntityEvent, - BaseEntityGenerics, - BaseEntityListener, - BaseEntityOptions -} from "./BaseEntity"; -import { DiagramEngine } from "../DiagramEngine"; +import { BaseEntity, BaseEntityEvent, BaseEntityGenerics, BaseEntityListener, BaseEntityOptions } from './BaseEntity'; +import { DiagramEngine } from '../DiagramEngine'; export interface BaseModelListener extends BaseEntityListener { selectionChanged?(event: BaseEntityEvent & { isSelected: boolean }): void; @@ -19,14 +13,13 @@ export interface BaseModelOptions extends BaseEntityOptions { extras?: any; } -export interface BaseModelGenerics extends BaseEntityGenerics{ - LISTENER: BaseModelListener +export interface BaseModelGenerics extends BaseEntityGenerics { + LISTENER: BaseModelListener; PARENT: BaseEntity; OPTIONS: BaseModelOptions; } export class BaseModel extends BaseEntity { - protected parent: G['PARENT']; constructor(options: G['OPTIONS']) { @@ -75,11 +68,11 @@ export class BaseModel extends { isSelected: selected }, - "selectionChanged" + 'selectionChanged' ); } remove() { - this.fireEvent({}, "entityRemoved"); + this.fireEvent({}, 'entityRemoved'); } } diff --git a/lib-core/src/core-models/BasePositionModel.ts b/lib-core/src/core-models/BasePositionModel.ts index 008a624..c877019 100644 --- a/lib-core/src/core-models/BasePositionModel.ts +++ b/lib-core/src/core-models/BasePositionModel.ts @@ -1,17 +1,16 @@ -import { BaseModel, BaseModelGenerics, BaseModelListener } from "./BaseModel"; -import { DiagramEngine } from "../DiagramEngine"; -import { BaseEntityEvent } from "./BaseEntity"; +import { BaseModel, BaseModelGenerics, BaseModelListener } from './BaseModel'; +import { DiagramEngine } from '../DiagramEngine'; +import { BaseEntityEvent } from './BaseEntity'; -export interface BasePositionModelListener extends BaseModelListener{ +export interface BasePositionModelListener extends BaseModelListener { positionChanged?(event: BaseEntityEvent): void; } -export interface BasePositionModelGenerics extends BaseModelGenerics{ +export interface BasePositionModelGenerics extends BaseModelGenerics { LISTENER: BasePositionModelListener; } -export class BasePositionModel extends BaseModel{ - +export class BasePositionModel extends BaseModel { protected x: number; protected y: number; @@ -32,15 +31,14 @@ export class BasePositionModel any + [key: string]: (event: BaseEvent) => any; }; /** @@ -38,7 +38,7 @@ export class BaseObserver { this.listeners = {}; } - private fireEventInternal(fire: boolean, k: keyof L, event: BaseEvent, ) { + private fireEventInternal(fire: boolean, k: keyof L, event: BaseEvent) { this.iterateListeners(listener => { // returning false here will instruct itteration to stop if (!fire && !event.firing) { @@ -61,16 +61,16 @@ export class BaseObserver { }; // fire pre - this.fireEventInternal( true, "eventWillFire", { + this.fireEventInternal(true, 'eventWillFire', { ...event, function: k } as BaseEventProxy); // fire main event - this.fireEventInternal( false, k, event as BaseEvent); + this.fireEventInternal(false, k, event as BaseEvent); // fire post - this.fireEventInternal( true, "eventDidFire", { + this.fireEventInternal(true, 'eventDidFire', { ...event, function: k } as BaseEventProxy); diff --git a/lib-core/src/models/DiagramModel.ts b/lib-core/src/models/DiagramModel.ts index 851bf59..9c70138 100644 --- a/lib-core/src/models/DiagramModel.ts +++ b/lib-core/src/models/DiagramModel.ts @@ -2,9 +2,10 @@ import { BaseEntity, BaseEntityEvent, BaseEntityGenerics, - BaseEntityListener, BaseEntityOptions, + BaseEntityListener, + BaseEntityOptions, BaseEntityType -} from "../core-models/BaseEntity"; +} from '../core-models/BaseEntity'; import * as _ from 'lodash'; import { DiagramEngine } from '../DiagramEngine'; import { LinkModel } from './LinkModel'; @@ -25,14 +26,14 @@ export interface DiagramListener extends BaseEntityListener { gridUpdated?(event: BaseEntityEvent & { size: number }): void; } -export interface DiagramModelOptions extends BaseEntityOptions{ +export interface DiagramModelOptions extends BaseEntityOptions { offsetX?: number; offsetY?: number; zoom?: number; gridSize?: number; } -export interface DiagramModelGenerics extends BaseEntityGenerics{ +export interface DiagramModelGenerics extends BaseEntityGenerics { LISTENER: DiagramListener; OPTIONS: DiagramModelOptions; } @@ -50,7 +51,7 @@ export class DiagramModel gridSize: 0, offsetX: 0, offsetY: 0, - ...options, + ...options }); this.links = {}; diff --git a/lib-core/src/models/LabelModel.ts b/lib-core/src/models/LabelModel.ts index 48ce2e5..f035303 100644 --- a/lib-core/src/models/LabelModel.ts +++ b/lib-core/src/models/LabelModel.ts @@ -1,9 +1,8 @@ -import { BaseModel, BaseModelGenerics } from "../core-models/BaseModel"; +import { BaseModel, BaseModelGenerics } from '../core-models/BaseModel'; import * as _ from 'lodash'; import { DiagramEngine } from '../DiagramEngine'; export class LabelModel extends BaseModel { - offsetX: number; offsetY: number; diff --git a/lib-core/src/models/LinkModel.ts b/lib-core/src/models/LinkModel.ts index 60888c3..ec823a9 100644 --- a/lib-core/src/models/LinkModel.ts +++ b/lib-core/src/models/LinkModel.ts @@ -1,11 +1,11 @@ -import { BaseModel, BaseModelGenerics, BaseModelListener } from "../core-models/BaseModel"; -import { PortModel } from "./PortModel"; -import { PointModel } from "./PointModel"; -import * as _ from "lodash"; -import { LabelModel } from "./LabelModel"; -import { DiagramEngine } from "../DiagramEngine"; -import { BaseEntityEvent } from "../core-models/BaseEntity"; -import { DiagramModel } from "./DiagramModel"; +import { BaseModel, BaseModelGenerics, BaseModelListener } from '../core-models/BaseModel'; +import { PortModel } from './PortModel'; +import { PointModel } from './PointModel'; +import * as _ from 'lodash'; +import { LabelModel } from './LabelModel'; +import { DiagramEngine } from '../DiagramEngine'; +import { BaseEntityEvent } from '../core-models/BaseEntity'; +import { DiagramModel } from './DiagramModel'; export interface LinkModelListener extends BaseModelListener { sourcePortChanged?(event: BaseEntityEvent & { port: null | PortModel }): void; @@ -19,14 +19,13 @@ export interface LinkModelGenerics extends BaseModelGenerics { } export class LinkModel extends BaseModel { - protected sourcePort: PortModel | null; protected targetPort: PortModel | null; protected labels: LabelModel[]; protected points: PointModel[]; - constructor(options: G["OPTIONS"]) { + constructor(options: G['OPTIONS']) { super(options); this.points = [ new PointModel({ @@ -171,7 +170,7 @@ export class LinkModel extends this.sourcePort.removeLink(this); } this.sourcePort = port; - this.fireEvent({ port }, "sourcePortChanged"); + this.fireEvent({ port }, 'sourcePortChanged'); } getSourcePort(): PortModel { @@ -190,7 +189,7 @@ export class LinkModel extends this.targetPort.removeLink(this); } this.targetPort = port; - this.fireEvent({ port }, "targetPortChanged"); + this.fireEvent({ port }, 'targetPortChanged'); } point(x: number, y: number): PointModel { @@ -206,7 +205,7 @@ export class LinkModel extends return this.points; } - getLabels(){ + getLabels() { return this.labels; } diff --git a/lib-core/src/models/NodeModel.ts b/lib-core/src/models/NodeModel.ts index 9a40ee2..885f3a8 100644 --- a/lib-core/src/models/NodeModel.ts +++ b/lib-core/src/models/NodeModel.ts @@ -1,23 +1,22 @@ -import { BaseModelListener } from "../core-models/BaseModel"; +import { BaseModelListener } from '../core-models/BaseModel'; import * as _ from 'lodash'; import { DiagramEngine } from '../DiagramEngine'; import { BaseEntityEvent } from '../core-models/BaseEntity'; -import { BasePositionModel, BasePositionModelGenerics } from "../core-models/BasePositionModel"; -import { DiagramModel } from "./DiagramModel"; -import { PortModel } from "./PortModel"; +import { BasePositionModel, BasePositionModelGenerics } from '../core-models/BasePositionModel'; +import { DiagramModel } from './DiagramModel'; +import { PortModel } from './PortModel'; export interface NodeModelListener extends BaseModelListener { positionChanged?(event: BaseEntityEvent): void; } -export interface NodeModelGenerics extends BasePositionModelGenerics{ +export interface NodeModelGenerics extends BasePositionModelGenerics { LISTENER: NodeModelListener; PARENT: DiagramModel; PORT: PortModel; } export class NodeModel extends BasePositionModel { - ports: { [s: string]: G['PORT'] }; // calculated post rendering so routing can be done correctly @@ -81,7 +80,7 @@ export class NodeModel extends ports: _.map(this.ports, port => { return port.serialize(); }) - } + }; } doClone(lookupTable = {}, clone) { diff --git a/lib-core/src/models/PointModel.ts b/lib-core/src/models/PointModel.ts index 7b5bfdc..9a0fd1d 100644 --- a/lib-core/src/models/PointModel.ts +++ b/lib-core/src/models/PointModel.ts @@ -1,22 +1,23 @@ -import { BaseModel, BaseModelListener, BaseModelOptions } from "../core-models/BaseModel"; +import { BaseModel, BaseModelListener, BaseModelOptions } from '../core-models/BaseModel'; import { LinkModel } from './LinkModel'; import * as _ from 'lodash'; import { DiagramEngine } from '../DiagramEngine'; -import { BasePositionModel } from "../core-models/BasePositionModel"; +import { BasePositionModel } from '../core-models/BasePositionModel'; -export interface PointModelOptions extends Omit{ +export interface PointModelOptions extends Omit { link: LinkModel; points: { x: number; y: number }; } -export interface PointModelGenerics{ +export interface PointModelGenerics { PARENT: LinkModel; OPTIONS: PointModelOptions; LISTENER: BaseModelListener; } -export class PointModel extends BasePositionModel { - +export class PointModel extends BasePositionModel< + G & { OPTIONS: BaseModelOptions } +> { constructor(options: G['OPTIONS']) { super({ ...options, diff --git a/lib-core/src/models/PortModel.ts b/lib-core/src/models/PortModel.ts index 6e49515..6c87c67 100644 --- a/lib-core/src/models/PortModel.ts +++ b/lib-core/src/models/PortModel.ts @@ -1,30 +1,29 @@ -import { BaseModel, BaseModelGenerics, BaseModelOptions } from "../core-models/BaseModel"; +import { BaseModel, BaseModelGenerics, BaseModelOptions } from '../core-models/BaseModel'; import { NodeModel } from './NodeModel'; import { LinkModel } from './LinkModel'; import * as _ from 'lodash'; import { DiagramEngine } from '../DiagramEngine'; -import { BasePositionModel } from "../core-models/BasePositionModel"; +import { BasePositionModel } from '../core-models/BasePositionModel'; -export enum PortModelAlignment{ - TOP='top', - LEFT='left', - BOTTOM='bottom', - RIGHT='right' +export enum PortModelAlignment { + TOP = 'top', + LEFT = 'left', + BOTTOM = 'bottom', + RIGHT = 'right' } -export interface PortModelOptions extends BaseModelOptions{ +export interface PortModelOptions extends BaseModelOptions { alignment?: PortModelAlignment; maximumLinks?: number; name: string; } -export interface PortModelGenerics extends BaseModelGenerics{ +export interface PortModelGenerics extends BaseModelGenerics { OPTIONS: PortModelOptions; PARENT: NodeModel; } export class PortModel extends BasePositionModel { - links: { [id: string]: LinkModel }; // calculated post rendering so routing can be done correctly @@ -46,7 +45,7 @@ export class PortModel extends parentNode: this.parent.getID(), links: _.map(this.links, link => { return link.getID; - }), + }) }; } diff --git a/lib-core/src/widgets/DiagramWidget.tsx b/lib-core/src/widgets/DiagramWidget.tsx index e85f3ec..257fa12 100644 --- a/lib-core/src/widgets/DiagramWidget.tsx +++ b/lib-core/src/widgets/DiagramWidget.tsx @@ -259,7 +259,6 @@ export class DiagramWidget extends BaseWidget { ); if (model.model instanceof NodeModel) { - // update port coordinates as well _.forEach(model.model.getPorts(), port => { const portCoords = this.props.diagramEngine.getPortCoords(port); diff --git a/lib-core/src/widgets/layers/LinkLayerWidget.tsx b/lib-core/src/widgets/layers/LinkLayerWidget.tsx index ff6d3af..779f8a9 100644 --- a/lib-core/src/widgets/layers/LinkLayerWidget.tsx +++ b/lib-core/src/widgets/layers/LinkLayerWidget.tsx @@ -1,9 +1,9 @@ -import * as React from "react"; -import { DiagramEngine } from "../../DiagramEngine"; -import { LinkWidget } from "../LinkWidget"; -import * as _ from "lodash"; -import { PointModel } from "../../models/PointModel"; -import { BaseWidget, BaseWidgetProps } from "../BaseWidget"; +import * as React from 'react'; +import { DiagramEngine } from '../../DiagramEngine'; +import { LinkWidget } from '../LinkWidget'; +import * as _ from 'lodash'; +import { PointModel } from '../../models/PointModel'; +import { BaseWidget, BaseWidgetProps } from '../BaseWidget'; export interface LinkLayerProps extends BaseWidgetProps { diagramEngine: DiagramEngine; @@ -12,7 +12,7 @@ export interface LinkLayerProps extends BaseWidgetProps { export class LinkLayerWidget extends BaseWidget { constructor(props: LinkLayerProps) { - super("srd-link-layer", props); + super('srd-link-layer', props); } render() { @@ -22,16 +22,16 @@ export class LinkLayerWidget extends BaseWidget { {...this.getProps()} style={{ transform: - "translate(" + + 'translate(' + diagramModel.getOffsetX() + - "px," + + 'px,' + diagramModel.getOffsetY() + - "px) scale(" + + 'px) scale(' + diagramModel.getZoomLevel() / 100.0 + - ")" + ')' }}> {//only perform these actions when we have a diagram - this.props.diagramEngine.canvas && + this.props.diagramEngine.canvas && _.map(diagramModel.getLinks(), link => { if ( this.props.diagramEngine.nodesRendered && diff --git a/lib-defaults/src/label/DefaultLabelModel.tsx b/lib-defaults/src/label/DefaultLabelModel.tsx index 85954db..a2ef52a 100644 --- a/lib-defaults/src/label/DefaultLabelModel.tsx +++ b/lib-defaults/src/label/DefaultLabelModel.tsx @@ -1,20 +1,14 @@ -import { - BaseModelGenerics, - BaseModelOptions, - DiagramEngine, - LabelModel, -} from "@projectstorm/react-diagrams-core"; +import { BaseModelGenerics, BaseModelOptions, DiagramEngine, LabelModel } from '@projectstorm/react-diagrams-core'; -export interface DefaultLabelModelOptions extends Omit{ +export interface DefaultLabelModelOptions extends Omit { label?: string; } -export interface DefaultLabelModelGenerics{ +export interface DefaultLabelModelGenerics { OPTIONS: DefaultLabelModelOptions; } export class DefaultLabelModel extends LabelModel { - constructor(options: DefaultLabelModelOptions = {}) { super({ ...options, diff --git a/lib-defaults/src/link/DefaultLinkModel.ts b/lib-defaults/src/link/DefaultLinkModel.ts index 51ef7d8..e50a370 100644 --- a/lib-defaults/src/link/DefaultLinkModel.ts +++ b/lib-defaults/src/link/DefaultLinkModel.ts @@ -1,10 +1,12 @@ import { - BaseEntityEvent, BaseModelOptions, + BaseEntityEvent, + BaseModelOptions, DiagramEngine, LabelModel, - LinkModel, LinkModelGenerics, + LinkModel, + LinkModelGenerics, LinkModelListener -} from "@projectstorm/react-diagrams-core"; +} from '@projectstorm/react-diagrams-core'; import { DefaultLabelModel } from '../label/DefaultLabelModel'; export interface DefaultLinkModelListener extends LinkModelListener { @@ -13,19 +15,18 @@ export interface DefaultLinkModelListener extends LinkModelListener { widthChanged?(event: BaseEntityEvent & { width: 0 | number }): void; } -export interface DefaultLinkModelOptions extends Omit{ +export interface DefaultLinkModelOptions extends Omit { width?: number; color?: string; curvyness?: number; } -export interface DefaultLinkModelGenerics{ +export interface DefaultLinkModelGenerics { LISTENER: DefaultLinkModelListener; OPTIONS: DefaultLinkModelOptions; } export class DefaultLinkModel extends LinkModel { - constructor(options: DefaultLinkModelOptions = {}) { super({ ...options, diff --git a/lib-defaults/src/link/DefaultLinkWidget.tsx b/lib-defaults/src/link/DefaultLinkWidget.tsx index 389513c..c87dd47 100644 --- a/lib-defaults/src/link/DefaultLinkWidget.tsx +++ b/lib-defaults/src/link/DefaultLinkWidget.tsx @@ -1,5 +1,5 @@ -import * as React from "react"; -import * as _ from "lodash"; +import * as React from 'react'; +import * as _ from 'lodash'; import { BaseWidget, BaseWidgetProps, @@ -7,9 +7,9 @@ import { LabelModel, PointModel, Toolkit -} from "@projectstorm/react-diagrams-core"; -import { DefaultLinkModel } from "./DefaultLinkModel"; -import { DefaultLinkFactory } from "./DefaultLinkFactory"; +} from '@projectstorm/react-diagrams-core'; +import { DefaultLinkModel } from './DefaultLinkModel'; +import { DefaultLinkFactory } from './DefaultLinkFactory'; export interface DefaultLinkProps extends BaseWidgetProps { color?: string; @@ -26,7 +26,7 @@ export interface DefaultLinkState { export class DefaultLinkWidget extends BaseWidget { public static defaultProps: DefaultLinkProps = { - color: "black", + color: 'black', width: 3, link: null, engine: null, @@ -39,7 +39,7 @@ export class DefaultLinkWidget extends BaseWidget + ); @@ -123,7 +123,7 @@ export class DefaultLinkWidget extends BaseWidget
(this.refLabels[label.getID()] = ref)}> @@ -150,7 +150,7 @@ export class DefaultLinkWidget extends BaseWidget { this.setState({ selected: false }); }, @@ -158,7 +158,7 @@ export class DefaultLinkWidget extends BaseWidget { @@ -170,7 +170,7 @@ export class DefaultLinkWidget extends BaseWidget + {Bottom} {Top} @@ -222,7 +222,7 @@ export class DefaultLinkWidget extends BaseWidget Math.abs(points[0].getY() - points[1].getY()); - var xOrY = isHorizontal ? "x" : "y"; + var isHorizontal = + Math.abs(points[0].getX() - points[1].getX()) > Math.abs(points[0].getY() - points[1].getY()); + var xOrY = isHorizontal ? 'x' : 'y'; //draw the smoothing //if the points are too close, just draw a straight line @@ -262,7 +263,7 @@ export class DefaultLinkWidget extends BaseWidget { this.addPointToLink(event, j + 1); } diff --git a/lib-defaults/src/node/DefaultNodeModel.ts b/lib-defaults/src/node/DefaultNodeModel.ts index 63893df..57f5963 100644 --- a/lib-defaults/src/node/DefaultNodeModel.ts +++ b/lib-defaults/src/node/DefaultNodeModel.ts @@ -1,24 +1,18 @@ import * as _ from 'lodash'; -import { - BaseModelOptions, - DiagramEngine, - NodeModel, - NodeModelGenerics, -} from "@projectstorm/react-diagrams-core"; +import { BaseModelOptions, DiagramEngine, NodeModel, NodeModelGenerics } from '@projectstorm/react-diagrams-core'; import { DefaultPortModel } from '../port/DefaultPortModel'; -export interface DefaultNodeModelOptions extends Omit{ +export interface DefaultNodeModelOptions extends Omit { name?: string; color?: string; } -export interface DefaultNodeModelGenerics{ +export interface DefaultNodeModelGenerics { PORT: DefaultPortModel; OPTIONS: DefaultNodeModelOptions; } export class DefaultNodeModel extends NodeModel { - constructor(options: DefaultNodeModelOptions = {}) { super({ type: 'default', @@ -29,19 +23,23 @@ export class DefaultNodeModel extends NodeModel { - listener: any; generatePort = port => { @@ -57,9 +56,8 @@ export class DefaultNodeWidget extends BaseWidget { }; componentWillUnmount(): void { - // release repaint listener - if(this.listener){ + if (this.listener) { this.listener(); } } @@ -67,9 +65,9 @@ export class DefaultNodeWidget extends BaseWidget { componentDidMount(): void { this.listener = this.props.node.registerListener({ eventDidFire: () => { - this.forceUpdate() + this.forceUpdate(); } - }) + }); } render() { diff --git a/lib-defaults/src/port/DefaultPortModel.ts b/lib-defaults/src/port/DefaultPortModel.ts index 42b5391..787f5a8 100644 --- a/lib-defaults/src/port/DefaultPortModel.ts +++ b/lib-defaults/src/port/DefaultPortModel.ts @@ -3,24 +3,24 @@ import { AbstractFactory, DiagramEngine, LinkModel, - PortModel, PortModelGenerics, + PortModel, + PortModelGenerics, PortModelOptions -} from "@projectstorm/react-diagrams-core"; +} from '@projectstorm/react-diagrams-core'; import { DefaultLinkModel } from '../link/DefaultLinkModel'; -import { DefaultNodeModel } from "../node/DefaultNodeModel"; +import { DefaultNodeModel } from '../node/DefaultNodeModel'; -export interface DefaultPortModelOptions extends Omit{ +export interface DefaultPortModelOptions extends Omit { label?: string; in?: boolean; } -export interface DefaultPortModelGenerics{ +export interface DefaultPortModelGenerics { OPTIONS: DefaultPortModelOptions; PARENT: DefaultNodeModel; } export class DefaultPortModel extends PortModel { - constructor(options: DefaultPortModelOptions) { super({ ...options, diff --git a/lib-demo-gallery/index.tsx b/lib-demo-gallery/index.tsx index 9a9bc95..261cec4 100644 --- a/lib-demo-gallery/index.tsx +++ b/lib-demo-gallery/index.tsx @@ -19,7 +19,7 @@ setOptions({ addonPanelInRight: true }); -addDecorator((fn) => { +addDecorator(fn => { Toolkit.TESTING_UID = 0; return fn(); }); diff --git a/lib-routing/src/engine/PathFinding.ts b/lib-routing/src/engine/PathFinding.ts index 6365904..48665f0 100644 --- a/lib-routing/src/engine/PathFinding.ts +++ b/lib-routing/src/engine/PathFinding.ts @@ -1,6 +1,6 @@ import * as PF from 'pathfinding'; import { PathFindingLinkFactory } from '../link/PathFindingLinkFactory'; -import { PointModel } from "@projectstorm/react-diagrams-core"; +import { PointModel } from '@projectstorm/react-diagrams-core'; /* it can be very expensive to calculate routes when every single pixel on the canvas @@ -26,10 +26,7 @@ export default class PathFinding { * Taking as argument a fully unblocked walking matrix, this method * finds a direct path from point A to B. */ - calculateDirectPath( - from: PointModel, - to: PointModel - ): number[][] { + calculateDirectPath(from: PointModel, to: PointModel): number[][] { const matrix = this.factory.getCanvasMatrix(); const grid = new PF.Grid(matrix); diff --git a/lib-routing/src/link/PathFindingLinkWidget.tsx b/lib-routing/src/link/PathFindingLinkWidget.tsx index 458b618..2c4c0bc 100644 --- a/lib-routing/src/link/PathFindingLinkWidget.tsx +++ b/lib-routing/src/link/PathFindingLinkWidget.tsx @@ -1,9 +1,9 @@ -import * as React from "react"; -import * as _ from "lodash"; -import { BaseWidget, BaseWidgetProps, DiagramEngine, LabelModel, PointModel } from "@projectstorm/react-diagrams-core"; -import PathFinding from "../engine/PathFinding"; -import { PathFindingLinkFactory } from "./PathFindingLinkFactory"; -import { PathFindingLinkModel } from "./PathFindingLinkModel"; +import * as React from 'react'; +import * as _ from 'lodash'; +import { BaseWidget, BaseWidgetProps, DiagramEngine, LabelModel, PointModel } from '@projectstorm/react-diagrams-core'; +import PathFinding from '../engine/PathFinding'; +import { PathFindingLinkFactory } from './PathFindingLinkFactory'; +import { PathFindingLinkModel } from './PathFindingLinkModel'; export interface PathFindingLinkWidgetProps extends BaseWidgetProps { color?: string; @@ -21,7 +21,7 @@ export interface PathFindingLinkWidgetState { export class PathFindingLinkWidget extends BaseWidget { public static defaultProps: PathFindingLinkWidgetProps = { - color: "black", + color: 'black', width: 3, link: null, engine: null, @@ -37,7 +37,7 @@ export class PathFindingLinkWidget extends BaseWidget + ); @@ -122,7 +122,7 @@ export class PathFindingLinkWidget extends BaseWidget
(this.refLabels[label.getID()] = ref)}> @@ -135,7 +135,7 @@ export class PathFindingLinkWidget extends BaseWidget ref && this.refPaths.push(ref)} @@ -145,7 +145,7 @@ export class PathFindingLinkWidget extends BaseWidget { this.setState({ selected: false }); }, @@ -153,7 +153,7 @@ export class PathFindingLinkWidget extends BaseWidget { @@ -165,7 +165,7 @@ export class PathFindingLinkWidget extends BaseWidget + {Bottom} {Top} @@ -217,7 +217,7 @@ export class PathFindingLinkWidget extends BaseWidget