This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.5 KiB
74 lines
2.5 KiB
/** |
|
* Copyright (c) 2015-present, Facebook, Inc. |
|
* |
|
* This source code is licensed under the MIT license found in the |
|
* LICENSE file in the root directory of this source tree. |
|
*/ |
|
|
|
#import <UIKit/UIScrollView.h> |
|
|
|
#import <React/RCTAutoInsetsProtocol.h> |
|
#import <React/RCTEventDispatcher.h> |
|
#import <React/RCTScrollableProtocol.h> |
|
#import <React/RCTView.h> |
|
|
|
@protocol UIScrollViewDelegate; |
|
|
|
@interface RCTScrollView : RCTView <UIScrollViewDelegate, RCTScrollableProtocol, RCTAutoInsetsProtocol> |
|
|
|
- (instancetype)initWithEventDispatcher:(RCTEventDispatcher *)eventDispatcher NS_DESIGNATED_INITIALIZER; |
|
|
|
/** |
|
* The `RCTScrollView` may have at most one single subview. This will ensure |
|
* that the scroll view's `contentSize` will be efficiently set to the size of |
|
* the single subview's frame. That frame size will be determined somewhat |
|
* efficiently since it will have already been computed by the off-main-thread |
|
* layout system. |
|
*/ |
|
@property (nonatomic, readonly) UIView *contentView; |
|
|
|
/** |
|
* If the `contentSize` is not specified (or is specified as {0, 0}, then the |
|
* `contentSize` will automatically be determined by the size of the subview. |
|
*/ |
|
@property (nonatomic, assign) CGSize contentSize; |
|
|
|
/** |
|
* The underlying scrollView (TODO: can we remove this?) |
|
*/ |
|
@property (nonatomic, readonly) UIScrollView *scrollView; |
|
|
|
@property (nonatomic, assign) UIEdgeInsets contentInset; |
|
@property (nonatomic, assign) BOOL automaticallyAdjustContentInsets; |
|
@property (nonatomic, assign) BOOL DEPRECATED_sendUpdatedChildFrames; |
|
@property (nonatomic, assign) NSTimeInterval scrollEventThrottle; |
|
@property (nonatomic, assign) BOOL centerContent; |
|
@property (nonatomic, copy) NSDictionary *maintainVisibleContentPosition; |
|
@property (nonatomic, assign) int snapToInterval; |
|
@property (nonatomic, copy) NSString *snapToAlignment; |
|
|
|
// NOTE: currently these event props are only declared so we can export the |
|
// event names to JS - we don't call the blocks directly because scroll events |
|
// need to be coalesced before sending, for performance reasons. |
|
@property (nonatomic, copy) RCTDirectEventBlock onScrollBeginDrag; |
|
@property (nonatomic, copy) RCTDirectEventBlock onScroll; |
|
@property (nonatomic, copy) RCTDirectEventBlock onScrollEndDrag; |
|
@property (nonatomic, copy) RCTDirectEventBlock onMomentumScrollBegin; |
|
@property (nonatomic, copy) RCTDirectEventBlock onMomentumScrollEnd; |
|
|
|
@end |
|
|
|
@interface RCTScrollView (Internal) |
|
|
|
- (void)updateContentOffsetIfNeeded; |
|
|
|
@end |
|
|
|
@interface RCTEventDispatcher (RCTScrollView) |
|
|
|
/** |
|
* Send a fake scroll event. |
|
*/ |
|
- (void)sendFakeScrollEvent:(NSNumber *)reactTag; |
|
|
|
@end
|
|
|