chore: import upstream snapshot with attribution
This commit is contained in:
+57
@@ -0,0 +1,57 @@
|
||||
//
|
||||
// TLEmojiGroupDisplayModel.h
|
||||
// TLChat
|
||||
//
|
||||
// Created by 李伯坤 on 16/9/27.
|
||||
// Copyright © 2016年 李伯坤. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "TLExpressionGroupModel.h"
|
||||
|
||||
@interface TLEmojiGroupDisplayModel : NSObject
|
||||
|
||||
@property (nonatomic, assign) TLEmojiType type;
|
||||
|
||||
@property (nonatomic, strong) NSString *groupID;
|
||||
|
||||
@property (nonatomic, strong) NSString *groupName;
|
||||
|
||||
@property (nonatomic, strong) NSString *groupIconPath;
|
||||
|
||||
@property (nonatomic, assign) NSUInteger count;
|
||||
|
||||
@property (nonatomic, strong) NSArray *data;
|
||||
|
||||
#pragma mark - 标记
|
||||
|
||||
@property (nonatomic, assign) NSInteger emojiGroupIndex;
|
||||
|
||||
@property (nonatomic, assign) NSInteger pageIndex;
|
||||
|
||||
#pragma mark - 展示用
|
||||
|
||||
/// 每页个数
|
||||
@property (nonatomic, assign) NSUInteger pageItemCount;
|
||||
|
||||
/// 页数
|
||||
@property (nonatomic, assign) NSUInteger pageNumber;
|
||||
|
||||
/// 行数
|
||||
@property (nonatomic, assign) NSUInteger rowNumber;
|
||||
|
||||
/// 列数
|
||||
@property (nonatomic, assign) NSUInteger colNumber;
|
||||
|
||||
@property (nonatomic, assign) CGSize cellSize;
|
||||
|
||||
@property (nonatomic, assign) UIEdgeInsets sectionInsets;
|
||||
|
||||
|
||||
- (id)initWithEmojiGroup:(TLExpressionGroupModel *)emojiGroup pageNumber:(NSInteger)pageNumber andCount:(NSInteger)count;
|
||||
|
||||
- (id)objectAtIndex:(NSUInteger)index;
|
||||
|
||||
- (void)addEmoji:(TLExpressionModel *)emoji;
|
||||
|
||||
@end
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
//
|
||||
// TLEmojiGroupDisplayModel.m
|
||||
// TLChat
|
||||
//
|
||||
// Created by 李伯坤 on 16/9/27.
|
||||
// Copyright © 2016年 李伯坤. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TLEmojiGroupDisplayModel.h"
|
||||
#import "TLExpressionGroupModel+TLEmojiKB.h"
|
||||
|
||||
@implementation TLEmojiGroupDisplayModel
|
||||
- (id)initWithEmojiGroup:(TLExpressionGroupModel *)emojiGroup pageNumber:(NSInteger)pageNumber andCount:(NSInteger)count
|
||||
{
|
||||
if (self = [super init]) {
|
||||
self.groupID = emojiGroup.gId;
|
||||
self.groupName = emojiGroup.name;
|
||||
self.type = emojiGroup.type;
|
||||
|
||||
self.rowNumber = emojiGroup.rowNumber;
|
||||
self.colNumber = emojiGroup.colNumber;
|
||||
self.pageItemCount = emojiGroup.pageItemCount;
|
||||
|
||||
NSInteger start = pageNumber * count;
|
||||
if (emojiGroup.data.count > start) {
|
||||
NSInteger len = MIN(count, emojiGroup.count - start);
|
||||
self.data = [emojiGroup.data subarrayWithRange:NSMakeRange(pageNumber * count, len)];
|
||||
}
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id)objectAtIndex:(NSUInteger)index
|
||||
{
|
||||
return index < self.data.count ? [self.data objectAtIndex:index] : nil;
|
||||
}
|
||||
|
||||
- (void)addEmoji:(TLExpressionModel *)emoji
|
||||
{
|
||||
NSMutableArray *emojis = [NSMutableArray arrayWithArray:self.data];
|
||||
[emojis addObject:emoji];
|
||||
self.data = emojis;
|
||||
}
|
||||
@end
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
//
|
||||
// TLEmojiKeyboardDelegate.h
|
||||
// TLChat
|
||||
//
|
||||
// Created by 李伯坤 on 16/2/20.
|
||||
// Copyright © 2016年 李伯坤. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "TLExpressionModel.h"
|
||||
|
||||
@class TLEmojiKeyboard;
|
||||
@protocol TLEmojiKeyboardDelegate <NSObject>
|
||||
|
||||
- (BOOL)chatInputViewHasText;
|
||||
|
||||
@optional
|
||||
/**
|
||||
* 长按某个表情(展示)
|
||||
*/
|
||||
- (void)emojiKeyboard:(TLEmojiKeyboard *)emojiKB didTouchEmojiItem:(TLExpressionModel *)emoji atRect:(CGRect)rect;
|
||||
|
||||
/**
|
||||
* 取消长按某个表情(停止展示)
|
||||
*/
|
||||
- (void)emojiKeyboardCancelTouchEmojiItem:(TLEmojiKeyboard *)emojiKB;
|
||||
|
||||
/**
|
||||
* 点击事件 —— 选中某个表情
|
||||
*/
|
||||
- (void)emojiKeyboard:(TLEmojiKeyboard *)emojiKB didSelectedEmojiItem:(TLExpressionModel *)emoji;
|
||||
|
||||
/**
|
||||
* 点击事件 —— 表情发送按钮
|
||||
*/
|
||||
- (void)emojiKeyboardSendButtonDown;
|
||||
|
||||
/**
|
||||
* 点击事件 —— 删除按钮
|
||||
*/
|
||||
- (void)emojiKeyboardDeleteButtonDown;
|
||||
|
||||
/**
|
||||
* 点击事件 —— 表情编辑按钮
|
||||
*/
|
||||
- (void)emojiKeyboardEmojiEditButtonDown;
|
||||
|
||||
/**
|
||||
* 点击事件 —— 我的表情按钮
|
||||
*/
|
||||
- (void)emojiKeyboardMyEmojiEditButtonDown;
|
||||
|
||||
/**
|
||||
* 选中不同类型的表情组回调
|
||||
* 用于改变chatBar状态(个性表情组展示时textView不可用)
|
||||
*/
|
||||
- (void)emojiKeyboard:(TLEmojiKeyboard *)emojiKB selectedEmojiGroupType:(TLEmojiType)type;
|
||||
|
||||
@end
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
//
|
||||
// TLExpressionGroupModel+TLEmojiKB.h
|
||||
// TLChat
|
||||
//
|
||||
// Created by 李伯坤 on 2018/1/2.
|
||||
// Copyright © 2018年 李伯坤. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TLExpressionGroupModel.h"
|
||||
|
||||
@interface TLExpressionGroupModel (TLEmojiKB)
|
||||
|
||||
|
||||
/// 每页个数
|
||||
@property (nonatomic, assign, readonly) NSUInteger pageItemCount;
|
||||
|
||||
/// 页数
|
||||
@property (nonatomic, assign, readonly) NSUInteger pageNumber;
|
||||
|
||||
/// 行数
|
||||
@property (nonatomic, assign, readonly) NSUInteger rowNumber;
|
||||
|
||||
/// 列数
|
||||
@property (nonatomic, assign, readonly) NSUInteger colNumber;
|
||||
|
||||
@end
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
//
|
||||
// TLExpressionGroupModel+TLEmojiKB.m
|
||||
// TLChat
|
||||
//
|
||||
// Created by 李伯坤 on 2018/1/2.
|
||||
// Copyright © 2018年 李伯坤. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TLExpressionGroupModel+TLEmojiKB.h"
|
||||
|
||||
@implementation TLExpressionGroupModel (TLEmojiKB)
|
||||
|
||||
- (NSUInteger)rowNumber
|
||||
{
|
||||
if (self.type == TLEmojiTypeFace || self.type == TLEmojiTypeEmoji) {
|
||||
return 3;
|
||||
}
|
||||
return 2;
|
||||
}
|
||||
|
||||
- (NSUInteger)colNumber
|
||||
{
|
||||
if (self.type == TLEmojiTypeFace || self.type == TLEmojiTypeEmoji) {
|
||||
return 7;
|
||||
}
|
||||
return 4;
|
||||
}
|
||||
|
||||
- (NSUInteger)pageItemCount
|
||||
{
|
||||
if (self.type == TLEmojiTypeFace || self.type == TLEmojiTypeEmoji) {
|
||||
return self.rowNumber * self.colNumber - 1;
|
||||
}
|
||||
return self.rowNumber * self.colNumber;
|
||||
}
|
||||
|
||||
- (NSUInteger)pageNumber
|
||||
{
|
||||
return self.count / self.pageItemCount + (self.count % self.pageItemCount == 0 ? 0 : 1);
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user