identifiable streamlining
iCloud fix
This commit is contained in:
parent
f7f9731209
commit
f8c6a11199
@ -7,12 +7,13 @@
|
||||
//
|
||||
|
||||
|
||||
@objcMembers open class LabelModel: MoleculeModelProtocol {
|
||||
@objcMembers open class LabelModel: MoleculeModelProtocol, Identifiable {
|
||||
//--------------------------------------------------
|
||||
// MARK: - Properties
|
||||
//--------------------------------------------------
|
||||
|
||||
open class var identifier: String { "label" }
|
||||
public var id: String
|
||||
public var backgroundColor: Color?
|
||||
public var text: String
|
||||
public var accessibilityText: String?
|
||||
@ -34,6 +35,7 @@
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case moleculeName
|
||||
case id
|
||||
case text
|
||||
case accessibilityText
|
||||
case textColor
|
||||
@ -58,7 +60,8 @@
|
||||
// MARK: - Initializer
|
||||
//--------------------------------------------------
|
||||
|
||||
public init(text: String) {
|
||||
public init(id: String = UUID().uuidString, text: String) {
|
||||
self.id = id
|
||||
self.text = text
|
||||
}
|
||||
|
||||
@ -78,6 +81,7 @@
|
||||
|
||||
required public init(from decoder: Decoder) throws {
|
||||
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
|
||||
id = try typeContainer.decodeIfPresent(String.self, forKey: .id) ?? UUID().uuidString
|
||||
text = try typeContainer.decode(String.self, forKey: .text)
|
||||
accessibilityText = try typeContainer.decodeIfPresent(String.self, forKey: .accessibilityText)
|
||||
textColor = try typeContainer.decodeIfPresent(Color.self, forKey: .textColor)
|
||||
@ -102,6 +106,7 @@
|
||||
open func encode(to encoder: Encoder) throws {
|
||||
var container = encoder.container(keyedBy: CodingKeys.self)
|
||||
try container.encodeIfPresent(moleculeName, forKey: .moleculeName)
|
||||
try container.encodeIfPresent(id, forKey: .id)
|
||||
try container.encode(text, forKey: .text)
|
||||
try container.encodeIfPresent(accessibilityText, forKey: .accessibilityText)
|
||||
try container.encodeIfPresent(textColor, forKey: .textColor)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user