xCMD_DeleteFromList method
Comando per rimuovere un Item dalla Lista e scatenare il change
Implementation
Future<bool> xCMD_DeleteFromList(XFDataItem itemToRemove, String title, {required Function(String) cmd_Delete}) async {
bool x = await showDialog(
barrierDismissible: false,
context: context,
builder: (builder) {
return XAlertDialog(
btnNO_label: "NO",
btnYES_label: "SI",
btnYES_OnPressed: () => Navigator.pop(context, true),
btnNO_OnPressed: () => Navigator.pop(context, false),
title_Text: title,
title_Style: XStyles.xStyTextForSubLabel(textColor: Colors.yellow),
);
});
if (x) {
if (itemToRemove.id == "") {
return false;
} else {
if (widget.liDetts != null) {
setState(() => widget.liDetts!.remove(itemToRemove));
} else {
setState(() => list.remove(itemToRemove));
}
await cmd_Delete(itemToRemove.id);
if (widget.rootItemEdited != null && itemToRemove is K) {
widget.rootItemEdited!(itemToRemove);
} else if (widget.itemEdited != null) {
widget.itemEdited!(itemToRemove);
}
if (widget.edited != null) widget.edited!.value = true;
return true;
}
} else
return false;
}