xLayout_DialogAddItem method
Gestione dell'aggiunta di un Item
Implementation
Future<XFDataItem?> xLayout_DialogAddItem(XView xView, XFDataItem item, void Function(void Function()) setState, {List<ScontiBTN>? liSconti}) async {
bool isFirst = false;
int u = 0;
setState(() {
enteredInEditOnCell = true;
});
XFDataItem? rval = null;
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) {
if (u == 1) isFirst = true;
break;
} else {
item[i.colKey] = x;
}
}
}
if (!isFirst) rval = await xPreview_Dialog(xView, item);
setState(() => enteredInEditOnCell = false);
return rval;
}