From 9421b4bf574040385a77378d23f1e45aabbd0823 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Sat, 5 Jun 2021 10:23:37 +0200 Subject: [PATCH 01/25] Update ReleaseNotes.txt --- src/ReleaseNotes.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ReleaseNotes.txt b/src/ReleaseNotes.txt index fc9bd32b..1f871249 100644 --- a/src/ReleaseNotes.txt +++ b/src/ReleaseNotes.txt @@ -1,6 +1,6 @@ GNS3 WebUI is web implementation of user interface for GNS3 software. -Current version: 2.2.19 +Current version: 2.2.22 Current version: 2020.4.0-beta.1 From aac7b57d2238f63adc81cd57b19ceb9e1a9354b7 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Sat, 5 Jun 2021 10:24:00 +0200 Subject: [PATCH 02/25] Release 2.2.22 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 48e2de9c..014bcbc0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gns3-web-ui", - "version": "2.2.22dev", + "version": "2.2.22", "author": { "name": "GNS3 Technology Inc.", "email": "developers@gns3.com" From e54638a24843c794a2370577630888c97f860ce1 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Tue, 8 Jun 2021 18:03:18 +0200 Subject: [PATCH 03/25] Updating dependencies --- package.json | 62 +++--- yarn.lock | 532 +++++++++++++++++++++++++-------------------------- 2 files changed, 288 insertions(+), 306 deletions(-) diff --git a/package.json b/package.json index 014bcbc0..32b36f6f 100644 --- a/package.json +++ b/package.json @@ -41,26 +41,26 @@ }, "private": true, "dependencies": { - "@angular/animations": "^12.0.2", - "@angular/cdk": "^12.0.2", - "@angular/common": "^12.0.2", - "@angular/compiler": "^12.0.2", - "@angular/core": "^12.0.2", - "@angular/forms": "^12.0.2", - "@angular/material": "^12.0.2", - "@angular/platform-browser": "^12.0.2", - "@angular/platform-browser-dynamic": "^12.0.2", - "@angular/router": "^12.0.2", - "@sentry/browser": "^6.3.6", + "@angular/animations": "^12.0.3", + "@angular/cdk": "^12.0.3", + "@angular/common": "^12.0.3", + "@angular/compiler": "^12.0.3", + "@angular/core": "^12.0.3", + "@angular/forms": "^12.0.3", + "@angular/material": "^12.0.3", + "@angular/platform-browser": "^12.0.3", + "@angular/platform-browser-dynamic": "^12.0.3", + "@angular/router": "^12.0.3", + "@sentry/browser": "^6.5.1", "@types/jest": "^26.0.23", "@types/mocha": "^8.2.2", - "@types/react": "^17.0.5", - "@types/react-dom": "^17.0.3", + "@types/react": "^17.0.9", + "@types/react-dom": "^17.0.6", "angular-draggable-droppable": "^4.6.0", - "angular-resizable-element": "^3.3.5", - "bootstrap": "^5.0.0", + "angular-resizable-element": "^3.4.0", + "bootstrap": "^5.0.1", "command-exists": "^1.2.9", - "core-js": "^3.12.1", + "core-js": "^3.14.0", "d3-ng2-service": "^2.2.0", "eev": "^0.1.5", "ini": "^2.0.0", @@ -69,44 +69,44 @@ "ng-circle-progress": "^1.6.0", "ng2-file-upload": "^1.4.0", "ngx-childprocess": "^0.0.6", - "ngx-device-detector": "^2.0.9", + "ngx-device-detector": "^2.1.1", "ngx-electron": "^2.2.0", "node-fetch": "^2.6.1", "notosans-fontface": "1.2.2", - "prettier-plugin-organize-imports": "^2.0.0", + "prettier-plugin-organize-imports": "^2.1.0", "rxjs": "^6.5.3", "rxjs-compat": "^6.5.3", "save-svg-as-png": "^1.4.17", - "snyk": "^1.589.0", + "snyk": "^1.623.0", "spark-md5": "^3.0.1", "svg-crowbar": "^0.6.5", "tree-kill": "^1.2.2", "tslib": "^2.2.0", "typeface-roboto": "^1.1.13", - "xterm": "^4.11.0", + "xterm": "^4.12.0", "xterm-addon-attach": "^0.6.0", "xterm-addon-fit": "^0.5.0", "yargs": "^17.0.1", "zone.js": "~0.11.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^12.0.2", - "@angular/cli": "^12.0.2", - "@angular/compiler-cli": "^12.0.2", - "@angular/language-service": "^12.0.2", - "@sentry/cli": "^1.64.2", + "@angular-devkit/build-angular": "^12.0.3", + "@angular/cli": "^12.0.3", + "@angular/compiler-cli": "^12.0.3", + "@angular/language-service": "^12.0.3", + "@sentry/cli": "^1.66.0", "@sentry/electron": "^2.4.1", - "@types/jasmine": "^3.7.1", + "@types/jasmine": "^3.7.7", "@types/jasminewd2": "^2.0.9", - "@types/node": "15.6.1", + "@types/node": "15.12.2", "codelyzer": "^6.0.2", - "electron": "^13.0.1", + "electron": "^13.1.1", "electron-builder": "22.10.5", "file-loader": "^6.2.0", "jasmine-core": "~3.7.1", "jasmine-spec-reporter": "~7.0.0", "jquery": "^3.6.0", - "karma": "^6.3.2", + "karma": "^6.3.3", "karma-chrome-launcher": "~3.1.0", "karma-cli": "^2.0.0", "karma-coverage-istanbul-reporter": "~3.0.3", @@ -114,7 +114,7 @@ "karma-jasmine-html-reporter": "^1.6.0", "license-checker": "^25.0.1", "popper.js": "^1.16.1", - "prettier": "^2.3.0", + "prettier": "^2.3.1", "protractor": "^7.0.0", "replace": "^1.2.1", "rxjs-tslint": "^0.1.8", @@ -123,7 +123,7 @@ "tslint": "^6.1.3", "tslint-config-prettier": "^1.18.0", "typescript": "4.2.4", - "webpack": "5.38.0", + "webpack": "5.38.1", "yarn-upgrade-all": "^0.5.4" }, "greenkeeper": { diff --git a/yarn.lock b/yarn.lock index 504a4a3f..c1ef60b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,23 +7,23 @@ resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz#bc5b5532ecafd923a61f2fb097e3b108c0106a3f" integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== -"@angular-devkit/architect@0.1200.2": - version "0.1200.2" - resolved "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1200.2.tgz" - integrity sha512-Vy/dE1iwEiV63cxcU+SC+Lf5SUnY64vg9J3YA3jxFlJnELbxxN+T7xDfjMEMPoLzTY02K9XNb8ZGLStZxVmZLg== +"@angular-devkit/architect@0.1200.3": + version "0.1200.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1200.3.tgz#b919f78bcc0fac645733804329443b9e8500dab4" + integrity sha512-CaqushsPYQ3Us7eBIuZM9/u5H6Rjvm5tUCYS7D5lr5w4QbiwC+6L4dheWEu1PuS2TyyBt6lVwgUNguOmixDb0Q== dependencies: - "@angular-devkit/core" "12.0.2" + "@angular-devkit/core" "12.0.3" rxjs "6.6.7" -"@angular-devkit/build-angular@^12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-12.0.2.tgz" - integrity sha512-s7tAnqT3L+4uMnDHOwx4nncxDjHrmfPGiQFdi2hI2VTbuB7ZUU7LE9M/2O5MWnRcwNKOlE/Ls6tWZRYD2HoBsA== +"@angular-devkit/build-angular@^12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-12.0.3.tgz#b10a987f1693fc1b21bdeacc51d703157e8a387a" + integrity sha512-zSQaWT64Nr+vMNNJ6JRFMA8ryNUhx9/kBUR5/s5HP43Y68nLw6EjdUryE5c8tIem+Pc+TcnHpZb9/q4d5VumCQ== dependencies: - "@angular-devkit/architect" "0.1200.2" - "@angular-devkit/build-optimizer" "0.1200.2" - "@angular-devkit/build-webpack" "0.1200.2" - "@angular-devkit/core" "12.0.2" + "@angular-devkit/architect" "0.1200.3" + "@angular-devkit/build-optimizer" "0.1200.3" + "@angular-devkit/build-webpack" "0.1200.3" + "@angular-devkit/core" "12.0.3" "@babel/core" "7.14.3" "@babel/generator" "7.14.3" "@babel/plugin-transform-async-to-generator" "7.13.0" @@ -33,7 +33,7 @@ "@babel/template" "7.12.13" "@discoveryjs/json-ext" "0.5.2" "@jsdevtools/coverage-istanbul-loader" "3.0.5" - "@ngtools/webpack" "12.0.2" + "@ngtools/webpack" "12.0.3" ansi-colors "4.1.1" babel-loader "8.2.2" browserslist "^4.9.1" @@ -53,7 +53,7 @@ karma-source-map-support "1.4.0" less "4.1.1" less-loader "8.1.1" - license-webpack-plugin "2.3.17" + license-webpack-plugin "2.3.19" loader-utils "2.0.0" mini-css-extract-plugin "1.5.1" minimatch "3.0.4" @@ -82,33 +82,33 @@ terser-webpack-plugin "5.1.2" text-table "0.2.0" tree-kill "1.2.2" - webpack "5.36.2" + webpack "5.38.1" webpack-dev-middleware "4.1.0" webpack-dev-server "3.11.2" webpack-merge "5.7.3" webpack-subresource-integrity "1.5.2" -"@angular-devkit/build-optimizer@0.1200.2": - version "0.1200.2" - resolved "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.2.tgz" - integrity sha512-46z35d4oOHiF7Peiez7DRcsB5dwjnYP3fm6KwVNm/8Zq6nnykxvipywgJB6inkGdcI0j2m8v3+shVAaWvdS93w== +"@angular-devkit/build-optimizer@0.1200.3": + version "0.1200.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.3.tgz#cbf3b62c0b461946cf2c7b93772be65b9a2745b2" + integrity sha512-GELr5FTkwLJrTuARfTnBn+NkJjGbmbqrm/+znU6QlhyOTSE/PNZed0kiiTP68BQtL4FO5SeTcJ3tdjOW8i3hiw== dependencies: source-map "0.7.3" tslib "2.2.0" typescript "4.2.4" -"@angular-devkit/build-webpack@0.1200.2": - version "0.1200.2" - resolved "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1200.2.tgz" - integrity sha512-tqHq2Ld91CQfIJpdsA8b5q6wq4tS3eX5Z1rwzy2j0gJ5s0I/cpklfTXHBh6StSoS9Df4uHl5V2oLRBagky1pDA== +"@angular-devkit/build-webpack@0.1200.3": + version "0.1200.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1200.3.tgz#53fe460b290ca89c8286f37dcb96fff4d5547045" + integrity sha512-RVQ9+mBRnxn1si/q2aMzpnXOXMv1a64nNrhNqP4n43jczZW1Cu85TnwYxeTjXnR3I5u+7wtpifqi9H3pLxV7lQ== dependencies: - "@angular-devkit/architect" "0.1200.2" + "@angular-devkit/architect" "0.1200.3" rxjs "6.6.7" -"@angular-devkit/core@12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@angular-devkit/core/-/core-12.0.2.tgz" - integrity sha512-n7BmZAW0nx4pEigdAsibvtIm4Vjk1IwY3Bbc8fqD+AQpdYCo+Ake1Eu6fL2XoW8Yco7U4JYYdn/uodWEgBdroQ== +"@angular-devkit/core@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-12.0.3.tgz#01c796dd7d3e0c228b4628439ee1c34bbdda4f1f" + integrity sha512-d6E4ldHzIerzFpXXZkynluIbZZeYD+VteFLBZ77lOXAuUYuuLEiW8h4bpJOqribeJli5c1cJ/yyELYHrbiiLcw== dependencies: ajv "8.2.0" ajv-formats "2.0.2" @@ -117,40 +117,40 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular-devkit/schematics@12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.0.2.tgz" - integrity sha512-PS+SrRhAc/lyRfuBsi6Rt2yV7IA34B7T6J0K8/Av0GABZ83x+0vLiZC39eSPS1X8qcM/U09pCfDT8Q6ZQPCICA== +"@angular-devkit/schematics@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-12.0.3.tgz#9c9a881db1fd4c07b78729f46e2932adf76906de" + integrity sha512-FozSvAJPI1iNLkrMVfbQvrk6XxF86zkpnVoaOeT/S2WeS64uRLW9DZmFHJxD4K2+MUPkwx6x6Y8AjARIkGtcIA== dependencies: - "@angular-devkit/core" "12.0.2" + "@angular-devkit/core" "12.0.3" ora "5.4.0" rxjs "6.6.7" -"@angular/animations@^12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@angular/animations/-/animations-12.0.2.tgz" - integrity sha512-5RZ5a8ouVZ3iDy29uZ7jCryisWjX2c9xjIG5F5rn+mBL3UkxzzUDFhql9rP0PB5G+aGgaElSlTatGJ85mY0XvA== +"@angular/animations@^12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-12.0.3.tgz#97dd24455df2efdcf2d19afbd7e81877145e1308" + integrity sha512-uaOltimrGBJe1vIunaz9d8gtE8IY242XwakYGSFYf1zIseJRI7GBQ29L8+O2/QHbdTgdtsubYaqrPyMYLKYDvA== dependencies: tslib "^2.1.0" -"@angular/cdk@^12.0.2": - version "12.0.2" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-12.0.2.tgz#a942fb5195138291558741a4bff3286a955a3f02" - integrity sha512-1JGayyUJmwaul5YSEgb780aWxk+MLVG5FakVaxz5NtbPZx19ZyOuZqytCh5js11LsBDipF5/kirYhJPBFlMbWQ== +"@angular/cdk@^12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-12.0.3.tgz#ed2ab6da003dd39559c732186cd5e64536bd60fa" + integrity sha512-E/3eAcDTsuSAaeOajwBwjPtBMVSzZu5BgtXBX+QfC66jWJ4FdX5FUxGDZCwlF/Bbtdkvn0Jq8+UW9RlrS2Hd9Q== dependencies: tslib "^2.1.0" optionalDependencies: parse5 "^5.0.0" -"@angular/cli@^12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@angular/cli/-/cli-12.0.2.tgz" - integrity sha512-hXxnOxPl6+v/O+OnkJxPPupCeQJNmI08EdtnER5z/UCSpmlJibbTAqLF9rFaOi/7dPLS0RCNWmCRA6grgTlP9g== +"@angular/cli@^12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-12.0.3.tgz#cd1cb61fb51e406c42edc8dbae17ed6b0e6bcdba" + integrity sha512-RiEwa4YUU3Cg5vJioRqioMOcbNcDEVkzQBeHUBs0JfjpheHfuCJsMDz/RB503691ut+gNyMrHtiYqqub7Ao/bQ== dependencies: - "@angular-devkit/architect" "0.1200.2" - "@angular-devkit/core" "12.0.2" - "@angular-devkit/schematics" "12.0.2" - "@schematics/angular" "12.0.2" + "@angular-devkit/architect" "0.1200.3" + "@angular-devkit/core" "12.0.3" + "@angular-devkit/schematics" "12.0.3" + "@schematics/angular" "12.0.3" "@yarnpkg/lockfile" "1.1.0" ansi-colors "4.1.1" debug "4.3.1" @@ -168,17 +168,17 @@ symbol-observable "4.0.0" uuid "8.3.2" -"@angular/common@^12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@angular/common/-/common-12.0.2.tgz" - integrity sha512-KJFtqdIGVrF97iK3zcN9FoQ1fDsc/u4ez1Qtx0HdH21qAuAvK/FYybg4r1G6miXoUJcO8hu9oRddEoiNPkXAew== +"@angular/common@^12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-12.0.3.tgz#c79f98fc1208e7a9846658083b4a5b208a553edb" + integrity sha512-Y5wm7kr8XjS3Rsy2eitJxd9F1Z+pTWjioTg4o1PEUvsKwahGvJ+G3brNejswoTkj8YJjRTrUPyyW8JT+nWGkbA== dependencies: tslib "^2.1.0" -"@angular/compiler-cli@^12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-12.0.2.tgz" - integrity sha512-ocm/c4ZcdtlvMSlN1L6Asyx4nYC4qA0j3+H3mKl/ds8bq/8Gb9cxOiu3hqmUKgovXF/Wue6orsWLzHowuxfagA== +"@angular/compiler-cli@^12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-12.0.3.tgz#981b9afcb5294b8f28bc33b8e1e7fce8a52e9440" + integrity sha512-0arWz+Gyfn/zrxh4Tb/NujYwGfB2GSsB/4KVzq3jm+Ua7SRXad19V5mpN0UG9eb1jS9B/9JEy+R5vMe4ywPWuQ== dependencies: "@babel/core" "^7.8.6" "@babel/types" "^7.8.6" @@ -200,10 +200,10 @@ resolved "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz" integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ== -"@angular/compiler@^12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@angular/compiler/-/compiler-12.0.2.tgz" - integrity sha512-PLkDb1mxWpsOJwR0t9yDI8A9dSMUEmVf+HdNWFO1aFY84nZ3sH8t6e/BpoaRcbLJCkNgtm9YD8FmRHE30LZ3CA== +"@angular/compiler@^12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-12.0.3.tgz#0d88c652b827bcace866e7e044b3d46ba2abd5de" + integrity sha512-Vux9JwHd5pYsSmNvACUWULdT8/nIekP9k2yGqaDdbiHsptk5UCcyH7E0zhMh8Um4NYFqMBZeO0yXySa+7u5aJA== dependencies: tslib "^2.1.0" @@ -212,50 +212,50 @@ resolved "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz" integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w== -"@angular/core@^12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@angular/core/-/core-12.0.2.tgz" - integrity sha512-RBTl8L2ckSI3n2lo9rmwlUeZAuEd/TWUjoidoxPYWrKfbnFwKX65idCCbWLJivSVIBnPQYvAdC+3k4w40N9AWA== +"@angular/core@^12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-12.0.3.tgz#349b58c4c635bdcfbf62e8b085e8700966ac3aff" + integrity sha512-wGsu7wMeBQNN5ShJsLpzkCfBk6h089ZIf9bUMytNWAvLd+MGqP7f6D1ua9+ul62VNyBFtWgQLK/38E6J+9OPYg== dependencies: tslib "^2.1.0" -"@angular/forms@^12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@angular/forms/-/forms-12.0.2.tgz" - integrity sha512-tHIYb3c6H2M9qSi/SJOtZqJ8XWi3LM5mhA4sDpEGxfJ8RLVTcujd2gYnJ0N3vcpmWwy3mA/EayhAC2bhgWAazA== +"@angular/forms@^12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-12.0.3.tgz#853992ccaaca0261eee1fba752de6ef20a7ee2d2" + integrity sha512-AdOX8epoXgges1hchv5hYRhO6iOZhjSfEmJkVCpInq08evVG7ON/FjN3n4bP4xRHrpNB63rIzoSraD3AYw8A/A== dependencies: tslib "^2.1.0" -"@angular/language-service@^12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@angular/language-service/-/language-service-12.0.2.tgz" - integrity sha512-H1aauvtS9qnq0FCdr3J2UROF7+AnOTCksD2AYuGS2/9O8tZLwwNz/UkXfxS3bHYzndYCsNiLPwAW7d0dWIjlqQ== +"@angular/language-service@^12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-12.0.3.tgz#5240db3612b32d0d5434a6e27c5dc2678e1f2300" + integrity sha512-7dn5C9hTMwnoKSMZX/5lkA2EzrB8MU12iqIWHmiEqgzC4kLqkTNzyvlQ7OB6DxsH1bTsf+KXxH/hUkk1CNyFJA== -"@angular/material@^12.0.2": - version "12.0.2" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-12.0.2.tgz#1191d899a82e8ff336799779bf8c5f61d70e7d06" - integrity sha512-jTH53w4iVNk+3K5ciFyHeRhNNtV6TzeuNTSELeme4l3t5FP3VqFTdE56Q55MrV2RMIzDKLYEpiqSiQf+8ZuGSA== +"@angular/material@^12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-12.0.3.tgz#f0fe83061fdeb9330b0ea0b1683a5e4f49bef1d1" + integrity sha512-o21ogL6P38CPS0KpvbgEJ18G0YIFvG4wcyp7hTEoMv4YncpZWPQXDBi501Ys+OsUmv57R/vYa/mo+sz6uSYw2A== dependencies: tslib "^2.1.0" -"@angular/platform-browser-dynamic@^12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.0.2.tgz" - integrity sha512-FVJBIxn85EX3a6kSdqwXAC8i7jxeo5iwHBKUEFYukbAXrHuMmwFz7Nvqkqqo0xIJXymFz8Q04VbTThkgp2uerg== +"@angular/platform-browser-dynamic@^12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.0.3.tgz#503af57ef63847cfee9861607ef52f67fcfceba5" + integrity sha512-ojDDmNXeSukV4FbPNiNeR+A77RNWnXJ+ZHWBETlf5tfZgHtecyEmHlgJG3jOSDD9f4c9/F5FpuHD/LDCMp9GnA== dependencies: tslib "^2.1.0" -"@angular/platform-browser@^12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-12.0.2.tgz" - integrity sha512-m1tPOpNZdnp8jrtFP3FrjpBV+S/rd5HLd4Q9MaC62LJYf8VvRx8wKdUO8tBDJYPbGiHGL4q4BUvKswrzfFWbXg== +"@angular/platform-browser@^12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-12.0.3.tgz#71aff642b648fd9e15334f214573c9252adbb8d3" + integrity sha512-mHcjOxnRWv1G45npbyMknROCx+LmJemYoSERrhi+fBfv00zdJlZn+TcNIgg90xsBiP4C2d1+GMk0w8I0LYl6bQ== dependencies: tslib "^2.1.0" -"@angular/router@^12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@angular/router/-/router-12.0.2.tgz" - integrity sha512-ATUPPz+dpuPNNWlvg6PtLBDN97nbT8Bu7tUwjL8G0xOwxAxsJqgoImcxYWAKaovAoK4YntVQXqP+UPxpZQtLLA== +"@angular/router@^12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-12.0.3.tgz#72a505d785135ef9e203cfd56287e23ef8d2054e" + integrity sha512-mv5p2zIfm911tlBOq3L1n8QY7KVwLHjzPCblQEeMyLsl7RGsom7SMpH/L2D8CP5gubzB2T4oPRuR7I8MtC+6oQ== dependencies: tslib "^2.1.0" @@ -1233,10 +1233,10 @@ resolved "https://registry.npmjs.org/@mattlewis92/dom-autoscroller/-/dom-autoscroller-2.4.2.tgz" integrity sha512-YbrUWREPGEjE/FU6foXcAT1YbVwqD/jkYnY1dFb0o4AxtP3s4xKBthlELjndZih8uwsDWgQZx1eNskRNe2BgZQ== -"@ngtools/webpack@12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@ngtools/webpack/-/webpack-12.0.2.tgz" - integrity sha512-q+AzIMxWb/8jEDhNrKM2THlJrhUCkX18sKBWY+r221uXtt1sz58MdJyE0UTALvOvjHxEF5OvbWpeAbKUOKgVFA== +"@ngtools/webpack@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-12.0.3.tgz#47fd9abffe96d554edf063eb252d4f2c06d834e1" + integrity sha512-ql2CMgFdOxWLq9uK18ql4JkrO7jJZOYWJzsjE1BY2XBino8UI7T0bVvIIuBu/2U9KMPiWbH+7OwIhnIc+xDJ4A== dependencies: enhanced-resolve "5.7.0" @@ -1327,13 +1327,13 @@ sprintf-js "^1.1.2" utf8 "^3.0.0" -"@schematics/angular@12.0.2": - version "12.0.2" - resolved "https://registry.npmjs.org/@schematics/angular/-/angular-12.0.2.tgz" - integrity sha512-DMUfp7226QY2FkJeBm1xAUUKRX9umVCRhqEcku4Zaig6PylVd9LZFLjZvGKA4Vq2DkYRtClll3z5FIhAOSY3SQ== +"@schematics/angular@12.0.3": + version "12.0.3" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-12.0.3.tgz#00f7f1c6c6ae527dd7cfd36c1426238995f98620" + integrity sha512-EUg/mYFOcj5eSYLtaZPfX0AfXPdOE9fBnx6KixwFApmu6hwMcAWQTJxnpXPZ9povrHkJa32iB984aKYfOitZ9w== dependencies: - "@angular-devkit/core" "12.0.2" - "@angular-devkit/schematics" "12.0.2" + "@angular-devkit/core" "12.0.3" + "@angular-devkit/schematics" "12.0.3" jsonc-parser "3.0.0" "@sentry/browser@5.27.6": @@ -1346,20 +1346,20 @@ "@sentry/utils" "5.27.6" tslib "^1.9.3" -"@sentry/browser@^6.3.6": - version "6.4.1" - resolved "https://registry.npmjs.org/@sentry/browser/-/browser-6.4.1.tgz" - integrity sha512-3cDud6GWutnJqcnheIq0lPNTsUJbrRLevQ+g1YfawVXFUxfmmY2bOsGd/Mxq17LxYeBHgKTitXv3DU1bsQ+WBQ== +"@sentry/browser@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.5.1.tgz#9a6ed5607b3b0f4e83f38720e3e202906f8c5bdb" + integrity sha512-iVLCdEFwsoWAzE/hNknexPQjjDpMQV7mmaq9Z1P63bD6MfhwVTx4hG4pHn8HEvC38VvCVf1wv0v/LxtoODAYXg== dependencies: - "@sentry/core" "6.4.1" - "@sentry/types" "6.4.1" - "@sentry/utils" "6.4.1" + "@sentry/core" "6.5.1" + "@sentry/types" "6.5.1" + "@sentry/utils" "6.5.1" tslib "^1.9.3" -"@sentry/cli@^1.64.2": - version "1.65.0" - resolved "https://registry.npmjs.org/@sentry/cli/-/cli-1.65.0.tgz" - integrity sha512-N5riXQ7H+tGMQ+VCEVJI8Qy4FoVDvDw7jmFYbcn5xLWTyM+g0rVEm7kUL33zZENxdL2plNlepklPU+rFk4KDRw== +"@sentry/cli@^1.66.0": + version "1.66.0" + resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.66.0.tgz#0526f1bc1c0570ce72ed817190af92f3b63a2e9a" + integrity sha512-2pZ+JHnvKqwyJWcGkKg/gCM/zURYronAnruBNllI+rH2g5IL0N90deMmjB1xcqXS66J222+MPTtWrGEK1Vl0/w== dependencies: https-proxy-agent "^5.0.0" mkdirp "^0.5.5" @@ -1379,15 +1379,15 @@ "@sentry/utils" "5.27.6" tslib "^1.9.3" -"@sentry/core@6.4.1": - version "6.4.1" - resolved "https://registry.npmjs.org/@sentry/core/-/core-6.4.1.tgz" - integrity sha512-Lx13oTiP+Tjvm5VxulcCszNVd2S1wY4viSnr+ygq62ySVERR+t7uOZDSARZ0rZ259GwW6nkbMh9dDmD0d6VCGQ== +"@sentry/core@6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.5.1.tgz#c8b6c3ed86ed07b193c95d599c1b9a4a161e500e" + integrity sha512-Mh3sl/iUOT1myHmM6RlDy2ARzkUClx/g4DAt1rJ/IpQBOlDYQraplXSIW80i/hzRgQDfwhwgf4wUa5DicKBjKw== dependencies: - "@sentry/hub" "6.4.1" - "@sentry/minimal" "6.4.1" - "@sentry/types" "6.4.1" - "@sentry/utils" "6.4.1" + "@sentry/hub" "6.5.1" + "@sentry/minimal" "6.5.1" + "@sentry/types" "6.5.1" + "@sentry/utils" "6.5.1" tslib "^1.9.3" "@sentry/electron@^2.4.1": @@ -1412,13 +1412,13 @@ "@sentry/utils" "5.27.6" tslib "^1.9.3" -"@sentry/hub@6.4.1": - version "6.4.1" - resolved "https://registry.npmjs.org/@sentry/hub/-/hub-6.4.1.tgz" - integrity sha512-7IZRP5buDE6s/c3vWzzPR/ySE+8GUuHPgTEPiDCPOCWwUN11zXDafJDKkJqY3muJfebUKmC/JG67RyBx+XlnlQ== +"@sentry/hub@6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.5.1.tgz#135ef09d07d32e87a53f664c0ae8fcc4f5963519" + integrity sha512-lBRMBVMYP8B4PfRiM70murbtJAXiIAao/asDEMIRNGMP6pI2ArqXfJCBYDkStukhikYD0Kqb4trXq+JYF07Hbg== dependencies: - "@sentry/types" "6.4.1" - "@sentry/utils" "6.4.1" + "@sentry/types" "6.5.1" + "@sentry/utils" "6.5.1" tslib "^1.9.3" "@sentry/minimal@5.27.6": @@ -1430,13 +1430,13 @@ "@sentry/types" "5.27.6" tslib "^1.9.3" -"@sentry/minimal@6.4.1": - version "6.4.1" - resolved "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.4.1.tgz" - integrity sha512-4x/PRbDZACCKJqjta9EkhiIMyGMf7VgBX13EEWEDVWLP7ymFukBuTr4ap/Tz9429kB/yXZuDGGMIZp/G618H3g== +"@sentry/minimal@6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.5.1.tgz#b8c1b382c2ea788eec3d32d203e5081b00eb6838" + integrity sha512-q9Do/oreu1RP695CXCLowVDuQyk7ilE6FGdz2QLpTXAfx8247qOwk6+zy9Kea/Djk93+BoSDVQUSneNiVwl0nQ== dependencies: - "@sentry/hub" "6.4.1" - "@sentry/types" "6.4.1" + "@sentry/hub" "6.5.1" + "@sentry/types" "6.5.1" tslib "^1.9.3" "@sentry/node@5.27.6": @@ -1470,10 +1470,10 @@ resolved "https://registry.npmjs.org/@sentry/types/-/types-5.27.6.tgz" integrity sha512-XOW9W8DrMk++4Hk7gWi9o5VR0o/GrqGfTKyFsHSIjqt2hL6kiMPvKeb2Hhmp7Iq37N2bDmRdWpM5m+68S2Jk6w== -"@sentry/types@6.4.1": - version "6.4.1" - resolved "https://registry.npmjs.org/@sentry/types/-/types-6.4.1.tgz" - integrity sha512-sTu/GaLsLYk1AkAqpkMT4+4q665LtZjhV0hkgiTD4N3zPl5uSf1pCIzxPRYjOpe7NEANmWv8U4PaGKGtc2eMfA== +"@sentry/types@6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.5.1.tgz#0a34ecfd1ae9275a416a105640eb4bed45a46a1d" + integrity sha512-b/7a6CMoytaeFPx4IBjfxPw3nPvsQh7ui1C8Vw0LxNNDgBwVhPLzUOWeLWbo5YZCVbGEMIWwtCUQYWxneceZSA== "@sentry/utils@5.27.6": version "5.27.6" @@ -1483,12 +1483,12 @@ "@sentry/types" "5.27.6" tslib "^1.9.3" -"@sentry/utils@6.4.1": - version "6.4.1" - resolved "https://registry.npmjs.org/@sentry/utils/-/utils-6.4.1.tgz" - integrity sha512-xJ1uVa5fvg23pXQfulvCIBb9pQ3p1awyd1PapK2AYi+wKjTuYl4B9edmhjRREEQEExznl/d2OVm78fRXLq7M9Q== +"@sentry/utils@6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.5.1.tgz#046baf7d1a6564d6d555437ad3674dba9bc0806a" + integrity sha512-Wv86JYGQH+ZJ5XGFQX7h6ijl32667ikenoL9EyXMn8UoOYX/MLwZoQZin1P60wmKkYR9ifTNVmpaI9OoTaH+UQ== dependencies: - "@sentry/types" "6.4.1" + "@sentry/types" "6.5.1" tslib "^1.9.3" "@sindresorhus/is@^0.14.0": @@ -1527,28 +1527,26 @@ js-yaml "^3.13.1" tslib "^1.10.0" -"@snyk/code-client@3.5.1": - version "3.5.1" - resolved "https://registry.npmjs.org/@snyk/code-client/-/code-client-3.5.1.tgz" - integrity sha512-hiDIs1tAuObQr8GwebUT1OH1S27odf23HArOHlcz/ddVHaZrRxreF64sflS4urdIxKVK39AYgMpc5M/QD0cgOg== +"@snyk/code-client@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@snyk/code-client/-/code-client-3.7.0.tgz#c79684fbb710ca2f2595704eca67560dc9f6d779" + integrity sha512-a1uGkSpO4Pr9UucZUVfUR5PVcl1fEA4sXbdZPyzs1AABE7JhMY6FnBYKgQFz2qIkPAPy4M0m18bnGpHq5ZdWNg== dependencies: "@deepcode/dcignore" "^1.0.2" "@snyk/fast-glob" "^3.2.6-patch" "@types/flat-cache" "^2.0.0" "@types/lodash.chunk" "^4.2.6" - "@types/lodash.difference" "^4.5.6" "@types/lodash.omit" "^4.5.6" "@types/lodash.union" "^4.6.6" - "@types/micromatch" "^4.0.1" + "@types/multimatch" "^4.0.0" "@types/sarif" "^2.1.3" "@types/uuid" "^8.3.0" axios "^0.21.1" ignore "^5.1.8" lodash.chunk "^4.2.0" - lodash.difference "^4.5.0" lodash.omit "^4.5.0" lodash.union "^4.6.0" - micromatch "^4.0.2" + multimatch "^5.0.0" queue "^6.0.1" uuid "^8.3.2" @@ -1608,29 +1606,27 @@ micromatch "^4.0.2" picomatch "^2.2.1" -"@snyk/fix-pipenv-pipfile@0.3.5": - version "0.3.5" - resolved "https://registry.npmjs.org/@snyk/fix-pipenv-pipfile/-/fix-pipenv-pipfile-0.3.5.tgz" - integrity sha512-Kqe9wqUrSSGB0+QFrJjCy5ub7bNg10F5I/avJK95RY/2g9cXpQnkdkTexRmVdOl+IF5z3JBXRjBnIQb6buvp6w== +"@snyk/fix-pipenv-pipfile@0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@snyk/fix-pipenv-pipfile/-/fix-pipenv-pipfile-0.4.3.tgz#874ba955cdc71306d77fa98ab5bb4b101188f3fb" + integrity sha512-dBQaoPmmvc8Dzq/D1z5HKJRI6BgjS5SBSBJs4+NoCpOVTqeoDwP8hG3fC++480kbqlugEaEnHZu4uvA3H9oF7A== dependencies: bottleneck "2.19.5" debug "4.3.1" + prettier "^2.3.0" source-map-support "^0.5.16" tslib "^1.10.0" -"@snyk/fix@1.601.0": - version "1.601.0" - resolved "https://registry.npmjs.org/@snyk/fix/-/fix-1.601.0.tgz" - integrity sha512-0Fz0nC547Qkg0FGpmvzDIPrrXvisQN6c07JM0RReM8Xb47p1o51O/MPsWdHIFJasIT5HkshyOaV5rjGQmfwHtQ== +"@snyk/fix@1.620.0": + version "1.620.0" + resolved "https://registry.yarnpkg.com/@snyk/fix/-/fix-1.620.0.tgz#3bece08c210ab9ff105668fb3871b848d2f7f000" + integrity sha512-o0dISy2mjmZ63/O/Y+yivBtqT6BR88JAa8QbMQ29/TzwysOoKjTaQXbfgT338Q1vm3J91iEptVn3Ut0UsC5LEQ== dependencies: "@snyk/dep-graph" "^1.21.0" - "@snyk/fix-pipenv-pipfile" "0.3.5" - bottleneck "2.19.5" + "@snyk/fix-pipenv-pipfile" "0.4.3" chalk "4.1.0" - child_process "1.0.2" debug "^4.3.1" lodash.groupby "4.6.0" - lodash.orderby "^4.6.0" lodash.sortby "^4.7.0" ora "5.4.0" p-map "^4.0.0" @@ -1836,11 +1832,6 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.1.tgz#a6ca6a9a0ff366af433f42f5f0e124794ff6b8f1" integrity sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA== -"@types/braces@*": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/braces/-/braces-3.0.0.tgz" - integrity sha512-TbH79tcyi9FHwbyboOKeRachRq63mSuWYXOflsNO9ZyE5ClQ/JaozNKl+aWUq87qPNsXasXxi2AbgfwIJ+8GQw== - "@types/cacheable-request@^6.0.1": version "6.0.1" resolved "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz" @@ -2138,11 +2129,16 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jasmine@*", "@types/jasmine@^3.7.1": +"@types/jasmine@*": version "3.7.6" resolved "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.7.6.tgz" integrity sha512-7Z6PZskqJZL7grgTg6L0JYLqaP6rEAecBZvHz3bzVZVMeun2kQ3QZ6Wx+cFjvjAR7le9p066WBDzLDobz9rlyQ== +"@types/jasmine@^3.7.7": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.7.7.tgz#56718af036be3c9f86eca560a22e39440b2b0784" + integrity sha512-yZzGe1d1T0y+imXDZ79F030nn8qbmiwpWKCZKvKN0KbTzwXAVYShUxkIxu1ba+vhIdabTGVGCfbtZC0oOam8TQ== + "@types/jasminewd2@^2.0.9": version "2.0.9" resolved "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.9.tgz" @@ -2182,13 +2178,6 @@ dependencies: "@types/lodash" "*" -"@types/lodash.difference@^4.5.6": - version "4.5.6" - resolved "https://registry.npmjs.org/@types/lodash.difference/-/lodash.difference-4.5.6.tgz" - integrity sha512-wXH53r+uoUCrKhmh7S5Gf6zo3vpsx/zH2R4pvkmDlmopmMTCROAUXDpPMXATGCWkCjE6ik3VZzZUxBgMjZho9Q== - dependencies: - "@types/lodash" "*" - "@types/lodash.omit@^4.5.6": version "4.5.6" resolved "https://registry.npmjs.org/@types/lodash.omit/-/lodash.omit-4.5.6.tgz" @@ -2208,16 +2197,9 @@ resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.170.tgz" integrity sha512-bpcvu/MKHHeYX+qeEN8GE7DIravODWdACVA1ctevD8CN24RhPZIKMn9ntfAsrvLfSX3cR5RrBKAbYm9bGs0A+Q== -"@types/micromatch@^4.0.1": - version "4.0.1" - resolved "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.1.tgz" - integrity sha512-my6fLBvpY70KattTNzYOK6KU1oR1+UCz9ug/JbcF5UrEmeCt9P7DV2t7L8+t18mMPINqGQCE4O8PLOPbI84gxw== - dependencies: - "@types/braces" "*" - -"@types/minimatch@*": +"@types/minimatch@*", "@types/minimatch@^3.0.3": version "3.0.4" - resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== "@types/mocha@^8.2.2": @@ -2225,15 +2207,22 @@ resolved "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.2.tgz" integrity sha512-Lwh0lzzqT5Pqh6z61P3c3P5nm6fzQK/MMHl9UKeneAeInVflBSz1O2EkX6gM6xfJd7FBXBY5purtLx7fUiZ7Hw== +"@types/multimatch@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/multimatch/-/multimatch-4.0.0.tgz#e14237ade6cba7b79fe3a1a5d4e9579613cee6b6" + integrity sha512-xS26gtqY5QASmfU/6jb5vj7F0D0SctgRGtwXsKSNng1knk/OewjISlkMwGonkMCbZCqSoW3s6nL0sAtTlzbL/g== + dependencies: + multimatch "*" + "@types/node@*", "@types/node@>=10.0.0": version "15.0.2" resolved "https://registry.npmjs.org/@types/node/-/node-15.0.2.tgz" integrity sha512-p68+a+KoxpoB47015IeYZYRrdqMUcpbK8re/zpFB8Ld46LHC1lPEbp3EXgkEhAYEcPvjJF6ZO+869SQ0aH1dcA== -"@types/node@15.6.1": - version "15.6.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-15.6.1.tgz#32d43390d5c62c5b6ec486a9bc9c59544de39a08" - integrity sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA== +"@types/node@15.12.2": + version "15.12.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.2.tgz#1f2b42c4be7156ff4a6f914b2fb03d05fa84e38d" + integrity sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww== "@types/node@^13.7.0": version "13.13.52" @@ -2268,14 +2257,14 @@ resolved "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz" integrity sha1-vShOV8hPEyXacCur/IKlMoGQwMU= -"@types/react-dom@^17.0.3": - version "17.0.5" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.5.tgz" - integrity sha512-ikqukEhH4H9gr4iJCmQVNzTB307kROe3XFfHAOTxOXPOw7lAoEXnM5KWTkzeANGL5Ce6ABfiMl/zJBYNi7ObmQ== +"@types/react-dom@^17.0.6": + version "17.0.6" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.6.tgz#c158325cf91b196270bc0f4af73463f149e7eafe" + integrity sha512-MGTI+TudxAnGTj8aco8mogaPSJGK2Whje7OZh1CxNLRyhJpTZg/pGQpIbCT0eCVFQyH7UFpdvCqQEThHIp/gsA== dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^17.0.5": +"@types/react@*": version "17.0.8" resolved "https://registry.npmjs.org/@types/react/-/react-17.0.8.tgz" integrity sha512-3sx4c0PbXujrYAKwXxNONXUtRp9C+hE2di0IuxFyf5BELD+B+AXL8G7QrmSKhVwKZDbv0igiAjQAMhXj8Yg3aw== @@ -2284,6 +2273,15 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/react@^17.0.9": + version "17.0.9" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.9.tgz#1147fb520024a62c9b3841f5cb4db89b73ddb87f" + integrity sha512-2Cw7FvevpJxQrCb+k5t6GH1KIvmadj5uBbjPaLlJB/nZWUj56e1ZqcD6zsoMFB47MsJUTFl9RJ132A7hb3QFJA== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + "@types/responselike@*", "@types/responselike@^1.0.0": version "1.0.0" resolved "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz" @@ -2707,10 +2705,10 @@ angular-draggable-droppable@^4.6.0: "@mattlewis92/dom-autoscroller" "^2.4.2" tslib "^1.9.0" -angular-resizable-element@^3.3.5: - version "3.3.5" - resolved "https://registry.npmjs.org/angular-resizable-element/-/angular-resizable-element-3.3.5.tgz" - integrity sha512-PT7p3CGva1BmcTt8LA80yOblHqynZHPQYQ1KMMLgllCn3UZx/+0eCRtSXKwnWT5IYHBg9qI3tmd92SFExa1UMg== +angular-resizable-element@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/angular-resizable-element/-/angular-resizable-element-3.4.0.tgz#9f0f65c32dc3c1ce5c9f5be2ba1e738443ba31d3" + integrity sha512-xL5a8FmghzrZmHPy7uwWz98m91gRXgAcdeCRYcK/nD7psXMTYNk5EPmHA0qZTDCIYljhT4h0OKWLvx56NQGfDA== dependencies: tslib "^1.9.0" @@ -2910,6 +2908,11 @@ arr-union@^3.1.0: resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-differ@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" + integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== + array-find-index@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" @@ -2952,6 +2955,11 @@ arrify@^1.0.0: resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= +arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== + asap@^2.0.0, asap@~2.0.3: version "2.0.6" resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" @@ -3259,9 +3267,9 @@ boolean@^3.0.1: resolved "https://registry.npmjs.org/boolean/-/boolean-3.0.4.tgz" integrity sha512-5pyOr+w2LNN72F2mAq6J0ckHUfJYSgRKma7e/wlcMMhgOLV9OI0ERhERYXxUqo+dPyVxcbXKy9n+wg13+LpNnA== -bootstrap@^5.0.0: +bootstrap@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/bootstrap/-/bootstrap-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.0.1.tgz#e7939d599119dc818a90478a2a299bdaff037e09" integrity sha512-Fl79+wsLOZKoiU345KeEaWD0ik8WKRI5zm0YSPj2oF1Qr+BO7z0fco6GbUtqjoG1h4VI89PeKJnMsMMVQdKKTw== bottleneck@2.19.5: @@ -3586,11 +3594,6 @@ child-process@^1.0.2: resolved "https://registry.npmjs.org/child-process/-/child-process-1.0.2.tgz" integrity sha1-mJdNx+0e5MYin44wX6cxOmiFp/I= -child_process@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/child_process/-/child_process-1.0.2.tgz" - integrity sha1-sffn/HPSXn/R1FWtyU4UODAYK1o= - "chokidar@>=3.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.4.2: version "3.5.1" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz" @@ -4021,7 +4024,12 @@ core-js@3.12.0: resolved "https://registry.npmjs.org/core-js/-/core-js-3.12.0.tgz" integrity sha512-SaMnchL//WwU2Ot1hhkPflE8gzo7uq1FGvUJ8GKmi3TOU7rGTHIU+eir1WGf6qOtTyxdfdcp10yPdGZ59sQ3hw== -core-js@^3.12.1, core-js@^3.6.5: +core-js@^3.14.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.14.0.tgz#62322b98c71cc2018b027971a69419e2425c2a6c" + integrity sha512-3s+ed8er9ahK+zJpp9ZtuVcDoFzHNiZsPbNAAE4KXgrRHbjSqqNN6xGSXq6bq7TZIbKj4NLrLb6bJ5i+vSVjHA== + +core-js@^3.6.5: version "3.13.0" resolved "https://registry.npmjs.org/core-js/-/core-js-3.13.0.tgz" integrity sha512-iWDbiyha1M5vFwPFmQnvRv+tJzGbFAm6XimJUT0NgHYW3xZEs1SkCAcasWSVFxpI2Xb/V1DDJckq3v90+bQnog== @@ -5082,10 +5090,10 @@ electron@*: "@types/node" "^14.6.2" extract-zip "^1.0.3" -electron@^13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/electron/-/electron-13.0.1.tgz#7dd3666f0f966ab83a1f9868d84add2e6205d43a" - integrity sha512-ds1cf0m46nStil0jbM2r9W/p+Kprdq22+2MikIUqEu69eGl1c86IinQVrpmJ9bR4RshDSF4j3uD32a0bsHDMnQ== +electron@^13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/electron/-/electron-13.1.1.tgz#de1ea908bcac2197d7a5a373fb68c0c66043e10e" + integrity sha512-kySSb5CbIkWU2Kd9mf2rpGZC9p1nWhVVNl+CJjuOUGeVPXHbojHvTkDU1iC8AvV28eik3gqHisSJss40Caprog== dependencies: "@electron/get" "^1.0.1" "@types/node" "^14.6.2" @@ -5271,7 +5279,7 @@ escape-string-regexp@^4.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-scope@5.1.1, eslint-scope@^5.1.1: +eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -7043,10 +7051,10 @@ karma-source-map-support@1.4.0: dependencies: source-map-support "^0.5.5" -karma@^6.3.2: - version "6.3.2" - resolved "https://registry.npmjs.org/karma/-/karma-6.3.2.tgz" - integrity sha512-fo4Wt0S99/8vylZMxNj4cBFyOBBnC1bewZ0QOlePij/2SZVWxqbyLeIddY13q6URa2EpLRW8ixvFRUMjkmo1bw== +karma@^6.3.3: + version "6.3.3" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.3.tgz#bd04c7c533f8de99b3c3e85e191d0a6ae2621ad1" + integrity sha512-JRAujkKWaOtO2LmyPH7K2XXRhrxuFAn9loIL9+iiah6vjz+ZLkqdKsySV9clRITGhj10t9baIfbCl6CJ5hu9gQ== dependencies: body-parser "^1.19.0" braces "^3.0.2" @@ -7172,10 +7180,10 @@ license-checker@^25.0.1: spdx-satisfies "^4.0.0" treeify "^1.1.0" -license-webpack-plugin@2.3.17: - version "2.3.17" - resolved "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.3.17.tgz" - integrity sha512-4jJ5/oIkhylMw2EjXh9sxPP8KC3FYBjTcxOCoTIaC2J/zVbJhfw992UEpSsov8VTt97XtU+xJyE4cJn4gHB2PA== +license-webpack-plugin@2.3.19: + version "2.3.19" + resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.3.19.tgz#f02720b2b0bcd9ae27fb63f0bd908d9ac9335d6c" + integrity sha512-z/izhwFRYHs1sCrDgrTUsNJpd+Xsd06OcFWSwHz/TiZygm5ucweVZi1Hu14Rf6tOj/XAl1Ebyc7GW6ZyyINyWA== dependencies: "@types/webpack-sources" "^0.1.5" webpack-sources "^1.2.0" @@ -7275,11 +7283,6 @@ lodash.defaults@^4.2.0: resolved "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz" integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= -lodash.difference@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz" - integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= - lodash.filter@^4.6.0: version "4.6.0" resolved "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz" @@ -7903,6 +7906,17 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" +multimatch@*, multimatch@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" + integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== + dependencies: + "@types/minimatch" "^3.0.3" + array-differ "^3.0.0" + array-union "^2.1.0" + arrify "^2.0.1" + minimatch "^3.0.4" + mute-stream@0.0.8: version "0.0.8" resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" @@ -7975,9 +7989,9 @@ ngx-childprocess@^0.0.6: dependencies: "@types/electron" "^1.4.38" -ngx-device-detector@^2.0.9: +ngx-device-detector@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/ngx-device-detector/-/ngx-device-detector-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/ngx-device-detector/-/ngx-device-detector-2.1.1.tgz#a22a9477f382d02edf28786c5609878a57d2834f" integrity sha512-eTuQLAmc2XRRbxDnO9h1QVV0piSyPjstXT5G8fo1rvXy7Ly3MAiniEM2WvTiN7FjtY/VdhEeuBmu/ErSm5cLJg== dependencies: tslib "^2.0.0" @@ -9283,9 +9297,9 @@ prepend-http@^2.0.0: resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= -prettier-plugin-organize-imports@^2.0.0: +prettier-plugin-organize-imports@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-2.1.0.tgz#5b2e762365b9bd2b25b4460c1f2cb2703b8b78db" integrity sha512-P6TzXkuZRV4g9Fl363tN+r6/ecynu0fwmItKCb/04iksrUtwl/6Jf4DxBPuW8UbcgFRadltxB0VlV5Yh1Ec0Ow== prettier@^2.3.0: @@ -9293,6 +9307,11 @@ prettier@^2.3.0: resolved "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz" integrity sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w== +prettier@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.1.tgz#76903c3f8c4449bc9ac597acefa24dc5ad4cbea6" + integrity sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA== + pretty-bytes@^5.1.0, pretty-bytes@^5.3.0: version "5.6.0" resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" @@ -10571,17 +10590,17 @@ snyk-try-require@^2.0.0: lodash.clonedeep "^4.3.0" lru-cache "^5.1.1" -snyk@^1.589.0: - version "1.616.0" - resolved "https://registry.npmjs.org/snyk/-/snyk-1.616.0.tgz" - integrity sha512-W72FuQNt9YGEKbqxwpk4Xst4aYZ6h5Zmg1glV49qNEtP2FIngoQd4DNX5eyPU7ZhqOFEMlVUZicJgOfdfvNcxQ== +snyk@^1.623.0: + version "1.623.0" + resolved "https://registry.yarnpkg.com/snyk/-/snyk-1.623.0.tgz#a1edea4466879d99d3c321b738f7ddd3bedeced3" + integrity sha512-GV8c+80qFLuaJeu0eFnoNQpNftRghO4QAtXcYJemHNp2+EP9c1ouUlq3eamUJVpqUeo6/J/R51N8uXlwNOdwoQ== dependencies: "@open-policy-agent/opa-wasm" "^1.2.0" "@snyk/cli-interface" "2.11.0" "@snyk/cloud-config-parser" "^1.9.2" - "@snyk/code-client" "3.5.1" + "@snyk/code-client" "3.7.0" "@snyk/dep-graph" "^1.27.1" - "@snyk/fix" "1.601.0" + "@snyk/fix" "1.620.0" "@snyk/gemfile" "1.2.0" "@snyk/graphlib" "^2.1.9-patch.3" "@snyk/inquirer" "^7.3.3-patch" @@ -11790,7 +11809,7 @@ vscode-languageserver-types@^3.16.0: resolved "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz" integrity sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA== -watchpack@^2.0.0, watchpack@^2.2.0: +watchpack@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz" integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA== @@ -11923,14 +11942,6 @@ webpack-sources@^1.1.0, webpack-sources@^1.2.0, webpack-sources@^1.3.0: source-list-map "^2.0.0" source-map "~0.6.1" -webpack-sources@^2.1.1: - version "2.2.0" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz" - integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w== - dependencies: - source-list-map "^2.0.1" - source-map "^0.6.1" - webpack-sources@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.3.0.tgz#9ed2de69b25143a4c18847586ad9eccb19278cfa" @@ -11946,39 +11957,10 @@ webpack-subresource-integrity@1.5.2: dependencies: webpack-sources "^1.3.0" -webpack@5.36.2: - version "5.36.2" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.36.2.tgz" - integrity sha512-XJumVnnGoH2dV+Pk1VwgY4YT6AiMKpVoudUFCNOXMIVrEKPUgEwdIfWPjIuGLESAiS8EdIHX5+TiJz/5JccmRg== - dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.47" - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/wasm-edit" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - acorn "^8.2.1" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.0" - es-module-lexer "^0.4.0" - eslint-scope "^5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.0.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.1" - watchpack "^2.0.0" - webpack-sources "^2.1.1" - -webpack@5.38.0: - version "5.38.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.38.0.tgz#bd9f9ef8a8778c7162f598647b7a6e6273cb55e8" - integrity sha512-9jrxzP0C3Q+ypaqaLU0TH3CgcSHR02cqPRCzOKkjiVJZoKSjoVH6Kf4Y1ytJj5NWoXSYydvhoHkaJO//ej2ckA== +webpack@5.38.1: + version "5.38.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.38.1.tgz#5224c7f24c18e729268d3e3bc97240d6e880258e" + integrity sha512-OqRmYD1OJbHZph6RUMD93GcCZy4Z4wC0ele4FXyYF0J6AxO1vOSuIlU1hkS/lDlR9CDYBz64MZRmdbdnFFoT2g== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.47" @@ -12172,9 +12154,9 @@ xterm-addon-fit@^0.5.0: resolved "https://registry.npmjs.org/xterm-addon-fit/-/xterm-addon-fit-0.5.0.tgz" integrity sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ== -xterm@^4.11.0: +xterm@^4.12.0: version "4.12.0" - resolved "https://registry.npmjs.org/xterm/-/xterm-4.12.0.tgz" + resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.12.0.tgz#db09b425b4dcae5b96f8cbbaaa93b3bc60997ca9" integrity sha512-K5mF/p3txUV18mjiZFlElagoHFpqXrm5OYHeoymeXSu8GG/nMaOO/+NRcNCwfdjzAbdQ5VLF32hEHiWWKKm0bw== y18n@^4.0.0: From 04fdcc68938450943660d65c71afd20f938ee79d Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Mon, 14 Jun 2021 16:12:32 +0200 Subject: [PATCH 04/25] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 32b36f6f..10c78730 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gns3-web-ui", - "version": "2.2.22", + "version": "2.2.23dev", "author": { "name": "GNS3 Technology Inc.", "email": "developers@gns3.com" From 0124018b029d625dd608fb5bdb2c0b74c14c507f Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Tue, 15 Jun 2021 14:56:00 +0200 Subject: [PATCH 05/25] Update project-map.component.ts --- .../project-map/project-map.component.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/app/components/project-map/project-map.component.ts b/src/app/components/project-map/project-map.component.ts index 7a05b8ab..e44ec93a 100644 --- a/src/app/components/project-map/project-map.component.ts +++ b/src/app/components/project-map/project-map.component.ts @@ -476,27 +476,27 @@ export class ProjectMapComponent implements OnInit, OnDestroy { const onLinkContextMenu = this.linkWidget.onContextMenu.subscribe((eventLink: LinkContextMenu) => { const link = this.mapLinkToLink.convert(eventLink.link); - this.contextMenu.openMenuForListOfElements([], [], [], [link], eventLink.event.screenY - 60, eventLink.event.screenX); + this.contextMenu.openMenuForListOfElements([], [], [], [link], eventLink.event.pageY, eventLink.event.pageX); }); const onEthernetLinkContextMenu = this.ethernetLinkWidget.onContextMenu.subscribe((eventLink: LinkContextMenu) => { const link = this.mapLinkToLink.convert(eventLink.link); - this.contextMenu.openMenuForListOfElements([], [], [], [link], eventLink.event.screenY - 60, eventLink.event.screenX); + this.contextMenu.openMenuForListOfElements([], [], [], [link], eventLink.event.pageY, eventLink.event.pageX); }); const onSerialLinkContextMenu = this.serialLinkWidget.onContextMenu.subscribe((eventLink: LinkContextMenu) => { const link = this.mapLinkToLink.convert(eventLink.link); - this.contextMenu.openMenuForListOfElements([], [], [], [link], eventLink.event.screenY - 60, eventLink.event.screenX); + this.contextMenu.openMenuForListOfElements([], [], [], [link], eventLink.event.pageY, eventLink.event.pageX); }); const onNodeContextMenu = this.nodeWidget.onContextMenu.subscribe((eventNode: NodeContextMenu) => { const node = this.mapNodeToNode.convert(eventNode.node); - this.contextMenu.openMenuForNode(node, eventNode.event.screenY - 60, eventNode.event.screenX); + this.contextMenu.openMenuForNode(node, eventNode.event.pageY, eventNode.event.pageX); }); const onDrawingContextMenu = this.drawingsWidget.onContextMenu.subscribe((eventDrawing: DrawingContextMenu) => { const drawing = this.mapDrawingToDrawing.convert(eventDrawing.drawing); - this.contextMenu.openMenuForDrawing(drawing, eventDrawing.event.screenY - 60, eventDrawing.event.screenX); + this.contextMenu.openMenuForDrawing(drawing, eventDrawing.event.pageY, eventDrawing.event.pageX); }); const onLabelContextMenu = this.labelWidget.onContextMenu.subscribe((eventLabel: LabelContextMenu) => { @@ -512,8 +512,8 @@ export class ProjectMapComponent implements OnInit, OnDestroy { this.contextMenu.openMenuForInterfaceLabel( linkNode, link, - eventInterfaceLabel.event.screenY - 60, - eventInterfaceLabel.event.screenX + eventInterfaceLabel.event.pageY, + eventInterfaceLabel.event.pageX ); } ); From cb101e8202c0584dbb29bedbfb76425f88d8389c Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Tue, 15 Jun 2021 15:25:19 +0200 Subject: [PATCH 06/25] Updating dependencies --- package.json | 48 ++-- yarn.lock | 799 +++++++++++++++++++++++++++------------------------ 2 files changed, 441 insertions(+), 406 deletions(-) diff --git a/package.json b/package.json index 10c78730..7511fa9f 100644 --- a/package.json +++ b/package.json @@ -41,21 +41,21 @@ }, "private": true, "dependencies": { - "@angular/animations": "^12.0.3", - "@angular/cdk": "^12.0.3", - "@angular/common": "^12.0.3", - "@angular/compiler": "^12.0.3", - "@angular/core": "^12.0.3", - "@angular/forms": "^12.0.3", - "@angular/material": "^12.0.3", - "@angular/platform-browser": "^12.0.3", - "@angular/platform-browser-dynamic": "^12.0.3", - "@angular/router": "^12.0.3", - "@sentry/browser": "^6.5.1", + "@angular/animations": "^12.0.4", + "@angular/cdk": "^12.0.4", + "@angular/common": "^12.0.4", + "@angular/compiler": "^12.0.4", + "@angular/core": "^12.0.4", + "@angular/forms": "^12.0.4", + "@angular/material": "^12.0.4", + "@angular/platform-browser": "^12.0.4", + "@angular/platform-browser-dynamic": "^12.0.4", + "@angular/router": "^12.0.4", + "@sentry/browser": "^6.7.1", "@types/jest": "^26.0.23", "@types/mocha": "^8.2.2", - "@types/react": "^17.0.9", - "@types/react-dom": "^17.0.6", + "@types/react": "^17.0.11", + "@types/react-dom": "^17.0.7", "angular-draggable-droppable": "^4.6.0", "angular-resizable-element": "^3.4.0", "bootstrap": "^5.0.1", @@ -77,36 +77,36 @@ "rxjs": "^6.5.3", "rxjs-compat": "^6.5.3", "save-svg-as-png": "^1.4.17", - "snyk": "^1.623.0", + "snyk": "^1.630.0", "spark-md5": "^3.0.1", "svg-crowbar": "^0.6.5", "tree-kill": "^1.2.2", - "tslib": "^2.2.0", + "tslib": "^2.3.0", "typeface-roboto": "^1.1.13", - "xterm": "^4.12.0", + "xterm": "^4.13.0", "xterm-addon-attach": "^0.6.0", "xterm-addon-fit": "^0.5.0", "yargs": "^17.0.1", "zone.js": "~0.11.4" }, "devDependencies": { - "@angular-devkit/build-angular": "^12.0.3", - "@angular/cli": "^12.0.3", - "@angular/compiler-cli": "^12.0.3", - "@angular/language-service": "^12.0.3", + "@angular-devkit/build-angular": "^12.0.4", + "@angular/cli": "^12.0.4", + "@angular/compiler-cli": "^12.0.4", + "@angular/language-service": "^12.0.4", "@sentry/cli": "^1.66.0", "@sentry/electron": "^2.4.1", "@types/jasmine": "^3.7.7", "@types/jasminewd2": "^2.0.9", "@types/node": "15.12.2", "codelyzer": "^6.0.2", - "electron": "^13.1.1", - "electron-builder": "22.10.5", + "electron": "^13.1.2", + "electron-builder": "22.11.7", "file-loader": "^6.2.0", "jasmine-core": "~3.7.1", "jasmine-spec-reporter": "~7.0.0", "jquery": "^3.6.0", - "karma": "^6.3.3", + "karma": "^6.3.4", "karma-chrome-launcher": "~3.1.0", "karma-cli": "^2.0.0", "karma-coverage-istanbul-reporter": "~3.0.3", @@ -123,7 +123,7 @@ "tslint": "^6.1.3", "tslint-config-prettier": "^1.18.0", "typescript": "4.2.4", - "webpack": "5.38.1", + "webpack": "5.39.0", "yarn-upgrade-all": "^0.5.4" }, "greenkeeper": { diff --git a/yarn.lock b/yarn.lock index c1ef60b7..1f7b441b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,28 +2,28 @@ # yarn lockfile v1 -"7zip-bin@~5.0.3": - version "5.0.3" - resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz#bc5b5532ecafd923a61f2fb097e3b108c0106a3f" - integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== +"7zip-bin@~5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz#9274ec7460652f9c632c59addf24efb1684ef876" + integrity sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ== -"@angular-devkit/architect@0.1200.3": - version "0.1200.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1200.3.tgz#b919f78bcc0fac645733804329443b9e8500dab4" - integrity sha512-CaqushsPYQ3Us7eBIuZM9/u5H6Rjvm5tUCYS7D5lr5w4QbiwC+6L4dheWEu1PuS2TyyBt6lVwgUNguOmixDb0Q== +"@angular-devkit/architect@0.1200.4": + version "0.1200.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1200.4.tgz#03b41bf94e39928de0eb35654aa4d2e59ac34418" + integrity sha512-/BKaVlpbZYb65elZ+xHoKB2J2DuTstMU++dqE9T/7E0CevuMoOdkLQFQm71Kjl3eFI4i6T5d8mlLVPNE/ZWm7w== dependencies: - "@angular-devkit/core" "12.0.3" + "@angular-devkit/core" "12.0.4" rxjs "6.6.7" -"@angular-devkit/build-angular@^12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-12.0.3.tgz#b10a987f1693fc1b21bdeacc51d703157e8a387a" - integrity sha512-zSQaWT64Nr+vMNNJ6JRFMA8ryNUhx9/kBUR5/s5HP43Y68nLw6EjdUryE5c8tIem+Pc+TcnHpZb9/q4d5VumCQ== +"@angular-devkit/build-angular@^12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-12.0.4.tgz#3076259d38d7b31657315e387ea1cfb954aa5c34" + integrity sha512-2GqEWJZleb86zEa9JMeM5BsbgV0Zor4mCaBj2KSjS28+WVJ/Q77LgDEdfidPuPcXzK7n+Mzrt6qLlrX8ORkaEg== dependencies: - "@angular-devkit/architect" "0.1200.3" - "@angular-devkit/build-optimizer" "0.1200.3" - "@angular-devkit/build-webpack" "0.1200.3" - "@angular-devkit/core" "12.0.3" + "@angular-devkit/architect" "0.1200.4" + "@angular-devkit/build-optimizer" "0.1200.4" + "@angular-devkit/build-webpack" "0.1200.4" + "@angular-devkit/core" "12.0.4" "@babel/core" "7.14.3" "@babel/generator" "7.14.3" "@babel/plugin-transform-async-to-generator" "7.13.0" @@ -33,7 +33,7 @@ "@babel/template" "7.12.13" "@discoveryjs/json-ext" "0.5.2" "@jsdevtools/coverage-istanbul-loader" "3.0.5" - "@ngtools/webpack" "12.0.3" + "@ngtools/webpack" "12.0.4" ansi-colors "4.1.1" babel-loader "8.2.2" browserslist "^4.9.1" @@ -88,27 +88,27 @@ webpack-merge "5.7.3" webpack-subresource-integrity "1.5.2" -"@angular-devkit/build-optimizer@0.1200.3": - version "0.1200.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.3.tgz#cbf3b62c0b461946cf2c7b93772be65b9a2745b2" - integrity sha512-GELr5FTkwLJrTuARfTnBn+NkJjGbmbqrm/+znU6QlhyOTSE/PNZed0kiiTP68BQtL4FO5SeTcJ3tdjOW8i3hiw== +"@angular-devkit/build-optimizer@0.1200.4": + version "0.1200.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1200.4.tgz#b316a367a6073752457d11f89147283fc8e87462" + integrity sha512-7lD3oXfQX00nA1FElH2cI0C8Q1rNnqMpFCTB1Bfd/7/SM+ihkL7EjIoFalN5HZuFGR536zrguSKnmv3C6wijrw== dependencies: source-map "0.7.3" tslib "2.2.0" typescript "4.2.4" -"@angular-devkit/build-webpack@0.1200.3": - version "0.1200.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1200.3.tgz#53fe460b290ca89c8286f37dcb96fff4d5547045" - integrity sha512-RVQ9+mBRnxn1si/q2aMzpnXOXMv1a64nNrhNqP4n43jczZW1Cu85TnwYxeTjXnR3I5u+7wtpifqi9H3pLxV7lQ== +"@angular-devkit/build-webpack@0.1200.4": + version "0.1200.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1200.4.tgz#a957d706c7f1c449682a16c16998ccf06e406526" + integrity sha512-Q7UYBvSsbK4ubsqJIVrnh4Q+EwVqNdRFlhekaM5XN3WH6xRsuZjTMuYDrQh5JSzFYjrKqezau1KzyKs7V1xIJQ== dependencies: - "@angular-devkit/architect" "0.1200.3" + "@angular-devkit/architect" "0.1200.4" rxjs "6.6.7" -"@angular-devkit/core@12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-12.0.3.tgz#01c796dd7d3e0c228b4628439ee1c34bbdda4f1f" - integrity sha512-d6E4ldHzIerzFpXXZkynluIbZZeYD+VteFLBZ77lOXAuUYuuLEiW8h4bpJOqribeJli5c1cJ/yyELYHrbiiLcw== +"@angular-devkit/core@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-12.0.4.tgz#23b92b6e9c430107d1ca4e11336d509365e48ee1" + integrity sha512-gtQkLXuQK7NPkurw49//MFZWoRa9aVCIbxE2uxbDAzzQengx9nLUoezS2xVdM7m/SqVK72YL+ZFfSTXzfiSdnA== dependencies: ajv "8.2.0" ajv-formats "2.0.2" @@ -117,40 +117,40 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular-devkit/schematics@12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-12.0.3.tgz#9c9a881db1fd4c07b78729f46e2932adf76906de" - integrity sha512-FozSvAJPI1iNLkrMVfbQvrk6XxF86zkpnVoaOeT/S2WeS64uRLW9DZmFHJxD4K2+MUPkwx6x6Y8AjARIkGtcIA== +"@angular-devkit/schematics@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-12.0.4.tgz#fdbf2145985261253a86732d86352cf26eadc98d" + integrity sha512-MEAAcOh1Y4R6O7HWo7mMXgRK9BSbCZ3rlx+aHmtWpNXohw0TRhNY5WmRnQTRvMA3qjR9nh0Uo7BkRpgwRfqmBw== dependencies: - "@angular-devkit/core" "12.0.3" + "@angular-devkit/core" "12.0.4" ora "5.4.0" rxjs "6.6.7" -"@angular/animations@^12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-12.0.3.tgz#97dd24455df2efdcf2d19afbd7e81877145e1308" - integrity sha512-uaOltimrGBJe1vIunaz9d8gtE8IY242XwakYGSFYf1zIseJRI7GBQ29L8+O2/QHbdTgdtsubYaqrPyMYLKYDvA== +"@angular/animations@^12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-12.0.4.tgz#b48986703bbc17d3e753b55e920399c1829f4dc8" + integrity sha512-lpKVhTb77p23jmfiwA4hhaHDC5sO3qU8lDvQ+ePrSZ660WBckBEXzwYdqhaOmmMjQJZpJPPoP5QF5XExLGltaQ== dependencies: tslib "^2.1.0" -"@angular/cdk@^12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-12.0.3.tgz#ed2ab6da003dd39559c732186cd5e64536bd60fa" - integrity sha512-E/3eAcDTsuSAaeOajwBwjPtBMVSzZu5BgtXBX+QfC66jWJ4FdX5FUxGDZCwlF/Bbtdkvn0Jq8+UW9RlrS2Hd9Q== +"@angular/cdk@^12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-12.0.4.tgz#074f17dc3f3f2ed054dace5ea2d6c89126e000df" + integrity sha512-NX/1kEc6ndyEHjGcMtMJYEjwmoURuwRSqKJLbGcHTUwXuuR+hfDP/vU1XDOeXNC80SV+0B4BpJnREkINILfYKw== dependencies: tslib "^2.1.0" optionalDependencies: parse5 "^5.0.0" -"@angular/cli@^12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-12.0.3.tgz#cd1cb61fb51e406c42edc8dbae17ed6b0e6bcdba" - integrity sha512-RiEwa4YUU3Cg5vJioRqioMOcbNcDEVkzQBeHUBs0JfjpheHfuCJsMDz/RB503691ut+gNyMrHtiYqqub7Ao/bQ== +"@angular/cli@^12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-12.0.4.tgz#766d471e7486a9e51297278b3a8afdbc96265ab4" + integrity sha512-kZaJ55udB/AjQ+q8CrQfk6JGWdnJpH3c2VtbvSuR/ihiG6zMSxwpXqt1rImQN0RfffG3bsHD2SpM+T7/LKPemw== dependencies: - "@angular-devkit/architect" "0.1200.3" - "@angular-devkit/core" "12.0.3" - "@angular-devkit/schematics" "12.0.3" - "@schematics/angular" "12.0.3" + "@angular-devkit/architect" "0.1200.4" + "@angular-devkit/core" "12.0.4" + "@angular-devkit/schematics" "12.0.4" + "@schematics/angular" "12.0.4" "@yarnpkg/lockfile" "1.1.0" ansi-colors "4.1.1" debug "4.3.1" @@ -168,17 +168,17 @@ symbol-observable "4.0.0" uuid "8.3.2" -"@angular/common@^12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-12.0.3.tgz#c79f98fc1208e7a9846658083b4a5b208a553edb" - integrity sha512-Y5wm7kr8XjS3Rsy2eitJxd9F1Z+pTWjioTg4o1PEUvsKwahGvJ+G3brNejswoTkj8YJjRTrUPyyW8JT+nWGkbA== +"@angular/common@^12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-12.0.4.tgz#df16ce4be7c683f73445999d6f87099a197a4f3d" + integrity sha512-P0l5OcDdJhsURakJXxV9tGbicY8a6fEBsB+9f4iTEm36Q1FO0/7RhMMlwUDBlNK37P1oi7pEUA0mRcFIx9TOLA== dependencies: tslib "^2.1.0" -"@angular/compiler-cli@^12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-12.0.3.tgz#981b9afcb5294b8f28bc33b8e1e7fce8a52e9440" - integrity sha512-0arWz+Gyfn/zrxh4Tb/NujYwGfB2GSsB/4KVzq3jm+Ua7SRXad19V5mpN0UG9eb1jS9B/9JEy+R5vMe4ywPWuQ== +"@angular/compiler-cli@^12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-12.0.4.tgz#bb2f0f102c3b70909570ebb34e283ab054bb451f" + integrity sha512-BAhUcJyJM2QMs+TE/A83O98nslP+xAJIaY4sag+AiH25QdioMz5kGnn7NvOpxaTxwcHFePwhZpLTQAjm3vtOsg== dependencies: "@babel/core" "^7.8.6" "@babel/types" "^7.8.6" @@ -200,10 +200,10 @@ resolved "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz" integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ== -"@angular/compiler@^12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-12.0.3.tgz#0d88c652b827bcace866e7e044b3d46ba2abd5de" - integrity sha512-Vux9JwHd5pYsSmNvACUWULdT8/nIekP9k2yGqaDdbiHsptk5UCcyH7E0zhMh8Um4NYFqMBZeO0yXySa+7u5aJA== +"@angular/compiler@^12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-12.0.4.tgz#6e9e484336754f9e70674d0e05636be58bbd907a" + integrity sha512-D/vYeRn3yTM6cgEwlMmp/WNJyDPMVrbOfNfc2nUcpHYuy/QcrjNde6QzNJjeNnyZlWRmWcE1VxwoX8+8xJdbzg== dependencies: tslib "^2.1.0" @@ -212,50 +212,50 @@ resolved "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz" integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w== -"@angular/core@^12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-12.0.3.tgz#349b58c4c635bdcfbf62e8b085e8700966ac3aff" - integrity sha512-wGsu7wMeBQNN5ShJsLpzkCfBk6h089ZIf9bUMytNWAvLd+MGqP7f6D1ua9+ul62VNyBFtWgQLK/38E6J+9OPYg== +"@angular/core@^12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-12.0.4.tgz#46ebc5f0a3356df34092b1352df15ed606849b07" + integrity sha512-KYFcFDot89F65CN3MzMEFoUPCVEZUkSQCLyxWfJAJT56Vtik6r91w6qwprFJ2wRk7SJ7018NLFwjZQIElj0s8A== dependencies: tslib "^2.1.0" -"@angular/forms@^12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-12.0.3.tgz#853992ccaaca0261eee1fba752de6ef20a7ee2d2" - integrity sha512-AdOX8epoXgges1hchv5hYRhO6iOZhjSfEmJkVCpInq08evVG7ON/FjN3n4bP4xRHrpNB63rIzoSraD3AYw8A/A== +"@angular/forms@^12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-12.0.4.tgz#50f62a5a3984112f3f2568ab6cd9df1b38096095" + integrity sha512-700j7RNGdQhGrIUMwSgP1DxT35JlYmAdmmKK2mZl2bfQwZw1xKwyG9XgbLGiaJbFoG3nLLiUgJFonA+xS4nU6w== dependencies: tslib "^2.1.0" -"@angular/language-service@^12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-12.0.3.tgz#5240db3612b32d0d5434a6e27c5dc2678e1f2300" - integrity sha512-7dn5C9hTMwnoKSMZX/5lkA2EzrB8MU12iqIWHmiEqgzC4kLqkTNzyvlQ7OB6DxsH1bTsf+KXxH/hUkk1CNyFJA== +"@angular/language-service@^12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-12.0.4.tgz#af2610721953f4c26727c37d829c38fa7f85445b" + integrity sha512-BtXQ6MlnmBO/Ld0tyWP7GezHu9EAd+UtEZqBdoCCO0AgQ3JN4WGctowmYxEBc2cVtKGpjKEgJfVQu80RxK4RZg== -"@angular/material@^12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-12.0.3.tgz#f0fe83061fdeb9330b0ea0b1683a5e4f49bef1d1" - integrity sha512-o21ogL6P38CPS0KpvbgEJ18G0YIFvG4wcyp7hTEoMv4YncpZWPQXDBi501Ys+OsUmv57R/vYa/mo+sz6uSYw2A== +"@angular/material@^12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-12.0.4.tgz#0cd88328f846d7ba6485abc7f1888aef174d7e4c" + integrity sha512-pvfYEeUCLR7EmA6R/kkXz5jfl+RHwh3AS9X9kWARWIOzA7p0hG9ApoFT5KCofTBNp0nukau1QoGR4WGla6wWvQ== dependencies: tslib "^2.1.0" -"@angular/platform-browser-dynamic@^12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.0.3.tgz#503af57ef63847cfee9861607ef52f67fcfceba5" - integrity sha512-ojDDmNXeSukV4FbPNiNeR+A77RNWnXJ+ZHWBETlf5tfZgHtecyEmHlgJG3jOSDD9f4c9/F5FpuHD/LDCMp9GnA== +"@angular/platform-browser-dynamic@^12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.0.4.tgz#15dfa56393269a1c0983dcc61e25334f1c4eb2a6" + integrity sha512-vmqpjEH0XXLZ7iG/Q8R8CCzIbTVMcr6CEICjWXDZx+gdCUROhmbQT8/bEPVclRDAPePEQQ8A+nNIX7RPYji+1g== dependencies: tslib "^2.1.0" -"@angular/platform-browser@^12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-12.0.3.tgz#71aff642b648fd9e15334f214573c9252adbb8d3" - integrity sha512-mHcjOxnRWv1G45npbyMknROCx+LmJemYoSERrhi+fBfv00zdJlZn+TcNIgg90xsBiP4C2d1+GMk0w8I0LYl6bQ== +"@angular/platform-browser@^12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-12.0.4.tgz#3a6fa5447e3f9e4d3ca62027410be529187efe5c" + integrity sha512-Wp8NSGZdbX1rHwnwaB3qijJ5rFmZ+BIOsCZDgZR18NZrF+R+npAm276/uM4g8n8KqRUbQkBeuWCPMfZNjwMY8g== dependencies: tslib "^2.1.0" -"@angular/router@^12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-12.0.3.tgz#72a505d785135ef9e203cfd56287e23ef8d2054e" - integrity sha512-mv5p2zIfm911tlBOq3L1n8QY7KVwLHjzPCblQEeMyLsl7RGsom7SMpH/L2D8CP5gubzB2T4oPRuR7I8MtC+6oQ== +"@angular/router@^12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-12.0.4.tgz#4ad563a6b4501d8b1e74566469a1965cebd458dd" + integrity sha512-gDZlOu/kOZ6TLTqUpVMQ7M8KntaGYtkZAbyEdFfC0vKhXMC9IKLv5phMzBJ+J+jPHt1D6DI6bPHgOTiKAiwIQQ== dependencies: tslib "^2.1.0" @@ -1183,10 +1183,10 @@ global-agent "^2.0.2" global-tunnel-ng "^2.7.1" -"@electron/universal@1.0.4": - version "1.0.4" - resolved "https://registry.npmjs.org/@electron/universal/-/universal-1.0.4.tgz" - integrity sha512-ajZoumi4XwqwmZe8YVhu4XGkZBCPyWZsVCQONPTIe9TUlleSN+dic3YpXlaWcilx/HOzTdldTKtabNTeI0gDoA== +"@electron/universal@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.5.tgz#b812340e4ef21da2b3ee77b2b4d35c9b86defe37" + integrity sha512-zX9O6+jr2NMyAdSkwEUlyltiI4/EBLu2Ls/VD3pUQdi3cAYeYfdQnT2AJJ38HE4QxLccbU13LSpccw1IWlkyag== dependencies: "@malept/cross-spawn-promise" "^1.1.0" asar "^3.0.3" @@ -1228,15 +1228,25 @@ dependencies: cross-spawn "^7.0.1" +"@malept/flatpak-bundler@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz#e8a32c30a95d20c2b1bb635cc580981a06389858" + integrity sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q== + dependencies: + debug "^4.1.1" + fs-extra "^9.0.0" + lodash "^4.17.15" + tmp-promise "^3.0.2" + "@mattlewis92/dom-autoscroller@^2.4.2": version "2.4.2" resolved "https://registry.npmjs.org/@mattlewis92/dom-autoscroller/-/dom-autoscroller-2.4.2.tgz" integrity sha512-YbrUWREPGEjE/FU6foXcAT1YbVwqD/jkYnY1dFb0o4AxtP3s4xKBthlELjndZih8uwsDWgQZx1eNskRNe2BgZQ== -"@ngtools/webpack@12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-12.0.3.tgz#47fd9abffe96d554edf063eb252d4f2c06d834e1" - integrity sha512-ql2CMgFdOxWLq9uK18ql4JkrO7jJZOYWJzsjE1BY2XBino8UI7T0bVvIIuBu/2U9KMPiWbH+7OwIhnIc+xDJ4A== +"@ngtools/webpack@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-12.0.4.tgz#4c2cc2f19040e902582cadf092ce0743393f83a8" + integrity sha512-djmXTB7qo35Mw6olJEfVTOFRms/E4rCpcLV0GfQJqhWfUB9K/n+QbxW5cp09J48DpqlMP00C942+POBcUqbg3g== dependencies: enhanced-resolve "5.7.0" @@ -1327,13 +1337,13 @@ sprintf-js "^1.1.2" utf8 "^3.0.0" -"@schematics/angular@12.0.3": - version "12.0.3" - resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-12.0.3.tgz#00f7f1c6c6ae527dd7cfd36c1426238995f98620" - integrity sha512-EUg/mYFOcj5eSYLtaZPfX0AfXPdOE9fBnx6KixwFApmu6hwMcAWQTJxnpXPZ9povrHkJa32iB984aKYfOitZ9w== +"@schematics/angular@12.0.4": + version "12.0.4" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-12.0.4.tgz#a4d140a500e62cd24f46e5273376e4e830f4b866" + integrity sha512-rC4/+c6p3S/ezDeJzAstrwzdpYgcYzHumtzVSDDM+3Kx0QBUTq/Nj6sk1e2C/fgtV5Jb2INEkTvrih+HP7I0wA== dependencies: - "@angular-devkit/core" "12.0.3" - "@angular-devkit/schematics" "12.0.3" + "@angular-devkit/core" "12.0.4" + "@angular-devkit/schematics" "12.0.4" jsonc-parser "3.0.0" "@sentry/browser@5.27.6": @@ -1346,14 +1356,14 @@ "@sentry/utils" "5.27.6" tslib "^1.9.3" -"@sentry/browser@^6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.5.1.tgz#9a6ed5607b3b0f4e83f38720e3e202906f8c5bdb" - integrity sha512-iVLCdEFwsoWAzE/hNknexPQjjDpMQV7mmaq9Z1P63bD6MfhwVTx4hG4pHn8HEvC38VvCVf1wv0v/LxtoODAYXg== +"@sentry/browser@^6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.7.1.tgz#e01144a08984a486ecc91d7922cc457e9c9bd6b7" + integrity sha512-R5PYx4TTvifcU790XkK6JVGwavKaXwycDU0MaAwfc4Vf7BLm5KCNJCsDySu1RPAap/017MVYf54p6dWvKiRviA== dependencies: - "@sentry/core" "6.5.1" - "@sentry/types" "6.5.1" - "@sentry/utils" "6.5.1" + "@sentry/core" "6.7.1" + "@sentry/types" "6.7.1" + "@sentry/utils" "6.7.1" tslib "^1.9.3" "@sentry/cli@^1.66.0": @@ -1379,15 +1389,15 @@ "@sentry/utils" "5.27.6" tslib "^1.9.3" -"@sentry/core@6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.5.1.tgz#c8b6c3ed86ed07b193c95d599c1b9a4a161e500e" - integrity sha512-Mh3sl/iUOT1myHmM6RlDy2ARzkUClx/g4DAt1rJ/IpQBOlDYQraplXSIW80i/hzRgQDfwhwgf4wUa5DicKBjKw== +"@sentry/core@6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.7.1.tgz#c3aaa6415d06bec65ac446b13b84f073805633e3" + integrity sha512-VAv8OR/7INn2JfiLcuop4hfDcyC7mfL9fdPndQEhlacjmw8gRrgXjR7qyhnCTgzFLkHI7V5bcdIzA83TRPYQpA== dependencies: - "@sentry/hub" "6.5.1" - "@sentry/minimal" "6.5.1" - "@sentry/types" "6.5.1" - "@sentry/utils" "6.5.1" + "@sentry/hub" "6.7.1" + "@sentry/minimal" "6.7.1" + "@sentry/types" "6.7.1" + "@sentry/utils" "6.7.1" tslib "^1.9.3" "@sentry/electron@^2.4.1": @@ -1412,13 +1422,13 @@ "@sentry/utils" "5.27.6" tslib "^1.9.3" -"@sentry/hub@6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.5.1.tgz#135ef09d07d32e87a53f664c0ae8fcc4f5963519" - integrity sha512-lBRMBVMYP8B4PfRiM70murbtJAXiIAao/asDEMIRNGMP6pI2ArqXfJCBYDkStukhikYD0Kqb4trXq+JYF07Hbg== +"@sentry/hub@6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.7.1.tgz#d46d24deec67f0731a808ca16796e6765b371bc1" + integrity sha512-eVCTWvvcp6xa0A5GGNHMQEWslmKPlisE5rGmsV/kjvSUv3zSrI0eIDfb51ikdnCiBjHpK2NBWP8Vy8cZOEJegg== dependencies: - "@sentry/types" "6.5.1" - "@sentry/utils" "6.5.1" + "@sentry/types" "6.7.1" + "@sentry/utils" "6.7.1" tslib "^1.9.3" "@sentry/minimal@5.27.6": @@ -1430,13 +1440,13 @@ "@sentry/types" "5.27.6" tslib "^1.9.3" -"@sentry/minimal@6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.5.1.tgz#b8c1b382c2ea788eec3d32d203e5081b00eb6838" - integrity sha512-q9Do/oreu1RP695CXCLowVDuQyk7ilE6FGdz2QLpTXAfx8247qOwk6+zy9Kea/Djk93+BoSDVQUSneNiVwl0nQ== +"@sentry/minimal@6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.7.1.tgz#babf85ee2f167e9dcf150d750d7a0b250c98449c" + integrity sha512-HDDPEnQRD6hC0qaHdqqKDStcdE1KhkFh0RCtJNMCDn0zpav8Dj9AteF70x6kLSlliAJ/JFwi6AmQrLz+FxPexw== dependencies: - "@sentry/hub" "6.5.1" - "@sentry/types" "6.5.1" + "@sentry/hub" "6.7.1" + "@sentry/types" "6.7.1" tslib "^1.9.3" "@sentry/node@5.27.6": @@ -1470,10 +1480,10 @@ resolved "https://registry.npmjs.org/@sentry/types/-/types-5.27.6.tgz" integrity sha512-XOW9W8DrMk++4Hk7gWi9o5VR0o/GrqGfTKyFsHSIjqt2hL6kiMPvKeb2Hhmp7Iq37N2bDmRdWpM5m+68S2Jk6w== -"@sentry/types@6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.5.1.tgz#0a34ecfd1ae9275a416a105640eb4bed45a46a1d" - integrity sha512-b/7a6CMoytaeFPx4IBjfxPw3nPvsQh7ui1C8Vw0LxNNDgBwVhPLzUOWeLWbo5YZCVbGEMIWwtCUQYWxneceZSA== +"@sentry/types@6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.7.1.tgz#c8263e1886df5e815570c4668eb40a1cfaa1c88b" + integrity sha512-9AO7HKoip2MBMNQJEd6+AKtjj2+q9Ze4ooWUdEvdOVSt5drg7BGpK221/p9JEOyJAZwEPEXdcMd3VAIMiOb4MA== "@sentry/utils@5.27.6": version "5.27.6" @@ -1483,12 +1493,12 @@ "@sentry/types" "5.27.6" tslib "^1.9.3" -"@sentry/utils@6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.5.1.tgz#046baf7d1a6564d6d555437ad3674dba9bc0806a" - integrity sha512-Wv86JYGQH+ZJ5XGFQX7h6ijl32667ikenoL9EyXMn8UoOYX/MLwZoQZin1P60wmKkYR9ifTNVmpaI9OoTaH+UQ== +"@sentry/utils@6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.7.1.tgz#909184ad580f0f6375e1e4d4a6ffd33dfe64a4d1" + integrity sha512-Tq2otdbWlHAkctD+EWTYKkEx6BL1Qn3Z/imkO06/PvzpWvVhJWQ5qHAzz5XnwwqNHyV03KVzYB6znq1Bea9HuA== dependencies: - "@sentry/types" "6.5.1" + "@sentry/types" "6.7.1" tslib "^1.9.3" "@sindresorhus/is@^0.14.0": @@ -1527,10 +1537,10 @@ js-yaml "^3.13.1" tslib "^1.10.0" -"@snyk/code-client@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@snyk/code-client/-/code-client-3.7.0.tgz#c79684fbb710ca2f2595704eca67560dc9f6d779" - integrity sha512-a1uGkSpO4Pr9UucZUVfUR5PVcl1fEA4sXbdZPyzs1AABE7JhMY6FnBYKgQFz2qIkPAPy4M0m18bnGpHq5ZdWNg== +"@snyk/code-client@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@snyk/code-client/-/code-client-3.8.1.tgz#9e109004854ff3a3dd4f0e18a9526e0c4ab8bdaa" + integrity sha512-7HrkscxEXC5eVehZ6nip2uIFDbuvCuux0lrj78twaAnVn9uUx/4G7AKZl8JcrESQEN6py80tJzjvPlBybHJ1+g== dependencies: "@deepcode/dcignore" "^1.0.2" "@snyk/fast-glob" "^3.2.6-patch" @@ -1538,7 +1548,6 @@ "@types/lodash.chunk" "^4.2.6" "@types/lodash.omit" "^4.5.6" "@types/lodash.union" "^4.6.6" - "@types/multimatch" "^4.0.0" "@types/sarif" "^2.1.3" "@types/uuid" "^8.3.0" axios "^0.21.1" @@ -2080,9 +2089,9 @@ resolved "https://registry.npmjs.org/@types/flat-cache/-/flat-cache-2.0.0.tgz" integrity sha512-fHeEsm9hvmZ+QHpw6Fkvf19KIhuqnYLU6vtWLjd5BsMd/qVi7iTkMioDZl0mQmfNRA1A6NwvhrSRNr9hGYZGww== -"@types/fs-extra@^9.0.7": +"@types/fs-extra@^9.0.11": version "9.0.11" - resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.11.tgz" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.11.tgz#8cc99e103499eab9f347dbc6ca4e99fb8d2c2b87" integrity sha512-mZsifGG4QeQ7hlkhO56u7zt/ycBgGxSVsFI/6lGTU34VtwkiqrrSDgw0+ygs8kFGWcXnFQWMrzF2h7TtDFNixA== dependencies: "@types/node" "*" @@ -2207,13 +2216,6 @@ resolved "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.2.tgz" integrity sha512-Lwh0lzzqT5Pqh6z61P3c3P5nm6fzQK/MMHl9UKeneAeInVflBSz1O2EkX6gM6xfJd7FBXBY5purtLx7fUiZ7Hw== -"@types/multimatch@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/multimatch/-/multimatch-4.0.0.tgz#e14237ade6cba7b79fe3a1a5d4e9579613cee6b6" - integrity sha512-xS26gtqY5QASmfU/6jb5vj7F0D0SctgRGtwXsKSNng1knk/OewjISlkMwGonkMCbZCqSoW3s6nL0sAtTlzbL/g== - dependencies: - multimatch "*" - "@types/node@*", "@types/node@>=10.0.0": version "15.0.2" resolved "https://registry.npmjs.org/@types/node/-/node-15.0.2.tgz" @@ -2257,10 +2259,10 @@ resolved "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz" integrity sha1-vShOV8hPEyXacCur/IKlMoGQwMU= -"@types/react-dom@^17.0.6": - version "17.0.6" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.6.tgz#c158325cf91b196270bc0f4af73463f149e7eafe" - integrity sha512-MGTI+TudxAnGTj8aco8mogaPSJGK2Whje7OZh1CxNLRyhJpTZg/pGQpIbCT0eCVFQyH7UFpdvCqQEThHIp/gsA== +"@types/react-dom@^17.0.7": + version "17.0.7" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.7.tgz#b8ee15ead9e5d6c2c858b44949fdf2ebe5212232" + integrity sha512-Wd5xvZRlccOrCTej8jZkoFZuZRKHzanDDv1xglI33oBNFMWrqOSzrvWFw7ngSiZjrpJAzPKFtX7JvuXpkNmQHA== dependencies: "@types/react" "*" @@ -2273,10 +2275,10 @@ "@types/scheduler" "*" csstype "^3.0.2" -"@types/react@^17.0.9": - version "17.0.9" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.9.tgz#1147fb520024a62c9b3841f5cb4db89b73ddb87f" - integrity sha512-2Cw7FvevpJxQrCb+k5t6GH1KIvmadj5uBbjPaLlJB/nZWUj56e1ZqcD6zsoMFB47MsJUTFl9RJ132A7hb3QFJA== +"@types/react@^17.0.11": + version "17.0.11" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.11.tgz#67fcd0ddbf5a0b083a0f94e926c7d63f3b836451" + integrity sha512-yFRQbD+whVonItSk7ZzP/L+gPTJVBkL/7shLEF+i9GC/1cV3JmUxEQz6+9ylhUpWSDuqo1N9qEvqS6vTj4USUA== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -2343,13 +2345,20 @@ resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz" integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== -"@types/yargs@^15.0.0", "@types/yargs@^15.0.13": +"@types/yargs@^15.0.0": version "15.0.13" resolved "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz" integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== dependencies: "@types/yargs-parser" "*" +"@types/yargs@^16.0.2": + version "16.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.3.tgz#4b6d35bb8e680510a7dc2308518a80ee1ef27e01" + integrity sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ== + dependencies: + "@types/yargs-parser" "*" + "@webassemblyjs/ast@1.11.0": version "1.11.0" resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz" @@ -2811,39 +2820,39 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" -app-builder-bin@3.5.12: - version "3.5.12" - resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.12.tgz#bbe174972cc1f481f73d6d92ad47a8b4c7eb4530" - integrity sha512-lQARM2AielmFoBeIo6LZigAe+58Wwe07ZWkt+wVeDxzyieNmeWjlvz/V5dKzinydwdHd+CNswN86sww46yijjA== +app-builder-bin@3.5.13: + version "3.5.13" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.13.tgz#6dd7f4de34a4e408806f99b8c7d6ef1601305b7e" + integrity sha512-ighVe9G+bT1ENGdp9ecO1P+94vv/f+FUwaI+XkNzeg9bYF8Oi3BQ+mJuxS00UgyHs8luuOzjzC+qnAtdb43Mpg== -app-builder-lib@22.10.5: - version "22.10.5" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.10.5.tgz#24a88581c891e5b187a0d569aa44e7c4a0dc8de2" - integrity sha512-/W8nlGamJCtKlQtsMWwU9vb+cX4pTNY+rJWCuc7oXUykVSMS50W7LhQusIjCelNfymUQ1XCu6cXEY/ylqhX12A== +app-builder-lib@22.11.7: + version "22.11.7" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.11.7.tgz#c0ad1119ebfbf4189a8280ad693625f5e684dca6" + integrity sha512-pS9/cR4/TnNZVAHZECiSvvwTBzbwblj7KBBZkMKDG57nibq0I1XY8zAaYeHFdlYTyrRcz9JUXbAqJKezya7UFQ== dependencies: - "7zip-bin" "~5.0.3" + "7zip-bin" "~5.1.1" "@develar/schema-utils" "~2.6.5" - "@electron/universal" "1.0.4" + "@electron/universal" "1.0.5" + "@malept/flatpak-bundler" "^0.4.0" async-exit-hook "^2.0.1" bluebird-lst "^1.0.9" - builder-util "22.10.5" - builder-util-runtime "8.7.3" + builder-util "22.11.7" + builder-util-runtime "8.7.7" chromium-pickle-js "^0.2.0" debug "^4.3.2" ejs "^3.1.6" - electron-publish "22.10.5" - fs-extra "^9.1.0" - hosted-git-info "^3.0.8" - is-ci "^2.0.0" - istextorbinary "^5.12.0" - js-yaml "^4.0.0" - lazy-val "^1.0.4" + electron-publish "22.11.7" + fs-extra "^10.0.0" + hosted-git-info "^4.0.2" + is-ci "^3.0.0" + isbinaryfile "^4.0.8" + js-yaml "^4.1.0" + lazy-val "^1.0.5" minimatch "^3.0.4" - normalize-package-data "^3.0.0" - read-config-file "6.0.0" + read-config-file "6.2.0" sanitize-filename "^1.6.3" - semver "^7.3.4" - temp-file "^3.3.7" + semver "^7.3.5" + temp-file "^3.4.0" app-root-path@^3.0.0: version "3.0.0" @@ -3184,11 +3193,6 @@ binary-extensions@^2.0.0: resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -binaryextensions@^4.15.0: - version "4.15.0" - resolved "https://registry.npmjs.org/binaryextensions/-/binaryextensions-4.15.0.tgz" - integrity sha512-MkUl3szxXolQ2scI1PM14WOT951KnaTNJ0eMKg7WzOI4kvSxyNo/Cygx4LOBNhwyINhAuSQpJW1rYD9aBSxGaw== - bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" @@ -3375,33 +3379,41 @@ buffer@^5.1.0, buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builder-util-runtime@8.7.3: - version "8.7.3" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.3.tgz#0aaafa52d25295c939496f62231ca9ff06c30e40" - integrity sha512-1Q2ReBqFblimF5g/TLg2+0M5Xzv0Ih5LxJ/BMWXvEy/e6pQKeeEpbkPMGsN6OiQgkygaZo5VXCXIjOkOQG5EoQ== +builder-util-runtime@8.7.6: + version "8.7.6" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.6.tgz#4b43c96db2bd494ced7694bcd7674934655e8324" + integrity sha512-rj9AIY7CzLSuTOXpToiaQkruYh6UEQ+kYnd5UET22ch8MGClEtIZKXHG14qEiXEr2x4EOKDMxkcTa+9TYaE+ug== dependencies: debug "^4.3.2" sax "^1.2.4" -builder-util@22.10.5: - version "22.10.5" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.10.5.tgz#8d0b04a3be6acc74938679aa90dcb3181b1ae86b" - integrity sha512-/MkLhmyo1gU3xMwXJxccQaRj/9tm5eTd6ZyebTf8SYouY4r3hRser+LxhOm/f8Z9W6oJvfPe0jc9TFsxYfMcsg== +builder-util-runtime@8.7.7: + version "8.7.7" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.7.tgz#6c83cc3abe7a7a5c8b4ec8878f68adc828c07f0d" + integrity sha512-RUfoXzVrmFFI0K/Oft0CtP1LpTIOlBeLJatt5DePTI0KlxE156am4SGUpqtbbdqZNm++LkV9mX4olBDcXyGPow== dependencies: - "7zip-bin" "~5.0.3" - "@types/debug" "^4.1.5" - "@types/fs-extra" "^9.0.7" - app-builder-bin "3.5.12" - bluebird-lst "^1.0.9" - builder-util-runtime "8.7.3" - chalk "^4.1.0" debug "^4.3.2" - fs-extra "^9.1.0" - is-ci "^2.0.0" - js-yaml "^4.0.0" + sax "^1.2.4" + +builder-util@22.11.7: + version "22.11.7" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.11.7.tgz#ae9707afa6a31feafa13c274ac83b4fe28ef1467" + integrity sha512-ihqUe5ey82LM9qqQe0/oIcaSm9w+B9UjcsWJZxJliTBsbU+sErOpDFpHW+sim0veiTF/EIcGUh9HoduWw+l9FA== + dependencies: + "7zip-bin" "~5.1.1" + "@types/debug" "^4.1.5" + "@types/fs-extra" "^9.0.11" + app-builder-bin "3.5.13" + bluebird-lst "^1.0.9" + builder-util-runtime "8.7.7" + chalk "^4.1.1" + debug "^4.3.2" + fs-extra "^10.0.0" + is-ci "^3.0.0" + js-yaml "^4.1.0" source-map-support "^0.5.19" stat-mode "^1.0.0" - temp-file "^3.3.7" + temp-file "^3.4.0" builtin-modules@^1.1.1: version "1.1.1" @@ -3576,7 +3588,7 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.1.0: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz" integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== @@ -3594,7 +3606,7 @@ child-process@^1.0.2: resolved "https://registry.npmjs.org/child-process/-/child-process-1.0.2.tgz" integrity sha1-mJdNx+0e5MYin44wX6cxOmiFp/I= -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.4.2: +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.5.1: version "3.5.1" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz" integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== @@ -3648,6 +3660,11 @@ ci-info@^2.0.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== +ci-info@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" + integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== + circular-dependency-plugin@5.2.2: version "5.2.2" resolved "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz" @@ -4789,6 +4806,20 @@ del@^4.1.1: pify "^4.0.1" rimraf "^2.6.3" +del@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952" + integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ== + dependencies: + globby "^11.0.1" + graceful-fs "^4.2.4" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.2" + p-map "^4.0.0" + rimraf "^3.0.2" + slash "^3.0.0" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" @@ -4859,21 +4890,21 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dmg-builder@22.10.5: - version "22.10.5" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.10.5.tgz#65a33c106ead5a350c7de8997c546559bd6e0e7c" - integrity sha512-58FEpfH8PEFqjbUNka4bYr52snRT8+LSXrP4gy6EZWOVICbOlmTOYj988pfoLam5C5iXb3odmyUQqwWOxlsEUw== +dmg-builder@22.11.7: + version "22.11.7" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.11.7.tgz#5956008c18d40ee72c0ea01ffea9590dbf51df89" + integrity sha512-+I+XfP2DODHB6PwFANgpH/WMzzCA5r5XoMvbFCIYjQjJpXlO0XnqQaamzFl2vh/Wz/Qt0d0lJMgRy8gKR3MGdQ== dependencies: - app-builder-lib "22.10.5" - builder-util "22.10.5" - fs-extra "^9.1.0" + app-builder-lib "22.11.7" + builder-util "22.11.7" + builder-util-runtime "8.7.6" + fs-extra "^10.0.0" iconv-lite "^0.6.2" - js-yaml "^4.0.0" - sanitize-filename "^1.6.3" + js-yaml "^4.1.0" optionalDependencies: - dmg-license "^1.0.8" + dmg-license "^1.0.9" -dmg-license@^1.0.8: +dmg-license@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.9.tgz#a2fb8d692af0e30b0730b5afc91ed9edc2d9cb4f" integrity sha512-Rq6qMDaDou2+aPN2SYy0x7LDznoJ/XaG6oDcH5wXUp+WRWQMUYE6eM+F+nex+/LSXOp1uw4HLFoed0YbfU8R/Q== @@ -4977,10 +5008,10 @@ dotenv-expand@^5.1.0: resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== -dotenv@^8.2.0: - version "8.6.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz" - integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== +dotenv@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz#dacc20160935a37dea6364aa1bef819fb9b6ab05" + integrity sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg== dotnet-deps-parser@5.0.0: version "5.0.0" @@ -5017,14 +5048,6 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" -editions@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/editions/-/editions-6.1.0.tgz" - integrity sha512-h6nWEyIocfgho9J3sTSuhU/WoFOu1hTX75rPBebNrbF38Y9QFDjCDizYXdikHTySW7Y3mSxli8bpDz9RAtc7rA== - dependencies: - errlop "^4.0.0" - version-range "^1.0.0" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" @@ -5042,39 +5065,36 @@ ejs@^3.1.6: dependencies: jake "^10.6.1" -electron-builder@22.10.5: - version "22.10.5" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.10.5.tgz#03b156b93e6012609027c3aaa69201a3ad21e454" - integrity sha512-0q/289UUJUhRou6lZKDz/wzK6WprIQ6VXMTmaI+w9qXvSNugPC9UA5s2zXInOkjZOvO/xKnjeyiavrVSHYF3tA== +electron-builder@22.11.7: + version "22.11.7" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.11.7.tgz#cd97a0d9f6e6d388112e66b4376de431cca4d596" + integrity sha512-yQExSLt7Hbz/P8lLkZDdE/OnJJ7NCX+uiQcV+XIH0TeEZcD87ZnSqBBzGUN5akySU4BXXlrVZKeUsXACWrm5Kw== dependencies: - "@types/yargs" "^15.0.13" - app-builder-lib "22.10.5" - bluebird-lst "^1.0.9" - builder-util "22.10.5" - builder-util-runtime "8.7.3" - chalk "^4.1.0" - dmg-builder "22.10.5" - fs-extra "^9.1.0" - is-ci "^2.0.0" - lazy-val "^1.0.4" - read-config-file "6.0.0" - sanitize-filename "^1.6.3" + "@types/yargs" "^16.0.2" + app-builder-lib "22.11.7" + builder-util "22.11.7" + builder-util-runtime "8.7.7" + chalk "^4.1.1" + dmg-builder "22.11.7" + fs-extra "^10.0.0" + is-ci "^3.0.0" + lazy-val "^1.0.5" + read-config-file "6.2.0" update-notifier "^5.1.0" - yargs "^16.2.0" + yargs "^17.0.1" -electron-publish@22.10.5: - version "22.10.5" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.10.5.tgz#9cbe46266b6c79d8c6e99840755682e2262d3543" - integrity sha512-dHyuazv3P3j1Xyv7pdwTwAvxWab2pCb0G0Oa6qWQoCc4b1/mRGY00M7AvYW1cPuUijj9zYAf1HmXfM6MifaMlA== +electron-publish@22.11.7: + version "22.11.7" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.11.7.tgz#4126cbb08ccf082a2aa7fef89ee629b3a4b8ae9a" + integrity sha512-A4EhRRNBVz4SPzUlBrPO6BmuyDeI0pyprggPAV9rQ+SDVSnSB/WKPot9JwWMyArkGj3AUUTMNVT6hwZhMvhfqw== dependencies: - "@types/fs-extra" "^9.0.7" - bluebird-lst "^1.0.9" - builder-util "22.10.5" - builder-util-runtime "8.7.3" - chalk "^4.1.0" - fs-extra "^9.1.0" - lazy-val "^1.0.4" - mime "^2.5.0" + "@types/fs-extra" "^9.0.11" + builder-util "22.11.7" + builder-util-runtime "8.7.7" + chalk "^4.1.1" + fs-extra "^10.0.0" + lazy-val "^1.0.5" + mime "^2.5.2" electron-to-chromium@^1.3.723: version "1.3.740" @@ -5090,10 +5110,10 @@ electron@*: "@types/node" "^14.6.2" extract-zip "^1.0.3" -electron@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/electron/-/electron-13.1.1.tgz#de1ea908bcac2197d7a5a373fb68c0c66043e10e" - integrity sha512-kySSb5CbIkWU2Kd9mf2rpGZC9p1nWhVVNl+CJjuOUGeVPXHbojHvTkDU1iC8AvV28eik3gqHisSJss40Caprog== +electron@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/electron/-/electron-13.1.2.tgz#8c9abf9015766c9cbc16f10c99282d00d6ae1b90" + integrity sha512-aNT9t+LgdQaZ7FgN36pN7MjSEoj+EWc2T9yuOqBApbmR4HavGRadSz7u9N2Erw2ojdIXtei2RVIAvVm8mbDZ0g== dependencies: "@electron/get" "^1.0.1" "@types/node" "^14.6.2" @@ -5213,11 +5233,6 @@ err-code@^2.0.2: resolved "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz" integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== -errlop@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/errlop/-/errlop-4.1.0.tgz" - integrity sha512-vul6gGBuVt0M2TPi1/WrcL86+Hb3Q2Tpu3TME3sbVhZrYf7J1ZMHCodI25RQKCVurh56qTfvgM0p3w5cT4reSQ== - errno@^0.1.1, errno@^0.1.3: version "0.1.8" resolved "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz" @@ -5671,7 +5686,7 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.1, fs-extra@^9.1.0: +fs-extra@^9.0.0, fs-extra@^9.0.1: version "9.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -5918,7 +5933,7 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.3, graceful-fs@^4.2.4: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.3, graceful-fs@^4.2.4, graceful-fs@^4.2.6: version "4.2.6" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== @@ -6043,14 +6058,14 @@ hosted-git-info@^2.1.4: resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^3.0.4, hosted-git-info@^3.0.7, hosted-git-info@^3.0.8: +hosted-git-info@^3.0.4, hosted-git-info@^3.0.7: version "3.0.8" resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz" integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== dependencies: lru-cache "^6.0.0" -hosted-git-info@^4.0.1: +hosted-git-info@^4.0.1, hosted-git-info@^4.0.2: version "4.0.2" resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz" integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== @@ -6418,6 +6433,13 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-ci@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994" + integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ== + dependencies: + ci-info "^3.1.1" + is-color-stop@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz" @@ -6582,9 +6604,9 @@ is-path-cwd@^1.0.0: resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz" integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= -is-path-cwd@^2.0.0: +is-path-cwd@^2.0.0, is-path-cwd@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== is-path-in-cwd@^1.0.0: @@ -6645,6 +6667,11 @@ is-stream@^1.1.0: resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" @@ -6692,9 +6719,9 @@ isarray@1.0.0, isarray@~1.0.0: resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -isbinaryfile@^4.0.6: +isbinaryfile@^4.0.8: version "4.0.8" - resolved "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf" integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== isexe@^2.0.0: @@ -6767,15 +6794,6 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -istextorbinary@^5.12.0: - version "5.12.0" - resolved "https://registry.npmjs.org/istextorbinary/-/istextorbinary-5.12.0.tgz" - integrity sha512-wLDRWD7qpNTYubk04+q3en1+XZGS4vYWK0+SxNSXJLaITMMEK+J3o/TlOMyULeH1qozVZ9uUkKcyMA8odyxz8w== - dependencies: - binaryextensions "^4.15.0" - editions "^6.1.0" - textextensions "^5.11.0" - jake@^10.6.1: version "10.8.2" resolved "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz" @@ -6859,7 +6877,7 @@ js-yaml@^3.10.0, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^4.0.0, js-yaml@^4.1.0: +js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== @@ -6944,7 +6962,7 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.2: +json5@^2.1.2, json5@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz" integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== @@ -7051,33 +7069,33 @@ karma-source-map-support@1.4.0: dependencies: source-map-support "^0.5.5" -karma@^6.3.3: - version "6.3.3" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.3.tgz#bd04c7c533f8de99b3c3e85e191d0a6ae2621ad1" - integrity sha512-JRAujkKWaOtO2LmyPH7K2XXRhrxuFAn9loIL9+iiah6vjz+ZLkqdKsySV9clRITGhj10t9baIfbCl6CJ5hu9gQ== +karma@^6.3.4: + version "6.3.4" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.4.tgz#359899d3aab3d6b918ea0f57046fd2a6b68565e6" + integrity sha512-hbhRogUYIulfkBTZT7xoPrCYhRBnBoqbbL4fszWD0ReFGUxU+LYBr3dwKdAluaDQ/ynT9/7C+Lf7pPNW4gSx4Q== dependencies: body-parser "^1.19.0" braces "^3.0.2" - chokidar "^3.4.2" + chokidar "^3.5.1" colors "^1.4.0" connect "^3.7.0" di "^0.0.1" dom-serialize "^2.2.1" - glob "^7.1.6" - graceful-fs "^4.2.4" + glob "^7.1.7" + graceful-fs "^4.2.6" http-proxy "^1.18.1" - isbinaryfile "^4.0.6" - lodash "^4.17.19" - log4js "^6.2.1" - mime "^2.4.5" + isbinaryfile "^4.0.8" + lodash "^4.17.21" + log4js "^6.3.0" + mime "^2.5.2" minimatch "^3.0.4" qjobs "^1.2.0" range-parser "^1.2.1" rimraf "^3.0.2" socket.io "^3.1.0" source-map "^0.6.1" - tmp "0.2.1" - ua-parser-js "^0.7.23" + tmp "^0.2.1" + ua-parser-js "^0.7.28" yargs "^16.1.1" keyv@^3.0.0: @@ -7135,7 +7153,7 @@ latest-version@^5.1.0: dependencies: package-json "^6.3.0" -lazy-val@^1.0.4: +lazy-val@^1.0.4, lazy-val@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz" integrity sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q== @@ -7478,7 +7496,7 @@ lodash.values@^4.3.0: resolved "https://registry.npmjs.org/lodash.values/-/lodash.values-4.3.0.tgz" integrity sha1-o6bCsOvsxcLLocF+bmIP6BtT00c= -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.5: +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.5: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -7491,9 +7509,9 @@ log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" -log4js@^6.2.1: +log4js@^6.3.0: version "6.3.0" - resolved "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.3.0.tgz#10dfafbb434351a3e30277a00b9879446f715bcb" integrity sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw== dependencies: date-format "^3.0.0" @@ -7740,7 +7758,7 @@ mime@1.6.0, mime@^1.4.1: resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.4.4, mime@^2.4.5, mime@^2.5.0: +mime@^2.4.4, mime@^2.5.2: version "2.5.2" resolved "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== @@ -7906,7 +7924,7 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" -multimatch@*, multimatch@^5.0.0: +multimatch@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== @@ -8077,16 +8095,6 @@ normalize-package-data@^2.0.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-package-data@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz#cae5c410ae2434f9a6c1baa65d5bc3b9366c8699" - integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== - dependencies: - hosted-git-info "^4.0.1" - resolve "^1.20.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" @@ -9579,15 +9587,15 @@ read-cache@^1.0.0: dependencies: pify "^2.3.0" -read-config-file@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.0.0.tgz#224b5dca6a5bdc1fb19e63f89f342680efdb9299" - integrity sha512-PHjROSdpceKUmqS06wqwP92VrM46PZSTubmNIMJ5DrMwg1OgenSTSEHIkCa6TiOJ+y/J0xnG1fFwG3M+Oi1aNA== +read-config-file@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz#71536072330bcd62ba814f91458b12add9fc7ade" + integrity sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg== dependencies: - dotenv "^8.2.0" + dotenv "^9.0.2" dotenv-expand "^5.1.0" - js-yaml "^3.13.1" - json5 "^2.1.2" + js-yaml "^4.1.0" + json5 "^2.2.0" lazy-val "^1.0.4" read-installed@~4.0.3: @@ -9866,7 +9874,7 @@ resolve-url@^0.2.1: resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@1.20.0, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.3.3: +resolve@1.20.0, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.3.2, resolve@^1.3.3: version "1.20.0" resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -10405,10 +10413,10 @@ snyk-module@3.1.0, snyk-module@^3.0.0, snyk-module@^3.1.0: debug "^4.1.1" hosted-git-info "^3.0.4" -snyk-mvn-plugin@2.26.0: - version "2.26.0" - resolved "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.26.0.tgz" - integrity sha512-LxYNWXPJxcwbkCK+vE7t437RttEDcbsS2KJJYzFtrr6u7g26c51u9aMHYPCDAEmwjI1A28zSrh7Wp45JW4YOqg== +snyk-mvn-plugin@2.26.1: + version "2.26.1" + resolved "https://registry.yarnpkg.com/snyk-mvn-plugin/-/snyk-mvn-plugin-2.26.1.tgz#4ada6a20d4adf8db97d11ee9f7bd6f54d39fc06b" + integrity sha512-DCs53aRT/uK2e1jXzeVG2d+Ll0bmY/YHL+jEYaWJko8XwGoVwqCrVOkRyzXd2KOZUk3gpD6MaxIrBWsc8RJzRA== dependencies: "@snyk/cli-interface" "2.11.0" "@snyk/dep-graph" "^1.23.1" @@ -10590,15 +10598,15 @@ snyk-try-require@^2.0.0: lodash.clonedeep "^4.3.0" lru-cache "^5.1.1" -snyk@^1.623.0: - version "1.623.0" - resolved "https://registry.yarnpkg.com/snyk/-/snyk-1.623.0.tgz#a1edea4466879d99d3c321b738f7ddd3bedeced3" - integrity sha512-GV8c+80qFLuaJeu0eFnoNQpNftRghO4QAtXcYJemHNp2+EP9c1ouUlq3eamUJVpqUeo6/J/R51N8uXlwNOdwoQ== +snyk@^1.630.0: + version "1.630.0" + resolved "https://registry.yarnpkg.com/snyk/-/snyk-1.630.0.tgz#6be33f65f274a2b9ba711d0a3a98808415967d01" + integrity sha512-66JBqGFciNAE7ZcxAhvsKCCYDYgkATlH2u9Ro34cGYsj2ak7rawylYyzowdT8cBe390kK7H4eyxHwwYAKXHpqQ== dependencies: "@open-policy-agent/opa-wasm" "^1.2.0" "@snyk/cli-interface" "2.11.0" "@snyk/cloud-config-parser" "^1.9.2" - "@snyk/code-client" "3.7.0" + "@snyk/code-client" "3.8.1" "@snyk/dep-graph" "^1.27.1" "@snyk/fix" "1.620.0" "@snyk/gemfile" "1.2.0" @@ -10647,7 +10655,7 @@ snyk@^1.623.0: snyk-go-plugin "1.17.0" snyk-gradle-plugin "3.16.0" snyk-module "3.1.0" - snyk-mvn-plugin "2.26.0" + snyk-mvn-plugin "2.26.1" snyk-nodejs-lockfile-parser "1.35.0" snyk-nuget-plugin "1.21.1" snyk-php-plugin "1.9.2" @@ -10660,9 +10668,9 @@ snyk@^1.623.0: source-map-support "^0.5.11" strip-ansi "^5.2.0" tar "^6.1.0" - tempfile "^2.0.0" + tempy "^1.0.1" update-notifier "^5.1.0" - uuid "^3.3.2" + uuid "^8.3.2" wrap-ansi "^5.1.0" yaml "^1.10.2" @@ -11214,31 +11222,29 @@ tar@^6.0.2, tar@^6.1.0: mkdirp "^1.0.3" yallist "^4.0.0" -temp-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz" - integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0= - temp-dir@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz" integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== -temp-file@^3.3.7: +temp-file@^3.4.0: version "3.4.0" - resolved "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz" + resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz#766ea28911c683996c248ef1a20eea04d51652c7" integrity sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg== dependencies: async-exit-hook "^2.0.1" fs-extra "^10.0.0" -tempfile@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz" - integrity sha1-awRGhWqbERTRhW/8vlCczLCXcmU= +tempy@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tempy/-/tempy-1.0.1.tgz#30fe901fd869cfb36ee2bd999805aa72fbb035de" + integrity sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w== dependencies: - temp-dir "^1.0.0" - uuid "^3.0.1" + del "^6.0.0" + is-stream "^2.0.0" + temp-dir "^2.0.0" + type-fest "^0.16.0" + unique-string "^2.0.0" terser-webpack-plugin@5.1.2, terser-webpack-plugin@^5.1.1: version "5.1.2" @@ -11266,11 +11272,6 @@ text-table@0.2.0: resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -textextensions@^5.11.0: - version "5.12.0" - resolved "https://registry.npmjs.org/textextensions/-/textextensions-5.12.0.tgz" - integrity sha512-IYogUDaP65IXboCiPPC0jTLLBzYlhhw2Y4b0a2trPgbHNGGGEfuHE6tds+yDcCf4mpNDaGISFzwSSezcXt+d6w== - then-fs@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/then-fs/-/then-fs-2.0.0.tgz" @@ -11301,6 +11302,13 @@ timsort@^0.3.0: resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= +tmp-promise@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.2.tgz#6e933782abff8b00c3119d63589ca1fb9caaa62a" + integrity sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA== + dependencies: + tmp "^0.2.0" + tmp@0.0.30: version "0.0.30" resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz" @@ -11315,7 +11323,7 @@ tmp@0.0.33, tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmp@0.2.1, tmp@^0.2.1: +tmp@0.2.1, tmp@^0.2.0, tmp@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== @@ -11434,7 +11442,7 @@ tslib@1.11.1: resolved "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz" integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== -tslib@2.2.0, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.2.0: +tslib@2.2.0, tslib@^2.0.0, tslib@^2.1.0: version "2.2.0" resolved "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz" integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== @@ -11444,6 +11452,11 @@ tslib@^1, tslib@^1.10.0, tslib@^1.11.2, tslib@^1.13.0, tslib@^1.8.0, tslib@^1.8. resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" + integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== + tslint-config-prettier@^1.18.0: version "1.18.0" resolved "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz" @@ -11516,6 +11529,11 @@ type-fest@^0.13.1: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== +type-fest@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" + integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== + type-fest@^0.20.2: version "0.20.2" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" @@ -11556,9 +11574,9 @@ typescript@4.2.4, typescript@>=2.8.3: resolved "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz" integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== -ua-parser-js@^0.7.23: +ua-parser-js@^0.7.28: version "0.7.28" - resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31" integrity sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g== unicode-canonical-property-names-ecmascript@^1.0.4: @@ -11748,7 +11766,7 @@ uuid@8.3.2, uuid@^8.2.0, uuid@^8.3.0, uuid@^8.3.2: resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -uuid@^3.0.1, uuid@^3.3.2, uuid@^3.4.0: +uuid@^3.3.2, uuid@^3.4.0: version "3.4.0" resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== @@ -11787,18 +11805,6 @@ verror@1.10.0, verror@^1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -version-compare@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/version-compare/-/version-compare-1.1.0.tgz" - integrity sha512-zVKtPOJTC9x23lzS4+4D7J+drq80BXVYAmObnr5zqxxFVH7OffJ1lJlAS7LYsQNV56jx/wtbw0UV7XHLrvd6kQ== - -version-range@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/version-range/-/version-range-1.1.0.tgz" - integrity sha512-R1Ggfg2EXamrnrV3TkZ6yBNgITDbclB3viwSjbZ3+eK0VVNK4ajkYJTnDz5N0bIMYDtK9MUBvXJUnKO5RWWJ6w== - dependencies: - version-compare "^1.0.0" - void-elements@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz" @@ -11986,6 +11992,35 @@ webpack@5.38.1: watchpack "^2.2.0" webpack-sources "^2.3.0" +webpack@5.39.0: + version "5.39.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.39.0.tgz#37d6899f1f40c31d5901abc0f39bc8cc7224138c" + integrity sha512-25CHmuDj+oOTyteI13sUqNlCnjCnySuhiKWE/cRYPQYeoQ3ijHgyWX27CiyUKLNGq27v8S0mrksyTreT/xo7pg== + dependencies: + "@types/eslint-scope" "^3.7.0" + "@types/estree" "^0.0.47" + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/wasm-edit" "1.11.0" + "@webassemblyjs/wasm-parser" "1.11.0" + acorn "^8.2.1" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.8.0" + es-module-lexer "^0.4.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.4" + json-parse-better-errors "^1.0.2" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.0.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.1" + watchpack "^2.2.0" + webpack-sources "^2.3.0" + websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" @@ -12154,10 +12189,10 @@ xterm-addon-fit@^0.5.0: resolved "https://registry.npmjs.org/xterm-addon-fit/-/xterm-addon-fit-0.5.0.tgz" integrity sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ== -xterm@^4.12.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.12.0.tgz#db09b425b4dcae5b96f8cbbaaa93b3bc60997ca9" - integrity sha512-K5mF/p3txUV18mjiZFlElagoHFpqXrm5OYHeoymeXSu8GG/nMaOO/+NRcNCwfdjzAbdQ5VLF32hEHiWWKKm0bw== +xterm@^4.13.0: + version "4.13.0" + resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.13.0.tgz#7998de1e2ad92c4796fe45807be4f31061f3d9d1" + integrity sha512-HVW1gdoLOTnkMaqQCr2r3mQy4fX9iSa5gWxKZ2UTYdLa4iqavv7QxJ8n1Ypse32shPVkhTYPLS6vHEFZp5ghzw== y18n@^4.0.0: version "4.0.3" From d6e5dee1aab0980338192bd7a7f1e726abebab89 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Tue, 15 Jun 2021 15:32:59 +0200 Subject: [PATCH 07/25] Update main.yml --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8e0d8240..c6921a33 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,10 +14,10 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Setup node 12 + - name: Setup node 14 uses: actions/setup-node@v2 with: - node-version: 12.x + node-version: 14.x - uses: c-hive/gha-yarn-cache@v1 - name: Install JS dependencies run: yarn install From 60bae5db3c9a55242637912953a4fdb2de18526b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Jun 2021 19:16:01 +0000 Subject: [PATCH 08/25] Bump postcss from 7.0.35 to 7.0.36 Bumps [postcss](https://github.com/postcss/postcss) from 7.0.35 to 7.0.36. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/7.0.35...7.0.36) --- updated-dependencies: - dependency-name: postcss dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1f7b441b..2e7f6419 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2782,7 +2782,7 @@ ansi-styles@^2.2.1: ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" @@ -3554,7 +3554,7 @@ caseless@~0.12.0: chalk@2.4.2, chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -3808,7 +3808,7 @@ collection-visit@^1.0.0: color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" @@ -3822,7 +3822,7 @@ color-convert@^2.0.1: color-name@1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= color-name@~1.1.4: @@ -5286,7 +5286,7 @@ escape-html@~1.0.3: escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escape-string-regexp@^4.0.0: @@ -5987,7 +5987,7 @@ has-ansi@^2.0.0: has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= has-flag@^4.0.0: @@ -9292,9 +9292,9 @@ postcss@8.3.0, postcss@^8.2.10, postcss@^8.2.9: source-map-js "^0.6.2" postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.35" - resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz" - integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== + version "7.0.36" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" + integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -11152,14 +11152,14 @@ supports-color@^2.0.0: supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== dependencies: has-flag "^3.0.0" From f7e07851f7a0bb0839b0ab5c3239d9870989f881 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Wed, 16 Jun 2021 18:44:12 +0200 Subject: [PATCH 09/25] Edit link style dialog created --- src/app/app.module.ts | 4 ++ .../map/link-to-map-link-converter.ts | 1 + .../map/map-link-to-link-converter.ts | 1 + src/app/cartography/models/map/map-link.ts | 2 + .../edit-link-style-action.component.html | 4 ++ .../edit-link-style-action.component.ts | 33 ++++++++++ .../context-menu/context-menu.component.html | 12 ++++ .../link-style-editor.component.html | 35 +++++++++++ .../link-style-editor.component.scss | 54 ++++++++++++++++ .../link-style-editor.component.ts | 61 +++++++++++++++++++ src/app/models/link-style.ts | 5 ++ src/app/models/link.ts | 2 + 12 files changed, 214 insertions(+) create mode 100644 src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.html create mode 100644 src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.ts create mode 100644 src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.html create mode 100644 src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.scss create mode 100644 src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts create mode 100644 src/app/models/link-style.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 1769c4db..a268b401 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -117,6 +117,7 @@ import { DeleteActionComponent } from './components/project-map/context-menu/act import { DuplicateActionComponent } from './components/project-map/context-menu/actions/duplicate-action/duplicate-action.component'; import { EditConfigActionComponent } from './components/project-map/context-menu/actions/edit-config/edit-config-action.component'; import { EditStyleActionComponent } from './components/project-map/context-menu/actions/edit-style-action/edit-style-action.component'; +import { EditLinkStyleActionComponent } from './components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component'; import { EditTextActionComponent } from './components/project-map/context-menu/actions/edit-text-action/edit-text-action.component'; import { ExportConfigActionComponent } from './components/project-map/context-menu/actions/export-config/export-config-action.component'; import { HttpConsoleNewTabActionComponent } from './components/project-map/context-menu/actions/http-console-new-tab/http-console-new-tab-action.component'; @@ -141,6 +142,7 @@ import { ContextMenuComponent } from './components/project-map/context-menu/cont import { ConfigDialogComponent } from './components/project-map/context-menu/dialogs/config-dialog/config-dialog.component'; import { DrawLinkToolComponent } from './components/project-map/draw-link-tool/draw-link-tool.component'; import { StyleEditorDialogComponent } from './components/project-map/drawings-editors/style-editor/style-editor.component'; +import { LinkStyleEditorDialogComponent } from './components/project-map/drawings-editors/link-style-editor/link-style-editor.component'; import { TextEditorDialogComponent } from './components/project-map/drawings-editors/text-editor/text-editor.component'; import { HelpDialogComponent } from './components/project-map/help-dialog/help-dialog.component'; import { NodeCreatedLabelStylesFixer } from './components/project-map/helpers/node-created-label-styles-fixer'; @@ -292,6 +294,7 @@ import { RotationValidator } from './validators/rotation-validator'; MoveLayerDownActionComponent, MoveLayerUpActionComponent, EditStyleActionComponent, + EditLinkStyleActionComponent, EditTextActionComponent, DeleteActionComponent, DuplicateActionComponent, @@ -319,6 +322,7 @@ import { RotationValidator } from './validators/rotation-validator'; InterfaceLabelDraggedComponent, InstallSoftwareComponent, StyleEditorDialogComponent, + LinkStyleEditorDialogComponent, TextEditorDialogComponent, PacketFiltersDialogComponent, QemuPreferencesComponent, diff --git a/src/app/cartography/converters/map/link-to-map-link-converter.ts b/src/app/cartography/converters/map/link-to-map-link-converter.ts index 28ecf2c8..14fd3827 100644 --- a/src/app/cartography/converters/map/link-to-map-link-converter.ts +++ b/src/app/cartography/converters/map/link-to-map-link-converter.ts @@ -15,6 +15,7 @@ export class LinkToMapLinkConverter implements Converter { mapLink.captureFilePath = link.capture_file_path; mapLink.capturing = link.capturing; mapLink.filters = link.filters; + mapLink.link_style = link.link_style; mapLink.linkType = link.link_type; mapLink.nodes = link.nodes.map((linkNode) => this.linkNodeToMapLinkNode.convert(linkNode, { link_id: link.link_id }) diff --git a/src/app/cartography/converters/map/map-link-to-link-converter.ts b/src/app/cartography/converters/map/map-link-to-link-converter.ts index ae269a42..6cc8be8b 100644 --- a/src/app/cartography/converters/map/map-link-to-link-converter.ts +++ b/src/app/cartography/converters/map/map-link-to-link-converter.ts @@ -16,6 +16,7 @@ export class MapLinkToLinkConverter implements Converter { link.capturing = mapLink.capturing; link.filters = mapLink.filters; link.link_type = mapLink.linkType; + link.link_style = mapLink.link_style; link.nodes = mapLink.nodes.map((mapLinkNode) => this.mapLinkNodeToMapLinkNode.convert(mapLinkNode)); link.project_id = mapLink.projectId; link.suspend = mapLink.suspend; diff --git a/src/app/cartography/models/map/map-link.ts b/src/app/cartography/models/map/map-link.ts index 57bac994..339f165d 100644 --- a/src/app/cartography/models/map/map-link.ts +++ b/src/app/cartography/models/map/map-link.ts @@ -2,6 +2,7 @@ import { Filter } from '../../../models/filter'; import { Indexed } from '../../datasources/map-datasource'; import { MapLinkNode } from './map-link-node'; import { MapNode } from './map-node'; +import { LinkStyle } from '../../../models/link-style'; export class MapLink implements Indexed { id: string; @@ -13,6 +14,7 @@ export class MapLink implements Indexed { nodes: MapLinkNode[]; projectId: string; suspend: boolean; + link_style?: LinkStyle; distance: number; // this is not from server length: number; // this is not from server diff --git a/src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.html b/src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.html new file mode 100644 index 00000000..43ab8ded --- /dev/null +++ b/src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.html @@ -0,0 +1,4 @@ + diff --git a/src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.ts b/src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.ts new file mode 100644 index 00000000..de5ea91b --- /dev/null +++ b/src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.ts @@ -0,0 +1,33 @@ +import { Component, Input, OnChanges } from '@angular/core'; +import { MatDialog } from '@angular/material/dialog'; +import { Link } from '../../../../../models/link'; +import { Project } from '../../../../../models/project'; +import { Server } from '../../../../../models/server'; +import { LinkStyleEditorDialogComponent } from '../../../drawings-editors/link-style-editor/link-style-editor.component'; + +@Component({ + selector: 'app-edit-link-style-action', + + templateUrl: './edit-link-style-action.component.html', +}) +export class EditLinkStyleActionComponent implements OnChanges { + @Input() server: Server; + @Input() project: Project; + @Input() link: Link; + + constructor(private dialog: MatDialog) {} + + ngOnChanges() {} + + editStyle() { + const dialogRef = this.dialog.open(LinkStyleEditorDialogComponent, { + width: '800px', + autoFocus: false, + disableClose: true, + }); + let instance = dialogRef.componentInstance; + instance.server = this.server; + instance.project = this.project; + instance.link = this.link; + } +} diff --git a/src/app/components/project-map/context-menu/context-menu.component.html b/src/app/components/project-map/context-menu/context-menu.component.html index eb81e95e..8091e2ae 100644 --- a/src/app/components/project-map/context-menu/context-menu.component.html +++ b/src/app/components/project-map/context-menu/context-menu.component.html @@ -173,6 +173,18 @@ [server]="server" [link]="links[0]" > + Style editor + + + +
+ + +
diff --git a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.scss b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.scss new file mode 100644 index 00000000..38ca9c48 --- /dev/null +++ b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.scss @@ -0,0 +1,54 @@ + .item { + height: 25px; + font-size: 10pt; + margin-bottom: 10px; + } + + .item-name { + margin-bottom: 10px; + } + + .item-value { + width: 100%; + margin-bottom: 10px; + } + + .input-color { + padding: 0px; + border-width: 0px; + width: 100%; + background-color: transparent; + outline: none; + } + + input:focus { + outline: none; + } + + input[type='color'] { + -webkit-appearance: none; + border: none; + height: 25px; + } + + input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + } + + input[type='color']::-webkit-color-swatch { + border: none; + } + + .modal-form-container { + display: flex; + flex-direction: column; + } + + .modal-form-container > * { + width: 100%; + } + + .form-field { + width: 100%; + } + \ No newline at end of file diff --git a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts new file mode 100644 index 00000000..51fd2bac --- /dev/null +++ b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts @@ -0,0 +1,61 @@ +import { Component, OnInit } from '@angular/core'; +import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; +import { MatDialogRef } from '@angular/material/dialog'; +import { Link } from '../../../../models/link'; +import { Project } from '../../../../models/project'; +import { Server } from '../../../../models/server'; +import { ToasterService } from '../../../../services/toaster.service'; +import { NonNegativeValidator } from '../../../../validators/non-negative-validator'; +import { LinkService } from '../../../../services/link.service'; + +@Component({ + selector: 'app-link-style-editor', + templateUrl: './link-style-editor.component.html', + styleUrls: ['./link-style-editor.component.scss'], +}) +export class LinkStyleEditorDialogComponent implements OnInit { + server: Server; + project: Project; + link: Link; + formGroup: FormGroup; + borderTypes = ["Solid", "Dash", "Dot", "Dash Dot"]; + + constructor( + public dialogRef: MatDialogRef, + private formBuilder: FormBuilder, + private toasterService: ToasterService, + private linkService: LinkService, + private nonNegativeValidator: NonNegativeValidator + ) { + this.formGroup = this.formBuilder.group({ + color: new FormControl('', [Validators.required, nonNegativeValidator.get]), + width: new FormControl('', [Validators.required, nonNegativeValidator.get]), + type: new FormControl('', [Validators.required, nonNegativeValidator.get]) + }); + } + + ngOnInit() { + this.formGroup.controls['color'].setValue(this.link.link_style.color); + this.formGroup.controls['width'].setValue(this.link.link_style.width); + this.formGroup.controls['type'].setValue(this.link.link_style.width); + } + + onNoClick() { + this.dialogRef.close(); + } + + onYesClick() { + if (this.formGroup.valid) { + this.link.link_style.color = this.formGroup.get('color').value; + this.link.link_style.width = this.formGroup.get('width').value; + this.link.link_style.type = this.formGroup.get('type').value; + + this.linkService.updateLink(this.server, this.link).subscribe(() => { + this.toasterService.success("Link updated"); + this.dialogRef.close(); + }); + } else { + this.toasterService.error(`Entered data is incorrect`); + } + } +} diff --git a/src/app/models/link-style.ts b/src/app/models/link-style.ts new file mode 100644 index 00000000..c19be32c --- /dev/null +++ b/src/app/models/link-style.ts @@ -0,0 +1,5 @@ +export class LinkStyle { + color: string; + width: number; + type: number; +} diff --git a/src/app/models/link.ts b/src/app/models/link.ts index bb7a26bb..46a898fd 100644 --- a/src/app/models/link.ts +++ b/src/app/models/link.ts @@ -1,6 +1,7 @@ import { Node } from '../cartography/models/node'; import { Filter } from './filter'; import { LinkNode } from './link-node'; +import { LinkStyle } from './link-style'; export class Link { capture_file_name: string; @@ -12,6 +13,7 @@ export class Link { nodes: LinkNode[]; project_id: string; suspend: boolean; + link_style?: LinkStyle; distance: number; // this is not from server length: number; // this is not from server From a2a3f542e60b8ebd755e20e2785afb603df9f763 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Wed, 16 Jun 2021 19:19:39 +0200 Subject: [PATCH 10/25] Changing style for links added --- .../link-style-editor.component.html | 8 +++---- .../link-style-editor.component.ts | 24 ++++++++++++++----- src/app/services/link.service.ts | 4 ++++ 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.html b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.html index aa761fbb..8c947b08 100644 --- a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.html +++ b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.html @@ -20,11 +20,9 @@ - + + {{ type }} + diff --git a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts index 51fd2bac..25134039 100644 --- a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts +++ b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts @@ -28,16 +28,26 @@ export class LinkStyleEditorDialogComponent implements OnInit { private nonNegativeValidator: NonNegativeValidator ) { this.formGroup = this.formBuilder.group({ - color: new FormControl('', [Validators.required, nonNegativeValidator.get]), + color: new FormControl('', [Validators.required]), width: new FormControl('', [Validators.required, nonNegativeValidator.get]), - type: new FormControl('', [Validators.required, nonNegativeValidator.get]) + type: new FormControl('', [Validators.required]) }); } ngOnInit() { - this.formGroup.controls['color'].setValue(this.link.link_style.color); + if (!this.link.link_style?.color) { + this.formGroup.controls['color'].setValue("#000000"); + } else { + this.formGroup.controls['color'].setValue(this.link.link_style.color); + } + this.formGroup.controls['width'].setValue(this.link.link_style.width); - this.formGroup.controls['type'].setValue(this.link.link_style.width); + + let type = this.borderTypes[0]; + if (this.link.link_style?.type) { + type = this.borderTypes[this.link.link_style.type]; + } + this.formGroup.controls['type'].setValue(type); } onNoClick() { @@ -48,9 +58,11 @@ export class LinkStyleEditorDialogComponent implements OnInit { if (this.formGroup.valid) { this.link.link_style.color = this.formGroup.get('color').value; this.link.link_style.width = this.formGroup.get('width').value; - this.link.link_style.type = this.formGroup.get('type').value; - this.linkService.updateLink(this.server, this.link).subscribe(() => { + let type = this.borderTypes.indexOf(this.formGroup.get('type').value); + this.link.link_style.type = type; + + this.linkService.updateLinkStyle(this.server, this.link).subscribe((link) => { this.toasterService.success("Link updated"); this.dialogRef.close(); }); diff --git a/src/app/services/link.service.ts b/src/app/services/link.service.ts index 27b8f88a..2599acb7 100644 --- a/src/app/services/link.service.ts +++ b/src/app/services/link.service.ts @@ -69,6 +69,10 @@ export class LinkService { return this.httpServer.put(server, `/projects/${link.project_id}/links/${link.link_id}`, link); } + updateLinkStyle(server: Server, link: Link) { + return this.httpServer.put(server, `/projects/${link.project_id}/links/${link.link_id}`, link); + } + getAvailableFilters(server: Server, link: Link) { return this.httpServer.get( server, From 34b974461b15d6ad34cfdc730b4543605b9de954 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Thu, 17 Jun 2021 12:43:51 +0200 Subject: [PATCH 11/25] Link styling for ethernet links --- src/app/cartography/widgets/link.ts | 3 ++- .../widgets/links/ethernet-link.ts | 25 ++++++++++++++++--- .../widgets/links/style-translator.ts | 16 ++++++++++++ 3 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 src/app/cartography/widgets/links/style-translator.ts diff --git a/src/app/cartography/widgets/link.ts b/src/app/cartography/widgets/link.ts index 3e9a3334..c9d99416 100644 --- a/src/app/cartography/widgets/link.ts +++ b/src/app/cartography/widgets/link.ts @@ -29,7 +29,8 @@ export class LinkWidget implements Widget { const link_body_enter = link_body.enter().append('g').attr('class', 'link_body'); - const link_body_merge = link_body.merge(link_body_enter).attr('transform', (link) => { + const link_body_merge = link_body.merge(link_body_enter) + .attr('transform', (link) => { const translation = this.multiLinkCalculatorHelper.linkTranslation(link.distance, link.source, link.target); return `translate (${translation.dx}, ${translation.dy})`; }); diff --git a/src/app/cartography/widgets/links/ethernet-link.ts b/src/app/cartography/widgets/links/ethernet-link.ts index 3de741e0..77fda0be 100644 --- a/src/app/cartography/widgets/links/ethernet-link.ts +++ b/src/app/cartography/widgets/links/ethernet-link.ts @@ -4,21 +4,29 @@ import { LinkContextMenu } from '../../events/event-source'; import { MapLink } from '../../models/map/map-link'; import { SVGSelection } from '../../models/types'; import { Widget } from '../widget'; +import { LinkStyle } from '../../../models/link-style'; +import { StyleTranslator} from './style-translator'; class EthernetLinkPath { - constructor(public source: [number, number], public target: [number, number]) {} + constructor(public source: [number, number], public target: [number, number], public style: LinkStyle) {} } @Injectable() export class EthernetLinkWidget implements Widget { public onContextMenu = new EventEmitter(); + private defaultEthernetLinkStyle : LinkStyle = { + color: "#000", + width: 2, + type: 0 + }; constructor() {} private linktoEthernetLink(link: MapLink) { return new EthernetLinkPath( [link.source.x + link.source.width / 2, link.source.y + link.source.height / 2], - [link.target.x + link.target.width / 2, link.target.y + link.target.height / 2] + [link.target.x + link.target.width / 2, link.target.y + link.target.height / 2], + link.link_style ? link.link_style : this.defaultEthernetLinkStyle ); } @@ -41,8 +49,17 @@ export class EthernetLinkWidget implements Widget { }); link_enter - .attr('stroke', '#000') - .attr('stroke-width', '2') + .attr('stroke', (datum) => { + let link: MapLink = (datum as unknown) as MapLink; + return datum.style.color; + }) + .attr('stroke-width', (datum) => { + let link: MapLink = (datum as unknown) as MapLink; + return datum.style.width; + }) + .attr('stroke-dasharray', (datum) => { + return StyleTranslator.getLinkStyle(datum.style); + }) .on('contextmenu', (datum) => { let link: MapLink = (datum as unknown) as MapLink; const evt = event; diff --git a/src/app/cartography/widgets/links/style-translator.ts b/src/app/cartography/widgets/links/style-translator.ts new file mode 100644 index 00000000..34762529 --- /dev/null +++ b/src/app/cartography/widgets/links/style-translator.ts @@ -0,0 +1,16 @@ +import { LinkStyle } from '../../../models/link-style'; + +export class StyleTranslator { + static getLinkStyle(linkStyle: LinkStyle) { + if (linkStyle.type == 1) { + return `10, 10` + } + if (linkStyle.type == 2) { + return `${linkStyle.width}, ${linkStyle.width}` + } + if (linkStyle.type == 3) { + return `20, 10, ${linkStyle.width}, ${linkStyle.width}, ${linkStyle.width}, 10` + } + return `0, 0` + } +} From a93125cdd7bcd3126e83d8d475d134e164a0dc81 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Thu, 17 Jun 2021 13:01:36 +0200 Subject: [PATCH 12/25] Update serial-link.ts --- .../cartography/widgets/links/serial-link.ts | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/app/cartography/widgets/links/serial-link.ts b/src/app/cartography/widgets/links/serial-link.ts index 9fc0e921..05ff94f2 100644 --- a/src/app/cartography/widgets/links/serial-link.ts +++ b/src/app/cartography/widgets/links/serial-link.ts @@ -4,19 +4,27 @@ import { LinkContextMenu } from '../../events/event-source'; import { MapLink } from '../../models/map/map-link'; import { SVGSelection } from '../../models/types'; import { Widget } from '../widget'; +import { LinkStyle } from '../../../models/link-style'; +import { StyleTranslator} from './style-translator'; class SerialLinkPath { constructor( public source: [number, number], public source_angle: [number, number], public target_angle: [number, number], - public target: [number, number] + public target: [number, number], + public style: LinkStyle ) {} } @Injectable() export class SerialLinkWidget implements Widget { public onContextMenu = new EventEmitter(); + private defaultSerialLinkStyle : LinkStyle = { + color: "#B22222", + width: 2, + type: 0 + }; constructor() {} @@ -47,7 +55,12 @@ export class SerialLinkWidget implements Widget { target.y - dy / 2.0 - 15 * vect_rot[1], ]; - return new SerialLinkPath([source.x, source.y], angle_source, angle_target, [target.x, target.y]); + return new SerialLinkPath( + [source.x, source.y], + angle_source, + angle_target, + [target.x, target.y], + link.link_style ? link.link_style : this.defaultSerialLinkStyle); } public draw(view: SVGSelection) { @@ -68,7 +81,16 @@ export class SerialLinkWidget implements Widget { this.onContextMenu.emit(new LinkContextMenu(evt, link)); }); - link_enter.attr('stroke', '#B22222').attr('fill', 'none').attr('stroke-width', '2'); + link_enter + .attr('stroke', (datum) => { + return datum.style.color; + }) + .attr('stroke-width', (datum) => { + return datum.style.width; + }) + .attr('stroke-dasharray', (datum) => { + return StyleTranslator.getLinkStyle(datum.style); + }); const link_merge = link.merge(link_enter); From 44e1b3d656f9a092c36dc542f6f0a86594829fd3 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Thu, 17 Jun 2021 13:21:42 +0200 Subject: [PATCH 13/25] Updating links data source added --- src/app/cartography/widgets/links/ethernet-link.ts | 2 +- src/app/cartography/widgets/links/serial-link.ts | 2 +- .../link-style-editor/link-style-editor.component.ts | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/app/cartography/widgets/links/ethernet-link.ts b/src/app/cartography/widgets/links/ethernet-link.ts index 77fda0be..77625fee 100644 --- a/src/app/cartography/widgets/links/ethernet-link.ts +++ b/src/app/cartography/widgets/links/ethernet-link.ts @@ -26,7 +26,7 @@ export class EthernetLinkWidget implements Widget { return new EthernetLinkPath( [link.source.x + link.source.width / 2, link.source.y + link.source.height / 2], [link.target.x + link.target.width / 2, link.target.y + link.target.height / 2], - link.link_style ? link.link_style : this.defaultEthernetLinkStyle + link.link_style.color ? link.link_style : this.defaultEthernetLinkStyle ); } diff --git a/src/app/cartography/widgets/links/serial-link.ts b/src/app/cartography/widgets/links/serial-link.ts index 05ff94f2..49e8c509 100644 --- a/src/app/cartography/widgets/links/serial-link.ts +++ b/src/app/cartography/widgets/links/serial-link.ts @@ -60,7 +60,7 @@ export class SerialLinkWidget implements Widget { angle_source, angle_target, [target.x, target.y], - link.link_style ? link.link_style : this.defaultSerialLinkStyle); + link.link_style.color ? link.link_style : this.defaultSerialLinkStyle); } public draw(view: SVGSelection) { diff --git a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts index 25134039..5a4a6721 100644 --- a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts +++ b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts @@ -7,6 +7,7 @@ import { Server } from '../../../../models/server'; import { ToasterService } from '../../../../services/toaster.service'; import { NonNegativeValidator } from '../../../../validators/non-negative-validator'; import { LinkService } from '../../../../services/link.service'; +import { LinksDataSource } from '../../../../cartography/datasources/links-datasource'; @Component({ selector: 'app-link-style-editor', @@ -25,6 +26,7 @@ export class LinkStyleEditorDialogComponent implements OnInit { private formBuilder: FormBuilder, private toasterService: ToasterService, private linkService: LinkService, + private linksDataSource: LinksDataSource, private nonNegativeValidator: NonNegativeValidator ) { this.formGroup = this.formBuilder.group({ @@ -63,6 +65,7 @@ export class LinkStyleEditorDialogComponent implements OnInit { this.link.link_style.type = type; this.linkService.updateLinkStyle(this.server, this.link).subscribe((link) => { + this.linksDataSource.update(link); this.toasterService.success("Link updated"); this.dialogRef.close(); }); From ac265a90bfab43c228c74da58c454b544ae9ab41 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Thu, 17 Jun 2021 14:45:05 +0200 Subject: [PATCH 14/25] Update ethernet-link.ts --- src/app/cartography/widgets/links/ethernet-link.ts | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/app/cartography/widgets/links/ethernet-link.ts b/src/app/cartography/widgets/links/ethernet-link.ts index 77625fee..18eafa0f 100644 --- a/src/app/cartography/widgets/links/ethernet-link.ts +++ b/src/app/cartography/widgets/links/ethernet-link.ts @@ -46,24 +46,15 @@ export class EthernetLinkWidget implements Widget { let link: MapLink = (datum as unknown) as MapLink; const evt = event; this.onContextMenu.emit(new LinkContextMenu(evt, link)); - }); - - link_enter + }) .attr('stroke', (datum) => { - let link: MapLink = (datum as unknown) as MapLink; return datum.style.color; }) .attr('stroke-width', (datum) => { - let link: MapLink = (datum as unknown) as MapLink; return datum.style.width; }) .attr('stroke-dasharray', (datum) => { return StyleTranslator.getLinkStyle(datum.style); - }) - .on('contextmenu', (datum) => { - let link: MapLink = (datum as unknown) as MapLink; - const evt = event; - this.onContextMenu.emit(new LinkContextMenu(evt, link)); }); const link_merge = link.merge(link_enter); From 7953a86fd916086450ed84706f36545b6c095302 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Jun 2021 07:57:45 +0000 Subject: [PATCH 15/25] Bump ws from 6.2.1 to 6.2.2 Bumps [ws](https://github.com/websockets/ws) from 6.2.1 to 6.2.2. - [Release notes](https://github.com/websockets/ws/releases) - [Commits](https://github.com/websockets/ws/compare/6.2.1...6.2.2) --- updated-dependencies: - dependency-name: ws dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index 2e7f6419..15966ed0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3020,7 +3020,7 @@ async-exit-hook@^2.0.1: async-limiter@~1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== async@0.9.x: @@ -12123,9 +12123,9 @@ write-file-atomic@^3.0.0: typedarray-to-buffer "^3.1.5" ws@^6.2.1: - version "6.2.1" - resolved "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + version "6.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== dependencies: async-limiter "~1.0.0" From f2b70d562d9f8ec7b29cb6231343ec7fcb9ae5cc Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Wed, 21 Jul 2021 12:30:51 +0200 Subject: [PATCH 16/25] Changing link style --- src/app/cartography/cartography.module.ts | 2 ++ .../components/d3-map/d3-map.component.html | 1 + .../link-editing/link-editing.component.html | 0 .../link-editing/link-editing.component.scss | 0 .../link-editing/link-editing.component.ts | 31 +++++++++++++++++++ .../cartography/events/links-event-source.ts | 2 ++ .../managers/graph-data-manager.ts | 2 ++ .../cartography/managers/layers-manager.ts | 1 + .../services/map-change-detector-ref.ts | 1 + src/app/cartography/widgets/links.ts | 1 + .../link-style-editor.component.ts | 5 +++ .../project-map/project-map.component.ts | 1 + 12 files changed, 47 insertions(+) create mode 100644 src/app/cartography/components/link-editing/link-editing.component.html create mode 100644 src/app/cartography/components/link-editing/link-editing.component.scss create mode 100644 src/app/cartography/components/link-editing/link-editing.component.ts diff --git a/src/app/cartography/cartography.module.ts b/src/app/cartography/cartography.module.ts index 7d7c813d..a900548f 100644 --- a/src/app/cartography/cartography.module.ts +++ b/src/app/cartography/cartography.module.ts @@ -5,6 +5,7 @@ import { MatMenuModule } from '@angular/material/menu'; import { ANGULAR_MAP_DECLARATIONS } from './angular-map.imports'; import { D3MapComponent } from './components/d3-map/d3-map.component'; import { DraggableSelectionComponent } from './components/draggable-selection/draggable-selection.component'; +import { LinkEditingComponent } from './components/link-editing/link-editing.component'; import { DrawingAddingComponent } from './components/drawing-adding/drawing-adding.component'; import { DrawingResizingComponent } from './components/drawing-resizing/drawing-resizing.component'; import { ExperimentalMapComponent } from './components/experimental-map/experimental-map.component'; @@ -73,6 +74,7 @@ import { SerialLinkWidget } from './widgets/links/serial-link'; SelectionControlComponent, SelectionSelectComponent, DraggableSelectionComponent, + LinkEditingComponent, MovingCanvasDirective, ZoomingCanvasDirective, ], diff --git a/src/app/cartography/components/d3-map/d3-map.component.html b/src/app/cartography/components/d3-map/d3-map.component.html index e166c697..c066bb4a 100644 --- a/src/app/cartography/components/d3-map/d3-map.component.html +++ b/src/app/cartography/components/d3-map/d3-map.component.html @@ -46,3 +46,4 @@ + diff --git a/src/app/cartography/components/link-editing/link-editing.component.html b/src/app/cartography/components/link-editing/link-editing.component.html new file mode 100644 index 00000000..e69de29b diff --git a/src/app/cartography/components/link-editing/link-editing.component.scss b/src/app/cartography/components/link-editing/link-editing.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/src/app/cartography/components/link-editing/link-editing.component.ts b/src/app/cartography/components/link-editing/link-editing.component.ts new file mode 100644 index 00000000..65eb2e90 --- /dev/null +++ b/src/app/cartography/components/link-editing/link-editing.component.ts @@ -0,0 +1,31 @@ +import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { select } from 'd3-selection'; +import { Subscription } from 'rxjs'; +import { LinksEventSource } from '../../events/links-event-source'; +import { MapLink } from '../../models/map/map-link'; +import { LinksWidget } from '../../widgets/links'; + +@Component({ + selector: 'app-link-editing', + templateUrl: './link-editing.component.html', + styleUrls: ['./link-editing.component.scss'], +}) +export class LinkEditingComponent implements OnInit, OnDestroy { + private linkEditedSubscription: Subscription; + @Input('svg') svg: SVGSVGElement; + + constructor( + private linksWidget: LinksWidget, + private linksEventSource: LinksEventSource ) {} + + ngOnInit() { + const svg = select(this.svg); + this.linkEditedSubscription = this.linksEventSource.edited.subscribe((link: MapLink) => { + this.linksWidget.redrawLink(svg, link); + }); + } + + ngOnDestroy() { + this.linkEditedSubscription.unsubscribe(); + } +} diff --git a/src/app/cartography/events/links-event-source.ts b/src/app/cartography/events/links-event-source.ts index 53341290..7c831aa0 100644 --- a/src/app/cartography/events/links-event-source.ts +++ b/src/app/cartography/events/links-event-source.ts @@ -1,4 +1,5 @@ import { EventEmitter, Injectable } from '@angular/core'; +import { MapLink } from '../models/map/map-link'; import { MapLinkNode } from '../models/map/map-link-node'; import { DraggedDataEvent } from './event-source'; import { MapLinkCreated } from './links'; @@ -6,5 +7,6 @@ import { MapLinkCreated } from './links'; @Injectable() export class LinksEventSource { public created = new EventEmitter(); + public edited = new EventEmitter(); public interfaceDragged = new EventEmitter>(); } diff --git a/src/app/cartography/managers/graph-data-manager.ts b/src/app/cartography/managers/graph-data-manager.ts index 278e96a0..a84693c2 100644 --- a/src/app/cartography/managers/graph-data-manager.ts +++ b/src/app/cartography/managers/graph-data-manager.ts @@ -45,6 +45,7 @@ export class GraphDataManager { public setLinks(links: Link[]) { if (links) { + console.log("from set links"); const mapLinks = links.map((l) => this.linkToMapLink.convert(l)); this.mapLinksDataSource.set(mapLinks); @@ -88,6 +89,7 @@ export class GraphDataManager { private onDataUpdate() { this.layersManager.clear(); this.layersManager.setNodes(this.getNodes()); + console.log(this.getLinks()); this.layersManager.setLinks(this.getLinks()); this.layersManager.setDrawings(this.getDrawings()); } diff --git a/src/app/cartography/managers/layers-manager.ts b/src/app/cartography/managers/layers-manager.ts index f0e6007b..afb2e13e 100644 --- a/src/app/cartography/managers/layers-manager.ts +++ b/src/app/cartography/managers/layers-manager.ts @@ -38,6 +38,7 @@ export class LayersManager { } public setLinks(links: MapLink[]) { + console.log('from set links 2'); links .filter((link: MapLink) => link.source && link.target) .forEach((link: MapLink) => { diff --git a/src/app/cartography/services/map-change-detector-ref.ts b/src/app/cartography/services/map-change-detector-ref.ts index c97c0df1..59c79171 100644 --- a/src/app/cartography/services/map-change-detector-ref.ts +++ b/src/app/cartography/services/map-change-detector-ref.ts @@ -7,6 +7,7 @@ export class MapChangeDetectorRef { public hasBeenDrawn = false; public detectChanges() { + console.log('from map change detector'); this.changesDetected.emit(true); } } diff --git a/src/app/cartography/widgets/links.ts b/src/app/cartography/widgets/links.ts index f6eecce6..59addeec 100644 --- a/src/app/cartography/widgets/links.ts +++ b/src/app/cartography/widgets/links.ts @@ -11,6 +11,7 @@ export class LinksWidget implements Widget { constructor(private multiLinkCalculatorHelper: MultiLinkCalculatorHelper, private linkWidget: LinkWidget) {} public redrawLink(view: SVGSelection, link: MapLink) { + console.log('redraw called'); this.linkWidget.draw(this.selectLink(view, link)); } diff --git a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts index 5a4a6721..78e5c6b2 100644 --- a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts +++ b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts @@ -8,6 +8,8 @@ import { ToasterService } from '../../../../services/toaster.service'; import { NonNegativeValidator } from '../../../../validators/non-negative-validator'; import { LinkService } from '../../../../services/link.service'; import { LinksDataSource } from '../../../../cartography/datasources/links-datasource'; +import { LinksEventSource } from '../../../../cartography/events/links-event-source'; +import { LinkToMapLinkConverter } from '../../../../cartography/converters/map/link-to-map-link-converter'; @Component({ selector: 'app-link-style-editor', @@ -27,6 +29,8 @@ export class LinkStyleEditorDialogComponent implements OnInit { private toasterService: ToasterService, private linkService: LinkService, private linksDataSource: LinksDataSource, + private linksEventSource: LinksEventSource, + private linkToMapLink: LinkToMapLinkConverter, private nonNegativeValidator: NonNegativeValidator ) { this.formGroup = this.formBuilder.group({ @@ -66,6 +70,7 @@ export class LinkStyleEditorDialogComponent implements OnInit { this.linkService.updateLinkStyle(this.server, this.link).subscribe((link) => { this.linksDataSource.update(link); + this.linksEventSource.edited.next(this.linkToMapLink.convert(link)); this.toasterService.success("Link updated"); this.dialogRef.close(); }); diff --git a/src/app/components/project-map/project-map.component.ts b/src/app/components/project-map/project-map.component.ts index e44ec93a..a40261d2 100644 --- a/src/app/components/project-map/project-map.component.ts +++ b/src/app/components/project-map/project-map.component.ts @@ -267,6 +267,7 @@ export class ProjectMapComponent implements OnInit, OnDestroy { this.projectMapSubscription.add( this.linksDataSource.changes.subscribe((links: Link[]) => { + console.log('from project map component'); this.links = links; this.mapChangeDetectorRef.detectChanges(); }) From a1228d009babfcf7bf9ea58d45e75bd722fc31b2 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Wed, 16 Jun 2021 18:44:12 +0200 Subject: [PATCH 17/25] Edit link style dialog created --- src/app/app.module.ts | 4 ++ .../map/link-to-map-link-converter.ts | 1 + .../map/map-link-to-link-converter.ts | 1 + src/app/cartography/models/map/map-link.ts | 2 + .../edit-link-style-action.component.html | 4 ++ .../edit-link-style-action.component.ts | 33 ++++++++++ .../context-menu/context-menu.component.html | 12 ++++ .../link-style-editor.component.html | 35 +++++++++++ .../link-style-editor.component.scss | 54 ++++++++++++++++ .../link-style-editor.component.ts | 61 +++++++++++++++++++ src/app/models/link-style.ts | 5 ++ src/app/models/link.ts | 2 + 12 files changed, 214 insertions(+) create mode 100644 src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.html create mode 100644 src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.ts create mode 100644 src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.html create mode 100644 src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.scss create mode 100644 src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts create mode 100644 src/app/models/link-style.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index caa42a53..ea41c8c6 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -112,6 +112,7 @@ import { DeleteActionComponent } from './components/project-map/context-menu/act import { DuplicateActionComponent } from './components/project-map/context-menu/actions/duplicate-action/duplicate-action.component'; import { EditConfigActionComponent } from './components/project-map/context-menu/actions/edit-config/edit-config-action.component'; import { EditStyleActionComponent } from './components/project-map/context-menu/actions/edit-style-action/edit-style-action.component'; +import { EditLinkStyleActionComponent } from './components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component'; import { EditTextActionComponent } from './components/project-map/context-menu/actions/edit-text-action/edit-text-action.component'; import { ExportConfigActionComponent } from './components/project-map/context-menu/actions/export-config/export-config-action.component'; import { HttpConsoleNewTabActionComponent } from './components/project-map/context-menu/actions/http-console-new-tab/http-console-new-tab-action.component'; @@ -138,6 +139,7 @@ import { ContextMenuComponent } from './components/project-map/context-menu/cont import { ConfigDialogComponent } from './components/project-map/context-menu/dialogs/config-dialog/config-dialog.component'; import { DrawLinkToolComponent } from './components/project-map/draw-link-tool/draw-link-tool.component'; import { StyleEditorDialogComponent } from './components/project-map/drawings-editors/style-editor/style-editor.component'; +import { LinkStyleEditorDialogComponent } from './components/project-map/drawings-editors/link-style-editor/link-style-editor.component'; import { TextEditorDialogComponent } from './components/project-map/drawings-editors/text-editor/text-editor.component'; import { HelpDialogComponent } from './components/project-map/help-dialog/help-dialog.component'; import { NodeCreatedLabelStylesFixer } from './components/project-map/helpers/node-created-label-styles-fixer'; @@ -300,6 +302,7 @@ import { LoggedUserComponent } from './components/users/logged-user/logged-user. MoveLayerDownActionComponent, MoveLayerUpActionComponent, EditStyleActionComponent, + EditLinkStyleActionComponent, EditTextActionComponent, DeleteActionComponent, DuplicateActionComponent, @@ -327,6 +330,7 @@ import { LoggedUserComponent } from './components/users/logged-user/logged-user. InterfaceLabelDraggedComponent, InstallSoftwareComponent, StyleEditorDialogComponent, + LinkStyleEditorDialogComponent, TextEditorDialogComponent, PacketFiltersDialogComponent, QemuPreferencesComponent, diff --git a/src/app/cartography/converters/map/link-to-map-link-converter.ts b/src/app/cartography/converters/map/link-to-map-link-converter.ts index 28ecf2c8..14fd3827 100644 --- a/src/app/cartography/converters/map/link-to-map-link-converter.ts +++ b/src/app/cartography/converters/map/link-to-map-link-converter.ts @@ -15,6 +15,7 @@ export class LinkToMapLinkConverter implements Converter { mapLink.captureFilePath = link.capture_file_path; mapLink.capturing = link.capturing; mapLink.filters = link.filters; + mapLink.link_style = link.link_style; mapLink.linkType = link.link_type; mapLink.nodes = link.nodes.map((linkNode) => this.linkNodeToMapLinkNode.convert(linkNode, { link_id: link.link_id }) diff --git a/src/app/cartography/converters/map/map-link-to-link-converter.ts b/src/app/cartography/converters/map/map-link-to-link-converter.ts index ae269a42..6cc8be8b 100644 --- a/src/app/cartography/converters/map/map-link-to-link-converter.ts +++ b/src/app/cartography/converters/map/map-link-to-link-converter.ts @@ -16,6 +16,7 @@ export class MapLinkToLinkConverter implements Converter { link.capturing = mapLink.capturing; link.filters = mapLink.filters; link.link_type = mapLink.linkType; + link.link_style = mapLink.link_style; link.nodes = mapLink.nodes.map((mapLinkNode) => this.mapLinkNodeToMapLinkNode.convert(mapLinkNode)); link.project_id = mapLink.projectId; link.suspend = mapLink.suspend; diff --git a/src/app/cartography/models/map/map-link.ts b/src/app/cartography/models/map/map-link.ts index 57bac994..339f165d 100644 --- a/src/app/cartography/models/map/map-link.ts +++ b/src/app/cartography/models/map/map-link.ts @@ -2,6 +2,7 @@ import { Filter } from '../../../models/filter'; import { Indexed } from '../../datasources/map-datasource'; import { MapLinkNode } from './map-link-node'; import { MapNode } from './map-node'; +import { LinkStyle } from '../../../models/link-style'; export class MapLink implements Indexed { id: string; @@ -13,6 +14,7 @@ export class MapLink implements Indexed { nodes: MapLinkNode[]; projectId: string; suspend: boolean; + link_style?: LinkStyle; distance: number; // this is not from server length: number; // this is not from server diff --git a/src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.html b/src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.html new file mode 100644 index 00000000..43ab8ded --- /dev/null +++ b/src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.html @@ -0,0 +1,4 @@ + diff --git a/src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.ts b/src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.ts new file mode 100644 index 00000000..de5ea91b --- /dev/null +++ b/src/app/components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component.ts @@ -0,0 +1,33 @@ +import { Component, Input, OnChanges } from '@angular/core'; +import { MatDialog } from '@angular/material/dialog'; +import { Link } from '../../../../../models/link'; +import { Project } from '../../../../../models/project'; +import { Server } from '../../../../../models/server'; +import { LinkStyleEditorDialogComponent } from '../../../drawings-editors/link-style-editor/link-style-editor.component'; + +@Component({ + selector: 'app-edit-link-style-action', + + templateUrl: './edit-link-style-action.component.html', +}) +export class EditLinkStyleActionComponent implements OnChanges { + @Input() server: Server; + @Input() project: Project; + @Input() link: Link; + + constructor(private dialog: MatDialog) {} + + ngOnChanges() {} + + editStyle() { + const dialogRef = this.dialog.open(LinkStyleEditorDialogComponent, { + width: '800px', + autoFocus: false, + disableClose: true, + }); + let instance = dialogRef.componentInstance; + instance.server = this.server; + instance.project = this.project; + instance.link = this.link; + } +} diff --git a/src/app/components/project-map/context-menu/context-menu.component.html b/src/app/components/project-map/context-menu/context-menu.component.html index ac888f82..85f6fec9 100644 --- a/src/app/components/project-map/context-menu/context-menu.component.html +++ b/src/app/components/project-map/context-menu/context-menu.component.html @@ -180,6 +180,18 @@ [server]="server" [link]="links[0]" > + Style editor + + + +
+ + +
diff --git a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.scss b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.scss new file mode 100644 index 00000000..38ca9c48 --- /dev/null +++ b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.scss @@ -0,0 +1,54 @@ + .item { + height: 25px; + font-size: 10pt; + margin-bottom: 10px; + } + + .item-name { + margin-bottom: 10px; + } + + .item-value { + width: 100%; + margin-bottom: 10px; + } + + .input-color { + padding: 0px; + border-width: 0px; + width: 100%; + background-color: transparent; + outline: none; + } + + input:focus { + outline: none; + } + + input[type='color'] { + -webkit-appearance: none; + border: none; + height: 25px; + } + + input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + } + + input[type='color']::-webkit-color-swatch { + border: none; + } + + .modal-form-container { + display: flex; + flex-direction: column; + } + + .modal-form-container > * { + width: 100%; + } + + .form-field { + width: 100%; + } + \ No newline at end of file diff --git a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts new file mode 100644 index 00000000..51fd2bac --- /dev/null +++ b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts @@ -0,0 +1,61 @@ +import { Component, OnInit } from '@angular/core'; +import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; +import { MatDialogRef } from '@angular/material/dialog'; +import { Link } from '../../../../models/link'; +import { Project } from '../../../../models/project'; +import { Server } from '../../../../models/server'; +import { ToasterService } from '../../../../services/toaster.service'; +import { NonNegativeValidator } from '../../../../validators/non-negative-validator'; +import { LinkService } from '../../../../services/link.service'; + +@Component({ + selector: 'app-link-style-editor', + templateUrl: './link-style-editor.component.html', + styleUrls: ['./link-style-editor.component.scss'], +}) +export class LinkStyleEditorDialogComponent implements OnInit { + server: Server; + project: Project; + link: Link; + formGroup: FormGroup; + borderTypes = ["Solid", "Dash", "Dot", "Dash Dot"]; + + constructor( + public dialogRef: MatDialogRef, + private formBuilder: FormBuilder, + private toasterService: ToasterService, + private linkService: LinkService, + private nonNegativeValidator: NonNegativeValidator + ) { + this.formGroup = this.formBuilder.group({ + color: new FormControl('', [Validators.required, nonNegativeValidator.get]), + width: new FormControl('', [Validators.required, nonNegativeValidator.get]), + type: new FormControl('', [Validators.required, nonNegativeValidator.get]) + }); + } + + ngOnInit() { + this.formGroup.controls['color'].setValue(this.link.link_style.color); + this.formGroup.controls['width'].setValue(this.link.link_style.width); + this.formGroup.controls['type'].setValue(this.link.link_style.width); + } + + onNoClick() { + this.dialogRef.close(); + } + + onYesClick() { + if (this.formGroup.valid) { + this.link.link_style.color = this.formGroup.get('color').value; + this.link.link_style.width = this.formGroup.get('width').value; + this.link.link_style.type = this.formGroup.get('type').value; + + this.linkService.updateLink(this.server, this.link).subscribe(() => { + this.toasterService.success("Link updated"); + this.dialogRef.close(); + }); + } else { + this.toasterService.error(`Entered data is incorrect`); + } + } +} diff --git a/src/app/models/link-style.ts b/src/app/models/link-style.ts new file mode 100644 index 00000000..c19be32c --- /dev/null +++ b/src/app/models/link-style.ts @@ -0,0 +1,5 @@ +export class LinkStyle { + color: string; + width: number; + type: number; +} diff --git a/src/app/models/link.ts b/src/app/models/link.ts index bb7a26bb..46a898fd 100644 --- a/src/app/models/link.ts +++ b/src/app/models/link.ts @@ -1,6 +1,7 @@ import { Node } from '../cartography/models/node'; import { Filter } from './filter'; import { LinkNode } from './link-node'; +import { LinkStyle } from './link-style'; export class Link { capture_file_name: string; @@ -12,6 +13,7 @@ export class Link { nodes: LinkNode[]; project_id: string; suspend: boolean; + link_style?: LinkStyle; distance: number; // this is not from server length: number; // this is not from server From 97974339b9d07400882b8b1e62ddff22439f137f Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Wed, 16 Jun 2021 19:19:39 +0200 Subject: [PATCH 18/25] Changing style for links added --- .../link-style-editor.component.html | 8 +++---- .../link-style-editor.component.ts | 24 ++++++++++++++----- src/app/services/link.service.ts | 4 ++++ 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.html b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.html index aa761fbb..8c947b08 100644 --- a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.html +++ b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.html @@ -20,11 +20,9 @@ - + + {{ type }} + diff --git a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts index 51fd2bac..25134039 100644 --- a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts +++ b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts @@ -28,16 +28,26 @@ export class LinkStyleEditorDialogComponent implements OnInit { private nonNegativeValidator: NonNegativeValidator ) { this.formGroup = this.formBuilder.group({ - color: new FormControl('', [Validators.required, nonNegativeValidator.get]), + color: new FormControl('', [Validators.required]), width: new FormControl('', [Validators.required, nonNegativeValidator.get]), - type: new FormControl('', [Validators.required, nonNegativeValidator.get]) + type: new FormControl('', [Validators.required]) }); } ngOnInit() { - this.formGroup.controls['color'].setValue(this.link.link_style.color); + if (!this.link.link_style?.color) { + this.formGroup.controls['color'].setValue("#000000"); + } else { + this.formGroup.controls['color'].setValue(this.link.link_style.color); + } + this.formGroup.controls['width'].setValue(this.link.link_style.width); - this.formGroup.controls['type'].setValue(this.link.link_style.width); + + let type = this.borderTypes[0]; + if (this.link.link_style?.type) { + type = this.borderTypes[this.link.link_style.type]; + } + this.formGroup.controls['type'].setValue(type); } onNoClick() { @@ -48,9 +58,11 @@ export class LinkStyleEditorDialogComponent implements OnInit { if (this.formGroup.valid) { this.link.link_style.color = this.formGroup.get('color').value; this.link.link_style.width = this.formGroup.get('width').value; - this.link.link_style.type = this.formGroup.get('type').value; - this.linkService.updateLink(this.server, this.link).subscribe(() => { + let type = this.borderTypes.indexOf(this.formGroup.get('type').value); + this.link.link_style.type = type; + + this.linkService.updateLinkStyle(this.server, this.link).subscribe((link) => { this.toasterService.success("Link updated"); this.dialogRef.close(); }); diff --git a/src/app/services/link.service.ts b/src/app/services/link.service.ts index 668dc0c9..17e722b9 100644 --- a/src/app/services/link.service.ts +++ b/src/app/services/link.service.ts @@ -69,6 +69,10 @@ export class LinkService { return this.httpServer.put(server, `/projects/${link.project_id}/links/${link.link_id}`, link); } + updateLinkStyle(server: Server, link: Link) { + return this.httpServer.put(server, `/projects/${link.project_id}/links/${link.link_id}`, link); + } + getAvailableFilters(server: Server, link: Link) { return this.httpServer.get( server, From 5cb3c43e8800243f90e86ede10414e0e29cdf5c2 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Thu, 17 Jun 2021 12:43:51 +0200 Subject: [PATCH 19/25] Link styling for ethernet links --- src/app/cartography/widgets/link.ts | 3 ++- .../widgets/links/ethernet-link.ts | 25 ++++++++++++++++--- .../widgets/links/style-translator.ts | 16 ++++++++++++ 3 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 src/app/cartography/widgets/links/style-translator.ts diff --git a/src/app/cartography/widgets/link.ts b/src/app/cartography/widgets/link.ts index e5d56774..6b2fd60e 100644 --- a/src/app/cartography/widgets/link.ts +++ b/src/app/cartography/widgets/link.ts @@ -29,7 +29,8 @@ export class LinkWidget implements Widget { const link_body_enter = link_body.enter().append('g').attr('class', 'link_body'); - const link_body_merge = link_body.merge(link_body_enter).attr('transform', (link) => { + const link_body_merge = link_body.merge(link_body_enter) + .attr('transform', (link) => { const translation = this.multiLinkCalculatorHelper.linkTranslation(link.distance, link.source, link.target); return `translate (${translation.dx}, ${translation.dy})`; }); diff --git a/src/app/cartography/widgets/links/ethernet-link.ts b/src/app/cartography/widgets/links/ethernet-link.ts index 3de741e0..77fda0be 100644 --- a/src/app/cartography/widgets/links/ethernet-link.ts +++ b/src/app/cartography/widgets/links/ethernet-link.ts @@ -4,21 +4,29 @@ import { LinkContextMenu } from '../../events/event-source'; import { MapLink } from '../../models/map/map-link'; import { SVGSelection } from '../../models/types'; import { Widget } from '../widget'; +import { LinkStyle } from '../../../models/link-style'; +import { StyleTranslator} from './style-translator'; class EthernetLinkPath { - constructor(public source: [number, number], public target: [number, number]) {} + constructor(public source: [number, number], public target: [number, number], public style: LinkStyle) {} } @Injectable() export class EthernetLinkWidget implements Widget { public onContextMenu = new EventEmitter(); + private defaultEthernetLinkStyle : LinkStyle = { + color: "#000", + width: 2, + type: 0 + }; constructor() {} private linktoEthernetLink(link: MapLink) { return new EthernetLinkPath( [link.source.x + link.source.width / 2, link.source.y + link.source.height / 2], - [link.target.x + link.target.width / 2, link.target.y + link.target.height / 2] + [link.target.x + link.target.width / 2, link.target.y + link.target.height / 2], + link.link_style ? link.link_style : this.defaultEthernetLinkStyle ); } @@ -41,8 +49,17 @@ export class EthernetLinkWidget implements Widget { }); link_enter - .attr('stroke', '#000') - .attr('stroke-width', '2') + .attr('stroke', (datum) => { + let link: MapLink = (datum as unknown) as MapLink; + return datum.style.color; + }) + .attr('stroke-width', (datum) => { + let link: MapLink = (datum as unknown) as MapLink; + return datum.style.width; + }) + .attr('stroke-dasharray', (datum) => { + return StyleTranslator.getLinkStyle(datum.style); + }) .on('contextmenu', (datum) => { let link: MapLink = (datum as unknown) as MapLink; const evt = event; diff --git a/src/app/cartography/widgets/links/style-translator.ts b/src/app/cartography/widgets/links/style-translator.ts new file mode 100644 index 00000000..34762529 --- /dev/null +++ b/src/app/cartography/widgets/links/style-translator.ts @@ -0,0 +1,16 @@ +import { LinkStyle } from '../../../models/link-style'; + +export class StyleTranslator { + static getLinkStyle(linkStyle: LinkStyle) { + if (linkStyle.type == 1) { + return `10, 10` + } + if (linkStyle.type == 2) { + return `${linkStyle.width}, ${linkStyle.width}` + } + if (linkStyle.type == 3) { + return `20, 10, ${linkStyle.width}, ${linkStyle.width}, ${linkStyle.width}, 10` + } + return `0, 0` + } +} From d43e6649c75cf4d91184ff3aecbcce3f5bbd6204 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Thu, 17 Jun 2021 13:01:36 +0200 Subject: [PATCH 20/25] Update serial-link.ts --- .../cartography/widgets/links/serial-link.ts | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/app/cartography/widgets/links/serial-link.ts b/src/app/cartography/widgets/links/serial-link.ts index 9fc0e921..05ff94f2 100644 --- a/src/app/cartography/widgets/links/serial-link.ts +++ b/src/app/cartography/widgets/links/serial-link.ts @@ -4,19 +4,27 @@ import { LinkContextMenu } from '../../events/event-source'; import { MapLink } from '../../models/map/map-link'; import { SVGSelection } from '../../models/types'; import { Widget } from '../widget'; +import { LinkStyle } from '../../../models/link-style'; +import { StyleTranslator} from './style-translator'; class SerialLinkPath { constructor( public source: [number, number], public source_angle: [number, number], public target_angle: [number, number], - public target: [number, number] + public target: [number, number], + public style: LinkStyle ) {} } @Injectable() export class SerialLinkWidget implements Widget { public onContextMenu = new EventEmitter(); + private defaultSerialLinkStyle : LinkStyle = { + color: "#B22222", + width: 2, + type: 0 + }; constructor() {} @@ -47,7 +55,12 @@ export class SerialLinkWidget implements Widget { target.y - dy / 2.0 - 15 * vect_rot[1], ]; - return new SerialLinkPath([source.x, source.y], angle_source, angle_target, [target.x, target.y]); + return new SerialLinkPath( + [source.x, source.y], + angle_source, + angle_target, + [target.x, target.y], + link.link_style ? link.link_style : this.defaultSerialLinkStyle); } public draw(view: SVGSelection) { @@ -68,7 +81,16 @@ export class SerialLinkWidget implements Widget { this.onContextMenu.emit(new LinkContextMenu(evt, link)); }); - link_enter.attr('stroke', '#B22222').attr('fill', 'none').attr('stroke-width', '2'); + link_enter + .attr('stroke', (datum) => { + return datum.style.color; + }) + .attr('stroke-width', (datum) => { + return datum.style.width; + }) + .attr('stroke-dasharray', (datum) => { + return StyleTranslator.getLinkStyle(datum.style); + }); const link_merge = link.merge(link_enter); From 66cd41018e989c725d9cf354472ae19a0d785122 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Thu, 17 Jun 2021 13:21:42 +0200 Subject: [PATCH 21/25] Updating links data source added --- src/app/cartography/widgets/links/ethernet-link.ts | 2 +- src/app/cartography/widgets/links/serial-link.ts | 2 +- .../link-style-editor/link-style-editor.component.ts | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/app/cartography/widgets/links/ethernet-link.ts b/src/app/cartography/widgets/links/ethernet-link.ts index 77fda0be..77625fee 100644 --- a/src/app/cartography/widgets/links/ethernet-link.ts +++ b/src/app/cartography/widgets/links/ethernet-link.ts @@ -26,7 +26,7 @@ export class EthernetLinkWidget implements Widget { return new EthernetLinkPath( [link.source.x + link.source.width / 2, link.source.y + link.source.height / 2], [link.target.x + link.target.width / 2, link.target.y + link.target.height / 2], - link.link_style ? link.link_style : this.defaultEthernetLinkStyle + link.link_style.color ? link.link_style : this.defaultEthernetLinkStyle ); } diff --git a/src/app/cartography/widgets/links/serial-link.ts b/src/app/cartography/widgets/links/serial-link.ts index 05ff94f2..49e8c509 100644 --- a/src/app/cartography/widgets/links/serial-link.ts +++ b/src/app/cartography/widgets/links/serial-link.ts @@ -60,7 +60,7 @@ export class SerialLinkWidget implements Widget { angle_source, angle_target, [target.x, target.y], - link.link_style ? link.link_style : this.defaultSerialLinkStyle); + link.link_style.color ? link.link_style : this.defaultSerialLinkStyle); } public draw(view: SVGSelection) { diff --git a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts index 25134039..5a4a6721 100644 --- a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts +++ b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts @@ -7,6 +7,7 @@ import { Server } from '../../../../models/server'; import { ToasterService } from '../../../../services/toaster.service'; import { NonNegativeValidator } from '../../../../validators/non-negative-validator'; import { LinkService } from '../../../../services/link.service'; +import { LinksDataSource } from '../../../../cartography/datasources/links-datasource'; @Component({ selector: 'app-link-style-editor', @@ -25,6 +26,7 @@ export class LinkStyleEditorDialogComponent implements OnInit { private formBuilder: FormBuilder, private toasterService: ToasterService, private linkService: LinkService, + private linksDataSource: LinksDataSource, private nonNegativeValidator: NonNegativeValidator ) { this.formGroup = this.formBuilder.group({ @@ -63,6 +65,7 @@ export class LinkStyleEditorDialogComponent implements OnInit { this.link.link_style.type = type; this.linkService.updateLinkStyle(this.server, this.link).subscribe((link) => { + this.linksDataSource.update(link); this.toasterService.success("Link updated"); this.dialogRef.close(); }); From a8043f9423d4531c58d24b9ba0c22c9ac3a8b9dc Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Thu, 17 Jun 2021 14:45:05 +0200 Subject: [PATCH 22/25] Update ethernet-link.ts --- src/app/cartography/widgets/links/ethernet-link.ts | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/app/cartography/widgets/links/ethernet-link.ts b/src/app/cartography/widgets/links/ethernet-link.ts index 77625fee..18eafa0f 100644 --- a/src/app/cartography/widgets/links/ethernet-link.ts +++ b/src/app/cartography/widgets/links/ethernet-link.ts @@ -46,24 +46,15 @@ export class EthernetLinkWidget implements Widget { let link: MapLink = (datum as unknown) as MapLink; const evt = event; this.onContextMenu.emit(new LinkContextMenu(evt, link)); - }); - - link_enter + }) .attr('stroke', (datum) => { - let link: MapLink = (datum as unknown) as MapLink; return datum.style.color; }) .attr('stroke-width', (datum) => { - let link: MapLink = (datum as unknown) as MapLink; return datum.style.width; }) .attr('stroke-dasharray', (datum) => { return StyleTranslator.getLinkStyle(datum.style); - }) - .on('contextmenu', (datum) => { - let link: MapLink = (datum as unknown) as MapLink; - const evt = event; - this.onContextMenu.emit(new LinkContextMenu(evt, link)); }); const link_merge = link.merge(link_enter); From 408184874cd20b9524a44e8ffa3533b66caf8ac8 Mon Sep 17 00:00:00 2001 From: piotrpekala7 <31202938+piotrpekala7@users.noreply.github.com> Date: Wed, 21 Jul 2021 12:30:51 +0200 Subject: [PATCH 23/25] Changing link style --- src/app/cartography/cartography.module.ts | 2 ++ .../components/d3-map/d3-map.component.html | 1 + .../link-editing/link-editing.component.html | 0 .../link-editing/link-editing.component.scss | 0 .../link-editing/link-editing.component.ts | 31 +++++++++++++++++++ .../cartography/events/links-event-source.ts | 2 ++ .../managers/graph-data-manager.ts | 2 ++ .../cartography/managers/layers-manager.ts | 1 + .../services/map-change-detector-ref.ts | 1 + src/app/cartography/widgets/links.ts | 1 + .../link-style-editor.component.ts | 5 +++ .../project-map/project-map.component.ts | 1 + 12 files changed, 47 insertions(+) create mode 100644 src/app/cartography/components/link-editing/link-editing.component.html create mode 100644 src/app/cartography/components/link-editing/link-editing.component.scss create mode 100644 src/app/cartography/components/link-editing/link-editing.component.ts diff --git a/src/app/cartography/cartography.module.ts b/src/app/cartography/cartography.module.ts index 7d7c813d..a900548f 100644 --- a/src/app/cartography/cartography.module.ts +++ b/src/app/cartography/cartography.module.ts @@ -5,6 +5,7 @@ import { MatMenuModule } from '@angular/material/menu'; import { ANGULAR_MAP_DECLARATIONS } from './angular-map.imports'; import { D3MapComponent } from './components/d3-map/d3-map.component'; import { DraggableSelectionComponent } from './components/draggable-selection/draggable-selection.component'; +import { LinkEditingComponent } from './components/link-editing/link-editing.component'; import { DrawingAddingComponent } from './components/drawing-adding/drawing-adding.component'; import { DrawingResizingComponent } from './components/drawing-resizing/drawing-resizing.component'; import { ExperimentalMapComponent } from './components/experimental-map/experimental-map.component'; @@ -73,6 +74,7 @@ import { SerialLinkWidget } from './widgets/links/serial-link'; SelectionControlComponent, SelectionSelectComponent, DraggableSelectionComponent, + LinkEditingComponent, MovingCanvasDirective, ZoomingCanvasDirective, ], diff --git a/src/app/cartography/components/d3-map/d3-map.component.html b/src/app/cartography/components/d3-map/d3-map.component.html index e166c697..c066bb4a 100644 --- a/src/app/cartography/components/d3-map/d3-map.component.html +++ b/src/app/cartography/components/d3-map/d3-map.component.html @@ -46,3 +46,4 @@ + diff --git a/src/app/cartography/components/link-editing/link-editing.component.html b/src/app/cartography/components/link-editing/link-editing.component.html new file mode 100644 index 00000000..e69de29b diff --git a/src/app/cartography/components/link-editing/link-editing.component.scss b/src/app/cartography/components/link-editing/link-editing.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/src/app/cartography/components/link-editing/link-editing.component.ts b/src/app/cartography/components/link-editing/link-editing.component.ts new file mode 100644 index 00000000..65eb2e90 --- /dev/null +++ b/src/app/cartography/components/link-editing/link-editing.component.ts @@ -0,0 +1,31 @@ +import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { select } from 'd3-selection'; +import { Subscription } from 'rxjs'; +import { LinksEventSource } from '../../events/links-event-source'; +import { MapLink } from '../../models/map/map-link'; +import { LinksWidget } from '../../widgets/links'; + +@Component({ + selector: 'app-link-editing', + templateUrl: './link-editing.component.html', + styleUrls: ['./link-editing.component.scss'], +}) +export class LinkEditingComponent implements OnInit, OnDestroy { + private linkEditedSubscription: Subscription; + @Input('svg') svg: SVGSVGElement; + + constructor( + private linksWidget: LinksWidget, + private linksEventSource: LinksEventSource ) {} + + ngOnInit() { + const svg = select(this.svg); + this.linkEditedSubscription = this.linksEventSource.edited.subscribe((link: MapLink) => { + this.linksWidget.redrawLink(svg, link); + }); + } + + ngOnDestroy() { + this.linkEditedSubscription.unsubscribe(); + } +} diff --git a/src/app/cartography/events/links-event-source.ts b/src/app/cartography/events/links-event-source.ts index 53341290..7c831aa0 100644 --- a/src/app/cartography/events/links-event-source.ts +++ b/src/app/cartography/events/links-event-source.ts @@ -1,4 +1,5 @@ import { EventEmitter, Injectable } from '@angular/core'; +import { MapLink } from '../models/map/map-link'; import { MapLinkNode } from '../models/map/map-link-node'; import { DraggedDataEvent } from './event-source'; import { MapLinkCreated } from './links'; @@ -6,5 +7,6 @@ import { MapLinkCreated } from './links'; @Injectable() export class LinksEventSource { public created = new EventEmitter(); + public edited = new EventEmitter(); public interfaceDragged = new EventEmitter>(); } diff --git a/src/app/cartography/managers/graph-data-manager.ts b/src/app/cartography/managers/graph-data-manager.ts index 278e96a0..a84693c2 100644 --- a/src/app/cartography/managers/graph-data-manager.ts +++ b/src/app/cartography/managers/graph-data-manager.ts @@ -45,6 +45,7 @@ export class GraphDataManager { public setLinks(links: Link[]) { if (links) { + console.log("from set links"); const mapLinks = links.map((l) => this.linkToMapLink.convert(l)); this.mapLinksDataSource.set(mapLinks); @@ -88,6 +89,7 @@ export class GraphDataManager { private onDataUpdate() { this.layersManager.clear(); this.layersManager.setNodes(this.getNodes()); + console.log(this.getLinks()); this.layersManager.setLinks(this.getLinks()); this.layersManager.setDrawings(this.getDrawings()); } diff --git a/src/app/cartography/managers/layers-manager.ts b/src/app/cartography/managers/layers-manager.ts index f0e6007b..afb2e13e 100644 --- a/src/app/cartography/managers/layers-manager.ts +++ b/src/app/cartography/managers/layers-manager.ts @@ -38,6 +38,7 @@ export class LayersManager { } public setLinks(links: MapLink[]) { + console.log('from set links 2'); links .filter((link: MapLink) => link.source && link.target) .forEach((link: MapLink) => { diff --git a/src/app/cartography/services/map-change-detector-ref.ts b/src/app/cartography/services/map-change-detector-ref.ts index c97c0df1..59c79171 100644 --- a/src/app/cartography/services/map-change-detector-ref.ts +++ b/src/app/cartography/services/map-change-detector-ref.ts @@ -7,6 +7,7 @@ export class MapChangeDetectorRef { public hasBeenDrawn = false; public detectChanges() { + console.log('from map change detector'); this.changesDetected.emit(true); } } diff --git a/src/app/cartography/widgets/links.ts b/src/app/cartography/widgets/links.ts index f6eecce6..59addeec 100644 --- a/src/app/cartography/widgets/links.ts +++ b/src/app/cartography/widgets/links.ts @@ -11,6 +11,7 @@ export class LinksWidget implements Widget { constructor(private multiLinkCalculatorHelper: MultiLinkCalculatorHelper, private linkWidget: LinkWidget) {} public redrawLink(view: SVGSelection, link: MapLink) { + console.log('redraw called'); this.linkWidget.draw(this.selectLink(view, link)); } diff --git a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts index 5a4a6721..78e5c6b2 100644 --- a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts +++ b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts @@ -8,6 +8,8 @@ import { ToasterService } from '../../../../services/toaster.service'; import { NonNegativeValidator } from '../../../../validators/non-negative-validator'; import { LinkService } from '../../../../services/link.service'; import { LinksDataSource } from '../../../../cartography/datasources/links-datasource'; +import { LinksEventSource } from '../../../../cartography/events/links-event-source'; +import { LinkToMapLinkConverter } from '../../../../cartography/converters/map/link-to-map-link-converter'; @Component({ selector: 'app-link-style-editor', @@ -27,6 +29,8 @@ export class LinkStyleEditorDialogComponent implements OnInit { private toasterService: ToasterService, private linkService: LinkService, private linksDataSource: LinksDataSource, + private linksEventSource: LinksEventSource, + private linkToMapLink: LinkToMapLinkConverter, private nonNegativeValidator: NonNegativeValidator ) { this.formGroup = this.formBuilder.group({ @@ -66,6 +70,7 @@ export class LinkStyleEditorDialogComponent implements OnInit { this.linkService.updateLinkStyle(this.server, this.link).subscribe((link) => { this.linksDataSource.update(link); + this.linksEventSource.edited.next(this.linkToMapLink.convert(link)); this.toasterService.success("Link updated"); this.dialogRef.close(); }); diff --git a/src/app/components/project-map/project-map.component.ts b/src/app/components/project-map/project-map.component.ts index e5a3f0c2..070e0f1e 100644 --- a/src/app/components/project-map/project-map.component.ts +++ b/src/app/components/project-map/project-map.component.ts @@ -268,6 +268,7 @@ export class ProjectMapComponent implements OnInit, OnDestroy { this.projectMapSubscription.add( this.linksDataSource.changes.subscribe((links: Link[]) => { + console.log('from project map component'); this.links = links; this.mapChangeDetectorRef.detectChanges(); }) From 78f2b76a1456a5eb7db4ce8d2179efe0bdd23f67 Mon Sep 17 00:00:00 2001 From: Rajnikant Date: Mon, 18 Apr 2022 12:06:23 +0530 Subject: [PATCH 24/25] I added location.reload() for reload hole page --- .../link-style-editor/link-style-editor.component.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts index 78e5c6b2..11ba6398 100644 --- a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts +++ b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts @@ -71,7 +71,8 @@ export class LinkStyleEditorDialogComponent implements OnInit { this.linkService.updateLinkStyle(this.server, this.link).subscribe((link) => { this.linksDataSource.update(link); this.linksEventSource.edited.next(this.linkToMapLink.convert(link)); - this.toasterService.success("Link updated"); + location.reload() + // this.toasterService.success("Link updated"); this.dialogRef.close(); }); } else { From 834cdecd80d7cdd5941ddf1f4c2b57df2da5eb5f Mon Sep 17 00:00:00 2001 From: Rajnikant Date: Mon, 18 Apr 2022 12:27:43 +0530 Subject: [PATCH 25/25] Added a comment for location.reload() function --- .../link-style-editor/link-style-editor.component.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts index 11ba6398..fca658ea 100644 --- a/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts +++ b/src/app/components/project-map/drawings-editors/link-style-editor/link-style-editor.component.ts @@ -71,7 +71,8 @@ export class LinkStyleEditorDialogComponent implements OnInit { this.linkService.updateLinkStyle(this.server, this.link).subscribe((link) => { this.linksDataSource.update(link); this.linksEventSource.edited.next(this.linkToMapLink.convert(link)); - location.reload() + location.reload() + // we add this code/line for reload the entire page because single graph/link style is not updated automatically. // this.toasterService.success("Link updated"); this.dialogRef.close(); });