mirror of
https://github.com/projectstorm/react-diagrams.git
synced 2025-08-14 16:51:29 +08:00
remove some core changes that are not neccesary
This commit is contained in:
@ -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
|
||||||
});
|
});
|
||||||
|
@ -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> {
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
Reference in New Issue
Block a user