@elice/material-assignment 1.230328.0 → 1.230418.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/cjs/_virtual/_rollupPluginBabelHelpers.js +393 -0
  2. package/cjs/components/material-assignment/MaterialAssignment.js +12 -11
  3. package/cjs/components/material-assignment/MaterialAssignmentContent.js +100 -105
  4. package/cjs/components/material-assignment/MaterialAssignmentUploadModal.js +113 -93
  5. package/cjs/components/material-assignment/locales.js +2 -2
  6. package/cjs/components/material-assignment-admin/MaterialAssignmentAdmin.js +19 -20
  7. package/cjs/components/material-assignment-admin/MaterialAssignmentAdmin.styled.js +15 -9
  8. package/cjs/components/material-assignment-admin/MaterialAssignmentAdminContent.js +363 -281
  9. package/cjs/components/material-assignment-admin/MaterialAssignmentAdminContentTa.js +157 -126
  10. package/cjs/components/shared/MaterialAssignmentContainer.js +9 -9
  11. package/cjs/index.js +2 -2
  12. package/es/_virtual/_rollupPluginBabelHelpers.js +382 -0
  13. package/es/components/material-assignment/MaterialAssignment.js +8 -9
  14. package/es/components/material-assignment/MaterialAssignmentContent.js +95 -102
  15. package/es/components/material-assignment/MaterialAssignmentUploadModal.js +111 -93
  16. package/es/components/material-assignment/locales.js +2 -2
  17. package/es/components/material-assignment-admin/MaterialAssignmentAdmin.js +14 -17
  18. package/es/components/material-assignment-admin/MaterialAssignmentAdmin.styled.js +15 -9
  19. package/es/components/material-assignment-admin/MaterialAssignmentAdminContent.js +361 -281
  20. package/es/components/material-assignment-admin/MaterialAssignmentAdminContentTa.js +154 -125
  21. package/es/components/shared/MaterialAssignmentContainer.js +6 -8
  22. package/package.json +8 -8
@@ -1,8 +1,9 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React, { forwardRef } from 'react';
2
3
  import { useForm, Controller } from 'react-hook-form';
3
4
  import { FormattedDate } from 'react-intl';
4
- import { config, getOrgUserGet, getOrgMaterialAssignmentGet, getOrgMaterialAssignmentSubmissionList, getOrgMaterialAssignmentGradeResultGet, getOrgMaterialAssignmentGradeList, postOrgMaterialAssignmentGradeEdit, postOrgMaterialAssignmentGradeResultManualScoreEdit, postOrgMaterialAssignmentGradeDelete } from '@elice/api-client';
5
- import { Notification, Flex, ProfileImage, Hspace, Text, Tooltip, Icon, Vspace, InfoTable, Button, TableNext, IconButton, Pagination, Modal, Label, Input, Textarea, Alert } from '@elice/blocks';
5
+ import { config, getOrgUserGet, getOrgMaterialAssignmentGet, getOrgMaterialAssignmentSubmissionList, getOrgMaterialAssignmentGradeResultGet, getOrgMaterialAssignmentGradeList, postOrgMaterialAssignmentGradeResultManualScoreEdit, postOrgMaterialAssignmentGradeEdit, postOrgMaterialAssignmentGradeDelete } from '@elice/api-client';
6
+ import { Flex, ProfileImage, Hspace, Text, Tooltip, Icon, Vspace, InfoTable, Button, TableNext, IconButton, Pagination, Notification, Modal, Label, Input, Textarea, Alert } from '@elice/blocks';
6
7
  import { base } from '@elice/design-tokens';
7
8
  import { eilStatusInfo, eilChat, eilDelete, eilArrowRightwardsBasic } from '@elice/icons';
8
9
  import { useMaterialConfigApiClientUpdate } from '@elice/material-shared-utils';
@@ -10,224 +11,321 @@ import dayjs from 'dayjs';
10
11
  import MaterialAssignmentContainer from '../shared/MaterialAssignmentContainer.js';
11
12
  import { StyledMaterialAssignmentAdminHeader, StyledMaterialAssignmentAdminHeaderCell, StyledMaterialAssignmentAdminGradeWrapper, StyledMaterialAssignmentAdminManualScoreEditButtonWrapper, StyledMaterialAssignmentAdminManualScoreEditButton, StyledMaterialAssignmentAdminTextareaWrapper } from './MaterialAssignmentAdmin.styled.js';
12
13
 
