From 14332079cbc4ad3392520b72f7949a6e90e89d2e Mon Sep 17 00:00:00 2001 From: Mike Phares Date: Thu, 6 Mar 2025 22:25:34 -0700 Subject: [PATCH] ## 1.118.0 --- type-script-helper/README.md | 6 + type-script-helper/package.json | 12 +- .../src/WebviewPanelCostOfDelay.ts | 201 ++++++++++-------- type-script-helper/src/extension.ts | 2 + 4 files changed, 129 insertions(+), 92 deletions(-) diff --git a/type-script-helper/README.md b/type-script-helper/README.md index a4d08cf..e020cb3 100644 --- a/type-script-helper/README.md +++ b/type-script-helper/README.md @@ -220,3 +220,9 @@ None ----------------------------------------------------------------------------------------------------------- - Close active after opening Sub-Kanban when directory found + + +## 1.118.0 1741303103654 = 638768999036540000 = 2025-0.Winter = Thu Mar 06 2025 16:18:23 GMT-0700 (Mountain Standard Time) +----------------------------------------------------------------------------------------------------------- + +- Add search page for Backlog diff --git a/type-script-helper/package.json b/type-script-helper/package.json index 257173b..afd7ac8 100644 --- a/type-script-helper/package.json +++ b/type-script-helper/package.json @@ -87,6 +87,11 @@ "command": "kanban.openWithTextEditor", "title": "Open with Text Editor Kanban" }, + { + "category": "Leominster", + "command": "webview.backlogLeominster", + "title": "Backlog (Bugs & Features with parents)" + }, { "category": "Leominster", "command": "webview.costOfDelayLeominster", @@ -112,6 +117,11 @@ "command": "markdown.newMarkdownFile", "title": "New Markdown File" }, + { + "category": "Mesa", + "command": "webview.backlogMesa", + "title": "Backlog (Bugs & Features with parents)" + }, { "category": "Mesa", "command": "webview.costOfDelayMesa", @@ -323,5 +333,5 @@ "watch": "concurrently \"rollup -c -w\" \"webpack --watch --config ./build/node-extension.webpack.config.js\"", "webpack": "webpack --config ./build/node-extension.webpack.config.js" }, - "version": "1.117.0" + "version": "1.118.0" } \ No newline at end of file diff --git a/type-script-helper/src/WebviewPanelCostOfDelay.ts b/type-script-helper/src/WebviewPanelCostOfDelay.ts index 8506a86..1b1fba4 100644 --- a/type-script-helper/src/WebviewPanelCostOfDelay.ts +++ b/type-script-helper/src/WebviewPanelCostOfDelay.ts @@ -10,6 +10,7 @@ export class WebviewPanelCostOfDelay { */ public static _site: string; public static _view: string; + public static _title: string; public static currentPanel: WebviewPanelCostOfDelay | undefined; public static readonly viewType = "web-view-panel"; @@ -24,18 +25,20 @@ export class WebviewPanelCostOfDelay { ? vscode.window.activeTextEditor.viewColumn : undefined; - // If we already have a panel, show it. - if (WebviewPanelCostOfDelay.currentPanel) { - WebviewPanelCostOfDelay.currentPanel._panel.reveal(column); - WebviewPanelCostOfDelay.currentPanel._update(site, view); - return; - } - const title = view === '' ? 'Cost of Delay (CoD)' : view === 'EFFORT' ? 'Effort' : view === 'LIVE' ? 'Cost of Delay (CoD) - Live Update' : - view === 'WSJF' ? 'Weightest Shortest Job First calculation (WSJF)' : - 'CoD'; + view === 'HTML' ? 'Backlog (Bugs & Features with parents)' : + view === 'WSJF' ? 'Weightest Shortest Job First calculation (WSJF)' : + 'CoD'; + this._title = title; + + // If we already have a panel, show it. + if (WebviewPanelCostOfDelay.currentPanel) { + WebviewPanelCostOfDelay.currentPanel._panel.reveal(column); + WebviewPanelCostOfDelay.currentPanel._update(site, title, view); + return; + } // Otherwise, create a new panel. const panel = vscode.window.createWebviewPanel( @@ -54,7 +57,7 @@ export class WebviewPanelCostOfDelay { } ); - WebviewPanelCostOfDelay.currentPanel = new WebviewPanelCostOfDelay(panel, extensionContext, site, view); + WebviewPanelCostOfDelay.currentPanel = new WebviewPanelCostOfDelay(extensionContext, panel, site, title, view); } public static kill() { @@ -63,13 +66,13 @@ export class WebviewPanelCostOfDelay { } public static revive(panel: vscode.WebviewPanel, extensionContext: vscode.ExtensionContext) { - WebviewPanelCostOfDelay.currentPanel = new WebviewPanelCostOfDelay(panel, extensionContext, this._site, this._view); + WebviewPanelCostOfDelay.currentPanel = new WebviewPanelCostOfDelay(extensionContext, panel, this._site, this._title, this._view); } - private constructor(private readonly _panel: vscode.WebviewPanel, private readonly _extensionContext: vscode.ExtensionContext, site: string, view: string) { + private constructor(private readonly _extensionContext: vscode.ExtensionContext, private readonly _panel: vscode.WebviewPanel, site: string, title: string, view: string) { // Set the webview's initial html content - this._update(site, view); + this._update(site, title, view); // Listen for when the panel is disposed // This happens when the user closes the panel or when the panel is closed programmatically @@ -103,10 +106,10 @@ export class WebviewPanelCostOfDelay { } } - private async _update(site: string, view: string) { + private async _update(site: string, title: string, view: string) { const webview = this._panel.webview; - this._panel.webview.html = this._getHtmlForWebview(site, view, webview); + this._panel.webview.html = this._getHtmlForWebview(site, title, view, webview); webview.onDidReceiveMessage(async (postMessage: PostMessage) => { switch (postMessage.type) { case "on-info": @@ -126,92 +129,108 @@ export class WebviewPanelCostOfDelay { }); } - private _getHtmlForWebview(site: string, view: string, webview: vscode.Webview) { + private _getHtmlForWebview(site: string, title: string, view: string, webview: vscode.Webview) { const baseUri = 'https://eaf-dev.mes.infineon.com'; - const styleBootstrapUri = webview.asWebviewUri( - vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "bootstrap.min.css") - ); - const styleCostOfDelayUri = webview.asWebviewUri( - vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "cod.css") - ); - const scriptJQueryUri = webview.asWebviewUri( - vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "jquery-1.6.4.min.js") - ); - const scriptSignalRUri = webview.asWebviewUri( - vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "jquery.signalR-2.4.3.min.js") - ); - const scriptCostOfDelayUri = webview.asWebviewUri( - vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "cost-of-delay.js") - ); + if (view === 'HTML') { + return ` + + + + + Infineon - ${title} + + + + +`; + } + else { + const styleBootstrapUri = webview.asWebviewUri( + vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "bootstrap.min.css") + ); + const styleCostOfDelayUri = webview.asWebviewUri( + vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "cod.css") + ); + const scriptJQueryUri = webview.asWebviewUri( + vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "jquery-1.6.4.min.js") + ); + const scriptSignalRUri = webview.asWebviewUri( + vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "jquery.signalR-2.4.3.min.js") + ); + const scriptCostOfDelayUri = webview.asWebviewUri( + vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "cost-of-delay.js") + ); - // Use a nonce to only allow a specific script to be run. - const nonce = getNonce(); + // Use a nonce to only allow a specific script to be run. + const nonce = getNonce(); - return ` - + return ` + - - - - Infineon - Cost of Delay (CoD) (see @SCALE formula) - - - - - - - - + + + + Infineon - ${title} + + + + + + + + - - -
-
-
-
+ + +
+
+
+
-
  +
  -
