type issue fixes

This commit is contained in:
Dylan Vorster
2019-07-29 23:34:36 +02:00
parent 61c6d4b161
commit 39d49c9ee0
8 changed files with 97 additions and 58 deletions

View File

@@ -67,12 +67,12 @@ export class BaseEntity<T extends BaseEntityGenerics = BaseEntityGenerics> exten
this.listeners = {};
}
deSerialize(data: { [s: string]: any }, engine: DiagramEngine) {
deSerialize(data: ReturnType<this['serialize']>, engine: DiagramEngine) {
this.options.id = data.id;
this.options.locked = data.locked;
}
serialize(): object {
serialize() {
return {
id: this.options.id,
locked: this.options.locked

View File

@@ -50,7 +50,7 @@ export class BaseModel<G extends BaseModelGenerics = BaseModelGenerics> extends
};
}
deSerialize(data: { [p: string]: any }, engine: DiagramEngine) {
deSerialize(data: ReturnType<this['serialize']>, engine: DiagramEngine) {
super.deSerialize(data, engine);
this.options.extras = data.extras;
this.options.selected = data.selected;

View File

@@ -18,7 +18,7 @@ export interface NodeModelGenerics extends BasePositionModelGenerics {
}
export class NodeModel<G extends NodeModelGenerics = NodeModelGenerics> extends BasePositionModel<G> {
ports: { [s: string]: PortModel };
protected ports: { [s: string]: PortModel };
// calculated post rendering so routing can be done correctly
width: number;
@@ -62,7 +62,7 @@ export class NodeModel<G extends NodeModelGenerics = NodeModelGenerics> extends
return entities;
}
deSerialize(ob, engine: DiagramEngine) {
deSerialize(ob: ReturnType<this['serialize']>, engine: DiagramEngine) {
super.deSerialize(ob, engine);
//deserialize ports
@@ -73,7 +73,7 @@ export class NodeModel<G extends NodeModelGenerics = NodeModelGenerics> extends
});
}
serialize(): any {
serialize() {
return {
...super.serialize(),
ports: _.map(this.ports, port => {

View File

@@ -13,6 +13,6 @@ export class JSCustomNodeFactory extends AbstractReactFactory {
}
generateReactWidget(event) {
return <JSCustomNodeWidget node={event.model} />;
return <JSCustomNodeWidget engine={this.engine} node={event.model} />;
}
}

View File

@@ -5,8 +5,8 @@ export class JSCustomNodeWidget extends React.Component {
render() {
return (
<div className="custom-node">
<PortWidget node={this.props.node} name="in" />
<PortWidget node={this.props.node} name="out" />
<PortWidget engine={this.props.engine} port={this.props.node.getPort('in')} />
<PortWidget engine={this.props.engine} port={this.props.node.getPort('out')} />
<div className="custom-node-color" style={{ backgroundColor: this.props.node.color }} />
</div>
);

View File

@@ -36,7 +36,10 @@ module.exports = {
},
{
test: /\.tsx?$/,
use: 'ts-loader'
loader: 'ts-loader',
options: {
transpileOnly: true
}
}
]
},

View File

@@ -58,11 +58,11 @@
"@types/mathjs": "^6.0.0",
"@types/node": "^12.6.8",
"@types/promise": "^7.1.30",
"@types/puppeteer": "^1.12.4",
"@types/puppeteer": "^1.19.0",
"@types/react": "^16.8.23",
"babel-loader": "^8.0.6",
"closest": "^0.0.1",
"copy-webpack-plugin": "^5.0.3",
"copy-webpack-plugin": "^5.0.4",
"cross-env": "^5.2.0",
"css-loader": "^3.1.0",
"dagre": "^0.8.4",
@@ -73,14 +73,14 @@
"jest-cli": "^24.8.0",
"jest-puppeteer": "^4.3.0",
"json-beautify": "^1.1.0",
"lerna": "^3.16.3",
"lerna": "^3.16.4",
"lodash": "4.*",
"mathjs": "^6.0.3",
"node-sass": "^4.12.0",
"pathfinding": "^0.4.18",
"paths-js": "^0.4.9",
"prettier": "^1.18.2",
"puppeteer": "^1.18.1",
"puppeteer": "^1.19.0",
"raf": "^3.4.1",
"raw-loader": "^3.1.0",
"react": "^16.8.6",
@@ -97,7 +97,7 @@
"ts-loader": "^6.0.4",
"typescript": "^3.5.3",
"val-loader": "^1.1.1",
"webpack": "^4.36.1",
"webpack": "^4.38.0",
"webpack-cli": "^3.3.6",
"webpack-dev-server": "^3.7.2",
"webpack-node-externals": "^1.7.2"

122
yarn.lock
View File

@@ -1371,16 +1371,16 @@
read-package-tree "^5.1.6"
semver "^6.2.0"
"@lerna/changed@3.16.2":
version "3.16.2"
resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-3.16.2.tgz#14e5250781201a430769d868c67933e4b96d30e7"
integrity sha512-CXr4R1s/IGsLy0xjVfgFtv4Hx8gUvIgmGteRuH2Ma9bl1yMcyy8zQd/e0M+dzL6tEhjo56ZTSs9hHiU2w/uwIg==
"@lerna/changed@3.16.4":
version "3.16.4"
resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-3.16.4.tgz#c3e727d01453513140eee32c94b695de577dc955"
integrity sha512-NCD7XkK744T23iW0wqKEgF4R9MYmReUbyHCZKopFnsNpQdqumc3SOIvQUAkKCP6hQJmYvxvOieoVgy/CVDpZ5g==
dependencies:
"@lerna/collect-updates" "3.16.0"
"@lerna/command" "3.16.0"
"@lerna/listable" "3.16.0"
"@lerna/output" "3.13.0"
"@lerna/version" "3.16.2"
"@lerna/version" "3.16.4"
"@lerna/check-working-tree@3.14.2":
version "3.14.2"
@@ -1461,10 +1461,10 @@
lodash "^4.17.14"
npmlog "^4.1.2"
"@lerna/conventional-commits@3.16.0":
version "3.16.0"
resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-3.16.0.tgz#141a4e584d8765542e77fafe9a7448c6e48db196"
integrity sha512-zdvhU+aI7galRyLBFDhvC8T7NbGORJiZbIw/Qgp/TzkSaJfOAE3R7J8J1OZKDgxvhOoVhzMphNycaV3DiUlERQ==
"@lerna/conventional-commits@3.16.4":
version "3.16.4"
resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-3.16.4.tgz#bf464f11b2f6534dad204db00430e1651b346a04"
integrity sha512-QSZJ0bC9n6FVaf+7KDIq5zMv8WnHXnwhyL5jG1Nyh3SgOg9q2uflqh7YsYB+G6FwaRfnPaKosh6obijpYg0llA==
dependencies:
"@lerna/validation-error" "3.13.0"
conventional-changelog-angular "^5.0.3"
@@ -1744,10 +1744,10 @@
dependencies:
npmlog "^4.1.2"
"@lerna/pack-directory@3.16.2":
version "3.16.2"
resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-3.16.2.tgz#de41b544c29d67f189a5902a2965dd8c8c3e64d9"
integrity sha512-aM8MQnkhRUW81s/UBEUKA+qRfSdf9TcJzTY9Wjrd94UxzULn1BQ+Y3F8cysTR0TS/ILLyiteIllxlVSByWHD2w==
"@lerna/pack-directory@3.16.4":
version "3.16.4"
resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-3.16.4.tgz#3eae5f91bdf5acfe0384510ed53faddc4c074693"
integrity sha512-uxSF0HZeGyKaaVHz5FroDY9A5NDDiCibrbYR6+khmrhZtY0Bgn6hWq8Gswl9iIlymA+VzCbshWIMX4o2O8C8ng==
dependencies:
"@lerna/get-packed" "3.16.0"
"@lerna/package" "3.16.0"
@@ -1811,10 +1811,10 @@
inquirer "^6.2.0"
npmlog "^4.1.2"
"@lerna/publish@3.16.3":
version "3.16.3"
resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-3.16.3.tgz#35f199e82cc08931f352ead6b3269d72389e0e48"
integrity sha512-FflnKuWG2usrnhfTY4pBg1e99ITCw4RgWCGtySvRT+BlSI6tzhImqfa4TpQsVpIXn88xyYzo9dvND1G73aRI9w==
"@lerna/publish@3.16.4":
version "3.16.4"
resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-3.16.4.tgz#4cd55d8be9943d9a68e316e930a90cda8590500e"
integrity sha512-XZY+gRuF7/v6PDQwl7lvZaGWs8CnX6WIPIu+OCcyFPSL/rdWegdN7HieKBHskgX798qRQc2GrveaY7bNoTKXAw==
dependencies:
"@evocateur/libnpmaccess" "^3.1.2"
"@evocateur/npm-registry-fetch" "^4.0.0"
@@ -1830,14 +1830,14 @@
"@lerna/npm-publish" "3.16.2"
"@lerna/otplease" "3.16.0"
"@lerna/output" "3.13.0"
"@lerna/pack-directory" "3.16.2"
"@lerna/pack-directory" "3.16.4"
"@lerna/prerelease-id-from-version" "3.16.0"
"@lerna/prompt" "3.13.0"
"@lerna/pulse-till-done" "3.13.0"
"@lerna/run-lifecycle" "3.16.2"
"@lerna/run-topologically" "3.16.0"
"@lerna/validation-error" "3.13.0"
"@lerna/version" "3.16.2"
"@lerna/version" "3.16.4"
figgy-pudding "^3.5.1"
fs-extra "^8.1.0"
npm-package-arg "^6.1.0"
@@ -1957,16 +1957,16 @@
dependencies:
npmlog "^4.1.2"
"@lerna/version@3.16.2":
version "3.16.2"
resolved "https://registry.yarnpkg.com/@lerna/version/-/version-3.16.2.tgz#1ce6232109cdd3070b9196a6cacf9ef02b807898"
integrity sha512-Gd4ajnhYkpIpHfuzRbcqfdiMLgOTnZfKsJDIdWsMJDoerhHFtNkhVSyaw4rQd2AIO4dCi63QxuGM9fUTFk0VKw==
"@lerna/version@3.16.4":
version "3.16.4"
resolved "https://registry.yarnpkg.com/@lerna/version/-/version-3.16.4.tgz#b5cc37f3ad98358d599c6196c30b6efc396d42bf"
integrity sha512-ikhbMeIn5ljCtWTlHDzO4YvTmpGTX1lWFFIZ79Vd1TNyOr+OUuKLo/+p06mCl2WEdZu0W2s5E9oxfAAQbyDxEg==
dependencies:
"@lerna/check-working-tree" "3.14.2"
"@lerna/child-process" "3.14.2"
"@lerna/collect-updates" "3.16.0"
"@lerna/command" "3.16.0"
"@lerna/conventional-commits" "3.16.0"
"@lerna/conventional-commits" "3.16.4"
"@lerna/github-client" "3.16.0"
"@lerna/gitlab-client" "3.15.0"
"@lerna/output" "3.13.0"
@@ -2629,13 +2629,20 @@
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6"
integrity sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg==
"@types/puppeteer@*", "@types/puppeteer@^1.12.4":
"@types/puppeteer@*":
version "1.12.4"
resolved "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-1.12.4.tgz#8388efdb0b30a54a7e7c4831ca0d709191d77ff1"
integrity sha512-aaGbJaJ9TuF9vZfTeoh876sBa+rYJWPwtsmHmYr28pGr42ewJnkDTq2aeSKEmS39SqUdkwLj73y/d7rBSp7mDQ==
dependencies:
"@types/node" "*"
"@types/puppeteer@^1.19.0":
version "1.19.0"
resolved "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-1.19.0.tgz#59f0050bae019cee7c3af2bb840a25892a3078b6"
integrity sha512-Db9LWOuTm2bR/qgPE7PQCmnsCQ6flHdULuIDWTks8YdQ/SGHKg5WGWG54gl0734NDKCTF5MbqAp2qWuvBiyQ3Q==
dependencies:
"@types/node" "*"
"@types/q@^1.5.1":
version "1.5.2"
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8"
@@ -3974,7 +3981,7 @@ bytes@3.1.0:
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
cacache@^11.3.2:
cacache@^11.3.2, cacache@^11.3.3:
version "11.3.3"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc"
integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==
@@ -4687,12 +4694,12 @@ copy-to-clipboard@^3.0.8:
dependencies:
toggle-selection "^1.0.6"
copy-webpack-plugin@^5.0.3:
version "5.0.3"
resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.3.tgz#2179e3c8fd69f13afe74da338896f1f01a875b5c"
integrity sha512-PlZRs9CUMnAVylZq+vg2Juew662jWtwOXOqH4lbQD9ZFhRG9R7tVStOgHt21CBGVq7k5yIJaz8TXDLSjV+Lj8Q==
copy-webpack-plugin@^5.0.4:
version "5.0.4"
resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.4.tgz#c78126f604e24f194c6ec2f43a64e232b5d43655"
integrity sha512-YBuYGpSzoCHSSDGyHy6VJ7SHojKp6WHT4D7ItcQFNAYx2hrwkMe56e97xfVR0/ovDuMTrMffXUiltvQljtAGeg==
dependencies:
cacache "^11.3.2"
cacache "^11.3.3"
find-cache-dir "^2.1.0"
glob-parent "^3.1.0"
globby "^7.1.1"
@@ -8435,14 +8442,14 @@ left-pad@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.2.0.tgz#d30a73c6b8201d8f7d8e7956ba9616087a68e0ee"
lerna@^3.16.3:
version "3.16.3"
resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.16.3.tgz#c786951ea1e0567fa6b89988ff6283b6f8bf359f"
integrity sha512-ThrDjDsLAdEzn5tpD+eLdRL+zGU+A/j6IyIJXLtFA1TOnprm1+3bs2eTrNDFRQ46sFrOF0bWgOHbGN0OtTzxcA==
lerna@^3.16.4:
version "3.16.4"
resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.16.4.tgz#158cb4f478b680f46f871d5891f531f3a2cb31ec"
integrity sha512-0HfwXIkqe72lBLZcNO9NMRfylh5Ng1l8tETgYQ260ZdHRbPuaLKE3Wqnd2YYRRkWfwPyEyZO8mZweBR+slVe1A==
dependencies:
"@lerna/add" "3.16.2"
"@lerna/bootstrap" "3.16.2"
"@lerna/changed" "3.16.2"
"@lerna/changed" "3.16.4"
"@lerna/clean" "3.16.0"
"@lerna/cli" "3.13.0"
"@lerna/create" "3.16.0"
@@ -8452,9 +8459,9 @@ lerna@^3.16.3:
"@lerna/init" "3.16.0"
"@lerna/link" "3.16.2"
"@lerna/list" "3.16.0"
"@lerna/publish" "3.16.3"
"@lerna/publish" "3.16.4"
"@lerna/run" "3.16.0"
"@lerna/version" "3.16.2"
"@lerna/version" "3.16.4"
import-local "^2.0.0"
npmlog "^4.1.2"
@@ -10637,10 +10644,10 @@ punycode@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d"
puppeteer@^1.18.1:
version "1.18.1"
resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.18.1.tgz#4a66f3bdab01115ededf70443ec904c99917a815"
integrity sha512-luUy0HPSuWPsPZ1wAp6NinE0zgetWtudf5zwZ6dHjMWfYpTQcmKveFRox7VBNhQ98OjNA9PQ9PzQyX8k/KrxTg==
puppeteer@^1.19.0:
version "1.19.0"
resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.19.0.tgz#e3b7b448c2c97933517078d7a2c53687361bebea"
integrity sha512-2S6E6ygpoqcECaagDbBopoSOPDv0pAZvTbnBgUY+6hq0/XDFDOLEMNlHF/SKJlzcaZ9ckiKjKDuueWI3FN/WXw==
dependencies:
debug "^4.1.0"
extract-zip "^1.6.6"
@@ -13408,7 +13415,7 @@ webpack-sources@^1.3.0:
source-list-map "^2.0.0"
source-map "~0.6.1"
webpack@^4.33.0, webpack@^4.36.1:
webpack@^4.33.0:
version "4.36.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.36.1.tgz#f546fda7a403a76faeaaa7196c50d12370ed18a9"
integrity sha512-Ej01/N9W8DVyhEpeQnbUdGvOECw0L46FxS12cCOs8gSK7bhUlrbHRnWkjiXckGlHjUrmL89kDpTRIkUk6Y+fKg==
@@ -13437,6 +13444,35 @@ webpack@^4.33.0, webpack@^4.36.1:
watchpack "^1.5.0"
webpack-sources "^1.3.0"
webpack@^4.38.0:
version "4.38.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.38.0.tgz#6d77108404b08883c78f4e7e45a43c4e5c47c931"
integrity sha512-lbuFsVOq8PZY+1Ytz/mYOvYOo+d4IJ31hHk/7iyoeWtwN33V+5HYotSH+UIb9tq914ey0Hot7z6HugD+je3sWw==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-module-context" "1.8.5"
"@webassemblyjs/wasm-edit" "1.8.5"
"@webassemblyjs/wasm-parser" "1.8.5"
acorn "^6.2.0"
ajv "^6.1.0"
ajv-keywords "^3.1.0"
chrome-trace-event "^1.0.0"
enhanced-resolve "^4.1.0"
eslint-scope "^4.0.0"
json-parse-better-errors "^1.0.2"
loader-runner "^2.3.0"
loader-utils "^1.1.0"
memory-fs "~0.4.1"
micromatch "^3.1.8"
mkdirp "~0.5.0"
neo-async "^2.5.0"
node-libs-browser "^2.0.0"
schema-utils "^1.0.0"
tapable "^1.1.0"
terser-webpack-plugin "^1.1.0"
watchpack "^1.5.0"
webpack-sources "^1.3.0"
websocket-driver@>=0.5.1:
version "0.7.0"
resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb"