Михаил Капелько 10 miesięcy temu
rodzic
commit
bdeee67b38
5 zmienionych plików z 21 dodań i 22 usunięć
  1. +1
    -1
      Modules/CordX/CordX.podspec
  2. +2
    -2
      Modules/CordX/src/Cord.Button.swift
  3. +3
    -3
      Modules/CordX/src/Cord.Receive.swift
  4. +3
    -3
      Modules/CordX/src/Cord.TextField.swift
  5. +12
    -13
      Modules/MeetupIdX/src/MeetupId.V.swift

+ 1
- 1
Modules/CordX/CordX.podspec Wyświetl plik

@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = 'CordX'
s.version = '2023.12.28'
s.version = '2023.12.29'
s.license = 'IVCS'
s.summary = 'Упрощённое общение с шиной из SwiftUI'
s.homepage = 'IVCS'


+ 2
- 2
Modules/CordX/src/Cord.Button.swift Wyświetl plik

@@ -3,13 +3,13 @@ import Combine

extension Cord {
public final class Button: ObservableObject {
public let press = PassthroughSubject<Void, Never>()
public let v = PassthroughSubject<Void, Never>()
var subscriptions = [AnyCancellable]()
public init(_ key: String) {
Bus.send(
key,
press.eraseToAnyPublisher(),
v.eraseToAnyPublisher(),
sub: &subscriptions
)
}


+ 3
- 3
Modules/CordX/src/Cord.Receive.swift Wyświetl plik

@@ -3,17 +3,17 @@ import Combine

extension Cord {
public final class Receive<T>: ObservableObject {
@Published public var value: T
@Published public var v: T
var subscriptions = [AnyCancellable]()
public init(
_ key: String,
_ defaultValue: T
) {
value = defaultValue
v = defaultValue
Bus.receive(
[key],
{ [weak self] (_, v: T) in self?.value = v },
{ [weak self] (_, v: T) in self?.v = v },
sub: &subscriptions
)
}


+ 3
- 3
Modules/CordX/src/Cord.TextField.swift Wyświetl plik

@@ -4,7 +4,7 @@ import SwiftUI

extension Cord {
public final class TextField: ObservableObject {
@Published public var value = "a:"
@Published public var v = "a:"
var subscriptions = [AnyCancellable]()
public init(
@@ -13,7 +13,7 @@ extension Cord {
) {
Bus.send(
textUI,
$value
$v
.removeDuplicates()
.compactMap(onlyUIText)
.eraseToAnyPublisher(),
@@ -22,7 +22,7 @@ extension Cord {
Bus.receive(
[textApp],
{ [weak self] (_, v: String) in self?.value = "a:\(v)" },
{ [weak self] (_, v: String) in self?.v = "a:\(v)" },
sub: &subscriptions
)
}


+ 12
- 13
Modules/MeetupIdX/src/MeetupId.V.swift Wyświetl plik

@@ -5,35 +5,34 @@ import SwiftUI
extension MeetupId {
public struct V: View {
@StateObject var fmt = MeetupId.Formatter(K.textUI, K.textApp)
@StateObject var isJA = Cord.Receive(K.isJoinAvailable, false)
@StateObject var isL = Cord.Receive(K.isLoading, false)
@StateObject var isJoinAvailable = Cord.Receive(K.isJoinAvailable, false)
@StateObject var isLoading = Cord.Receive(K.isLoading, false)
@StateObject var join = Cord.Button(K.join)
@StateObject var txtF = Cord.TextField(K.textApp, K.textUI)
@StateObject var textField = Cord.TextField(K.textApp, K.textUI)
let pSEJ = Bus.Processor(shouldEnableJoin, K.M, K.isJoinAvailable)
let pSRL = Bus.Processor(shouldResetLoading, K.M, K.isLoading)
public init() { }
public var body: some View {
VStack {
VStack(spacing: 8) {
HStack {
TextField("Binding-3", value: $txtF.value, formatter: Cord.TextFieldValueOwner())
TextField("Binding-3", value: $textField.v, formatter: Cord.TextFieldValueOwner())
.padding(8)
.border(Color.blue, width: 2)
if isL.value {
ProgressView()
}
ProgressView()
.padding(8)
.opacity(isLoading.v ? 1 : 0)
}

Button(action: join.press.send) {
Button(action: join.v.send) {
Text("Join")
.padding(8)
.border(
isJA.value ? Color.green : Color.gray,
width: isJA.value ? 4 : 1
isJoinAvailable.v ? Color.green : Color.gray,
width: isJoinAvailable.v ? 4 : 1
)
}
.disabled(!isJA.value)
.disabled(!isJoinAvailable.v)
}
.frame(width: 320)
.padding()


Ładowanie…
Anuluj
Zapisz