Bump
AzureDevOpsRepository Markdown links Ticks bug fix, default to *.wc files and formatting
This commit is contained in:
BIN
Static/favicon.ico
Normal file
BIN
Static/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
@ -6,25 +6,25 @@
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>File(s)</title>
|
||||
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-06-18-10-54" type="text/javascript"></script>
|
||||
<script src="/js/modernizr-3.6.0-custom.js?no-cache=2024-10-04-08-34" type="text/javascript"></script>
|
||||
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-06-18-10-54" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-06-18-10-54"
|
||||
<link href="/styles/bootstrap.min.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?no-cache=2024-10-04-08-34"
|
||||
rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-06-18-10-54" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-06-18-10-54" rel="stylesheet" />
|
||||
<link href="/styles/index.css?no-cache=2024-06-18-10-54" rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||
<link href="/styles/site-server.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||
<link href="/styles/files.css?no-cache=2024-10-04-08-34" rel="stylesheet" />
|
||||
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-06-18-10-54" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-06-18-10-54" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-06-18-10-54" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-06-18-10-54" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-06-18-10-54" type="text/javascript"></script>
|
||||
<script src="/js/jquery-3.6.0.min.js?no-cache=2024-10-04-08-34" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?no-cache=2024-10-04-08-34" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?no-cache=2024-10-04-08-34" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?no-cache=2024-10-04-08-34" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?no-cache=2024-10-04-08-34" type="text/javascript"></script>
|
||||
|
||||
<script src="/js/chart-4.3.0.min.js" type="module"></script>
|
||||
|
||||
<script src="/js/common.js?no-cache=2024-06-18-10-54" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-06-18-10-54" type="text/javascript"></script>
|
||||
<script src="/js/common.js?no-cache=2024-10-04-08-34" type="text/javascript"></script>
|
||||
<script src="/js/site-server.js?no-cache=2024-10-04-08-34" type="text/javascript"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@ -64,7 +64,7 @@
|
||||
|
||||
<form class="form-inline mb-4">
|
||||
<div class="form-group">
|
||||
<label for="ToolType">Tool Type</label>
|
||||
<label for="ToolType">Tool</label>
|
||||
<div class="form-control" id="ToolType"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@ -94,7 +94,7 @@
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div style="height: 300px;" id="HeaderGridDiv">
|
||||
<div style="height: 500px;" id="HeaderGridDiv">
|
||||
<span id="ToolTypeID" hidden></span>
|
||||
<table id="HeaderGrid"></table>
|
||||
</div>
|
||||
@ -103,46 +103,14 @@
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="GetDataButton" value="Get Data" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ReviewButton" value="Review" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="RecipeParametersButton" value="Parameters" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="ViewButton" value="View" disabled />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="PinButton" value="Pin" disabled />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="DetailsDiv" hidden>
|
||||
|
||||
<span id="HeaderId" hidden></span>
|
||||
<span id="HeaderAttachmentId" hidden></span>
|
||||
<div style="padding-bottom: 20px;" id="DetailsGridDiv">
|
||||
<table id="DetailsGrid"></table>
|
||||
</div>
|
||||
|
||||
<div id="ExportDiv" style="margin-top: 10px;" hidden>
|
||||
<input type="button" value="Send to OpenInsight" id="OIExportButton" />
|
||||
<span id="OIExportResult" style="margin-left: 10px; font-weight: bold; color: #366b02;"></span>
|
||||
</div>
|
||||
|
||||
<p style="margin-top: 20px;">
|
||||
<iframe id="DataAttachmentFrame" style="height:900px; border-width:thin; margin-right: 10px;"
|
||||
hidden></iframe>
|
||||
<iframe id="HeaderAttachmentFrame" style="height:900px; border-width:thin;" hidden></iframe>
|
||||
|
||||
<div id="DataAttachmentDiv" hidden>
|
||||
<canvas id="DataAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
<div id="HeaderAttachmentDiv" hidden>
|
||||
<canvas id="HeaderAttachmentCanvas"></canvas>
|
||||
</div>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@ -153,9 +121,9 @@
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-06-18-10-54" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-06-18-10-54" type="text/javascript"></script>
|
||||
<script src="/js/files.js?no-cache=2024-06-18-10-54" type="text/javascript"></script>
|
||||
<script src="/js/bootstrap.min.js?no-cache=2024-10-04-08-34" type="text/javascript"></script>
|
||||
<script src="/js/respond.min.js?no-cache=2024-10-04-08-34" type="text/javascript"></script>
|
||||
<script src="/js/files.js?no-cache=2024-10-04-08-34" type="text/javascript"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,10 +1,5 @@
|
||||
$(document).ready(function () {
|
||||
|
||||
const queryString = window.location.search;
|
||||
const urlParams = new URLSearchParams(queryString);
|
||||
const initialHeaderId = urlParams.get('headerid');
|
||||
const initialToolTypeID = urlParams.get('tooltypeid');
|
||||
const initialHeaderAttachmentId = urlParams.get('headerattachmentid');
|
||||
initFiles("https://oi-metrology-viewer-prod.mes.infineon.com:4433/api", "https://oi-metrology-viewer-prod.mes.infineon.com", initialToolTypeID, initialHeaderId, initialHeaderAttachmentId);
|
||||
initFiles("https://oi-metrology-viewer-prod.mes.infineon.com:4438/api", "https://oi-metrology-viewer-prod.mes.infineon.com", "https://eaf-prod.mes.infineon.com:4439");
|
||||
|
||||
});
|
161
Static/js/leo.js
161
Static/js/leo.js
@ -1,161 +0,0 @@
|
||||
function compareFunction(a, b) {
|
||||
return a.Priority[0] - b.Priority[0] || a.TimeCriticality[0] - b.TimeCriticality[0] || b.State[0] - a.State[0] || a.Id - b.Id;
|
||||
}
|
||||
|
||||
function showOne(rowData) {
|
||||
if (rowData == null)
|
||||
return;
|
||||
var data = [];
|
||||
data.push({ name: "ADO Edit", value: '<a target="_blank" href="https://tfs.intra.infineon.com/tfs/FactoryIntegration/ART%20SPS/_workitems/edit/' + rowData["Id"] + '">' + rowData["Id"] + '</a>' });
|
||||
for (const property in rowData) {
|
||||
if (rowData[property] == null)
|
||||
continue;
|
||||
data.push({ name: property, value: rowData[property].toString() });
|
||||
}
|
||||
$("#AllGrid").igGrid({
|
||||
autoGenerateColumns: true,
|
||||
dataSource: data,
|
||||
width: "100%",
|
||||
showHeader: false,
|
||||
});
|
||||
}
|
||||
|
||||
function loadOne() {
|
||||
var selectedRow = $("#HeaderGrid").data("igGridSelection").selectedRow();
|
||||
if (selectedRow == null)
|
||||
return;
|
||||
var rowData = $("#HeaderGrid").data("igGrid").dataSource.dataView()[selectedRow.index];
|
||||
showOne(rowData);
|
||||
}
|
||||
|
||||
function detailSelectionChangedRunInfo(evt, ui) {
|
||||
if (ui.row.index === 0)
|
||||
return;
|
||||
var rowData = ui.owner.grid.dataSource.dataView()[ui.row.index];
|
||||
showOne(rowData);
|
||||
}
|
||||
|
||||
function getState(state) {
|
||||
var result;
|
||||
if (state == null)
|
||||
result = "9-Null";
|
||||
else if (state === "New")
|
||||
result = `1-${state}`;
|
||||
else if (state === "Active")
|
||||
result = `2-${state}`;
|
||||
else if (state === "Resolved")
|
||||
result = `3-${state}`;
|
||||
else if (state === "Closed")
|
||||
result = `4-${state}`;
|
||||
else if (state === "Removed")
|
||||
result = `5-${state}`;
|
||||
else
|
||||
result = `8-${state}`;
|
||||
return result;
|
||||
}
|
||||
|
||||
function getPriority(workItemType, priority) {
|
||||
var result;
|
||||
if (workItemType === "Bug")
|
||||
result = "0-Bug";
|
||||
else if (priority == null || priority === 0)
|
||||
result = "9-Null";
|
||||
else if (priority === 1)
|
||||
result = `${priority}-High`;
|
||||
else if (priority === 2)
|
||||
result = `${priority}-Med`;
|
||||
else if (priority === 3)
|
||||
result = `${priority}-Low`;
|
||||
else if (priority === 4)
|
||||
result = `${priority}-TBD`;
|
||||
else
|
||||
result = "8-Not";
|
||||
return result;
|
||||
}
|
||||
|
||||
function getTimeCriticality(workItemType, timeCriticality) {
|
||||
var result;
|
||||
if (workItemType === "Bug")
|
||||
result = "0-Bug";
|
||||
else if (timeCriticality == null || timeCriticality === 0)
|
||||
result = "9-Null";
|
||||
else if (timeCriticality === 1)
|
||||
result = `${timeCriticality}-QSM`;
|
||||
else if (timeCriticality === 2)
|
||||
result = `${timeCriticality}-Qual`;
|
||||
else if (timeCriticality === 3)
|
||||
result = `${timeCriticality}-Eff`;
|
||||
else
|
||||
result = "8-Not";
|
||||
return result;
|
||||
}
|
||||
|
||||
function getWorkItems(data) {
|
||||
var workItems = [];
|
||||
var workItem;
|
||||
for (var i = data.length - 1; i > -1; i--) {
|
||||
workItem = data[i];
|
||||
if (workItem.AreaPath !== 'ART SPS\\LEO')
|
||||
continue;
|
||||
if (workItem.Tags != null && workItem.Tags.includes("Ignore"))
|
||||
continue;
|
||||
if (workItem.WorkItemType !== 'Feature' && workItem.WorkItemType !== 'Bug')
|
||||
continue;
|
||||
workItem["State"] = getState(workItem["State"])
|
||||
workItem["Priority"] = getPriority(workItem["WorkItemType"], workItem["Priority"])
|
||||
workItem["TimeCriticality"] = getTimeCriticality(workItem["WorkItemType"], workItem["TimeCriticality"])
|
||||
workItems.push(workItem);
|
||||
}
|
||||
workItems.sort(compareFunction);
|
||||
return workItems;
|
||||
}
|
||||
|
||||
function initIndex(url) {
|
||||
$.getJSON(url, { _: new Date().getTime() }, function (data) {
|
||||
var workItems = getWorkItems(data);
|
||||
console.log(data.length);
|
||||
if (data.length > 0)
|
||||
console.log(data[0]);
|
||||
$("#HeaderGrid").igGrid({
|
||||
autoGenerateColumns: false,
|
||||
dataSource: workItems,
|
||||
height: "100%",
|
||||
primaryKey: "Id",
|
||||
width: "100%",
|
||||
columns: [
|
||||
{ key: "Id", dataType: "number" },
|
||||
{ key: "Requester", dataType: "string" },
|
||||
{ headerText: "Assigned To", key: "AssignedTo", dataType: "string" },
|
||||
{ key: "Title", dataType: "string", width: "20%" },
|
||||
{ headerText: "System(s)", key: "Tags", dataType: "string" },
|
||||
{ key: "Priority", dataType: "string" },
|
||||
{ headerText: "Qual/Eff", key: "TimeCriticality", dataType: "string" },
|
||||
{ key: "State", dataType: "string" },
|
||||
{ headerText: "Effort in Days", key: "Effort", dataType: "number" },
|
||||
{ headerText: "UAT as of", key: "ResolvedDate", dataType: "date", format: "date" },
|
||||
{ headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" },
|
||||
{ headerText: "Target", key: "TargetDate", dataType: "date", format: "date" },
|
||||
{ key: "AreaPath", dataType: "string", hidden: true },
|
||||
{ key: "AssignedTo", dataType: "string", hidden: true },
|
||||
{ key: "BusinessValue", dataType: "number", hidden: true },
|
||||
{ key: "ChangedDate", dataType: "string", hidden: true },
|
||||
{ key: "CommentCount", dataType: "number", hidden: true },
|
||||
{ key: "CreatedDate", dataType: "string", hidden: true },
|
||||
{ key: "Description", dataType: "string", hidden: true },
|
||||
{ key: "IterationPath", dataType: "string", hidden: true },
|
||||
{ key: "Revision", dataType: "number", hidden: true },
|
||||
{ key: "RiskReductionMinusOpportunityEnablement", dataType: "string", hidden: true },
|
||||
{ key: "StartDate", dataType: "string", hidden: true },
|
||||
{ key: "WorkItemType", dataType: "string", hidden: true },
|
||||
{ key: "WeightedShortestJobFirst", dataType: "number", hidden: true },
|
||||
],
|
||||
features: [
|
||||
{ name: "Sorting", type: "local" },
|
||||
{ name: "Filtering", type: "local" },
|
||||
{ name: "Selection", mode: "row", multipleSelection: false, rowSelectionChanging: detailSelectionChangedRunInfo },
|
||||
{ name: "Paging", type: "local", recordCountKey: "TotalRows", pageSize: 10, pageSizeUrlKey: "pageSize", "pageIndexUrlKey": "page", showPageSizeDropDown: true },
|
||||
],
|
||||
});
|
||||
});
|
||||
$("#HeaderGrid").on("dblclick", "tr", loadOne);
|
||||
}
|
161
Static/js/mes.js
161
Static/js/mes.js
@ -1,161 +0,0 @@
|
||||
function compareFunction(a, b) {
|
||||
return a.Priority[0] - b.Priority[0] || a.TimeCriticality[0] - b.TimeCriticality[0] || b.State[0] - a.State[0] || a.Id - b.Id;
|
||||
}
|
||||
|
||||
function showOne(rowData) {
|
||||
if (rowData == null)
|
||||
return;
|
||||
var data = [];
|
||||
data.push({ name: "Edit in ADO", value: '<a target="_blank" href="https://tfs.intra.infineon.com/tfs/FactoryIntegration/ART%20SPS/_workitems/edit/' + rowData["Id"] + '">Edit in ADO ' + rowData["Id"] + '</a>' });
|
||||
for (const property in rowData) {
|
||||
if (rowData[property] == null)
|
||||
continue;
|
||||
data.push({ name: property, value: rowData[property].toString() });
|
||||
}
|
||||
$("#AllGrid").igGrid({
|
||||
autoGenerateColumns: true,
|
||||
dataSource: data,
|
||||
width: "100%",
|
||||
showHeader: false,
|
||||
});
|
||||
}
|
||||
|
||||
function loadOne() {
|
||||
var selectedRow = $("#HeaderGrid").data("igGridSelection").selectedRow();
|
||||
if (selectedRow == null)
|
||||
return;
|
||||
var rowData = $("#HeaderGrid").data("igGrid").dataSource.dataView()[selectedRow.index];
|
||||
showOne(rowData);
|
||||
}
|
||||
|
||||
function detailSelectionChangedRunInfo(evt, ui) {
|
||||
if (ui.row.index === 0)
|
||||
return;
|
||||
var rowData = ui.owner.grid.dataSource.dataView()[ui.row.index];
|
||||
showOne(rowData);
|
||||
}
|
||||
|
||||
function getState(state) {
|
||||
var result;
|
||||
if (state == null)
|
||||
result = "9-Null";
|
||||
else if (state === "New")
|
||||
result = `1-${state}`;
|
||||
else if (state === "Active")
|
||||
result = `2-${state}`;
|
||||
else if (state === "Resolved")
|
||||
result = `3-${state}`;
|
||||
else if (state === "Closed")
|
||||
result = `4-${state}`;
|
||||
else if (state === "Removed")
|
||||
result = `5-${state}`;
|
||||
else
|
||||
result = `8-${state}`;
|
||||
return result;
|
||||
}
|
||||
|
||||
function getPriority(workItemType, priority) {
|
||||
var result;
|
||||
if (workItemType === "Bug")
|
||||
result = "0-Bug";
|
||||
else if (priority == null || priority === 0)
|
||||
result = "9-Null";
|
||||
else if (priority === 1)
|
||||
result = `${priority}-High`;
|
||||
else if (priority === 2)
|
||||
result = `${priority}-Med`;
|
||||
else if (priority === 3)
|
||||
result = `${priority}-Low`;
|
||||
else if (priority === 4)
|
||||
result = `${priority}-TBD`;
|
||||
else
|
||||
result = "8-Not";
|
||||
return result;
|
||||
}
|
||||
|
||||
function getTimeCriticality(workItemType, timeCriticality) {
|
||||
var result;
|
||||
if (workItemType === "Bug")
|
||||
result = "0-Bug";
|
||||
else if (timeCriticality == null || timeCriticality === 0)
|
||||
result = "9-Null";
|
||||
else if (timeCriticality === 1)
|
||||
result = `${timeCriticality}-QSM`;
|
||||
else if (timeCriticality === 2)
|
||||
result = `${timeCriticality}-Qual`;
|
||||
else if (timeCriticality === 3)
|
||||
result = `${timeCriticality}-Eff`;
|
||||
else
|
||||
result = "8-Not";
|
||||
return result;
|
||||
}
|
||||
|
||||
function getWorkItems(data) {
|
||||
var workItems = [];
|
||||
var workItem;
|
||||
for (var i = data.length - 1; i > -1; i--) {
|
||||
workItem = data[i];
|
||||
if (workItem.AreaPath !== 'ART SPS\\MES')
|
||||
continue;
|
||||
if (workItem.Tags != null && workItem.Tags.includes("Ignore"))
|
||||
continue;
|
||||
if (workItem.WorkItemType !== 'Feature' && workItem.WorkItemType !== 'Bug')
|
||||
continue;
|
||||
workItem["State"] = getState(workItem["State"])
|
||||
workItem["Priority"] = getPriority(workItem["WorkItemType"], workItem["Priority"])
|
||||
workItem["TimeCriticality"] = getTimeCriticality(workItem["WorkItemType"], workItem["TimeCriticality"])
|
||||
workItems.push(workItem);
|
||||
}
|
||||
workItems.sort(compareFunction);
|
||||
return workItems;
|
||||
}
|
||||
|
||||
function initIndex(url) {
|
||||
$.getJSON(url, { _: new Date().getTime() }, function (data) {
|
||||
var workItems = getWorkItems(data);
|
||||
console.log(data.length);
|
||||
if (data.length > 0)
|
||||
console.log(data[0]);
|
||||
$("#HeaderGrid").igGrid({
|
||||
autoGenerateColumns: false,
|
||||
dataSource: workItems,
|
||||
height: "100%",
|
||||
primaryKey: "Id",
|
||||
width: "100%",
|
||||
columns: [
|
||||
{ key: "Id", dataType: "number" },
|
||||
{ key: "Requester", dataType: "string" },
|
||||
{ headerText: "Assigned To", key: "AssignedTo", dataType: "string" },
|
||||
{ key: "Title", dataType: "string", width: "20%" },
|
||||
{ headerText: "System(s)", key: "Tags", dataType: "string" },
|
||||
{ key: "Priority", dataType: "string" },
|
||||
{ headerText: "Qual/Eff", key: "TimeCriticality", dataType: "string" },
|
||||
{ key: "State", dataType: "string" },
|
||||
{ headerText: "Effort in Days", key: "Effort", dataType: "number" },
|
||||
{ headerText: "UAT as of", key: "ResolvedDate", dataType: "date", format: "date" },
|
||||
{ headerText: "CMP Date", key: "ClosedDate", dataType: "date", format: "date" },
|
||||
{ headerText: "Target", key: "TargetDate", dataType: "date", format: "date" },
|
||||
{ key: "AreaPath", dataType: "string", hidden: true },
|
||||
{ key: "AssignedTo", dataType: "string", hidden: true },
|
||||
{ key: "BusinessValue", dataType: "number", hidden: true },
|
||||
{ key: "ChangedDate", dataType: "string", hidden: true },
|
||||
{ key: "CommentCount", dataType: "number", hidden: true },
|
||||
{ key: "CreatedDate", dataType: "string", hidden: true },
|
||||
{ key: "Description", dataType: "string", hidden: true },
|
||||
{ key: "IterationPath", dataType: "string", hidden: true },
|
||||
{ key: "Revision", dataType: "number", hidden: true },
|
||||
{ key: "RiskReductionMinusOpportunityEnablement", dataType: "string", hidden: true },
|
||||
{ key: "StartDate", dataType: "string", hidden: true },
|
||||
{ key: "WorkItemType", dataType: "string", hidden: true },
|
||||
{ key: "WeightedShortestJobFirst", dataType: "number", hidden: true },
|
||||
],
|
||||
features: [
|
||||
{ name: "Sorting", type: "local" },
|
||||
{ name: "Filtering", type: "local" },
|
||||
{ name: "Selection", mode: "row", multipleSelection: false, rowSelectionChanging: detailSelectionChangedRunInfo },
|
||||
{ name: "Paging", type: "local", recordCountKey: "TotalRows", pageSize: 10, pageSizeUrlKey: "pageSize", "pageIndexUrlKey": "page", showPageSizeDropDown: true },
|
||||
],
|
||||
});
|
||||
});
|
||||
$("#HeaderGrid").on("dblclick", "tr", loadOne);
|
||||
}
|
@ -2,12 +2,14 @@ var _chart = null;
|
||||
var _CdeId = null;
|
||||
var _apiUrl = null;
|
||||
var _BioRadId = null;
|
||||
var _Collection = [];
|
||||
var _toolType = null;
|
||||
var _StaticUrl = null;
|
||||
var _workMaterial = {};
|
||||
var _initialHeaderId = null;
|
||||
var _toolTypeMetaData = null;
|
||||
var _initialHeaderAttachmentId = null;
|
||||
var _EcMesaFileShareCharacterizationSi = null;
|
||||
|
||||
async function loadRunInfoAwaitingDisposition() {
|
||||
var row = $("#grid").igGrid("selectedRow");
|
||||
@ -169,6 +171,34 @@ function loadHeaderGridRunInfo() {
|
||||
});
|
||||
}
|
||||
|
||||
function loadHeaderGridFiles() {
|
||||
var toolTypeName = $("#ToolType").igCombo("text");
|
||||
$("#ToolTypeID").text("");
|
||||
hideDetailsDivRunInfo();
|
||||
disableHeaderButtonsRunInfo();
|
||||
$("#HeaderId").text("");
|
||||
$("#HeaderAttachmentId").text("");
|
||||
var gridCreated = $("#HeaderGrid").data("igGrid");
|
||||
if (gridCreated)
|
||||
$("#HeaderGrid").igGrid("destroy");
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: _EcMesaFileShareCharacterizationSi + "/Archive/" + toolTypeName + ".json",
|
||||
success: function (r) {
|
||||
if ((r.Results == null) || (r.Results.ToolType == null) || (r.Results.Metadata == null))
|
||||
ShowErrorMessage("Invalid tool-type: " + toolTypeName);
|
||||
else {
|
||||
_toolType = r.Results.ToolType;
|
||||
_toolTypeMetaData = r.Results.Metadata;
|
||||
requestHeaderDataFiles();
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
DisplayWSMessage("error", "There was an error getting tool-type info by archive.", e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function disableHeaderButtonsRunInfo() {
|
||||
$("#GetDataButton").prop("disabled", true);
|
||||
$("#ReviewButton").prop("disabled", true);
|
||||
@ -632,6 +662,39 @@ function copySelected(attachmentID, title, data) {
|
||||
copy(allText);
|
||||
}
|
||||
|
||||
function copySelectedB(attachmentID, title, collection) {
|
||||
var allText = "";
|
||||
var headerText = "";
|
||||
var selectedRow = $("#HeaderGrid").data("igGridSelection").selectedRow();
|
||||
if (selectedRow !== null) {
|
||||
var rowData = $("#HeaderGrid").data("igGrid").dataSource.dataView()[selectedRow.index];
|
||||
for (const property in rowData) {
|
||||
if (property === "ID" || property === attachmentID || property === title)
|
||||
continue;
|
||||
allText = allText + property + '\t';
|
||||
headerText = headerText + rowData[property] + '\t';
|
||||
}
|
||||
}
|
||||
for (var i = 0; i < collection.length; i++) {
|
||||
if (i === 0) {
|
||||
for (const property in collection[i]) {
|
||||
if (property === "ID" || property === "InsertDate" || property === attachmentID || property === title)
|
||||
continue;
|
||||
allText = allText + property + '\t';
|
||||
}
|
||||
allText = allText + '\r';
|
||||
}
|
||||
allText = allText + headerText;
|
||||
for (const property in collection[i]) {
|
||||
if (property === "ID" || property === "InsertDate" || property === attachmentID || property === title)
|
||||
continue;
|
||||
allText = allText + collection[i][property] + '\t';
|
||||
}
|
||||
allText = allText + '\r';
|
||||
}
|
||||
copy(allText);
|
||||
}
|
||||
|
||||
function loadDetailsRunInfo() {
|
||||
showDetailsDivRunInfo();
|
||||
loadHeaderAttachmentRunInfo();
|
||||
@ -667,7 +730,7 @@ function loadDetailsRunInfo() {
|
||||
}
|
||||
}
|
||||
$.getJSON(detailsURL, function (data) {
|
||||
var gridParms = {
|
||||
var gridParams = {
|
||||
autoGenerateColumns: false,
|
||||
primaryKey: "ID",
|
||||
features: [
|
||||
@ -682,21 +745,96 @@ function loadDetailsRunInfo() {
|
||||
dataBound: markAsReviewedRunInfo,
|
||||
};
|
||||
if ((_toolType != null) && (_toolType.DataGridAttributes != null)) {
|
||||
jQuery.extend(gridParms, JSON.parse(_toolType.DataGridAttributes));
|
||||
jQuery.extend(gridParams, JSON.parse(_toolType.DataGridAttributes));
|
||||
}
|
||||
$("#DetailsGrid").igGrid(gridParms);
|
||||
$("#DetailsGrid").igGrid(gridParams);
|
||||
if ($("#chkCopyOnGet").is(':checked')) {
|
||||
copySelected(attachmentID, title, data);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function loadDetailsGridFiles() {
|
||||
showDetailsDivRunInfo();
|
||||
loadHeaderAttachmentRunInfo();
|
||||
var collection = [];
|
||||
var gridCreated = $("#DetailsGrid").data("igGrid");
|
||||
if (gridCreated)
|
||||
$("#DetailsGrid").igGrid("destroy");
|
||||
var title = "Title";
|
||||
var attachmentID = "AttachmentID";
|
||||
var gridColumns = [
|
||||
{ key: "ID", dataType: "number", hidden: true },
|
||||
{ key: attachmentID, dataType: "string", hidden: true },
|
||||
{ key: title, dataType: "string", hidden: true },
|
||||
];
|
||||
var selectedRow = $("#HeaderGrid").data("igGridSelection").selectedRow();
|
||||
if (selectedRow == null)
|
||||
return;
|
||||
var rowData = $("#HeaderGrid").data("igGrid").dataSource.dataView()[selectedRow.index];
|
||||
for (var i = 0; i < _Collection.length; i++) {
|
||||
if (_Collection[i].Details == null || _Collection[i].ID !== rowData.ID || _Collection[i].ArchiveLot !== rowData.ArchiveLot)
|
||||
continue;
|
||||
for (var j = 0; j < _Collection[i].Details.length; j++) {
|
||||
_Collection[i].Details[j]['ID'] = j;
|
||||
collection.push(_Collection[i].Details[j]);
|
||||
}
|
||||
}
|
||||
if (collection.length === 0) {
|
||||
gridColumns.push({
|
||||
key: "No Data",
|
||||
headerText: "No Data",
|
||||
width: "150px",
|
||||
});
|
||||
}
|
||||
else {
|
||||
for (var i = 0; i < _toolTypeMetaData.length; i++) {
|
||||
var f = _toolTypeMetaData[i];
|
||||
if ((f.Header == false) && (f.GridDisplayOrder > 0)) {
|
||||
var col = {
|
||||
key: f.ApiName,
|
||||
headerText: f.DisplayTitle,
|
||||
width: "150px",
|
||||
};
|
||||
if (f.GridAttributes != null)
|
||||
jQuery.extend(col, JSON.parse(f.GridAttributes));
|
||||
if (col.formatter != null) {
|
||||
if (col.formatter == "boolToYesNo")
|
||||
col.formatter = boolToYesNo;
|
||||
else
|
||||
col.formatter = null;
|
||||
}
|
||||
gridColumns.push(col);
|
||||
}
|
||||
}
|
||||
}
|
||||
var gridParams = {
|
||||
autoGenerateColumns: false,
|
||||
primaryKey: "ID",
|
||||
features: [
|
||||
{ name: "Selection", mode: "row" },
|
||||
{ name: "Resizing" },
|
||||
{ name: "Sorting", type: "local" }
|
||||
],
|
||||
columns: gridColumns,
|
||||
dataSource: collection,
|
||||
dataSourceType: 'json'
|
||||
};
|
||||
if ((_toolType != null) && (_toolType.DataGridAttributes != null)) {
|
||||
jQuery.extend(gridParams, JSON.parse(_toolType.DataGridAttributes));
|
||||
}
|
||||
$("#DetailsGrid").igGrid(gridParams);
|
||||
if ($("#chkCopyOnGet").is(':checked')) {
|
||||
copySelectedB(attachmentID, title, collection);
|
||||
}
|
||||
}
|
||||
|
||||
function requestHeaderDataRunInfo() {
|
||||
var startDate = $("#StartDate").igDatePicker("value");
|
||||
var startTime = $("#StartTime").igTimePicker("value");
|
||||
var endDate = $("#EndDate").igDatePicker("value");
|
||||
var endTime = $("#EndTime").igTimePicker("value");
|
||||
var parms = {
|
||||
var params = {
|
||||
datebegin: new Date(
|
||||
startDate.getFullYear(), startDate.getMonth(), startDate.getDate(),
|
||||
startTime.getHours(), startTime.getMinutes(), startTime.getSeconds()).toISOString(),
|
||||
@ -707,7 +845,7 @@ function requestHeaderDataRunInfo() {
|
||||
var headerId = 0;
|
||||
if (_initialHeaderId > 0) {
|
||||
headerId = _initialHeaderId;
|
||||
parms.headerid = headerId;
|
||||
params.headerid = headerId;
|
||||
$("#HeaderId").text(headerId);
|
||||
$("#HeaderAttachmentId").text(_initialHeaderAttachmentId);
|
||||
_initialHeaderId = -1;
|
||||
@ -716,7 +854,7 @@ function requestHeaderDataRunInfo() {
|
||||
$("#PinButton").hide();
|
||||
else
|
||||
$("#PinButton").show();
|
||||
var headerURL = _apiUrl + "/tooltypes/" + _toolType.ID + "/headers?" + $.param(parms);
|
||||
var headerURL = _apiUrl + "/tooltypes/" + _toolType.ID + "/headers?" + $.param(params);
|
||||
var gridColumns = [
|
||||
{ key: "ID", dataType: "number", hidden: true },
|
||||
{ key: "AttachmentID", dataType: "string", hidden: true },
|
||||
@ -741,7 +879,7 @@ function requestHeaderDataRunInfo() {
|
||||
gridColumns.push(col);
|
||||
}
|
||||
}
|
||||
var gridParms = {
|
||||
var gridParams = {
|
||||
autoGenerateColumns: false,
|
||||
primaryKey: "ID",
|
||||
height: "100%",
|
||||
@ -758,14 +896,99 @@ function requestHeaderDataRunInfo() {
|
||||
responseDataKey: "Results",
|
||||
};
|
||||
if ((_toolType != null) && (_toolType.HeaderGridAttributes != null)) {
|
||||
jQuery.extend(gridParms, JSON.parse(_toolType.HeaderGridAttributes));
|
||||
jQuery.extend(gridParams, JSON.parse(_toolType.HeaderGridAttributes));
|
||||
}
|
||||
$("#HeaderGrid").igGrid(gridParms);
|
||||
$("#HeaderGrid").igGrid(gridParams);
|
||||
if (headerId > 0) {
|
||||
loadDetailsRunInfo();
|
||||
}
|
||||
}
|
||||
|
||||
function clearArray(array) {
|
||||
if (array !== null) {
|
||||
while (array.length > 0) {
|
||||
array.pop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function requestHeaderDataFiles() {
|
||||
clearArray(_Collection);
|
||||
var toolTypeName = $("#ToolType").igCombo("text");
|
||||
var startDate = $("#StartDate").igDatePicker("value");
|
||||
var startTime = $("#StartTime").igTimePicker("value");
|
||||
var endDate = $("#EndDate").igDatePicker("value");
|
||||
var endTime = $("#EndTime").igTimePicker("value");
|
||||
var params = {
|
||||
area: null,
|
||||
'end-time': new Date(
|
||||
endDate.getFullYear(), endDate.getMonth(), endDate.getDate(),
|
||||
endTime.getHours(), endTime.getMinutes(), endTime.getSeconds()).toISOString(),
|
||||
'equipment-id': toolTypeName,
|
||||
'search-pattern': '*.wc',
|
||||
'start-time': new Date(
|
||||
startDate.getFullYear(), startDate.getMonth(), startDate.getDate(),
|
||||
startTime.getHours(), startTime.getMinutes(), startTime.getSeconds()).toISOString(),
|
||||
'wafer-size': null,
|
||||
}
|
||||
var headerURL = _apiUrl + "/v1/file-share/archive-data/?" + $.param(params);
|
||||
var gridColumns = [
|
||||
{ key: "ID", dataType: "number", hidden: true },
|
||||
{ key: "ArchiveLot", dataType: "string", hidden: true },
|
||||
{ key: "ArchiveLastWriteTime", dataType: "date", hidden: true },
|
||||
{ key: "AttachmentID", dataType: "string", hidden: true },
|
||||
{ key: "Title", dataType: "string", hidden: true },
|
||||
];
|
||||
for (var i = 0; i < _toolTypeMetaData.length; i++) {
|
||||
var f = _toolTypeMetaData[i];
|
||||
if ((f.Header == true) && (f.GridDisplayOrder > 0)) {
|
||||
var col = {
|
||||
key: f.ApiName,
|
||||
headerText: f.DisplayTitle,
|
||||
width: "150px",
|
||||
};
|
||||
if (f.GridAttributes != null)
|
||||
jQuery.extend(col, JSON.parse(f.GridAttributes));
|
||||
if (col.formatter != null) {
|
||||
if (col.formatter == "boolToYesNo")
|
||||
col.formatter = boolToYesNo;
|
||||
else
|
||||
col.formatter = null;
|
||||
}
|
||||
gridColumns.push(col);
|
||||
}
|
||||
}
|
||||
$.getJSON(headerURL, function (data) {
|
||||
var singleton;
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
singleton = JSON.parse(data[i].lines.join(' '));
|
||||
singleton['ID'] = i;
|
||||
singleton['ArchiveLot'] = data[i].lot;
|
||||
singleton['ArchiveLastWriteTime'] = data[i].lastWriteTime;
|
||||
_Collection.push(singleton);
|
||||
}
|
||||
var gridParams = {
|
||||
autoGenerateColumns: false,
|
||||
height: "100%",
|
||||
width: "100%",
|
||||
features: [
|
||||
{ name: "Paging", type: "local", recordCountKey: "TotalRows", pageSize: 100, pageSizeList: [50, 100, 250, 500], pageSizeUrlKey: "pageSize", "pageIndexUrlKey": "page" },
|
||||
{ name: "Selection", mode: "row", rowSelectionChanged: headerSelectionChangedRunInfo },
|
||||
{ name: "Filtering", type: "local" },
|
||||
{ name: 'Resizing' },
|
||||
{ name: "Sorting", type: "local" }
|
||||
],
|
||||
columns: gridColumns,
|
||||
dataSource: _Collection,
|
||||
responseDataKey: "Results",
|
||||
};
|
||||
if ((_toolType != null) && (_toolType.HeaderGridAttributes != null)) {
|
||||
jQuery.extend(gridParams, JSON.parse(_toolType.HeaderGridAttributes));
|
||||
}
|
||||
$("#HeaderGrid").igGrid(gridParams);
|
||||
});
|
||||
}
|
||||
|
||||
function reviewButtonRunInfo() {
|
||||
var toolTypeId = $("#ToolTypeID").text();
|
||||
var headerId = parseInt($("#HeaderId").text());
|
||||
@ -1274,43 +1497,29 @@ function restartButton() {
|
||||
clearWorkMaterial();
|
||||
};
|
||||
|
||||
function initFiles(apiUrl, staticUrl, initialToolTypeID, initialHeaderId, initialHeaderAttachmentId) {
|
||||
function initFiles(apiUrl, staticUrl, ecMesaFileShareCharacterizationSi) {
|
||||
_apiUrl = apiUrl;
|
||||
_initialHeaderId = ""
|
||||
_StaticUrl = staticUrl;
|
||||
_initialHeaderId = initialHeaderId === null ? "" : initialHeaderId;
|
||||
_initialHeaderAttachmentId = initialHeaderAttachmentId === null ? "" : initialHeaderAttachmentId;
|
||||
$.getJSON(_apiUrl + '/tooltypes', function (data) {
|
||||
for (var i = 0; i < data.Results.length; i++) {
|
||||
if (data.Results[i].ToolTypeName === "CDE") {
|
||||
_CdeId = data.Results[i].ID;
|
||||
}
|
||||
else if (data.Results[i].ToolTypeName === "BioRad") {
|
||||
_BioRadId = data.Results[i].ID;
|
||||
}
|
||||
}
|
||||
_initialHeaderAttachmentId = "";
|
||||
_EcMesaFileShareCharacterizationSi = ecMesaFileShareCharacterizationSi;
|
||||
$.getJSON(_apiUrl + '/v1/file-share/equipment-ids', function (data) {
|
||||
$("#ToolType").igCombo({
|
||||
dataSource: data,
|
||||
responseDataKey: "Results",
|
||||
textKey: "ToolTypeName",
|
||||
valueKey: "ID",
|
||||
textKey: "toolTypeName",
|
||||
valueKey: "id",
|
||||
mode: "dropdown",
|
||||
width: 150,
|
||||
itemsRendered: function (evt, ui) {
|
||||
loadHeaderGridRunInfo();
|
||||
itemsRendered: function () {
|
||||
loadHeaderGridFiles();
|
||||
},
|
||||
selectionChanged: loadHeaderGridRunInfo,
|
||||
initialSelectedItems: [{ value: initialToolTypeID === null ? 1 : initialToolTypeID }]
|
||||
selectionChanged: loadHeaderGridFiles,
|
||||
});
|
||||
});
|
||||
setInitialDateTimesRunInfo(6 * 60 * 60 * 1000);
|
||||
$("#HeaderGrid").on("dblclick", "tr", loadDetailsRunInfo);
|
||||
$("#LoadHeadersButton").click(loadHeaderGridRunInfo);
|
||||
$("#GetDataButton").click(loadDetailsRunInfo);
|
||||
$("#ReviewButton").click(reviewButtonRunInfo);
|
||||
$("#RecipeParametersButton").click(recipeParametersButtonRunInfo);
|
||||
$("#ViewButton").click(viewButtonRunInfo);
|
||||
$("#PinButton").click(pinButtonRunInfo);
|
||||
$("#OIExportButton").click(oiExportButtonRunInfo);
|
||||
$("#HeaderGrid").on("dblclick", "tr", loadDetailsGridFiles);
|
||||
$("#LoadHeadersButton").click(loadHeaderGridFiles);
|
||||
$("#GetDataButton").click(loadDetailsGridFiles);
|
||||
setInterval(function () {
|
||||
if ($("#chkAutoRefresh").is(':checked')) {
|
||||
setInitialDateTimesRunInfo(null);
|
||||
|
@ -1,43 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>FI Backlog HiRel (Leominster)</title>
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2024-09-07-08-19" rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?v=2024-09-07-08-19" rel="stylesheet" />
|
||||
<script src="/js/jquery-3.6.0.min.js?v=2024-09-07-08-19" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?v=2024-09-07-08-19" type="text/javascript"></script>
|
||||
<script src="/js/leo.js?v=2024-09-07-08-19" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?v=2024-09-07-08-19" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?v=2024-09-07-08-19" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?v=2024-09-07-08-19" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div style="float: right;">
|
||||
<a target="_blank" href="/json/Feature.html">Feature(s)</a>
|
||||
</div>
|
||||
|
||||
<h2>FI Backlog HiRel (Leominster)</h2>
|
||||
|
||||
<div style="height: 550px;" id="HeaderGridDiv">
|
||||
<table id="HeaderGrid"></table>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
<div id="AllGridDiv">
|
||||
<table id="AllGrid"></table>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function () {
|
||||
initIndex("/json/work-items.json?v=2024-09-07-08-19");
|
||||
});
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,43 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>FI Backlog Mesa</title>
|
||||
<link href="/igniteui/css/themes/bootstrap3/default/infragistics.theme.css?v=2024-09-07-08-19" rel="stylesheet" />
|
||||
<link href="/igniteui/css/structure/infragistics.css?v=2024-09-07-08-19" rel="stylesheet" />
|
||||
<script src="/js/jquery-3.6.0.min.js?v=2024-09-07-08-19" type="text/javascript"></script>
|
||||
<script src="/js/jquery-ui.min.js?v=2024-09-07-08-19" type="text/javascript"></script>
|
||||
<script src="/js/mes.js?v=2024-09-07-08-19" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.core.js?v=2024-09-07-08-19" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.lob.js?v=2024-09-07-08-19" type="text/javascript"></script>
|
||||
<script src="/igniteui/js/infragistics.dv.js?v=2024-09-07-08-19" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div style="float: right;">
|
||||
<a target="_blank" href="/json/Feature.html">Feature(s)</a>
|
||||
</div>
|
||||
|
||||
<h2>FI Backlog Mesa</h2>
|
||||
|
||||
<div style="height: 550px;" id="HeaderGridDiv">
|
||||
<table id="HeaderGrid"></table>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
<div id="AllGridDiv">
|
||||
<table id="AllGrid"></table>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function () {
|
||||
initIndex("/json/work-items.json?v=2024-09-07-08-19");
|
||||
});
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
12
Static/styles/files.css
Normal file
12
Static/styles/files.css
Normal file
@ -0,0 +1,12 @@
|
||||
#HeaderGridDiv,
|
||||
#DetailsGridDiv {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#HeaderGrid {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
#DetailsGrid {
|
||||
font-family: monospace;
|
||||
}
|
Reference in New Issue
Block a user