Skip to content

Commit 16f6b48

Browse files
renamed due to restriction with labview
1 parent 68c2c76 commit 16f6b48

File tree

4 files changed

+49
-49
lines changed

4 files changed

+49
-49
lines changed

demos/demo-labview-routing/index.tsx renamed to demos/demo-right-angles-routing/index.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ import {
55
LinkModel,
66
DefaultPortModel,
77
DiagramWidget,
8-
LabViewLinkFactory, DefaultLinkModel,
8+
RightAngleLinkFactory, DefaultLinkModel,
99
} from "storm-react-diagrams";
1010
import * as React from "react";
1111
import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget";
1212
import { action } from "@storybook/addon-actions";
1313

1414
export class LabViewLinkModel extends DefaultLinkModel {
1515
constructor() {
16-
super("labview");
16+
super("rightAngle");
1717
}
1818
}
1919

@@ -27,7 +27,7 @@ export default () => {
2727
// setup the diagram engine
2828
const engine = new DiagramEngine();
2929
engine.installDefaultFactories();
30-
engine.registerLinkFactory(new LabViewLinkFactory());
30+
engine.registerLinkFactory(new RightAngleLinkFactory());
3131

3232
// setup the diagram model
3333
const model = new DiagramModel();

src/labview/factories/LabViewLinkFactory.tsx

Lines changed: 0 additions & 36 deletions
This file was deleted.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import * as React from "react";
2+
import { RightAngleLinkWidget } from "../widgets/RightAngleLinkWidget";
3+
import { DiagramEngine } from "../../../DiagramEngine";
4+
import { AbstractLinkFactory } from "../../../factories/AbstractLinkFactory";
5+
import { DefaultLinkModel } from "../../../defaults/models/DefaultLinkModel";
6+
7+
/**
8+
* @author Dylan Vorster
9+
*/
10+
export class RightAngleLinkFactory extends AbstractLinkFactory<DefaultLinkModel> {
11+
constructor() {
12+
super("rightAngle");
13+
}
14+
15+
generateReactWidget(diagramEngine: DiagramEngine, link: DefaultLinkModel): JSX.Element {
16+
return React.createElement(RightAngleLinkWidget, {
17+
link: link,
18+
diagramEngine: diagramEngine
19+
});
20+
}
21+
22+
getNewInstance(initialConfig?: any): DefaultLinkModel {
23+
return new DefaultLinkModel();
24+
}
25+
26+
generateLinkSegment(model: DefaultLinkModel, widget: RightAngleLinkWidget, selected: boolean, path: string) {
27+
return (
28+
<path
29+
className={selected ? widget.bem("--path-selected") : ""}
30+
strokeWidth={model.width}
31+
stroke={model.color}
32+
d={path}
33+
/>
34+
);
35+
}
36+
}

src/labview/widgets/LabViewLinkWidget.tsx renamed to src/routing/rightAngle/widgets/RightAngleLinkWidget.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import * as React from "react";
2-
import { DiagramEngine } from "../../DiagramEngine";
3-
import { PointModel } from "../../models/PointModel";
4-
import { Toolkit } from "../../Toolkit";
5-
import { LabViewLinkFactory } from "../factories/LabViewLinkFactory";
6-
import { DefaultLinkModel } from "../../defaults/models/DefaultLinkModel";
7-
import PathFinding from "../../routing/PathFinding";
2+
import { DiagramEngine } from "../../../DiagramEngine";
3+
import { PointModel } from "../../../models/PointModel";
4+
import { Toolkit } from "../../../Toolkit";
5+
import { RightAngleLinkFactory } from "../factories/RightAngleLinkFactory";
6+
import { DefaultLinkModel } from "../../../defaults/models/DefaultLinkModel";
7+
import PathFinding from "../../PathFinding";
88
import * as _ from "lodash";
9-
import { LabelModel } from "../../models/LabelModel";
10-
import { BaseWidget, BaseWidgetProps } from "../../widgets/BaseWidget";
9+
import { LabelModel } from "../../../models/LabelModel";
10+
import { BaseWidget, BaseWidgetProps } from "../../../widgets/BaseWidget";
1111

1212
export interface LabViewLinkProps extends BaseWidgetProps {
1313
color?: string;
@@ -23,7 +23,7 @@ export interface LabViewLinkState {
2323
canDrag: boolean,
2424
}
2525

26-
export class LabViewLinkWidget extends BaseWidget<LabViewLinkProps, LabViewLinkState> {
26+
export class RightAngleLinkWidget extends BaseWidget<LabViewLinkProps, LabViewLinkState> {
2727
public static defaultProps: LabViewLinkProps = {
2828
color: "red",
2929
width: 3,
@@ -146,7 +146,7 @@ export class LabViewLinkWidget extends BaseWidget<LabViewLinkProps, LabViewLinkS
146146
var props = this.props;
147147

148148
var Bottom = React.cloneElement(
149-
(props.diagramEngine.getFactoryForLink(this.props.link) as LabViewLinkFactory).generateLinkSegment(
149+
(props.diagramEngine.getFactoryForLink(this.props.link) as RightAngleLinkFactory).generateLinkSegment(
150150
this.props.link,
151151
this,
152152
this.state.selected || this.props.link.isSelected(),

0 commit comments

Comments
 (0)