Skip to content

Commit 316838b

Browse files
authored
fixing android whitespace error (#873)
* make fabric spec use strings * pseudo coding ios conversion general idea, not tested nor compiled * make it compile
1 parent ca897af commit 316838b

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

ios/RNDatePicker.mm

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,11 @@ + (ComponentDescriptorProvider)componentDescriptorProvider
4848
}
4949
#endif
5050

51-
NSDate* unixMillisToNSDate (double unixMillis) {
52-
double time = unixMillis/1000.0;
53-
return [NSDate dateWithTimeIntervalSince1970: time];
51+
NSDate* iso8601StringToNSDate(const std::string &iso8601String) {
52+
NSString *nsString = [NSString stringWithUTF8String:iso8601String.c_str()];
53+
NSISO8601DateFormatter *isoFormatter = [[NSISO8601DateFormatter alloc] init];
54+
NSDate *date = [isoFormatter dateFromString:nsString];
55+
return date;
5456
}
5557

5658
#ifdef RCT_NEW_ARCH_ENABLED
@@ -101,7 +103,7 @@ - (void)updateProps:(Props::Shared const &)props oldProps:(Props::Shared const &
101103

102104
// date
103105
if(oldViewProps.date != newViewProps.date) {
104-
[_picker setDate: unixMillisToNSDate(newViewProps.date)];
106+
[_picker setDate: iso8601StringToNSDate(newViewProps.date)];
105107
}
106108

107109
// locale
@@ -113,12 +115,12 @@ - (void)updateProps:(Props::Shared const &)props oldProps:(Props::Shared const &
113115

114116
// maximumDate
115117
if(oldViewProps.maximumDate != newViewProps.maximumDate) {
116-
[_picker setMaximumDate: unixMillisToNSDate(newViewProps.maximumDate)];
118+
[_picker setMaximumDate: iso8601StringToNSDate(newViewProps.maximumDate)];
117119
}
118120

119121
// minimumDate
120122
if(oldViewProps.minimumDate != newViewProps.minimumDate) {
121-
[_picker setMinimumDate: unixMillisToNSDate(newViewProps.minimumDate)];
123+
[_picker setMinimumDate: iso8601StringToNSDate(newViewProps.minimumDate)];
122124
}
123125

124126
// setMinuteInterval

ios/RNDatePickerManager.mm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ - (UIView *)view
3636
}
3737

3838
RCT_EXPORT_VIEW_PROPERTY(text, NSString)
39-
RCT_EXPORT_VIEW_PROPERTY(date, NSDate)
39+
RCT_EXPORT_VIEW_PROPERTY(date, NSString)
4040
RCT_EXPORT_VIEW_PROPERTY(locale, NSLocale)
41-
RCT_EXPORT_VIEW_PROPERTY(minimumDate, NSDate)
42-
RCT_EXPORT_VIEW_PROPERTY(maximumDate, NSDate)
41+
RCT_EXPORT_VIEW_PROPERTY(minimumDate, NSString)
42+
RCT_EXPORT_VIEW_PROPERTY(maximumDate, NSString)
4343
RCT_EXPORT_VIEW_PROPERTY(minuteInterval, NSInteger)
4444
RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock)
4545
RCT_REMAP_VIEW_PROPERTY(mode, datePickerMode, UIDatePickerMode)

src/fabric/RNDatePickerNativeComponent.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ type DateEvent = {
1313

1414
export interface NativeProps extends ViewProps {
1515
locale?: string
16-
date: Double
17-
maximumDate?: Double
18-
minimumDate?: Double
16+
date: string
17+
maximumDate?: string
18+
minimumDate?: string
1919
minuteInterval?: Int32
2020
mode?: WithDefault<'date' | 'time' | 'datetime', 'datetime'>
2121
onChange: BubblingEventHandler<DateEvent>

0 commit comments

Comments
 (0)