TUIGroupConfig.m 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. //
  2. // TUIGroupConfig.m
  3. // TUIGroup
  4. //
  5. // Created by Tencent on 2024/9/6.
  6. // Copyright © 2024 Tencent. All rights reserved.
  7. //
  8. #import "TUIGroupConfig.h"
  9. @interface TUIGroupConfig()
  10. @property (nonatomic, assign) BOOL hideGroupMembersItems;
  11. @property (nonatomic, assign) BOOL hideGroupNoticeItem;
  12. @property (nonatomic, assign) BOOL hideGroupManageItems;
  13. @property (nonatomic, assign) BOOL hideGroupAliasItem;
  14. @property (nonatomic, assign) BOOL hideGroupMuteAndPinItems;
  15. @property (nonatomic, assign) BOOL hideGroupBackgroundItem;
  16. @property (nonatomic, assign) BOOL hideGroupClearChatHistory;
  17. @property (nonatomic, assign) BOOL hideGroupDeleteAndLeave;
  18. @property (nonatomic, assign) BOOL hideGroupTransfer;
  19. @property (nonatomic, assign) BOOL hideGroupDismiss;
  20. @property (nonatomic, assign) BOOL hideGroupReport;
  21. @end
  22. @implementation TUIGroupConfig
  23. + (TUIGroupConfig *)sharedConfig {
  24. static dispatch_once_t onceToken;
  25. static TUIGroupConfig *config;
  26. dispatch_once(&onceToken, ^{
  27. config = [[TUIGroupConfig alloc] init];
  28. });
  29. return config;
  30. }
  31. - (void)hideItemsInGroupConfig:(TUIGroupConfigItem)items {
  32. self.hideGroupMuteAndPinItems = items & TUIGroupConfigItem_MuteAndPin;
  33. self.hideGroupManageItems = items & TUIGroupConfigItem_Manage;
  34. self.hideGroupAliasItem = items & TUIGroupConfigItem_Alias;
  35. self.hideGroupBackgroundItem = items & TUIGroupConfigItem_Background;
  36. self.hideGroupMembersItems = items & TUIGroupConfigItem_Members;
  37. self.hideGroupClearChatHistory = items & TUIGroupConfigItem_ClearChatHistory;
  38. self.hideGroupDeleteAndLeave = items & TUIGroupConfigItem_DeleteAndLeave;
  39. self.hideGroupTransfer = items & TUIGroupConfigItem_Transfer;
  40. self.hideGroupDismiss = items & TUIGroupConfigItem_Dismiss;
  41. self.hideGroupReport = items & TUIGroupConfigItem_Report;
  42. }
  43. - (BOOL)isItemHiddenInGroupConfig:(TUIGroupConfigItem)item {
  44. if (item & TUIGroupConfigItem_MuteAndPin) {
  45. return self.hideGroupMuteAndPinItems;
  46. } else if (item & TUIGroupConfigItem_Manage) {
  47. return self.hideGroupManageItems;
  48. } else if (item & TUIGroupConfigItem_Alias) {
  49. return self.hideGroupAliasItem;
  50. } else if (item & TUIGroupConfigItem_Background) {
  51. return self.hideGroupBackgroundItem;
  52. } else if (item & TUIGroupConfigItem_Members) {
  53. return self.hideGroupMembersItems;
  54. } else if (item & TUIGroupConfigItem_ClearChatHistory) {
  55. return self.hideGroupClearChatHistory;
  56. } else if (item & TUIGroupConfigItem_DeleteAndLeave) {
  57. return self.hideGroupDeleteAndLeave;
  58. } else if (item & TUIGroupConfigItem_Transfer) {
  59. return self.hideGroupTransfer;
  60. } else if (item & TUIGroupConfigItem_Dismiss) {
  61. return self.hideGroupDismiss;
  62. } else if (item & TUIGroupConfigItem_Report) {
  63. return self.hideGroupReport;
  64. } else {
  65. return NO;
  66. }
  67. }
  68. @end