-
-
+
+
+
- -
+ +
- - + + - `; +`; + } } } diff --git a/type-script-helper/src/extension.ts b/type-script-helper/src/extension.ts index 5db3f3f..6cb06e5 100644 --- a/type-script-helper/src/extension.ts +++ b/type-script-helper/src/extension.ts @@ -162,10 +162,12 @@ export async function activate(extensionContext: vscode.ExtensionContext) { vscode.commands.registerCommand('replaceLinesHelper.unwrapSql', replaceLinesHelper.unwrapSql), vscode.commands.registerCommand('replaceLinesHelper.wrapSqlCSharp', replaceLinesHelper.wrapSqlCSharp), vscode.commands.registerCommand('replaceLinesHelper.wrapSqlVB', replaceLinesHelper.wrapSqlVB), + vscode.commands.registerCommand("webview.backlogMesa", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'MES', 'HTML'); }), vscode.commands.registerCommand("webview.costOfDelayMesa", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'MES', ''); }), vscode.commands.registerCommand("webview.costOfDelayEffortMesa", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'MES', 'EFFORT'); }), vscode.commands.registerCommand("webview.costOfDelayLiveMesa", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'MES', 'LIVE'); }), vscode.commands.registerCommand("webview.costOfDelayWSJFMesa", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'MES', 'WSJF'); }), + vscode.commands.registerCommand("webview.backlogLeominster", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'LEO', 'HTML'); }), vscode.commands.registerCommand("webview.costOfDelayLeominster", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'LEO', ''); }), vscode.commands.registerCommand("webview.costOfDelayEffortLeominster", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'LEO', 'EFFORT'); }), vscode.commands.registerCommand("webview.costOfDelayLiveLeominster", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'LEO', 'LIVE'); }),