@elice/material-assignment 1.240718.0-trasncript.2 → 1.240718.1

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 (29) hide show
  1. package/cjs/components/material-assignment/MaterialAssignment.js +17 -23
  2. package/cjs/components/material-assignment/MaterialAssignmentContent.js +194 -281
  3. package/cjs/components/material-assignment/MaterialAssignmentUploadModal.js +138 -181
  4. package/cjs/components/material-assignment/constants/color.js +1 -1
  5. package/cjs/components/material-assignment-admin/MaterialAssignmentAdmin.js +24 -32
  6. package/cjs/components/material-assignment-admin/MaterialAssignmentAdmin.styled.js +9 -19
  7. package/cjs/components/material-assignment-admin/MaterialAssignmentAdminContent.js +548 -774
  8. package/cjs/components/material-assignment-admin/MaterialAssignmentAdminContentTa.js +303 -436
  9. package/cjs/components/shared/MaterialAssignmentContainer.js +13 -23
  10. package/es/components/material-assignment/MaterialAssignment.js +17 -18
  11. package/es/components/material-assignment/MaterialAssignmentContent.js +194 -276
  12. package/es/components/material-assignment/MaterialAssignmentUploadModal.js +139 -177
  13. package/es/components/material-assignment/constants/color.js +1 -1
  14. package/es/components/material-assignment-admin/MaterialAssignmentAdmin.js +25 -29
  15. package/es/components/material-assignment-admin/MaterialAssignmentAdmin.styled.js +9 -15
  16. package/es/components/material-assignment-admin/MaterialAssignmentAdminContent.js +549 -770
  17. package/es/components/material-assignment-admin/MaterialAssignmentAdminContentTa.js +304 -432
  18. package/es/components/shared/MaterialAssignmentContainer.js +13 -19
  19. package/package.json +12 -9
  20. package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -383
  21. package/cjs/components/index.js +0 -9
  22. package/cjs/components/material-assignment/index.js +0 -7
  23. package/cjs/components/material-assignment/locales/index.js +0 -13
  24. package/cjs/components/material-assignment-admin/index.js +0 -7
  25. package/es/_virtual/_rollupPluginBabelHelpers.js +0 -374
  26. package/es/components/index.js +0 -2
  27. package/es/components/material-assignment/index.js +0 -1
  28. package/es/components/material-assignment/locales/index.js +0 -4
  29. package/es/components/material-assignment-admin/index.js +0 -1
@@ -1,9 +1,7 @@
1
- import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
1
  import React, { forwardRef } from 'react';
4
2
  import { useForm, Controller } from 'react-hook-form';
5
3
  import { config, getOrgUserGet, getOrgMaterialAssignmentGet, getOrgMaterialAssignmentSubmissionList, getOrgMaterialAssignmentGradeResultGet, getOrgMaterialAssignmentGradeList, postOrgMaterialAssignmentGradeEdit, postOrgMaterialAssignmentGradeResultManualScoreEdit, postOrgMaterialAssignmentGradeDelete } from '@elice/api-client';
6
- import { Flex, Vspace, ProfileImage, Hspace, Text, Tooltip, Icon, InfoTable, Button, TableNext, IconButton, Pagination, Modal, Label, Input, Textarea, Alert, Notification } from '@elice/blocks';
4
+ import { Notification, Flex, Vspace, ProfileImage, Hspace, Text, Tooltip, Icon, InfoTable, Button, TableNext, IconButton, Pagination, Modal, Label, Input, Textarea, Alert } from '@elice/blocks';
7
5
  import { base } from '@elice/design-tokens';
8
6
  import { eilStatusInfo, eilChat, eilDelete, eilArrowRightwardsBasic } from '@elice/icons';
9
7
  import { FormattedDate } from '@elice/intl';
@@ -12,173 +10,121 @@ import dayjs from 'dayjs';
12
10
  import MaterialAssignmentContainer from '../shared/MaterialAssignmentContainer.js';
13
11
  import { StyledMaterialAssignmentAdminHeader, StyledMaterialAssignmentAdminHeaderCell, StyledMaterialAssignmentAdminGradeWrapper, StyledMaterialAssignmentAdminTextareaWrapper, StyledMaterialAssignmentAdminManualScoreEditButtonWrapper, StyledMaterialAssignmentAdminManualScoreEditButton } from './MaterialAssignmentAdmin.styled.js';
14
12
 
