Merge branch 'feature/alert_identifiable' into 'develop'
Make alert identifiable ### Summary Make Alert identifiable. Co-authored-by: Scott Pfeil <Scott.Pfeil3@verizonwireless.com> See merge request https://gitlab.verizon.com/BPHV_MIPS/mvm_core_ui/-/merge_requests/954
This commit is contained in:
commit
54cbe0dd77
@ -64,7 +64,7 @@ public struct AlertButtonModel: Codable {
|
||||
}
|
||||
}
|
||||
|
||||
public struct AlertModel: Codable, AlertModelProtocol {
|
||||
public struct AlertModel: Codable, Identifiable, AlertModelProtocol {
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Properties
|
||||
@ -75,6 +75,7 @@ public struct AlertModel: Codable, AlertModelProtocol {
|
||||
public var preferredStyle: UIAlertController.Style = .alert
|
||||
public var buttonModels: [AlertButtonModel]
|
||||
public var analyticsData: JSONValueDictionary?
|
||||
public var id: String
|
||||
|
||||
public var delegateObject: DelegateObject?
|
||||
|
||||
@ -99,11 +100,13 @@ public struct AlertModel: Codable, AlertModelProtocol {
|
||||
// MARK: - Init
|
||||
//--------------------------------------------------
|
||||
|
||||
public init(title: String, message: String, buttonModels: [AlertButtonModel], style: UIAlertController.Style = .alert, delegateObject: DelegateObject?) {
|
||||
public init(title: String, message: String, buttonModels: [AlertButtonModel], style: UIAlertController.Style = .alert, delegateObject: DelegateObject?, id: String = UUID().uuidString) {
|
||||
self.title = title
|
||||
self.message = message
|
||||
self.buttonModels = buttonModels
|
||||
self.preferredStyle = style
|
||||
self.delegateObject = delegateObject
|
||||
self.id = id
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
@ -116,6 +119,7 @@ public struct AlertModel: Codable, AlertModelProtocol {
|
||||
case alertActions
|
||||
case style
|
||||
case analyticsData
|
||||
case id
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
@ -133,6 +137,7 @@ public struct AlertModel: Codable, AlertModelProtocol {
|
||||
if let style = try typeContainer.decodeIfPresent(String.self, forKey: .style) {
|
||||
self.preferredStyle = UIAlertController.Style(rawValue: style)
|
||||
}
|
||||
id = try typeContainer.decodeIfPresent(String.self, forKey: .id) ?? UUID().uuidString
|
||||
}
|
||||
|
||||
public func encode(to encoder: Encoder) throws {
|
||||
@ -142,6 +147,7 @@ public struct AlertModel: Codable, AlertModelProtocol {
|
||||
try container.encodeIfPresent(buttonModels, forKey: .alertActions)
|
||||
try container.encode(preferredStyle.rawValueString, forKey: .style)
|
||||
try container.encodeIfPresent(analyticsData, forKey: .analyticsData)
|
||||
try container.encode(id, forKey: .id)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user