Skip to content

Commit ba28bf1

Browse files
committed
Update trailing button navigation to work with orderPublisher
1 parent d7e2f3a commit ba28bf1

File tree

2 files changed

+8
-13
lines changed

2 files changed

+8
-13
lines changed

WooCommerce/Classes/ViewRelated/Orders/Order Creation/NewOrderViewModel.swift

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -278,16 +278,11 @@ extension NewOrderViewModel {
278278
var billingAddress: Address?
279279
var shippingAddress: Address?
280280

281-
/// Used to create `Order` and check if order details have changed from empty/default values.
282-
/// Required because `Order` has `Date` properties that have to be the same to be Equatable.
283-
///
284-
let emptyOrder = Order.empty
285-
286281
func toOrder() -> Order {
287-
emptyOrder.copy(status: .pending,
288-
items: items.map { $0.orderItem },
289-
billingAddress: billingAddress,
290-
shippingAddress: shippingAddress)
282+
OrderFactory.emptyNewOrder.copy(status: .pending,
283+
items: items.map { $0.orderItem },
284+
billingAddress: billingAddress,
285+
shippingAddress: shippingAddress)
291286
}
292287
}
293288

@@ -412,13 +407,13 @@ private extension NewOrderViewModel {
412407
/// Calculates what navigation trailing item should be shown depending on our internal state.
413408
///
414409
func configureNavigationTrailingItem() {
415-
Publishers.CombineLatest($orderDetails, $performingNetworkRequest)
416-
.map { orderDetails, performingNetworkRequest -> NavigationItem in
410+
Publishers.CombineLatest(orderSynchronizer.orderPublisher, $performingNetworkRequest)
411+
.map { order, performingNetworkRequest -> NavigationItem in
417412
guard !performingNetworkRequest else {
418413
return .loading
419414
}
420415

421-
guard orderDetails.emptyOrder != orderDetails.toOrder() else {
416+
guard OrderFactory.emptyNewOrder != order else {
422417
return .none
423418
}
424419

WooCommerce/Classes/ViewRelated/Orders/Order Creation/Synchronizer/LocalOrderSynchronizer.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ final class LocalOrderSynchronizer: OrderSynchronizer {
1414
$state
1515
}
1616

17-
@Published private(set) var order: Order = Order.empty
17+
@Published private(set) var order: Order = OrderFactory.emptyNewOrder
1818

1919
var orderPublisher: Published<Order>.Publisher {
2020
$order

0 commit comments

Comments
 (0)