Update node details to have better switching between editing and creating of waypoints

This commit is contained in:
Garth Vander Houwen 2023-01-18 15:27:53 -08:00
parent 0aee940794
commit fac854f43e
5 changed files with 22 additions and 10 deletions

View file

@ -487,6 +487,10 @@ struct Config {
/// Clears the value of `ipv4Config`. Subsequent reads from it will return its default value.
mutating func clearIpv4Config() {self._ipv4Config = nil}
///
/// rsyslog Server and Port
var rsyslogServer: String = String()
var unknownFields = SwiftProtobuf.UnknownStorage()
enum AddressMode: SwiftProtobuf.Enum {
@ -1688,6 +1692,7 @@ extension Config.NetworkConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImp
6: .standard(proto: "eth_enabled"),
7: .standard(proto: "address_mode"),
8: .standard(proto: "ipv4_config"),
9: .standard(proto: "rsyslog_server"),
]
mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
@ -1703,6 +1708,7 @@ extension Config.NetworkConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImp
case 6: try { try decoder.decodeSingularBoolField(value: &self.ethEnabled) }()
case 7: try { try decoder.decodeSingularEnumField(value: &self.addressMode) }()
case 8: try { try decoder.decodeSingularMessageField(value: &self._ipv4Config) }()
case 9: try { try decoder.decodeSingularStringField(value: &self.rsyslogServer) }()
default: break
}
}
@ -1734,6 +1740,9 @@ extension Config.NetworkConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImp
try { if let v = self._ipv4Config {
try visitor.visitSingularMessageField(value: v, fieldNumber: 8)
} }()
if !self.rsyslogServer.isEmpty {
try visitor.visitSingularStringField(value: self.rsyslogServer, fieldNumber: 9)
}
try unknownFields.traverse(visitor: &visitor)
}
@ -1745,6 +1754,7 @@ extension Config.NetworkConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImp
if lhs.ethEnabled != rhs.ethEnabled {return false}
if lhs.addressMode != rhs.addressMode {return false}
if lhs._ipv4Config != rhs._ipv4Config {return false}
if lhs.rsyslogServer != rhs.rsyslogServer {return false}
if lhs.unknownFields != rhs.unknownFields {return false}
return true
}

View file

@ -57,7 +57,7 @@ struct DeviceMetadata {
///
/// Indicates the device's current enabled position flags
var positionFlags: Config.PositionConfig.PositionFlags = .unset
var positionFlags: UInt32 = 0
var unknownFields = SwiftProtobuf.UnknownStorage()
@ -96,7 +96,7 @@ extension DeviceMetadata: SwiftProtobuf.Message, SwiftProtobuf._MessageImplement
case 5: try { try decoder.decodeSingularBoolField(value: &self.hasBluetooth_p) }()
case 6: try { try decoder.decodeSingularBoolField(value: &self.hasEthernet_p) }()
case 7: try { try decoder.decodeSingularEnumField(value: &self.role) }()
case 8: try { try decoder.decodeSingularEnumField(value: &self.positionFlags) }()
case 8: try { try decoder.decodeSingularUInt32Field(value: &self.positionFlags) }()
default: break
}
}
@ -124,8 +124,8 @@ extension DeviceMetadata: SwiftProtobuf.Message, SwiftProtobuf._MessageImplement
if self.role != .client {
try visitor.visitSingularEnumField(value: self.role, fieldNumber: 7)
}
if self.positionFlags != .unset {
try visitor.visitSingularEnumField(value: self.positionFlags, fieldNumber: 8)
if self.positionFlags != 0 {
try visitor.visitSingularUInt32Field(value: self.positionFlags, fieldNumber: 8)
}
try unknownFields.traverse(visitor: &visitor)
}

View file

@ -177,12 +177,6 @@ struct WaypointFormView: View {
}
.onAppear {
name = ""
description = ""
locked = false
expires = false
expire = Date.now.addingTimeInterval(60 * 120)
icon = "📍"
if waypointId > 0 {
let waypoint = getWaypoint(id: Int64(waypointId), context: bleManager.context!)
waypointId = Int(waypoint.id)
@ -198,6 +192,12 @@ struct WaypointFormView: View {
expires = false
}
} else {
name = ""
description = ""
locked = false
expires = false
expire = Date.now.addingTimeInterval(60 * 120)
icon = "📍"
latitude = coordinate.latitude
longitude = coordinate.longitude
}

View file

@ -52,6 +52,7 @@ struct NodeDetail: View {
waypointCoordinate = coord
if waypointCoordinate != nil {
editingWaypoint = 0
presentingWaypointForm = true
}
}, onWaypointEdit: { wpId in

View file

@ -59,6 +59,7 @@ struct NodeMap: View {
waypointCoordinate = coord
if waypointCoordinate != nil {
editingWaypoint = 0
presentingWaypointForm = true
}
}, onWaypointEdit: { wpId in