| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import SwiftUI
- extension FPUConfig {
- final class StateModel: BaseStateModel<Provider> {
- @Published var useFPUconversion = false
- @Published var individualAdjustmentFactor: Decimal = 0
- @Published var timeCap: Decimal = 0
- @Published var minuteInterval: Decimal = 0
- @Published var delay: Decimal = 0
- override func subscribe() {
- subscribeSetting(\.useFPUconversion, on: $useFPUconversion) { useFPUconversion = $0 }
- subscribeSetting(\.timeCap, on: $timeCap) { timeCap = $0 }
- subscribeSetting(\.timeCap, on: $timeCap, initial: {
- let value = max(min($0, 12), 6)
- timeCap = value
- }, map: {
- $0
- })
- subscribeSetting(\.minuteInterval, on: $minuteInterval.map(Int.init), initial: {
- let value = max(min($0, 60), 10)
- minuteInterval = Decimal(value)
- }, map: {
- $0
- })
- subscribeSetting(\.delay, on: $delay.map(Int.init), initial: {
- let value = max(min($0, 120), 60)
- delay = Decimal(value)
- }, map: {
- $0
- })
- subscribeSetting(\.individualAdjustmentFactor, on: $individualAdjustmentFactor, initial: {
- let value = max(min($0, 1.2), 0.1)
- individualAdjustmentFactor = value
- }, map: {
- $0
- })
- }
- }
- }
|