Sfoglia il codice sorgente

Merge branch 'release/1.0.0-pre-alpha.22'

lfabl 4 settimane fa
parent
commit
62365815e3

+ 1 - 0
example/src/pages/home/index.tsx

@@ -369,6 +369,7 @@ const Home = () => {
         <DateTimePicker
             minDate={moment().subtract(2, "months").toDate()}
             maxDate={moment().add(1, "months").toDate()}
+            isWorkWithRealtime={false}
             isCleanEnabled={true}
             variant="single"
             initialDateRange={{

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
     "name": "ncore-ui-kit-mobile",
-    "version": "1.0.0-pre-alpha.21",
+    "version": "1.0.0-pre-alpha.22",
     "description": "NİBGAT® | NCore - UI Kit for React-Native Mobile Apps.",
     "main": "./lib/module/index.js",
     "types": "./lib/typescript/src/index.d.ts",

+ 2 - 2
src/components/dateSelector/index.tsx

@@ -37,11 +37,11 @@ const DateSelector = ({
     dayOfWeekLength = "long",
     viewDate: viewDateProp,
     setIsSheetContentReady,
+    selectObject,
     dateRange,
     dateRule,
     maxDate,
     minDate,
-    setDate,
     variant,
     date
 }: IDateSelectorProps, ref: Ref<IDateSelectorRef>) => {
@@ -230,7 +230,7 @@ const DateSelector = ({
                 }
 
                 if(variant === "single") {
-                    setDate(dayItem.date.toDate());
+                    selectObject(dayItem.date.toDate());
                 } else if(variant === "range") {
                     console.log("range");
                 } else {

+ 3 - 1
src/components/dateSelector/type.ts

@@ -42,9 +42,11 @@ export type DateSelectInitialGeneratorType = {
 export type DayOfWeekLengthType = "short" | "very-short" | "long";
 
 interface IDateSelectorProps {
+    selectMultipleObject?: (dateRange?: DateTimePickerDateRange) => void;
     setIsSheetContentReady: Dispatch<SetStateAction<boolean>>;
-    setDate: Dispatch<SetStateAction<Date | undefined>>;
+    selectDateRule?: (dateRule: RRule) => void;
     dayOfWeekLength?: DayOfWeekLengthType;
+    selectObject: (date?: Date) => void;
     localeBasedFirstDayOfWeek?: boolean;
     dateRange?: DateTimePickerDateRange;
     isShowTodayIndicator?: boolean;

+ 35 - 27
src/components/dateTimePicker/index.tsx

@@ -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>;

+ 5 - 0
src/components/dateTimePicker/type.ts

@@ -14,6 +14,11 @@ import type {
 
 export type IDateTimePickerRef = {
     setDateRange: (dateRange: DateTimePickerDateRange) => void;
+    getValue: () => {
+        dateRange?: DateTimePickerDateRange;
+        dateRule?: RRule;
+        date?: Date;
+    };
     setDateRule: (dateRule: RRule) => void;
     setDate: (date: Date) => void;
     cancel: () => void;

+ 6 - 2
src/components/dateTimeSheet/index.tsx

@@ -24,12 +24,15 @@ const DateTimeSheet = ({
     isShowTodayIndicator = true,
     dayOfWeekLength = "short",
     LoadingIconComponentProp,
+    selectMultipleObject,
     isWorkWithRealtime,
     isShowTools = true,
     dateTimePickerKey,
     bottomSheetProps,
     bottomSheetRef,
     customLocalize,
+    selectDateRule,
+    selectObject,
     customTheme,
     setIsActive,
     dateRange,
@@ -38,7 +41,6 @@ const DateTimeSheet = ({
     isLoading,
     isActive,
     dateRule,
-    setDate,
     variant,
     maxDate,
     minDate,
@@ -97,13 +99,15 @@ const DateTimeSheet = ({
             <DateSelector
                 localeBasedFirstDayOfWeek={localeBasedFirstDayOfWeek}
                 setIsSheetContentReady={setIsSheetContentReady}
+                selectMultipleObject={selectMultipleObject}
                 isShowTodayIndicator={isShowTodayIndicator}
                 dayOfWeekLength={dayOfWeekLength}
+                selectDateRule={selectDateRule}
+                selectObject={selectObject}
                 dateRange={dateRange}
                 dateRule={dateRule}
                 maxDate={maxDate}
                 minDate={minDate}
-                setDate={setDate}
                 variant={variant}
                 date={date}
             />

+ 0 - 1
src/components/dateTimeSheet/type.ts

@@ -35,7 +35,6 @@ interface IDateTimeSheetProps {
         paletteKey?: keyof NCoreUIKit.PaletteKey;
         themeKey?: keyof NCoreUIKit.ThemeKey;
     };
-    setDate: Dispatch<SetStateAction<Date | undefined>>;
     setIsLoading: Dispatch<SetStateAction<boolean>>;
     setIsActive: Dispatch<SetStateAction<boolean>>;
     customLocalize?: {