iOS: implement beforeDragging callback
This commit is contained in:
parent
515b55de08
commit
86e5e2422f
@ -63,6 +63,7 @@ @interface DoricListNode () <UITableViewDataSource, UITableViewDelegate>
|
|||||||
@property(nonatomic, strong) UILongPressGestureRecognizer *longPress;
|
@property(nonatomic, strong) UILongPressGestureRecognizer *longPress;
|
||||||
@property(nonatomic, strong) NSIndexPath *initialDragIndexPath;
|
@property(nonatomic, strong) NSIndexPath *initialDragIndexPath;
|
||||||
@property(nonatomic, strong) NSIndexPath *currentDragIndexPath;
|
@property(nonatomic, strong) NSIndexPath *currentDragIndexPath;
|
||||||
|
@property(nonatomic, copy) NSString *beforeDraggingFuncId;
|
||||||
@property(nonatomic, copy) NSString *onDraggingFuncId;
|
@property(nonatomic, copy) NSString *onDraggingFuncId;
|
||||||
@property(nonatomic, copy) NSString *onDraggedFuncId;
|
@property(nonatomic, copy) NSString *onDraggedFuncId;
|
||||||
@end
|
@end
|
||||||
@ -110,6 +111,9 @@ - (void)longPressAction:(UILongPressGestureRecognizer *)sender {
|
|||||||
if (indexPath != nil) {
|
if (indexPath != nil) {
|
||||||
self.initialDragIndexPath = indexPath;
|
self.initialDragIndexPath = indexPath;
|
||||||
self.currentDragIndexPath = indexPath;
|
self.currentDragIndexPath = indexPath;
|
||||||
|
if (self.beforeDraggingFuncId != nil) {
|
||||||
|
[self callJSResponse:self.beforeDraggingFuncId, @(indexPath.row), nil];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (sender.state == UIGestureRecognizerStateChanged) {
|
} else if (sender.state == UIGestureRecognizerStateChanged) {
|
||||||
if ((indexPath != nil) && (indexPath != self.currentDragIndexPath)) {
|
if ((indexPath != nil) && (indexPath != self.currentDragIndexPath)) {
|
||||||
@ -172,6 +176,8 @@ - (void)blendView:(UITableView *)view forPropName:(NSString *)name propValue:(id
|
|||||||
} else if ([@"canDrag" isEqualToString:name]) {
|
} else if ([@"canDrag" isEqualToString:name]) {
|
||||||
bool canDrag = [prop boolValue];
|
bool canDrag = [prop boolValue];
|
||||||
[self.longPress setEnabled:canDrag];
|
[self.longPress setEnabled:canDrag];
|
||||||
|
} else if ([@"beforeDragging" isEqualToString:name]) {
|
||||||
|
self.beforeDraggingFuncId = prop;
|
||||||
} else if ([@"onDragging" isEqualToString:name]) {
|
} else if ([@"onDragging" isEqualToString:name]) {
|
||||||
self.onDraggingFuncId = prop;
|
self.onDraggingFuncId = prop;
|
||||||
} else if ([@"onDragged" isEqualToString:name]) {
|
} else if ([@"onDragged" isEqualToString:name]) {
|
||||||
@ -533,6 +539,7 @@ - (void)reset {
|
|||||||
self.loadMoreViewId = nil;
|
self.loadMoreViewId = nil;
|
||||||
self.onScrollFuncId = nil;
|
self.onScrollFuncId = nil;
|
||||||
self.onScrollEndFuncId = nil;
|
self.onScrollEndFuncId = nil;
|
||||||
|
self.beforeDraggingFuncId = nil;
|
||||||
self.onDraggingFuncId = nil;
|
self.onDraggingFuncId = nil;
|
||||||
self.onDraggedFuncId = nil;
|
self.onDraggedFuncId = nil;
|
||||||
self.loadMore = NO;
|
self.loadMore = NO;
|
||||||
|
Reference in New Issue
Block a user