Коммит
76f7e80ce1
|
@ -524,12 +524,6 @@
|
|||
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
||||
"dev": true
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
},
|
||||
"require-main-filename": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
|
||||
|
@ -2773,12 +2767,6 @@
|
|||
"emojis-list": "^3.0.0",
|
||||
"json5": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -3050,11 +3038,11 @@
|
|||
"integrity": "sha512-Jui+Zn28pQw/3EayPKaN4c/PqTvqNbIPjHkgIIFnxne1FdwNjfHtAIsZIBMKlquQNrrMjFzCrlF2gPs3xckqaA=="
|
||||
},
|
||||
"@types/d3-sankey": {
|
||||
"version": "0.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/d3-sankey/-/d3-sankey-0.11.0.tgz",
|
||||
"integrity": "sha512-qRSxb23bebIudr4+ewdkG6T+vlvBdzWMjB4X915LD4bplq8FxrGTakCZ0OolSZKJjym8WrnIeHRVuoPOw+Nq+g==",
|
||||
"version": "0.11.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/d3-sankey/-/d3-sankey-0.11.2.tgz",
|
||||
"integrity": "sha512-U6SrTWUERSlOhnpSrgvMX64WblX1AxX6nEjI2t3mLK2USpQrnbwYYK+AS9SwiE7wgYmOsSSKoSdr8aoKBH0HgQ==",
|
||||
"requires": {
|
||||
"@types/d3-shape": "*"
|
||||
"@types/d3-shape": "^1"
|
||||
}
|
||||
},
|
||||
"@types/d3-scale": {
|
||||
|
@ -3085,11 +3073,11 @@
|
|||
}
|
||||
},
|
||||
"@types/d3-shape": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-1.3.2.tgz",
|
||||
"integrity": "sha512-LtD8EaNYCaBRzHzaAiIPrfcL3DdIysc81dkGlQvv7WQP3+YXV7b0JJTtR1U3bzeRieS603KF4wUo+ZkJVenh8w==",
|
||||
"version": "1.3.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-1.3.8.tgz",
|
||||
"integrity": "sha512-gqfnMz6Fd5H6GOLYixOZP/xlrMtJms9BaS+6oWxTKHNqPGZ93BkWWupQSCYm6YHqx6h9wjRupuJb90bun6ZaYg==",
|
||||
"requires": {
|
||||
"@types/d3-path": "*"
|
||||
"@types/d3-path": "^1"
|
||||
}
|
||||
},
|
||||
"@types/d3-time": {
|
||||
|
@ -3179,9 +3167,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "12.12.27",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.27.tgz",
|
||||
"integrity": "sha512-odQFl/+B9idbdS0e8IxDl2ia/LP8KZLXhV3BUeI98TrZp0uoIzQPhGd+5EtzHmT0SMOIaPd7jfz6pOHLWTtl7A==",
|
||||
"version": "17.0.21",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz",
|
||||
"integrity": "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/q": {
|
||||
|
@ -3514,25 +3502,18 @@
|
|||
"dev": true
|
||||
},
|
||||
"angular-tree-component": {
|
||||
"version": "8.5.2",
|
||||
"resolved": "https://registry.npmjs.org/angular-tree-component/-/angular-tree-component-8.5.2.tgz",
|
||||
"integrity": "sha512-3NwMB+vLq1+WHz2UVgsZA73E1LmIIWJlrrasCKXbLJ3S7NmY9O/wKcolji3Vp2W//5KQ33RXu1jiPXCOQdRzVA==",
|
||||
"version": "8.5.6",
|
||||
"resolved": "https://registry.npmjs.org/angular-tree-component/-/angular-tree-component-8.5.6.tgz",
|
||||
"integrity": "sha512-cxNem6872diZz9kIGqrjSJbKt0P3WSq9wTqZIeVJ8zsddI4Y6ShAVZlZNXUMRyJq246c9pJ6JJEAOzKVLk9xgA==",
|
||||
"requires": {
|
||||
"lodash": "^4.17.11",
|
||||
"mobx": "^5.14.2",
|
||||
"mobx-angular": "3.0.3",
|
||||
"opencollective-postinstall": "^2.0.2"
|
||||
"mobx": "^4.15.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"mobx": {
|
||||
"version": "5.15.4",
|
||||
"resolved": "https://registry.npmjs.org/mobx/-/mobx-5.15.4.tgz",
|
||||
"integrity": "sha512-xRFJxSU2Im3nrGCdjSuOTFmxVDGeqOHL+TyADCGbT0k4HHqGmx5u2yaHNryvoORpI4DfbzjJ5jPmuv+d7sioFw=="
|
||||
},
|
||||
"mobx-angular": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/mobx-angular/-/mobx-angular-3.0.3.tgz",
|
||||
"integrity": "sha512-mZuuose70V+Sd0hMWDElpRe3mA6GhYjSQN3mHzqk2XWXRJ+eWQa/f3Lqhw+Me/Xd2etWsGR1hnRa1BfQ2ZDtpw=="
|
||||
"version": "4.15.7",
|
||||
"resolved": "https://registry.npmjs.org/mobx/-/mobx-4.15.7.tgz",
|
||||
"integrity": "sha512-X4uQvuf2zYKHVO5kRT5Utmr+J9fDnRgxWWnSqJ4oiccPTQU38YG+/O3nPmOhUy4jeHexl7XJJpWDBgEnEfp+8w=="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -3950,12 +3931,6 @@
|
|||
"emojis-list": "^3.0.0",
|
||||
"json5": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -4105,14 +4080,6 @@
|
|||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"bluebird": {
|
||||
|
@ -5176,12 +5143,6 @@
|
|||
"json5": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
},
|
||||
"schema-utils": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
|
||||
|
@ -5432,12 +5393,6 @@
|
|||
"emojis-list": "^3.0.0",
|
||||
"json5": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -7643,9 +7598,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"fuse.js": {
|
||||
"version": "3.4.6",
|
||||
"resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.4.6.tgz",
|
||||
"integrity": "sha512-H6aJY4UpLFwxj1+5nAvufom5b2BT2v45P1MkPvdGIK8fWjQx/7o6tTT1+ALV0yawQvbmvCF0ufl2et8eJ7v7Cg=="
|
||||
"version": "6.5.3",
|
||||
"resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.5.3.tgz",
|
||||
"integrity": "sha512-sA5etGE7yD/pOqivZRBvUBd/NaL2sjAu6QuSaFoe1H2BrJSkH/T/UXAJ8CdXdw7DvY3Hs8CXKYkDWX7RiP5KOg=="
|
||||
},
|
||||
"genfun": {
|
||||
"version": "5.0.0",
|
||||
|
@ -8940,14 +8895,6 @@
|
|||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"jsonfile": {
|
||||
|
@ -9263,12 +9210,20 @@
|
|||
}
|
||||
},
|
||||
"karma-jasmine": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-2.0.1.tgz",
|
||||
"integrity": "sha512-iuC0hmr9b+SNn1DaUD2QEYtUxkS1J+bSJSn7ejdEexs7P8EYvA1CWkEdrDQ+8jVH3AgWlCNwjYsT1chjcNW9lA==",
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.2.tgz",
|
||||
"integrity": "sha512-ggi84RMNQffSDmWSyyt4zxzh2CQGwsxvYYsprgyR1j8ikzIduEdOlcLvXjZGwXG/0j41KUXOWsUCBfbEHPWP9g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"jasmine-core": "^3.3"
|
||||
"jasmine-core": "^3.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"jasmine-core": {
|
||||
"version": "3.99.1",
|
||||
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.99.1.tgz",
|
||||
"integrity": "sha512-Hu1dmuoGcZ7AfyynN3LsfruwMbxMALMka+YtZeGoLuDEySVmVAPaonkNoBRIw/ectu8b9tVQCJNgp4a4knp+tg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"karma-jasmine-html-reporter": {
|
||||
|
@ -9388,12 +9343,6 @@
|
|||
"emojis-list": "^3.0.0",
|
||||
"json5": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -10008,12 +9957,6 @@
|
|||
"json5": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
},
|
||||
"normalize-url": {
|
||||
"version": "1.9.1",
|
||||
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
|
||||
|
@ -10059,6 +10002,11 @@
|
|||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.6",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
|
||||
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
|
||||
},
|
||||
"minipass": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
|
||||
|
@ -10167,13 +10115,6 @@
|
|||
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
|
||||
"requires": {
|
||||
"minimist": "^1.2.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"mobx": {
|
||||
|
@ -10182,9 +10123,9 @@
|
|||
"integrity": "sha1-5KlnnNr74hWyDjLvk6cDGEWz8a8="
|
||||
},
|
||||
"mobx-angular": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/mobx-angular/-/mobx-angular-2.2.0.tgz",
|
||||
"integrity": "sha512-wQdRuKFWpjWSxUWon1dSBRw5VnuIkAGI3hBx1IgKxuMgQWUb08Et6h55utdgRmAua+xhaUUTD8dKuki1ezf/yA=="
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/mobx-angular/-/mobx-angular-3.1.1.tgz",
|
||||
"integrity": "sha512-qP7pYjEG6OZox0ZSSbFvXgFo0mSV1KnrFcwkgd6+0e4CKkcHERMR00knEiiF61HuebFG/R1JfVUEzwPhigLucA=="
|
||||
},
|
||||
"moment": {
|
||||
"version": "2.29.1",
|
||||
|
@ -10726,11 +10667,6 @@
|
|||
"is-wsl": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"opencollective-postinstall": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz",
|
||||
"integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw=="
|
||||
},
|
||||
"opn": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
|
||||
|
@ -11392,12 +11328,6 @@
|
|||
"json5": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
},
|
||||
"schema-utils": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
|
||||
|
@ -11931,7 +11861,8 @@
|
|||
},
|
||||
"ansi-regex": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
|
||||
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-styles": {
|
||||
|
@ -12061,12 +11992,6 @@
|
|||
"p-locate": "^4.1.0"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
},
|
||||
"p-locate": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
|
||||
|
@ -12436,12 +12361,6 @@
|
|||
"emojis-list": "^3.0.0",
|
||||
"json5": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -12863,12 +12782,6 @@
|
|||
"emojis-list": "^3.0.0",
|
||||
"json5": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -13544,12 +13457,6 @@
|
|||
"emojis-list": "^3.0.0",
|
||||
"json5": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -13972,12 +13879,6 @@
|
|||
"emojis-list": "^3.0.0",
|
||||
"json5": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -14068,12 +13969,6 @@
|
|||
"emojis-list": "^3.0.0",
|
||||
"json5": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -15246,12 +15141,6 @@
|
|||
"readable-stream": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.7",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
|
||||
|
@ -15717,12 +15606,6 @@
|
|||
"emojis-list": "^3.0.0",
|
||||
"json5": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
14
package.json
14
package.json
|
@ -7,7 +7,7 @@
|
|||
"lint": "tslint ./src/**/*.ts -t verbose",
|
||||
"start": "npm run import && ng serve",
|
||||
"test": "ng test",
|
||||
"build": "npm run import && ng build --prod=true",
|
||||
"build": "npm run import && ng build --prod=true --outputPath=docs",
|
||||
"e2e": "ng e2e",
|
||||
"ng": "ng",
|
||||
"import": "node utils/importer.js",
|
||||
|
@ -29,8 +29,8 @@
|
|||
"@angular/platform-browser": "~9.0.0",
|
||||
"@angular/platform-browser-dynamic": "~9.0.0",
|
||||
"@angular/router": "~9.0.0",
|
||||
"@types/d3-sankey": "^0.11.0",
|
||||
"angular-tree-component": "^8.3.0",
|
||||
"@types/d3-sankey": "^0.11.2",
|
||||
"angular-tree-component": "^8.5.6",
|
||||
"color-convert": "^2.0.0",
|
||||
"core-js": "^2.5.4",
|
||||
"d3": "^5.9.2",
|
||||
|
@ -38,10 +38,10 @@
|
|||
"d3-sankey": "^0.12.1",
|
||||
"d3-selection-multi": "^1.0.1",
|
||||
"exceljs": "^1.11.0",
|
||||
"fuse.js": "^3.4.5",
|
||||
"fuse.js": "^6.5.3",
|
||||
"mammoth": "^1.4.19",
|
||||
"mobx": "4.1.0",
|
||||
"mobx-angular": "^2.1.1",
|
||||
"mobx-angular": "^3.1.1",
|
||||
"moment": "^2.29.1",
|
||||
"ngx-cookie-service": "^2.3.0",
|
||||
"rxjs": "~6.5.4",
|
||||
|
@ -54,14 +54,14 @@
|
|||
"@angular/language-service": "~9.0.0",
|
||||
"@types/jasmine": "~3.5.0",
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"@types/node": "^12.11.1",
|
||||
"@types/node": "^17.0.21",
|
||||
"codelyzer": "^5.1.2",
|
||||
"jasmine-core": "~3.5.0",
|
||||
"jasmine-spec-reporter": "~4.2.1",
|
||||
"karma": "^6.3.16",
|
||||
"karma-chrome-launcher": "~3.1.0",
|
||||
"karma-coverage-istanbul-reporter": "~2.1.0",
|
||||
"karma-jasmine": "~2.0.1",
|
||||
"karma-jasmine": "~4.0.2",
|
||||
"karma-jasmine-html-reporter": "^1.4.2",
|
||||
"lodash": "^4.17.21",
|
||||
"protractor": "^7.0.0",
|
||||
|
|
|
@ -9,6 +9,7 @@ export class GraphFilter {
|
|||
static Unmapped = 3;
|
||||
static ChildrenUnmapped = 4;
|
||||
static Filtered = 5;
|
||||
static NoConnections = 6; // No connections visible, different than unmapped.
|
||||
|
||||
static visualTraits = [
|
||||
{ color: 'unset', icon: '', alt: '' },
|
||||
|
@ -17,6 +18,7 @@ export class GraphFilter {
|
|||
{ color: '#ff6969', icon: 'error', alt: 'This node is not mapped.' },
|
||||
{ color: '#ffc0cb', icon: 'warning', alt: 'This node has children that are not mapped.' },
|
||||
{ color: '#ffff00', icon: 'done', alt: 'This node is selected in the filter.' },
|
||||
{ color: '#f18f01', icon: 'error', alt: 'This node has no connections based on the active filter.' },
|
||||
];
|
||||
|
||||
public static runFilter(tab: GraphTab) {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<mat-toolbar-row>
|
||||
<span>{{title}}</span>
|
||||
<span class="example-spacer"></span>
|
||||
<button mat-button (click)="sidenav.toggle()"><mat-icon>menu</mat-icon><span class="visuallyhidden">Open/Close Menu</span></button>
|
||||
<button mat-button (click)="sidenav.toggle()" class="dontprint"><mat-icon>menu</mat-icon><span class="visuallyhidden">Open/Close Menu</span></button>
|
||||
</mat-toolbar-row>
|
||||
</mat-toolbar>
|
||||
<mat-sidenav-container hasBackdrop="true">
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</div>-->
|
||||
<div fxLayout="column" fxFlexFill>
|
||||
<div fxLayout="row" fxLayoutGap="32px" fxLayoutAlign="flex-start" class="container">
|
||||
<div fxFlex="0 0 300px" [class.hide-filter]="hideFilter">
|
||||
<div fxFlex="0 0 300px" [class.hide-filter]="hideFilter" class="dontprint">
|
||||
<mat-card class="graph-categories">
|
||||
<div class="title-container">
|
||||
<mat-card-title class="filter-title">Filter</mat-card-title>
|
||||
|
@ -75,8 +75,8 @@
|
|||
[class.node-content-wrapper-active]="node.isActive"
|
||||
[class.node-content-wrapper-focused]="node.isFocused"
|
||||
(click)="node.mouseAction('click', $event)"
|
||||
[style.background-color]="node|getNodeColor:t.column" id="{{t.id + '.lbl.' + node.data.node.id}}" >
|
||||
<div class="node-content-icon"><mat-icon class="node-content-icon" aria-hidden="false" title="{{node|getNodeIconAlt:t.column}}" attr.aria-label="{{node|getNodeIconAlt:t.column}}">{{node|getNodeIcon:t.column}}</mat-icon></div>
|
||||
[style.background-color]="t.displayLinks|getNodeColor:t:node" id="{{t.id + '.lbl.' + node.data.node.id}}" >
|
||||
<div class="node-content-icon"><mat-icon class="node-content-icon" aria-hidden="false" title="{{node|getNodeIconAlt:t}}" attr.aria-label="{{node|getNodeIconAlt:t}}">{{t.displayLinks|getNodeIcon:t:node}}</mat-icon></div>
|
||||
<span [lang]="t.viewSettings.selectedLang">
|
||||
<span *ngIf="!node.data.node.hyperlink" [innerHTML]="t.viewSettings|injectHighlightSection:node.data"></span>
|
||||
<a *ngIf="node.data.node.hyperlink" (mousedown)="openTab(node.data.node.hyperlink)" class="fake-link" target="_blank" href="{{node.data.node.hyperlink}}" [innerHTML]="t.viewSettings|injectHighlightSection:node.data"></a>
|
||||
|
@ -94,7 +94,7 @@
|
|||
</div>
|
||||
<div class="graph-columns" margin-right="0px">
|
||||
<mat-card class="fill-graph">
|
||||
<div class="settings-row">
|
||||
<div class="settings-row dontprint">
|
||||
<div class="settings-row" fxFlex="1 0 auto" fxLayout="row" fxFlexFill>
|
||||
<span class="example-spacer"></span>
|
||||
<div class="setting">
|
||||
|
@ -139,9 +139,9 @@
|
|||
[class.node-content-wrapper-active]="node.isActive"
|
||||
[class.node-content-wrapper-focused]="node.isFocused"
|
||||
(click)="node.mouseAction('click', $event)"
|
||||
[style.background-color]="node|getNodeColor:t.column"
|
||||
[style.background-color]="t.column.displayLinks|getNodeColor:t.column:node"
|
||||
[attr.aria-expanded]="node.visibleChildren.length ? (node.isExpanded?'true':'false') : null">
|
||||
<div class="node-content-icon"><mat-icon aria-hidden="false" title="{{node|getNodeIconAlt:t.column}}" attr.aria-label="{{node|getNodeIconAlt:t.column}}">{{node|getNodeIcon:t.column}}</mat-icon></div>
|
||||
<div class="node-content-icon"><mat-icon aria-hidden="false" title="{{node|getNodeIconAlt:t.column}}" attr.aria-label="{{node|getNodeIconAlt:t.column}}">{{t.column.displayLinks|getNodeIcon:t.column:node}}</mat-icon></div>
|
||||
<span [lang]="t.viewSettings.selectedLang">
|
||||
<span *ngIf="!node.data.node.hyperlink">{{node|getSection:t.viewSettings}}</span>
|
||||
<a *ngIf="node.data.node.hyperlink" (mousedown)="openTab(node.data.node.hyperlink)" class="fake-link" target="_blank" href="{{node.data.node.hyperlink}}">{{node|getSection:t.viewSettings}}</a>
|
||||
|
@ -195,7 +195,7 @@
|
|||
</div>
|
||||
</mat-card>
|
||||
</div>
|
||||
<button mat-button class="filter-pin" [class.filter-hidden]="hideFilter" (click)="toggleShowFilter()"><mat-icon>push_pin</mat-icon><span class="visuallyhidden">Open/Close Filter</span></button>
|
||||
<button mat-button class="filter-pin dontprint" [class.filter-hidden]="hideFilter" (click)="toggleShowFilter()"><mat-icon>push_pin</mat-icon><span class="visuallyhidden">Open/Close Filter</span></button>
|
||||
<button mat-button class="error-icon" [class.error-hidden]="!graphService.anyErrors" (click)="dialogService.openDialog('errors')"><mat-icon>error</mat-icon><span class="visuallyhidden">Show Errors</span></button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -22,6 +22,14 @@ function getNodeStatus(tab: GraphTab, node: TreeNode)
|
|||
// if we're a tree in the right side view, highlight active nodes
|
||||
var status = GraphFilter.None;
|
||||
|
||||
if (tab.isAll && !tab.column) {
|
||||
// We're on the right side all tab, We want dynamic connection coloring.
|
||||
// Show red if there are no visible connections. This is different than how we
|
||||
// normally show red if there are missing ISO connections.
|
||||
var any = tab.displayLinks.filter(v => v.fromNode.id.startsWith(node.id)).length;
|
||||
return any ? GraphFilter.None : GraphFilter.NoConnections;
|
||||
}
|
||||
|
||||
if (tab.parent && node.data.filterColor)
|
||||
{
|
||||
if (!tab.isIso && node.data.isUnmapped)
|
||||
|
@ -50,11 +58,7 @@ function getNodeStatus(tab: GraphTab, node: TreeNode)
|
|||
}
|
||||
|
||||
function getNodeColor(tab: GraphTab, node: TreeNode)
|
||||
{
|
||||
var coloringOnAllTab = true; // at one point it was desired to turn this off.
|
||||
if (!coloringOnAllTab && tab.isAll)
|
||||
return "unset"; // skip coloring on ALL tab
|
||||
|
||||
{
|
||||
var color = GraphFilter.visualTraits[getNodeStatus(tab, node)].color;
|
||||
|
||||
// if we're a tree in the right side view
|
||||
|
@ -83,26 +87,40 @@ function getNodeIconAlt(tab: GraphTab, node: TreeNode)
|
|||
return alt;
|
||||
}
|
||||
|
||||
/*
|
||||
* These pipes are "pure". They're only calculated once and the value is cached.
|
||||
* The value is recalculated when the first parameter changes.
|
||||
* We use the 'displayLinks' as the cache key so that when the display links change
|
||||
* (in response to a filter or expansion operation), then we recalculate these pipes.
|
||||
*
|
||||
* The displayLinks cache key is unused in the actual computation of the pipe.
|
||||
*/
|
||||
@Pipe({ name: 'getNodeColor' })
|
||||
export class getNodeColorPipe implements PipeTransform {
|
||||
constructor() {
|
||||
}
|
||||
|
||||
transform(node: TreeNode, tab: GraphTab): string {
|
||||
transform(displayLinks: any, tab: GraphTab, node: TreeNode): string {
|
||||
return getNodeColor(tab, node);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Same comment as above.
|
||||
*/
|
||||
@Pipe({ name: 'getNodeIcon' })
|
||||
export class getNodeIconPipe implements PipeTransform {
|
||||
constructor() {
|
||||
}
|
||||
|
||||
transform(node: TreeNode, tab: GraphTab): string {
|
||||
|
||||
transform(displayLinks: any, tab: GraphTab, node: TreeNode): string {
|
||||
return getNodeIcon(tab, node);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Same comment as above.
|
||||
*/
|
||||
@Pipe({ name: 'getNodeIconAlt' })
|
||||
export class getNodeIconAltPipe implements PipeTransform {
|
||||
constructor() {
|
||||
|
|
|
@ -26,3 +26,60 @@ body {
|
|||
position: absolute;
|
||||
width: 1px;
|
||||
}
|
||||
|
||||
/*
|
||||
Custom print style overrides.
|
||||
In Chrome, you must use "Save as PDF" on the print dialog, not "Microsoft Print as PDF".
|
||||
Microsoft Print as PDF has known issues https://stackoverflow.com/a/66017274
|
||||
*/
|
||||
@media print {
|
||||
|
||||
/* put this class on stuff that should not be printed */
|
||||
.dontprint {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
body {
|
||||
zoom: 60%; /* zoom to fit 3 columns across 1 page */
|
||||
-webkit-print-color-adjust: exact; /* this is needed to reproduce background/font colors in the pdf */
|
||||
}
|
||||
|
||||
/* disable all the vertical overflow/height locking from the graph */
|
||||
.zoom-viewport {
|
||||
height: unset !important;
|
||||
}
|
||||
|
||||
.scroll-parent {
|
||||
overflow-x: unset !important;
|
||||
height: unset !important;
|
||||
}
|
||||
|
||||
.mat-drawer-content {
|
||||
position: unset !important;
|
||||
height: unset !important;
|
||||
padding: unset !important; /* this padding is redundant to page margin in a print */
|
||||
}
|
||||
|
||||
.mat-drawer-container {
|
||||
position: unset !important;
|
||||
height: unset !important;
|
||||
}
|
||||
|
||||
.graph-columns {
|
||||
overflow: unset !important;
|
||||
}
|
||||
|
||||
/*
|
||||
These are attempts to fix the page cutting off text during "save as pdf".
|
||||
None of them are effective yet for some reason.
|
||||
|
||||
.node-wrapper {
|
||||
position: relative !important;
|
||||
page-break-inside: avoid !important;
|
||||
}
|
||||
.node-content-wrapper {
|
||||
position: relative !important;
|
||||
page-break-inside: avoid !important;
|
||||
display: inline-block !important;
|
||||
}*/
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче