d
This commit is contained in:
@@ -4,14 +4,25 @@ import SwiftUI
|
|||||||
extension MicItem {
|
extension MicItem {
|
||||||
public struct V: View {
|
public struct V: View {
|
||||||
var id: String?
|
var id: String?
|
||||||
@StateObject var h = BusUI.Holder()
|
@StateObject var holder = BusUI.Holder()
|
||||||
@StateObject var isActive = BusUI.Value(K.isActive, false)
|
@StateObject var isActive = BusUI.Value(K.isActive, false)
|
||||||
|
|
||||||
public init(_ id: String? = nil) {
|
public init(_ id: String? = nil) {
|
||||||
self.id = id
|
self.id = id
|
||||||
/**/print("ИГР MicIV.init id: '\(id)'")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func config(_ id: String? = nil) {
|
||||||
|
/**/print("ИГР MicIV.config id: '\(id)'")
|
||||||
|
isActive.id = id
|
||||||
|
holder.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)
|
||||||
|
}
|
||||||
|
|
||||||
public var body: some View {
|
public var body: some View {
|
||||||
Text("Mic activity")
|
Text("Mic activity")
|
||||||
.padding(8)
|
.padding(8)
|
||||||
@@ -20,28 +31,8 @@ extension MicItem {
|
|||||||
width: isActive.v ? 3 : 1
|
width: isActive.v ? 3 : 1
|
||||||
)
|
)
|
||||||
.animation(.easeInOut(duration: 0.3))
|
.animation(.easeInOut(duration: 0.3))
|
||||||
.onAppear {
|
.onAppear { self.config(id) }
|
||||||
/**/print("ИГР MicIV.onA id: '\(id)'")
|
.onChange(of: id) { id in self.config(id) }
|
||||||
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)
|
|
||||||
}
|
|
||||||
.onChange(of: id) { newValue in
|
|
||||||
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)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user