xCMD_DeleteFromList method
Future<bool>
xCMD_DeleteFromList(
- XFDataItem itemToRemove,
- String title, {
- required List listFromClone_RemoveItem,
- required List listFromOriginal_RemoveItem,
- required dynamic cmd_Delete(
- String
),
})
Implementation
Future<bool> xCMD_DeleteFromList(XFDataItem itemToRemove, String title, {required List<dynamic> listFromClone_RemoveItem, required List<dynamic> listFromOriginal_RemoveItem, required Function(String) cmd_Delete}) async {
setState(() {
enteredInEditOnCell = true;
});
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(Colors.yellow),
);
});
if (x != null && x) {
editedPage.value = true;
if (listFromClone_RemoveItem.isEmpty) {
xBottomBarActions_Fill(editedPage.value);
}
var res = listFromOriginal_RemoveItem.firstWhereOrNull((element) => element.id == itemToRemove.id);
if (res != null) {
if (itemToRemove.id == null) {
return false;
} else {
listFromClone_RemoveItem.remove(itemToRemove);
setState(() {
enteredInEditOnCell = false;
});
await cmd_Delete(itemToRemove.id);
return true;
}
} else {
setState(() {
enteredInEditOnCell = false;
});
return false;
}
} else {
setState(() {
enteredInEditOnCell = false;
});
return false;
}
}