getValueLabelThird function

dynamic getValueLabelThird(
  1. dynamic datamodel,
  2. dynamic aLabel,
  3. dynamic type
)

Implementation

getValueLabelThird(datamodel, aLabel, type) {
  if (isNull(aLabel)) {
    return '';
  }
  String sLabel = aLabel.toString();
  if (sLabel.indexOf('[tipLabel]') > 0) {
    //"$5.68 0.12 12%"
    List sList = sLabel.split(' ');
    var amount = fromMoney(sList[0]);
    if (isNull(amount)) {
      amount = '0';
    }
    var tipPercentage = sList[1];
    String sTip = datamodel.expressValue({}, '$amount*$tipPercentage');

    if (sTip.indexOf('.') > 0) {
      sTip = sTip.substring(0, sTip.indexOf('.'));
    }
    String remain = sList[2];
    remain = remain.substring(0, remain.indexOf('['));
    if (!isNull(type) && type == gLabel) {
      String result = '$remain [${toMoney(sTip)}]';
      return result;
    } else {
      return toMoney(sTip);
    }
  }
  if (sLabel.indexOf('[$gUnpaid]') > 0) {
    var unpaid = datamodel.getValueByCol({gValue: gUnpaid}, null) ?? '';
    return sLabel.replaceAll('[$gUnpaid]', unpaid);
  }

  return aLabel;
}