Михаил Капелько 1 년 전
부모
커밋
a0f8e2d31e
1개의 변경된 파일16개의 추가작업 그리고 25개의 파일을 삭제
  1. +16
    -25
      Modules/MicX/MicItem/src/MicItem.V.swift

+ 16
- 25
Modules/MicX/MicItem/src/MicItem.V.swift 파일 보기

@@ -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)
}
} }
} }
} }

불러오는 중...
취소
저장