From 014ac55abe0a87aaffee9e05f65742d61cef3d7d Mon Sep 17 00:00:00 2001 From: Gordon Smith Date: Tue, 19 Dec 2023 12:30:24 +0000 Subject: [PATCH 1/4] fix: Workaround VSCode 1.85.x regression See https://github.com/microsoft/vscode/issues/201196 for more details Signed-off-by: Gordon Smith --- src/ecl/eclWatchTree.ts | 42 +++++++++++++++++------------------ src/ecl/tree.ts | 8 +++---- src/eclwatch/WUResult.tsx | 14 +++++++----- src/eclwatch/WUResultStore.ts | 5 ++++- 4 files changed, 38 insertions(+), 31 deletions(-) diff --git a/src/ecl/eclWatchTree.ts b/src/ecl/eclWatchTree.ts index 4dff8156..cbdf6c6a 100644 --- a/src/ecl/eclWatchTree.ts +++ b/src/ecl/eclWatchTree.ts @@ -57,8 +57,8 @@ export class ECLWatchTree extends Tree { this.refresh(); }); - vscode.commands.registerCommand("hpccPlatform.refresh", () => { - this.refresh(); + vscode.commands.registerCommand("hpccPlatform.refresh", (element?: Item) => { + this.refresh(element); }); vscode.commands.registerCommand("hpccPlatform.openResults", (wuNode: ECLWUNode) => { @@ -68,7 +68,7 @@ export class ECLWatchTree extends Tree { vscode.commands.registerCommand("hpccPlatform.browseMetrics", (wuNode: ECLWUNode) => { wuNode.browseMetrics(); }); - + vscode.commands.registerCommand("hpccPlatform.browseECLWatch", (wuNode: ECLWUNode) => { wuNode.browseECLWatch(); }); @@ -107,9 +107,9 @@ export class ECLWatchTree extends Tree { vscode.commands.executeCommand("setContext", "hpccPlatform.isAllWorkunits", !this._myWorkunits); } - refresh(): void { + refresh(element?: Item): void { this.updateMenu(); - super.refresh(); + super.refresh(element); } getRootChildren(): vscode.ProviderResult[]> { @@ -221,7 +221,6 @@ export const Circle = { const globe = new vscode.ThemeIcon("globe"); class ECLErrorNode extends Item { - private _wu: Workunit; constructor(tree: ECLWatchTree, private _error: Error) { super(tree); @@ -256,7 +255,11 @@ export class ECLResultNode extends Item { } getLabel(): string { - return `${this._result.Name}: ${this._result.Value}`; + return this._result.Name; + } + + getDescription(): string { + return this._result.Value ?? ""; } command(): vscode.Command | undefined { @@ -270,7 +273,6 @@ export class ECLResultNode extends Item { contextValue(): string { return "ECLResultNode"; } - } class ECLOutputsNode extends Item { @@ -310,26 +312,24 @@ export class ECLWUNode extends Item { this._wu = wu; this.url = `${wu.BaseUrl}/?Widget=WUDetailsWidget&Wuid=${wu.Wuid}`; if (!this._wu.isComplete()) { - let prevStateID; this._wu.watchUntilComplete(changes => { - if (prevStateID !== this._wu.StateID) { - prevStateID = this._wu.StateID; - this._tree._onDidChangeTreeData.fire(this); - } + tree.refresh(this); }); } } getLabel(): string { - let primary = this._wu.Wuid; + return this._wu.Jobname || this._wu.Wuid; + } + + getDescription(): string { const extras: string[] = []; - if (!this._wu.isComplete() || this._wu.isDeleted()) extras.push(this._wu.State); - if (!this._tree._myWorkunits && this._wu.Owner) extras.push(this._wu.Owner); if (this._wu.Jobname) { - primary = this._wu.Jobname; extras.push(this._wu.Wuid); } - return extras.length ? `${primary} (${extras.join(", ")})` : primary; + if (!this._tree._myWorkunits && this._wu.Owner) extras.push(this._wu.Owner); + if (!this._wu.isComplete() || this._wu.isDeleted()) extras.push(this._wu.State); + return extras.join(" "); } iconPath() { @@ -371,7 +371,7 @@ export class ECLWUNode extends Item { } browseMetrics() { - vscode.env.openExternal(vscode.Uri.parse(this.url+"/metrics")); + vscode.env.openExternal(vscode.Uri.parse(this.url + "/metrics")); } browseECLWatch() { @@ -381,7 +381,7 @@ export class ECLWUNode extends Item { openECL() { this._wu.fetchQuery().then((inf: WUInfo.Query) => { const ecl = inf.Text; - vscode.workspace.openTextDocument({content: ecl, language: "ecl"}).then(document => { + vscode.workspace.openTextDocument({ content: ecl, language: "ecl" }).then(document => { vscode.window.showTextDocument(document); }); }); @@ -397,7 +397,7 @@ export class ECLWUNode extends Item { } abort() { - this._wu.abort().then(() => this._tree._onDidChangeTreeData.fire(this)); + this._wu.abort().then(() => this._tree.refresh(this)); } delete() { diff --git a/src/ecl/tree.ts b/src/ecl/tree.ts index b3482505..ba423122 100644 --- a/src/ecl/tree.ts +++ b/src/ecl/tree.ts @@ -3,8 +3,8 @@ import { ExtensionContext, Event, EventEmitter, TreeItem, TreeDataProvider, Comm export class Tree implements TreeDataProvider { _ctx: ExtensionContext; - _onDidChangeTreeData: EventEmitter = new EventEmitter(); - readonly onDidChangeTreeData: Event = this._onDidChangeTreeData.event; + private _onDidChangeTreeData: EventEmitter = new EventEmitter(); + readonly onDidChangeTreeData: Event = this._onDidChangeTreeData.event; protected _treeView: TreeView; @@ -17,8 +17,8 @@ export class Tree implements TreeDataProvider { }); } - refresh(): void { - this._onDidChangeTreeData.fire(null); + refresh(element?: Item): void { + this._onDidChangeTreeData.fire(element); } getTreeItem(node: Item): TreeItem | Thenable { diff --git a/src/eclwatch/WUResult.tsx b/src/eclwatch/WUResult.tsx index 93d0536e..96325146 100644 --- a/src/eclwatch/WUResult.tsx +++ b/src/eclwatch/WUResult.tsx @@ -312,11 +312,15 @@ export class WUResultTable extends Common { this._prevHash = hash; this._result = this.calcResult(); if (this._result) { - this._result.fetchXMLSchema().then(schema => { - const store = new Store(this._result, schema, this.renderHtml()); - this._dgrid?.set("columns", store.columns()); - this._dgrid?.set("collection", store); - }); + this._result.fetchXMLSchema() + .then(schema => { + const store = new Store(this._result, schema, this.renderHtml()); + this._dgrid?.set("columns", store.columns()); + this._dgrid?.set("collection", store); + }).catch(e => { + this._prevHash = undefined; + }) + ; } } if (this._prevGrid !== this._dgrid) { diff --git a/src/eclwatch/WUResultStore.ts b/src/eclwatch/WUResultStore.ts index 9823a3c3..4c3221bf 100644 --- a/src/eclwatch/WUResultStore.ts +++ b/src/eclwatch/WUResultStore.ts @@ -186,7 +186,10 @@ export class Store { fetchRange(options): Promise { const retVal = new Deferred(); - this._request(options.start, options.end).then(response => retVal.resolve(response)); + this._request(options.start, options.end) + .then(response => retVal.resolve(response)) + .catch(e => retVal.reject(e)) + ; return new QueryResults(retVal.then(response => response.data), { totalLength: retVal.then(response => response.totalLength) }); From 18e890ffaefa3fb7b27aa33897ac139264a33999 Mon Sep 17 00:00:00 2001 From: Gordon Smith Date: Tue, 19 Dec 2023 12:30:58 +0000 Subject: [PATCH 2/4] chore(release): 2.25.0 --- CHANGELOG.md | 12 ++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0aa9e1b1..6ec59336 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,18 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [2.25.0](https://github.com/hpcc-systems/vscode-ecl/compare/v2.24.0...v2.25.0) (2023-12-19) + + +### Features + +* Adding matching WU Context Menu functionality from the ECL IDE ([9da291a](https://github.com/hpcc-systems/vscode-ecl/commit/9da291a87431e1da5a736bc95209075ee057e29b)) + + +### Bug Fixes + +* Workaround VSCode 1.85.x regression ([014ac55](https://github.com/hpcc-systems/vscode-ecl/commit/014ac55abe0a87aaffee9e05f65742d61cef3d7d)) + ## [2.24.0](https://github.com/hpcc-systems/vscode-ecl/compare/v2.23.7...v2.24.0) (2023-10-27) diff --git a/package-lock.json b/package-lock.json index ad36fb5a..d44f9787 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ecl", - "version": "2.24.0", + "version": "2.25.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ecl", - "version": "2.24.0", + "version": "2.25.0", "dependencies": { "@vscode/webview-ui-toolkit": "1.2.2", "csv": "^6.3.5", diff --git a/package.json b/package.json index 01712dc7..e044a30e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "ecl", - "version": "2.24.0", + "version": "2.25.0", "publisher": "hpcc-systems", "displayName": "ECL Language", "description": "ECL (Enterprise Control Language) support for Visual Studio Code", From 77b7628211326031dd59ee4ccd506c4a79ee2264 Mon Sep 17 00:00:00 2001 From: David de Hilster Date: Wed, 13 Dec 2023 14:50:58 -0500 Subject: [PATCH 3/4] feat: Add protect & unprotect workunit to WU context menu Signed-off-by: David de Hilster --- package-lock.json | 364 ++++++++++++++++++++-------------------- package.json | 28 +++- package.nls.json | 3 + src/ecl/eclWatchTree.ts | 21 ++- 4 files changed, 230 insertions(+), 186 deletions(-) diff --git a/package-lock.json b/package-lock.json index ad36fb5a..1cef8182 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "devDependencies": { "@fluentui/react": "8.111.2", "@hpcc-js/common": "2.71.11", - "@hpcc-js/comms": "^2.85.0", + "@hpcc-js/comms": "2.86.0", "@hpcc-js/ddl-shim": "2.20.5", "@hpcc-js/dgrid2": "2.3.11", "@hpcc-js/loader": "2.104.28", @@ -53,7 +53,7 @@ "copy-to-clipboard": "3.3.3", "copyfiles": "2.4.1", "css-loader": "6.8.1", - "csv-writer": "^1.6.0", + "csv-writer": "1.6.0", "diff": "5.1.0", "eslint": "8.49.0", "mocha": "10.2.0", @@ -94,9 +94,9 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", - "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, "dependencies": { "@babel/highlight": "^7.23.4", @@ -130,9 +130,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz", - "integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.7.tgz", + "integrity": "sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -220,9 +220,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", - "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -298,47 +298,47 @@ } }, "node_modules/@fluentui/date-time-utilities": { - "version": "8.5.14", - "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.5.14.tgz", - "integrity": "sha512-Kc64ZBj0WiaSW/Bsh4fMy9oM2FIk1TgIqBV6+OgOtdKx9cXwLdmgGk8zuQTcuRnwv5WCk2M6wvW1M+eK3sNRGA==", + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.5.15.tgz", + "integrity": "sha512-offoCjjSTlREPps/2JJeFCxjfhTf1ULoEeKT6D3P02Uerr7HYvYyrIjkv555QCqn+xjrq3GBF5oU2SMglrroUw==", "dev": true, "dependencies": { - "@fluentui/set-version": "^8.2.12", + "@fluentui/set-version": "^8.2.13", "tslib": "^2.1.0" } }, "node_modules/@fluentui/dom-utilities": { - "version": "2.2.12", - "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.2.12.tgz", - "integrity": "sha512-safCKQPJTnshYG13/U2Zx1KWhOhU4vl5RAKqW7HEBfLOHds/fAR+EzTvKgO6OgxJq59JAKJvpH2QujkLXZZQ3A==", + "version": "2.2.13", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.2.13.tgz", + "integrity": "sha512-mIb1njyLp1sIwZsokHCfqbdgbA1YRHO/BQ5NwIrNH44sp6hWo1d3Ytu2FoQebPU+caIniAXIsTzpa1AsfeOPgQ==", "dev": true, "dependencies": { - "@fluentui/set-version": "^8.2.12", + "@fluentui/set-version": "^8.2.13", "tslib": "^2.1.0" } }, "node_modules/@fluentui/font-icons-mdl2": { - "version": "8.5.27", - "resolved": "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.5.27.tgz", - "integrity": "sha512-u6J9SmdWsr3WjC7zog930IWWySA+mxLfIqfyux9oATJQPUs+76juYYbolDTJTvndVEmb+piA7qBhEubUoaXJjQ==", + "version": "8.5.28", + "resolved": "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.5.28.tgz", + "integrity": "sha512-1w70EsASCXySDfuuy7Domoo9geatBHDsBlrDfQ6XV7vi1kCgeeqNJKR4ChJiNwF5vXLb3sXGF/5f3GJXtZzDKg==", "dev": true, "dependencies": { - "@fluentui/set-version": "^8.2.12", - "@fluentui/style-utilities": "^8.9.20", - "@fluentui/utilities": "^8.13.21", + "@fluentui/set-version": "^8.2.13", + "@fluentui/style-utilities": "^8.9.21", + "@fluentui/utilities": "^8.13.22", "tslib": "^2.1.0" } }, "node_modules/@fluentui/foundation-legacy": { - "version": "8.2.47", - "resolved": "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.2.47.tgz", - "integrity": "sha512-El/8/makZh2fqd2YdLSTy3T2oJ3N6WCsPzkud9CdMF98Oby0jny4EAtzjBNRbAwL4/gppOYIIchVuzRL4V2rcw==", + "version": "8.2.48", + "resolved": "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.2.48.tgz", + "integrity": "sha512-Fx6u/P2HOYUTICaRwz8Ci9vFY6ZltOlkuvAr9dkBEjGOTmaSBylxgPM4fj+dCh5XrxdsF0chbfNhhZVjVNYv4g==", "dev": true, "dependencies": { - "@fluentui/merge-styles": "^8.5.13", - "@fluentui/set-version": "^8.2.12", - "@fluentui/style-utilities": "^8.9.20", - "@fluentui/utilities": "^8.13.21", + "@fluentui/merge-styles": "^8.5.14", + "@fluentui/set-version": "^8.2.13", + "@fluentui/style-utilities": "^8.9.21", + "@fluentui/utilities": "^8.13.22", "tslib": "^2.1.0" }, "peerDependencies": { @@ -347,21 +347,21 @@ } }, "node_modules/@fluentui/keyboard-key": { - "version": "0.4.12", - "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.4.12.tgz", - "integrity": "sha512-9nPglM58ThbOEQ88KijdYl64hiTAQQ0o60HRc0vboibmr41mJ322FoBz5Q5S5QLIEbBZajrAkrDMs3PKW4CCSw==", + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.4.13.tgz", + "integrity": "sha512-T00hJwg1ez3SWT+MmyvjsPMcQNg+MrGArQSg0ezMZwiEzOo3n0TC4TuecOyoMlMpJHtm52Y8a3KlE9klZKl35g==", "dev": true, "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@fluentui/merge-styles": { - "version": "8.5.13", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.5.13.tgz", - "integrity": "sha512-ocgwNlQcQwn5mNlZKFazrFVbYDEQ6BptoW4GyEv6U5TEHE8HKKYuPRf340NXCRGiacSpz3vLkyDjp+L431qUXg==", + "version": "8.5.14", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.5.14.tgz", + "integrity": "sha512-OrFEizI56NwO7C9zpEx04WYfrqPmPCWXNtNlXaCd3VW7/MNPQm2wpYqOF2b3xlP5Tnzn6/+w+XR2ym0vLIdM6g==", "dev": true, "dependencies": { - "@fluentui/set-version": "^8.2.12", + "@fluentui/set-version": "^8.2.13", "tslib": "^2.1.0" } }, @@ -394,16 +394,16 @@ } }, "node_modules/@fluentui/react-focus": { - "version": "8.8.34", - "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.8.34.tgz", - "integrity": "sha512-GNi8MqQRdoIaYpiz5kWIQaX1mNzFz3X+UShezA3gohrXnkONUvrPBuFDyYgQXoqk67juEZ+oGxl2PpKjz08HCA==", + "version": "8.8.35", + "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.8.35.tgz", + "integrity": "sha512-r5JJF7m0RpCOq6ZtSx0MWA6CYdfc5e4/zTPRLRzXAPJLBx3lsYec6BffqshAkVz1mC8Ye9EU5+U/YoDiyxIKZw==", "dev": true, "dependencies": { - "@fluentui/keyboard-key": "^0.4.12", - "@fluentui/merge-styles": "^8.5.13", - "@fluentui/set-version": "^8.2.12", - "@fluentui/style-utilities": "^8.9.20", - "@fluentui/utilities": "^8.13.21", + "@fluentui/keyboard-key": "^0.4.13", + "@fluentui/merge-styles": "^8.5.14", + "@fluentui/set-version": "^8.2.13", + "@fluentui/style-utilities": "^8.9.21", + "@fluentui/utilities": "^8.13.22", "tslib": "^2.1.0" }, "peerDependencies": { @@ -412,14 +412,14 @@ } }, "node_modules/@fluentui/react-hooks": { - "version": "8.6.33", - "resolved": "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.6.33.tgz", - "integrity": "sha512-3P9RA34QhhjFwHwCvfOqMDgCwvks4hgMsEGvQVTdrcya4uskxBx4FqCLzoMxkXcAJjJCiTJmPx/mZQqQpgoyoA==", + "version": "8.6.34", + "resolved": "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.6.34.tgz", + "integrity": "sha512-FtfvsOHuNz4JfmACAUpJKyh/62i14s5K8lk4GGoe4soETyaKAlmYX9HbBOrFi9FkKk6scrFytLCViQ8sR15bDA==", "dev": true, "dependencies": { - "@fluentui/react-window-provider": "^2.2.16", - "@fluentui/set-version": "^8.2.12", - "@fluentui/utilities": "^8.13.21", + "@fluentui/react-window-provider": "^2.2.17", + "@fluentui/set-version": "^8.2.13", + "@fluentui/utilities": "^8.13.22", "tslib": "^2.1.0" }, "peerDependencies": { @@ -428,9 +428,9 @@ } }, "node_modules/@fluentui/react-portal-compat-context": { - "version": "9.0.10", - "resolved": "https://registry.npmjs.org/@fluentui/react-portal-compat-context/-/react-portal-compat-context-9.0.10.tgz", - "integrity": "sha512-l38C+tGb76yyFQ9sxUrY8DDyp2hoYru3pISFivPitFgkP6nqlnZPNd8yPE48RuVWjMhTKQ/1uCdE6ymBH9wBZQ==", + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/@fluentui/react-portal-compat-context/-/react-portal-compat-context-9.0.11.tgz", + "integrity": "sha512-ubvW/ej0O+Pago9GH3mPaxzUgsNnBoqvghNamWjyKvZIViyaXUG6+sgcAl721R+qGAFac+A20akI5qDJz/xtdg==", "dev": true, "dependencies": { "@swc/helpers": "^0.5.1" @@ -441,12 +441,12 @@ } }, "node_modules/@fluentui/react-window-provider": { - "version": "2.2.16", - "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.2.16.tgz", - "integrity": "sha512-4gkUMSAUjo3cgCGt+0VvTbMy9qbF6zo/cmmfYtfqbSFtXz16lKixSCMIf66gXdKjovqRGVFC/XibqfrXM2QLuw==", + "version": "2.2.17", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.2.17.tgz", + "integrity": "sha512-MFaeF/hJGoXiJXjkRZ41IQmYyEnU3uCyNtoaT6YlzAE3KAMV4SvGzcSXVbgx1ZPMXMSnAJt12qX02F5XEBusbA==", "dev": true, "dependencies": { - "@fluentui/set-version": "^8.2.12", + "@fluentui/set-version": "^8.2.13", "tslib": "^2.1.0" }, "peerDependencies": { @@ -455,37 +455,37 @@ } }, "node_modules/@fluentui/set-version": { - "version": "8.2.12", - "resolved": "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.2.12.tgz", - "integrity": "sha512-I4uXIg9xkL2Heotf1+7CyGcHQskdtMSH0B5mSV0TL3w7WI2qpnzrpKuP2Kq6DHZN6Xrsg4ORFNJSjLxq/s9cUQ==", + "version": "8.2.13", + "resolved": "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.2.13.tgz", + "integrity": "sha512-xzfxKGNP/N8/hWayv32Jt6EhP7XOe0myFb2R15ll2xUnLypdLVj85y3nfu4EJb+jsTvev8uHEiz540KcZ+6EOg==", "dev": true, "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@fluentui/style-utilities": { - "version": "8.9.20", - "resolved": "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.9.20.tgz", - "integrity": "sha512-oj0ghn21DnqCardlcEp+zob3IEAfA/Z7ZjzuYqlHuPUItwRqGmpr1wErssRC4R1kHsH6gq9ALxVgMa4/FvdzGg==", + "version": "8.9.21", + "resolved": "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.9.21.tgz", + "integrity": "sha512-bAkzZCAWf3xX/oe0AtpuX4W6xnB8UQFirmA8pp09N0MfbN5mHR6rUYETCMGD/lyDwq4pll0jSEdUnagrsHPSXg==", "dev": true, "dependencies": { - "@fluentui/merge-styles": "^8.5.13", - "@fluentui/set-version": "^8.2.12", - "@fluentui/theme": "^2.6.38", - "@fluentui/utilities": "^8.13.21", + "@fluentui/merge-styles": "^8.5.14", + "@fluentui/set-version": "^8.2.13", + "@fluentui/theme": "^2.6.39", + "@fluentui/utilities": "^8.13.22", "@microsoft/load-themed-styles": "^1.10.26", "tslib": "^2.1.0" } }, "node_modules/@fluentui/theme": { - "version": "2.6.38", - "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.6.38.tgz", - "integrity": "sha512-LObK/mZOQFb3aTcDlKBSLpPV0BOp5BOuNqg0Wps51b1RlisI6oS3STmw3BkcAe6jOi/p4cgLpwHMkYHh2o8PmQ==", + "version": "2.6.39", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.6.39.tgz", + "integrity": "sha512-6mglwir7G5GnKJVyQ6TbAVw0qj5oyeYJVI3fs/CZNFF6rD8j0btXMFfqs4Aec5GTKZ+CE6WSac59ok3irFCZzg==", "dev": true, "dependencies": { - "@fluentui/merge-styles": "^8.5.13", - "@fluentui/set-version": "^8.2.12", - "@fluentui/utilities": "^8.13.21", + "@fluentui/merge-styles": "^8.5.14", + "@fluentui/set-version": "^8.2.13", + "@fluentui/utilities": "^8.13.22", "tslib": "^2.1.0" }, "peerDependencies": { @@ -494,14 +494,14 @@ } }, "node_modules/@fluentui/utilities": { - "version": "8.13.21", - "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.13.21.tgz", - "integrity": "sha512-YPWsRAL1jgbPxf+wAY8p6LjIG4em0NReqgU8ZCFnQx9wpQbe/ZRjQcaU06pD1tYtRGvyCutwhnWDaQHDw843Xg==", + "version": "8.13.22", + "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.13.22.tgz", + "integrity": "sha512-iYVtMOl8DGrXl6Wke/ft1S31VeegW2aNLpPdF/iqanv/zejm4Z7JDrGpXDf4wjEQKzlK/XNDjBiQssM6MUsKAQ==", "dev": true, "dependencies": { - "@fluentui/dom-utilities": "^2.2.12", - "@fluentui/merge-styles": "^8.5.13", - "@fluentui/set-version": "^8.2.12", + "@fluentui/dom-utilities": "^2.2.13", + "@fluentui/merge-styles": "^8.5.14", + "@fluentui/set-version": "^8.2.13", "tslib": "^2.1.0" }, "peerDependencies": { @@ -802,9 +802,9 @@ } }, "node_modules/@hpcc-js/codemirror": { - "version": "2.60.13", - "resolved": "https://registry.npmjs.org/@hpcc-js/codemirror/-/codemirror-2.60.13.tgz", - "integrity": "sha512-VDSo3B9RI2QSgY1NuLIvKP9J9BFPRGRMX1Eaje7mvxqFN/K7Vh7BLUnsWTCLWsNWGMDuWVVMzm1pFLkA/x08Zg==", + "version": "2.61.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/codemirror/-/codemirror-2.61.0.tgz", + "integrity": "sha512-E6WjybWyUDk9SlCTbyLVW91LB9SKGHwdlgbAjBtHUldD/Th0/HPqfLnR+dgkZgXY6eLENHSvA4V4XR2dPHC0WQ==", "dev": true, "dependencies": { "@hpcc-js/common": "^2.71.13" @@ -971,9 +971,9 @@ } }, "node_modules/@hpcc-js/comms": { - "version": "2.85.0", - "resolved": "https://registry.npmjs.org/@hpcc-js/comms/-/comms-2.85.0.tgz", - "integrity": "sha512-ZnvI7T35qyj6Dm1uT7f+j1Xgq0QGPyMAypGq8jacq2VAo2Q24eg/AL57E8PBLOM1Q0UAV/WYJqz4eTk9n+UwgQ==", + "version": "2.86.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/comms/-/comms-2.86.0.tgz", + "integrity": "sha512-+oNr7s/YFr4+quKK4ZBpWT/KjLO/0ZLXqg+aIY2leqL6Euog7z/VbA/6ClRdWNFblyxtgi47hH2rWR2Hd+vs4g==", "dev": true, "dependencies": { "@hpcc-js/ddl-shim": "^2.20.6", @@ -1009,9 +1009,9 @@ } }, "node_modules/@hpcc-js/composite": { - "version": "2.7.15", - "resolved": "https://registry.npmjs.org/@hpcc-js/composite/-/composite-2.7.15.tgz", - "integrity": "sha512-kM7Cf4Cm35jXHvGlNjUjXvoFAY00FhqYh92Rq29MquKWLqNy5eQEZJOn4RPQYA22FPzc4H4YM/LUYdMv5H6Ucw==", + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@hpcc-js/composite/-/composite-2.7.16.tgz", + "integrity": "sha512-+IyFsNj8mUBmOwFrYSxo7H8fDJF6f2Sc/g8vJ3lf3mNAYKoF0AKY1v/65SWIcrSiKHp2lV/UYuHujp0ScquHWg==", "dev": true, "dependencies": { "@hpcc-js/api": "^2.12.13", @@ -1022,7 +1022,7 @@ "@hpcc-js/html": "^2.42.14", "@hpcc-js/layout": "^2.49.13", "@hpcc-js/other": "^2.15.13", - "@hpcc-js/phosphor": "^2.16.13" + "@hpcc-js/phosphor": "^2.17.0" } }, "node_modules/@hpcc-js/composite/node_modules/@hpcc-js/common": { @@ -1364,18 +1364,18 @@ } }, "node_modules/@hpcc-js/eclwatch": { - "version": "2.73.30", - "resolved": "https://registry.npmjs.org/@hpcc-js/eclwatch/-/eclwatch-2.73.30.tgz", - "integrity": "sha512-NvUGG16a7Hxp8BZcBpmO85vb7s2a2VPRwbgVTlxc0V3KbAoM3MGVZc2fAT1KlR+CugB7f8gdgDBu+WVS774e5Q==", + "version": "2.73.31", + "resolved": "https://registry.npmjs.org/@hpcc-js/eclwatch/-/eclwatch-2.73.31.tgz", + "integrity": "sha512-keCyv9ezb4GdxJ4HppfHEHt7in9n0KUjAcLcrPbskxskdhKPmxvTdzX5kmmTBndRd5Xvj/K+GkKAGfhQAcuiZw==", "dev": true, "dependencies": { - "@hpcc-js/codemirror": "^2.60.13", + "@hpcc-js/codemirror": "^2.61.0", "@hpcc-js/common": "^2.71.13", - "@hpcc-js/comms": "^2.85.0", + "@hpcc-js/comms": "^2.86.0", "@hpcc-js/dgrid": "^2.32.14", "@hpcc-js/graph": "^2.85.9", "@hpcc-js/layout": "^2.49.13", - "@hpcc-js/phosphor": "^2.16.13", + "@hpcc-js/phosphor": "^2.17.0", "@hpcc-js/timeline": "^2.51.16", "@hpcc-js/tree": "^2.40.13", "@hpcc-js/util": "^2.50.6" @@ -2815,9 +2815,9 @@ } }, "node_modules/@hpcc-js/phosphor": { - "version": "2.16.13", - "resolved": "https://registry.npmjs.org/@hpcc-js/phosphor/-/phosphor-2.16.13.tgz", - "integrity": "sha512-oMfeL4kp9luMRE9fI72BBbikQ0yqB99H7STkkHwVVGr4bogJJ+QTiepEnW/C9WvAg34CvtkgfAU2USc7RLHMqA==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@hpcc-js/phosphor/-/phosphor-2.17.0.tgz", + "integrity": "sha512-dnJSLsTlAuL0AQ73ptc08nz80oUiRbbNIlikVbANnY0kNNxhlWp1FoUYuO65ElW2tLkHvPNn5+/9YAf1KZFFxA==", "dev": true, "dependencies": { "@hpcc-js/common": "^2.71.13", @@ -4371,9 +4371,9 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", - "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", "dev": true, "dependencies": { "@types/estree": "^1.0.0", @@ -4526,9 +4526,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.44.7", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.7.tgz", - "integrity": "sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.1.tgz", + "integrity": "sha512-18PLWRzhy9glDQp3+wOgfLYRWlhgX0azxgJ63rdpoUHyrC9z0f5CkFburjQx4uD7ZCruw85ZtMt6K+L+R8fLJQ==", "dev": true, "dependencies": { "@types/estree": "*", @@ -5191,9 +5191,9 @@ } }, "node_modules/acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -5659,9 +5659,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", "dev": true, "funding": [ { @@ -5678,9 +5678,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" }, "bin": { @@ -5818,9 +5818,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001565", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz", - "integrity": "sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==", + "version": "1.0.30001574", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz", + "integrity": "sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg==", "dev": true, "funding": [ { @@ -6694,39 +6694,39 @@ } }, "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true }, "node_modules/csv": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/csv/-/csv-6.3.5.tgz", - "integrity": "sha512-Y+KTCAUljtq2JaGP42ZL1bymqlU5BkfnFpZhxRczGFDZox2VXhlRHnG5DRshyUrwQzmCdEiLjSqNldCfm1OVCA==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/csv/-/csv-6.3.6.tgz", + "integrity": "sha512-jsEsX2HhGp7xiwrJu5srQavKsh+HUJcCi78Ar3m4jlmFKRoTkkMy7ZZPP+LnQChmaztW+uj44oyfMb59daAs/Q==", "dependencies": { - "csv-generate": "^4.3.0", - "csv-parse": "^5.5.2", - "csv-stringify": "^6.4.4", - "stream-transform": "^3.2.10" + "csv-generate": "^4.3.1", + "csv-parse": "^5.5.3", + "csv-stringify": "^6.4.5", + "stream-transform": "^3.3.0" }, "engines": { "node": ">= 0.1.90" } }, "node_modules/csv-generate": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-4.3.0.tgz", - "integrity": "sha512-7KdVId/2RgwPIKfWHaHtjBq7I9mgdi8ICzsUyIhP8is6UwpwVGGSC/aPnrZ8/SkgBcCP20lXrdPuP64Irs1VBg==" + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-4.3.1.tgz", + "integrity": "sha512-7YeeJq+44/I/O5N2sr2qBMcHZXhpfe38eh7DOFxyMtYO+Pir7kIfgFkW5MPksqKqqR6+/wX7UGoZm1Ot11151w==" }, "node_modules/csv-parse": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-5.5.2.tgz", - "integrity": "sha512-YRVtvdtUNXZCMyK5zd5Wty1W6dNTpGKdqQd4EQ8tl/c6KW1aMBB1Kg1ppky5FONKmEqGJ/8WjLlTNLPne4ioVA==" + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-5.5.3.tgz", + "integrity": "sha512-v0KW6C0qlZzoGjk6u5tLmVfyZxNgPGXZsWTXshpAgKVGmGXzaVWGdlCFxNx5iuzcXT/oJN1HHM9DZKwtAtYa+A==" }, "node_modules/csv-stringify": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-6.4.4.tgz", - "integrity": "sha512-NDshLupGa7gp4UG4sSNIqwYJqgSwvds0SvENntxoVoVvTzXcrHvd5gG2MWpbRpSNvk59dlmIe1IwNvSxN4IVmg==" + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-6.4.5.tgz", + "integrity": "sha512-SPu1Vnh8U5EnzpNOi1NDBL5jU5Rx7DVHr15DNg9LXDTAbQlAVAmEbVt16wZvEW9Fu9Qt4Ji8kmeCJ2B1+4rFTQ==" }, "node_modules/csv-writer": { "version": "1.6.0", @@ -7205,9 +7205,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.595", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.595.tgz", - "integrity": "sha512-+ozvXuamBhDOKvMNUQvecxfbyICmIAwS4GpLmR0bsiSBlGnLaOcs2Cj7J8XSbW+YEaN3Xl3ffgpm+srTUWFwFQ==", + "version": "1.4.620", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.620.tgz", + "integrity": "sha512-a2fcSHOHrqBJsPNXtf6ZCEZpXrFCcbK1FBxfX3txoqWzNgtEDG1f3M59M98iwxhRW4iMKESnSjbJ310/rkrp0g==", "dev": true }, "node_modules/emoji-regex": { @@ -7741,9 +7741,9 @@ } }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", + "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -8322,9 +8322,9 @@ } }, "node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -10470,9 +10470,9 @@ "dev": true }, "node_modules/node-abi": { - "version": "3.51.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", - "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", + "version": "3.52.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.52.0.tgz", + "integrity": "sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ==", "dev": true, "optional": true, "dependencies": { @@ -10529,9 +10529,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, "node_modules/noms": { @@ -10762,13 +10762,13 @@ } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -11160,9 +11160,9 @@ } }, "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", "dev": true, "funding": [ { @@ -11179,7 +11179,7 @@ } ], "dependencies": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -11458,9 +11458,9 @@ } }, "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.0.tgz", + "integrity": "sha512-SaIbK8XW+MZbd0xHPf7kdfA/3eOt7vxJ72IRecn3EzuZVLr1r0orzf0MX/pN8m+NMDoo6X/SQd8oeKqGZd8PXg==", "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.4" @@ -11669,9 +11669,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -12145,9 +12145,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "dev": true }, "node_modules/regexp.prototype.flags": { @@ -13007,9 +13007,9 @@ } }, "node_modules/stream-transform": { - "version": "3.2.10", - "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-3.2.10.tgz", - "integrity": "sha512-Yu+x7zcWbWdyB0Td8dFzHt2JEyD6694CNq2lqh1rbuEBVxPtjb/GZ7xDnZcdYiU5E/RtufM54ClSEOzZDeWguA==" + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-3.3.0.tgz", + "integrity": "sha512-pG1NeDdmErNYKtvTpFayrEueAmL0xVU5wd22V7InGnatl4Ocq3HY7dcXIKj629kXvYQvglCC7CeDIGAlx1RNGA==" }, "node_modules/string_decoder": { "version": "1.3.0", @@ -13393,9 +13393,9 @@ } }, "node_modules/terser": { - "version": "5.24.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", - "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -13411,16 +13411,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" diff --git a/package.json b/package.json index 01712dc7..f494d927 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "devDependencies": { "@fluentui/react": "8.111.2", "@hpcc-js/common": "2.71.11", - "@hpcc-js/comms": "2.85.0", + "@hpcc-js/comms": "2.86.0", "@hpcc-js/ddl-shim": "2.20.5", "@hpcc-js/dgrid2": "2.3.11", "@hpcc-js/loader": "2.104.28", @@ -393,13 +393,25 @@ "command": "hpccPlatform.abortWU", "category": "ECL", "title": "%Abort Workunit%", - "enablement": "viewItem == ECLWUNode" + "enablement": "viewItem =~ /ECLWUNode/" }, { "command": "hpccPlatform.deleteWU", "category": "ECL", "title": "%Delete Workunit%", - "enablement": "viewItem == ECLWUNodeComplete" + "enablement": "viewItem =~ /ECLWUNodeComplete/" + }, + { + "command": "hpccPlatform.protectWU", + "category": "ECL", + "title": "%Protect Workunit%", + "enablement": "viewItem =~ /ECLWUNodeComplete/" + }, + { + "command": "hpccPlatform.unprotectWU", + "category": "ECL", + "title": "%Unprotect Workunit%", + "enablement": "viewItem =~ /ECLWUNodeComplete/" }, { "command": "hpccPlatform.refresh", @@ -854,6 +866,16 @@ "when": "view == hpccPlatform && viewItem =~ /^ECLWUNode/", "group": "3action@920" }, + { + "when": "viewItem =~ /Unprotected/", + "command": "hpccPlatform.protectWU", + "group": "3action@930" + }, + { + "when": "viewItem =~ /Protected/", + "command": "hpccPlatform.unprotectWU", + "group": "3action@940" + }, { "command": "hpccResources.bundles.homepage", "when": "view == hpccResources.bundles && viewItem =~ /^BundlesItem/", diff --git a/package.nls.json b/package.nls.json index 4a937436..04574325 100644 --- a/package.nls.json +++ b/package.nls.json @@ -71,6 +71,8 @@ "Ping interval (secs, -1 to disable)": "Ping interval (secs, -1 to disable)", "Pinned launch configurations": "Pinned launch configurations", "Private": "Private", + "Protect": "Protect", + "Protect Workunit": "Protect Workunit", "Public": "Public", "Refresh": "Refresh", "Refresh Tree": "Refresh Tree", @@ -112,6 +114,7 @@ "Terminal": "Terminal", "Uninstall": "Uninstall", "Uninstall Bundle": "Uninstall Bundle", + "Unprotect Workunit": "Unprotect Workunit", "User ID": "User ID", "User password": "User password", "Verify ECL Digital Signature": "Verify ECL Digital Signature", diff --git a/src/ecl/eclWatchTree.ts b/src/ecl/eclWatchTree.ts index 4dff8156..ab5ac819 100644 --- a/src/ecl/eclWatchTree.ts +++ b/src/ecl/eclWatchTree.ts @@ -93,6 +93,16 @@ export class ECLWatchTree extends Tree { wuNode.delete(); }); + vscode.commands.registerCommand("hpccPlatform.protectWU", (wuNode: ECLWUNode) => { + wuNode.protect(); + this.refresh(); + }); + + vscode.commands.registerCommand("hpccPlatform.unprotectWU", (wuNode: ECLWUNode) => { + wuNode.unprotect(); + this.refresh(); + }); + } static attach(ctx: vscode.ExtensionContext) { @@ -400,6 +410,14 @@ export class ECLWUNode extends Item { this._wu.abort().then(() => this._tree._onDidChangeTreeData.fire(this)); } + protect() { + this._wu.protect(); + } + + unprotect() { + this._wu.unprotect(); + } + delete() { this._wu.delete().then(() => this._tree.refresh()); } @@ -421,7 +439,8 @@ export class ECLWUNode extends Item { } contextValue(): string { - return this._wu.isComplete() ? "ECLWUNodeComplete" : "ECLWUNode"; + const prot = this._wu.Protected ? "Protected" : "Unprotected"; + return this._wu.isComplete() ? `ECLWUNodeComplete,${prot}` : `ECLWUNode,${prot}`; } } From 58fbac2edb86fe0955f2674d9011fed8e9fc0897 Mon Sep 17 00:00:00 2001 From: David de Hilster Date: Wed, 17 Jan 2024 10:03:27 -0500 Subject: [PATCH 4/4] ADD_SET_STATES Add set states to the workunit context menu Signed-off-by: David de Hilster --- package.json | 126 +++++++++++++++++++++++++++++++++++----- package.nls.json | 15 ++++- src/ecl/eclWatchTree.ts | 111 ++++++++++++++++++++++++++++++----- 3 files changed, 222 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index f494d927..c1fb5933 100644 --- a/package.json +++ b/package.json @@ -402,16 +402,64 @@ "enablement": "viewItem =~ /ECLWUNodeComplete/" }, { - "command": "hpccPlatform.protectWU", + "command": "hpccPlatform.setStateCompiled", "category": "ECL", - "title": "%Protect Workunit%", - "enablement": "viewItem =~ /ECLWUNodeComplete/" + "title": "%Compiled%" }, { - "command": "hpccPlatform.unprotectWU", + "command": "hpccPlatform.setStateRunning", "category": "ECL", - "title": "%Unprotect Workunit%", - "enablement": "viewItem =~ /ECLWUNodeComplete/" + "title": "%Running%" + }, + { + "command": "hpccPlatform.setStateCompleted", + "category": "ECL", + "title": "%Completed%" + }, + { + "command": "hpccPlatform.setStateFailed", + "category": "ECL", + "title": "%Failed%" + }, + { + "command": "hpccPlatform.setStateArchived", + "category": "ECL", + "title": "%Archived%" + }, + { + "command": "hpccPlatform.setStateAborting", + "category": "ECL", + "title": "%Aborting%" + }, + { + "command": "hpccPlatform.setStateAborted", + "category": "ECL", + "title": "%Aborted%" + }, + { + "command": "hpccPlatform.setStateBlocked", + "category": "ECL", + "title": "%Blocked%" + }, + { + "command": "hpccPlatform.setStateSubmitted", + "category": "ECL", + "title": "%Submitted%" + }, + { + "command": "hpccPlatform.setStateScheduled", + "category": "ECL", + "title": "%Scheduled%" + }, + { + "command": "hpccPlatform.setStateCompiling", + "category": "ECL", + "title": "%Compiling%" + }, + { + "command": "hpccPlatform.setStateWaiting", + "category": "ECL", + "title": "%Waiting%" }, { "command": "hpccPlatform.refresh", @@ -664,7 +712,63 @@ } } ], + "submenus": [ + { + "id": "setState", + "label": "Set State" + } + ], "menus": { + "setState": [ + { + "command": "hpccPlatform.setStateCompiled", + "group": "set@01" + }, + { + "command": "hpccPlatform.setStateRunning", + "group": "set@02" + }, + { + "command": "hpccPlatform.setStateCompleted", + "group": "set@03" + }, + { + "command": "hpccPlatform.setStateFailed", + "group": "set@04" + }, + { + "command": "hpccPlatform.setStateArchived", + "group": "set@05" + }, + { + "command": "hpccPlatform.setStateAborting", + "group": "set@06" + }, + { + "command": "hpccPlatform.setStateAborted", + "group": "set@07" + }, + { + "command": "hpccPlatform.setStateBlocked", + "group": "set@08" + }, + { + "command": "hpccPlatform.setStateSubmitted", + "group": "set@09" + }, + { + "command": "hpccPlatform.setStateScheduled", + "group": "set@10" + }, + { + "command": "hpccPlatform.setStateCompiling", + "group": "set@11" + }, + { + "command": "hpccPlatform.setStateWaiting", + "group": "set@12" + } + ], "explorer/context": [ { "when": "resourceLangId == ecl && resourceExtname == .ecl", @@ -867,14 +971,8 @@ "group": "3action@920" }, { - "when": "viewItem =~ /Unprotected/", - "command": "hpccPlatform.protectWU", - "group": "3action@930" - }, - { - "when": "viewItem =~ /Protected/", - "command": "hpccPlatform.unprotectWU", - "group": "3action@940" + "submenu": "setState", + "group": "3action@950" }, { "command": "hpccResources.bundles.homepage", diff --git a/package.nls.json b/package.nls.json index 04574325..9ffdf773 100644 --- a/package.nls.json +++ b/package.nls.json @@ -1,5 +1,7 @@ { "A new configuration to submit ECL to localhost, hthor": "A new configuration to submit ECL to localhost, hthor", + "Aborted": "Aborted", + "Aborting": "Aborting", "Abort Workunit": "Abort Workunit", "Abort submit when errors are reported during archive generation": "Abort submit when errors are reported during archive generation", "Activate": "Activate", @@ -7,9 +9,11 @@ "Add '-legacy' argument to eclcc": "Add '-legacy' argument to eclcc", "Additional folders to use when resolving IMPORT statements": "Additional folders to use when resolving IMPORT statements", "All workunits": "All workunits", + "Archived": "Archived", "Auto Detect": "Auto Detect", "Auto Detect Client Tools": "Auto Detect Client Tools", "Automatically open Workunits on creation": "Automatically open Workunits on creation", + "Blocked": "Blocked", "Browse ECL Watch": "Browse ECL Watch", "Browse Metrics": "Browse Metrics", "Build flags, to be passed to the eclcc compiler": "Build flags, to be passed to the eclcc compiler", @@ -19,7 +23,10 @@ "Check syntax with KEL grammar (fast)": "Check syntax with KEL grammar (fast)", "Clear all previously reported ECL Syntax Check results": "Clear all previously reported ECL Syntax Check results", "Client Tools Homepage": "Client Tools Homepage", + "Completed": "Completed", "Compile": "Compile", + "Compiled": "Compiled", + "Compiling": "Compiling", "Compile ECL on the HPCC Platform": "Compile ECL on the HPCC Platform", "Copy WUID": "Copy WUID", "Copy as ECL ID": "Copy as ECL ID", @@ -35,6 +42,7 @@ "ECL Watch": "ECL Watch", "Edit Dashboard": "Edit Dashboard", "Export ECL Markdown to HTML": "Export ECL Markdown to HTML", + "Failed": "Failed", "For the currently selected text, search the online ECL language reference": "For the currently selected text, search the online ECL language reference", "Force global 'proxySupport' to 'fallback'": "Force global 'proxySupport' to 'fallback'", "Generate": "Generate", @@ -71,8 +79,6 @@ "Ping interval (secs, -1 to disable)": "Ping interval (secs, -1 to disable)", "Pinned launch configurations": "Pinned launch configurations", "Private": "Private", - "Protect": "Protect", - "Protect Workunit": "Protect Workunit", "Public": "Public", "Refresh": "Refresh", "Refresh Tree": "Refresh Tree", @@ -81,12 +87,14 @@ "Reveals Generated ECL in File Explorer": "Reveals Generated ECL in File Explorer", "Run 'eclcc -syntax' on load": "Run 'eclcc -syntax' on load", "Run 'eclcc -syntax' on save": "Run 'eclcc -syntax' on save", + "Running": "Running", "Save + check syntax of current file": "Save + check syntax of current file", "Save All + check syntax of all files": "Save All + check syntax of all files", "Save Data to File": "Save Data to File", "Save file prior to submission": "Save file prior to submission", "Save file prior to syntax check": "Save file prior to syntax check", "Save Result to File": "Save Result to File", + "Scheduled": "Scheduled", "Select Client Tools Version": "Select Client Tools Version", "Select Client Tools Version from available options": "Select Client Tools Version from available options", "Server IP/Domain address": "Server IP/Domain address", @@ -98,6 +106,7 @@ "Showing all workunits": "Showing all workunits", "Sign ECL": "Sign ECL", "Submit": "Submit", + "Submitted": "Submitted", "Submit (No Archive)": "Submit (No Archive)", "Submit ECL to HPCC Platform": "Submit ECL to HPCC Platform", "Submit Raw ECL to HPCC Platform": "Submit Raw ECL to HPCC Platform", @@ -114,13 +123,13 @@ "Terminal": "Terminal", "Uninstall": "Uninstall", "Uninstall Bundle": "Uninstall Bundle", - "Unprotect Workunit": "Unprotect Workunit", "User ID": "User ID", "User password": "User password", "Verify ECL Digital Signature": "Verify ECL Digital Signature", "Verify ECL Signature": "Verify ECL Signature", "View Dashboard": "View Dashboard", "View ECL Markdown": "View ECL Markdown", + "Waiting": "Waiting", "Write eclcc log file to specified file": "Write eclcc log file to specified file", "eclcc syntax check arguments": "eclcc syntax check arguments" } \ No newline at end of file diff --git a/src/ecl/eclWatchTree.ts b/src/ecl/eclWatchTree.ts index ab5ac819..34730962 100644 --- a/src/ecl/eclWatchTree.ts +++ b/src/ecl/eclWatchTree.ts @@ -1,4 +1,4 @@ -import { Workunit, WUStateID, Result, WUInfo, WUDetails } from "@hpcc-js/comms"; +import { Workunit, WUStateID, Result, WUInfo, WorkunitsService } from "@hpcc-js/comms"; import * as vscode from "vscode"; import { sessionManager } from "../hpccplatform/session"; import localize from "../util/localize"; @@ -93,14 +93,52 @@ export class ECLWatchTree extends Tree { wuNode.delete(); }); - vscode.commands.registerCommand("hpccPlatform.protectWU", (wuNode: ECLWUNode) => { - wuNode.protect(); - this.refresh(); + vscode.commands.registerCommand("hpccPlatform.setStateCompiled", (wuNode: ECLWUNode) => { + wuNode.setStateCompiled(); }); - vscode.commands.registerCommand("hpccPlatform.unprotectWU", (wuNode: ECLWUNode) => { - wuNode.unprotect(); - this.refresh(); + vscode.commands.registerCommand("hpccPlatform.setStateRunning", (wuNode: ECLWUNode) => { + wuNode.setStateRunning(); + }); + + vscode.commands.registerCommand("hpccPlatform.setStateCompleted", (wuNode: ECLWUNode) => { + wuNode.setStateCompleted(); + }); + + vscode.commands.registerCommand("hpccPlatform.setStateFailed", (wuNode: ECLWUNode) => { + wuNode.setStateFailed(); + }); + + vscode.commands.registerCommand("hpccPlatform.setStateArchived", (wuNode: ECLWUNode) => { + wuNode.setStateArchived(); + }); + + vscode.commands.registerCommand("hpccPlatform.setStateAborting", (wuNode: ECLWUNode) => { + wuNode.setStateAborting(); + }); + + vscode.commands.registerCommand("hpccPlatform.setStateAborted", (wuNode: ECLWUNode) => { + wuNode.setStateAborted(); + }); + + vscode.commands.registerCommand("hpccPlatform.setStateBlocked", (wuNode: ECLWUNode) => { + wuNode.setStateBlocked(); + }); + + vscode.commands.registerCommand("hpccPlatform.setStateSubmitted", (wuNode: ECLWUNode) => { + wuNode.setStateSubmitted(); + }); + + vscode.commands.registerCommand("hpccPlatform.setStateScheduled", (wuNode: ECLWUNode) => { + wuNode.setStateScheduled(); + }); + + vscode.commands.registerCommand("hpccPlatform.setStateCompiling", (wuNode: ECLWUNode) => { + wuNode.setStateCompiling(); + }); + + vscode.commands.registerCommand("hpccPlatform.setStateWait", (wuNode: ECLWUNode) => { + wuNode.setStateWait(); }); } @@ -410,12 +448,60 @@ export class ECLWUNode extends Item { this._wu.abort().then(() => this._tree._onDidChangeTreeData.fire(this)); } - protect() { - this._wu.protect(); + setState(stateID: WUStateID) { + const service = new WorkunitsService({ baseUrl: this._wu.BaseUrl }); + return service.WUUpdate({ + Wuid: this._wu.Wuid, + State: stateID as unknown as string + }).then(() => this._tree.refresh()); + } + + setStateCompiled() { + this.setState(WUStateID.Compiled); + } + + setStateRunning() { + this.setState(WUStateID.Running); + } + + setStateCompleted() { + this.setState(WUStateID.Completed); + } + + setStateFailed() { + this.setState(WUStateID.Failed); + } + + setStateArchived() { + this.setState(WUStateID.Archived); + } + + setStateAborting() { + this.setState(WUStateID.Aborting); + } + + setStateAborted() { + this.setState(WUStateID.Aborted); + } + + setStateBlocked() { + this.setState(WUStateID.Blocked); + } + + setStateSubmitted() { + this.setState(WUStateID.Submitted); + } + + setStateScheduled() { + this.setState(WUStateID.Scheduled); + } + + setStateCompiling() { + this.setState(WUStateID.Compiling); } - unprotect() { - this._wu.unprotect(); + setStateWait() { + this.setState(WUStateID.Wait); } delete() { @@ -439,8 +525,7 @@ export class ECLWUNode extends Item { } contextValue(): string { - const prot = this._wu.Protected ? "Protected" : "Unprotected"; - return this._wu.isComplete() ? `ECLWUNodeComplete,${prot}` : `ECLWUNode,${prot}`; + return this._wu.isComplete() ? "ECLWUNodeComplete" : "ECLWUNode"; } }