|
|
@@ -102,8 +102,8 @@ const DateTimePicker = ({
|
|
|
isShowSubTitle,
|
|
|
cleanIconStyle,
|
|
|
maxChoice = -1,
|
|
|
- initialDate,
|
|
|
contentStyle,
|
|
|
+ initialDate,
|
|
|
customTheme,
|
|
|
placeholder,
|
|
|
isOptional,
|
|
|
@@ -242,13 +242,24 @@ const DateTimePicker = ({
|
|
|
setTempDate(date);
|
|
|
}
|
|
|
},
|
|
|
+ getValue: () => {
|
|
|
+ return {
|
|
|
+ dateRange,
|
|
|
+ dateRule,
|
|
|
+ date
|
|
|
+ };
|
|
|
+ },
|
|
|
cancel,
|
|
|
clean,
|
|
|
focus,
|
|
|
blur,
|
|
|
ok
|
|
|
}),
|
|
|
- []
|
|
|
+ [
|
|
|
+ dateRange,
|
|
|
+ dateRule,
|
|
|
+ date
|
|
|
+ ]
|
|
|
);
|
|
|
|
|
|
useEffect(() => {
|
|
|
@@ -263,7 +274,9 @@ const DateTimePicker = ({
|
|
|
|
|
|
if(onBlur) onBlur();
|
|
|
}
|
|
|
- }, [isActive]);
|
|
|
+ }, [
|
|
|
+ isActive
|
|
|
+ ]);
|
|
|
|
|
|
useEffect(() => {
|
|
|
if(onChange) {
|
|
|
@@ -351,11 +364,9 @@ const DateTimePicker = ({
|
|
|
setDateRule(undefined);
|
|
|
setDate(undefined);
|
|
|
|
|
|
- if(!isWorkWithRealtime) {
|
|
|
- setTempDateRange(undefined);
|
|
|
- setTempDateRule(undefined);
|
|
|
- setTempDate(undefined);
|
|
|
- }
|
|
|
+ setTempDateRange(undefined);
|
|
|
+ setTempDateRule(undefined);
|
|
|
+ setTempDate(undefined);
|
|
|
};
|
|
|
|
|
|
const selectDateRule = (selectedDateRule?: RRule) => {
|
|
|
@@ -508,9 +519,9 @@ const DateTimePicker = ({
|
|
|
if(!mainDateRule) return null;
|
|
|
} else {
|
|
|
if(isMultipleSelect) {
|
|
|
- if(!mainDateRange) return null;
|
|
|
+ if(!dateRange) return null;
|
|
|
} else {
|
|
|
- if(!mainDate) return null;
|
|
|
+ if(!date) return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -521,15 +532,13 @@ const DateTimePicker = ({
|
|
|
cleanButtonDynamicStyle
|
|
|
]}
|
|
|
onPress={() => {
|
|
|
- if(isWorkWithRealtime) {
|
|
|
- setDateRange(undefined);
|
|
|
- setDateRule(undefined);
|
|
|
- setDate(undefined);
|
|
|
- } else {
|
|
|
- setTempDateRange(undefined);
|
|
|
- setTempDateRule(undefined);
|
|
|
- setTempDate(undefined);
|
|
|
- }
|
|
|
+ setDateRange(undefined);
|
|
|
+ setDateRule(undefined);
|
|
|
+ setDate(undefined);
|
|
|
+
|
|
|
+ setTempDateRange(undefined);
|
|
|
+ setTempDateRule(undefined);
|
|
|
+ setTempDate(undefined);
|
|
|
}}
|
|
|
>
|
|
|
<CleanIcon
|
|
|
@@ -709,7 +718,7 @@ const DateTimePicker = ({
|
|
|
};
|
|
|
|
|
|
const renderDateValue = () => {
|
|
|
- if(!mainDate) {
|
|
|
+ if(!date) {
|
|
|
return <Text
|
|
|
variant="labelLargeSize"
|
|
|
style={[
|
|
|
@@ -728,12 +737,12 @@ const DateTimePicker = ({
|
|
|
contentTextDynamicStyle
|
|
|
]}
|
|
|
>
|
|
|
- {moment(mainDate).format(titleFormat)}
|
|
|
+ {moment(date).format(titleFormat)}
|
|
|
</Text>;
|
|
|
};
|
|
|
|
|
|
const renderDateRangeValue = () => {
|
|
|
- if(!mainDateRange) {
|
|
|
+ if(!dateRange) {
|
|
|
return <Text
|
|
|
variant="labelLargeSize"
|
|
|
style={[
|
|
|
@@ -756,12 +765,12 @@ const DateTimePicker = ({
|
|
|
contentTextDynamicStyle
|
|
|
]}
|
|
|
>
|
|
|
- {moment(mainDateRange.start).format(titleFormat)} - {moment(mainDateRange.end).format(titleFormat)}
|
|
|
+ {moment(dateRange.start).format(titleFormat)} - {moment(dateRange.end).format(titleFormat)}
|
|
|
</Text>;
|
|
|
};
|
|
|
|
|
|
const renderDateRuleValue = () => {
|
|
|
- if(!mainDateRule) {
|
|
|
+ if(!dateRule) {
|
|
|
return <Text
|
|
|
variant="labelLargeSize"
|
|
|
style={[
|
|
|
@@ -780,7 +789,7 @@ const DateTimePicker = ({
|
|
|
contentTextDynamicStyle
|
|
|
]}
|
|
|
>
|
|
|
- {new RRule().toText(undefined, parseRRuleConfig(rruleConfig))}
|
|
|
+ {dateRule.toText(undefined, parseRRuleConfig(rruleConfig))}
|
|
|
</Text>;
|
|
|
};
|
|
|
|
|
|
@@ -883,13 +892,12 @@ const DateTimePicker = ({
|
|
|
dateRule={dateRule}
|
|
|
isActive={isActive}
|
|
|
variant={variant}
|
|
|
- setDate={setDate}
|
|
|
maxDate={maxDate}
|
|
|
minDate={minDate}
|
|
|
+ date={mainDate}
|
|
|
cancel={cancel}
|
|
|
clean={clean}
|
|
|
title={title}
|
|
|
- date={date}
|
|
|
ok={ok}
|
|
|
/>
|
|
|
</View>;
|