TSK-1098: All issues related fixes (#3079)

Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
This commit is contained in:
Andrey Sobolev 2023-04-26 14:53:16 +07:00 committed by GitHub
parent 42e320f425
commit f0effc13c2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 140 additions and 114 deletions

View File

@ -269,8 +269,9 @@ specifiers:
'@types/xml2js': ~0.4.9 '@types/xml2js': ~0.4.9
'@typescript-eslint/eslint-plugin': ^5.41.0 '@typescript-eslint/eslint-plugin': ^5.41.0
'@typescript-eslint/parser': ^5.41.0 '@typescript-eslint/parser': ^5.41.0
autoprefixer: ^10.4.13 autoprefixer: ^10.4.14
body-parser: ~1.19.1 body-parser: ~1.19.1
browserslist: 4.21.5
commander: ^8.1.0 commander: ^8.1.0
comment-json: ^4.2.2 comment-json: ^4.2.2
compression: ~1.7.4 compression: ~1.7.4
@ -358,6 +359,7 @@ specifiers:
ts-loader: ^9.2.5 ts-loader: ^9.2.5
ts-node: ^10.8.0 ts-node: ^10.8.0
typescript: ^4.3.5 typescript: ^4.3.5
update-browserslist-db: ~1.0.11
uuid: ^8.3.2 uuid: ^8.3.2
webpack: ^5.75.0 webpack: ^5.75.0
webpack-bundle-analyzer: ^4.7.0 webpack-bundle-analyzer: ^4.7.0
@ -639,8 +641,9 @@ dependencies:
'@types/xml2js': 0.4.11 '@types/xml2js': 0.4.11
'@typescript-eslint/eslint-plugin': 5.42.1_d506b9be61cb4ac2646ecbc6e0680464 '@typescript-eslint/eslint-plugin': 5.42.1_d506b9be61cb4ac2646ecbc6e0680464
'@typescript-eslint/parser': 5.42.1_eslint@8.27.0+typescript@4.8.4 '@typescript-eslint/parser': 5.42.1_eslint@8.27.0+typescript@4.8.4
autoprefixer: 10.4.13_postcss@8.4.20 autoprefixer: 10.4.14_postcss@8.4.20
body-parser: 1.19.2 body-parser: 1.19.2
browserslist: 4.21.5
commander: 8.3.0 commander: 8.3.0
comment-json: 4.2.3 comment-json: 4.2.3
compression: 1.7.4 compression: 1.7.4
@ -728,6 +731,7 @@ dependencies:
ts-loader: 9.4.1_typescript@4.8.4+webpack@5.75.0 ts-loader: 9.4.1_typescript@4.8.4+webpack@5.75.0
ts-node: 10.9.1_867af3484524ae72fe2b1aa24b40f5ee ts-node: 10.9.1_867af3484524ae72fe2b1aa24b40f5ee
typescript: 4.8.4 typescript: 4.8.4
update-browserslist-db: 1.0.11_browserslist@4.21.5
uuid: 8.3.2 uuid: 8.3.2
webpack: 5.75.0_c5a9b74f1e48ccd7ef01359287c5ad78 webpack: 5.75.0_c5a9b74f1e48ccd7ef01359287c5ad78
webpack-bundle-analyzer: 4.7.0 webpack-bundle-analyzer: 4.7.0
@ -1588,7 +1592,7 @@ packages:
'@babel/compat-data': 7.20.1 '@babel/compat-data': 7.20.1
'@babel/core': 7.20.2 '@babel/core': 7.20.2
'@babel/helper-validator-option': 7.18.6 '@babel/helper-validator-option': 7.18.6
browserslist: 4.21.4 browserslist: 4.21.5
semver: 6.3.0 semver: 6.3.0
dev: false dev: false
@ -4263,15 +4267,15 @@ packages:
engines: {node: '>=8.0.0'} engines: {node: '>=8.0.0'}
dev: false dev: false
/autoprefixer/10.4.13_postcss@8.4.20: /autoprefixer/10.4.14_postcss@8.4.20:
resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
postcss: ^8.1.0 postcss: ^8.1.0
dependencies: dependencies:
browserslist: 4.21.4 browserslist: 4.21.5
caniuse-lite: 1.0.30001431 caniuse-lite: 1.0.30001481
fraction.js: 4.2.0 fraction.js: 4.2.0
normalize-range: 0.1.2 normalize-range: 0.1.2
picocolors: 1.0.0 picocolors: 1.0.0
@ -4555,15 +4559,15 @@ packages:
safe-buffer: 5.2.1 safe-buffer: 5.2.1
dev: false dev: false
/browserslist/4.21.4: /browserslist/4.21.5:
resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true hasBin: true
dependencies: dependencies:
caniuse-lite: 1.0.30001431 caniuse-lite: 1.0.30001481
electron-to-chromium: 1.4.284 electron-to-chromium: 1.4.284
node-releases: 2.0.6 node-releases: 2.0.10
update-browserslist-db: 1.0.10_browserslist@4.21.4 update-browserslist-db: 1.0.11_browserslist@4.21.5
dev: false dev: false
/bser/2.1.1: /bser/2.1.1:
@ -4676,8 +4680,8 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
dev: false dev: false
/caniuse-lite/1.0.30001431: /caniuse-lite/1.0.30001481:
resolution: {integrity: sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==} resolution: {integrity: sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==}
dev: false dev: false
/case-anything/2.1.10: /case-anything/2.1.10:
@ -8812,8 +8816,8 @@ packages:
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
dev: false dev: false
/node-releases/2.0.6: /node-releases/2.0.10:
resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==}
dev: false dev: false
/normalize-package-data/2.5.0: /normalize-package-data/2.5.0:
@ -11160,13 +11164,13 @@ packages:
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
dev: false dev: false
/update-browserslist-db/1.0.10_browserslist@4.21.4: /update-browserslist-db/1.0.11_browserslist@4.21.5:
resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
browserslist: '>= 4.21.0' browserslist: '>= 4.21.0'
dependencies: dependencies:
browserslist: 4.21.4 browserslist: 4.21.5
escalade: 3.1.1 escalade: 3.1.1
picocolors: 1.0.0 picocolors: 1.0.0
dev: false dev: false
@ -11454,7 +11458,7 @@ packages:
'@webassemblyjs/wasm-parser': 1.11.1 '@webassemblyjs/wasm-parser': 1.11.1
acorn: 8.8.1 acorn: 8.8.1
acorn-import-assertions: 1.8.0_acorn@8.8.1 acorn-import-assertions: 1.8.0_acorn@8.8.1
browserslist: 4.21.4 browserslist: 4.21.5
chrome-trace-event: 1.0.3 chrome-trace-event: 1.0.3
enhanced-resolve: 5.10.0 enhanced-resolve: 5.10.0
es-module-lexer: 0.9.3 es-module-lexer: 0.9.3
@ -12332,7 +12336,7 @@ packages:
dev: false dev: false
file:projects/chunter.tgz: file:projects/chunter.tgz:
resolution: {integrity: sha512-wH+c+yBSbAi9Tdzq+Q65aAJcx/fcJFuzciJz3xuGUlzTB16OM3DH7uh0it3q7t4gqMeHeT8Wz59Qh3Cdyz3kOw==, tarball: file:projects/chunter.tgz} resolution: {integrity: sha512-PLpT+CjmijpxhDvt0NO++aFxffhwAfzoHrz5it9UiZ7c65JFgzQYG5ie5hD+Hmfw+cah1ZnJdaYXYSlILqGG9Q==, tarball: file:projects/chunter.tgz}
name: '@rush-temp/chunter' name: '@rush-temp/chunter'
version: 0.0.0 version: 0.0.0
dependencies: dependencies:
@ -13372,7 +13376,7 @@ packages:
dev: false dev: false
file:projects/model-all.tgz_typescript@4.8.4: file:projects/model-all.tgz_typescript@4.8.4:
resolution: {integrity: sha512-87yqHGzXy6mKKCUMfPluhQjSGIS+2KEyrCZFZCHsRvK2g+kgTo90YnizNooDOgRplR5RwpZdXezfmTw0RIqjJw==, tarball: file:projects/model-all.tgz} resolution: {integrity: sha512-GDUSXcKRTyFAyngXarH20LA0+Rkvt8NrBA4XjxTtgLLZwAP9XgGp05/EEvdC4PeIII4SXi1ZRT+iomgLxBG6Jw==, tarball: file:projects/model-all.tgz}
id: file:projects/model-all.tgz id: file:projects/model-all.tgz
name: '@rush-temp/model-all' name: '@rush-temp/model-all'
version: 0.0.0 version: 0.0.0
@ -13502,7 +13506,7 @@ packages:
dev: false dev: false
file:projects/model-chunter.tgz_typescript@4.8.4: file:projects/model-chunter.tgz_typescript@4.8.4:
resolution: {integrity: sha512-JBI3pl+BhdpnN0UM7m+7PbfHcqCdtXZSdoFiyh4rjQJ3dx9BJYJQQmzKrksXI3lnU2Dfz4EF3+HjU+/Yzzy+/Q==, tarball: file:projects/model-chunter.tgz} resolution: {integrity: sha512-A3vaVqg6UxyHYPeZ1VO+qQDx31GYEUguEiiN5dlmFO0fUPDi/FJ167Br7pNzWyBNqS9FJG1M9HDJ/e2VF0F9OQ==, tarball: file:projects/model-chunter.tgz}
id: file:projects/model-chunter.tgz id: file:projects/model-chunter.tgz
name: '@rush-temp/model-chunter' name: '@rush-temp/model-chunter'
version: 0.0.0 version: 0.0.0
@ -13672,7 +13676,7 @@ packages:
dev: false dev: false
file:projects/model-lead.tgz_typescript@4.8.4: file:projects/model-lead.tgz_typescript@4.8.4:
resolution: {integrity: sha512-aKuKHqirY+PK54vSoUEiII68O+3mFwQXsxjQME66wE68jd2HciJUbLsF/rRp0m9dnPkWhcky3Z/4UEdXgNUR/Q==, tarball: file:projects/model-lead.tgz} resolution: {integrity: sha512-/Mp4WaiHVnnXPiObn5yaTpZ9lkQAfgMTN4G0/YNE/NE4XzAvOOzx2qYzbgQTfKnNqC13kOM0sHrAnU1XRZmgfQ==, tarball: file:projects/model-lead.tgz}
id: file:projects/model-lead.tgz id: file:projects/model-lead.tgz
name: '@rush-temp/model-lead' name: '@rush-temp/model-lead'
version: 0.0.0 version: 0.0.0
@ -13693,7 +13697,7 @@ packages:
dev: false dev: false
file:projects/model-notification.tgz_typescript@4.8.4: file:projects/model-notification.tgz_typescript@4.8.4:
resolution: {integrity: sha512-PYNit09mquq39aOHt+TtpDerqUc1NvMOKSfsPzFZtHAG72Fi1lPLKINUxb006x6OXOQA3T7CDycH5j52D5DavQ==, tarball: file:projects/model-notification.tgz} resolution: {integrity: sha512-dgwIJZDRFbll9TWe2jiqYNQazIVzeMArLy/BS6Uo/djLHlzdBIp93f6TpFtsI4qdOnPK4Tm466IzHqL73OX1Mw==, tarball: file:projects/model-notification.tgz}
id: file:projects/model-notification.tgz id: file:projects/model-notification.tgz
name: '@rush-temp/model-notification' name: '@rush-temp/model-notification'
version: 0.0.0 version: 0.0.0
@ -13756,7 +13760,7 @@ packages:
dev: false dev: false
file:projects/model-recruit.tgz_typescript@4.8.4: file:projects/model-recruit.tgz_typescript@4.8.4:
resolution: {integrity: sha512-pXuO7Np9oZZ3n8GFuOxy+lyiiJASQs3YHv2J+ntOx1XAoxUMIN8M6ERC7dcKxdQ675Zi+EdF3vajviioQHhOnw==, tarball: file:projects/model-recruit.tgz} resolution: {integrity: sha512-Qsm9Wg9d/n8BhxVyrpx9+qrAaZvBagO136YD5obL6Shb+4JYRfk45+S77UnA7iwuFVCOWViwOzdEpO7BH9BCpw==, tarball: file:projects/model-recruit.tgz}
id: file:projects/model-recruit.tgz id: file:projects/model-recruit.tgz
name: '@rush-temp/model-recruit' name: '@rush-temp/model-recruit'
version: 0.0.0 version: 0.0.0
@ -13860,7 +13864,7 @@ packages:
dev: false dev: false
file:projects/model-server-chunter.tgz_typescript@4.8.4: file:projects/model-server-chunter.tgz_typescript@4.8.4:
resolution: {integrity: sha512-Ikxf3SXnCstf4+TzitZ8vblm2txVnP1Mu34oBItQxCTLHtciFN9Ry/286PXbnBeYG05eDYu4wbgKsLv8VuA8/w==, tarball: file:projects/model-server-chunter.tgz} resolution: {integrity: sha512-Okr3NYRmMxV6rZxCaeGwAuXjvTvGXKII++daDOHyJ6fuShSwZ8riNKrU+Q0t6Ci8gTQ5aUaEfZhyb2zMtQwzcg==, tarball: file:projects/model-server-chunter.tgz}
id: file:projects/model-server-chunter.tgz id: file:projects/model-server-chunter.tgz
name: '@rush-temp/model-server-chunter' name: '@rush-temp/model-server-chunter'
version: 0.0.0 version: 0.0.0
@ -13986,7 +13990,7 @@ packages:
dev: false dev: false
file:projects/model-server-lead.tgz_typescript@4.8.4: file:projects/model-server-lead.tgz_typescript@4.8.4:
resolution: {integrity: sha512-zMjvQ5pzp7LWrId7vT78M+3t0bXp0w9/ilpm4L88DC5XWsRyHhi8R5f6QzhnH4r07r4fvQxn/JHTjJoKMuoQcg==, tarball: file:projects/model-server-lead.tgz} resolution: {integrity: sha512-tZ0HNHpkQbo2F4isua+9QPP4VDSDP00t41z42iJ6Y0a+j91AZBs/bnvjH7+w0Gw0FpGaVk0pjGCWTaUJvgB9dg==, tarball: file:projects/model-server-lead.tgz}
id: file:projects/model-server-lead.tgz id: file:projects/model-server-lead.tgz
name: '@rush-temp/model-server-lead' name: '@rush-temp/model-server-lead'
version: 0.0.0 version: 0.0.0
@ -14007,7 +14011,7 @@ packages:
dev: false dev: false
file:projects/model-server-notification.tgz_typescript@4.8.4: file:projects/model-server-notification.tgz_typescript@4.8.4:
resolution: {integrity: sha512-vnIioLlxuGjd62SSRPPzYN9qmQ+RBNrFmk4HAe5IPS/3yYufRkKmhAs2p8XYZZ+9s/Nwfs3xjMXuq5rPKq1nZA==, tarball: file:projects/model-server-notification.tgz} resolution: {integrity: sha512-vR7Hk8JT50Qggu+Q/VP7q5HMOmCpdbOrr6MUQdCeYMYzGymxMm71EZ5CGtwGGErBJGU3Dj58zjk0yBp4zBy12Q==, tarball: file:projects/model-server-notification.tgz}
id: file:projects/model-server-notification.tgz id: file:projects/model-server-notification.tgz
name: '@rush-temp/model-server-notification' name: '@rush-temp/model-server-notification'
version: 0.0.0 version: 0.0.0
@ -14049,7 +14053,7 @@ packages:
dev: false dev: false
file:projects/model-server-recruit.tgz_typescript@4.8.4: file:projects/model-server-recruit.tgz_typescript@4.8.4:
resolution: {integrity: sha512-Tg7lXR1BF+M61cE6CWs/hrYDsNkGdJZCUvEG0zUP5miGOV2lLAAKqwfMdQACFfqtpySczBnm8kOkNoxanx434A==, tarball: file:projects/model-server-recruit.tgz} resolution: {integrity: sha512-GVxJQAT/rbO5lRgWrNoQcx1atTGreiJKIMB+qFEYmsNA8SnnfIn8+ABl8GKP+PPGMrDZc6a7JwDtkDog/Yb5kA==, tarball: file:projects/model-server-recruit.tgz}
id: file:projects/model-server-recruit.tgz id: file:projects/model-server-recruit.tgz
name: '@rush-temp/model-server-recruit' name: '@rush-temp/model-server-recruit'
version: 0.0.0 version: 0.0.0
@ -14175,7 +14179,7 @@ packages:
dev: false dev: false
file:projects/model-server-tracker.tgz_typescript@4.8.4: file:projects/model-server-tracker.tgz_typescript@4.8.4:
resolution: {integrity: sha512-4Is4CVchYN+aiq73acLTCindey+y4PV7FmAF3vpv+8BN8wwGI4/AgYEbeb2n9NMBaBW+QreM4ZKRKw4X3SpgSA==, tarball: file:projects/model-server-tracker.tgz} resolution: {integrity: sha512-5OkX4SszIwVKZcHi3jFJWkFuC8L/cDf/T8UX1gcbJ5PcrFF7Z8S3bUcYcC5chBlemfKEWuULoqF+pd0C0wr9Cg==, tarball: file:projects/model-server-tracker.tgz}
id: file:projects/model-server-tracker.tgz id: file:projects/model-server-tracker.tgz
name: '@rush-temp/model-server-tracker' name: '@rush-temp/model-server-tracker'
version: 0.0.0 version: 0.0.0
@ -14364,7 +14368,7 @@ packages:
dev: false dev: false
file:projects/model-tracker.tgz_typescript@4.8.4: file:projects/model-tracker.tgz_typescript@4.8.4:
resolution: {integrity: sha512-H3l3kLahENyh80lS0aXprFv+NdMsNOUl/oDf0+6156P4MNGn2cAt0hROcZ3d4RlfGaDtQhR8PryaezpqBWbyAQ==, tarball: file:projects/model-tracker.tgz} resolution: {integrity: sha512-JDsdKxWjI6y6XHdC22SAY8b9y3YhLcQl1FlHVJPWVPtvOf9ff1kwOz2VpwrcVY1auonTuQl8jV41/8Vo4rxYjA==, tarball: file:projects/model-tracker.tgz}
id: file:projects/model-tracker.tgz id: file:projects/model-tracker.tgz
name: '@rush-temp/model-tracker' name: '@rush-temp/model-tracker'
version: 0.0.0 version: 0.0.0
@ -14528,7 +14532,7 @@ packages:
dev: false dev: false
file:projects/notification.tgz_b0f6486dcbf7cfbbb61688a1fbe3858f: file:projects/notification.tgz_b0f6486dcbf7cfbbb61688a1fbe3858f:
resolution: {integrity: sha512-sMQpBtPP00OED4ljaWJ9SXwECcnISHXvUupj6qPMmSlg+T+dydpIQexkEo4sc5SEc02nYJWSgGqhn3xsDCIl8Q==, tarball: file:projects/notification.tgz} resolution: {integrity: sha512-NV6LQm1QQa0WSxiFPrTHBsBE7VJ3KL/jzfcQRvnPkq0KvFhMY/pLx98/YRNLOusbTdCzIQFyo4BgJpGITU7sNQ==, tarball: file:projects/notification.tgz}
id: file:projects/notification.tgz id: file:projects/notification.tgz
name: '@rush-temp/notification' name: '@rush-temp/notification'
version: 0.0.0 version: 0.0.0
@ -14924,13 +14928,14 @@ packages:
dev: false dev: false
file:projects/prod.tgz_a9366fc5abe1de81e350f3e9b2acb628: file:projects/prod.tgz_a9366fc5abe1de81e350f3e9b2acb628:
resolution: {integrity: sha512-De20DKz90/YIPUItRJABF7fzduE9+BvaTAoZEx8mrDnIe9AsTt0j7lSG+2Kz+gxLe3F05PGmnItpk651yBFCBA==, tarball: file:projects/prod.tgz} resolution: {integrity: sha512-ioUmvFSCHtzsg4F1TT/dhwfNGI8saMitK9MQuumfG9cxddPt/OtFqcsBq3J9QkxEIjz/hYwuW7Y6qQolD+P+gQ==, tarball: file:projects/prod.tgz}
id: file:projects/prod.tgz id: file:projects/prod.tgz
name: '@rush-temp/prod' name: '@rush-temp/prod'
version: 0.0.0 version: 0.0.0
dependencies: dependencies:
'@types/node': 16.11.68 '@types/node': 16.11.68
autoprefixer: 10.4.13_postcss@8.4.20 autoprefixer: 10.4.14_postcss@8.4.20
browserslist: 4.21.5
compression-webpack-plugin: 10.0.0_webpack@5.75.0 compression-webpack-plugin: 10.0.0_webpack@5.75.0
cross-env: 7.0.3 cross-env: 7.0.3
css-loader: 5.2.7_webpack@5.75.0 css-loader: 5.2.7_webpack@5.75.0
@ -14948,6 +14953,7 @@ packages:
svelte-loader: 3.1.4_svelte@3.55.1 svelte-loader: 3.1.4_svelte@3.55.1
svgo-loader: 3.0.3 svgo-loader: 3.0.3
ts-loader: 9.4.1_typescript@4.8.4+webpack@5.75.0 ts-loader: 9.4.1_typescript@4.8.4+webpack@5.75.0
update-browserslist-db: 1.0.11_browserslist@4.21.5
webpack: 5.75.0_c5a9b74f1e48ccd7ef01359287c5ad78 webpack: 5.75.0_c5a9b74f1e48ccd7ef01359287c5ad78
webpack-bundle-analyzer: 4.7.0 webpack-bundle-analyzer: 4.7.0
webpack-cli: 5.0.1_c7e737ad13629c71bcca5ad52285d7b0 webpack-cli: 5.0.1_c7e737ad13629c71bcca5ad52285d7b0
@ -15796,7 +15802,7 @@ packages:
dev: false dev: false
file:projects/server-task.tgz: file:projects/server-task.tgz:
resolution: {integrity: sha512-E2gEtYodyhnWxP5s5ivw3Q9ytGQZRIZuoAPm/sEOJtx8bKoW1RmkpJj0G91HRg67xmGkRXrOZVrHqler9CwYZw==, tarball: file:projects/server-task.tgz} resolution: {integrity: sha512-jMgo0vMkaMcCVFbHkXwLZ7f0L8QKG5+n5O+Y1LJS6KsJLW6D2hG0om+W0X+VuZXVXKvXYkZ+T26/wdVzAcZAfA==, tarball: file:projects/server-task.tgz}
name: '@rush-temp/server-task' name: '@rush-temp/server-task'
version: 0.0.0 version: 0.0.0
dependencies: dependencies:

