With Parents on pages
WSJF Columns
This commit is contained in:
2024-10-21 17:55:24 -07:00
parent 1241bbe622
commit 326bd1ea73
29 changed files with 532 additions and 367 deletions

View File

@ -4,7 +4,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>Infineon - 122517 - Children of a Feature should have the same priority</title>
<title>Infineon - 122517 - Feature start date should be min activated date of children</title>
<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?v=2024-10-07-18-50" rel="stylesheet" />
<link href="/igniteui/css/structure/infragistics.css?v=2024-10-07-18-50" rel="stylesheet" />
@ -27,7 +27,7 @@
<span class="icon-bar"></span>
</button>
<div class="navbar-brand" style="min-width: 20px;">
<span id="siteHeader">&nbsp;</span> - 122517 - Children of a Feature should have the same priority
<span id="siteHeader">&nbsp;</span> - 122517 - Feature start date should be min activated date of children
</div>
</div>
<div class="navbar-collapse collapse">

View File

@ -59,7 +59,7 @@ What is the relative value to the Customer or business?
<script>
$(document).ready(function () {
initIndex("/markdown/with-parents.json?v=2024-10-07-18-50", "https://oi-metrology-viewer-prod.mes.infineon.com:4438/api/v1/ado/", "business", "Value", "Business Value", "/markdown/PI4-Results/business.json?v=2024-10-07-18-50");
initIndex("/markdown/bugs-features-with-parents.json?v=2024-10-07-18-50", "https://oi-metrology-viewer-prod.mes.infineon.com:4438/api/v1/ado/", "business", "Value", "Business Value", "/markdown/PI4-Results/business.json?v=2024-10-07-18-50");
});
</script>

View File

@ -55,7 +55,7 @@
<script>
$(document).ready(function () {
initIndex("/markdown/with-parents.json?v=2024-10-07-18-50", "https://oi-metrology-viewer-prod.mes.infineon.com:4438/api/v1/ado/", "effort", "Effort", "Effort", "/markdown/PI4-Results/effort.json?v=2024-10-07-18-50");
initIndex("/markdown/bugs-features-with-parents.json?v=2024-10-07-18-50", "https://oi-metrology-viewer-prod.mes.infineon.com:4438/api/v1/ado/", "effort", "Effort", "Effort", "/markdown/PI4-Results/effort.json?v=2024-10-07-18-50");
});
</script>

View File

@ -31,12 +31,6 @@
</div>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a target="_blank" href="/markdown/Feature.html">Feature(s)</a></li>
<li><a target="_blank" href="/markdown/FeatureCheckTag.html">Tag</a></li>
<li><a target="_blank" href="/markdown/FeatureCheckPriority.html">Priority</a></li>
<li><a target="_blank" href="/markdown/FeatureCheckIterationPath.html">Iteration Path</a></li>
</ul>
<p class="navbar-text navbar-right">
&nbsp;
</p>
@ -59,7 +53,7 @@
<script>
$(document).ready(function () {
initIndex("/json/work-items.json?v=2024-10-07-10-09");
initIndex("/markdown/bugs-features-with-parents.json?v=2024-10-07-10-09");
});
</script>

View File

@ -31,12 +31,6 @@
</div>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a target="_blank" href="/markdown/Feature.html">Feature(s)</a></li>
<li><a target="_blank" href="/markdown/FeatureCheckTag.html">Tag</a></li>
<li><a target="_blank" href="/markdown/FeatureCheckPriority.html">Priority</a></li>
<li><a target="_blank" href="/markdown/FeatureCheckIterationPath.html">Iteration Path</a></li>
</ul>
<p class="navbar-text navbar-right">
&nbsp;
</p>
@ -59,7 +53,7 @@
<script>
$(document).ready(function () {
initIndex("/json/work-items.json?v=2024-10-07-10-09");
initIndex("/markdown/bugs-features-with-parents.json?v=2024-10-07-10-09");
});
</script>

View File

@ -59,7 +59,7 @@ What else does this do for our business?
<script>
$(document).ready(function () {
initIndex("/markdown/with-parents.json?v=2024-10-07-18-50", "https://oi-metrology-viewer-prod.mes.infineon.com:4438/api/v1/ado/", "risk", "Risk", "Risk Reduction and/or Opportunity Enablement", "/markdown/PI4-Results/risk.json?v=2024-10-07-18-50");
initIndex("/markdown/bugs-features-with-parents.json?v=2024-10-07-18-50", "https://oi-metrology-viewer-prod.mes.infineon.com:4438/api/v1/ado/", "risk", "Risk", "Risk Reduction and/or Opportunity Enablement", "/markdown/PI4-Results/risk.json?v=2024-10-07-18-50");
});
</script>

