itemPageCancel method

void itemPageCancel({
  1. bool useValidation = true,
  2. required BuildContext context,
})

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

Implementation

void itemPageCancel({bool useValidation = true, required BuildContext context}) async {
  if (useValidation) {
    if (isModified) {
      // Use the existing callback pattern instead of direct call
      if (saveOrCancelDefaultDialog == null) {
        // Fallback behavior if no dialog is set
        return;
      }
      var result = await saveOrCancelDefaultDialog!(context);
      switch (result) {
        case null:
          return;
        case true:
          itemPagePost(goBack: true);
          return;
        case false:
          break;
      }
    }
  }
  if (backupItem != null) {
    selectedItem = backupItem;
    //20.06.2022 Попытка убрать лишнее обновление
    //selectedItemChanged.broadcast(null);
    backupItem = null;
  }
  if (context.mounted) {
    Navigator.of(context).pop();
  } else {
    Get.back();
  }
}