itemPageCancel method

  1. @override
Future<void> itemPageCancel({
  1. bool useValidation = true,
  2. BuildContext? context,
})
override

Close row page and restore current (selectedItem) item from backup

Implementation

@override
Future<void> itemPageCancel({bool useValidation = true, BuildContext? context}) async {
  if (useValidation) {
    if (isModified) {
      if (NsgBaseController.saveOrCancelDefaultDialog == null) {
        return;
      }
      var result = await NsgBaseController.saveOrCancelDefaultDialog!(context ?? Get.context!);
      switch (result) {
        case null:
          break;
        case true:
          itemPagePost(goBack: true);
          break;
        case false:
          if (backupItem != null) {
            selectedItem = backupItem;
            //20.06.2022 Попытка убрать лишнее обновление
            //selectedItemChanged.broadcast(null);
            backupItem = null;
          }
          Get.back();
          break;
      }
    } else {
      if (backupItem != null) {
        selectedItem = backupItem;
        //20.06.2022 Попытка убрать лишнее обновление
        //selectedItemChanged.broadcast(null);
        backupItem = null;
      }
      Get.back();
    }
  }
}