13
- const FETCH_GRADE_LIST_COUNT = 5;
14
- const MaterialAssignmentAdminContent = forwardRef(({
15
- materialAssignmentId,
16
- userId,
17
- adminUserId,
18
- updateMaterialUserBrowserResponse
19
- }, ref) => {
20
- var _a; // Form
21
-
22
-
23
- const gradeEditFormMethods = useForm({
14
+ var FETCH_GRADE_LIST_COUNT = 5;
15
+ var MaterialAssignmentAdminContent = forwardRef(function (_ref, ref) {
16
+ var materialAssignmentId = _ref.materialAssignmentId,
17
+ userId = _ref.userId,
18
+ adminUserId = _ref.adminUserId,
19
+ updateMaterialUserBrowserResponse = _ref.updateMaterialUserBrowserResponse;
20
+ var _a;
21
+ // Form
22
+ var gradeEditFormMethods = useForm({
24
23
  defaultValues: {
25
24
  score: 0,
26
25
  comment: ''
27
26
  },
28
27
  mode: 'onChange'
29
28
  });
30
- const manualScoreEditFormMethods = useForm({
29
+ var manualScoreEditFormMethods = useForm({
31
30
  defaultValues: {
32
31
  manualScore: 0
33
32
  },
34
33
  mode: 'onChange'
35
- }); // API Status
36
-
37
- const isReady = useMaterialConfigApiClientUpdate(config.init);
38
- const [submissionListGetStatus, setSubmissionListGetStatus] = React.useState('idle');
39
- const [gradeDeleteStatus, setGradeDeleteStatus] = React.useState('idle'); // State related with component
40
-
41
- const [showGradeEditModal, setShowGradeEditModal] = React.useState(false);
42
- const [showManualScoreEditModal, setShowManualScoreEditModal] = React.useState(false);
43
- const [selectedGradeForShow, setSelectedGradeForShow] = React.useState(null);
44
- const [selectedGradeForDelete, setSelectedGradeForDelete] = React.useState(null); // State related with api
45
-
46
- const [user, setUser] = React.useState(null);
47
- const [materialAssignment, setMaterialAssignment] = React.useState(null);
48
- const [userSubmission, setUserSubmission] = React.useState(null);
49
- const [myGrade, setMyGrade] = React.useState(null);
50
- const [gradeResult, setGradeResult] = React.useState(null);
51
- const [gradeList, setGradeList] = React.useState([]);
52
- const [gradeListCount, setGradeListCount] = React.useState(0);
53
- const [gradeListPage, setGradeListPage] = React.useState(1);
54
- const gradeListOffset = (gradeListPage - 1) * FETCH_GRADE_LIST_COUNT;
55
- const isAssignmentClosed = dayjs().isAfter(dayjs(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.closeDatetime));
56
- const isScoreFinalized = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime);
57
- const isUserSubmitted = Boolean(userSubmission);
58
- const fetchUserGet = React.useCallback(() => {
34
+ });
35
+ // API Status
36
+ var isReady = useMaterialConfigApiClientUpdate(config.init);
37
+ var _React$useState = React.useState('idle'),
38
+ _React$useState2 = _slicedToArray(_React$useState, 2),
39
+ submissionListGetStatus = _React$useState2[0],
40
+ setSubmissionListGetStatus = _React$useState2[1];
41
+ var _React$useState3 = React.useState('idle'),
42
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
43
+ gradeDeleteStatus = _React$useState4[0],
44
+ setGradeDeleteStatus = _React$useState4[1];
45
+ // State related with component
46
+ var _React$useState5 = React.useState(false),
47
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
48
+ showGradeEditModal = _React$useState6[0],
49
+ setShowGradeEditModal = _React$useState6[1];
50
+ var _React$useState7 = React.useState(false),
51
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
52
+ showManualScoreEditModal = _React$useState8[0],
53
+ setShowManualScoreEditModal = _React$useState8[1];
54
+ var _React$useState9 = React.useState(null),
55
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
56
+ selectedGradeForShow = _React$useState10[0],
57
+ setSelectedGradeForShow = _React$useState10[1];
58
+ var _React$useState11 = React.useState(null),
59
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
60
+ selectedGradeForDelete = _React$useState12[0],
61
+ setSelectedGradeForDelete = _React$useState12[1];
62
+ // State related with api
63
+ var _React$useState13 = React.useState(null),
64
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
65
+ user = _React$useState14[0],
66
+ setUser = _React$useState14[1];
67
+ var _React$useState15 = React.useState(null),
68
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
69
+ materialAssignment = _React$useState16[0],
70
+ setMaterialAssignment = _React$useState16[1];
71
+ var _React$useState17 = React.useState(null),
72
+ _React$useState18 = _slicedToArray(_React$useState17, 2),
73
+ userSubmission = _React$useState18[0],
74
+ setUserSubmission = _React$useState18[1];
75
+ var _React$useState19 = React.useState(null),
76
+ _React$useState20 = _slicedToArray(_React$useState19, 2),
77
+ myGrade = _React$useState20[0],
78
+ setMyGrade = _React$useState20[1];
79
+ var _React$useState21 = React.useState(null),
80
+ _React$useState22 = _slicedToArray(_React$useState21, 2),
81
+ gradeResult = _React$useState22[0],
82
+ setGradeResult = _React$useState22[1];
83
+ var _React$useState23 = React.useState([]),
84
+ _React$useState24 = _slicedToArray(_React$useState23, 2),
85
+ gradeList = _React$useState24[0],
86
+ setGradeList = _React$useState24[1];
87
+ var _React$useState25 = React.useState(0),
88
+ _React$useState26 = _slicedToArray(_React$useState25, 2),
89
+ gradeListCount = _React$useState26[0],
90
+ setGradeListCount = _React$useState26[1];
91
+ var _React$useState27 = React.useState(1),
92
+ _React$useState28 = _slicedToArray(_React$useState27, 2),
93
+ gradeListPage = _React$useState28[0],
94
+ setGradeListPage = _React$useState28[1];
95
+ var gradeListOffset = (gradeListPage - 1) * FETCH_GRADE_LIST_COUNT;
96
+ var isAssignmentClosed = dayjs().isAfter(dayjs(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.closeDatetime));
97
+ var isScoreFinalized = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime);
98
+ var isUserSubmitted = Boolean(userSubmission);
99
+ var fetchUserGet = React.useCallback(function () {
59
100
  void getOrgUserGet({
60
- userId
61
- }).then(res => res.user).then(setUser);
101
+ userId: userId
102
+ }).then(function (res) {
103
+ return res.user;
104
+ }).then(setUser);
62
105
  }, [userId]);
63
- const fetchMaterialAssignmentGet = React.useCallback(() => {
106
+ var fetchMaterialAssignmentGet = React.useCallback(function () {
64
107
  void getOrgMaterialAssignmentGet({
65
- materialAssignmentId
66
- }).then(res => res.materialAssignment).then(setMaterialAssignment);
108
+ materialAssignmentId: materialAssignmentId
109
+ }).then(function (res) {
110
+ return res.materialAssignment;
111
+ }).then(setMaterialAssignment);
67
112
  }, [materialAssignmentId]);
68
- const fetchSubmissionList = React.useCallback(() => {
113
+ var fetchSubmissionList = React.useCallback(function () {
69
114
  setSubmissionListGetStatus('pending');
70
115
  void getOrgMaterialAssignmentSubmissionList({
71
- materialAssignmentId,
116
+ materialAssignmentId: materialAssignmentId,
72
117
  offset: 0,
73
118
  count: 1,
74
119
  filterConditions: {
75
120
  isLast: true,
76
121
  userIds: [userId]
77
122
  }
78
- }).then(res => res.materialAssignmentSubmissions[0]).then(submission => {
123
+ }).then(function (res) {
124
+ return res.materialAssignmentSubmissions[0];
125
+ }).then(function (submission) {
79
126
  setUserSubmission(submission !== null && submission !== void 0 ? submission : null);
80
127
  setSubmissionListGetStatus('resolved');
81
- }).catch(err => {
128
+ }).catch(function (err) {
82
129
  console.error(err);
83
130
  setSubmissionListGetStatus('rejected');
84
131
  });
85
132
  }, [materialAssignmentId, userId]);
86
- const fetchGradeResult = React.useCallback(() => {
133
+ var fetchGradeResult = React.useCallback(function () {
87
134
  void getOrgMaterialAssignmentGradeResultGet({
88
- materialAssignmentId,
89
- userId
90
- }).then(res => res.materialAssignmentGradeResult).then(setGradeResult).catch(() => {
135
+ materialAssignmentId: materialAssignmentId,
136
+ userId: userId
137
+ }).then(function (res) {
138
+ return res.materialAssignmentGradeResult;
139
+ }).then(setGradeResult).catch(function () {
91
140
  setGradeResult(null);
92
141
  });
93
142
  }, [materialAssignmentId, userId]);
94
- const fetchGradeList = React.useCallback(() => {
143
+ var fetchGradeList = React.useCallback(function () {
95
144
  void getOrgMaterialAssignmentGradeList({
96
- materialAssignmentId,
145
+ materialAssignmentId: materialAssignmentId,
97
146
  offset: gradeListOffset,
98
147
  count: FETCH_GRADE_LIST_COUNT,
99
148
  filterConditions: {
100
- userId
149
+ userId: userId
101
150
  }
102
- }).then(({
103
- materialAssignmentGrades,
104
- materialAssignmentGradeCount
105
- }) => {
151
+ }).then(function (_ref2) {
152
+ var materialAssignmentGrades = _ref2.materialAssignmentGrades,
153
+ materialAssignmentGradeCount = _ref2.materialAssignmentGradeCount;
106
154
  setGradeList(materialAssignmentGrades);
107
155
  setGradeListCount(materialAssignmentGradeCount);
108
156
  });
109
157
  }, [gradeListOffset, materialAssignmentId, userId]);
110
- const fetchMyGrade = React.useCallback(() => {
158
+ var fetchMyGrade = React.useCallback(function () {
111
159
  void getOrgMaterialAssignmentGradeList({
112
- materialAssignmentId,
160
+ materialAssignmentId: materialAssignmentId,
113
161
  offset: 0,
114
162
  count: 1,
115
163
  filterConditions: {
116
- userId,
164
+ userId: userId,
117
165
  gradeUserId: adminUserId
118
166
  }
119
- }).then(res => res.materialAssignmentGrades[0]).then(grade => setMyGrade(grade !== null && grade !== void 0 ? grade : null));
167
+ }).then(function (res) {
168
+ return res.materialAssignmentGrades[0];
169
+ }).then(function (grade) {
170
+ return setMyGrade(grade !== null && grade !== void 0 ? grade : null);
171
+ });
120
172
  }, [adminUserId, materialAssignmentId, userId]);
121
-
122
- const handleManualScoreEditClick = () => {
173
+ var handleManualScoreEditClick = function handleManualScoreEditClick() {
123
174
  var _a, _b;
124
-
125
175
  setShowManualScoreEditModal(true);
126
176
  manualScoreEditFormMethods.reset({
127
177
  manualScore: (_b = (_a = gradeResult === null || gradeResult === void 0 ? void 0 : gradeResult.manualScore) !== null && _a !== void 0 ? _a : gradeResult === null || gradeResult === void 0 ? void 0 : gradeResult.avgCalcScore) !== null && _b !== void 0 ? _b : 0
128
178
  });
129
179
  };
130
-
131
- const handleGradeEditClick = () => {
180
+ var handleGradeEditClick = function handleGradeEditClick() {
132
181
  var _a, _b;
133
-
134
182
  setShowGradeEditModal(true);
135
183
  gradeEditFormMethods.reset({
136
184
  score: (_a = myGrade === null || myGrade === void 0 ? void 0 : myGrade.score) !== null && _a !== void 0 ? _a : 0,
137
185
  comment: (_b = myGrade === null || myGrade === void 0 ? void 0 : myGrade.comment) !== null && _b !== void 0 ? _b : ''
138
186
  });
139
187
  };
140
-
141
- const handleGradeEditSubmit = gradeEditFormMethods.handleSubmit(async ({
142
- score,
143
- comment
144
- }) => {
145
- try {
146
- await postOrgMaterialAssignmentGradeEdit({
147
- materialAssignmentGradeId: myGrade === null || myGrade === void 0 ? void 0 : myGrade.id,
148
- materialAssignmentId,
149
- userId,
150
- score,
151
- comment
152
- });
153
- fetchMyGrade();
154
- fetchGradeResult();
155
- fetchGradeList();
156
-
157
- if (typeof updateMaterialUserBrowserResponse === 'function') {
158
- updateMaterialUserBrowserResponse(userId);
159
- }
160
-
161
- Notification.success('저장되었습니다');
162
- } catch (err) {
163
- console.error(err);
164
- Notification.error('오류가 발생했습니다.');
165
- } finally {
166
- setShowGradeEditModal(false);
167
- }
168
- });
169
-
170
- const handleGradeDeleteSubmit = async () => {
171
- if (!selectedGradeForDelete) {
172
- return;
173
- }
174
-
175
- try {
176
- setGradeDeleteStatus('pending');
177
- await postOrgMaterialAssignmentGradeDelete({
178
- materialAssignmentGradeId: selectedGradeForDelete.id
179
- }); // If delete my grade, re-fetch my grade data.
180
-
181
- if (adminUserId === selectedGradeForDelete.gradeUser.id) {
182
- fetchMyGrade();
183
- }
184
-
185
- fetchGradeList();
186
- fetchGradeResult();
187
- setGradeDeleteStatus('resolved');
188
-
189
- if (typeof updateMaterialUserBrowserResponse === 'function') {
190
- updateMaterialUserBrowserResponse(userId);
191
- }
192
-
193
- Notification.success('저장되었습니다');
194
- } catch (err) {
195
- console.error(err);
196
- setGradeDeleteStatus('rejected');
197
- Notification.error('오류가 발생했습니다.');
198
- } finally {
199
- setSelectedGradeForDelete(null);
200
- }
201
- };
202
-
203
- const handleManualScoreEditSubmit = manualScoreEditFormMethods.handleSubmit(async ({
204
- manualScore
205
- }) => {
206
- try {
207
- await postOrgMaterialAssignmentGradeResultManualScoreEdit({
208
- userId,
209
- manualScore,
210
- materialAssignmentId
211
- });
212
- fetchGradeResult();
213
-
214
- if (typeof updateMaterialUserBrowserResponse === 'function') {
215
- updateMaterialUserBrowserResponse(userId);
216
- }
217
-
218
- Notification.success('저장되었습니다');
219
- } catch (err) {
220
- console.error(err);
221
- Notification.error('오류가 발생했습니다.');
222
- } finally {
223
- setShowManualScoreEditModal(false);
224
- }
225
- });
226
- React.useEffect(() => {
188
+ var handleGradeEditSubmit = gradeEditFormMethods.handleSubmit( /*#__PURE__*/function () {
189
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref3) {
190
+ var score, comment;
191
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
192
+ while (1) switch (_context.prev = _context.next) {
193
+ case 0:
194
+ score = _ref3.score, comment = _ref3.comment;
195
+ _context.prev = 1;
196
+ _context.next = 4;
197
+ return postOrgMaterialAssignmentGradeEdit({
198
+ materialAssignmentGradeId: myGrade === null || myGrade === void 0 ? void 0 : myGrade.id,
199
+ materialAssignmentId: materialAssignmentId,
200
+ userId: userId,
201
+ score: score,
202
+ comment: comment
203
+ });
204
+ case 4:
205
+ fetchMyGrade();
206
+ fetchGradeResult();
207
+ fetchGradeList();
208
+ if (typeof updateMaterialUserBrowserResponse === 'function') {
209
+ updateMaterialUserBrowserResponse(userId);
210
+ }
211
+ Notification.success('저장되었습니다');
212
+ _context.next = 15;
213
+ break;
214
+ case 11:
215
+ _context.prev = 11;
216
+ _context.t0 = _context["catch"](1);
217
+ console.error(_context.t0);
218
+ Notification.error('오류가 발생했습니다.');
219
+ case 15:
220
+ _context.prev = 15;
221
+ setShowGradeEditModal(false);
222
+ return _context.finish(15);
223
+ case 18:
224
+ case "end":
225
+ return _context.stop();
226
+ }
227
+ }, _callee, null, [[1, 11, 15, 18]]);
228
+ }));
229
+ return function (_x) {
230
+ return _ref4.apply(this, arguments);
231
+ };
232
+ }());
233
+ var handleGradeDeleteSubmit = /*#__PURE__*/function () {
234
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
235
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
236
+ while (1) switch (_context2.prev = _context2.next) {
237
+ case 0:
238
+ if (selectedGradeForDelete) {
239
+ _context2.next = 2;
240
+ break;
241
+ }
242
+ return _context2.abrupt("return");
243
+ case 2:
244
+ _context2.prev = 2;
245
+ setGradeDeleteStatus('pending');
246
+ _context2.next = 6;
247
+ return postOrgMaterialAssignmentGradeDelete({
248
+ materialAssignmentGradeId: selectedGradeForDelete.id
249
+ });
250
+ case 6:
251
+ // If delete my grade, re-fetch my grade data.
252
+ if (adminUserId === selectedGradeForDelete.gradeUser.id) {
253
+ fetchMyGrade();
254
+ }
255
+ fetchGradeList();
256
+ fetchGradeResult();
257
+ setGradeDeleteStatus('resolved');
258
+ if (typeof updateMaterialUserBrowserResponse === 'function') {
259
+ updateMaterialUserBrowserResponse(userId);
260
+ }
261
+ Notification.success('저장되었습니다');
262
+ _context2.next = 19;
263
+ break;
264
+ case 14:
265
+ _context2.prev = 14;
266
+ _context2.t0 = _context2["catch"](2);
267
+ console.error(_context2.t0);
268
+ setGradeDeleteStatus('rejected');
269
+ Notification.error('오류가 발생했습니다.');
270
+ case 19:
271
+ _context2.prev = 19;
272
+ setSelectedGradeForDelete(null);
273
+ return _context2.finish(19);
274
+ case 22:
275
+ case "end":
276
+ return _context2.stop();
277
+ }
278
+ }, _callee2, null, [[2, 14, 19, 22]]);
279
+ }));
280
+ return function handleGradeDeleteSubmit() {
281
+ return _ref5.apply(this, arguments);
282
+ };
283
+ }();
284
+ var handleManualScoreEditSubmit = manualScoreEditFormMethods.handleSubmit( /*#__PURE__*/function () {
285
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref6) {
286
+ var manualScore;
287
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
288
+ while (1) switch (_context3.prev = _context3.next) {
289
+ case 0:
290
+ manualScore = _ref6.manualScore;
291
+ _context3.prev = 1;
292
+ _context3.next = 4;
293
+ return postOrgMaterialAssignmentGradeResultManualScoreEdit({
294
+ userId: userId,
295
+ manualScore: manualScore,
296
+ materialAssignmentId: materialAssignmentId
297
+ });
298
+ case 4:
299
+ fetchGradeResult();
300
+ if (typeof updateMaterialUserBrowserResponse === 'function') {
301
+ updateMaterialUserBrowserResponse(userId);
302
+ }
303
+ Notification.success('저장되었습니다');
304
+ _context3.next = 13;
305
+ break;
306
+ case 9:
307
+ _context3.prev = 9;
308
+ _context3.t0 = _context3["catch"](1);
309
+ console.error(_context3.t0);
310
+ Notification.error('오류가 발생했습니다.');
311
+ case 13:
312
+ _context3.prev = 13;
313
+ setShowManualScoreEditModal(false);
314
+ return _context3.finish(13);
315
+ case 16:
316
+ case "end":
317
+ return _context3.stop();
318
+ }
319
+ }, _callee3, null, [[1, 9, 13, 16]]);
320
+ }));
321
+ return function (_x2) {
322
+ return _ref7.apply(this, arguments);
323
+ };
324
+ }());
325
+ React.useEffect(function () {
227
326
  if (!isReady) {
228
327
  return;
229
328
  }
230
-
231
329
  fetchUserGet();
232
330
  fetchMyGrade();
233
331
  fetchGradeList();
@@ -235,15 +333,15 @@ const MaterialAssignmentAdminContent = forwardRef(({
235
333
  fetchSubmissionList();
236
334
  fetchMaterialAssignmentGet();
237
335
  }, [isReady, fetchUserGet, fetchMyGrade, fetchGradeList, fetchGradeResult, fetchSubmissionList, fetchMaterialAssignmentGet]);
238
- React.useImperativeHandle(ref, () => ({
239
- refreshMaterialAssignment: () => {
240
- fetchMaterialAssignmentGet();
241
- }
242
- }), [fetchMaterialAssignmentGet]);
243
-
244
- const renderHeader = () => {
336
+ React.useImperativeHandle(ref, function () {
337
+ return {
338
+ refreshMaterialAssignment: function refreshMaterialAssignment() {
339
+ fetchMaterialAssignmentGet();
340
+ }
341
+ };
342
+ }, [fetchMaterialAssignmentGet]);
343
+ var renderHeader = function renderHeader() {
245
344
  var _a, _b, _c;
246
-
247
345
  return React.createElement(StyledMaterialAssignmentAdminHeader, {
248
346
  align: "center",
249
347
  padding: "1rem",
@@ -266,7 +364,7 @@ const MaterialAssignmentAdminContent = forwardRef(({
266
364
  }, "\uC810\uC218"), React.createElement(Text, {
267
365
  size: "small",
268
366
  role: "white"
269
- }, gradeResult ? `${(_c = (_b = gradeResult.manualScore) !== null && _b !== void 0 ? _b : gradeResult.avgCalcScore) !== null && _c !== void 0 ? _c : 0}${isScoreFinalized ? '(공개됨)' : '(비공개)'}` : '--')), React.createElement(StyledMaterialAssignmentAdminHeaderCell, null, React.createElement(Text, {
367
+ }, gradeResult ? "".concat((_c = (_b = gradeResult.manualScore) !== null && _b !== void 0 ? _b : gradeResult.avgCalcScore) !== null && _c !== void 0 ? _c : 0).concat(isScoreFinalized ? '(공개됨)' : '(비공개)') : '--')), React.createElement(StyledMaterialAssignmentAdminHeaderCell, null, React.createElement(Text, {
270
368
  size: "tiny",
271
369
  role: "gray4"
272
370
  }, "\uC81C\uCD9C \uC77C\uC2DC"), React.createElement(Text, {
@@ -279,8 +377,7 @@ const MaterialAssignmentAdminContent = forwardRef(({
279
377
  hour12: false
280
378
  }) : '--')));
281
379
  };
282
-
283
- const renderManualScoreEditButton = () => {
380
+ var renderManualScoreEditButton = function renderManualScoreEditButton() {
284
381
  return React.createElement(Tooltip, {
285
382
  placement: "top",
286
383
  title: isUserSubmitted ? '제출 기한이 지난 이후 조정할 수 있습니다.' : '미제출인 경우 조정할 수 없습니다.',
@@ -295,10 +392,8 @@ const MaterialAssignmentAdminContent = forwardRef(({
295
392
  onClick: handleManualScoreEditClick
296
393
  }, "\uC810\uC218 \uC870\uC815\uD558\uAE30")));
297
394
  };
298
-
299
- const renderGradeResult = () => {
395
+ var renderGradeResult = function renderGradeResult() {
300
396
  var _a, _b;
301
-
302
397
  return React.createElement(StyledMaterialAssignmentAdminGradeWrapper, {
303
398
  wrap: true,
304
399
  width: "100%",
@@ -310,7 +405,7 @@ const MaterialAssignmentAdminContent = forwardRef(({
310
405
  role: "navy1",
311
406
  size: "small",
312
407
  lineHeight: "1.375rem"
313
- }, user ? `${user.fullname} 님의 점수` : null), React.createElement(Hspace, {
408
+ }, user ? "".concat(user.fullname, " \uB2D8\uC758 \uC810\uC218") : null), React.createElement(Hspace, {
314
409
  width: 0.25
315
410
  }), React.createElement(Tooltip, {
316
411
  useMaxWidth: true,
@@ -324,15 +419,13 @@ const MaterialAssignmentAdminContent = forwardRef(({
324
419
  }), React.createElement(Text, {
325
420
  bold: true,
326
421
  role: "white"
327
- }, gradeResult ? `${(_b = (_a = gradeResult.manualScore) !== null && _a !== void 0 ? _a : gradeResult.avgCalcScore) !== null && _b !== void 0 ? _b : 0}${isScoreFinalized ? '(공개됨)' : '(비공개)'}` : '--')), renderManualScoreEditButton());
422
+ }, gradeResult ? "".concat((_b = (_a = gradeResult.manualScore) !== null && _a !== void 0 ? _a : gradeResult.avgCalcScore) !== null && _b !== void 0 ? _b : 0).concat(isScoreFinalized ? '(공개됨)' : '(비공개)') : '--')), renderManualScoreEditButton());
328
423
  };
329
-
330
- const renderSubmissionInfo = () => {
331
- const statusText = (() => {
424
+ var renderSubmissionInfo = function renderSubmissionInfo() {
425
+ var statusText = function () {
332
426
  if (submissionListGetStatus === 'pending') {
333
427
  return null;
334
428
  }
335
-
336
429
  switch (true) {
337
430
  case !isUserSubmitted && isAssignmentClosed:
338
431
  return React.createElement(Text, {
@@ -340,21 +433,18 @@ const MaterialAssignmentAdminContent = forwardRef(({
340
433
  role: "danger",
341
434
  size: "small"
342
435
  }, "\uC81C\uCD9C \uAE30\uD55C \uB9CC\uB8CC");
343
-
344
436
  case isScoreFinalized:
345
437
  return React.createElement(Text, {
346
438
  bold: true,
347
439
  role: "lightpurple",
348
440
  size: "small"
349
441
  }, "\uCC44\uC810 \uC644\uB8CC");
350
-
351
442
  case isUserSubmitted:
352
443
  return React.createElement(Text, {
353
444
  bold: true,
354
445
  role: "success",
355
446
  size: "small"
356
447
  }, "\uC81C\uCD9C\uB428");
357
-
358
448
  case !isUserSubmitted:
359
449
  return React.createElement(Text, {
360
450
  bold: true,
@@ -362,15 +452,13 @@ const MaterialAssignmentAdminContent = forwardRef(({
362
452
  size: "small"
363
453
  }, "\uBBF8\uC81C\uCD9C");
364
454
  }
365
- })();
366
-
367
- const submissionAttachment = (() => {
455
+ }();
456
+ var submissionAttachment = function () {
368
457
  if (!userSubmission) {
369
458
  return '--';
370
459
  }
371
-
372
460
  if (userSubmission.assignmentFileUrl) {
373
- const assignmentFilename = decodeURIComponent(userSubmission.assignmentFileUrl && new URL(userSubmission.assignmentFileUrl).pathname.split('/').pop() || '');
461
+ var assignmentFilename = decodeURIComponent(userSubmission.assignmentFileUrl && new URL(userSubmission.assignmentFileUrl).pathname.split('/').pop() || '');
374
462
  return React.createElement("a", {
375
463
  href: userSubmission.assignmentFileUrl,
376
464
  download: assignmentFilename,
@@ -383,7 +471,6 @@ const MaterialAssignmentAdminContent = forwardRef(({
383
471
  size: "small"
384
472
  }, assignmentFilename));
385
473
  }
386
-
387
474
  if (userSubmission === null || userSubmission === void 0 ? void 0 : userSubmission.assignmentUrl) {
388
475
  return React.createElement("a", {
389
476
  href: userSubmission.assignmentUrl,
@@ -396,8 +483,7 @@ const MaterialAssignmentAdminContent = forwardRef(({
396
483
  size: "small"
397
484
  }, userSubmission.assignmentUrl));
398
485
  }
399
- })();
400
-
486
+ }();
401
487
  return React.createElement(InfoTable, {
402
488
  dark: true
403
489
  }, React.createElement("tbody", null, React.createElement("tr", null, React.createElement("td", null, "\uC0C1\uD0DC"), React.createElement("td", null, statusText)), React.createElement("tr", null, React.createElement("td", null, "\uACFC\uC81C \uC81C\uCD9C \uAE30\uD55C"), React.createElement("td", null, React.createElement(FormattedDate, {
@@ -412,8 +498,7 @@ const MaterialAssignmentAdminContent = forwardRef(({
412
498
  hour12: false
413
499
  }) : '--')), React.createElement("tr", null, React.createElement("td", null, "\uC5C5\uB85C\uB4DC\uB41C \uACFC\uC81C"), React.createElement("td", null, submissionAttachment))));
414
500
  };
415
-
416
- const renderGradeList = () => {
501
+ var renderGradeList = function renderGradeList() {
417
502
  return React.createElement(Flex, {
418
503
  column: true,
419
504
  align: "center"
@@ -458,47 +543,49 @@ const MaterialAssignmentAdminContent = forwardRef(({
458
543
  accessor: 'created',
459
544
  textAlign: 'left'
460
545
  }],
461
- data: gradeList.map(grade => ({
462
- fullname: React.createElement(Flex, null, React.createElement(Text, {
463
- noWrap: true,
464
- role: "navy0",
465
- size: "small"
466
- }, `${grade.gradeUser.fullname}${grade.gradeUser.id === adminUserId ? '(나)' : ''}`), React.createElement(Hspace, {
467
- width: 0.25
468
- }), React.createElement(Text, {
469
- ellipsis: true,
470
- role: "navy3",
471
- size: "small"
472
- }, grade.gradeUser.email)),
473
- grade: grade.score,
474
- created: React.createElement(Flex, {
475
- align: "center",
476
- justify: "space-between"
477
- }, React.createElement(FormattedDate, {
478
- value: grade.createdDatetime,
479
- dateStyle: "medium",
480
- timeStyle: "short",
481
- hour12: false
482
- }), React.createElement(Flex, {
483
- align: "center"
484
- }, React.createElement(IconButton, {
485
- icon: eilChat,
486
- size: "tiny",
487
- role: "navy3",
488
- onClick: () => {
489
- setSelectedGradeForShow(grade);
490
- }
491
- }), React.createElement(Hspace, {
492
- width: 0.5
493
- }), React.createElement(IconButton, {
494
- icon: eilDelete,
495
- size: "tiny",
496
- role: "navy3",
497
- onClick: () => {
498
- setSelectedGradeForDelete(grade);
499
- }
500
- })))
501
- }))
546
+ data: gradeList.map(function (grade) {
547
+ return {
548
+ fullname: React.createElement(Flex, null, React.createElement(Text, {
549
+ noWrap: true,
550
+ role: "navy0",
551
+ size: "small"
552
+ }, "".concat(grade.gradeUser.fullname).concat(grade.gradeUser.id === adminUserId ? '(나)' : '')), React.createElement(Hspace, {
553
+ width: 0.25
554
+ }), React.createElement(Text, {
555
+ ellipsis: true,
556
+ role: "navy3",
557
+ size: "small"
558
+ }, grade.gradeUser.email)),
559
+ grade: grade.score,
560
+ created: React.createElement(Flex, {
561
+ align: "center",
562
+ justify: "space-between"
563
+ }, React.createElement(FormattedDate, {
564
+ value: grade.createdDatetime,
565
+ dateStyle: "medium",
566
+ timeStyle: "short",
567
+ hour12: false
568
+ }), React.createElement(Flex, {
569
+ align: "center"
570
+ }, React.createElement(IconButton, {
571
+ icon: eilChat,
572
+ size: "tiny",
573
+ role: "navy3",
574
+ onClick: function onClick() {
575
+ setSelectedGradeForShow(grade);
576
+ }
577
+ }), React.createElement(Hspace, {
578
+ width: 0.5
579
+ }), React.createElement(IconButton, {
580
+ icon: eilDelete,
581
+ size: "tiny",
582
+ role: "navy3",
583
+ onClick: function onClick() {
584
+ setSelectedGradeForDelete(grade);
585
+ }
586
+ })))
587
+ };
588
+ })
502
589
  }), React.createElement(Vspace, {
503
590
  height: 0.5
504
591
  }), React.createElement(Pagination, {
@@ -508,20 +595,18 @@ const MaterialAssignmentAdminContent = forwardRef(({
508
595
  total: gradeListCount,
509
596
  isNext: gradeListOffset + FETCH_GRADE_LIST_COUNT < gradeListCount,
510
597
  isPrev: gradeListOffset > 0,
511
- onClickNext: () => {
598
+ onClickNext: function onClickNext() {
512
599
  setGradeListPage(gradeListPage + 1);
513
600
  },
514
- onClickPrev: () => {
601
+ onClickPrev: function onClickPrev() {
515
602
  setGradeListPage(gradeListPage - 1);
516
603
  }
517
604
  }));
518
605
  };
519
-
520
- const renderGradeEditModal = () => {
606
+ var renderGradeEditModal = function renderGradeEditModal() {
521
607
  if (!showGradeEditModal) {
522
608
  return null;
523
609
  }
524
-
525
610
  return React.createElement(Modal, {
526
611
  title: Boolean(myGrade) ? '내 채점 수정' : '과제 채점',
527
612
  footerButtons: [{
@@ -535,11 +620,11 @@ const MaterialAssignmentAdminContent = forwardRef(({
535
620
  label: '취소',
536
621
  size: 'small',
537
622
  role: 'gray1',
538
- onClick: () => {
623
+ onClick: function onClick() {
539
624
  setShowGradeEditModal(false);
540
625
  }
541
626
  }],
542
- onHide: () => {
627
+ onHide: function onHide() {
543
628
  setShowGradeEditModal(false);
544
629
  }
545
630
  }, React.createElement(Label, {
@@ -558,15 +643,16 @@ const MaterialAssignmentAdminContent = forwardRef(({
558
643
  min: 0,
559
644
  max: 100
560
645
  },
561
- render: ({
562
- field,
563
- fieldState
564
- }) => React.createElement(Input, Object.assign({}, field, {
565
- invalid: fieldState.invalid,
566
- size: "small",
567
- width: "xsmall",
568
- type: "number"
569
- }))
646
+ render: function render(_ref8) {
647
+ var field = _ref8.field,
648
+ fieldState = _ref8.fieldState;
649
+ return React.createElement(Input, Object.assign({}, field, {
650
+ invalid: fieldState.invalid,
651
+ size: "small",
652
+ width: "xsmall",
653
+ type: "number"
654
+ }));
655
+ }
570
656
  }), React.createElement(Hspace, {
571
657
  width: 0.5
572
658
  }), React.createElement(Text, {
@@ -589,33 +675,32 @@ const MaterialAssignmentAdminContent = forwardRef(({
589
675
  rules: {
590
676
  maxLength: 1000
591
677
  },
592
- render: ({
593
- field
594
- }) => React.createElement(Textarea, {
595
- value: field.value,
596
- wordLimit: 1000,
597
- rows: 8,
598
- onChange: field.onChange
599
- })
678
+ render: function render(_ref9) {
679
+ var field = _ref9.field;
680
+ return React.createElement(Textarea, {
681
+ value: field.value,
682
+ wordLimit: 1000,
683
+ rows: 8,
684
+ onChange: field.onChange
685
+ });
686
+ }
600
687
  }));
601
688
  };
602
-
603
- const renderGradeShowModal = () => {
689
+ var renderGradeShowModal = function renderGradeShowModal() {
604
690
  if (!selectedGradeForShow) {
605
691
  return null;
606
692
  }
607
-
608
693
  return React.createElement(Modal, {
609
694
  title: "\uCC44\uC810 \uACB0\uACFC \uD655\uC778",
610
695
  footerButtons: [{
611
696
  label: '확인',
612
697
  size: 'small',
613
698
  role: 'primary',
614
- onClick: () => {
699
+ onClick: function onClick() {
615
700
  setSelectedGradeForShow(null);
616
701
  }
617
702
  }],
618
- onHide: () => {
703
+ onHide: function onHide() {
619
704
  setSelectedGradeForShow(null);
620
705
  }
621
706
  }, React.createElement(Label, {
@@ -655,12 +740,10 @@ const MaterialAssignmentAdminContent = forwardRef(({
655
740
  rows: 8
656
741
  })));
657
742
  };
658
-
659
- const renderGradeDeleteModal = () => {
743
+ var renderGradeDeleteModal = function renderGradeDeleteModal() {
660
744
  if (!selectedGradeForDelete) {
661
745
  return null;
662
746
  }
663
-
664
747
  return React.createElement(Modal, {
665
748
  title: "\uCC44\uC810 \uC0AD\uC81C",
666
749
  width: "narrow",
@@ -675,11 +758,11 @@ const MaterialAssignmentAdminContent = forwardRef(({
675
758
  label: '취소',
676
759
  size: 'small',
677
760
  role: 'gray1',
678
- onClick: () => {
761
+ onClick: function onClick() {
679
762
  setSelectedGradeForDelete(null);
680
763
  }
681
764
  }],
682
- onHide: () => {
765
+ onHide: function onHide() {
683
766
  setSelectedGradeForDelete(null);
684
767
  }
685
768
  }, React.createElement(Text, {
@@ -710,14 +793,11 @@ const MaterialAssignmentAdminContent = forwardRef(({
710
793
  }]
711
794
  }));
712
795
  };
713
-
714
- const renderManualScoreEditModal = () => {
796
+ var renderManualScoreEditModal = function renderManualScoreEditModal() {
715
797
  var _a, _b;
716
-
717
798
  if (!showManualScoreEditModal) {
718
799
  return null;
719
800
  }
720
-
721
801
  return React.createElement(Modal, {
722
802
  title: "\uC810\uC218 \uC870\uC815",
723
803
  width: "narrow",
@@ -732,11 +812,11 @@ const MaterialAssignmentAdminContent = forwardRef(({
732
812
  label: '취소',
733
813
  size: 'small',
734
814
  role: 'gray1',
735
- onClick: () => {
815
+ onClick: function onClick() {
736
816
  setShowManualScoreEditModal(false);
737
817
  }
738
818
  }],
739
- onHide: () => {
819
+ onHide: function onHide() {
740
820
  setShowManualScoreEditModal(false);
741
821
  }
742
822
  }, React.createElement(Alert, {
@@ -766,16 +846,17 @@ const MaterialAssignmentAdminContent = forwardRef(({
766
846
  min: 0,
767
847
  max: 100
768
848
  },
769
- render: ({
770
- field,
771
- fieldState
772
- }) => React.createElement(Input, Object.assign({}, field, {
773
- invalid: fieldState.invalid,
774
- size: "small",
775
- width: "xsmall",
776
- type: "number",
777
- label: "\uC870\uC815 \uC810\uC218"
778
- }))
849
+ render: function render(_ref10) {
850
+ var field = _ref10.field,
851
+ fieldState = _ref10.fieldState;
852
+ return React.createElement(Input, Object.assign({}, field, {
853
+ invalid: fieldState.invalid,
854
+ size: "small",
855
+ width: "xsmall",
856
+ type: "number",
857
+ label: "\uC870\uC815 \uC810\uC218"
858
+ }));
859
+ }
779
860
  }), React.createElement(Hspace, {
780
861
  width: 0.75
781
862
  }), React.createElement(Text, {
@@ -787,7 +868,6 @@ const MaterialAssignmentAdminContent = forwardRef(({
787
868
  size: "small"
788
869
  }, ' / 100점 만점')));
789
870
  };
790
-
791
871
  return React.createElement(React.Fragment, null, renderHeader(), React.createElement(Flex, {
792
872
  column: true,
793
873
  auto: true,