This commit is contained in:
2021-02-22 23:47:53 +00:00
parent 3f94db609e
commit 6582861474
2 changed files with 53 additions and 4 deletions

View File

@@ -679,6 +679,50 @@ export default {
return ret;
},
///////////////////////////////
// childRowHasError
// returns true if error exists for row
// else returns false
// (actual errors not returned just for row indicator,
// user opens child edit form to see exact error)
//
childRowHasError(vm, collectionName, rowIndex) {
//todo: this just shows server errors, not local form errors
//maybe find if there is any place that records item errors (form?)
//No server errors?
if (window.$gz.util.objectIsEmpty(vm.formState.serverError)) {
//nothing to process
return null;
}
//no detail errors?
if (window.$gz.util.objectIsEmpty(vm.formState.serverError.details)) {
//nothing to process
return null;
}
//Might be an error, check if collectionName is in error collection
//this is what we're dealing with
// { "code": "2200", "details": [ { "message": "LT:PurchaseOrderReceiptItemQuantityReceivedErrorInvalid", "target": "Items[0].QuantityReceived", "error": "2203" } ], "message": "ErrorAPI2200" }
let rowErrorTargetStart = `${collectionName}[${rowIndex}].`.toLowerCase();
//filter in items that start with the row collection name and index provided
let ret = vm.formState.serverError.details.some(function(o) {
// console.log("childrowHasError:", {
// tgt: o.target.toLowerCase(),
// tgtstrt: rowErrorTargetStart
// });
if (!o.target) {
return false;
}
let r = o.target.toLowerCase().includes(rowErrorTargetStart);
return r;
});
return ret;
},
///////////////////////////////
// ShowMe
// (returns false if the field has been set to hidden by the user in the formcustomtemplate)
// NOTE: that in a form this should only be used with non stock-required fields, if they are already required they cannot be hidden