PopUpViewModel.swift 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //
  2. // PopUpViewModel.swift
  3. // TUIRoomKit
  4. //
  5. // Created by janejntang on 2023/1/12.
  6. // Copyright © 2023 Tencent. All rights reserved.
  7. //
  8. import Foundation
  9. import TUICore
  10. enum PopUpViewType {
  11. case roomInfoViewType
  12. case moreViewType
  13. case mediaSettingViewType
  14. case userListViewType
  15. case raiseHandApplicationListViewType
  16. case transferMasterViewType
  17. case QRCodeViewType
  18. case chatViewType
  19. case inviteViewType
  20. case inviteMemberViewType
  21. case moreUserManagerViewType
  22. }
  23. protocol PopUpViewModelResponder: AnyObject {
  24. func searchControllerChangeActive(isActive: Bool)
  25. func updateViewOrientation(isLandscape: Bool)
  26. }
  27. class PopUpViewModel {
  28. let viewType: PopUpViewType
  29. let height: CGFloat
  30. var backgroundColor: UIColor?
  31. weak var viewResponder: PopUpViewModelResponder?
  32. init(viewType: PopUpViewType, height: CGFloat) {
  33. self.viewType = viewType
  34. self.height = height
  35. }
  36. func panelControlAction() {
  37. changeSearchControllerActive()
  38. RoomRouter.shared.dismissPopupViewController()
  39. }
  40. func changeSearchControllerActive() {
  41. viewResponder?.searchControllerChangeActive(isActive: false)
  42. }
  43. deinit {
  44. debugPrint("deinit \(self)")
  45. }
  46. }