## 1.118.0
This commit is contained in:
parent
d649b52345
commit
14332079cb
@ -220,3 +220,9 @@ None
|
|||||||
-----------------------------------------------------------------------------------------------------------
|
-----------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
- Close active after opening Sub-Kanban when directory found
|
- 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
|
||||||
|
@ -87,6 +87,11 @@
|
|||||||
"command": "kanban.openWithTextEditor",
|
"command": "kanban.openWithTextEditor",
|
||||||
"title": "Open with Text Editor Kanban"
|
"title": "Open with Text Editor Kanban"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"category": "Leominster",
|
||||||
|
"command": "webview.backlogLeominster",
|
||||||
|
"title": "Backlog (Bugs & Features with parents)"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"category": "Leominster",
|
"category": "Leominster",
|
||||||
"command": "webview.costOfDelayLeominster",
|
"command": "webview.costOfDelayLeominster",
|
||||||
@ -112,6 +117,11 @@
|
|||||||
"command": "markdown.newMarkdownFile",
|
"command": "markdown.newMarkdownFile",
|
||||||
"title": "New Markdown File"
|
"title": "New Markdown File"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"category": "Mesa",
|
||||||
|
"command": "webview.backlogMesa",
|
||||||
|
"title": "Backlog (Bugs & Features with parents)"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"category": "Mesa",
|
"category": "Mesa",
|
||||||
"command": "webview.costOfDelayMesa",
|
"command": "webview.costOfDelayMesa",
|
||||||
@ -323,5 +333,5 @@
|
|||||||
"watch": "concurrently \"rollup -c -w\" \"webpack --watch --config ./build/node-extension.webpack.config.js\"",
|
"watch": "concurrently \"rollup -c -w\" \"webpack --watch --config ./build/node-extension.webpack.config.js\"",
|
||||||
"webpack": "webpack --config ./build/node-extension.webpack.config.js"
|
"webpack": "webpack --config ./build/node-extension.webpack.config.js"
|
||||||
},
|
},
|
||||||
"version": "1.117.0"
|
"version": "1.118.0"
|
||||||
}
|
}
|
@ -10,6 +10,7 @@ export class WebviewPanelCostOfDelay {
|
|||||||
*/
|
*/
|
||||||
public static _site: string;
|
public static _site: string;
|
||||||
public static _view: string;
|
public static _view: string;
|
||||||
|
public static _title: string;
|
||||||
public static currentPanel: WebviewPanelCostOfDelay | undefined;
|
public static currentPanel: WebviewPanelCostOfDelay | undefined;
|
||||||
|
|
||||||
public static readonly viewType = "web-view-panel";
|
public static readonly viewType = "web-view-panel";
|
||||||
@ -24,18 +25,20 @@ export class WebviewPanelCostOfDelay {
|
|||||||
? vscode.window.activeTextEditor.viewColumn
|
? vscode.window.activeTextEditor.viewColumn
|
||||||
: undefined;
|
: 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)' :
|
const title = view === '' ? 'Cost of Delay (CoD)' :
|
||||||
view === 'EFFORT' ? 'Effort' :
|
view === 'EFFORT' ? 'Effort' :
|
||||||
view === 'LIVE' ? 'Cost of Delay (CoD) - Live Update' :
|
view === 'LIVE' ? 'Cost of Delay (CoD) - Live Update' :
|
||||||
view === 'WSJF' ? 'Weightest Shortest Job First calculation (WSJF)' :
|
view === 'HTML' ? 'Backlog (Bugs & Features with parents)' :
|
||||||
'CoD';
|
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.
|
// Otherwise, create a new panel.
|
||||||
const panel = vscode.window.createWebviewPanel(
|
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() {
|
public static kill() {
|
||||||
@ -63,13 +66,13 @@ export class WebviewPanelCostOfDelay {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static revive(panel: vscode.WebviewPanel, extensionContext: vscode.ExtensionContext) {
|
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
|
// Set the webview's initial html content
|
||||||
this._update(site, view);
|
this._update(site, title, view);
|
||||||
|
|
||||||
// Listen for when the panel is disposed
|
// Listen for when the panel is disposed
|
||||||
// This happens when the user closes the panel or when the panel is closed programmatically
|
// 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;
|
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) => {
|
webview.onDidReceiveMessage(async (postMessage: PostMessage) => {
|
||||||
switch (postMessage.type) {
|
switch (postMessage.type) {
|
||||||
case "on-info":
|
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 baseUri = 'https://eaf-dev.mes.infineon.com';
|
||||||
|
|
||||||
const styleBootstrapUri = webview.asWebviewUri(
|
if (view === 'HTML') {
|
||||||
vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "bootstrap.min.css")
|
return `<!DOCTYPE html>
|
||||||
);
|
<html lang="en">
|
||||||
const styleCostOfDelayUri = webview.asWebviewUri(
|
<head>
|
||||||
vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "cod.css")
|
<meta charset="UTF-8">
|
||||||
);
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
const scriptJQueryUri = webview.asWebviewUri(
|
<title>Infineon - ${title}</title>
|
||||||
vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "jquery-1.6.4.min.js")
|
</head>
|
||||||
);
|
<body>
|
||||||
const scriptSignalRUri = webview.asWebviewUri(
|
<iframe width="100%" style="height: 100vh;" src="${baseUri}/html/mes.html?site=${site}" title="${title}">
|
||||||
vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "jquery.signalR-2.4.3.min.js")
|
</iframe>
|
||||||
);
|
</body>
|
||||||
const scriptCostOfDelayUri = webview.asWebviewUri(
|
</html>`;
|
||||||
vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "cost-of-delay.js")
|
}
|
||||||
);
|
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.
|
// Use a nonce to only allow a specific script to be run.
|
||||||
const nonce = getNonce();
|
const nonce = getNonce();
|
||||||
|
|
||||||
return `<!DOCTYPE html>
|
return `<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Infineon - Cost of Delay (CoD) (see @SCALE formula)</title>
|
<title>Infineon - ${title}</title>
|
||||||
<link href="${styleBootstrapUri}" rel="stylesheet" />
|
<link href="${styleBootstrapUri}" rel="stylesheet" />
|
||||||
<link href="${styleCostOfDelayUri}" rel="stylesheet" />
|
<link href="${styleCostOfDelayUri}" rel="stylesheet" />
|
||||||
<script nonce="${nonce}" src="${scriptJQueryUri}"></script>
|
<script nonce="${nonce}" src="${scriptJQueryUri}"></script>
|
||||||
<script nonce="${nonce}" src="${scriptSignalRUri}"></script>
|
<script nonce="${nonce}" src="${scriptSignalRUri}"></script>
|
||||||
<script nonce="${nonce}" src="${baseUri}/signalr/hubs"></script>
|
<script nonce="${nonce}" src="${baseUri}/signalr/hubs"></script>
|
||||||
<script nonce="${nonce}" src="${baseUri}/js/cod-b.js?v=2025-01-22-10-49" type="text/javascript"></script>
|
<script nonce="${nonce}" src="${baseUri}/js/cod-b.js?v=2025-01-22-10-49" type="text/javascript"></script>
|
||||||
<script nonce="${nonce}">
|
<script nonce="${nonce}">
|
||||||
const _webviewSite = '${site}';
|
const _webviewSite = '${site}';
|
||||||
const _webviewView = '${view}';
|
const _webviewView = '${view}';
|
||||||
const acquiredVsCodeApi = acquireVsCodeApi();
|
const acquiredVsCodeApi = acquireVsCodeApi();
|
||||||
const apiBaseUrl = ${JSON.stringify(apiBaseUrl)}
|
const apiBaseUrl = ${JSON.stringify(apiBaseUrl)}
|
||||||
const _webviewUsername = '${process.env.USERNAME}';
|
const _webviewUsername = '${process.env.USERNAME}';
|
||||||
const _webviewMachineId = '${vscode.env.machineId}';
|
const _webviewMachineId = '${vscode.env.machineId}';
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div class="navbar navbar-fixed-top">
|
<div class="navbar navbar-fixed-top">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="navbar-header">
|
<div class="navbar-header">
|
||||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
</button>
|
</button>
|
||||||
<div class="navbar-brand">
|
<div class="navbar-brand">
|
||||||
<span id="siteHeader"> </span> -
|
<span id="siteHeader"> </span> -
|
||||||
<span id="th-span"> </span>
|
<span id="th-span"> </span>
|
||||||
<button id="toggle">Toggle</button>
|
<button id="toggle">Toggle</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="navbar-collapse collapse">
|
<div class="navbar-collapse collapse">
|
||||||
<ul class="nav navbar-nav">
|
<ul class="nav navbar-nav">
|
||||||
</ul>
|
</ul>
|
||||||
<p class="navbar-text navbar-right">
|
<p class="navbar-text navbar-right">
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="container-fluid body-content" style="margin-top: 40px; margin-left: 15px;">
|
<div class="container-fluid body-content" style="margin-top: 40px; margin-left: 15px;">
|
||||||
<div id="HeaderGridDiv">
|
<div id="HeaderGridDiv">
|
||||||
<table id="HeaderGrid" border="1"></table>
|
<table id="HeaderGrid" border="1"></table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<div id="AllGridDiv">
|
<div id="AllGridDiv">
|
||||||
<table id="AllGrid"></table>
|
<table id="AllGrid"></table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<textarea id="AllTextarea" rows="20" cols="147"></textarea>
|
<textarea id="AllTextarea" rows="20" cols="147"></textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script nonce="${nonce}" src="${scriptCostOfDelayUri}"></script>
|
<script nonce="${nonce}" src="${scriptCostOfDelayUri}"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>`;
|
</html>`;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -162,10 +162,12 @@ export async function activate(extensionContext: vscode.ExtensionContext) {
|
|||||||
vscode.commands.registerCommand('replaceLinesHelper.unwrapSql', replaceLinesHelper.unwrapSql),
|
vscode.commands.registerCommand('replaceLinesHelper.unwrapSql', replaceLinesHelper.unwrapSql),
|
||||||
vscode.commands.registerCommand('replaceLinesHelper.wrapSqlCSharp', replaceLinesHelper.wrapSqlCSharp),
|
vscode.commands.registerCommand('replaceLinesHelper.wrapSqlCSharp', replaceLinesHelper.wrapSqlCSharp),
|
||||||
vscode.commands.registerCommand('replaceLinesHelper.wrapSqlVB', replaceLinesHelper.wrapSqlVB),
|
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.costOfDelayMesa", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'MES', ''); }),
|
||||||
vscode.commands.registerCommand("webview.costOfDelayEffortMesa", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'MES', 'EFFORT'); }),
|
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.costOfDelayLiveMesa", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'MES', 'LIVE'); }),
|
||||||
vscode.commands.registerCommand("webview.costOfDelayWSJFMesa", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'MES', 'WSJF'); }),
|
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.costOfDelayLeominster", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'LEO', ''); }),
|
||||||
vscode.commands.registerCommand("webview.costOfDelayEffortLeominster", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'LEO', 'EFFORT'); }),
|
vscode.commands.registerCommand("webview.costOfDelayEffortLeominster", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'LEO', 'EFFORT'); }),
|
||||||
vscode.commands.registerCommand("webview.costOfDelayLiveLeominster", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'LEO', 'LIVE'); }),
|
vscode.commands.registerCommand("webview.costOfDelayLiveLeominster", () => { WebviewPanelCostOfDelay.WebviewPanelCostOfDelay.createOrShow(extensionContext, 'LEO', 'LIVE'); }),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user