setFormValueByParent method

dynamic setFormValueByParent(
  1. dynamic actionData,
  2. dynamic context
)

Implementation

setFormValueByParent(actionData, context) {
  myLogAll('setFormValueByParent');
  //{label: 12%, type: localAction, actionid: setFormValueByParent, value: 12, parent: amount, key: %, col: tip, color: 4278238420, width: 40.0}
  var parent = actionData[gParent];
  var col = actionData[gCol];
  var formname = _mFocusNode[gName];
  var id = _mFocusNode[gId];
  var parentValue = getValue(formname, parent, id)[gValue];
  if (actionData[gKey] == '%') {
    var valueThis = actionData[gValue];
    bool isMoney = false;
    if (parentValue.toString().startsWith('\$')) {
      isMoney = true;
      parentValue = fromMoney(parentValue);
    }

    var valueThisParent = expressValue({}, '$parentValue*$valueThis');
    var value = getInt(expressValue({}, '$valueThisParent/100.0'));
    if (isMoney) {
      value = toMoney(value);
    }
    setValue(formname, col, null, value, context);
  }
  myNotifyListeners();
}