View File

@ -32,13 +32,15 @@
"@types/node": "~16.11.12", "@types/node": "~16.11.12",
"webpack-bundle-analyzer": "^4.7.0", "webpack-bundle-analyzer": "^4.7.0",
"svgo-loader": "^3.0.0", "svgo-loader": "^3.0.0",
"autoprefixer": "^10.4.13", "autoprefixer": "^10.4.14",
"postcss": "^8.4.20", "postcss": "^8.4.20",
"postcss-loader": "^7.0.2", "postcss-loader": "^7.0.2",
"postcss-load-config": "^4.0.1", "postcss-load-config": "^4.0.1",
"compression-webpack-plugin": "^10.0.0", "compression-webpack-plugin": "^10.0.0",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"fork-ts-checker-webpack-plugin": "~7.3.0" "fork-ts-checker-webpack-plugin": "~7.3.0",
"update-browserslist-db": "~1.0.11",
"browserslist": "4.21.5"
}, },
"dependencies": { "dependencies": {
"@hcengineering/platform": "^0.6.8", "@hcengineering/platform": "^0.6.8",

View File

@ -78,9 +78,9 @@ import {
import { KeyBinding, ViewOptionsModel } from '@hcengineering/view' import { KeyBinding, ViewOptionsModel } from '@hcengineering/view'
import tracker from './plugin' import tracker from './plugin'
import { generateClassNotificationTypes } from '@hcengineering/model-notification'
import presentation from '@hcengineering/model-presentation' import presentation from '@hcengineering/model-presentation'
import { defaultPriorities, issuePriorities } from '@hcengineering/tracker-resources/src/types' import { defaultPriorities, issuePriorities } from '@hcengineering/tracker-resources/src/types'
import { generateClassNotificationTypes } from '@hcengineering/model-notification'
export { trackerId } from '@hcengineering/tracker' export { trackerId } from '@hcengineering/tracker'
export { trackerOperation } from './migration' export { trackerOperation } from './migration'
@ -230,6 +230,9 @@ export class TIssue extends TAttachedDoc implements Issue {
@Prop(Collection(tags.class.TagReference), tracker.string.Labels) @Prop(Collection(tags.class.TagReference), tracker.string.Labels)
labels?: number labels?: number
@Prop(TypeRef(core.class.Space), tracker.string.Project)
@Index(IndexKind.Indexed)
@ReadOnly()
declare space: Ref<Project> declare space: Ref<Project>
@Prop(TypeDate(DateRangeMode.DATETIME), tracker.string.DueDate) @Prop(TypeDate(DateRangeMode.DATETIME), tracker.string.DueDate)
@ -900,6 +903,10 @@ export function createModel (builder: Builder): void {
component: view.component.ValueFilter component: view.component.ValueFilter
}) })
builder.mixin(tracker.class.Project, core.class.Class, view.mixin.AttributeFilter, {
component: view.component.ValueFilter
})
builder.mixin(tracker.class.TypeIssuePriority, core.class.Class, view.mixin.AttributePresenter, { builder.mixin(tracker.class.TypeIssuePriority, core.class.Class, view.mixin.AttributePresenter, {
presenter: tracker.component.PriorityRefPresenter presenter: tracker.component.PriorityRefPresenter
}) })
@ -1002,7 +1009,19 @@ export function createModel (builder: Builder): void {
label: tracker.string.MyIssues, label: tracker.string.MyIssues,
icon: tracker.icon.MyIssues, icon: tracker.icon.MyIssues,
component: tracker.component.MyIssues component: tracker.component.MyIssues
} } //,
// {
// id: 'all-issues',
// position: 'top',
// label: tracker.string.AllIssues,
// icon: tracker.icon.Issues,
// component: tracker.component.IssuesView,
// componentProps: {
// query: { '$lookup.space.archived': false },
// space: undefined,
// title: tracker.string.AllIssues
// }
// }
// { // {
// id: 'views', // id: 'views',
// position: 'top', // position: 'top',
@ -1319,7 +1338,7 @@ export function createModel (builder: Builder): void {
}) })
builder.mixin(tracker.class.Issue, core.class.Class, view.mixin.ClassFilters, { builder.mixin(tracker.class.Issue, core.class.Class, view.mixin.ClassFilters, {
filters: [] filters: ['space']
}) })
builder.mixin(tracker.class.IssueTemplate, core.class.Class, view.mixin.ClassFilters, { builder.mixin(tracker.class.IssueTemplate, core.class.Class, view.mixin.ClassFilters, {

View File

@ -392,7 +392,7 @@
} }
delayCall(() => { delayCall(() => {
if (divBox === undefined) { if (divBox == null) {
return return
} }
const tempEls = divBox.querySelectorAll('.categoryHeader') const tempEls = divBox.querySelectorAll('.categoryHeader')

View File

@ -106,20 +106,30 @@ export function tableToCSV (tableId: string, separator = ','): string {
*/ */
export const networkStatus = writable<number>(0) export const networkStatus = writable<number>(0)
let attractorMx = 0 let attractorMx: number | undefined
let attractorMy = 0 let attractorMy: number | undefined
let mousePos: { x: number, y: number } | undefined
window.addEventListener('mousemove', (event) => {
mousePos = { x: event.clientX, y: event.clientY }
})
/** /**
* perform mouse movement checks and call method if they was * perform mouse movement checks and call method if they was
*/ */
export function mouseAttractor (op: () => void, diff = 5): (evt: MouseEvent) => void { export function mouseAttractor (op: () => void, diff = 5): (evt: MouseEvent) => void {
return (evt: MouseEvent) => { return (evt: MouseEvent) => {
const dx = evt.clientX - attractorMx if (mousePos !== undefined && attractorMy !== undefined && attractorMx !== undefined) {
const dy = evt.clientY - attractorMy const dx = mousePos.x - attractorMx
attractorMx = evt.clientX const dy = mousePos.y - attractorMy
attractorMy = evt.clientY if (Math.sqrt(dx * dx + dy * dy) > diff) {
attractorMx = evt.clientX
if (Math.sqrt(dx * dx + dy * dy) > diff) { attractorMy = evt.clientY
op() op()
}
} else {
attractorMx = evt.clientX
attractorMy = evt.clientY
} }
} }
} }

View File

@ -23,4 +23,4 @@
$: query = { space: currentSpace } $: query = { space: currentSpace }
</script> </script>
<IssuesView {query} space={currentSpace} title={tracker.string.AllIssues} /> <IssuesView {query} space={currentSpace} title={tracker.string.Issues} />

View File

@ -44,7 +44,7 @@
if (result.detail !== undefined) { if (result.detail !== undefined) {
if (viewlet?._id === result.detail.id) return if (viewlet?._id === result.detail.id) return
viewlet = viewlets.find((vl) => vl._id === result.detail.id) viewlet = viewlets.find((vl) => vl._id === result.detail.id)
console.log('set viewlet by issue headed')
if (viewlet) setActiveViewletId(viewlet._id) if (viewlet) setActiveViewletId(viewlet._id)
} }
}} }}

View File

@ -24,6 +24,7 @@
getEventPositionElement, getEventPositionElement,
Label, Label,
Loading, Loading,
mouseAttractor,
resizeObserver, resizeObserver,
showPopup, showPopup,
Spinner Spinner
@ -277,7 +278,7 @@
class:checking={checkedSet.has(object._id)} class:checking={checkedSet.has(object._id)}
class:fixed={row === selection} class:fixed={row === selection}
class:selected={row === selection} class:selected={row === selection}
on:mouseenter={() => onRow(object)} on:mouseenter={mouseAttractor(() => onRow(object))}
on:focus={() => {}} on:focus={() => {}}
bind:this={refs[row]} bind:this={refs[row]}
on:contextmenu|preventDefault={(ev) => { on:contextmenu|preventDefault={(ev) => {

View File

@ -14,12 +14,12 @@
--> -->
<script lang="ts"> <script lang="ts">
import { Class, Doc, DocumentQuery, FindOptions, Ref, Space } from '@hcengineering/core' import { Class, Doc, DocumentQuery, FindOptions, Ref, Space } from '@hcengineering/core'
import { getResource, IntlString } from '@hcengineering/platform' import { IntlString, getResource } from '@hcengineering/platform'
import { createQuery, getClient } from '@hcengineering/presentation' import { createQuery, getClient } from '@hcengineering/presentation'
import { AnyComponent } from '@hcengineering/ui' import { AnyComponent } from '@hcengineering/ui'
import { BuildModelKey, ViewOptionModel, ViewOptions, ViewQueryOption } from '@hcengineering/view' import { BuildModelKey, ViewOptionModel, ViewOptions, ViewQueryOption } from '@hcengineering/view'
import { createEventDispatcher } from 'svelte' import { createEventDispatcher } from 'svelte'
import { buildConfigLookup, LoadingProps } from '../../utils' import { buildConfigLookup } from '../../utils'
import ListCategories from './ListCategories.svelte' import ListCategories from './ListCategories.svelte'
export let _class: Ref<Class<Doc>> export let _class: Ref<Class<Doc>>
@ -29,7 +29,6 @@
export let baseMenuClass: Ref<Class<Doc>> | undefined = undefined export let baseMenuClass: Ref<Class<Doc>> | undefined = undefined
export let config: (string | BuildModelKey)[] export let config: (string | BuildModelKey)[]
export let selectedObjectIds: Doc[] = [] export let selectedObjectIds: Doc[] = []
export let loadingProps: LoadingProps | undefined = undefined
export let createItemDialog: AnyComponent | undefined = undefined export let createItemDialog: AnyComponent | undefined = undefined
export let createItemLabel: IntlString | undefined = undefined export let createItemLabel: IntlString | undefined = undefined
export let viewOptionsConfig: ViewOptionModel[] | undefined = undefined export let viewOptionsConfig: ViewOptionModel[] | undefined = undefined
@ -100,15 +99,6 @@
listCategories?.select(offset, of) listCategories?.select(offset, of)
} }
const getLoadingElementsLength = (props: LoadingProps | undefined, options?: FindOptions<Doc>) => {
if (!props) return undefined
if (options?.limit && options.limit > 0) {
return Math.min(options.limit, props.length)
}
return props.length
}
let dragItem: { let dragItem: {
doc?: Doc doc?: Doc
revert?: () => void revert?: () => void
@ -128,7 +118,6 @@
{selection} {selection}
query={resultQuery} query={resultQuery}
{lookup} {lookup}
loadingPropsLength={getLoadingElementsLength(loadingProps, options)}
{baseMenuClass} {baseMenuClass}
{config} {config}
{viewOptions} {viewOptions}

View File

@ -36,7 +36,6 @@
export let space: Ref<Space> | undefined export let space: Ref<Space> | undefined
export let query: DocumentQuery<Doc> | undefined export let query: DocumentQuery<Doc> | undefined
export let lookup: Lookup<Doc> export let lookup: Lookup<Doc>
export let loadingPropsLength: number | undefined
export let baseMenuClass: Ref<Class<Doc>> | undefined export let baseMenuClass: Ref<Class<Doc>> | undefined
export let config: (string | BuildModelKey)[] export let config: (string | BuildModelKey)[]
export let selectedObjectIds: Doc[] = [] export let selectedObjectIds: Doc[] = []
@ -237,6 +236,7 @@
{viewOptions} {viewOptions}
{groupByKey} {groupByKey}
{lookup} {lookup}
index={i}
{config} {config}
{itemModels} {itemModels}
{_class} {_class}
@ -248,7 +248,6 @@
{newObjectProps} {newObjectProps}
{createItemDialog} {createItemDialog}
{createItemLabel} {createItemLabel}
{loadingPropsLength}
{viewOptionsConfig} {viewOptionsConfig}
on:check on:check
on:uncheckAll on:uncheckAll
@ -271,7 +270,6 @@
let:_class let:_class
let:space let:space
let:lookup let:lookup
let:loadingPropsLength
let:baseMenuClass let:baseMenuClass
let:config let:config
let:selectedObjectIds let:selectedObjectIds
@ -292,7 +290,6 @@
{_class} {_class}
{space} {space}
{lookup} {lookup}
{loadingPropsLength}
{baseMenuClass} {baseMenuClass}
{config} {config}
{selectedObjectIds} {selectedObjectIds}

View File

@ -19,7 +19,6 @@
import { DocWithRank, calcRank } from '@hcengineering/task' import { DocWithRank, calcRank } from '@hcengineering/task'
import { import {
AnyComponent, AnyComponent,
CheckBox,
ExpandCollapse, ExpandCollapse,
Spinner, Spinner,
getEventPositionElement, getEventPositionElement,
@ -28,6 +27,7 @@
} from '@hcengineering/ui' } from '@hcengineering/ui'
import { AttributeModel, BuildModelKey, ViewOptionModel, ViewOptions } from '@hcengineering/view' import { AttributeModel, BuildModelKey, ViewOptionModel, ViewOptions } from '@hcengineering/view'
import { createEventDispatcher, tick } from 'svelte' import { createEventDispatcher, tick } from 'svelte'
import { fade } from 'svelte/transition'
import { FocusSelection, focusStore } from '../../selection' import { FocusSelection, focusStore } from '../../selection'
import Menu from '../Menu.svelte' import Menu from '../Menu.svelte'
import ListHeader from './ListHeader.svelte' import ListHeader from './ListHeader.svelte'
@ -44,7 +44,6 @@
export let items: Doc[] export let items: Doc[]
export let createItemDialog: AnyComponent | undefined export let createItemDialog: AnyComponent | undefined
export let createItemLabel: IntlString | undefined export let createItemLabel: IntlString | undefined
export let loadingPropsLength: number | undefined
export let selectedObjectIds: Doc[] export let selectedObjectIds: Doc[]
export let itemModels: AttributeModel[] export let itemModels: AttributeModel[]
export let extraHeaders: AnyComponent[] | undefined export let extraHeaders: AnyComponent[] | undefined
@ -63,16 +62,18 @@
revert?: () => void revert?: () => void
} }
export let listDiv: HTMLDivElement export let listDiv: HTMLDivElement
export let index: number
$: lastLevel = level + 1 >= viewOptions.groupBy.length $: lastLevel = level + 1 >= viewOptions.groupBy.length
const autoFoldLimit = 20 const autoFoldLimit = 20
const defaultLimit = 20 const defaultLimit = 20
const singleCategoryLimit = 200 const singleCategoryLimit = 50
$: initialLimit = !lastLevel ? undefined : singleCat ? singleCategoryLimit : defaultLimit $: initialLimit = !lastLevel ? undefined : singleCat ? singleCategoryLimit : defaultLimit
$: limit = initialLimit $: limit = initialLimit
let collapsed = true let collapsed = true
let wasLoaded = false
const dispatch = createEventDispatcher() const dispatch = createEventDispatcher()
@ -106,7 +107,22 @@
}) })
} }
$: limited = limitGroup(items, limit) let limited: Doc[] = []
let loading = false
function nop (op: () => void, timeout: number) {
op()
}
$: {
loading = true
;(limited.length > 0 ? nop : setTimeout)(() => {
limited = limitGroup(items, limit)
loading = false
}, index * 2)
}
$: selectedObjectIdsSet = new Set<Ref<Doc>>(selectedObjectIds.map((it) => it._id)) $: selectedObjectIdsSet = new Set<Ref<Doc>>(selectedObjectIds.map((it) => it._id))
$: _newObjectProps = (doc: Doc) => { $: _newObjectProps = (doc: Doc) => {
@ -320,6 +336,7 @@
</script> </script>
<div <div
in:fade|local={{ duration: 50 }}
bind:this={div} bind:this={div}
class="category-container" class="category-container"
class:zero-container={level === 0} class:zero-container={level === 0}
@ -361,7 +378,6 @@
{_class} {_class}
{space} {space}
{lookup} {lookup}
{loadingPropsLength}
{baseMenuClass} {baseMenuClass}
{config} {config}
{selectedObjectIds} {selectedObjectIds}
@ -377,8 +393,8 @@
dragItem dragItem
dragstart={dragStartHandler} dragstart={dragStartHandler}
/> />
{:else if itemModels && (!collapsed || dragItemIndex !== undefined)} {:else if itemModels && (!collapsed || wasLoaded || dragItemIndex !== undefined)}
{#if limited} {#if limited && !loading}
{#each limited as docObject, i (docObject._id)} {#each limited as docObject, i (docObject._id)}
<ListItem <ListItem
bind:this={listItems[i]} bind:this={listItems[i]}
@ -404,22 +420,14 @@
on:focus={() => {}} on:focus={() => {}}
on:mouseover={mouseAttractor(() => handleRowFocused(docObject))} on:mouseover={mouseAttractor(() => handleRowFocused(docObject))}
{props} {props}
on:on-mount={() => {
wasLoaded = true
}}
/> />
{/each} {/each}
{/if} {/if}
{:else if loadingPropsLength !== undefined} {:else if loading}
{#each Array(Math.max(loadingPropsLength, limit ?? 0)) as _, rowIndex} <Spinner size="small" />
<div class="listGrid row">
<div class="flex-center clear-mins h-full">
<div class="gridElement">
<CheckBox checked={false} />
<div class="ml-4">
<Spinner size="small" />
</div>
</div>
</div>
</div>
{/each}
{/if} {/if}
</ExpandCollapse> </ExpandCollapse>
</div> </div>

View File

@ -18,7 +18,7 @@
import { getClient, updateAttribute } from '@hcengineering/presentation' import { getClient, updateAttribute } from '@hcengineering/presentation'
import { CheckBox, Component, deviceOptionsStore as deviceInfo, IconCircles, tooltip } from '@hcengineering/ui' import { CheckBox, Component, deviceOptionsStore as deviceInfo, IconCircles, tooltip } from '@hcengineering/ui'
import { AttributeModel } from '@hcengineering/view' import { AttributeModel } from '@hcengineering/view'
import { createEventDispatcher } from 'svelte' import { createEventDispatcher, onMount } from 'svelte'
import { FixedColumn } from '../..' import { FixedColumn } from '../..'
import view from '../../plugin' import view from '../../plugin'
@ -82,6 +82,9 @@
if (m.props?.listProps?.compression) noCompressed = i if (m.props?.listProps?.compression) noCompressed = i
}) })
} }
onMount(() => {
dispatch('on-mount')
})
</script> </script>
<div <div

