@@ -8,16 +8,18 @@ import {deleteDailyRoutineApi, postDailyRoutineApi, updateDailyRoutineApi} from
8
8
import {store } from " @/scripts/store.js" ;
9
9
import {getTodayDate } from " @/components/dailyRoutine/api/util.js" ;
10
10
11
+ /**
12
+ * 하루 일과 입력에 필요한 내용
13
+ */
11
14
const startDate = ref (' ' );
12
15
const endDate = ref (' ' );
13
16
const content = ref (' ' );
14
17
const routineType = ref (' STUDY' );
15
18
const isUpdateMode = ref (false );
16
19
17
- onMounted (() => {
18
- getLastStartDateTime ();
19
- });
20
-
20
+ /**
21
+ * 오늘 마지막 시작 시간을 가져온다.
22
+ */
21
23
function getLastStartDateTime () {
22
24
let todayLastStartDateTime = localStorage .getItem (" todayLastStartDateTime" );
23
25
const todayDate = getTodayDate ();
@@ -30,6 +32,10 @@ function getLastStartDateTime() {
30
32
startDate .value = todayLastStartDateTime;
31
33
}
32
34
35
+ /**
36
+ * 버튼을 누르거나, Ctrl + Enter를 눌렀을 때 실행되는 함수<br>
37
+ * 일과 등록 유효성 검사 후, 일과 등록 또는 수정을 실행한다.
38
+ */
33
39
function submit () {
34
40
if (! validate ()) {
35
41
return ;
@@ -41,6 +47,9 @@ function submit() {
41
47
postRoutine ();
42
48
}
43
49
50
+ /**
51
+ * 일과 등록 유효성 검사
52
+ */
44
53
function validate () {
45
54
// 시작 날짜가 끝 날짜보다 늦을 수 없다.
46
55
function validateStartDateIsBeforeEndDate () {
@@ -56,7 +65,10 @@ function validate() {
56
65
return false ;
57
66
}
58
67
59
- // 두 날짜는 1일이상 차이가 날 수 없다.
68
+ /**
69
+ * 두 날짜의 차이가 1일 이상 나는지 검증한다.
70
+ * @returns {boolean}
71
+ */
60
72
function validateDateDifferenceIsSmaller1 () {
61
73
// Calculate the time difference in milliseconds
62
74
const timeDifference = new Date (endDate .value ) - new Date (startDate .value );
@@ -77,7 +89,9 @@ function validate() {
77
89
return false ;
78
90
}
79
91
80
- // content는 255자를 넘을 수 없다.
92
+ /**
93
+ * content의 길이가 255자를 넘지 않는지 검증한다.
94
+ */
81
95
function validateContentLength () {
82
96
if (content .value .length > 255 ) {
83
97
alert (" content는 255자를 넘을 수 없습니다." )
@@ -90,6 +104,9 @@ function validate() {
90
104
return validateContentLength ();
91
105
}
92
106
107
+ /**
108
+ * 일과 등록
109
+ */
93
110
function postRoutine () {
94
111
if (! validate ()) {
95
112
return ;
@@ -100,6 +117,9 @@ function postRoutine() {
100
117
localStorage .setItem (" todayLastStartDateTime" , endDate .value );
101
118
}
102
119
120
+ /**
121
+ * 일과 수정
122
+ */
103
123
function updateRoutine () {
104
124
if (! updateValidate ()) {
105
125
return ;
@@ -108,28 +128,37 @@ function updateRoutine() {
108
128
updateDailyRoutineApi (store .getters .getEditBlock .id , startDate .value , endDate .value , routineType .value , content .value );
109
129
}
110
130
131
+ /**
132
+ * 일과 수정 유효성 검사
133
+ */
111
134
function updateValidate () {
112
135
if (! validate ()) {
113
136
return false ;
114
137
}
115
138
116
- function isNotDateToday () {
117
- // 오늘내의 날짜로만 수정이 가능하다.
118
- const todayDate = getTodayDate (); // Assuming getTodayDate() returns a String
139
+ /**
140
+ * 수정 하려는 날짜가 오늘 날짜인지 검증한다.
141
+ * @returns {boolean} 오늘 내의 날짜가 아니면 false, 아니면 true
142
+ */
143
+ function isNotTodayDate () {
144
+ const todayDate = getTodayDate ();
119
145
const tempStartDate = startDate .value .split (" T" )[0 ];
120
146
const tempEndDate = endDate .value .split (" T" )[0 ];
121
147
122
148
return tempStartDate !== todayDate || tempEndDate !== todayDate;
123
149
}
124
150
125
- if (isNotDateToday ()) {
151
+ if (isNotTodayDate ()) {
126
152
alert (" 오늘 내의 날짜만 수정이 가능합니다." );
127
153
return false ;
128
154
}
129
155
130
156
return true ;
131
157
}
132
158
159
+ /**
160
+ * 수정 취소
161
+ */
133
162
function cancelUpdate () {
134
163
isUpdateMode .value = false ;
135
164
getLastStartDateTime ();
@@ -138,10 +167,20 @@ function cancelUpdate() {
138
167
content .value = ' ' ;
139
168
}
140
169
170
+ /**
171
+ * 일과 삭제
172
+ */
141
173
function deleteRoutine () {
142
174
deleteDailyRoutineApi (store .getters .getEditBlock .id );
143
175
}
144
176
177
+ onMounted (() => {
178
+ getLastStartDateTime ();
179
+ });
180
+
181
+ /**
182
+ * 수정 모드로 변경
183
+ */
145
184
watch (() => store .getters .getEditBlock , (newVal ) => {
146
185
const updateStartDateTime = newVal .startDate + ' T' + newVal .displayStartTime ;
147
186
0 commit comments