From e36bc5d7393291bcd42036ef21dbfcde0978a839 Mon Sep 17 00:00:00 2001 From: Pavlo Tsimura Date: Thu, 25 Jan 2024 12:49:26 +0100 Subject: [PATCH 1/2] Fix waypoints removal when editing the request --- src/components/DistanceRequest/index.js | 4 ++-- src/pages/iou/request/step/IOURequestStepWaypoint.js | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/components/DistanceRequest/index.js b/src/components/DistanceRequest/index.js index b63ce337a1d9..7a2de5d4a158 100644 --- a/src/components/DistanceRequest/index.js +++ b/src/components/DistanceRequest/index.js @@ -200,11 +200,11 @@ function DistanceRequest({transactionID, report, transaction, route, isEditingRe setOptimisticWaypoints(newWaypoints); // eslint-disable-next-line rulesdir/no-thenable-actions-in-views - Transaction.updateWaypoints(transactionID, newWaypoints).then(() => { + Transaction.updateWaypoints(transactionID, newWaypoints, !isEditingRequest).then(() => { setOptimisticWaypoints(null); }); }, - [transactionID, waypoints, waypointsList], + [transactionID, isEditingRequest, waypoints, waypointsList], ); const submitWaypoints = useCallback(() => { diff --git a/src/pages/iou/request/step/IOURequestStepWaypoint.js b/src/pages/iou/request/step/IOURequestStepWaypoint.js index 1087018eeed9..cb53a2887ec3 100644 --- a/src/pages/iou/request/step/IOURequestStepWaypoint.js +++ b/src/pages/iou/request/step/IOURequestStepWaypoint.js @@ -91,6 +91,7 @@ function IOURequestStepWaypoint({ const [isDeleteStopModalOpen, setIsDeleteStopModalOpen] = useState(false); const navigation = useNavigation(); const isFocused = navigation.isFocused(); + const isCreatingRequest = action === CONST.IOU.ACTION.CREATE; const {translate} = useLocalize(); const {isOffline} = useNetwork(); const textInput = useRef(null); @@ -135,14 +136,14 @@ function IOURequestStepWaypoint({ return errors; }; - const saveWaypoint = (waypoint) => Transaction.saveWaypoint(transactionID, pageIndex, waypoint, action === CONST.IOU.ACTION.CREATE); + const saveWaypoint = (waypoint) => Transaction.saveWaypoint(transactionID, pageIndex, waypoint, isCreatingRequest); const submit = (values) => { const waypointValue = values[`waypoint${pageIndex}`] || ''; // Allows letting you set a waypoint to an empty value if (waypointValue === '') { - Transaction.removeWaypoint(transaction, pageIndex, true); + Transaction.removeWaypoint(transaction, pageIndex, isCreatingRequest); } // While the user is offline, the auto-complete address search will not work @@ -162,7 +163,7 @@ function IOURequestStepWaypoint({ }; const deleteStopAndHideModal = () => { - Transaction.removeWaypoint(transaction, pageIndex, true); + Transaction.removeWaypoint(transaction, pageIndex, isCreatingRequest); setIsDeleteStopModalOpen(false); Navigation.goBack(ROUTES.MONEY_REQUEST_DISTANCE_TAB.getRoute(iouType)); }; @@ -180,7 +181,7 @@ function IOURequestStepWaypoint({ address: values.address, name: values.name || null, }; - Transaction.saveWaypoint(transactionID, pageIndex, waypoint, action === CONST.IOU.ACTION.CREATE); + Transaction.saveWaypoint(transactionID, pageIndex, waypoint, isCreatingRequest); if (backTo) { Navigation.goBack(backTo); return; From f04246c186eaafd0d0573c1aff37a8b63f6fdf7c Mon Sep 17 00:00:00 2001 From: Pavlo Tsimura Date: Sat, 24 Feb 2024 17:24:13 +0100 Subject: [PATCH 2/2] After merge cleanup --- src/pages/iou/request/step/IOURequestStepWaypoint.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/iou/request/step/IOURequestStepWaypoint.tsx b/src/pages/iou/request/step/IOURequestStepWaypoint.tsx index b19b9dcd547f..b301fcbfff72 100644 --- a/src/pages/iou/request/step/IOURequestStepWaypoint.tsx +++ b/src/pages/iou/request/step/IOURequestStepWaypoint.tsx @@ -114,7 +114,7 @@ function IOURequestStepWaypoint({ return errors; }; - const saveWaypoint = (waypoint: FormOnyxValues<'waypointForm'>) => Transaction.saveWaypoint(transactionID, pageIndex, waypoint, action === CONST.IOU.ACTION.CREATE); + const saveWaypoint = (waypoint: FormOnyxValues<'waypointForm'>) => Transaction.saveWaypoint(transactionID, pageIndex, waypoint, isCreatingRequest); const submit = (values: FormOnyxValues<'waypointForm'>) => { const waypointValue = values[`waypoint${pageIndex}`] ?? ''; @@ -151,7 +151,7 @@ function IOURequestStepWaypoint({ name: values.name, }; - Transaction.saveWaypoint(transactionID, pageIndex, waypoint, action === CONST.IOU.ACTION.CREATE); + Transaction.saveWaypoint(transactionID, pageIndex, waypoint, isCreatingRequest); if (backTo) { Navigation.goBack(backTo); return;