Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix waypoints removal #35268

Closed
4 changes: 2 additions & 2 deletions src/components/DistanceRequest/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -207,11 +207,11 @@ function DistanceRequest({transactionID = '', report, transaction, route, isEdit

setOptimisticWaypoints(newWaypoints);
// eslint-disable-next-line rulesdir/no-thenable-actions-in-views
TransactionUserActions.updateWaypoints(transactionID, newWaypoints).then(() => {
TransactionUserActions.updateWaypoints(transactionID, newWaypoints, !isEditingRequest).then(() => {
setOptimisticWaypoints(undefined);
});
},
[transactionID, waypoints, waypointsList],
[transactionID, isEditingRequest, waypoints, waypointsList],
);

const submitWaypoints = useCallback(() => {
Expand Down
9 changes: 5 additions & 4 deletions src/pages/iou/request/step/IOURequestStepWaypoint.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,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<TextInput | null>(null);
Expand Down Expand Up @@ -113,13 +114,13 @@ 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}`] ?? '';
// 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
Expand All @@ -137,7 +138,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));
};
Expand All @@ -150,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;
Expand Down
Loading