From d3de69642f70c5976da593d08c99051259aa1d2e Mon Sep 17 00:00:00 2001 From: David de Hilster Date: Wed, 13 Dec 2023 14:50:58 -0500 Subject: [PATCH] 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 | 22 ++- 4 files changed, 231 insertions(+), 186 deletions(-) diff --git a/package-lock.json b/package-lock.json index ad36fb5..1cef818 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 01712dc..0971600 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.87.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": "view == hpccPlatform && viewItem =~ /ECLWUNodeUnprotected/", + "command": "hpccPlatform.protectWU", + "group": "3action@930" + }, + { + "when": "view == hpccPlatform && viewItem =~ /ECLWUNodeProtected/", + "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 4a93743..0457432 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 4dff815..93f7af5 100644 --- a/src/ecl/eclWatchTree.ts +++ b/src/ecl/eclWatchTree.ts @@ -93,6 +93,14 @@ export class ECLWatchTree extends Tree { wuNode.delete(); }); + vscode.commands.registerCommand("hpccPlatform.protectWU", (wuNode: ECLWUNode) => { + wuNode.protect(); + }); + + vscode.commands.registerCommand("hpccPlatform.unprotectWU", (wuNode: ECLWUNode) => { + wuNode.unprotect(); + }); + } static attach(ctx: vscode.ExtensionContext) { @@ -329,6 +337,9 @@ export class ECLWUNode extends Item { primary = this._wu.Jobname; extras.push(this._wu.Wuid); } + if (this._wu.Protected) { + extras.push("Protected"); + } return extras.length ? `${primary} (${extras.join(", ")})` : primary; } @@ -400,6 +411,14 @@ export class ECLWUNode extends Item { this._wu.abort().then(() => this._tree._onDidChangeTreeData.fire(this)); } + protect() { + this._wu.protect().then(() => this._tree.refresh()); + } + + unprotect() { + this._wu.unprotect().then(() => this._tree.refresh()); + } + delete() { this._wu.delete().then(() => this._tree.refresh()); } @@ -421,7 +440,8 @@ export class ECLWUNode extends Item { } contextValue(): string { - return this._wu.isComplete() ? "ECLWUNodeComplete" : "ECLWUNode"; + const prot = this._wu.Protected ? ",ECLWUNodeProtected" : ",ECLWUNodeUnprotected"; + return this._wu.isComplete() ? `ECLWUNodeComplete${prot}` : `ECLWUNode${prot}`; } }