15
- var FETCH_GRADE_LIST_COUNT = 5;
16
- var MaterialAssignmentAdminContent = forwardRef(function (_ref, ref) {
17
- var materialAssignmentId = _ref.materialAssignmentId,
18
- userId = _ref.userId,
19
- adminUserId = _ref.adminUserId,
20
- updateMaterialUserBrowserResponse = _ref.updateMaterialUserBrowserResponse;
13
+ const FETCH_GRADE_LIST_COUNT = 5;
14
+ const MaterialAssignmentAdminContent = forwardRef(({
15
+ materialAssignmentId,
16
+ userId,
17
+ adminUserId,
18
+ updateMaterialUserBrowserResponse
19
+ }, ref) => {
21
20
  var _a;
22
21
  // Form
23
- var gradeEditFormMethods = useForm({
22
+ const gradeEditFormMethods = useForm({
24
23
  defaultValues: {
25
24
  score: 0,
26
25
  comment: ''
27
26
  },
28
27
  mode: 'onChange'
29
28
  });
30
- var manualScoreEditFormMethods = useForm({
29
+ const manualScoreEditFormMethods = useForm({
31
30
  defaultValues: {
32
31
  manualScore: 0
33
32
  },
34
33
  mode: 'onChange'
35
34
  });
36
35
  // API Status
37
- var isReady = useMaterialConfigApiClientUpdate(config.init);
38
- var _React$useState = React.useState('idle'),
39
- _React$useState2 = _slicedToArray(_React$useState, 2),
40
- submissionListGetStatus = _React$useState2[0],
41
- setSubmissionListGetStatus = _React$useState2[1];
42
- var _React$useState3 = React.useState('idle'),
43
- _React$useState4 = _slicedToArray(_React$useState3, 2),
44
- gradeDeleteStatus = _React$useState4[0],
45
- setGradeDeleteStatus = _React$useState4[1];
36
+ const isReady = useMaterialConfigApiClientUpdate(config.init);
37
+ const [submissionListGetStatus, setSubmissionListGetStatus] = React.useState('idle');
38
+ const [gradeDeleteStatus, setGradeDeleteStatus] = React.useState('idle');
46
39
  // State related with component
47
- var _React$useState5 = React.useState(false),
48
- _React$useState6 = _slicedToArray(_React$useState5, 2),
49
- showGradeEditModal = _React$useState6[0],
50
- setShowGradeEditModal = _React$useState6[1];
51
- var _React$useState7 = React.useState(false),
52
- _React$useState8 = _slicedToArray(_React$useState7, 2),
53
- showManualScoreEditModal = _React$useState8[0],
54
- setShowManualScoreEditModal = _React$useState8[1];
55
- var _React$useState9 = React.useState(null),
56
- _React$useState10 = _slicedToArray(_React$useState9, 2),
57
- selectedGradeForShow = _React$useState10[0],
58
- setSelectedGradeForShow = _React$useState10[1];
59
- var _React$useState11 = React.useState(null),
60
- _React$useState12 = _slicedToArray(_React$useState11, 2),
61
- selectedGradeForDelete = _React$useState12[0],
62
- setSelectedGradeForDelete = _React$useState12[1];
40
+ const [showGradeEditModal, setShowGradeEditModal] = React.useState(false);
41
+ const [showManualScoreEditModal, setShowManualScoreEditModal] = React.useState(false);
42
+ const [selectedGradeForShow, setSelectedGradeForShow] = React.useState(null);
43
+ const [selectedGradeForDelete, setSelectedGradeForDelete] = React.useState(null);
63
44
  // State related with api
64
- var _React$useState13 = React.useState(null),
65
- _React$useState14 = _slicedToArray(_React$useState13, 2),
66
- user = _React$useState14[0],
67
- setUser = _React$useState14[1];
68
- var _React$useState15 = React.useState(null),
69
- _React$useState16 = _slicedToArray(_React$useState15, 2),
70
- materialAssignment = _React$useState16[0],
71
- setMaterialAssignment = _React$useState16[1];
72
- var _React$useState17 = React.useState(null),
73
- _React$useState18 = _slicedToArray(_React$useState17, 2),
74
- userSubmission = _React$useState18[0],
75
- setUserSubmission = _React$useState18[1];
76
- var _React$useState19 = React.useState(null),
77
- _React$useState20 = _slicedToArray(_React$useState19, 2),
78
- myGrade = _React$useState20[0],
79
- setMyGrade = _React$useState20[1];
80
- var _React$useState21 = React.useState(null),
81
- _React$useState22 = _slicedToArray(_React$useState21, 2),
82
- gradeResult = _React$useState22[0],
83
- setGradeResult = _React$useState22[1];
84
- var _React$useState23 = React.useState([]),
85
- _React$useState24 = _slicedToArray(_React$useState23, 2),
86
- gradeList = _React$useState24[0],
87
- setGradeList = _React$useState24[1];
88
- var _React$useState25 = React.useState(0),
89
- _React$useState26 = _slicedToArray(_React$useState25, 2),
90
- gradeListCount = _React$useState26[0],
91
- setGradeListCount = _React$useState26[1];
92
- var _React$useState27 = React.useState(1),
93
- _React$useState28 = _slicedToArray(_React$useState27, 2),
94
- gradeListPage = _React$useState28[0],
95
- setGradeListPage = _React$useState28[1];
96
- var gradeListOffset = (gradeListPage - 1) * FETCH_GRADE_LIST_COUNT;
97
- var isAssignmentClosed = dayjs().isAfter(dayjs(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.closeDatetime));
98
- var isScoreFinalized = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime);
99
- var isUserSubmitted = Boolean(userSubmission);
100
- var fetchUserGet = React.useCallback(function () {
45
+ const [user, setUser] = React.useState(null);
46
+ const [materialAssignment, setMaterialAssignment] = React.useState(null);
47
+ const [userSubmission, setUserSubmission] = React.useState(null);
48
+ const [myGrade, setMyGrade] = React.useState(null);
49
+ const [gradeResult, setGradeResult] = React.useState(null);
50
+ const [gradeList, setGradeList] = React.useState([]);
51
+ const [gradeListCount, setGradeListCount] = React.useState(0);
52
+ const [gradeListPage, setGradeListPage] = React.useState(1);
53
+ const gradeListOffset = (gradeListPage - 1) * FETCH_GRADE_LIST_COUNT;
54
+ const isAssignmentClosed = dayjs().isAfter(dayjs(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.closeDatetime));
55
+ const isScoreFinalized = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime);
56
+ const isUserSubmitted = Boolean(userSubmission);
57
+ const fetchUserGet = React.useCallback(() => {
101
58
  void getOrgUserGet({
102
- userId: userId
103
- }).then(function (res) {
104
- return res.user;
105
- }).then(setUser);
59
+ userId
60
+ }).then(res => res.user).then(setUser);
106
61
  }, [userId]);
107
- var fetchMaterialAssignmentGet = React.useCallback(function () {
62
+ const fetchMaterialAssignmentGet = React.useCallback(() => {
108
63
  void getOrgMaterialAssignmentGet({
109
- materialAssignmentId: materialAssignmentId
110
- }).then(function (res) {
111
- return res.materialAssignment;
112
- }).then(setMaterialAssignment);
64
+ materialAssignmentId
65
+ }).then(res => res.materialAssignment).then(setMaterialAssignment);
113
66
  }, [materialAssignmentId]);
114
- var fetchSubmissionList = React.useCallback(function () {
67
+ const fetchSubmissionList = React.useCallback(() => {
115
68
  setSubmissionListGetStatus('pending');
116
69
  void getOrgMaterialAssignmentSubmissionList({
117
- materialAssignmentId: materialAssignmentId,
70
+ materialAssignmentId,
118
71
  offset: 0,
119
72
  count: 1,
120
73
  filterConditions: {
121
74
  isLast: true,
122
75
  userIds: [userId]
123
76
  }
124
- }).then(function (res) {
125
- return res.materialAssignmentSubmissions[0];
126
- }).then(function (submission) {
77
+ }).then(res => res.materialAssignmentSubmissions[0]).then(submission => {
127
78
  setUserSubmission(submission !== null && submission !== void 0 ? submission : null);
128
79
  setSubmissionListGetStatus('resolved');
129
- }).catch(function (err) {
80
+ }).catch(err => {
130
81
  console.error(err);
131
82
  setSubmissionListGetStatus('rejected');
132
83
  });
133
84
  }, [materialAssignmentId, userId]);
134
- var fetchGradeResult = React.useCallback(function () {
85
+ const fetchGradeResult = React.useCallback(() => {
135
86
  void getOrgMaterialAssignmentGradeResultGet({
136
- materialAssignmentId: materialAssignmentId,
137
- userId: userId
138
- }).then(function (res) {
139
- return res.materialAssignmentGradeResult;
140
- }).then(setGradeResult).catch(function () {
87
+ materialAssignmentId,
88
+ userId
89
+ }).then(res => res.materialAssignmentGradeResult).then(setGradeResult).catch(() => {
141
90
  setGradeResult(null);
142
91
  });
143
92
  }, [materialAssignmentId, userId]);
144
- var fetchGradeList = React.useCallback(function () {
93
+ const fetchGradeList = React.useCallback(() => {
145
94
  void getOrgMaterialAssignmentGradeList({
146
- materialAssignmentId: materialAssignmentId,
95
+ materialAssignmentId,
147
96
  offset: gradeListOffset,
148
97
  count: FETCH_GRADE_LIST_COUNT,
149
98
  filterConditions: {
150
- userId: userId
99
+ userId
151
100
  }
152
- }).then(function (_ref2) {
153
- var materialAssignmentGrades = _ref2.materialAssignmentGrades,
154
- materialAssignmentGradeCount = _ref2.materialAssignmentGradeCount;
101
+ }).then(({
102
+ materialAssignmentGrades,
103
+ materialAssignmentGradeCount
104
+ }) => {
155
105
  setGradeList(materialAssignmentGrades);
156
106
  setGradeListCount(materialAssignmentGradeCount);
157
107
  });
158
108
  }, [gradeListOffset, materialAssignmentId, userId]);
159
- var fetchMyGrade = React.useCallback(function () {
109
+ const fetchMyGrade = React.useCallback(() => {
160
110
  void getOrgMaterialAssignmentGradeList({
161
- materialAssignmentId: materialAssignmentId,
111
+ materialAssignmentId,
162
112
  offset: 0,
163
113
  count: 1,
164
114
  filterConditions: {
165
- userId: userId,
115
+ userId,
166
116
  gradeUserId: adminUserId
167
117
  }
168
- }).then(function (res) {
169
- return res.materialAssignmentGrades[0];
170
- }).then(function (grade) {
171
- return setMyGrade(grade !== null && grade !== void 0 ? grade : null);
172
- });
118
+ }).then(res => res.materialAssignmentGrades[0]).then(grade => setMyGrade(grade !== null && grade !== void 0 ? grade : null));
173
119
  }, [adminUserId, materialAssignmentId, userId]);
174
- var handleManualScoreEditClick = function handleManualScoreEditClick() {
120
+ const handleManualScoreEditClick = () => {
175
121
  var _a, _b;
176
122
  setShowManualScoreEditModal(true);
177
123
  manualScoreEditFormMethods.reset({
178
124
  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
179
125
  });
180
126
  };
181
- var handleGradeEditClick = function handleGradeEditClick() {
127
+ const handleGradeEditClick = () => {
182
128
  var _a, _b;
183
129
  setShowGradeEditModal(true);
184
130
  gradeEditFormMethods.reset({
@@ -186,144 +132,82 @@ var MaterialAssignmentAdminContent = forwardRef(function (_ref, ref) {
186
132
  comment: (_b = myGrade === null || myGrade === void 0 ? void 0 : myGrade.comment) !== null && _b !== void 0 ? _b : ''
187
133
  });
188
134
  };
189
- var handleGradeEditSubmit = gradeEditFormMethods.handleSubmit( /*#__PURE__*/function () {
190
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref3) {
191
- var score, comment;
192
- return _regeneratorRuntime().wrap(function _callee$(_context) {
193
- while (1) switch (_context.prev = _context.next) {
194
- case 0:
195
- score = _ref3.score, comment = _ref3.comment;
196
- _context.prev = 1;
197
- _context.next = 4;
198
- return postOrgMaterialAssignmentGradeEdit({
199
- materialAssignmentGradeId: myGrade === null || myGrade === void 0 ? void 0 : myGrade.id,
200
- materialAssignmentId: materialAssignmentId,
201
- userId: userId,
202
- score: score,
203
- comment: comment
204
- });
205
- case 4:
206
- fetchMyGrade();
207
- fetchGradeResult();
208
- fetchGradeList();
209
- if (typeof updateMaterialUserBrowserResponse === 'function') {
210
- updateMaterialUserBrowserResponse(userId);
211
- }
212
- Notification.success('저장되었습니다');
213
- _context.next = 15;
214
- break;
215
- case 11:
216
- _context.prev = 11;
217
- _context.t0 = _context["catch"](1);
218
- console.error(_context.t0);
219
- Notification.error('오류가 발생했습니다.');
220
- case 15:
221
- _context.prev = 15;
222
- setShowGradeEditModal(false);
223
- return _context.finish(15);
224
- case 18:
225
- case "end":
226
- return _context.stop();
227
- }
228
- }, _callee, null, [[1, 11, 15, 18]]);
229
- }));
230
- return function (_x) {
231
- return _ref4.apply(this, arguments);
232
- };
233
- }());
234
- var handleGradeDeleteSubmit = /*#__PURE__*/function () {
235
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
236
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
237
- while (1) switch (_context2.prev = _context2.next) {
238
- case 0:
239
- if (selectedGradeForDelete) {
240
- _context2.next = 2;
241
- break;
242
- }
243
- return _context2.abrupt("return");
244
- case 2:
245
- _context2.prev = 2;
246
- setGradeDeleteStatus('pending');
247
- _context2.next = 6;
248
- return postOrgMaterialAssignmentGradeDelete({
249
- materialAssignmentGradeId: selectedGradeForDelete.id
250
- });
251
- case 6:
252
- // If delete my grade, re-fetch my grade data.
253
- if (adminUserId === selectedGradeForDelete.gradeUser.id) {
254
- fetchMyGrade();
255
- }
256
- fetchGradeList();
257
- fetchGradeResult();
258
- setGradeDeleteStatus('resolved');
259
- if (typeof updateMaterialUserBrowserResponse === 'function') {
260
- updateMaterialUserBrowserResponse(userId);
261
- }
262
- Notification.success('저장되었습니다');
263
- _context2.next = 19;
264
- break;
265
- case 14:
266
- _context2.prev = 14;
267
- _context2.t0 = _context2["catch"](2);
268
- console.error(_context2.t0);
269
- setGradeDeleteStatus('rejected');
270
- Notification.error('오류가 발생했습니다.');
271
- case 19:
272
- _context2.prev = 19;
273
- setSelectedGradeForDelete(null);
274
- return _context2.finish(19);
275
- case 22:
276
- case "end":
277
- return _context2.stop();
278
- }
279
- }, _callee2, null, [[2, 14, 19, 22]]);
280
- }));
281
- return function handleGradeDeleteSubmit() {
282
- return _ref5.apply(this, arguments);
283
- };
284
- }();
285
- var handleManualScoreEditSubmit = manualScoreEditFormMethods.handleSubmit( /*#__PURE__*/function () {
286
- var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref6) {
287
- var manualScore;
288
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
289
- while (1) switch (_context3.prev = _context3.next) {
290
- case 0:
291
- manualScore = _ref6.manualScore;
292
- _context3.prev = 1;
293
- _context3.next = 4;
294
- return postOrgMaterialAssignmentGradeResultManualScoreEdit({
295
- userId: userId,
296
- manualScore: manualScore,
297
- materialAssignmentId: materialAssignmentId
298
- });
299
- case 4:
300
- fetchGradeResult();
301
- if (typeof updateMaterialUserBrowserResponse === 'function') {
302
- updateMaterialUserBrowserResponse(userId);
303
- }
304
- Notification.success('저장되었습니다');
305
- _context3.next = 13;
306
- break;
307
- case 9:
308
- _context3.prev = 9;
309
- _context3.t0 = _context3["catch"](1);
310
- console.error(_context3.t0);
311
- Notification.error('오류가 발생했습니다.');
312
- case 13:
313
- _context3.prev = 13;
314
- setShowManualScoreEditModal(false);
315
- return _context3.finish(13);
316
- case 16:
317
- case "end":
318
- return _context3.stop();
319
- }
320
- }, _callee3, null, [[1, 9, 13, 16]]);
321
- }));
322
- return function (_x2) {
323
- return _ref7.apply(this, arguments);
324
- };
325
- }());
326
- React.useEffect(function () {
135
+ const handleGradeEditSubmit = gradeEditFormMethods.handleSubmit(async ({
136
+ score,
137
+ comment
138
+ }) => {
139
+ try {
140
+ await postOrgMaterialAssignmentGradeEdit({
141
+ materialAssignmentGradeId: myGrade === null || myGrade === void 0 ? void 0 : myGrade.id,
142
+ materialAssignmentId,
143
+ userId,
144
+ score,
145
+ comment
146
+ });
147
+ fetchMyGrade();
148
+ fetchGradeResult();
149
+ fetchGradeList();
150
+ if (typeof updateMaterialUserBrowserResponse === 'function') {
151
+ updateMaterialUserBrowserResponse(userId);
152
+ }
153
+ Notification.success('저장되었습니다');
154
+ } catch (err) {
155
+ console.error(err);
156
+ Notification.error('오류가 발생했습니다.');
157
+ } finally {
158
+ setShowGradeEditModal(false);
159
+ }
160
+ });
161
+ const handleGradeDeleteSubmit = async () => {
162
+ if (!selectedGradeForDelete) {
163
+ return;
164
+ }
165
+ try {
166
+ setGradeDeleteStatus('pending');
167
+ await postOrgMaterialAssignmentGradeDelete({
168
+ materialAssignmentGradeId: selectedGradeForDelete.id
169
+ });
170
+ // If delete my grade, re-fetch my grade data.
171
+ if (adminUserId === selectedGradeForDelete.gradeUser.id) {
172
+ fetchMyGrade();
173
+ }
174
+ fetchGradeList();
175
+ fetchGradeResult();
176
+ setGradeDeleteStatus('resolved');
177
+ if (typeof updateMaterialUserBrowserResponse === 'function') {
178
+ updateMaterialUserBrowserResponse(userId);
179
+ }
180
+ Notification.success('저장되었습니다');
181
+ } catch (err) {
182
+ console.error(err);
183
+ setGradeDeleteStatus('rejected');
184
+ Notification.error('오류가 발생했습니다.');
185
+ } finally {
186
+ setSelectedGradeForDelete(null);
187
+ }
188
+ };
189
+ const handleManualScoreEditSubmit = manualScoreEditFormMethods.handleSubmit(async ({
190
+ manualScore
191
+ }) => {
192
+ try {
193
+ await postOrgMaterialAssignmentGradeResultManualScoreEdit({
194
+ userId,
195
+ manualScore,
196
+ materialAssignmentId
197
+ });
198
+ fetchGradeResult();
199
+ if (typeof updateMaterialUserBrowserResponse === 'function') {
200
+ updateMaterialUserBrowserResponse(userId);
201
+ }
202
+ Notification.success('저장되었습니다');
203
+ } catch (err) {
204
+ console.error(err);
205
+ Notification.error('오류가 발생했습니다.');
206
+ } finally {
207
+ setShowManualScoreEditModal(false);
208
+ }
209
+ });
210
+ React.useEffect(() => {
327
211
  if (!isReady) {
328
212
  return;
329
213
  }
@@ -334,346 +218,273 @@ var MaterialAssignmentAdminContent = forwardRef(function (_ref, ref) {
334
218
  fetchSubmissionList();
335
219
  fetchMaterialAssignmentGet();
336
220
  }, [isReady, fetchUserGet, fetchMyGrade, fetchGradeList, fetchGradeResult, fetchSubmissionList, fetchMaterialAssignmentGet]);
337
- React.useImperativeHandle(ref, function () {
338
- return {
339
- refreshMaterialAssignment: function refreshMaterialAssignment() {
340
- fetchMaterialAssignmentGet();
341
- }
342
- };
343
- }, [fetchMaterialAssignmentGet]);
344
- var renderHeader = function renderHeader() {
221
+ React.useImperativeHandle(ref, () => ({
222
+ refreshMaterialAssignment: () => {
223
+ fetchMaterialAssignmentGet();
224
+ }
225
+ }), [fetchMaterialAssignmentGet]);
226
+ const renderHeader = () => {
345
227
  var _a, _b, _c;
346
- return jsxs(StyledMaterialAssignmentAdminHeader, {
228
+ return React.createElement(StyledMaterialAssignmentAdminHeader, {
347
229
  align: "center",
348
230
  padding: "1rem",
349
- width: "100%",
350
- children: [jsxs(Flex, {
351
- auto: true,
352
- align: "center",
353
- children: [jsx(ProfileImage, {
354
- src: (_a = user === null || user === void 0 ? void 0 : user.profileUrl) !== null && _a !== void 0 ? _a : '',
355
- width: "2.5rem",
356
- height: "2.5rem"
357
- }), jsx(Hspace, {
358
- width: 1
359
- }), jsx(Text, {
360
- size: "small",
361
- role: "warmwhite",
362
- children: user === null || user === void 0 ? void 0 : user.fullname
363
- })]
364
- }), jsxs(StyledMaterialAssignmentAdminHeaderCell, {
365
- children: [jsx(Text, {
366
- size: "tiny",
367
- role: "gray4",
368
- children: "\uC810\uC218"
369
- }), jsx(Text, {
370
- size: "small",
371
- role: "white",
372
- children: gradeResult ? "".concat((_c = (_b = gradeResult.manualScore) !== null && _b !== void 0 ? _b : gradeResult.avgCalcScore) !== null && _c !== void 0 ? _c : 0).concat(isScoreFinalized ? '(공개됨)' : '(비공개)') : '--'
373
- })]
374
- }), jsxs(StyledMaterialAssignmentAdminHeaderCell, {
375
- children: [jsx(Text, {
376
- size: "tiny",
377
- role: "gray4",
378
- children: "\uC81C\uCD9C \uC77C\uC2DC"
379
- }), jsx(Text, {
380
- size: "small",
381
- role: "white",
382
- children: userSubmission ? jsx(FormattedDate, {
383
- value: userSubmission.createdDatetime,
384
- dateStyle: "medium",
385
- timeStyle: "short"
386
- }) : '--'
387
- })]
388
- })]
389
- });
231
+ width: "100%"
232
+ }, React.createElement(Flex, {
233
+ auto: true,
234
+ align: "center"
235
+ }, React.createElement(ProfileImage, {
236
+ src: (_a = user === null || user === void 0 ? void 0 : user.profileUrl) !== null && _a !== void 0 ? _a : '',
237
+ width: "2.5rem",
238
+ height: "2.5rem"
239
+ }), React.createElement(Hspace, {
240
+ width: 1
241
+ }), React.createElement(Text, {
242
+ size: "small",
243
+ role: "warmwhite"
244
+ }, user === null || user === void 0 ? void 0 : user.fullname)), React.createElement(StyledMaterialAssignmentAdminHeaderCell, null, React.createElement(Text, {
245
+ size: "tiny",
246
+ role: "gray4"
247
+ }, "\uC810\uC218"), React.createElement(Text, {
248
+ size: "small",
249
+ role: "white"
250
+ }, 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, {
251
+ size: "tiny",
252
+ role: "gray4"
253
+ }, "\uC81C\uCD9C \uC77C\uC2DC"), React.createElement(Text, {
254
+ size: "small",
255
+ role: "white"
256
+ }, userSubmission ? React.createElement(FormattedDate, {
257
+ value: userSubmission.createdDatetime,
258
+ dateStyle: "medium",
259
+ timeStyle: "short"
260
+ }) : '--')));
390
261
  };
391
- var renderManualScoreEditButton = function renderManualScoreEditButton() {
392
- return jsx(Tooltip, {
262
+ const renderManualScoreEditButton = () => {
263
+ return React.createElement(Tooltip, {
393
264
  placement: "top",
394
265
  title: isUserSubmitted ? '제출 기한이 지난 이후 조정할 수 있습니다.' : '미제출인 경우 조정할 수 없습니다.',
395
- visible: !isAssignmentClosed || !isUserSubmitted ? undefined : false,
396
- children: jsx(StyledMaterialAssignmentAdminManualScoreEditButtonWrapper, {
397
- disabled: !isAssignmentClosed || !isUserSubmitted,
398
- children: jsx(StyledMaterialAssignmentAdminManualScoreEditButton, {
399
- disabled: !isAssignmentClosed || !isUserSubmitted,
400
- underline: true,
401
- role: "navy3",
402
- size: "tiny",
403
- onClick: handleManualScoreEditClick,
404
- children: "\uC810\uC218 \uC870\uC815\uD558\uAE30"
405
- })
406
- })
407
- });
266
+ visible: !isAssignmentClosed || !isUserSubmitted ? undefined : false
267
+ }, React.createElement(StyledMaterialAssignmentAdminManualScoreEditButtonWrapper, {
268
+ disabled: !isAssignmentClosed || !isUserSubmitted
269
+ }, React.createElement(StyledMaterialAssignmentAdminManualScoreEditButton, {
270
+ disabled: !isAssignmentClosed || !isUserSubmitted,
271
+ underline: true,
272
+ role: "navy3",
273
+ size: "tiny",
274
+ onClick: handleManualScoreEditClick
275
+ }, "\uC810\uC218 \uC870\uC815\uD558\uAE30")));
408
276
  };
409
- var renderGradeResult = function renderGradeResult() {
277
+ const renderGradeResult = () => {
410
278
  var _a, _b;
411
- return jsxs(StyledMaterialAssignmentAdminGradeWrapper, {
279
+ return React.createElement(StyledMaterialAssignmentAdminGradeWrapper, {
412
280
  wrap: true,
413
281
  width: "100%",
414
- align: "center",
415
- children: [jsxs(Flex, {
416
- auto: true,
417
- align: "center",
418
- children: [jsx(Text, {
419
- role: "navy1",
420
- size: "small",
421
- lineHeight: "1.375rem",
422
- children: user ? "".concat(user.fullname, " \uB2D8\uC758 \uC810\uC218") : null
423
- }), jsx(Hspace, {
424
- width: 0.25
425
- }), jsx(Tooltip, {
426
- useMaxWidth: true,
427
- placement: "top",
428
- title: "모든 채점 점수의 평균값이 반영된 종합 점수입니다. 평균값을 사용하지 않으려면 ‘조정하기'를 클릭해 직접 점수를 입력하세요.",
429
- children: jsx(Icon, {
430
- icon: eilStatusInfo,
431
- color: base.color.navy1
432
- })
433
- }), jsx(Hspace, {
434
- width: 0.75
435
- }), jsx(Text, {
436
- bold: true,
437
- role: "white",
438
- children: gradeResult ? "".concat((_b = (_a = gradeResult.manualScore) !== null && _a !== void 0 ? _a : gradeResult.avgCalcScore) !== null && _b !== void 0 ? _b : 0).concat(isScoreFinalized ? '(공개됨)' : '(비공개)') : '--'
439
- })]
440
- }), renderManualScoreEditButton()]
441
- });
282
+ align: "center"
283
+ }, React.createElement(Flex, {
284
+ auto: true,
285
+ align: "center"
286
+ }, React.createElement(Text, {
287
+ role: "navy1",
288
+ size: "small",
289
+ lineHeight: "1.375rem"
290
+ }, user ? `${user.fullname} 님의 점수` : null), React.createElement(Hspace, {
291
+ width: 0.25
292
+ }), React.createElement(Tooltip, {
293
+ useMaxWidth: true,
294
+ placement: "top",
295
+ title: "모든 채점 점수의 평균값이 반영된 종합 점수입니다. 평균값을 사용하지 않으려면 ‘조정하기'를 클릭해 직접 점수를 입력하세요."
296
+ }, React.createElement(Icon, {
297
+ icon: eilStatusInfo,
298
+ color: base.color.navy1
299
+ })), React.createElement(Hspace, {
300
+ width: 0.75
301
+ }), React.createElement(Text, {
302
+ bold: true,
303
+ role: "white"
304
+ }, gradeResult ? `${(_b = (_a = gradeResult.manualScore) !== null && _a !== void 0 ? _a : gradeResult.avgCalcScore) !== null && _b !== void 0 ? _b : 0}${isScoreFinalized ? '(공개됨)' : '(비공개)'}` : '--')), renderManualScoreEditButton());
442
305
  };
443
- var renderSubmissionInfo = function renderSubmissionInfo() {
444
- var statusText = function () {
306
+ const renderSubmissionInfo = () => {
307
+ const statusText = (() => {
445
308
  if (submissionListGetStatus === 'pending') {
446
309
  return null;
447
310
  }
448
311
  switch (true) {
449
312
  case !isUserSubmitted && isAssignmentClosed:
450
- return jsx(Text, {
313
+ return React.createElement(Text, {
451
314
  bold: true,
452
315
  role: "danger",
453
- size: "small",
454
- children: "\uC81C\uCD9C \uAE30\uD55C \uB9CC\uB8CC"
455
- });
316
+ size: "small"
317
+ }, "\uC81C\uCD9C \uAE30\uD55C \uB9CC\uB8CC");
456
318
  case isScoreFinalized:
457
- return jsx(Text, {
319
+ return React.createElement(Text, {
458
320
  bold: true,
459
321
  role: "lightpurple",
460
- size: "small",
461
- children: "\uCC44\uC810 \uC644\uB8CC"
462
- });
322
+ size: "small"
323
+ }, "\uCC44\uC810 \uC644\uB8CC");
463
324
  case isUserSubmitted:
464
- return jsx(Text, {
325
+ return React.createElement(Text, {
465
326
  bold: true,
466
327
  role: "success",
467
- size: "small",
468
- children: "\uC81C\uCD9C\uB428"
469
- });
328
+ size: "small"
329
+ }, "\uC81C\uCD9C\uB428");
470
330
  case !isUserSubmitted:
471
- return jsx(Text, {
331
+ return React.createElement(Text, {
472
332
  bold: true,
473
333
  role: "warning",
474
- size: "small",
475
- children: "\uBBF8\uC81C\uCD9C"
476
- });
334
+ size: "small"
335
+ }, "\uBBF8\uC81C\uCD9C");
477
336
  }
478
- }();
479
- var submissionAttachment = function () {
337
+ })();
338
+ const submissionAttachment = (() => {
480
339
  if (!userSubmission) {
481
340
  return '--';
482
341
  }
483
342
  if (userSubmission.assignmentFileUrl) {
484
- var assignmentFilename = decodeURIComponent(userSubmission.assignmentFileUrl && new URL(userSubmission.assignmentFileUrl).pathname.split('/').pop() || '');
485
- return jsx("a", {
343
+ const assignmentFilename = decodeURIComponent(userSubmission.assignmentFileUrl && new URL(userSubmission.assignmentFileUrl).pathname.split('/').pop() || '');
344
+ return React.createElement("a", {
486
345
  href: userSubmission.assignmentFileUrl,
487
346
  download: assignmentFilename,
488
347
  target: "_blank",
489
- rel: "noopener noreferrer",
490
- children: jsx(Text, {
491
- hoverable: true,
492
- underline: true,
493
- role: "white",
494
- size: "small",
495
- children: assignmentFilename
496
- })
497
- });
348
+ rel: "noopener noreferrer"
349
+ }, React.createElement(Text, {
350
+ hoverable: true,
351
+ underline: true,
352
+ role: "white",
353
+ size: "small"
354
+ }, assignmentFilename));
498
355
  }
499
356
  if (userSubmission === null || userSubmission === void 0 ? void 0 : userSubmission.assignmentUrl) {
500
- return jsx("a", {
357
+ return React.createElement("a", {
501
358
  href: userSubmission.assignmentUrl,
502
359
  target: "_blank",
503
- rel: "noopener noreferrer",
504
- children: jsx(Text, {
505
- hoverable: true,
506
- underline: true,
507
- role: "white",
508
- size: "small",
509
- children: userSubmission.assignmentUrl
510
- })
511
- });
360
+ rel: "noopener noreferrer"
361
+ }, React.createElement(Text, {
362
+ hoverable: true,
363
+ underline: true,
364
+ role: "white",
365
+ size: "small"
366
+ }, userSubmission.assignmentUrl));
512
367
  }
513
- }();
514
- return jsx(InfoTable, {
515
- dark: true,
516
- children: jsxs("tbody", {
517
- children: [jsxs("tr", {
518
- children: [jsx("td", {
519
- children: "\uC0C1\uD0DC"
520
- }), jsx("td", {
521
- children: statusText
522
- })]
523
- }), jsxs("tr", {
524
- children: [jsx("td", {
525
- children: "\uACFC\uC81C \uC81C\uCD9C \uAE30\uD55C"
526
- }), jsx("td", {
527
- children: jsx(FormattedDate, {
528
- value: materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.closeDatetime,
529
- dateStyle: "medium",
530
- timeStyle: "short"
531
- })
532
- })]
533
- }), jsxs("tr", {
534
- children: [jsx("td", {
535
- children: "\uC81C\uCD9C \uC77C\uC2DC"
536
- }), jsx("td", {
537
- children: userSubmission ? jsx(FormattedDate, {
538
- value: userSubmission.createdDatetime,
539
- dateStyle: "medium",
540
- timeStyle: "short"
541
- }) : '--'
542
- })]
543
- }), jsxs("tr", {
544
- children: [jsx("td", {
545
- children: "\uC5C5\uB85C\uB4DC\uB41C \uACFC\uC81C"
546
- }), jsx("td", {
547
- children: submissionAttachment
548
- })]
549
- })]
550
- })
551
- });
368
+ })();
369
+ return React.createElement(InfoTable, {
370
+ dark: true
371
+ }, 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, {
372
+ value: materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.closeDatetime,
373
+ dateStyle: "medium",
374
+ timeStyle: "short"
375
+ }))), React.createElement("tr", null, React.createElement("td", null, "\uC81C\uCD9C \uC77C\uC2DC"), React.createElement("td", null, userSubmission ? React.createElement(FormattedDate, {
376
+ value: userSubmission.createdDatetime,
377
+ dateStyle: "medium",
378
+ timeStyle: "short"
379
+ }) : '--')), React.createElement("tr", null, React.createElement("td", null, "\uC5C5\uB85C\uB4DC\uB41C \uACFC\uC81C"), React.createElement("td", null, submissionAttachment))));
552
380
  };
553
- var renderGradeList = function renderGradeList() {
554
- return jsxs(Flex, {
381
+ const renderGradeList = () => {
382
+ return React.createElement(Flex, {
555
383
  column: true,
384
+ align: "center"
385
+ }, React.createElement(Flex, {
556
386
  align: "center",
557
- children: [jsxs(Flex, {
558
- align: "center",
559
- width: "100%",
560
- children: [jsxs(Flex, {
561
- column: true,
562
- auto: true,
563
- children: [jsx(Text, {
564
- block: true,
565
- bold: true,
566
- role: "white",
567
- lineHeight: 1.375,
568
- children: "\uCC44\uC810 \uD604\uD669"
569
- }), jsx(Text, {
570
- block: true,
571
- size: "tiny",
572
- role: "navy3",
573
- lineHeight: 1.6,
574
- children: "\uCC44\uC810\uC644\uB8CC\uD55C \uCC44\uC810\uC790\uC758 \uC810\uC218\uC640 \uD53C\uB4DC\uBC31\uC744 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4."
575
- })]
576
- }), jsx(Tooltip, {
577
- placement: "top",
578
- title: isUserSubmitted ? '제출 기한이 지난 이후 채점할 수 있습니다.' : '미제출인 경우 채점할 수 없습니다.',
579
- visible: !isAssignmentClosed || !isUserSubmitted ? undefined : false,
580
- children: jsx("span", {
581
- children: jsx(Button, {
582
- size: "small",
583
- role: "lightpurple",
584
- disabled: !isAssignmentClosed || !isUserSubmitted,
585
- onClick: handleGradeEditClick,
586
- children: Boolean(myGrade) ? '내 채점 수정' : '내 채점 시작'
587
- })
588
- })
589
- })]
590
- }), jsx(Vspace, {
591
- height: 0.75
592
- }), jsx(TableNext, {
593
- dark: true,
594
- emptyMessage: "\uCC44\uC810 \uC644\uB8CC\uD55C \uCC44\uC810\uC790\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",
595
- columns: [{
596
- Header: '채점자명',
597
- accessor: 'fullname'
598
- }, {
599
- Header: '과제 점수',
600
- accessor: 'grade'
601
- }, {
602
- Header: '채점 일시',
603
- accessor: 'created',
604
- textAlign: 'left'
605
- }],
606
- data: gradeList.map(function (grade) {
607
- return {
608
- fullname: jsxs(Flex, {
609
- children: [jsx(Text, {
610
- noWrap: true,
611
- role: "navy0",
612
- size: "small",
613
- children: "".concat(grade.gradeUser.fullname).concat(grade.gradeUser.id === adminUserId ? '(나)' : '')
614
- }), jsx(Hspace, {
615
- width: 0.25
616
- }), jsx(Text, {
617
- ellipsis: true,
618
- role: "navy3",
619
- size: "small",
620
- children: grade.gradeUser.email
621
- })]
622
- }),
623
- grade: grade.score,
624
- created: jsxs(Flex, {
625
- align: "center",
626
- justify: "space-between",
627
- children: [jsx(FormattedDate, {
628
- value: grade.createdDatetime,
629
- dateStyle: "medium",
630
- timeStyle: "short"
631
- }), jsxs(Flex, {
632
- align: "center",
633
- children: [jsx(IconButton, {
634
- icon: eilChat,
635
- size: "tiny",
636
- role: "navy3",
637
- onClick: function onClick() {
638
- setSelectedGradeForShow(grade);
639
- }
640
- }), jsx(Hspace, {
641
- width: 0.5
642
- }), jsx(IconButton, {
643
- icon: eilDelete,
644
- size: "tiny",
645
- role: "navy3",
646
- onClick: function onClick() {
647
- setSelectedGradeForDelete(grade);
648
- }
649
- })]
650
- })]
651
- })
652
- };
653
- })
654
- }), jsx(Vspace, {
655
- height: 0.5
656
- }), jsx(Pagination, {
657
- dark: true,
658
- offset: gradeListOffset,
659
- count: FETCH_GRADE_LIST_COUNT,
660
- total: gradeListCount,
661
- isNext: gradeListOffset + FETCH_GRADE_LIST_COUNT < gradeListCount,
662
- isPrev: gradeListOffset > 0,
663
- onClickNext: function onClickNext() {
664
- setGradeListPage(gradeListPage + 1);
665
- },
666
- onClickPrev: function onClickPrev() {
667
- setGradeListPage(gradeListPage - 1);
668
- }
669
- })]
670
- });
387
+ width: "100%"
388
+ }, React.createElement(Flex, {
389
+ column: true,
390
+ auto: true
391
+ }, React.createElement(Text, {
392
+ block: true,
393
+ bold: true,
394
+ role: "white",
395
+ lineHeight: 1.375
396
+ }, "\uCC44\uC810 \uD604\uD669"), React.createElement(Text, {
397
+ block: true,
398
+ size: "tiny",
399
+ role: "navy3",
400
+ lineHeight: 1.6
401
+ }, "\uCC44\uC810\uC644\uB8CC\uD55C \uCC44\uC810\uC790\uC758 \uC810\uC218\uC640 \uD53C\uB4DC\uBC31\uC744 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4.")), React.createElement(Tooltip, {
402
+ placement: "top",
403
+ title: isUserSubmitted ? '제출 기한이 지난 이후 채점할 수 있습니다.' : '미제출인 경우 채점할 수 없습니다.',
404
+ visible: !isAssignmentClosed || !isUserSubmitted ? undefined : false
405
+ }, React.createElement("span", null, React.createElement(Button, {
406
+ size: "small",
407
+ role: "lightpurple",
408
+ disabled: !isAssignmentClosed || !isUserSubmitted,
409
+ onClick: handleGradeEditClick
410
+ }, Boolean(myGrade) ? '내 채점 수정' : '내 채점 시작')))), React.createElement(Vspace, {
411
+ height: 0.75
412
+ }), React.createElement(TableNext, {
413
+ dark: true,
414
+ emptyMessage: "\uCC44\uC810 \uC644\uB8CC\uD55C \uCC44\uC810\uC790\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",
415
+ columns: [{
416
+ Header: '채점자명',
417
+ accessor: 'fullname'
418
+ }, {
419
+ Header: '과제 점수',
420
+ accessor: 'grade'
421
+ }, {
422
+ Header: '채점 일시',
423
+ accessor: 'created',
424
+ textAlign: 'left'
425
+ }],
426
+ data: gradeList.map(grade => ({
427
+ fullname: React.createElement(Flex, null, React.createElement(Text, {
428
+ noWrap: true,
429
+ role: "navy0",
430
+ size: "small"
431
+ }, `${grade.gradeUser.fullname}${grade.gradeUser.id === adminUserId ? '(나)' : ''}`), React.createElement(Hspace, {
432
+ width: 0.25
433
+ }), React.createElement(Text, {
434
+ ellipsis: true,
435
+ role: "navy3",
436
+ size: "small"
437
+ }, grade.gradeUser.email)),
438
+ grade: grade.score,
439
+ created: React.createElement(Flex, {
440
+ align: "center",
441
+ justify: "space-between"
442
+ }, React.createElement(FormattedDate, {
443
+ value: grade.createdDatetime,
444
+ dateStyle: "medium",
445
+ timeStyle: "short"
446
+ }), React.createElement(Flex, {
447
+ align: "center"
448
+ }, React.createElement(IconButton, {
449
+ icon: eilChat,
450
+ size: "tiny",
451
+ role: "navy3",
452
+ onClick: () => {
453
+ setSelectedGradeForShow(grade);
454
+ }
455
+ }), React.createElement(Hspace, {
456
+ width: 0.5
457
+ }), React.createElement(IconButton, {
458
+ icon: eilDelete,
459
+ size: "tiny",
460
+ role: "navy3",
461
+ onClick: () => {
462
+ setSelectedGradeForDelete(grade);
463
+ }
464
+ })))
465
+ }))
466
+ }), React.createElement(Vspace, {
467
+ height: 0.5
468
+ }), React.createElement(Pagination, {
469
+ dark: true,
470
+ offset: gradeListOffset,
471
+ count: FETCH_GRADE_LIST_COUNT,
472
+ total: gradeListCount,
473
+ isNext: gradeListOffset + FETCH_GRADE_LIST_COUNT < gradeListCount,
474
+ isPrev: gradeListOffset > 0,
475
+ onClickNext: () => {
476
+ setGradeListPage(gradeListPage + 1);
477
+ },
478
+ onClickPrev: () => {
479
+ setGradeListPage(gradeListPage - 1);
480
+ }
481
+ }));
671
482
  };
672
- var renderGradeEditModal = function renderGradeEditModal() {
483
+ const renderGradeEditModal = () => {
673
484
  if (!showGradeEditModal) {
674
485
  return null;
675
486
  }
676
- return jsxs(Modal, {
487
+ return React.createElement(Modal, {
677
488
  title: Boolean(myGrade) ? '내 채점 수정' : '과제 채점',
678
489
  footerButtons: [{
679
490
  label: '확인',
@@ -686,145 +497,129 @@ var MaterialAssignmentAdminContent = forwardRef(function (_ref, ref) {
686
497
  label: '취소',
687
498
  size: 'small',
688
499
  role: 'gray1',
689
- onClick: function onClick() {
500
+ onClick: () => {
690
501
  setShowGradeEditModal(false);
691
502
  }
692
503
  }],
693
- onHide: function onHide() {
504
+ onHide: () => {
694
505
  setShowGradeEditModal(false);
695
- },
696
- children: [jsx(Label, {
697
- bold: true,
698
- block: true,
506
+ }
507
+ }, React.createElement(Label, {
508
+ bold: true,
509
+ block: true,
510
+ required: true
511
+ }, "\uC810\uC218"), React.createElement(Vspace, {
512
+ height: 0.5
513
+ }), React.createElement(Flex, {
514
+ align: "center"
515
+ }, React.createElement(Controller, {
516
+ control: gradeEditFormMethods.control,
517
+ name: "score",
518
+ rules: {
699
519
  required: true,
700
- children: "\uC810\uC218"
701
- }), jsx(Vspace, {
702
- height: 0.5
703
- }), jsxs(Flex, {
704
- align: "center",
705
- children: [jsx(Controller, {
706
- control: gradeEditFormMethods.control,
707
- name: "score",
708
- rules: {
709
- required: true,
710
- min: 0,
711
- max: 100
712
- },
713
- render: function render(_ref8) {
714
- var field = _ref8.field,
715
- fieldState = _ref8.fieldState;
716
- return jsx(Input, Object.assign({}, field, {
717
- invalid: fieldState.invalid,
718
- size: "small",
719
- width: "xsmall",
720
- type: "number"
721
- }));
722
- }
723
- }), jsx(Hspace, {
724
- width: 0.5
725
- }), jsx(Text, {
726
- bold: true,
727
- role: "gray9",
728
- size: "small",
729
- children: "\uC810"
730
- }), jsx(Text, {
731
- role: "gray6",
732
- size: "small",
733
- children: ' / 100점 만점'
734
- })]
735
- }), jsx(Vspace, {
736
- height: 1.25
737
- }), jsx(Label, {
738
- bold: true,
739
- block: true,
740
- children: "\uD53C\uB4DC\uBC31"
741
- }), jsx(Vspace, {
742
- height: 0.5
743
- }), jsx(Controller, {
744
- control: gradeEditFormMethods.control,
745
- name: "comment",
746
- rules: {
747
- maxLength: 1000
748
- },
749
- render: function render(_ref9) {
750
- var field = _ref9.field;
751
- return jsx(Textarea, {
752
- value: field.value,
753
- wordLimit: 1000,
754
- rows: 8,
755
- onChange: field.onChange
756
- });
757
- }
758
- })]
759
- });
520
+ min: 0,
521
+ max: 100
522
+ },
523
+ render: ({
524
+ field,
525
+ fieldState
526
+ }) => React.createElement(Input, Object.assign({}, field, {
527
+ invalid: fieldState.invalid,
528
+ size: "small",
529
+ width: "xsmall",
530
+ type: "number"
531
+ }))
532
+ }), React.createElement(Hspace, {
533
+ width: 0.5
534
+ }), React.createElement(Text, {
535
+ bold: true,
536
+ role: "gray9",
537
+ size: "small"
538
+ }, "\uC810"), React.createElement(Text, {
539
+ role: "gray6",
540
+ size: "small"
541
+ }, ' / 100점 만점')), React.createElement(Vspace, {
542
+ height: 1.25
543
+ }), React.createElement(Label, {
544
+ bold: true,
545
+ block: true
546
+ }, "\uD53C\uB4DC\uBC31"), React.createElement(Vspace, {
547
+ height: 0.5
548
+ }), React.createElement(Controller, {
549
+ control: gradeEditFormMethods.control,
550
+ name: "comment",
551
+ rules: {
552
+ maxLength: 1000
553
+ },
554
+ render: ({
555
+ field
556
+ }) => React.createElement(Textarea, {
557
+ value: field.value,
558
+ wordLimit: 1000,
559
+ rows: 8,
560
+ onChange: field.onChange
561
+ })
562
+ }));
760
563
  };
761
- var renderGradeShowModal = function renderGradeShowModal() {
564
+ const renderGradeShowModal = () => {
762
565
  if (!selectedGradeForShow) {
763
566
  return null;
764
567
  }
765
- return jsxs(Modal, {
568
+ return React.createElement(Modal, {
766
569
  title: "\uCC44\uC810 \uACB0\uACFC \uD655\uC778",
767
570
  footerButtons: [{
768
571
  label: '확인',
769
572
  size: 'small',
770
573
  role: 'primary',
771
- onClick: function onClick() {
574
+ onClick: () => {
772
575
  setSelectedGradeForShow(null);
773
576
  }
774
577
  }],
775
- onHide: function onHide() {
578
+ onHide: () => {
776
579
  setSelectedGradeForShow(null);
777
- },
778
- children: [jsx(Label, {
779
- bold: true,
780
- block: true,
781
- required: true,
782
- children: "\uC810\uC218"
783
- }), jsx(Vspace, {
784
- height: 0.5
785
- }), jsxs(Flex, {
786
- align: "center",
787
- children: [jsx(Input, {
788
- disabled: true,
789
- value: selectedGradeForShow.score,
790
- size: "small",
791
- width: "xsmall",
792
- type: "number"
793
- }), jsx(Hspace, {
794
- width: 0.5
795
- }), jsx(Text, {
796
- bold: true,
797
- role: "gray9",
798
- size: "small",
799
- children: "\uC810"
800
- }), jsx(Text, {
801
- role: "gray6",
802
- size: "small",
803
- children: ' / 100점 만점'
804
- })]
805
- }), jsx(Vspace, {
806
- height: 1.25
807
- }), jsx(Label, {
808
- bold: true,
809
- block: true,
810
- children: "\uD53C\uB4DC\uBC31"
811
- }), jsx(Vspace, {
812
- height: 0.5
813
- }), jsx(StyledMaterialAssignmentAdminTextareaWrapper, {
814
- children: jsx(Textarea, {
815
- disabled: true,
816
- value: selectedGradeForShow.comment,
817
- wordLimit: 1000,
818
- rows: 8
819
- })
820
- })]
821
- });
580
+ }
581
+ }, React.createElement(Label, {
582
+ bold: true,
583
+ block: true,
584
+ required: true
585
+ }, "\uC810\uC218"), React.createElement(Vspace, {
586
+ height: 0.5
587
+ }), React.createElement(Flex, {
588
+ align: "center"
589
+ }, React.createElement(Input, {
590
+ disabled: true,
591
+ value: selectedGradeForShow.score,
592
+ size: "small",
593
+ width: "xsmall",
594
+ type: "number"
595
+ }), React.createElement(Hspace, {
596
+ width: 0.5
597
+ }), React.createElement(Text, {
598
+ bold: true,
599
+ role: "gray9",
600
+ size: "small"
601
+ }, "\uC810"), React.createElement(Text, {
602
+ role: "gray6",
603
+ size: "small"
604
+ }, ' / 100점 만점')), React.createElement(Vspace, {
605
+ height: 1.25
606
+ }), React.createElement(Label, {
607
+ bold: true,
608
+ block: true
609
+ }, "\uD53C\uB4DC\uBC31"), React.createElement(Vspace, {
610
+ height: 0.5
611
+ }), React.createElement(StyledMaterialAssignmentAdminTextareaWrapper, null, React.createElement(Textarea, {
612
+ disabled: true,
613
+ value: selectedGradeForShow.comment,
614
+ wordLimit: 1000,
615
+ rows: 8
616
+ })));
822
617
  };
823
- var renderGradeDeleteModal = function renderGradeDeleteModal() {
618
+ const renderGradeDeleteModal = () => {
824
619
  if (!selectedGradeForDelete) {
825
620
  return null;
826
621
  }
827
- return jsxs(Modal, {
622
+ return React.createElement(Modal, {
828
623
  title: "\uCC44\uC810 \uC0AD\uC81C",
829
624
  width: "narrow",
830
625
  footerButtons: [{
@@ -838,53 +633,47 @@ var MaterialAssignmentAdminContent = forwardRef(function (_ref, ref) {
838
633
  label: '취소',
839
634
  size: 'small',
840
635
  role: 'gray1',
841
- onClick: function onClick() {
636
+ onClick: () => {
842
637
  setSelectedGradeForDelete(null);
843
638
  }
844
639
  }],
845
- onHide: function onHide() {
640
+ onHide: () => {
846
641
  setSelectedGradeForDelete(null);
847
- },
848
- children: [jsx(Text, {
849
- role: "gray9",
850
- children: "\uC0AD\uC81C\uB41C \uC810\uC218\uC640 \uD53C\uB4DC\uBC31\uC740 \uB2E4\uC2DC \uBCF5\uAD6C\uB420 \uC218 \uC5C6\uC73C\uBA70 \uD559\uC0DD\uC758 \uD3C9\uADE0 \uC810\uC218\uAC00 \uBCC0\uACBD\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4."
851
- }), jsx(Vspace, {
852
- height: 0.75
853
- }), jsx(TableNext, {
854
- columns: [{
855
- Header: '채점자명',
856
- accessor: 'fullname'
857
- }, {
858
- Header: '최종 점수',
859
- accessor: 'score'
860
- }],
861
- data: [{
862
- fullname: jsxs(Flex, {
863
- children: [jsx(Text, {
864
- noWrap: true,
865
- role: "gray9",
866
- size: "small",
867
- children: selectedGradeForDelete.gradeUser.fullname
868
- }), jsx(Hspace, {
869
- width: 0.25
870
- }), jsx(Text, {
871
- ellipsis: true,
872
- role: "gray5",
873
- size: "small",
874
- children: selectedGradeForDelete.gradeUser.email
875
- })]
876
- }),
877
- score: selectedGradeForDelete.score
878
- }]
879
- })]
880
- });
642
+ }
643
+ }, React.createElement(Text, {
644
+ role: "gray9"
645
+ }, "\uC0AD\uC81C\uB41C \uC810\uC218\uC640 \uD53C\uB4DC\uBC31\uC740 \uB2E4\uC2DC \uBCF5\uAD6C\uB420 \uC218 \uC5C6\uC73C\uBA70 \uD559\uC0DD\uC758 \uD3C9\uADE0 \uC810\uC218\uAC00 \uBCC0\uACBD\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4."), React.createElement(Vspace, {
646
+ height: 0.75
647
+ }), React.createElement(TableNext, {
648
+ columns: [{
649
+ Header: '채점자명',
650
+ accessor: 'fullname'
651
+ }, {
652
+ Header: '최종 점수',
653
+ accessor: 'score'
654
+ }],
655
+ data: [{
656
+ fullname: React.createElement(Flex, null, React.createElement(Text, {
657
+ noWrap: true,
658
+ role: "gray9",
659
+ size: "small"
660
+ }, selectedGradeForDelete.gradeUser.fullname), React.createElement(Hspace, {
661
+ width: 0.25
662
+ }), React.createElement(Text, {
663
+ ellipsis: true,
664
+ role: "gray5",
665
+ size: "small"
666
+ }, selectedGradeForDelete.gradeUser.email)),
667
+ score: selectedGradeForDelete.score
668
+ }]
669
+ }));
881
670
  };
882
- var renderManualScoreEditModal = function renderManualScoreEditModal() {
671
+ const renderManualScoreEditModal = () => {
883
672
  var _a, _b;
884
673
  if (!showManualScoreEditModal) {
885
674
  return null;
886
675
  }
887
- return jsxs(Modal, {
676
+ return React.createElement(Modal, {
888
677
  title: "\uC810\uC218 \uC870\uC815",
889
678
  width: "narrow",
890
679
  footerButtons: [{
@@ -898,86 +687,76 @@ var MaterialAssignmentAdminContent = forwardRef(function (_ref, ref) {
898
687
  label: '취소',
899
688
  size: 'small',
900
689
  role: 'gray1',
901
- onClick: function onClick() {
690
+ onClick: () => {
902
691
  setShowManualScoreEditModal(false);
903
692
  }
904
693
  }],
905
- onHide: function onHide() {
694
+ onHide: () => {
906
695
  setShowManualScoreEditModal(false);
696
+ }
697
+ }, React.createElement(Alert, {
698
+ role: "warning"
699
+ }, "\uC810\uC218 \uC870\uC815 \uC774\uD6C4 \uB2E4\uC2DC \uD3C9\uADE0\uAC12\uC73C\uB85C \uB418\uB3CC\uB9B4 \uC218 \uC5C6\uC73C\uB2C8 \uC720\uC758\uD574 \uC8FC\uC138\uC694."), React.createElement(Vspace, {
700
+ height: 1
701
+ }), React.createElement(Flex, {
702
+ align: "center"
703
+ }, React.createElement(Input, {
704
+ disabled: true,
705
+ size: "small",
706
+ width: "xsmall",
707
+ type: "number",
708
+ label: "\uC774\uC804 \uC810\uC218",
709
+ value: (_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
710
+ }), React.createElement(Hspace, {
711
+ width: 1
712
+ }), React.createElement(Icon, {
713
+ icon: eilArrowRightwardsBasic
714
+ }), React.createElement(Hspace, {
715
+ width: 1
716
+ }), React.createElement(Controller, {
717
+ control: manualScoreEditFormMethods.control,
718
+ name: "manualScore",
719
+ rules: {
720
+ required: true,
721
+ min: 0,
722
+ max: 100
907
723
  },
908
- children: [jsx(Alert, {
909
- role: "warning",
910
- children: "\uC810\uC218 \uC870\uC815 \uC774\uD6C4 \uB2E4\uC2DC \uD3C9\uADE0\uAC12\uC73C\uB85C \uB418\uB3CC\uB9B4 \uC218 \uC5C6\uC73C\uB2C8 \uC720\uC758\uD574 \uC8FC\uC138\uC694."
911
- }), jsx(Vspace, {
912
- height: 1
913
- }), jsxs(Flex, {
914
- align: "center",
915
- children: [jsx(Input, {
916
- disabled: true,
917
- size: "small",
918
- width: "xsmall",
919
- type: "number",
920
- label: "\uC774\uC804 \uC810\uC218",
921
- value: (_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
922
- }), jsx(Hspace, {
923
- width: 1
924
- }), jsx(Icon, {
925
- icon: eilArrowRightwardsBasic
926
- }), jsx(Hspace, {
927
- width: 1
928
- }), jsx(Controller, {
929
- control: manualScoreEditFormMethods.control,
930
- name: "manualScore",
931
- rules: {
932
- required: true,
933
- min: 0,
934
- max: 100
935
- },
936
- render: function render(_ref10) {
937
- var field = _ref10.field,
938
- fieldState = _ref10.fieldState;
939
- return jsx(Input, Object.assign({}, field, {
940
- invalid: fieldState.invalid,
941
- size: "small",
942
- width: "xsmall",
943
- type: "number",
944
- label: "\uC870\uC815 \uC810\uC218"
945
- }));
946
- }
947
- }), jsx(Hspace, {
948
- width: 0.75
949
- }), jsx(Text, {
950
- bold: true,
951
- role: "gray9",
952
- size: "small",
953
- children: "\uC810"
954
- }), jsx(Text, {
955
- role: "gray6",
956
- size: "small",
957
- children: ' / 100점 만점'
958
- })]
959
- })]
960
- });
724
+ render: ({
725
+ field,
726
+ fieldState
727
+ }) => React.createElement(Input, Object.assign({}, field, {
728
+ invalid: fieldState.invalid,
729
+ size: "small",
730
+ width: "xsmall",
731
+ type: "number",
732
+ label: "\uC870\uC815 \uC810\uC218"
733
+ }))
734
+ }), React.createElement(Hspace, {
735
+ width: 0.75
736
+ }), React.createElement(Text, {
737
+ bold: true,
738
+ role: "gray9",
739
+ size: "small"
740
+ }, "\uC810"), React.createElement(Text, {
741
+ role: "gray6",
742
+ size: "small"
743
+ }, ' / 100점 만점')));
961
744
  };
962
- return jsxs(Fragment, {
963
- children: [renderHeader(), jsx(Flex, {
964
- column: true,
965
- auto: true,
966
- padding: "3.625rem",
967
- width: "100%",
968
- height: "100%",
969
- overflow: "hidden",
970
- align: "center",
971
- children: jsxs(MaterialAssignmentContainer, {
972
- title: (_a = materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.title) !== null && _a !== void 0 ? _a : '',
973
- children: [renderGradeResult(), jsx(Vspace, {
974
- height: 1.25
975
- }), renderSubmissionInfo(), jsx(Vspace, {
976
- height: 1.5
977
- }), renderGradeList()]
978
- })
979
- }), renderGradeEditModal(), renderGradeShowModal(), renderGradeDeleteModal(), renderManualScoreEditModal()]
980
- });
745
+ return React.createElement(React.Fragment, null, renderHeader(), React.createElement(Flex, {
746
+ column: true,
747
+ auto: true,
748
+ padding: "3.625rem",
749
+ width: "100%",
750
+ height: "100%",
751
+ overflow: "hidden",
752
+ align: "center"
753
+ }, React.createElement(MaterialAssignmentContainer, {
754
+ title: (_a = materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.title) !== null && _a !== void 0 ? _a : ''
755
+ }, renderGradeResult(), React.createElement(Vspace, {
756
+ height: 1.25
757
+ }), renderSubmissionInfo(), React.createElement(Vspace, {
758
+ height: 1.5
759
+ }), renderGradeList())), renderGradeEditModal(), renderGradeShowModal(), renderGradeDeleteModal(), renderManualScoreEditModal());
981
760
  });
982
761
 
983
762
  export { MaterialAssignmentAdminContent as default };