1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /*
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
- #import "RCTDatePicker.h"
- #import "RCTUtils.h"
- #import "UIView+React.h"
- @interface RCTDatePicker ()
- @property (nonatomic, copy) RCTBubblingEventBlock onChange;
- @property (nonatomic, assign) NSInteger reactMinuteInterval;
- @end
- @implementation RCTDatePicker
- - (instancetype)initWithFrame:(CGRect)frame
- {
- if ((self = [super initWithFrame:frame])) {
- [self addTarget:self action:@selector(didChange) forControlEvents:UIControlEventValueChanged];
- _reactMinuteInterval = 1;
- }
- return self;
- }
- RCT_NOT_IMPLEMENTED(-(instancetype)initWithCoder : (NSCoder *)aDecoder)
- - (void)didChange
- {
- if (_onChange) {
- _onChange(@{@"timestamp" : @(self.date.timeIntervalSince1970 * 1000.0)});
- }
- }
- - (void)setDatePickerMode:(UIDatePickerMode)datePickerMode
- {
- [super setDatePickerMode:datePickerMode];
- // We need to set minuteInterval after setting datePickerMode, otherwise minuteInterval is invalid in time mode.
- self.minuteInterval = _reactMinuteInterval;
- }
- - (void)setMinuteInterval:(NSInteger)minuteInterval
- {
- [super setMinuteInterval:minuteInterval];
- _reactMinuteInterval = minuteInterval;
- }
- @end
|