dismiss menu actions when selected item is deleted
This commit is contained in:
parent
504d5f89b9
commit
233bc3858b
|
@ -2044,6 +2044,7 @@ typedef enum : NSUInteger {
|
|||
|
||||
menuActionsViewController.delegate = self;
|
||||
|
||||
self.conversationViewModel.mostRecentMenuActionsViewItem = cell.viewItem;
|
||||
[[OWSWindowManager sharedManager] showMenuActionsWindow:menuActionsViewController];
|
||||
|
||||
[self updateShouldObserveVMUpdates];
|
||||
|
@ -4820,6 +4821,12 @@ typedef enum : NSUInteger {
|
|||
[self scrollToBottomAnimated:NO];
|
||||
}
|
||||
|
||||
- (void)conversationViewModelDidDeleteMostRecentMenuActionsViewItem
|
||||
{
|
||||
OWSAssertIsOnMainThread();
|
||||
[[OWSWindowManager sharedManager] hideMenuActionsWindow];
|
||||
}
|
||||
|
||||
#pragma mark - Orientation
|
||||
|
||||
- (void)viewWillTransitionToSize:(CGSize)size
|
||||
|
|
|
@ -74,6 +74,8 @@ typedef NS_ENUM(NSUInteger, ConversationUpdateItemType) {
|
|||
// to prod the view to reset its scroll state, etc.
|
||||
- (void)conversationViewModelDidReset;
|
||||
|
||||
- (void)conversationViewModelDidDeleteMostRecentMenuActionsViewItem;
|
||||
|
||||
- (BOOL)isObservingVMUpdates;
|
||||
|
||||
- (ConversationStyle *)conversationStyle;
|
||||
|
@ -87,6 +89,7 @@ typedef NS_ENUM(NSUInteger, ConversationUpdateItemType) {
|
|||
@property (nonatomic, readonly) NSArray<id<ConversationViewItem>> *viewItems;
|
||||
@property (nonatomic, nullable) NSString *focusMessageIdOnOpen;
|
||||
@property (nonatomic, readonly, nullable) ThreadDynamicInteractions *dynamicInteractions;
|
||||
@property (nonatomic, nullable) id<ConversationViewItem> mostRecentMenuActionsViewItem;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
- (instancetype)initWithThread:(TSThread *)thread
|
||||
|
|
|
@ -583,6 +583,12 @@ static const int kYapDatabaseRangeMaxLength = 25000;
|
|||
return;
|
||||
}
|
||||
|
||||
NSString *_Nullable mostRecentMenuActionsInterationId = self.mostRecentMenuActionsViewItem.interaction.uniqueId;
|
||||
if (mostRecentMenuActionsInterationId != nil &&
|
||||
[diff.removedItemIds containsObject:mostRecentMenuActionsInterationId]) {
|
||||
[self.delegate conversationViewModelDidDeleteMostRecentMenuActionsViewItem];
|
||||
}
|
||||
|
||||
NSMutableSet<NSString *> *diffAddedItemIds = [diff.addedItemIds mutableCopy];
|
||||
NSMutableSet<NSString *> *diffRemovedItemIds = [diff.removedItemIds mutableCopy];
|
||||
NSMutableSet<NSString *> *diffUpdatedItemIds = [diff.updatedItemIds mutableCopy];
|
||||
|
|
Loading…
Reference in New Issue