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 ` + +
+ + +