View File

@ -2,16 +2,9 @@
import { Class, Doc, DocumentQuery, FindOptions, Ref, Space } from '@hcengineering/core' import { Class, Doc, DocumentQuery, FindOptions, Ref, Space } from '@hcengineering/core'
import { IntlString } from '@hcengineering/platform' import { IntlString } from '@hcengineering/platform'
import { AnyComponent, Scroller } from '@hcengineering/ui' import { AnyComponent, Scroller } from '@hcengineering/ui'
import { BuildModelKey, Viewlet, ViewOptions } from '@hcengineering/view' import { BuildModelKey, ViewOptions, Viewlet } from '@hcengineering/view'
import { onMount } from 'svelte' import { onMount } from 'svelte'
import { import { ActionContext, ListSelectionProvider, SelectDirection, focusStore, selectionStore } from '../..'
ActionContext,
ListSelectionProvider,
LoadingProps,
SelectDirection,
focusStore,
selectionStore
} from '../..'
import List from './List.svelte' import List from './List.svelte'
@ -21,7 +14,6 @@
export let options: FindOptions<Doc> | undefined = undefined export let options: FindOptions<Doc> | undefined = undefined
export let viewlet: Viewlet export let viewlet: Viewlet
export let config: (string | BuildModelKey)[] export let config: (string | BuildModelKey)[]
export let loadingProps: LoadingProps | undefined = undefined
export let createItemDialog: AnyComponent | undefined export let createItemDialog: AnyComponent | undefined
export let createItemLabel: IntlString | undefined export let createItemLabel: IntlString | undefined
export let viewOptions: ViewOptions export let viewOptions: ViewOptions
@ -61,7 +53,6 @@
{query} {query}
{config} {config}
{options} {options}
{loadingProps}
{createItemDialog} {createItemDialog}
{createItemLabel} {createItemLabel}
{viewOptions} {viewOptions}

