xEditDialog_xOnAddItem method

Future<bool> xEditDialog_xOnAddItem(
  1. XView xView,
  2. XFDataItem item,
  3. void setState(
    1. void ()
    ), {
  4. List<ScontiBTN>? liSconti,
})

EditDialog per l'Aggiunta di un nuovo Items che fa un aggiunta a sequenza per ogni colonna della Vista

Implementation

Future<bool> xEditDialog_xOnAddItem(XView xView, XFDataItem item, void Function(void Function()) setState, {List<ScontiBTN>? liSconti}) async {
  bool isFirst = false;
  int u = 0;
  bool rval = true;

  if (xView.cols.where((e) => e.dataType != bool || e.readOnly != true || e.colKey.startsWith("li").not()).length == 1) {
    isFirst = false;
  } else {
    for (var i in xView.cols) {
      if (i.dataType == bool || i.readOnly == true || i.colKey.startsWith("li")) continue;
      u++;
      var x = await xEditDialog(item, i.colCaption, item[i.colKey], i, liSconti: liSconti);
      if (x == null) {
        rval = false;

        if (u == 1) isFirst = true;
        break;
      } else
        item[i.colKey] = x;
    }
  }

  if (!isFirst) {
    rval = await xPreview_Dialog(xView, item);
  }
  return rval;
}