setFocusNext method
dynamic
setFocusNext(
- dynamic name,
- dynamic colId,
- dynamic id,
- dynamic isForm,
- dynamic context,
Implementation
setFocusNext(name, colId, id, isForm, context) {
myLog('setFocusNext $name,colId: $colId, id: $id,isForm: $isForm');
if (isNull(colId) || isNull(name)) {
return;
}
var type = isNullID(id) ? gForm : gTable;
bool findItem = false;
if (type == gForm) {
Map<dynamic, dynamic> itemsMap = _formLists[name]![gItems];
for (var itemOne in itemsMap.entries) {
Map item = itemOne.value;
if (findItem) {
if (isreadonly(item, name)) {
continue;
}
var value = getValueByCol({gValue: item[gId]}, context);
if (isNull(value)) {
setFocusNode(
{gType: type, gName: name, gCol: item[gId], gIsForm: isForm},
context);
break;
}
}
if (item[gId] == colId) {
findItem = true;
}
}
} else {
List columns = tableList[name]![gColumns];
for (int i = 0; i < columns.length; i++) {
if (findItem) {
if (columns[i][gInputType] == gHidden) {
continue;
}
if (columns[i][gType] == gLabel) {
continue;
}
if (!isNull(columns[i][gShowrange])) {
if (isForm && columns[i][gShowrange] != gForm) {
continue;
}
if (!isForm && columns[i][gShowrange] != gTable) {
continue;
}
}
setFocusNode(
{gType: type, gName: name, gCol: columns[i][gId], gId: id},
context);
return;
}
if (columns[i][gId] == colId) {
findItem = true;
}
}
}
}