View File

@ -60,7 +60,7 @@ How does user/business value decay over time?
<script>
$(document).ready(function () {
initIndex("/markdown/with-parents.json?v=2024-10-07-18-50", "https://oi-metrology-viewer-prod.mes.infineon.com:4438/api/v1/ado/", "time", "Critical", "Time Criticality", "/markdown/PI4-Results/time.json?v=2024-10-07-18-50");
initIndex("/markdown/bugs-features-with-parents.json?v=2024-10-07-18-50", "https://oi-metrology-viewer-prod.mes.infineon.com:4438/api/v1/ado/", "time", "Critical", "Time Criticality", "/markdown/PI4-Results/time.json?v=2024-10-07-18-50");
});
</script>

View File

@ -55,7 +55,7 @@
<script>
$(document).ready(function () {
initIndex("/markdown/with-parents.json?v=2024-10-07-18-50");
initIndex("/markdown/bugs-user-stories-with-parents.json?v=2024-10-07-18-50");
});
</script>

View File

@ -55,7 +55,7 @@
<script>
$(document).ready(function () {
initIndex("/markdown/with-parents.json?v=2024-10-07-18-50", "https://oi-metrology-viewer-prod.mes.infineon.com:4438/api/v1/ado/");
initIndex("/markdown/bugs-features-with-parents.json?v=2024-10-07-18-50", "https://oi-metrology-viewer-prod.mes.infineon.com:4438/api/v1/ado/");
});
</script>

View File

