latest additions for date
This commit is contained in:
parent
f9ce6e9f0f
commit
282fcaea12
@ -114,11 +114,36 @@ import UIKit
|
|||||||
setTextWith(date: datePicker?.date)
|
setTextWith(date: datePicker?.date)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------
|
||||||
|
// MARK: - MoleculeViewProtocol
|
||||||
|
//--------------------------------------------------
|
||||||
|
|
||||||
public override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
|
public override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
|
||||||
super.set(with: model, delegateObject, additionalData)
|
super.set(with: model, delegateObject, additionalData)
|
||||||
|
|
||||||
guard let model = model as? DateDropdownEntryFieldModel else { return }
|
guard let model = model as? DateDropdownEntryFieldModel else { return }
|
||||||
|
|
||||||
dateFormat = model.dateFormat
|
dateFormat = model.dateFormat
|
||||||
|
|
||||||
|
if let initialDate = model.initialDate, let date = dateFormatter.date(from: initialDate) {
|
||||||
|
datePicker?.date = date
|
||||||
|
setTextWith(date: datePicker?.date)
|
||||||
|
}
|
||||||
|
|
||||||
|
if let minDate = model.minDate {
|
||||||
|
datePicker?.minimumDate = dateFormatter.date(from: minDate)
|
||||||
|
}
|
||||||
|
|
||||||
|
if let maxDate = model.maxDate {
|
||||||
|
datePicker?.maximumDate = dateFormatter.date(from: maxDate)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override func reset() {
|
||||||
|
super.reset()
|
||||||
|
|
||||||
|
datePicker?.minimumDate = nil
|
||||||
|
datePicker?.maximumDate = nil
|
||||||
|
text = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,6 +16,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
public var dateFormat: String = "MMM d, y"
|
public var dateFormat: String = "MMM d, y"
|
||||||
|
public var initialDate: String?
|
||||||
|
public var minDate: String?
|
||||||
|
public var maxDate: String?
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Keys
|
// MARK: - Keys
|
||||||
@ -23,6 +26,9 @@
|
|||||||
|
|
||||||
private enum CodingKeys: String, CodingKey {
|
private enum CodingKeys: String, CodingKey {
|
||||||
case dateFormat
|
case dateFormat
|
||||||
|
case initialDate
|
||||||
|
case minDate
|
||||||
|
case maxDate
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -36,11 +42,26 @@
|
|||||||
if let dateFormat = try typeContainer.decodeIfPresent(String.self, forKey: .dateFormat) {
|
if let dateFormat = try typeContainer.decodeIfPresent(String.self, forKey: .dateFormat) {
|
||||||
self.dateFormat = dateFormat
|
self.dateFormat = dateFormat
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if let initialDate = try typeContainer.decodeIfPresent(String.self, forKey: .initialDate) {
|
||||||
|
self.initialDate = initialDate
|
||||||
|
}
|
||||||
|
|
||||||
|
if let minDate = try typeContainer.decodeIfPresent(String.self, forKey: .minDate) {
|
||||||
|
self.minDate = minDate
|
||||||
|
}
|
||||||
|
|
||||||
|
if let maxDate = try typeContainer.decodeIfPresent(String.self, forKey: .maxDate) {
|
||||||
|
self.maxDate = maxDate
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override func encode(to encoder: Encoder) throws {
|
public override func encode(to encoder: Encoder) throws {
|
||||||
try super.encode(to: encoder)
|
try super.encode(to: encoder)
|
||||||
var container = encoder.container(keyedBy: CodingKeys.self)
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
||||||
try container.encode(dateFormat, forKey: .dateFormat)
|
try container.encode(dateFormat, forKey: .dateFormat)
|
||||||
|
try container.encode(initialDate, forKey: .initialDate)
|
||||||
|
try container.encode(minDate, forKey: .minDate)
|
||||||
|
try container.encode(maxDate, forKey: .maxDate)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user