PumpConfigViewModel.swift 847 B

1234567891011121314151617181920212223242526272829
  1. import LoopKitUI
  2. import SwiftUI
  3. extension PumpConfig {
  4. class ViewModel<Provider>: BaseViewModel<Provider>, ObservableObject where Provider: PumpConfigProvider {
  5. @Published var rileyDisplayStates: [RileyDisplayState] = []
  6. @Published var setupPump = false
  7. private(set) var setupPumpType: PumpType = .minimed
  8. override func subscribe() {
  9. provider.rileyDisplayStates()
  10. .receive(on: DispatchQueue.main)
  11. .assign(to: \.rileyDisplayStates, on: self)
  12. .store(in: &lifetime)
  13. }
  14. func addPump(_ type: PumpType) {
  15. setupPump = true
  16. setupPumpType = type
  17. }
  18. }
  19. }
  20. extension PumpConfig.ViewModel: CompletionDelegate {
  21. func completionNotifyingDidComplete(_: CompletionNotifying) {
  22. setupPump = false
  23. }
  24. }