@@ -3,7 +3,8 @@ public extension Mic { | |||||
/// | /// | ||||
/// Условия: | /// Условия: | ||||
/// 1. Изменились даты активности | /// 1. Изменились даты активности | ||||
/// 2. Элемент запросил свою дату активности | |||||
/// 2. Элемент запросил свою дату активности при наличии валидной даты | |||||
/// 2. Элемент запросил свою дату активности без наличия валидной даты | |||||
/// | /// | ||||
/// - Returns: Словарь состояний | /// - Returns: Словарь состояний | ||||
static func shouldDeliverActivityDates(_ c: MicContext) -> [String: Date]? { | static func shouldDeliverActivityDates(_ c: MicContext) -> [String: Date]? { | ||||
@@ -19,6 +20,10 @@ public extension Mic { | |||||
return [id: timeout] | return [id: timeout] | ||||
} | } | ||||
if let id = c.requestActivityDate { | |||||
return [id: .distantPast] | |||||
} | |||||
return nil | return nil | ||||
} | } | ||||
@@ -28,10 +28,19 @@ extension MicItem { | |||||
Bus.Sync(shouldResetActivity, K.MI, K.isActive, id), | Bus.Sync(shouldResetActivity, K.MI, K.isActive, id), | ||||
MicItem.Controller(id) | MicItem.Controller(id) | ||||
] | ] | ||||
//Bus.send(K.requestActivityDate, id) | |||||
Bus.send(K.requestActivityDate, id) | |||||
} | } | ||||
.onChange(of: id) { newValue in | .onChange(of: id) { newValue in | ||||
isActive.id = newValue | |||||
let id = newValue | |||||
isActive.id = id | |||||
h.items = [ | |||||
Bus.Delay(shouldResetTimeout, K.MI, K.timeout, id), | |||||
Bus.Sync(shouldResetActivity, K.MI, K.isActive, id), | |||||
MicItem.Controller(id) | |||||
] | |||||
Bus.send(K.requestActivityDate, id) | |||||
} | } | ||||
} | } | ||||
} | } | ||||