rather import from storm-react-diagrams to further test the library

This commit is contained in:
Dylan Vorster
2018-03-13 22:46:06 +02:00
parent 64ec2dd0a4
commit 3ea6375011
29 changed files with 87 additions and 45 deletions

View File

@ -31,6 +31,9 @@ module.exports = {
] ]
}, },
resolve: { resolve: {
alias: {
'storm-react-diagrams': path.join(__dirname, "..", "src", "main")
},
extensions: [".tsx", ".ts", ".js"] extensions: [".tsx", ".ts", ".js"]
} }
}; };

View File

@ -6,7 +6,7 @@ import {
NodeModel, NodeModel,
DiagramWidget, DiagramWidget,
BaseModel BaseModel
} from "../../src/main"; } from "storm-react-diagrams";
import * as _ from "lodash"; import * as _ from "lodash";
import * as React from "react"; import * as React from "react";
import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget"; import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget";

View File

@ -7,12 +7,12 @@ import {
DiagramWidget, DiagramWidget,
LinkWidget, LinkWidget,
LinkProps, LinkProps,
DefaultLinkWidget DefaultLinkWidget,
} from "../../src/main"; DefaultLinkModel,
DefaultLinkFactory
} from "storm-react-diagrams";
import { action } from "@storybook/addon-actions"; import { action } from "@storybook/addon-actions";
import * as React from "react"; import * as React from "react";
import { DefaultLinkModel } from "../../src/defaults/models/DefaultLinkModel";
import { DefaultLinkFactory } from "../../src/defaults/factories/DefaultLinkFactory";
export class AdvancedLinkModel extends DefaultLinkModel { export class AdvancedLinkModel extends DefaultLinkModel {
constructor() { constructor() {

View File

@ -1,4 +1,4 @@
import * as SRD from "../../src/main"; import * as SRD from "storm-react-diagrams";
import { DiamonNodeWidget } from "./DiamondNodeWidget"; import { DiamonNodeWidget } from "./DiamondNodeWidget";
import { DiamondNodeModel } from "./DiamondNodeModel"; import { DiamondNodeModel } from "./DiamondNodeModel";
import * as React from "react"; import * as React from "react";

View File

@ -1,7 +1,7 @@
import * as SRD from "../../src/main"; import { NodeModel } from "storm-react-diagrams";
import { DiamondPortModel } from "./DiamondPortModel"; import { DiamondPortModel } from "./DiamondPortModel";
export class DiamondNodeModel extends SRD.NodeModel { export class DiamondNodeModel extends NodeModel {
constructor() { constructor() {
super("diamond"); super("diamond");
this.addPort(new DiamondPortModel("top")); this.addPort(new DiamondPortModel("top"));

View File

@ -1,6 +1,6 @@
import * as React from "react"; import * as React from "react";
import { DiamondNodeModel } from "./DiamondNodeModel"; import { DiamondNodeModel } from "./DiamondNodeModel";
import { PortWidget } from "../../src/main"; import { PortWidget } from "storm-react-diagrams";
export interface DiamonNodeWidgetProps { export interface DiamonNodeWidgetProps {
node: DiamondNodeModel; node: DiamondNodeModel;

View File

@ -1,5 +1,5 @@
import * as _ from "lodash"; import * as _ from "lodash";
import { LinkModel, DiagramEngine, PortModel, DefaultLinkModel } from "../../src/main"; import { LinkModel, DiagramEngine, PortModel, DefaultLinkModel } from "storm-react-diagrams";
export class DiamondPortModel extends PortModel { export class DiamondPortModel extends PortModel {
position: string | "top" | "bottom" | "left" | "right"; position: string | "top" | "bottom" | "left" | "right";

View File

@ -1,4 +1,4 @@
import { PortModel, AbstractPortFactory } from "../../src/main"; import { PortModel, AbstractPortFactory } from "storm-react-diagrams";
export class SimplePortFactory extends AbstractPortFactory { export class SimplePortFactory extends AbstractPortFactory {
cb: (initialConfig?: any) => PortModel; cb: (initialConfig?: any) => PortModel;

View File

@ -5,7 +5,7 @@ import {
LinkModel, LinkModel,
DefaultPortModel, DefaultPortModel,
DiagramWidget DiagramWidget
} from "../../src/main"; } from "storm-react-diagrams";
import * as React from "react"; import * as React from "react";
// import the custom models // import the custom models

View File

@ -7,7 +7,7 @@ import {
LinkModel, LinkModel,
DefaultPortModel, DefaultPortModel,
DiagramWidget DiagramWidget
} from "../../src/main"; } from "storm-react-diagrams";
import { distributeElements } from "./dagre-utils"; import { distributeElements } from "./dagre-utils";
import * as React from "react"; import * as React from "react";
import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget"; import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget";

View File

@ -1,4 +1,4 @@
import * as SRD from "../../src/main"; import * as SRD from "storm-react-diagrams";
/** /**
* @author Dylan Vorster * @author Dylan Vorster

View File

@ -3,7 +3,7 @@ import * as _ from "lodash";
import { TrayWidget } from "./TrayWidget"; import { TrayWidget } from "./TrayWidget";
import { Application } from "../Application"; import { Application } from "../Application";
import { TrayItemWidget } from "./TrayItemWidget"; import { TrayItemWidget } from "./TrayItemWidget";
import { DefaultNodeModel, DiagramWidget } from "../../../src/main"; import { DefaultNodeModel, DiagramWidget } from "storm-react-diagrams";
export interface BodyWidgetProps { export interface BodyWidgetProps {
app: Application; app: Application;

View File

@ -1,4 +1,4 @@
import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, DiagramWidget } from "../../src/main"; import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, DiagramWidget } from "storm-react-diagrams";
import * as React from "react"; import * as React from "react";
/** /**

View File

@ -4,12 +4,12 @@ import {
DefaultNodeModel, DefaultNodeModel,
LinkModel, LinkModel,
DefaultPortModel, DefaultPortModel,
DiagramWidget DiagramWidget,
} from "../../src/main"; DefaultLinkModel
} from "storm-react-diagrams";
import * as React from "react"; import * as React from "react";
import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget"; import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget";
import { action } from "@storybook/addon-actions"; import { action } from "@storybook/addon-actions";
import { DefaultLinkModel } from "../../src/defaults/models/DefaultLinkModel";
export default () => { export default () => {
// setup the diagram engine // setup the diagram engine

View File

@ -1,6 +1,12 @@
import * as SRD from "../../src/main";
import * as React from "react"; import * as React from "react";
import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, DiagramWidget } from "../../src/main"; import {
DiagramEngine,
DiagramModel,
DefaultNodeModel,
LinkModel,
DiagramWidget,
DiagramProps
} from "storm-react-diagrams";
/** /**
* Shows that a limit of points can be set for links * Shows that a limit of points can be set for links
@ -32,7 +38,7 @@ export default () => {
var props = { var props = {
diagramEngine: engine, diagramEngine: engine,
maxNumberPointsPerLink: 5 maxNumberPointsPerLink: 5
} as SRD.DiagramProps; } as DiagramProps;
return ( return (
<div> <div>

View File

@ -1,7 +1,13 @@
import * as SRD from "../../src/main";
import * as React from "react"; import * as React from "react";
import { action } from "@storybook/addon-actions"; import { action } from "@storybook/addon-actions";
import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, DiagramWidget } from "../../src/main"; import {
DiagramEngine,
DiagramModel,
DiagramProps,
DefaultNodeModel,
LinkModel,
DiagramWidget
} from "storm-react-diagrams";
/** /**
* Shows some of the events triggered when elements are selected * Shows some of the events triggered when elements are selected
@ -45,7 +51,7 @@ export default () => {
var props = { var props = {
diagramEngine: engine, diagramEngine: engine,
maxNumberPointsPerLink: 0 // no extra points so link selection is fired straight away maxNumberPointsPerLink: 0 // no extra points so link selection is fired straight away
} as SRD.DiagramProps; } as DiagramProps;
return ( return (
<div> <div>

View File

@ -1,6 +1,13 @@
import * as SRD from "../../src/main";
import * as React from "react"; import * as React from "react";
import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, PointModel, DiagramWidget } from "../../src/main"; import {
DiagramEngine,
DiagramModel,
DefaultNodeModel,
LinkModel,
PointModel,
DiagramWidget,
DiagramProps
} from "storm-react-diagrams";
/** /**
* *
@ -54,7 +61,7 @@ export default () => {
allowLooseLinks: false, allowLooseLinks: false,
allowCanvasTranslation: false, allowCanvasTranslation: false,
allowCanvasZoom: false allowCanvasZoom: false
} as SRD.DiagramProps; } as DiagramProps;
//!========================================= <<<<<<< //!========================================= <<<<<<<

View File

@ -1,4 +1,4 @@
import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, DiagramWidget } from "../../src/main"; import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, DiagramWidget } from "storm-react-diagrams";
import * as React from "react"; import * as React from "react";
import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget"; import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget";

View File

@ -1,4 +1,4 @@
import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, DiagramWidget } from "../../src/main"; import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, DiagramWidget } from "storm-react-diagrams";
import * as React from "react"; import * as React from "react";
/** /**

View File

@ -1,4 +1,4 @@
import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, DiagramWidget } from "../../src/main"; import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, DiagramWidget } from "storm-react-diagrams";
import * as React from "react"; import * as React from "react";
import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget"; import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget";
import { action } from "@storybook/addon-actions"; import { action } from "@storybook/addon-actions";

View File

@ -1,4 +1,4 @@
import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, DiagramWidget } from "../../src/main"; import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, DiagramWidget } from "storm-react-diagrams";
import * as React from "react"; import * as React from "react";
export default () => { export default () => {

View File

@ -1,6 +1,12 @@
import { DiagramEngine, DiagramModel, DefaultNodeModel, LinkModel, DiagramWidget } from "../../src/main"; import {
DiagramEngine,
DiagramModel,
DefaultNodeModel,
LinkModel,
DiagramWidget,
DefaultLinkModel
} from "storm-react-diagrams";
import * as React from "react"; import * as React from "react";
import { DefaultLinkModel } from "../../src/defaults/models/DefaultLinkModel";
export default () => { export default () => {
//1) setup the diagram engine //1) setup the diagram engine

View File

@ -5,7 +5,7 @@ import {
LinkModel, LinkModel,
DefaultPortModel, DefaultPortModel,
DiagramWidget DiagramWidget
} from "../../src/main"; } from "storm-react-diagrams";
import * as React from "react"; import * as React from "react";
import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget"; import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget";
import { action } from "@storybook/addon-actions"; import { action } from "@storybook/addon-actions";

View File

@ -5,7 +5,7 @@ import {
LinkModel, LinkModel,
DefaultPortModel, DefaultPortModel,
DiagramWidget DiagramWidget
} from "../../src/main"; } from "storm-react-diagrams";
import * as React from "react"; import * as React from "react";
import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget"; import { DemoWorkspaceWidget } from "../.helpers/DemoWorkspaceWidget";

View File

@ -1,3 +1,4 @@
const path = require("path");
// jest.config.js // jest.config.js
module.exports = { module.exports = {
verbose: true, verbose: true,
@ -10,11 +11,12 @@ module.exports = {
"node" "node"
], ],
transform: { transform: {
".*test_loader.*": __dirname+"/tests/helpers/storybook-loader.js", ".*test_loader.*": path.join(__dirname, "tests", "helpers", "storybook-loader.js" ),
"^.+\\.tsx?$": "ts-jest", "^.+\\.tsx?$": "ts-jest",
}, },
moduleNameMapper:{ moduleNameMapper:{
"\\.(scss|css|png)$": __dirname+"/tests/helpers/css-mock.js" "\\.(scss|css|png)$": path.join(__dirname,"tests","helpers","css-mock.js"),
"storm-react-diagrams": path.join(__dirname, "src", "main")
}, },
roots:[ roots:[
__dirname+'/tests' __dirname+'/tests'

View File

@ -1,6 +1,4 @@
import { ElementHandle, Page } from "puppeteer"; import { ElementHandle, Page } from "puppeteer";
import { NodeModel } from "../../src/models/NodeModel";
import { LinkModel } from "../../src/models/LinkModel";
import * as _ from "lodash"; import * as _ from "lodash";
export class E2EElement { export class E2EElement {

View File

@ -14,7 +14,7 @@ glob.glob(__dirname + "/../../demos/demo-*/index.tsx", {}, (err, files) => {
copy.push({to: path.basename(path.dirname(entryFile)), from: __dirname+"/index.html"}); copy.push({to: path.basename(path.dirname(entryFile)), from: __dirname+"/index.html"});
}); });
webpack({ config = {
entry: entry, entry: entry,
plugins: [ plugins: [
new CopyWebpackPlugin(copy) new CopyWebpackPlugin(copy)
@ -29,12 +29,21 @@ glob.glob(__dirname + "/../../demos/demo-*/index.tsx", {}, (err, files) => {
use: ['style-loader','css-loader', 'sass-loader'] use: ['style-loader','css-loader', 'sass-loader']
}].concat(config.module.rules) }].concat(config.module.rules)
}, },
resolve: config.resolve, resolve: {
}, (err, stats) => { ...config.resolve,
alias: {
'storm-react-diagrams': path.join(__dirname, "..", "..", "src", "main")
}
},
};
console.log(config);
webpack(config, (err, stats) => {
if (err || stats.hasErrors()) { if (err || stats.hasErrors()) {
// Handle errors here // Handle errors here
return; return;
} }
}); });
}); });

View File

@ -10,6 +10,10 @@
"sourceMap": true, "sourceMap": true,
"skipLibCheck": true, "skipLibCheck": true,
"jsx": "react", "jsx": "react",
"baseUrl": ".",
"paths": {
"storm-react-diagrams": ["src/main.ts"]
},
"lib": [ "lib": [
"dom", "dom",
"es2015" "es2015"

View File

@ -1,5 +1,6 @@
const webpack = require("webpack"); const webpack = require("webpack");
const UglifyJsPlugin = require('uglifyjs-webpack-plugin') const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
var path = require("path");
var plugins = []; var plugins = [];
const production = process.env.NODE_ENV === 'production'; const production = process.env.NODE_ENV === 'production';