remove some core changes that are not neccesary

This commit is contained in:
Dylan Vorster
2017-11-29 14:30:02 +02:00
parent a3ef7a089f
commit 77b2ee6f76
4 changed files with 19 additions and 39 deletions

View File

@ -9,17 +9,22 @@ import {
DiagramWidget, DiagramWidget,
LinkWidget, LinkWidget,
LinkProps, LinkProps,
DefaultLinkWidget, DefaultLinkWidget
CustomizableLinkProps
} from "../../src/main"; } from "../../src/main";
import { action } from "@storybook/addon-actions"; import { action } from "@storybook/addon-actions";
import * as React from "react"; import * as React from "react";
import { LinkWidgetFactory } from "../../src/WidgetFactories"; import { LinkWidgetFactory } from "../../src/WidgetFactories";
export class AdvancedLinkModel extends LinkModel { export class AdvancedLinkModel extends LinkModel {
size: number;
color: string;
constructor() { constructor() {
super(); super();
this.linkType = "advanced"; this.linkType = "advanced";
this.color = 'green';
this.size = 6;
} }
} }
@ -36,27 +41,15 @@ export class AdvancedPortModel extends DefaultPortModel
} }
} }
export class AdvancedLinkWidget extends DefaultLinkWidget {
constructor(props: LinkProps) {
super(props);
}
beforeLinkGenerated(props: CustomizableLinkProps): CustomizableLinkProps {
return {
color: 'green',
width: 6,
smooth: props.smooth
};
}
}
export class AdvancedLinkWidgetFactory extends LinkWidgetFactory { export class AdvancedLinkWidgetFactory extends LinkWidgetFactory {
constructor() { constructor() {
super("advanced"); super("advanced");
} }
generateReactWidget(diagramEngine: DiagramEngine, link: LinkModel): JSX.Element { generateReactWidget(diagramEngine: DiagramEngine, link: AdvancedLinkModel): JSX.Element {
return React.createElement(AdvancedLinkWidget, { return React.createElement(DefaultLinkWidget, {
color: link.color,
width: link.size,
link: link, link: link,
diagramEngine: diagramEngine diagramEngine: diagramEngine
}); });

View File

@ -273,10 +273,6 @@ export class LinkModel extends BaseModel<LinkModelListener> {
getType(): string { getType(): string {
return this.linkType; return this.linkType;
} }
generateLinkWidget(diagramEngine: DiagramEngine): JSX.Element | null {
return diagramEngine.generateWidgetForLink(this);
}
} }
export class PortModel extends BaseModel<BaseModelListener> { export class PortModel extends BaseModel<BaseModelListener> {

View File

@ -3,16 +3,15 @@ import { LinkModel, PointModel } from "../Common";
import * as _ from "lodash"; import * as _ from "lodash";
import { DiagramEngine } from "../DiagramEngine"; import { DiagramEngine } from "../DiagramEngine";
export interface CustomizableLinkProps {
color?: string;
width?: number;
smooth?: boolean;
}
export interface DefaultLinkProps extends CustomizableLinkProps {
export interface DefaultLinkProps {
link: LinkModel; link: LinkModel;
diagramEngine: DiagramEngine; diagramEngine: DiagramEngine;
pointAdded?: (point: PointModel, event) => any; pointAdded?: (point: PointModel, event) => any;
color?: string;
width?: number;
smooth?: boolean;
} }
export interface DefaultLinkState { export interface DefaultLinkState {
@ -84,16 +83,8 @@ export class DefaultLinkWidget extends React.Component<DefaultLinkProps, Default
); );
} }
beforeLinkGenerated(props: CustomizableLinkProps): CustomizableLinkProps {
return props;
}
generateLink(extraProps: any, id: string | number): JSX.Element { generateLink(extraProps: any, id: string | number): JSX.Element {
var props = this.beforeLinkGenerated({ var props = this.props;
color: this.props.color,
smooth: this.props.smooth,
width: this.props.width
});
var Bottom = ( var Bottom = (
<path <path

View File

@ -58,7 +58,7 @@ export class LinkLayerWidget extends React.Component<LinkLayerProps, LinkLayerSt
} }
//generate links //generate links
var generatedLink = link.generateLinkWidget(this.props.diagramEngine); var generatedLink = this.props.diagramEngine.generateWidgetForLink(link);
if (!generatedLink) { if (!generatedLink) {
console.log("no link generated for type: " + link.getType()); console.log("no link generated for type: " + link.getType());
return null; return null;