setFocusNode method

dynamic setFocusNode(
  1. dynamic map,
  2. dynamic context
)

Implementation

setFocusNode(map, context) {
  myLogAll('setFocusNode');
  Map lastFocusNode = getMap(_mFocusNode);
  if (lastFocusNode[gType] == map[gType] &&
      (lastFocusNode[gName] ?? '') == (map[gName] ?? '') &&
      (lastFocusNode[gCol] ?? '') == (map[gCol] ?? '') &&
      (lastFocusNode[gId] == map[gId]) &&
      (lastFocusNode[gSelection] ==
          (map[gSelection] ?? lastFocusNode[gSelection]))) {
    return;
  }

  //addnewcheck
  /*
  检查是否table
    检查上一项是否addnewcheck
      检查上一项是否修改
        检查上一项与本项是否相同
          向后台发addnewcheck验证
  后台如果发现新值已存在,执行操作(将值传回)
  前端:
  */
  if (lastFocusNode[gType] == gTable) {
    if (!isNull(lastFocusNode[gCol]) &&
        !isNull(lastFocusNode[gName]) &&
        lastFocusNode[gCol] != gSearchZzy) {
      /*if (!isNull(map) && !isNull(map[gCol])) {
        dynamic mapItem = getTableCol(lastFocusNode[gName], map[gCol]);
        if (isreadonly(mapItem, map[gName])) {
          return;
        }
      }*/

      dynamic item = getTableCol(lastFocusNode[gName], lastFocusNode[gCol]);
      var value = getValue(
          lastFocusNode[gName], lastFocusNode[gCol], lastFocusNode[gId]);
      if (value[gType] != gOriginalValue) {
        var valueModified = value[gValue];

        bool isItemValid = isItemValueValid(item, valueModified);

        if (isItemValid && (item[gAddnewcheck] ?? false)) {
          //send request
          lastFocusNode[gValue] = valueModified;
          sendRequestOne(gAddnewcheck, lastFocusNode, context);
        }
      }
    }
  }
  setMyFocusNode(map);

  if (isNull(_mFocusNode[gErrMsg])) {
    return;
  }
  //var msg = _mFocusNode[gErrMsg];
  _mFocusNode[gErrMsg] = '';
  _mFocusNode[gId] = '';
}