Add RoomRolesAndPermissionsFlowCoordinator. (#2539)

This commit is contained in:
Doug
2024-03-08 12:25:43 +00:00
committed by GitHub
parent b54d87efd5
commit 5ec63e901d
43 changed files with 490 additions and 44 deletions
@@ -33,10 +33,10 @@ enum RoomChangePermissionsScreenCoordinatorAction {
final class RoomChangePermissionsScreenCoordinator: CoordinatorProtocol {
private let parameters: RoomChangePermissionsScreenCoordinatorParameters
private var viewModel: RoomChangePermissionsScreenViewModelProtocol
private let actionsSubject: PassthroughSubject<RoomChangePermissionsScreenCoordinatorAction, Never> = .init()
private var cancellables = Set<AnyCancellable>()
var actions: AnyPublisher<RoomChangePermissionsScreenCoordinatorAction, Never> {
private let actionsSubject: PassthroughSubject<RoomChangePermissionsScreenCoordinatorAction, Never> = .init()
var actionsPublisher: AnyPublisher<RoomChangePermissionsScreenCoordinatorAction, Never> {
actionsSubject.eraseToAnyPublisher()
}
@@ -50,7 +50,7 @@ final class RoomChangePermissionsScreenCoordinator: CoordinatorProtocol {
}
func start() {
viewModel.actions.sink { [weak self] action in
viewModel.actionsPublisher.sink { [weak self] action in
MXLog.info("Coordinator: received view model action: \(action)")
guard let self else { return }
@@ -24,7 +24,7 @@ class RoomChangePermissionsScreenViewModel: RoomChangePermissionsScreenViewModel
let userIndicatorController: UserIndicatorControllerProtocol
private var actionsSubject: PassthroughSubject<RoomChangePermissionsScreenViewModelAction, Never> = .init()
var actions: AnyPublisher<RoomChangePermissionsScreenViewModelAction, Never> {
var actionsPublisher: AnyPublisher<RoomChangePermissionsScreenViewModelAction, Never> {
actionsSubject.eraseToAnyPublisher()
}
@@ -18,6 +18,6 @@ import Combine
@MainActor
protocol RoomChangePermissionsScreenViewModelProtocol {
var actions: AnyPublisher<RoomChangePermissionsScreenViewModelAction, Never> { get }
var actionsPublisher: AnyPublisher<RoomChangePermissionsScreenViewModelAction, Never> { get }
var context: RoomChangePermissionsScreenViewModelType.Context { get }
}