Skip to content

Commit 4d74ddd

Browse files
committed
Add simulated networking action for remote address update
1 parent 986b52e commit 4d74ddd

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

WooCommerce/Classes/ViewRelated/Orders/Order Details/Address Edit/EditAddressForm.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,9 @@ struct EditAddressForm: View {
150150
switch viewModel.navigationTrailingItem {
151151
case .done(let enabled):
152152
Button(Localization.done) {
153-
// TODO: update remote address
153+
viewModel.updateRemoteAddress(onFinish: { success in
154+
// TODO: dismiss on success
155+
})
154156
}
155157
.disabled(!enabled)
156158
case .loading:

WooCommerce/Classes/ViewRelated/Orders/Order Details/Address Edit/EditAddressFormViewModel.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,18 @@ final class EditAddressFormViewModel: ObservableObject {
5555
func createCountryViewModel() -> CountrySelectorViewModel {
5656
CountrySelectorViewModel(siteID: siteID)
5757
}
58+
59+
/// Update the address remotely and invoke a completion block when finished
60+
///
61+
func updateRemoteAddress(onFinish: @escaping (Bool) -> Void) {
62+
// TODO: perform network request
63+
// TODO: add success/failure notice
64+
performingNetworkRequest.send(true)
65+
DispatchQueue.main.asyncAfter(deadline: .now() + 3) { [weak self] in
66+
self?.performingNetworkRequest.send(false)
67+
onFinish(true)
68+
}
69+
}
5870
}
5971

6072
extension EditAddressFormViewModel {

0 commit comments

Comments
 (0)