feat: Cleaning up shared models.

This commit is contained in:
2024-06-10 09:03:54 -04:00
parent 68da203164
commit 51f7a30701
19 changed files with 383 additions and 339 deletions

View File

@@ -18,14 +18,14 @@ public struct EquipmentMeasurementForm {
public struct State: Equatable {
@Presents public var destination: Destination.State?
public var allowEquipmentTypeSelection: Bool
public var equipmentType: EquipmentType
public var equipmentType: EquipmentMeasurement.EquipmentType
public var focusedField: Field?
public var measurements: Measurements
public init(
allowEquipmentTypeSelection: Bool = true,
destination: Destination.State? = nil,
equipmentType: EquipmentType = .airHandler,
equipmentType: EquipmentMeasurement.EquipmentType = .airHandler,
focusedField: Field? = nil,
measurements: Measurements = .init()
) {
@@ -92,7 +92,9 @@ public struct EquipmentMeasurementForm {
}
}
public func equipmentMeasurement(type: EquipmentType) -> EquipmentMeasurement {
public func equipmentMeasurement(
type: EquipmentMeasurement.EquipmentType
) -> EquipmentMeasurement {
switch type {
case .airHandler:
@@ -229,14 +231,9 @@ public struct EquipmentMeasurementFormView: View {
} header: {
Text("Equipment Type")
} footer: {
Picker("Equipment Type", selection: $store.equipmentType) {
ForEach(EquipmentType.allCases) {
Text($0.description)
.tag($0)
}
}
.pickerStyle(.segmented)
.labelsHidden()
EquipmentTypePicker(selection: $store.equipmentType)
.pickerStyle(.segmented)
.labelsHidden()
}
}
Section {

View File

@@ -23,18 +23,18 @@ public struct EquipmentSettingsForm {
public struct State: Equatable {
@Presents public var destination: Destination.State?
public var coolingCapacity: CoolingCapacity
public var equipmentType: EquipmentType
public var fanType: FanType
public var coolingCapacity: EquipmentMetadata.CoolingCapacity
public var equipmentType: EquipmentMeasurement.EquipmentType
public var fanType: EquipmentMetadata.FanType
public var focusedField: Field? = nil
public var heatingCapacity: Double?
public var ratedStaticPressures: RatedStaticPressures
public init(
coolingCapacity: CoolingCapacity = .default,
coolingCapacity: EquipmentMetadata.CoolingCapacity = .default,
destination: Destination.State? = nil,
equipmentType: EquipmentType = .airHandler,
fanType: FanType = .constantSpeed,
equipmentType: EquipmentMeasurement.EquipmentType = .airHandler,
fanType: EquipmentMetadata.FanType = .constantSpeed,
heatingCapacity: Double? = nil,
ratedStaticPressures: RatedStaticPressures = .init()
) {
@@ -154,12 +154,13 @@ public struct EquipmentSettingsFormView: View {
: "Capacity"
)
Spacer()
Picker("Cooling Capcity", selection: $store.coolingCapacity) {
ForEach(CoolingCapacity.allCases) {
Text($0.description)
.tag($0)
}
}
CoolingCapacityPicker(selection: $store.coolingCapacity)
// Picker("Cooling Capcity", selection: $store.coolingCapacity) {
// ForEach(CoolingCapacity.allCases) {
// Text($0.description)
// .tag($0)
// }
// }
}
if store.equipmentType == .furnaceAndCoil {
GridRow {

View File

@@ -10,13 +10,13 @@ public struct EstimationForm {
@ObservableState
public struct State: Equatable {
public var cfmPerTon: Int
public var coolingCapacity: CoolingCapacity
public var coolingCapacity: EquipmentMetadata.CoolingCapacity
public var filterPressureDrop: Double?
public var name: String
public init(
cfmPerTon: Int = 350,
coolingCapacity: CoolingCapacity = .default,
coolingCapacity: EquipmentMetadata.CoolingCapacity = .default,
filterPressureDrop: Double? = nil,
name: String = ""
) {

View File

@@ -35,13 +35,13 @@ public struct FlaggedMeasurementsList {
public struct FlaggedMeasurementContainer: Equatable, Identifiable {
public let id: UUID
public var flaggedMeasurement: FlaggedEquipmentMeasurement
public var flaggedMeasurement: EquipmentMeasurement.FlaggedMeasurement
public var name: String
public init(
id: UUID,
name: String,
flaggedMeasurement: FlaggedEquipmentMeasurement
flaggedMeasurement: EquipmentMeasurement.FlaggedMeasurement
) {
self.id = id
self.name = name
@@ -58,8 +58,8 @@ public struct FlaggedMeasurementsList {
@CasePathable
public enum ReceiveAction {
case existingFlaggedMeasurement(FlaggedEquipmentMeasurement)
case estimatedFlaggedMeasurement(name: String, measurement: FlaggedEquipmentMeasurement)
case existingFlaggedMeasurement(EquipmentMeasurement.FlaggedMeasurement)
case estimatedFlaggedMeasurement(name: String, measurement: EquipmentMeasurement.FlaggedMeasurement)
}
@CasePathable
@@ -190,7 +190,7 @@ public struct FlaggedMeasurementsList {
filterPressureDrop: filterPressureDrop
)
let flaggedMeasurement = FlaggedEquipmentMeasurement(
let flaggedMeasurement = EquipmentMeasurement.FlaggedMeasurement(
budgets: budgets,
measurement: measurement,
ratedPressures: ratedStaticPressures,

View File

@@ -4,19 +4,19 @@ import SharedModels
struct SharedSettings: Equatable {
var budgets: BudgetedPercentEnvelope?
var coolingCapacity: CoolingCapacity
var coolingCapacity: EquipmentMetadata.CoolingCapacity
var equipmentMeasurement: EquipmentMeasurement?
var fanType: FanType
var flaggedEquipmentMeasurement: FlaggedEquipmentMeasurement?
var fanType: EquipmentMetadata.FanType
var flaggedEquipmentMeasurement: EquipmentMeasurement.FlaggedMeasurement?
var heatingCapacity: Double?
var ratedStaticPressures: RatedStaticPressures
init(
budgets: BudgetedPercentEnvelope? = nil,
coolingCapacity: CoolingCapacity = .default,
coolingCapacity: EquipmentMetadata.CoolingCapacity = .default,
equipmentMeasurement: EquipmentMeasurement? = nil,
fanType: FanType = .constantSpeed,
flaggedEquipmentMeasurement: FlaggedEquipmentMeasurement? = nil,
fanType: EquipmentMetadata.FanType = .constantSpeed,
flaggedEquipmentMeasurement: EquipmentMeasurement.FlaggedMeasurement? = nil,
heatingCapacity: Double? = nil,
ratedStaticPressures: RatedStaticPressures = .init()
) {