From 5f0ea6bd0b153fd04613e60730dbcc340421ec5d Mon Sep 17 00:00:00 2001 From: Gordon Smith Date: Thu, 8 Aug 2024 10:40:03 +0100 Subject: [PATCH] HPCC-32279 Timeline selection issues Url contains "undefined" for selection Restoring selection in scopesTable fails on pushUrl Disable timeline toggle, make click only Signed-off-by: Gordon Smith --- esp/src/package-lock.json | 303 +++++++++++------------ esp/src/package.json | 31 +-- esp/src/src-react/components/Metrics.tsx | 43 ++-- 3 files changed, 182 insertions(+), 195 deletions(-) diff --git a/esp/src/package-lock.json b/esp/src/package-lock.json index 28aef7baf94..e15b7782995 100644 --- a/esp/src/package-lock.json +++ b/esp/src/package-lock.json @@ -15,22 +15,23 @@ "@fluentui/react-hooks": "8.8.10", "@fluentui/react-icons-mdl2": "1.3.72", "@fluentui/react-migration-v8-v9": "9.6.22", - "@hpcc-js/chart": "2.83.4", - "@hpcc-js/codemirror": "2.62.1", - "@hpcc-js/common": "2.71.18", - "@hpcc-js/comms": "2.94.1", + "@hpcc-js/chart": "2.84.1", + "@hpcc-js/codemirror": "2.63.0", + "@hpcc-js/common": "2.72.0", + "@hpcc-js/comms": "2.95.0", "@hpcc-js/dataflow": "8.1.7", - "@hpcc-js/eclwatch": "2.74.8", - "@hpcc-js/graph": "2.85.16", - "@hpcc-js/html": "2.42.21", - "@hpcc-js/layout": "2.49.23", - "@hpcc-js/map": "2.77.22", - "@hpcc-js/other": "2.15.23", - "@hpcc-js/phosphor": "2.18.9", - "@hpcc-js/react": "2.53.17", - "@hpcc-js/tree": "2.40.18", - "@hpcc-js/util": "2.51.1", - "@hpcc-js/wasm": "2.18.0", + "@hpcc-js/eclwatch": "2.75.3", + "@hpcc-js/graph": "2.86.0", + "@hpcc-js/html": "2.43.0", + "@hpcc-js/layout": "2.50.1", + "@hpcc-js/map": "2.78.1", + "@hpcc-js/other": "2.16.1", + "@hpcc-js/phosphor": "2.19.1", + "@hpcc-js/react": "2.54.0", + "@hpcc-js/timeline": "2.53.0", + "@hpcc-js/tree": "2.41.0", + "@hpcc-js/util": "2.52.0", + "@hpcc-js/wasm": "2.18.1", "@kubernetes/client-node": "0.20.0", "clipboard": "2.0.11", "d3-dsv": "3.0.1", @@ -2026,41 +2027,41 @@ } }, "node_modules/@hpcc-js/api": { - "version": "2.12.18", - "resolved": "https://registry.npmjs.org/@hpcc-js/api/-/api-2.12.18.tgz", - "integrity": "sha512-Iq00B6q9DGGoLe+PTm4mJjaopfHRQbd6A3rNW968vZDmtgBh3Vcn2ie/Ym/Dbcf3UjSuWjaldaLKksqvgIbmtw==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/api/-/api-2.13.0.tgz", + "integrity": "sha512-bqMLQ/jlCSqBe3CfC2f2vaWZt12FBPW/5LfzW0I0Z30L+FRmjvBpEPMgr3Jd9JIv/igpq49F3xEAKiCxeMYaeA==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/common": "^2.71.18" + "@hpcc-js/common": "^2.72.0" } }, "node_modules/@hpcc-js/chart": { - "version": "2.83.4", - "resolved": "https://registry.npmjs.org/@hpcc-js/chart/-/chart-2.83.4.tgz", - "integrity": "sha512-rIE6OSEbh9Z75l0fkP0rDjZuBi60lXDMsBlaG42YBgnZpWKIQHydkGDOnq7q7jC3PedvSgOnr3ZRJL8ZBA1iXg==", + "version": "2.84.1", + "resolved": "https://registry.npmjs.org/@hpcc-js/chart/-/chart-2.84.1.tgz", + "integrity": "sha512-ddqZh6rnp93FIRLtcfE3bKpV+o194aOnSyYwW2pCkKYoAiGtFPfZAiOY2AaYsqqhQ96Pqk+6bOEfi4Asr6cj5A==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/api": "^2.12.18", - "@hpcc-js/common": "^2.71.18", - "@hpcc-js/util": "^2.51.1" + "@hpcc-js/api": "^2.13.0", + "@hpcc-js/common": "^2.72.0", + "@hpcc-js/util": "^2.52.0" } }, "node_modules/@hpcc-js/codemirror": { - "version": "2.62.1", - "resolved": "https://registry.npmjs.org/@hpcc-js/codemirror/-/codemirror-2.62.1.tgz", - "integrity": "sha512-p/sG+En3UG5grGx00maZ8wjUuuUGb/6flzlq+bSIDNldwqaheWZscGPaJdxLa+aSvcFbXXrDgcV4dhhd70xEyA==", + "version": "2.63.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/codemirror/-/codemirror-2.63.0.tgz", + "integrity": "sha512-Vx/EJWOhSzAqdg5RqA9w/wOjtIuBBNYAWjvvz+mqwHtzWN9bK9ciwRFeL+LyrunT66W49qV0sSt8sgQ4fa7n+Q==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/common": "^2.71.18" + "@hpcc-js/common": "^2.72.0" } }, "node_modules/@hpcc-js/common": { - "version": "2.71.18", - "resolved": "https://registry.npmjs.org/@hpcc-js/common/-/common-2.71.18.tgz", - "integrity": "sha512-9hsDYXsjB2ltmomAAPQUfNUv/FPrHDkE4e7t62nNH7HCN3ZrkgOgbNjdrfPPHwtcz5+j4kH6hjV0hbhVgocs5Q==", + "version": "2.72.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/common/-/common-2.72.0.tgz", + "integrity": "sha512-5GxU2RmNrB/Bq1gG9Ng+NjojxBLDQhPnDxo5l3PhiMLdBe9HCOsAWSkGg55AQvlOQu4o9RLZ78Gtwkjw5BYiHw==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/util": "^2.51.1", + "@hpcc-js/util": "^2.52.0", "@types/d3-array": "1.2.12", "@types/d3-brush": "1.1.8", "@types/d3-collection": "1.0.13", @@ -2079,9 +2080,10 @@ } }, "node_modules/@hpcc-js/comms": { - "version": "2.94.1", - "resolved": "https://registry.npmjs.org/@hpcc-js/comms/-/comms-2.94.1.tgz", - "integrity": "sha512-ROCHmHogsZ5/G9LsRPHRIx25rpVoR9d5TakbSkXeSugRkhPV+16+3C/Lfd4d8ZzNLR99Jmnvjd0NXZAMgpAkGQ==", + "version": "2.95.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/comms/-/comms-2.95.0.tgz", + "integrity": "sha512-kzEyDxf1Msus5rhU0yO826JxgIl2kh/bI7yNTxHAlCfLKp4SU//zrj/MK5SuEDs2lUHvmTkfx1jbfGUAK3RGFg==", + "license": "Apache-2.0", "dependencies": { "@hpcc-js/ddl-shim": "^2.21.0", "@hpcc-js/util": "^2.52.0", @@ -2093,14 +2095,6 @@ "undici": "5.28.4" } }, - "node_modules/@hpcc-js/comms/node_modules/@hpcc-js/util": { - "version": "2.52.0", - "resolved": "https://registry.npmjs.org/@hpcc-js/util/-/util-2.52.0.tgz", - "integrity": "sha512-WHm/0ApEdWktpPCUG+AFuMnnrDHOTqKXK2oVgyRUAAQJhSWMFxTJxbqIQG7SM9myK58tXzNJrKsP8huzt8X2dg==", - "dependencies": { - "tslib": "2.6.3" - } - }, "node_modules/@hpcc-js/comms/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -2120,11 +2114,6 @@ } ] }, - "node_modules/@hpcc-js/comms/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" - }, "node_modules/@hpcc-js/dataflow": { "version": "8.1.7", "resolved": "https://registry.npmjs.org/@hpcc-js/dataflow/-/dataflow-8.1.7.tgz", @@ -2144,92 +2133,92 @@ } }, "node_modules/@hpcc-js/dgrid": { - "version": "2.32.23", - "resolved": "https://registry.npmjs.org/@hpcc-js/dgrid/-/dgrid-2.32.23.tgz", - "integrity": "sha512-wWMJ+YJNeuW+aXdWjDIEfLfcnfSf2TydsZ6weTbJxFAydvn7dkito2qWwPfXYSlMQ8iZztXng8M/ddJ0P2M7zg==", + "version": "2.33.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/dgrid/-/dgrid-2.33.0.tgz", + "integrity": "sha512-MyTybKnc1a83AsYLb/hpwARa9REfT2UbDEzowhqvcSwASPUwdv7di1Gb3iZkws1yvByinfWOPSprWHqAKEDwmw==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/common": "^2.71.18", - "@hpcc-js/ddl-shim": "^2.20.7", - "@hpcc-js/dgrid-shim": "^2.24.11", - "@hpcc-js/util": "^2.51.1" + "@hpcc-js/common": "^2.72.0", + "@hpcc-js/ddl-shim": "^2.21.0", + "@hpcc-js/dgrid-shim": "^2.25.0", + "@hpcc-js/util": "^2.52.0" } }, "node_modules/@hpcc-js/dgrid-shim": { - "version": "2.24.11", - "resolved": "https://registry.npmjs.org/@hpcc-js/dgrid-shim/-/dgrid-shim-2.24.11.tgz", - "integrity": "sha512-rWKAKrlO0GA5FwktWmVBEw0TxmRQp+x2fw+MHL0ksYjMGMcRgaV4sD4DKH5GlLlMQwrmIsmbWdOgz7mV5dPOtA==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/dgrid-shim/-/dgrid-shim-2.25.0.tgz", + "integrity": "sha512-QYYivb9NKq33OZ8RBCwcr2AYvNLVWgURPAdxvZznRt1qdIdUCaDRxUi0D1RLi+8eBWQx9EHkTWw5lqERNU1/1w==", "license": "Apache-2.0" }, "node_modules/@hpcc-js/dgrid2": { - "version": "2.3.20", - "resolved": "https://registry.npmjs.org/@hpcc-js/dgrid2/-/dgrid2-2.3.20.tgz", - "integrity": "sha512-+9e0LBFKELADY2UhZ6Pj15EGfoW1OVzMiUli2xprebpTtzrJaFESQ6c+8OfqiSuFGvACxlVABq4GvlB8ohHkKw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/dgrid2/-/dgrid2-2.4.0.tgz", + "integrity": "sha512-92uYB7Cqh7ZGAWeCtZOClKZJJjOVnFRKDgWuHVCexSZ/o54RUXc5WYWqpSp3gas/6K1zAZVFaJA+Yqh6E4aM6g==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/common": "^2.71.18", - "@hpcc-js/preact-shim": "^2.16.11", - "@hpcc-js/util": "^2.51.1" + "@hpcc-js/common": "^2.72.0", + "@hpcc-js/preact-shim": "^2.17.0", + "@hpcc-js/util": "^2.52.0" } }, "node_modules/@hpcc-js/eclwatch": { - "version": "2.74.8", - "resolved": "https://registry.npmjs.org/@hpcc-js/eclwatch/-/eclwatch-2.74.8.tgz", - "integrity": "sha512-kcszxO1eAKYirVTpgzvUKjn9W6hnOdOOSrC9L+bu8fGf8j62C2D0aFOrNsXg3ZV3BnQRxjZt+1z2K3TwttB+hg==", + "version": "2.75.3", + "resolved": "https://registry.npmjs.org/@hpcc-js/eclwatch/-/eclwatch-2.75.3.tgz", + "integrity": "sha512-PFvk0LFeo+kf679J5oMEr/nwL0B/tSPMqFm8g/ZKQRhxNz6KhfTQMZnUXRqHf+M+ppYetFTkfcJJq0ujvqA+Fw==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/codemirror": "^2.62.1", - "@hpcc-js/common": "^2.71.18", - "@hpcc-js/comms": "^2.93.0", - "@hpcc-js/dgrid": "^2.32.23", - "@hpcc-js/graph": "^2.85.16", - "@hpcc-js/layout": "^2.49.23", - "@hpcc-js/phosphor": "^2.18.9", - "@hpcc-js/timeline": "^2.51.26", - "@hpcc-js/tree": "^2.40.18", - "@hpcc-js/util": "^2.51.1" + "@hpcc-js/codemirror": "^2.63.0", + "@hpcc-js/common": "^2.72.0", + "@hpcc-js/comms": "^2.95.0", + "@hpcc-js/dgrid": "^2.33.0", + "@hpcc-js/graph": "^2.86.0", + "@hpcc-js/layout": "^2.50.1", + "@hpcc-js/phosphor": "^2.19.1", + "@hpcc-js/timeline": "^2.53.0", + "@hpcc-js/tree": "^2.41.0", + "@hpcc-js/util": "^2.52.0" } }, "node_modules/@hpcc-js/graph": { - "version": "2.85.16", - "resolved": "https://registry.npmjs.org/@hpcc-js/graph/-/graph-2.85.16.tgz", - "integrity": "sha512-egJdVtAv8PPGVMj1ZColHYROZvXO/KZq/Y/+1aEuXmS8WIXoJo8fCV2SRHo9LmPUrh57ffT/DYhg3xpvcWw+VQ==", + "version": "2.86.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/graph/-/graph-2.86.0.tgz", + "integrity": "sha512-b8yAULHxhMGTSDbhJg4hzx64WdcF5wEAtDD6AerxS4NhgOWS1GpWnZE8ToQWCckdZFFWyKSV7N10d3xB57cVHg==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/api": "^2.12.18", - "@hpcc-js/common": "^2.71.18", - "@hpcc-js/html": "^2.42.21", - "@hpcc-js/react": "^2.53.17", - "@hpcc-js/util": "^2.51.1" + "@hpcc-js/api": "^2.13.0", + "@hpcc-js/common": "^2.72.0", + "@hpcc-js/html": "^2.43.0", + "@hpcc-js/react": "^2.54.0", + "@hpcc-js/util": "^2.52.0" } }, "node_modules/@hpcc-js/html": { - "version": "2.42.21", - "resolved": "https://registry.npmjs.org/@hpcc-js/html/-/html-2.42.21.tgz", - "integrity": "sha512-acNRDb2jnHzEue1irdGut2zSxaxvOVd3uFPdTCJjJpOpqNqQ2jphGYU2EdOiyO/uApVGmmvONeGLfnWtqeGPig==", + "version": "2.43.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/html/-/html-2.43.0.tgz", + "integrity": "sha512-464r3luThDbp72CPhfcirZyqWC+EDhTBXdS76+bxFK5CEsiTzE6sFpx4hCwLE9JFvjDsu0pS0dbFGIHQkJ1Fmw==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/common": "^2.71.18", - "@hpcc-js/preact-shim": "^2.16.11", - "@hpcc-js/util": "^2.51.1" + "@hpcc-js/common": "^2.72.0", + "@hpcc-js/preact-shim": "^2.17.0", + "@hpcc-js/util": "^2.52.0" } }, "node_modules/@hpcc-js/layout": { - "version": "2.49.23", - "resolved": "https://registry.npmjs.org/@hpcc-js/layout/-/layout-2.49.23.tgz", - "integrity": "sha512-JhKf9UqzRt0H9PlRnghRfAiKPucvbsHwuLzjR3w965VKSMgX2M+bqZDbG0ch45kLq81sNcpmn6UupEq/8E4Wpw==", + "version": "2.50.1", + "resolved": "https://registry.npmjs.org/@hpcc-js/layout/-/layout-2.50.1.tgz", + "integrity": "sha512-0OoLv+kOwuzCqGPUviUDtty4yeaRBZONMIUyV+qZNIZGVPvmrMTqlYV6rj8LSTnX8cylz4aqGUfs6llI0UDq4g==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/api": "^2.12.18", - "@hpcc-js/chart": "^2.83.4", - "@hpcc-js/common": "^2.71.18", - "@hpcc-js/dgrid2": "^2.3.20" + "@hpcc-js/api": "^2.13.0", + "@hpcc-js/chart": "^2.84.1", + "@hpcc-js/common": "^2.72.0", + "@hpcc-js/dgrid2": "^2.4.0" } }, "node_modules/@hpcc-js/leaflet-shim": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@hpcc-js/leaflet-shim/-/leaflet-shim-2.3.6.tgz", - "integrity": "sha512-7eXs0/8gika93i3hb2oaxXiQJxQuV5tO8tQm7PpzzwyzjGI+t622/msrFR1NnAGnywso8YGGBqnQkqxsS1sE3Q==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/leaflet-shim/-/leaflet-shim-2.4.0.tgz", + "integrity": "sha512-ue3UmHYA9hKOxDc7XFP63+k5OKU6/da8QHr5ElBX5XHDrYDw+TY7/ZknAyFUTS9fv8Sp1YiecPiTI0+DEdMcbA==", "license": "Apache-2.0", "dependencies": { "@types/leaflet": "1.9.8", @@ -2237,47 +2226,47 @@ } }, "node_modules/@hpcc-js/map": { - "version": "2.77.22", - "resolved": "https://registry.npmjs.org/@hpcc-js/map/-/map-2.77.22.tgz", - "integrity": "sha512-znQ6UioWkkJJkuOPoPndk/OHDmcPSOu07EqQVr+GtEacJqmI6B/z9Ltdl920A/2Mr2SDYLaZAgvvR6wjvlInPw==", + "version": "2.78.1", + "resolved": "https://registry.npmjs.org/@hpcc-js/map/-/map-2.78.1.tgz", + "integrity": "sha512-R/FGKO4p3hfplhja4CeEjrCsZAqucdDvnakS9ec2V9UK9SlODM6o0FbOjA9l54vJ0wjQf6luPNV1/9LGQBUUtQ==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/api": "^2.12.18", - "@hpcc-js/common": "^2.71.18", - "@hpcc-js/graph": "^2.85.16", - "@hpcc-js/layout": "^2.49.23", - "@hpcc-js/leaflet-shim": "^2.3.6", - "@hpcc-js/other": "^2.15.23", - "@hpcc-js/util": "^2.51.1" + "@hpcc-js/api": "^2.13.0", + "@hpcc-js/common": "^2.72.0", + "@hpcc-js/graph": "^2.86.0", + "@hpcc-js/layout": "^2.50.1", + "@hpcc-js/leaflet-shim": "^2.4.0", + "@hpcc-js/other": "^2.16.1", + "@hpcc-js/util": "^2.52.0" } }, "node_modules/@hpcc-js/other": { - "version": "2.15.23", - "resolved": "https://registry.npmjs.org/@hpcc-js/other/-/other-2.15.23.tgz", - "integrity": "sha512-79oV6+lEyKUwxqtMRje2Dh32N6g0Qdcu2+YRUo351A6rU0KWwPTnMl3+u24IfxjVUC6b39PNKoU9c70JjohYOQ==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/@hpcc-js/other/-/other-2.16.1.tgz", + "integrity": "sha512-S78frHoqjcIJw+A3GK3g+OoCsQ3N3m9o1d3fZmKoldkbw74hzPbcFgBa9+Y5h9jYfEAFOvwMx1nPQsq7EEFg4g==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/api": "^2.12.18", - "@hpcc-js/common": "^2.71.18", - "@hpcc-js/layout": "^2.49.23" + "@hpcc-js/api": "^2.13.0", + "@hpcc-js/common": "^2.72.0", + "@hpcc-js/layout": "^2.50.1" } }, "node_modules/@hpcc-js/phosphor": { - "version": "2.18.9", - "resolved": "https://registry.npmjs.org/@hpcc-js/phosphor/-/phosphor-2.18.9.tgz", - "integrity": "sha512-xhJMgMvrWVkzmzOEFKPLltf9jV8eEN8cZ3nkcm6GXEQte84RsHLbKHeUfUH2iZZjJeSA/xNTivdp7aDZaC+Xhw==", + "version": "2.19.1", + "resolved": "https://registry.npmjs.org/@hpcc-js/phosphor/-/phosphor-2.19.1.tgz", + "integrity": "sha512-hR6ngzFY6GydqjiCMLgp+stqZZhKaemgzrr1axFi1U+JEzZSz2rY9Gt0rJ7IeLwcj8+hc07jZzsN9/GtZbu6BQ==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/common": "^2.71.18", - "@hpcc-js/other": "^2.15.23", - "@hpcc-js/phosphor-shim": "^2.14.7", - "@hpcc-js/util": "^2.51.1" + "@hpcc-js/common": "^2.72.0", + "@hpcc-js/other": "^2.16.1", + "@hpcc-js/phosphor-shim": "^2.15.0", + "@hpcc-js/util": "^2.52.0" } }, "node_modules/@hpcc-js/phosphor-shim": { - "version": "2.14.7", - "resolved": "https://registry.npmjs.org/@hpcc-js/phosphor-shim/-/phosphor-shim-2.14.7.tgz", - "integrity": "sha512-Xu/kSr1kqs//4yGAkiX08Kq7VaGAPRU2Cbvj47NDMdwEtmzT8qm9npTomKvaK0yYYjcLZNwC5liRb74z1HKdIg==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/phosphor-shim/-/phosphor-shim-2.15.0.tgz", + "integrity": "sha512-WyRhZou8IgP3kwvsZ41VtNUlnuVwtddBp9qd3mY7W59sYerTT1GIIpyRVSs/Jbyy8/piKOogthJPrDptn6k1Zg==", "license": "Apache-2.0", "dependencies": { "@lumino/algorithm": "1.9.2", @@ -2287,52 +2276,52 @@ } }, "node_modules/@hpcc-js/preact-shim": { - "version": "2.16.11", - "resolved": "https://registry.npmjs.org/@hpcc-js/preact-shim/-/preact-shim-2.16.11.tgz", - "integrity": "sha512-pYaRMTpNXEam3qUoCZPoKJvvePVMMhZ9rBbQ6q0z7Ri4Lsq6chXCGTKVrTImafPbNWoMOZVPQE6L8+0Iu1PYzw==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/preact-shim/-/preact-shim-2.17.0.tgz", + "integrity": "sha512-Thbyu1zycHef+6M/MYT4VE72Sjem3ZZ9jS81T67Ixnd84rHKPMU1na0kBnLfk7jzyiKBnjXOH0Vl2RIXrtesKQ==", "license": "Apache-2.0", "dependencies": { "preact": "10.22.0" } }, "node_modules/@hpcc-js/react": { - "version": "2.53.17", - "resolved": "https://registry.npmjs.org/@hpcc-js/react/-/react-2.53.17.tgz", - "integrity": "sha512-r2K+LqjPQ0VgCUxF+fOOhmCuBHQw2nr+SL4DL9MNrkqUDjFMNWG6YkiLEqb6dx6b/mVvWM1P+IWMrD4zIYLsfA==", + "version": "2.54.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/react/-/react-2.54.0.tgz", + "integrity": "sha512-ciWvp77WyiXZeg+uA5L+a7S8X8nglrdHLj7D+lSiz7n3ApRhGxNvuFpU3pE9AWmkDp5O5r+0Oxd0IO1cipvoew==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/common": "^2.71.18", - "@hpcc-js/preact-shim": "^2.16.11" + "@hpcc-js/common": "^2.72.0", + "@hpcc-js/preact-shim": "^2.17.0" } }, "node_modules/@hpcc-js/timeline": { - "version": "2.51.26", - "resolved": "https://registry.npmjs.org/@hpcc-js/timeline/-/timeline-2.51.26.tgz", - "integrity": "sha512-CS73qPo7dVru/0M00IzJnL2YDxlhYMq7VNWDzBpNjLxRhUvvmKAUS4O7/dkuskBpT5SrpPcQc6gkOKvY4qjJbQ==", + "version": "2.53.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/timeline/-/timeline-2.53.0.tgz", + "integrity": "sha512-HgZiPLLaDcQexEH9XPpvJzF1103+CeomwJ9sRulyO3hjctw3yDVHKblIkdQbxBcXvjCNIWCiHcs53tJ3yBcrXw==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/api": "^2.12.18", - "@hpcc-js/chart": "^2.83.4", - "@hpcc-js/common": "^2.71.18", - "@hpcc-js/html": "^2.42.21", - "@hpcc-js/layout": "^2.49.23", - "@hpcc-js/react": "^2.53.17" + "@hpcc-js/api": "^2.13.0", + "@hpcc-js/chart": "^2.84.1", + "@hpcc-js/common": "^2.72.0", + "@hpcc-js/html": "^2.43.0", + "@hpcc-js/layout": "^2.50.1", + "@hpcc-js/react": "^2.54.0" } }, "node_modules/@hpcc-js/tree": { - "version": "2.40.18", - "resolved": "https://registry.npmjs.org/@hpcc-js/tree/-/tree-2.40.18.tgz", - "integrity": "sha512-SWXgKs1JCSL1S1Xx0zBrbUd35fcDxhum573w4JiZzV5S8L0M7zhNTWvPn7joW5Q8Ox3jn1Hk/IQzcyBtVDyp0Q==", + "version": "2.41.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/tree/-/tree-2.41.0.tgz", + "integrity": "sha512-IairckImHOibB1LlnzvpCpfUk6VWTk82aLaG2sDK9M53qWAJPjxb2ftxND1nzeDvWZz4VxpR7F14tgJlRzaEqw==", "license": "Apache-2.0", "dependencies": { - "@hpcc-js/api": "^2.12.18", - "@hpcc-js/common": "^2.71.18" + "@hpcc-js/api": "^2.13.0", + "@hpcc-js/common": "^2.72.0" } }, "node_modules/@hpcc-js/util": { - "version": "2.51.1", - "resolved": "https://registry.npmjs.org/@hpcc-js/util/-/util-2.51.1.tgz", - "integrity": "sha512-BJuqg6FGqcV4RR8/BU5e7fASDtkl0Na7dWY+Th7r5ciWKI5AXsO0GtlgwDBt2uLUOlcGOMpYozmdbGSCoSHAvQ==", + "version": "2.52.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/util/-/util-2.52.0.tgz", + "integrity": "sha512-WHm/0ApEdWktpPCUG+AFuMnnrDHOTqKXK2oVgyRUAAQJhSWMFxTJxbqIQG7SM9myK58tXzNJrKsP8huzt8X2dg==", "license": "Apache-2.0", "dependencies": { "tslib": "2.6.3" @@ -2345,9 +2334,9 @@ "license": "0BSD" }, "node_modules/@hpcc-js/wasm": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/@hpcc-js/wasm/-/wasm-2.18.0.tgz", - "integrity": "sha512-M9XVIvAXGH4Xcyb5UoiohWcn6fil89pcos/gClNdBZG2v+W48xSf2bjcA8BW131X/AFHUerVY28n1P1Jw81/9A==", + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/@hpcc-js/wasm/-/wasm-2.18.1.tgz", + "integrity": "sha512-fT8NCOTaF0NDnT+ZwWpV2VQ6ywFEqw+fG87GSPNQemEmg7FFqUaKRQOW9MBICrkZcXaJBb7VHo1t5UF6bi/JgQ==", "license": "Apache-2.0", "dependencies": { "yargs": "17.7.2" @@ -12333,4 +12322,4 @@ } } } -} +} \ No newline at end of file diff --git a/esp/src/package.json b/esp/src/package.json index 7a4508f1cf3..c1ec1651488 100644 --- a/esp/src/package.json +++ b/esp/src/package.json @@ -41,22 +41,23 @@ "@fluentui/react-hooks": "8.8.10", "@fluentui/react-icons-mdl2": "1.3.72", "@fluentui/react-migration-v8-v9": "9.6.22", - "@hpcc-js/chart": "2.83.4", - "@hpcc-js/codemirror": "2.62.1", - "@hpcc-js/common": "2.71.18", - "@hpcc-js/comms": "2.94.1", + "@hpcc-js/chart": "2.84.1", + "@hpcc-js/codemirror": "2.63.0", + "@hpcc-js/common": "2.72.0", + "@hpcc-js/comms": "2.95.0", "@hpcc-js/dataflow": "8.1.7", - "@hpcc-js/eclwatch": "2.74.8", - "@hpcc-js/graph": "2.85.16", - "@hpcc-js/html": "2.42.21", - "@hpcc-js/layout": "2.49.23", - "@hpcc-js/map": "2.77.22", - "@hpcc-js/other": "2.15.23", - "@hpcc-js/phosphor": "2.18.9", - "@hpcc-js/react": "2.53.17", - "@hpcc-js/tree": "2.40.18", - "@hpcc-js/util": "2.51.1", - "@hpcc-js/wasm": "2.18.0", + "@hpcc-js/eclwatch": "2.75.3", + "@hpcc-js/graph": "2.86.0", + "@hpcc-js/html": "2.43.0", + "@hpcc-js/layout": "2.50.1", + "@hpcc-js/map": "2.78.1", + "@hpcc-js/other": "2.16.1", + "@hpcc-js/phosphor": "2.19.1", + "@hpcc-js/react": "2.54.0", + "@hpcc-js/timeline": "2.53.0", + "@hpcc-js/tree": "2.41.0", + "@hpcc-js/util": "2.52.0", + "@hpcc-js/wasm": "2.18.1", "@kubernetes/client-node": "0.20.0", "clipboard": "2.0.11", "d3-dsv": "3.0.1", diff --git a/esp/src/src-react/components/Metrics.tsx b/esp/src/src-react/components/Metrics.tsx index 798d7843a79..f0df3a94f6a 100644 --- a/esp/src/src-react/components/Metrics.tsx +++ b/esp/src/src-react/components/Metrics.tsx @@ -7,7 +7,7 @@ import { bundleIcon, Folder20Filled, Folder20Regular, FolderOpen20Filled, Folder import { Database } from "@hpcc-js/common"; import { WorkunitsServiceEx, IScope, splitMetric } from "@hpcc-js/comms"; import { CellFormatter, ColumnFormat, ColumnType, DBStore, RowType, Table } from "@hpcc-js/dgrid"; -import { compare, scopedLogger } from "@hpcc-js/util"; +import { scopedLogger } from "@hpcc-js/util"; import nlsHPCC from "src/nlsHPCC"; import { WUTimelineNoFetch } from "src/Timings"; import * as Utility from "src/Utility"; @@ -89,7 +89,7 @@ class TableEx extends Table { } _rawDataMap: { [id: number]: string } = {}; - metrics(metrics: any[], options: MetricsOptionsT, timelineFilter: string, scopeFilter: string, matchCase: boolean): this { + metrics(metrics: any[], options: MetricsOptionsT, scopeFilter: string, matchCase: boolean): this { this .columns(["##"]) // Reset hash to force recalculation of default widths .columns(["##", nlsHPCC.Type, "StdDevs", nlsHPCC.Scope, ...options.properties, "__StdDevs"]) @@ -106,8 +106,7 @@ class TableEx extends Table { .data(metrics .filter(m => this.scopeFilterFunc(m, scopeFilter, matchCase)) .filter(row => { - return (timelineFilter === "" || row.name?.indexOf(timelineFilter) === 0) && - (options.scopeTypes.indexOf(row.type) >= 0); + return options.scopeTypes.indexOf(row.type) >= 0; }).map((row, idx) => { if (idx === 0) { this._rawDataMap = { @@ -175,7 +174,6 @@ export const Metrics: React.FunctionComponent = ({ selection }) => { const [_uiState, _setUIState] = React.useState({ ...defaultUIState }); - const [timelineFilter, setTimelineFilter] = React.useState(""); const [selectedMetricsSource, setSelectedMetricsSource] = React.useState(""); const [selectedMetrics, setSelectedMetrics] = React.useState([]); const [selectedMetricsPtr, setSelectedMetricsPtr] = React.useState(-1); @@ -227,13 +225,15 @@ export const Metrics: React.FunctionComponent = ({ .maxZoom(Number.MAX_SAFE_INTEGER) ); + const [scopeFilter, setScopeFilter] = React.useState(""); React.useEffect(() => { timeline .on("click", (row, col, sel) => { - setTimelineFilter(sel ? row[7].__hpcc_id : ""); if (sel) { + timeline.selection([]); setSelectedMetricsSource("scopesTable"); - pushUrl(`${parentUrl}/${row[7].Id}`); + setScopeFilter(`name:${row[7].__hpcc_id}`); + pushUrl(`${parentUrl}/${row[7].id}`); } }, true) ; @@ -247,7 +247,6 @@ export const Metrics: React.FunctionComponent = ({ }, [metrics, timeline]); // Scopes Table --- - const [scopeFilter, setScopeFilter] = React.useState(""); const onChangeScopeFilter = React.useCallback((event: React.FormEvent, newValue?: string) => { setScopeFilter(newValue || ""); }, []); @@ -259,7 +258,7 @@ export const Metrics: React.FunctionComponent = ({ const scopesTable = useConst(() => new TableEx() .multiSelect(true) - .metrics([], options, timelineFilter, scopeFilter, matchCase) + .metrics([], options, scopeFilter, matchCase) .sortable(true) ); @@ -274,24 +273,22 @@ export const Metrics: React.FunctionComponent = ({ }, [scopesSelectionChanged, scopesTable]); React.useEffect(() => { - if (!scopeFilter || scopeFilter.indexOf("name:") === 0) { - setScopeFilter(timelineFilter ? `name:${timelineFilter}` : ""); - } scopesTable - .metrics(metrics, options, timelineFilter, scopeFilter, matchCase) + .metrics(metrics, options, scopeFilter, matchCase) .lazyRender() ; - }, [matchCase, metrics, options, scopeFilter, scopesTable, timelineFilter]); + }, [matchCase, metrics, options, scopeFilter, scopesTable]); const updateScopesTable = React.useCallback((selection: IScope[]) => { if (scopesTable?.renderCount() > 0) { - const prevSelection = scopesTable.selection().map(row => row.__lparam.id); - const newSelection = selection.map(row => row.id); - const diffs = compare(prevSelection, newSelection); - if (diffs.enter.length || diffs.exit.length) { - scopesTable.selection(scopesTable.data().filter(row => { + scopesTable.selection([]); + if (selection.length) { + const selRows = scopesTable.data().filter(row => { return selection.indexOf(row[row.length - 1]) >= 0; - })); + }); + scopesTable.render(() => { + scopesTable.selection(selRows); + }); } } }, [scopesTable]); @@ -508,7 +505,7 @@ export const Metrics: React.FunctionComponent = ({ } } setIsLayoutComplete(true); - }); + }).catch(err => logger.error(err)); } return () => { cancelled = true; @@ -622,13 +619,13 @@ export const Metrics: React.FunctionComponent = ({ const setShowMetricOptionsHook = React.useCallback((show: boolean) => { setShowMetricOptions(show); scopesTable - .metrics(metrics, options, timelineFilter, scopeFilter, matchCase) + .metrics(metrics, options, scopeFilter, matchCase) .render(() => { updateScopesTable(selectedMetrics); }) ; - }, [matchCase, metrics, options, scopeFilter, scopesTable, selectedMetrics, timelineFilter, updateScopesTable]); + }, [matchCase, metrics, options, scopeFilter, scopesTable, selectedMetrics, updateScopesTable]); return