feat: Adds text labeled content and style.
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
import ComposableArchitecture
|
||||
import Foundation
|
||||
import SharedModels
|
||||
|
||||
/// Holds onto shared values for several of the views in this feature.
|
||||
@dynamicMemberLookup
|
||||
public struct SharedPressureEstimationState: Equatable, Sendable {
|
||||
public var budgets: BudgetedPercentEnvelope?
|
||||
public var equipmentMeasurement: EquipmentMeasurement?
|
||||
public var equipmentMetadata: EquipmentMetadata
|
||||
public var flaggedEquipmentMeasurement: EquipmentMeasurement.FlaggedMeasurement?
|
||||
public var flaggedEstimations: IdentifiedArrayOf<FlaggedMeasurementContainer>
|
||||
public var heatingCapacity: Double?
|
||||
public var manufacturersIncludedFilterPressureDrop: Double?
|
||||
|
||||
public init(
|
||||
budgets: BudgetedPercentEnvelope? = nil,
|
||||
equipmentMeasurement: EquipmentMeasurement? = nil,
|
||||
equipmentMetadata: EquipmentMetadata = .init(),
|
||||
flaggedEquipmentMeasurement: EquipmentMeasurement.FlaggedMeasurement? = nil,
|
||||
flaggedEstimations: IdentifiedArrayOf<FlaggedMeasurementContainer> = [],
|
||||
heatingCapacity: Double? = nil,
|
||||
manufacturersIncludedFilterPressureDrop: Double? = nil
|
||||
) {
|
||||
self.budgets = budgets
|
||||
self.equipmentMeasurement = equipmentMeasurement
|
||||
self.equipmentMetadata = equipmentMetadata
|
||||
self.flaggedEquipmentMeasurement = flaggedEquipmentMeasurement
|
||||
self.flaggedEstimations = flaggedEstimations
|
||||
self.heatingCapacity = heatingCapacity
|
||||
self.manufacturersIncludedFilterPressureDrop = manufacturersIncludedFilterPressureDrop
|
||||
}
|
||||
|
||||
public subscript<T>(dynamicMember keyPath: WritableKeyPath<EquipmentMetadata, T>) -> T {
|
||||
get { equipmentMetadata[keyPath: keyPath] }
|
||||
set { equipmentMetadata[keyPath: keyPath] = newValue }
|
||||
}
|
||||
|
||||
public struct FlaggedMeasurementContainer: Equatable, Identifiable, Sendable {
|
||||
public let id: UUID
|
||||
public var flaggedMeasurement: EquipmentMeasurement.FlaggedMeasurement
|
||||
public var name: String
|
||||
|
||||
public init(
|
||||
id: UUID,
|
||||
name: String,
|
||||
flaggedMeasurement: EquipmentMeasurement.FlaggedMeasurement
|
||||
) {
|
||||
self.id = id
|
||||
self.name = name
|
||||
self.flaggedMeasurement = flaggedMeasurement
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension PersistenceReaderKey where Self == InMemoryKey<SharedPressureEstimationState> {
|
||||
static var sharedPressureEstimationSettings: Self {
|
||||
.inMemory("sharedPressureEstimationSettings")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user