formChanged method
dynamic
formChanged(
- BuildContext context,
- dynamic formid,
- dynamic needSetfocus
)
Implementation
formChanged(BuildContext context, formid, needSetfocus) {
myLogAll('formChanged');
Map<dynamic, dynamic> obj = _formLists[formid]![gItems];
var changed = false;
Map data = {};
data[gFormid] = formid;
data[gId] = (obj[gId] != null) ? obj[gId][gValue] : '';
data[gOptLock] = '';
if (obj[gOptLock] != null) {
data[gOptLock] = obj[gOptLock][gValue] ?? '';
}
data[gOptLock] = (obj.containsKey(gOptLock)) ? obj[gOptLock][gValue] : '';
for (int i = 0; i < obj.entries.length; i++) {
MapEntry<dynamic, dynamic> element = obj.entries.elementAt(i);
var item = element.value;
var type = item[gType];
if (type == gId) {
data[gId] = item[gValue];
} else if (item[gType] == gLabel) {
} else if (item[gType] == gHidden) {
} else if (!isNull(item[gDbid])) {
var value = getValue(formid, item[gId], data[gId])[gValue];
var alert = isItemValueValidStr(item, value);
if ((alert ?? '') != '') {
/*if (alert == gRequired) {
alert = '${item[gLabel]} ${getSCurrent(" is required")}';
}
showMsg(context, alert, null);
*/
if (needSetfocus) {
setFocusOne(formid, item[gId], null, true, context, -1);
}
return {gStatus: false, gData: data, gCol: obj};
}
//data[objI[gDbid]] = value;
if (item[gHash] != null && item[gHash]) {
value = hash(value);
}
if (type == gDate && !isNull(value)) {
//value = value.format(gDateformat);
//data[objI[gDbid]] =
// DateFormat(gDateformat).format(value);
} else if (type == gDatetime) {
value = toUTCTime(value);
}
var oldValue = getValueOriginal(formid, item[gId], data[gId]);
if (isNull(oldValue)) {
oldValue = '';
}
value ??= '';
if (item[gId] != '' && item[gIsPrimary] != null && item[gIsPrimary]) {
data[item[gDbid]] = oldValue;
}
if (value != oldValue) {
changed = true;
data[item[gDbid]] = value;
} else if (isNull(data[gId])) {
data[item[gDbid]] = value;
}
}
}
//print(' ------------------ formSubmit 2');
return {gStatus: changed, gData: data, gCol: obj};
}