I got it to work, but I’m still not sure what is actually happening!
I created a hook on BeforeInsert to do the totaling of the input fields and set the total into a field in the collection.
Backend code:
export function GrantApplications_beforeInsert(item, context) {
//TODO: write your code here...
var rev1 = Number(item.revenueItem1Amount);
var rev2 = Number(item.revenueItem2Amount);
var rev3 = Number(item.revenueItem3Amount);
var rev4 = Number(item.revenueItem4Amount);
var rev5 = Number(item.revenueItem5Amount);
var revA = Number(item.revenueItemAAmount);
var revB = Number(item.revenueItemBAmount);
var revC = Number(item.revenueItemCAmount);
var revD = Number(item.revenueItemDAmount);
var revE = Number(item.revenueItemEAmount);
var revF = Number(item.revenueItemFAmount);
var revG = Number(item.revenueItemGAmount);
var revH = Number(item.revenueItemHAmount);
var revI = Number(item.revenueItemIAmount);
var revTotal = parseFloat(rev1+rev2+rev3+rev4+rev5+revA+revB+revC+revD+revE+revF+revG+revH+revI);
item.revenueItemTotal = revTotal;
return item;
}
Even addning the above to the front end didn’t solve the issue.
When the total is writting with code into $w(‘#inputRevenueItemTotalAmount’).value, it just didn’t get added to the collection field.
This is the front end code:
export function sumRevenueAmount (){
var total
total = (
Number($w('#inputRevenueItem1Amount').value.replace('', '0'))+
Number($w('#inputRevenueItem2Amount').value.replace('', '0'))+
Number($w('#inputRevenueItem3Amount').value.replace('', '0'))+
Number($w('#inputRevenueItem4Amount').value.replace('', '0'))+
Number($w('#inputRevenueItem5Amount').value.replace('', '0'))+
Number($w('#inputRevenueItemAAmount').value.replace('', '0'))+
Number($w('#inputRevenueItemBAmount').value.replace('', '0'))+
Number($w('#inputRevenueItemCAmount').value.replace('', '0'))+
Number($w('#inputRevenueItemDAmount').value.replace('', '0'))+
Number($w('#inputRevenueItemEAmount').value.replace('', '0'))+
Number($w('#inputRevenueItemFAmount').value.replace('', '0'))+
Number($w('#inputRevenueItemGAmount').value.replace('', '0'))+
Number($w('#inputRevenueItemHAmount').value.replace('', '0'))+
Number($w('#inputRevenueItemIAmount').value.replace('', '0'))
)
$w('#inputRevenueItemTotalAmount').value = total;
}
Pheeww. this has only taking me like 12 hours to get to work!!