@ -1,5 +1,9 @@
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;
if (a.CoD === null || b.CoD === null) {
return b.Id - a.Id;
} else {
return b.CoD - a.CoD || b.State[0] - a.State[0] || b.ParentId - a.ParentId || a.Id - b.Id;
}
}
function showOne(rowData) {
@ -73,15 +77,31 @@ function getPriority(workItemType, priority) {
return result;
}
function getWorkItems(data) {
function getRecords(data) {
var parent;
var workItem;
var workItems = [];
for (var i = data.length - 1; i > -1; i--) {
workItem = data[i];
for (var i = 0; i < data.length; i++) {
parent = data[i].Parent;
workItem = data[i].WorkItem;
if (workItem.Tags != null && workItem.Tags.includes("Ignore"))
continue;
if ((window.location.href.indexOf('=LEO') > -1 && workItem.AreaPath !== 'ART SPS\\LEO') || (window.location.href.indexOf('=MES') > -1 && workItem.AreaPath !== 'ART SPS\\MES'))
continue;
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null)
workItem["CoD"] === 0;
else
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"];
if (parent === null) {
workItem["ParentId"] = 9999999;
workItem["ParentTitle"] = null;
workItem["ParentState"] = null;
}
else {
workItem["ParentId"] = parent["Id"];
workItem["ParentTitle"] = parent["Title"];
workItem["ParentState"] = getState(parent["State"]);
}
workItem["State"] = getState(workItem["State"])
workItem["Priority"] = getPriority(workItem["WorkItemType"], workItem["Priority"])
workItems.push(workItem);
@ -108,18 +128,20 @@ function updateSite() {
function initIndex(url) {
updateSite();
$.getJSON(url, { _: new Date().getTime() }, function (data) {
var workItems = getWorkItems(data);
var records = getRecords(data);
console.log(data.length);
if (data.length > 0)
console.log(data[0]);
$("#HeaderGrid").igGrid({
autoGenerateColumns: false,
dataSource: workItems,
dataSource: records,
height: "100%",
primaryKey: "Id",
width: "100%",
columns: [
{ key: "Violation", dataType: "string", hidden: true },
{ headerText: "Parent Id", key: "ParentId", dataType: "string" },
{ headerText: "Parent State", key: "ParentState", dataType: "string" },
{ key: "Id", dataType: "number" },
{ key: "Requester", dataType: "string" },
{ headerText: "Assigned To", key: "AssignedTo", dataType: "string" },
@ -127,22 +149,24 @@ function initIndex(url) {
{ headerText: "System(s)", key: "Tags", dataType: "string" },
{ key: "Priority", dataType: "string" },
{ key: "State", dataType: "string" },
{ headerText: "Effort in Days", key: "Effort", dataType: "number" },
{ headerText: "Risk Reduction and/or Opportunity Enablement", key: "RiskReductionMinusOpportunityEnablement", dataType: "string" },
{ headerText: "Business Value", key: "BusinessValue", dataType: "number" },
{ headerText: "Time Criticality", key: "TimeCriticality", dataType: "number" },
{ headerText: "Effort", key: "Effort", dataType: "number" },
{ headerText: "Weighted Shortest Job First", key: "WeightedShortestJobFirst", 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: "WeightedShortestJobFirst", dataType: "number", hidden: true },
{ key: "Violation", dataType: "string", hidden: true },
{ key: "WorkItemType", dataType: "string", hidden: true },
],
features: [

View File

@ -1,5 +1,9 @@
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;
if (a.CoD === null || b.CoD === null) {
return b.Id - a.Id;
} else {
return b.CoD - a.CoD || b.State[0] - a.State[0] || b.ParentId - a.ParentId || a.Id - b.Id;
}
}
function showOne(rowData) {
@ -73,15 +77,31 @@ function getPriority(workItemType, priority) {
return result;
}
function getWorkItems(data) {
function getRecords(data) {
var parent;
var workItem;
var workItems = [];
for (var i = data.length - 1; i > -1; i--) {
workItem = data[i];
for (var i = 0; i < data.length; i++) {
parent = data[i].Parent;
workItem = data[i].WorkItem;
if (workItem.Tags != null && workItem.Tags.includes("Ignore"))
continue;
if ((window.location.href.indexOf('=LEO') > -1 && workItem.AreaPath !== 'ART SPS\\LEO') || (window.location.href.indexOf('=MES') > -1 && workItem.AreaPath !== 'ART SPS\\MES'))
continue;
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null)
workItem["CoD"] === 0;
else
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"];
if (parent === null) {
workItem["ParentId"] = 9999999;
workItem["ParentTitle"] = null;
workItem["ParentState"] = null;
}
else {
workItem["ParentId"] = parent["Id"];
workItem["ParentTitle"] = parent["Title"];
workItem["ParentState"] = getState(parent["State"]);
}
workItem["State"] = getState(workItem["State"])
workItem["Priority"] = getPriority(workItem["WorkItemType"], workItem["Priority"])
workItems.push(workItem);
@ -108,18 +128,20 @@ function updateSite() {
function initIndex(url) {
updateSite();
$.getJSON(url, { _: new Date().getTime() }, function (data) {
var workItems = getWorkItems(data);
var records = getRecords(data);
console.log(data.length);
if (data.length > 0)
console.log(data[0]);
$("#HeaderGrid").igGrid({
autoGenerateColumns: false,
dataSource: workItems,
dataSource: records,
height: "100%",
primaryKey: "Id",
width: "100%",
columns: [
{ key: "Violation", dataType: "string", hidden: true },
{ headerText: "Parent Id", key: "ParentId", dataType: "string" },
{ headerText: "Parent State", key: "ParentState", dataType: "string" },
{ key: "Id", dataType: "number" },
{ key: "Requester", dataType: "string" },
{ headerText: "Assigned To", key: "AssignedTo", dataType: "string" },
@ -127,22 +149,24 @@ function initIndex(url) {
{ headerText: "System(s)", key: "Tags", dataType: "string" },
{ key: "Priority", dataType: "string" },
{ key: "State", dataType: "string" },
{ headerText: "Effort in Days", key: "Effort", dataType: "number" },
{ headerText: "Risk Reduction and/or Opportunity Enablement", key: "RiskReductionMinusOpportunityEnablement", dataType: "string" },
{ headerText: "Business Value", key: "BusinessValue", dataType: "number" },
{ headerText: "Time Criticality", key: "TimeCriticality", dataType: "number" },
{ headerText: "Effort", key: "Effort", dataType: "number" },
{ headerText: "Weighted Shortest Job First", key: "WeightedShortestJobFirst", 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: "WeightedShortestJobFirst", dataType: "number", hidden: true },
{ key: "Violation", dataType: "string", hidden: true },
{ key: "WorkItemType", dataType: "string", hidden: true },
],
features: [

View File

@ -1,5 +1,9 @@
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;
if (a.CoD === null || b.CoD === null) {
return b.Id - a.Id;
} else {
return b.CoD - a.CoD || b.State[0] - a.State[0] || b.ParentId - a.ParentId || a.Id - b.Id;
}
}
function showOne(rowData) {
@ -73,15 +77,31 @@ function getPriority(workItemType, priority) {
return result;
}
function getWorkItems(data) {
function getRecords(data) {
var parent;
var workItem;
var workItems = [];
for (var i = data.length - 1; i > -1; i--) {
workItem = data[i];
for (var i = 0; i < data.length; i++) {
parent = data[i].Parent;
workItem = data[i].WorkItem;
if (workItem.Tags != null && workItem.Tags.includes("Ignore"))
continue;
if ((window.location.href.indexOf('=LEO') > -1 && workItem.AreaPath !== 'ART SPS\\LEO') || (window.location.href.indexOf('=MES') > -1 && workItem.AreaPath !== 'ART SPS\\MES'))
continue;
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null)
workItem["CoD"] === 0;
else
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"];
if (parent === null) {
workItem["ParentId"] = 9999999;
workItem["ParentTitle"] = null;
workItem["ParentState"] = null;
}
else {
workItem["ParentId"] = parent["Id"];
workItem["ParentTitle"] = parent["Title"];
workItem["ParentState"] = getState(parent["State"]);
}
workItem["State"] = getState(workItem["State"])
workItem["Priority"] = getPriority(workItem["WorkItemType"], workItem["Priority"])
workItems.push(workItem);
@ -108,18 +128,20 @@ function updateSite() {
function initIndex(url) {
updateSite();
$.getJSON(url, { _: new Date().getTime() }, function (data) {
var workItems = getWorkItems(data);
var records = getRecords(data);
console.log(data.length);
if (data.length > 0)
console.log(data[0]);
$("#HeaderGrid").igGrid({
autoGenerateColumns: false,
dataSource: workItems,
dataSource: records,
height: "100%",
primaryKey: "Id",
width: "100%",
columns: [
{ key: "Violation", dataType: "string", hidden: true },
{ headerText: "Parent Id", key: "ParentId", dataType: "string" },
{ headerText: "Parent State", key: "ParentState", dataType: "string" },
{ key: "Id", dataType: "number" },
{ key: "Requester", dataType: "string" },
{ headerText: "Assigned To", key: "AssignedTo", dataType: "string" },
@ -127,22 +149,24 @@ function initIndex(url) {
{ headerText: "System(s)", key: "Tags", dataType: "string" },
{ key: "Priority", dataType: "string" },
{ key: "State", dataType: "string" },
{ headerText: "Effort in Days", key: "Effort", dataType: "number" },
{ headerText: "Risk Reduction and/or Opportunity Enablement", key: "RiskReductionMinusOpportunityEnablement", dataType: "string" },
{ headerText: "Business Value", key: "BusinessValue", dataType: "number" },
{ headerText: "Time Criticality", key: "TimeCriticality", dataType: "number" },
{ headerText: "Effort", key: "Effort", dataType: "number" },
{ headerText: "Weighted Shortest Job First", key: "WeightedShortestJobFirst", 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: "WeightedShortestJobFirst", dataType: "number", hidden: true },
{ key: "Violation", dataType: "string", hidden: true },
{ key: "WorkItemType", dataType: "string", hidden: true },
],
features: [

View File

@ -1,5 +1,9 @@
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;
if (a.CoD === null || b.CoD === null) {
return b.Id - a.Id;
} else {
return b.CoD - a.CoD || b.State[0] - a.State[0] || b.ParentId - a.ParentId || a.Id - b.Id;
}
}
function showOne(rowData) {
@ -73,15 +77,31 @@ function getPriority(workItemType, priority) {
return result;
}
function getWorkItems(data) {
function getRecords(data) {
var parent;
var workItem;
var workItems = [];
for (var i = data.length - 1; i > -1; i--) {
workItem = data[i];
for (var i = 0; i < data.length; i++) {
parent = data[i].Parent;
workItem = data[i].WorkItem;
if (workItem.Tags != null && workItem.Tags.includes("Ignore"))
continue;
if ((window.location.href.indexOf('=LEO') > -1 && workItem.AreaPath !== 'ART SPS\\LEO') || (window.location.href.indexOf('=MES') > -1 && workItem.AreaPath !== 'ART SPS\\MES'))
continue;
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null)
workItem["CoD"] === 0;
else
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"];
if (parent === null) {
workItem["ParentId"] = 9999999;
workItem["ParentTitle"] = null;
workItem["ParentState"] = null;
}
else {
workItem["ParentId"] = parent["Id"];
workItem["ParentTitle"] = parent["Title"];
workItem["ParentState"] = getState(parent["State"]);
}
workItem["State"] = getState(workItem["State"])
workItem["Priority"] = getPriority(workItem["WorkItemType"], workItem["Priority"])
workItems.push(workItem);
@ -108,18 +128,20 @@ function updateSite() {
function initIndex(url) {
updateSite();
$.getJSON(url, { _: new Date().getTime() }, function (data) {
var workItems = getWorkItems(data);
var records = getRecords(data);
console.log(data.length);
if (data.length > 0)
console.log(data[0]);
$("#HeaderGrid").igGrid({
autoGenerateColumns: false,
dataSource: workItems,
dataSource: records,
height: "100%",
primaryKey: "Id",
width: "100%",
columns: [
{ key: "Violation", dataType: "string", hidden: true },
{ headerText: "Parent Id", key: "ParentId", dataType: "string" },
{ headerText: "Parent State", key: "ParentState", dataType: "string" },
{ key: "Id", dataType: "number" },
{ key: "Requester", dataType: "string" },
{ headerText: "Assigned To", key: "AssignedTo", dataType: "string" },
@ -127,22 +149,24 @@ function initIndex(url) {
{ headerText: "System(s)", key: "Tags", dataType: "string" },
{ key: "Priority", dataType: "string" },
{ key: "State", dataType: "string" },
{ headerText: "Effort in Days", key: "Effort", dataType: "number" },
{ headerText: "Risk Reduction and/or Opportunity Enablement", key: "RiskReductionMinusOpportunityEnablement", dataType: "string" },
{ headerText: "Business Value", key: "BusinessValue", dataType: "number" },
{ headerText: "Time Criticality", key: "TimeCriticality", dataType: "number" },
{ headerText: "Effort", key: "Effort", dataType: "number" },
{ headerText: "Weighted Shortest Job First", key: "WeightedShortestJobFirst", 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: "WeightedShortestJobFirst", dataType: "number", hidden: true },
{ key: "Violation", dataType: "string", hidden: true },
{ key: "WorkItemType", dataType: "string", hidden: true },
],
features: [

View File

@ -1,5 +1,9 @@
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;
if (a.CoD === null || b.CoD === null) {
return b.Id - a.Id;
} else {
return b.CoD - a.CoD || b.State[0] - a.State[0] || b.ParentId - a.ParentId || a.Id - b.Id;
}
}
function showOne(rowData) {
@ -73,15 +77,31 @@ function getPriority(workItemType, priority) {
return result;
}
function getWorkItems(data) {
function getRecords(data) {
var parent;
var workItem;
var workItems = [];
for (var i = data.length - 1; i > -1; i--) {
workItem = data[i];
for (var i = 0; i < data.length; i++) {
parent = data[i].Parent;
workItem = data[i].WorkItem;
if (workItem.Tags != null && workItem.Tags.includes("Ignore"))
continue;
if ((window.location.href.indexOf('=LEO') > -1 && workItem.AreaPath !== 'ART SPS\\LEO') || (window.location.href.indexOf('=MES') > -1 && workItem.AreaPath !== 'ART SPS\\MES'))
continue;
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null)
workItem["CoD"] === 0;
else
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"];
if (parent === null) {
workItem["ParentId"] = 9999999;
workItem["ParentTitle"] = null;
workItem["ParentState"] = null;
}
else {
workItem["ParentId"] = parent["Id"];
workItem["ParentTitle"] = parent["Title"];
workItem["ParentState"] = getState(parent["State"]);
}
workItem["State"] = getState(workItem["State"])
workItem["Priority"] = getPriority(workItem["WorkItemType"], workItem["Priority"])
workItems.push(workItem);
@ -108,18 +128,20 @@ function updateSite() {
function initIndex(url) {
updateSite();
$.getJSON(url, { _: new Date().getTime() }, function (data) {
var workItems = getWorkItems(data);
var records = getRecords(data);
console.log(data.length);
if (data.length > 0)
console.log(data[0]);
$("#HeaderGrid").igGrid({
autoGenerateColumns: false,
dataSource: workItems,
dataSource: records,
height: "100%",
primaryKey: "Id",
width: "100%",
columns: [
{ key: "Violation", dataType: "string", hidden: true },
{ headerText: "Parent Id", key: "ParentId", dataType: "string" },
{ headerText: "Parent State", key: "ParentState", dataType: "string" },
{ key: "Id", dataType: "number" },
{ key: "Requester", dataType: "string" },
{ headerText: "Assigned To", key: "AssignedTo", dataType: "string" },
@ -127,22 +149,24 @@ function initIndex(url) {
{ headerText: "System(s)", key: "Tags", dataType: "string" },
{ key: "Priority", dataType: "string" },
{ key: "State", dataType: "string" },
{ headerText: "Effort in Days", key: "Effort", dataType: "number" },
{ headerText: "Risk Reduction and/or Opportunity Enablement", key: "RiskReductionMinusOpportunityEnablement", dataType: "string" },
{ headerText: "Business Value", key: "BusinessValue", dataType: "number" },
{ headerText: "Time Criticality", key: "TimeCriticality", dataType: "number" },
{ headerText: "Effort", key: "Effort", dataType: "number" },
{ headerText: "Weighted Shortest Job First", key: "WeightedShortestJobFirst", 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: "WeightedShortestJobFirst", dataType: "number", hidden: true },
{ key: "Violation", dataType: "string", hidden: true },
{ key: "WorkItemType", dataType: "string", hidden: true },
],
features: [

View File

@ -1,5 +1,9 @@
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;
if (a.CoD === null || b.CoD === null) {
return b.Id - a.Id;
} else {
return b.CoD - a.CoD || b.State[0] - a.State[0] || b.ParentId - a.ParentId || a.Id - b.Id;
}
}
function showOne(rowData) {
@ -73,15 +77,31 @@ function getPriority(workItemType, priority) {
return result;
}
function getWorkItems(data) {
function getRecords(data) {
var parent;
var workItem;
var workItems = [];
for (var i = data.length - 1; i > -1; i--) {
workItem = data[i];
for (var i = 0; i < data.length; i++) {
parent = data[i].Parent;
workItem = data[i].WorkItem;
if (workItem.Tags != null && workItem.Tags.includes("Ignore"))
continue;
if ((window.location.href.indexOf('=LEO') > -1 && workItem.AreaPath !== 'ART SPS\\LEO') || (window.location.href.indexOf('=MES') > -1 && workItem.AreaPath !== 'ART SPS\\MES'))
continue;
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null)
workItem["CoD"] === 0;
else
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"];
if (parent === null) {
workItem["ParentId"] = 9999999;
workItem["ParentTitle"] = null;
workItem["ParentState"] = null;
}
else {
workItem["ParentId"] = parent["Id"];
workItem["ParentTitle"] = parent["Title"];
workItem["ParentState"] = getState(parent["State"]);
}
workItem["State"] = getState(workItem["State"])
workItem["Priority"] = getPriority(workItem["WorkItemType"], workItem["Priority"])
workItems.push(workItem);
@ -108,18 +128,20 @@ function updateSite() {
function initIndex(url) {
updateSite();
$.getJSON(url, { _: new Date().getTime() }, function (data) {
var workItems = getWorkItems(data);
var records = getRecords(data);
console.log(data.length);
if (data.length > 0)
console.log(data[0]);
$("#HeaderGrid").igGrid({
autoGenerateColumns: false,
dataSource: workItems,
dataSource: records,
height: "100%",
primaryKey: "Id",
width: "100%",
columns: [
{ key: "Violation", dataType: "string", hidden: true },
{ headerText: "Parent Id", key: "ParentId", dataType: "string" },
{ headerText: "Parent State", key: "ParentState", dataType: "string" },
{ key: "Id", dataType: "number" },
{ key: "Requester", dataType: "string" },
{ headerText: "Assigned To", key: "AssignedTo", dataType: "string" },
@ -127,22 +149,24 @@ function initIndex(url) {
{ headerText: "System(s)", key: "Tags", dataType: "string" },
{ key: "Priority", dataType: "string" },
{ key: "State", dataType: "string" },
{ headerText: "Effort in Days", key: "Effort", dataType: "number" },
{ headerText: "Risk Reduction and/or Opportunity Enablement", key: "RiskReductionMinusOpportunityEnablement", dataType: "string" },
{ headerText: "Business Value", key: "BusinessValue", dataType: "number" },
{ headerText: "Time Criticality", key: "TimeCriticality", dataType: "number" },
{ headerText: "Effort", key: "Effort", dataType: "number" },
{ headerText: "Weighted Shortest Job First", key: "WeightedShortestJobFirst", 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: "WeightedShortestJobFirst", dataType: "number", hidden: true },
{ key: "Violation", dataType: "string", hidden: true },
{ key: "WorkItemType", dataType: "string", hidden: true },
],
features: [

View File

@ -115,7 +115,7 @@ function getWorkItems(data, dataB, description) {
var parent;
var workItem;
var workItems = [];
for (var i = data.length - 1; i > -1; i--) {
for (var i = 0; i < data.length; i++) {
parent = data[i].Parent;
workItem = data[i].WorkItem;
if (workItem.WorkItemType !== 'Feature')

View File

@ -115,7 +115,7 @@ function getWorkItems(data, dataB, description) {
var parent;
var workItem;
var workItems = [];
for (var i = data.length - 1; i > -1; i--) {
for (var i = 0; i < data.length; i++) {
parent = data[i].Parent;
workItem = data[i].WorkItem;
if (workItem.WorkItemType !== 'Feature')

View File

@ -1,12 +1,16 @@
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;
if (a.CoD === null || b.CoD === null) {
return b.Id - a.Id;
} else {
return b.CoD - a.CoD || b.State[0] - a.State[0] || b.ParentId - a.ParentId || 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>' });
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;
@ -73,37 +77,35 @@ function getPriority(workItemType, priority) {
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 = [];
function getRecords(data) {
var parent;
var workItem;
for (var i = data.length - 1; i > -1; i--) {
workItem = data[i];
if (workItem.AreaPath !== 'ART SPS\\LEO')
continue;
var workItems = [];
for (var i = 0; i < data.length; i++) {
parent = data[i].Parent;
workItem = data[i].WorkItem;
if (workItem.Tags != null && workItem.Tags.includes("Ignore"))
continue;
if (workItem.WorkItemType !== 'Feature' && workItem.WorkItemType !== 'Bug')
continue;
if ((window.location.href.indexOf('=LEO') > -1 && workItem.AreaPath !== 'ART SPS\\LEO') || (window.location.href.indexOf('=MES') > -1 && workItem.AreaPath !== 'ART SPS\\MES'))
continue;
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null)
workItem["CoD"] === 0;
else
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"];
if (parent === null) {
workItem["ParentId"] = 9999999;
workItem["ParentTitle"] = null;
workItem["ParentState"] = null;
}
else {
workItem["ParentId"] = parent["Id"];
workItem["ParentTitle"] = parent["Title"];
workItem["ParentState"] = getState(parent["State"]);
}
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);
@ -128,42 +130,45 @@ function updateSite() {
function initIndex(url) {
updateSite();
$.getJSON(url, { _: new Date().getTime() }, function (data) {
var workItems = getWorkItems(data);
var records = getRecords(data);
console.log(data.length);
if (data.length > 0)
console.log(data[0]);
$("#HeaderGrid").igGrid({
autoGenerateColumns: false,
dataSource: workItems,
dataSource: records,
height: "100%",
primaryKey: "Id",
width: "100%",
columns: [
{ key: "Violation", dataType: "string", hidden: true },
{ headerText: "Parent Id", key: "ParentId", dataType: "string" },
{ headerText: "Parent State", key: "ParentState", dataType: "string" },
{ 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: "Risk Reduction and/or Opportunity Enablement", key: "RiskReductionMinusOpportunityEnablement", dataType: "string" },
{ headerText: "Business Value", key: "BusinessValue", dataType: "number" },
{ headerText: "Time Criticality", key: "TimeCriticality", dataType: "number" },
{ headerText: "Effort", key: "Effort", dataType: "number" },
{ headerText: "Weighted Shortest Job First", key: "WeightedShortestJobFirst", 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: "Violation", dataType: "string", hidden: true },
{ key: "WeightedShortestJobFirst", dataType: "number", hidden: true },
{ key: "WorkItemType", dataType: "string", hidden: true },
],
features: [

View File

@ -1,5 +1,9 @@
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;
if (a.CoD === null || b.CoD === null) {
return b.Id - a.Id;
} else {
return b.CoD - a.CoD || b.State[0] - a.State[0] || b.ParentId - a.ParentId || a.Id - b.Id;
}
}
function showOne(rowData) {
@ -73,37 +77,35 @@ function getPriority(workItemType, priority) {
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 getRecords(data) {
var workItems = [];
var parent;
var workItem;
for (var i = data.length - 1; i > -1; i--) {
workItem = data[i];
if (workItem.AreaPath !== 'ART SPS\\MES')
continue;
var workItems = [];
for (var i = 0; i < data.length; i++) {
parent = data[i].Parent;
workItem = data[i].WorkItem;
if (workItem.Tags != null && workItem.Tags.includes("Ignore"))
continue;
if (workItem.WorkItemType !== 'Feature' && workItem.WorkItemType !== 'Bug')
continue;
if ((window.location.href.indexOf('=LEO') > -1 && workItem.AreaPath !== 'ART SPS\\LEO') || (window.location.href.indexOf('=MES') > -1 && workItem.AreaPath !== 'ART SPS\\MES'))
continue;
if (workItem["RiskReductionMinusOpportunityEnablement"] === null || workItem["TimeCriticality"] === null || workItem["BusinessValue"] === null)
workItem["CoD"] === 0;
else
workItem["CoD"] === workItem["RiskReductionMinusOpportunityEnablement"] + workItem["TimeCriticality"] + workItem["BusinessValue"];
if (parent === null) {
workItem["ParentId"] = 9999999;
workItem["ParentTitle"] = null;
workItem["ParentState"] = null;
}
else {
workItem["ParentId"] = parent["Id"];
workItem["ParentTitle"] = parent["Title"];
workItem["ParentState"] = getState(parent["State"]);
}
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);
@ -128,42 +130,45 @@ function updateSite() {
function initIndex(url) {
updateSite();
$.getJSON(url, { _: new Date().getTime() }, function (data) {
var workItems = getRecords(data);
var records = getRecords(data);
console.log(data.length);
if (data.length > 0)
console.log(data[0]);
$("#HeaderGrid").igGrid({
autoGenerateColumns: false,
dataSource: workItems,
dataSource: records,
height: "100%",
primaryKey: "Id",
width: "100%",
columns: [
{ key: "Violation", dataType: "string", hidden: true },
{ headerText: "Parent Id", key: "ParentId", dataType: "string" },
{ headerText: "Parent State", key: "ParentState", dataType: "string" },
{ 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: "Risk Reduction and/or Opportunity Enablement", key: "RiskReductionMinusOpportunityEnablement", dataType: "string" },
{ headerText: "Business Value", key: "BusinessValue", dataType: "number" },
{ headerText: "Time Criticality", key: "TimeCriticality", dataType: "number" },
{ headerText: "Effort", key: "Effort", dataType: "number" },
{ headerText: "Weighted Shortest Job First", key: "WeightedShortestJobFirst", 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: "Violation", dataType: "string", hidden: true },
{ key: "WeightedShortestJobFirst", dataType: "number", hidden: true },
{ key: "WorkItemType", dataType: "string", hidden: true },
],
features: [

View File

@ -115,7 +115,7 @@ function getWorkItems(data, dataB, description) {
var parent;
var workItem;
var workItems = [];
for (var i = data.length - 1; i > -1; i--) {
for (var i = 0; i < data.length; i++) {
parent = data[i].Parent;
workItem = data[i].WorkItem;
if (workItem.WorkItemType !== 'Feature')

View File

@ -115,7 +115,7 @@ function getWorkItems(data, dataB, description) {
var parent;
var workItem;
var workItems = [];
for (var i = data.length - 1; i > -1; i--) {
for (var i = 0; i < data.length; i++) {
parent = data[i].Parent;
workItem = data[i].WorkItem;
if (workItem.WorkItemType !== 'Feature')

View File

@ -1,5 +1,5 @@
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;
return b.State[0] - a.State[0] || b.ParentId - a.ParentId || a.Id - b.Id;
}
function showOne(rowData) {
@ -77,13 +77,13 @@ function getWorkItems(data) {
var parent;
var workItem;
var workItems = [];
for (var i = data.length - 1; i > -1; i--) {
for (var i = 0; i < data.length; i++) {
parent = data[i].Parent;
workItem = data[i].WorkItem;
if (workItem.WorkItemType !== 'User Story' && workItem.WorkItemType !== 'Bug')
continue;
if (workItem.Tags != null && workItem.Tags.includes("Ignore"))
continue;
if (workItem.WorkItemType !== 'User Story' && workItem.WorkItemType !== 'Bug')
continue;
if ((window.location.href.indexOf('=LEO') > -1 && workItem.AreaPath !== 'ART SPS\\LEO') || (window.location.href.indexOf('=MES') > -1 && workItem.AreaPath !== 'ART SPS\\MES'))
continue;
if (parent === null) {
@ -143,23 +143,15 @@ function initIndex(url) {
{ headerText: "System(s)", key: "Tags", dataType: "string" },
{ key: "Priority", 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: "ParentTitle", dataType: "string", hidden: true },
{ 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: "WeightedShortestJobFirst", dataType: "number", hidden: true },
{ key: "WorkItemType", dataType: "string", hidden: true },
],
features: [

View File

@ -79,7 +79,7 @@ function getWorkItems(data) {
var parent;
var workItem;
var workItems = [];
for (var i = data.length - 1; i > -1; i--) {
for (var i = 0; i < data.length; i++) {
parent = data[i].Parent;
workItem = data[i].WorkItem;
if (workItem.WorkItemType !== 'Feature')