Skip to content

Commit 8ccb031

Browse files
committed
v1.6.0 : closesAfterChange 옵션 추가
1 parent ff9c9d4 commit 8ccb031

File tree

6 files changed

+30
-10
lines changed

6 files changed

+30
-10
lines changed

package/CHANGE.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
## 1.6.0
2+
3+
### What's New?
4+
5+
- add props - closesAfterChange
6+
- rangepicker default value
7+
18
## 1.5.0
29

310
### What's New?

package/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@shinyongjun/react-datepicker",
3-
"version": "1.5.0",
3+
"version": "1.6.0",
44
"main": "./dist/cjs/index.js",
55
"module": "./dist/esm/index.js",
66
"source": "./src/index.tsx",

package/src/components/Datepicker.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ interface IProps {
2020
showsMultipleCalendar?: boolean;
2121
valueFormat?: string;
2222
labelFormat?: string;
23+
closesAfterChange?: boolean;
2324
onChange?: (activeDate: Date | null) => void;
2425
}
2526

@@ -29,6 +30,7 @@ function Datepicker({
2930
showsMultipleCalendar = false,
3031
valueFormat = 'YYYY-MM-DD',
3132
labelFormat = 'YYYY / MM',
33+
closesAfterChange = true,
3234
onChange,
3335
}: IProps) {
3436
// 인수가 없을 땐 LOCAL 기준 현재 시간을 반환한다.
@@ -50,8 +52,10 @@ function Datepicker({
5052
});
5153

5254
useEffect(() => {
53-
setIsVisible(false);
54-
setViewDate(formatDate(value || NEW_DATE, 'YYYY-MM-DD'));
55+
// setViewDate(formatDate(value || NEW_DATE, 'YYYY-MM-DD'));
56+
if (closesAfterChange) {
57+
setIsVisible(false);
58+
}
5559
if (onChange) {
5660
onChange(value);
5761
}

package/src/components/Rangepicker.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ interface IProps {
2020
showsMultipleCalendar?: boolean;
2121
valueFormat?: string;
2222
labelFormat?: string;
23+
closesAfterChange?: boolean;
2324
onChange?: (activeDate: Date | null) => void;
2425
}
2526

@@ -29,6 +30,7 @@ function Rangepicker({
2930
showsMultipleCalendar = false,
3031
valueFormat = 'YYYY-MM-DD',
3132
labelFormat = 'YYYY / MM',
33+
closesAfterChange = true,
3234
onChange,
3335
}: IProps) {
3436
// 인수가 없을 땐 LOCAL 기준 현재 시간을 반환한다.
@@ -52,9 +54,10 @@ function Rangepicker({
5254
});
5355

5456
useEffect(() => {
55-
if (endValue !== null) {
57+
if (closesAfterChange && endValue !== null) {
58+
setIsVisible(false);
5659
// setIsVisible(false);
57-
setViewDate(formatDate(startValue || NEW_DATE, 'YYYY-MM-DD'));
60+
// setViewDate(formatDate(startValue || NEW_DATE, 'YYYY-MM-DD'));
5861
}
5962
// eslint-disable-next-line react-hooks/exhaustive-deps
6063
}, [endValue, onChange, setViewDate]);

package/src/components/input/Range.tsx

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,16 @@ function InputRange({
2727
setIsVisible(true);
2828
};
2929

30-
const setRangeValue = () =>
31-
`${formatDate(startValue, valueFormat)} - ${formatDate(
32-
endValue,
33-
valueFormat
34-
)}`;
30+
const setRangeValue = () => {
31+
if (startValue === null && endValue === null) {
32+
return '';
33+
} else {
34+
return `${formatDate(startValue, valueFormat)} - ${formatDate(
35+
endValue,
36+
valueFormat
37+
)}`;
38+
}
39+
};
3540

3641
const clearValue = () => {
3742
setStartValue(null);

test/src/App.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ function App() {
2020
<Datepicker labelFormat="YYYY년 MM월" />
2121
<Rangepicker />
2222
<Rangepicker showsMultipleCalendar />
23+
<Rangepicker closesAfterChange={false} />
2324
</div>
2425
);
2526
}

0 commit comments

Comments
 (0)