in src/wsjf.tsx [30:61]
function updateWSJFOnForm(storedFields:StoredFieldReferences) {
getWorkItemFormService().then((service) => {
service.getFields().then((fields: TFS_Wit_Contracts.WorkItemField[]) => {
var matchingBusinessValueFields = fields.filter(field => field.referenceName === storedFields.bvField);
var matchingTimeCriticalityFields = fields.filter(field => field.referenceName === storedFields.tcField);
var matchingRROEValueFields = fields.filter(field => field.referenceName === storedFields.rvField);
var matchingEffortFields = fields.filter(field => field.referenceName === storedFields.effortField);
var matchingWSJFFields = fields.filter(field => field.referenceName === storedFields.wsjfField);
//If this work item type has WSJF, then update WSJF
if ((matchingBusinessValueFields.length > 0) &&
(matchingTimeCriticalityFields.length > 0) &&
(matchingRROEValueFields.length > 0) &&
(matchingEffortFields.length > 0) &&
(matchingWSJFFields.length > 0)) {
service.getFieldValues([storedFields.bvField, storedFields.tcField, storedFields.rvField, storedFields.effortField]).then((values) => {
var businessValue = +values[storedFields.bvField];
var timeCriticality = +values[storedFields.tcField];
var rroevalue = +values[storedFields.rvField];
var effort = +values[storedFields.effortField];
var wsjf = 0;
if (effort > 0) {
wsjf = (businessValue + timeCriticality + rroevalue)/effort;
}
service.setFieldValue(storedFields.wsjfField, wsjf);
});
}
});
});
}