123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- #import "RNNTopBarOptions.h"
- #import "RNNNavigationButtons.h"
- #import "RNNCustomTitleView.h"
- #import "UIViewController+RNNOptions.h"
- #import "UINavigationController+RNNOptions.h"
-
- @interface RNNTopBarOptions ()
-
- @property (nonatomic, strong) RNNNavigationButtons* navigationButtons;
-
- @end
-
- @implementation RNNTopBarOptions
-
- - (instancetype)initWithDict:(NSDictionary *)dict {
- self = [super init];
-
- self.visible = [BoolParser parse:dict key:@"visible"];
- self.hideOnScroll = [BoolParser parse:dict key:@"hideOnScroll"];
- self.leftButtonColor = [ColorParser parse:dict key:@"leftButtonColor"];
- self.rightButtonColor = [ColorParser parse:dict key:@"rightButtonColor"];
- self.leftButtonDisabledColor = [ColorParser parse:dict key:@"leftButtonDisabledColor"];
- self.rightButtonDisabledColor = [ColorParser parse:dict key:@"rightButtonDisabledColor"];
- self.drawBehind = [BoolParser parse:dict key:@"drawBehind"];
- self.noBorder = [BoolParser parse:dict key:@"noBorder"];
- self.animate = [BoolParser parse:dict key:@"animate"];
- self.searchBar = [BoolParser parse:dict key:@"searchBar"];
- self.searchBarHiddenWhenScrolling = [BoolParser parse:dict key:@"searchBarHiddenWhenScrolling"];
- self.testID = [TextParser parse:dict key:@"testID"];
- self.barStyle = [TextParser parse:dict key:@"barStyle"];
- self.searchBarPlaceholder = [TextParser parse:dict key:@"searchBarPlaceholder"];
- self.largeTitle = [[RNNLargeTitleOptions alloc] initWithDict:dict[@"largeTitle"]];
- self.title = [[RNNTitleOptions alloc] initWithDict:dict[@"title"]];
- self.subtitle = [[RNNSubtitleOptions alloc] initWithDict:dict[@"subtitle"]];
- self.background = [[RNNBackgroundOptions alloc] initWithDict:dict[@"background"]];
- self.backButton = [[RNNBackButtonOptions alloc] initWithDict:dict[@"backButton"]];
- self.leftButtonStyle = [[RNNButtonOptions alloc] initWithDict:dict[@"leftButtonStyle"]];
- self.rightButtonStyle = [[RNNButtonOptions alloc] initWithDict:dict[@"rightButtonStyle"]];
-
- if (self.leftButtonColor.hasValue) {
- self.leftButtonStyle.color = self.leftButtonColor;
- }
-
- if (self.rightButtonColor.hasValue) {
- self.rightButtonStyle.color = self.rightButtonColor;
- }
-
- if (self.leftButtonDisabledColor.hasValue) {
- self.leftButtonStyle.disabledColor = self.rightButtonDisabledColor;
- }
-
- if (self.rightButtonDisabledColor.hasValue) {
- self.rightButtonStyle.disabledColor = self.rightButtonDisabledColor;
- }
-
-
- self.leftButtons = dict[@"leftButtons"];
- self.rightButtons = dict[@"rightButtons"];
-
-
- return self;
- }
-
- - (void)applyOn:(UIViewController*)viewController {
- if (self.rightButtons || self.leftButtons) {
- _navigationButtons = [[RNNNavigationButtons alloc] initWithViewController:(RNNRootViewController*)viewController];
- [_navigationButtons applyLeftButtons:self.leftButtons rightButtons:self.rightButtons defaultLeftButtonStyle:self.leftButtonStyle defaultRightButtonStyle:self.rightButtonStyle];
- }
-
- self.rightButtons = nil;
- self.leftButtons = nil;
- }
-
- //- (void)setRightButtonColor:(NSNumber *)rightButtonColor {
- // _rightButtonColor = rightButtonColor;
- // _rightButtonStyle.color = rightButtonColor;
- //}
- //
- //- (void)setRightButtonDisabledColor:(NSNumber *)rightButtonDisabledColor {
- // _rightButtonDisabledColor = rightButtonDisabledColor;
- // _rightButtonStyle.disabledColor = rightButtonDisabledColor;
- //}
- //
- //- (void)setLeftButtonColor:(NSNumber *)leftButtonColor {
- // _leftButtonColor = leftButtonColor;
- // _leftButtonStyle.color = leftButtonColor;
- //}
- //
- //- (void)setLeftButtonDisabledColor:(NSNumber *)leftButtonDisabledColor {
- // _leftButtonDisabledColor = leftButtonDisabledColor;
- // _leftButtonStyle.disabledColor = leftButtonDisabledColor;
- //}
-
- //- (void)setRightButtons:(id)rightButtons {
- // if ([rightButtons isKindOfClass:[NSArray class]]) {
- // _rightButtons = rightButtons;
- // } else if ([rightButtons isKindOfClass:[NSDictionary class]]) {
- // if (rightButtons[@"id"]) {
- // _rightButtons = @[rightButtons];
- // } else {
- // [_rightButtonStyle mergeWith:rightButtons];
- // }
- // } else {
- // _rightButtons = rightButtons;
- // }
- //}
- //
- //- (void)setLeftButtons:(id)leftButtons {
- // if ([leftButtons isKindOfClass:[NSArray class]]) {
- // _leftButtons = leftButtons;
- // } else if ([leftButtons isKindOfClass:[NSDictionary class]]) {
- // if (leftButtons[@"id"]) {
- // _leftButtons = @[leftButtons];
- // } else {
- // [_leftButtonStyle mergeWith:leftButtons];
- // }
- // } else {
- // _leftButtons = leftButtons;
- // }
- //}
-
- @end
|