View File

@ -63,16 +63,16 @@ panelstore.subscribe((val) => {
export function updateFocus (selection?: FocusSelection): void { export function updateFocus (selection?: FocusSelection): void {
focusStore.update((cur) => { focusStore.update((cur) => {
const now = Date.now() const now = Date.now()
if (selection === undefined || now - ((cur as any).now ?? 0) >= 50) {
cur.focus = selection?.focus cur.focus = selection?.focus
cur.provider = selection?.provider cur.provider = selection?.provider
;(cur as any).now = now ;(cur as any).now = now
previewDocument.update((old) => { previewDocument.update((old) => {
if (old !== undefined) { if (old !== undefined) {
return selection?.focus return selection?.focus
} }
}) })
}
return cur return cur
}) })

View File

@ -78,7 +78,7 @@ export interface SpecialNavModel {
label: IntlString label: IntlString
icon?: Asset icon?: Asset
component: AnyComponent component: AnyComponent
componentProps?: Record<string, string> componentProps?: Record<string, any>
// If not top and bottom, position will be sorted alphabetically. // If not top and bottom, position will be sorted alphabetically.
position?: 'top' | 'bottom' | string // undefined == 'top position?: 'top' | 'bottom' | string // undefined == 'top
visibleIf?: Resource<(spaces: Space[]) => Promise<boolean>> visibleIf?: Resource<(spaces: Space[]) => Promise<boolean>>