@elice/material-assignment 1.230328.0 → 1.230418.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 (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,3 +1,4 @@
1
+ import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React from 'react';
2
3
  import { useIntl, FormattedDate } from 'react-intl';
3
4
  import { config, getOrgMaterialAssignmentGet, getOrgMaterialAssignmentGradeList, getOrgMaterialAssignmentGradeResultGet, getOrgMaterialAssignmentSubmissionGet } from '@elice/api-client';
@@ -7,67 +8,82 @@ import { enums } from '@elice/types';
7
8
  import MaterialAssignmentContainer from '../shared/MaterialAssignmentContainer.js';
8
9
  import MaterialAssignmentUploadModal from './MaterialAssignmentUploadModal.js';
9
10
 
10
- const GRADE_LIST_COUNT = 20;
11
-
12
- const MaterialAssignmentContent = ({
13
- materialAssignmentId,
14
- userId
15
- }) => {
16
- const intl = useIntl();
17
- const isReady = useMaterialConfigApiClientUpdate(config.init);
18
- const {
19
- materialAssignment,
20
- materialLecturePage,
21
- status: assignmentGetStatus,
22
- refetch: doGetOrgMaterialAssignmentGet
23
- } = useMaterialFetchRaw(enums.LectureMaterialType.Assignment, React.useCallback(signal => getOrgMaterialAssignmentGet({
24
- materialAssignmentId
25
- }, {
26
- signal
27
- }), [materialAssignmentId]), isReady);
28
- const [assignmentGradeListGetStatus, setAssignmentGradeListGetStatus] = React.useState('idle');
29
- const [assignmentGradeResultGetStatus, setAssignmentGradeResultGetStatus] = React.useState('idle');
30
- const [assignmentSubmissionGetStatus, setAssignmentSubmissionGetStatus] = React.useState('idle');
31
- const [materialAssignmentSubmission, setMaterialAssignmentSubmission] = React.useState();
32
- const [materialAssignmentGradeResult, setMaterialAssignmentGradeResult] = React.useState();
33
- const [materialAssignmentGradeList, setMaterialAssignmentGradeList] = React.useState();
11
+ var GRADE_LIST_COUNT = 20;
12
+ var MaterialAssignmentContent = function MaterialAssignmentContent(_ref) {
13
+ var materialAssignmentId = _ref.materialAssignmentId,
14
+ userId = _ref.userId;
15
+ var intl = useIntl();
16
+ var isReady = useMaterialConfigApiClientUpdate(config.init);
17
+ var _useMaterialFetchRaw = useMaterialFetchRaw(enums.LectureMaterialType.Assignment, React.useCallback(function (signal) {
18
+ return getOrgMaterialAssignmentGet({
19
+ materialAssignmentId: materialAssignmentId
20
+ }, {
21
+ signal: signal
22
+ });
23
+ }, [materialAssignmentId]), isReady),
24
+ materialAssignment = _useMaterialFetchRaw.materialAssignment,
25
+ materialLecturePage = _useMaterialFetchRaw.materialLecturePage,
26
+ assignmentGetStatus = _useMaterialFetchRaw.status,
27
+ doGetOrgMaterialAssignmentGet = _useMaterialFetchRaw.refetch;
28
+ var _React$useState = React.useState('idle'),
29
+ _React$useState2 = _slicedToArray(_React$useState, 2),
30
+ assignmentGradeListGetStatus = _React$useState2[0],
31
+ setAssignmentGradeListGetStatus = _React$useState2[1];
32
+ var _React$useState3 = React.useState('idle'),
33
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
34
+ assignmentGradeResultGetStatus = _React$useState4[0],
35
+ setAssignmentGradeResultGetStatus = _React$useState4[1];
36
+ var _React$useState5 = React.useState('idle'),
37
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
38
+ assignmentSubmissionGetStatus = _React$useState6[0],
39
+ setAssignmentSubmissionGetStatus = _React$useState6[1];
40
+ var _React$useState7 = React.useState(),
41
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
42
+ materialAssignmentSubmission = _React$useState8[0],
43
+ setMaterialAssignmentSubmission = _React$useState8[1];
44
+ var _React$useState9 = React.useState(),
45
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
46
+ materialAssignmentGradeResult = _React$useState10[0],
47
+ setMaterialAssignmentGradeResult = _React$useState10[1];
48
+ var _React$useState11 = React.useState(),
49
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
50
+ materialAssignmentGradeList = _React$useState12[0],
51
+ setMaterialAssignmentGradeList = _React$useState12[1];
34
52
  /** Is confirm modal visible? */
35
-
36
- const [showAssignmentSubmitModal, setShowAssignmentSubmitModal] = React.useState(false);
37
- const isAssignmentSubmitted = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.lastAssignmentSubmissionId);
38
- const isAssignmentClosed = materialAssignment && Boolean(materialAssignment.closeDatetime < Date.now());
39
- const isAssignmentResultVisible = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime); //
53
+ var _React$useState13 = React.useState(false),
54
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
55
+ showAssignmentSubmitModal = _React$useState14[0],
56
+ setShowAssignmentSubmitModal = _React$useState14[1];
57
+ var isAssignmentSubmitted = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.lastAssignmentSubmissionId);
58
+ var isAssignmentClosed = materialAssignment && Boolean(materialAssignment.closeDatetime < Date.now());
59
+ var isAssignmentResultVisible = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime);
60
+ //
40
61
  //
41
62
  //
42
-
43
63
  /**
44
64
  * When Grade_result exist, a comment list is called.
45
65
  */
46
-
47
- React.useEffect(() => {
66
+ React.useEffect(function () {
48
67
  if (!isReady) {
49
68
  return;
50
69
  }
51
-
52
70
  if (!isAssignmentResultVisible) {
53
71
  return;
54
72
  }
55
-
56
73
  setAssignmentGradeListGetStatus('pending');
57
74
  getOrgMaterialAssignmentGradeList({
58
75
  offset: 0,
59
76
  count: GRADE_LIST_COUNT,
60
- materialAssignmentId,
77
+ materialAssignmentId: materialAssignmentId,
61
78
  filterConditions: {
62
- userId
79
+ userId: userId
63
80
  }
64
- }).then(({
65
- materialAssignmentGrades,
66
- materialAssignmentGradeCount
67
- }) => {
81
+ }).then(function (_ref2) {
82
+ var materialAssignmentGrades = _ref2.materialAssignmentGrades;
83
+ _ref2.materialAssignmentGradeCount;
68
84
  setAssignmentGradeListGetStatus('resolved');
69
85
  setMaterialAssignmentGradeList(materialAssignmentGrades);
70
- }).catch(error => {
86
+ }).catch(function (error) {
71
87
  console.error(error);
72
88
  setAssignmentGradeListGetStatus('rejected');
73
89
  });
@@ -75,26 +91,22 @@ const MaterialAssignmentContent = ({
75
91
  /**
76
92
  * When Grade_result exist, a score is called.
77
93
  */
78
-
79
- React.useEffect(() => {
94
+ React.useEffect(function () {
80
95
  if (!isReady) {
81
96
  return;
82
97
  }
83
-
84
98
  if (!isAssignmentResultVisible) {
85
99
  return;
86
100
  }
87
-
88
101
  setAssignmentGradeResultGetStatus('pending');
89
102
  getOrgMaterialAssignmentGradeResultGet({
90
- materialAssignmentId,
91
- userId
92
- }).then(({
93
- materialAssignmentGradeResult
94
- }) => {
103
+ materialAssignmentId: materialAssignmentId,
104
+ userId: userId
105
+ }).then(function (_ref3) {
106
+ var materialAssignmentGradeResult = _ref3.materialAssignmentGradeResult;
95
107
  setAssignmentGradeResultGetStatus('resolved');
96
108
  setMaterialAssignmentGradeResult(materialAssignmentGradeResult);
97
- }).catch(error => {
109
+ }).catch(function (error) {
98
110
  console.error(error);
99
111
  setAssignmentGradeResultGetStatus('rejected');
100
112
  });
@@ -102,39 +114,32 @@ const MaterialAssignmentContent = ({
102
114
  /**
103
115
  * Get information on the assignment submitted
104
116
  */
105
-
106
- React.useEffect(() => {
117
+ React.useEffect(function () {
107
118
  var _a;
108
-
109
119
  if (!isReady) {
110
120
  return;
111
- } // Get assignment response according to `lastAssignmentSubmissionId` of material.
112
-
113
-
121
+ }
122
+ // Get assignment response according to `lastAssignmentSubmissionId` of material.
114
123
  if (!isAssignmentSubmitted) {
115
124
  setMaterialAssignmentSubmission(undefined);
116
125
  return;
117
126
  }
118
-
119
127
  setAssignmentSubmissionGetStatus('pending');
120
128
  getOrgMaterialAssignmentSubmissionGet({
121
129
  materialAssignmentSubmissionId: (_a = materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.lastAssignmentSubmissionId) !== null && _a !== void 0 ? _a : 0
122
- }).then(({
123
- materialAssignmentSubmission
124
- }) => {
130
+ }).then(function (_ref4) {
131
+ var materialAssignmentSubmission = _ref4.materialAssignmentSubmission;
125
132
  setAssignmentSubmissionGetStatus('resolved');
126
133
  setMaterialAssignmentSubmission(materialAssignmentSubmission);
127
- }).catch(error => {
134
+ }).catch(function (error) {
128
135
  console.error(error);
129
136
  setAssignmentSubmissionGetStatus('rejected');
130
137
  setMaterialAssignmentSubmission(undefined);
131
138
  });
132
139
  }, [isAssignmentSubmitted, isReady, materialAssignment]);
133
-
134
140
  if (assignmentGetStatus === 'pending' || assignmentGradeListGetStatus === 'pending' || assignmentGradeResultGetStatus === 'pending' || assignmentSubmissionGetStatus === 'pending') {
135
141
  return React.createElement(Spinner, null);
136
142
  }
137
-
138
143
  if (!materialAssignment || assignmentGetStatus === 'rejected') {
139
144
  return React.createElement(Text, {
140
145
  role: "white"
@@ -145,14 +150,10 @@ const MaterialAssignmentContent = ({
145
150
  /**
146
151
  *
147
152
  */
148
-
149
-
150
- const renderAssignmentInfo = () => {
153
+ var renderAssignmentInfo = function renderAssignmentInfo() {
151
154
  var _a;
152
-
153
- const assignmentFilename = decodeURIComponent((materialAssignmentSubmission === null || materialAssignmentSubmission === void 0 ? void 0 : materialAssignmentSubmission.assignmentFileUrl) && new URL(materialAssignmentSubmission.assignmentFileUrl).pathname.split('/').pop() || '');
154
-
155
- const renderAssignmentStatus = () => {
155
+ var assignmentFilename = decodeURIComponent((materialAssignmentSubmission === null || materialAssignmentSubmission === void 0 ? void 0 : materialAssignmentSubmission.assignmentFileUrl) && new URL(materialAssignmentSubmission.assignmentFileUrl).pathname.split('/').pop() || '');
156
+ var renderAssignmentStatus = function renderAssignmentStatus() {
156
157
  if (!isAssignmentSubmitted && isAssignmentClosed) {
157
158
  return React.createElement(Text, {
158
159
  bold: true,
@@ -162,7 +163,6 @@ const MaterialAssignmentContent = ({
162
163
  id: 'materialAssignment.status.deadlineExpired'
163
164
  }));
164
165
  }
165
-
166
166
  if (isAssignmentResultVisible) {
167
167
  return React.createElement(Text, {
168
168
  bold: true,
@@ -172,7 +172,6 @@ const MaterialAssignmentContent = ({
172
172
  id: 'materialAssignment.status.graded'
173
173
  }));
174
174
  }
175
-
176
175
  if (isAssignmentSubmitted) {
177
176
  return React.createElement(Text, {
178
177
  bold: true,
@@ -182,7 +181,6 @@ const MaterialAssignmentContent = ({
182
181
  id: 'materialAssignment.status.submitted'
183
182
  }));
184
183
  }
185
-
186
184
  return React.createElement(Text, {
187
185
  bold: true,
188
186
  role: "warning",
@@ -191,10 +189,8 @@ const MaterialAssignmentContent = ({
191
189
  id: 'materialAssignment.status.noSubmitted'
192
190
  }));
193
191
  };
194
-
195
- const renderAssignmentScore = () => {
192
+ var renderAssignmentScore = function renderAssignmentScore() {
196
193
  var _a;
197
-
198
194
  return React.createElement(React.Fragment, null, React.createElement(Text, {
199
195
  bold: true,
200
196
  role: "white",
@@ -207,8 +203,7 @@ const MaterialAssignmentContent = ({
207
203
  width: 0.25
208
204
  }));
209
205
  };
210
-
211
- const renderAssignmentAttachment = () => {
206
+ var renderAssignmentAttachment = function renderAssignmentAttachment() {
212
207
  if (materialAssignmentSubmission === null || materialAssignmentSubmission === void 0 ? void 0 : materialAssignmentSubmission.assignmentFileUrl) {
213
208
  return React.createElement("a", {
214
209
  href: materialAssignmentSubmission.assignmentFileUrl,
@@ -222,7 +217,6 @@ const MaterialAssignmentContent = ({
222
217
  size: "small"
223
218
  }, assignmentFilename));
224
219
  }
225
-
226
220
  if (materialAssignmentSubmission === null || materialAssignmentSubmission === void 0 ? void 0 : materialAssignmentSubmission.assignmentUrl) {
227
221
  return React.createElement("a", {
228
222
  href: materialAssignmentSubmission.assignmentUrl,
@@ -235,10 +229,8 @@ const MaterialAssignmentContent = ({
235
229
  size: "small"
236
230
  }, materialAssignmentSubmission.assignmentUrl));
237
231
  }
238
-
239
232
  return '--';
240
233
  };
241
-
242
234
  return React.createElement(InfoTable, {
243
235
  dark: true
244
236
  }, React.createElement("tbody", null, React.createElement("tr", null, React.createElement("td", {
@@ -269,7 +261,9 @@ const MaterialAssignmentContent = ({
269
261
  size: "tiny",
270
262
  role: "lightpurple",
271
263
  disabled: [isAssignmentResultVisible, !materialAssignment.isResubmitEnabled && isAssignmentSubmitted, isAssignmentClosed].some(Boolean),
272
- onClick: () => setShowAssignmentSubmitModal(true)
264
+ onClick: function onClick() {
265
+ return setShowAssignmentSubmitModal(true);
266
+ }
273
267
  }, intl.formatMessage({
274
268
  id: 'materialAssignment.button.upload'
275
269
  }))))), React.createElement("tr", null, React.createElement("td", null, intl.formatMessage({
@@ -286,12 +280,9 @@ const MaterialAssignmentContent = ({
286
280
  /**
287
281
  *
288
282
  */
289
-
290
-
291
- const renderAssignmentFeedback = () => {
283
+ var renderAssignmentFeedback = function renderAssignmentFeedback() {
292
284
  var _a;
293
-
294
- const tableColumns = [{
285
+ var tableColumns = [{
295
286
  Header: intl.formatMessage({
296
287
  id: 'materialAssignment.table.header.index'
297
288
  }),
@@ -303,14 +294,18 @@ const MaterialAssignmentContent = ({
303
294
  }),
304
295
  accessor: 'feedback'
305
296
  }];
306
- const tableData = (_a = materialAssignmentGradeList === null || materialAssignmentGradeList === void 0 ? void 0 : materialAssignmentGradeList.filter(grade => grade.comment.length).map((grade, index) => ({
307
- index: index + 1,
308
- feedback: React.createElement(Text, {
309
- preWrap: true,
310
- size: "small",
311
- role: "navy1"
312
- }, grade.comment)
313
- }))) !== null && _a !== void 0 ? _a : [];
297
+ var tableData = (_a = materialAssignmentGradeList === null || materialAssignmentGradeList === void 0 ? void 0 : materialAssignmentGradeList.filter(function (grade) {
298
+ return grade.comment.length;
299
+ }).map(function (grade, index) {
300
+ return {
301
+ index: index + 1,
302
+ feedback: React.createElement(Text, {
303
+ preWrap: true,
304
+ size: "small",
305
+ role: "navy1"
306
+ }, grade.comment)
307
+ };
308
+ })) !== null && _a !== void 0 ? _a : [];
314
309
  return React.createElement(TableNext, {
315
310
  dark: true,
316
311
  columns: tableColumns,
@@ -323,20 +318,18 @@ const MaterialAssignmentContent = ({
323
318
  /**
324
319
  *
325
320
  */
326
-
327
-
328
- const renderAssignmentUploadModal = () => {
321
+ var renderAssignmentUploadModal = function renderAssignmentUploadModal() {
329
322
  if (!showAssignmentSubmitModal) {
330
323
  return null;
331
324
  }
332
-
333
325
  return React.createElement(MaterialAssignmentUploadModal, {
334
326
  materialAssignment: materialAssignment,
335
- onClose: () => setShowAssignmentSubmitModal(false),
327
+ onClose: function onClose() {
328
+ return setShowAssignmentSubmitModal(false);
329
+ },
336
330
  onSubmitCallback: doGetOrgMaterialAssignmentGet
337
331
  });
338
332
  };
339
-
340
333
  return React.createElement(MaterialAssignmentContainer, {
341
334
  title: materialAssignment.title
342
335
  }, React.createElement(Text, {
@@ -1,82 +1,99 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import React from 'react';
2
3
  import { useForm, Controller } from 'react-hook-form';
3
4
  import { useIntl } from 'react-intl';
4
5
  import { postOrgMaterialAssignmentSubmissionAdd } from '@elice/api-client';
5
- import { Files, Notification, Modal, Alert, Vspace, Radio, RadioButton, Input, Checkbox, Text } from '@elice/blocks';
6
+ import { Files, Modal, Alert, Vspace, Radio, RadioButton, Input, Checkbox, Text, Notification } from '@elice/blocks';
6
7
  import { base } from '@elice/design-tokens';
7
8
  import { validateUrl } from '@elice/utils';
8
9
  import styled from 'styled-components';
9
10
 
10
- const StyledAssignmentContentFiles = styled(Files).withConfig({
11
+ var StyledAssignmentContentFiles = styled(Files).withConfig({
11
12
  componentId: "sc-9bizrf-0"
12
13
  })(["width:100%;.eb-files__choose-button{border-color:", ";background-color:", ";}"], base.color.primary5, base.color.primary5);
13
-
14
- const MaterialAssignmentUploadModal = ({
15
- materialAssignment,
16
- onClose,
17
- onSubmitCallback
18
- }) => {
19
- const intl = useIntl();
20
- const abortCtrl = React.useRef(new AbortController());
14
+ var MaterialAssignmentUploadModal = function MaterialAssignmentUploadModal(_ref) {
15
+ var materialAssignment = _ref.materialAssignment,
16
+ onClose = _ref.onClose,
17
+ onSubmitCallback = _ref.onSubmitCallback;
18
+ var intl = useIntl();
19
+ var abortCtrl = React.useRef(new AbortController());
21
20
  /** Select submission method */
22
-
23
- const [assignmentMode, setAssignmentMode] = React.useState('attachment');
21
+ var _React$useState = React.useState('attachment'),
22
+ _React$useState2 = _slicedToArray(_React$useState, 2),
23
+ assignmentMode = _React$useState2[0],
24
+ setAssignmentMode = _React$useState2[1];
24
25
  /** Check "Once you submit it, you cannot submit it again." */
25
-
26
- const [isAgreedSubmit, setAgreedSubmit] = React.useState(false);
26
+ var _React$useState3 = React.useState(false),
27
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
28
+ isAgreedSubmit = _React$useState4[0],
29
+ setAgreedSubmit = _React$useState4[1];
27
30
  /** Check if the submission time is past */
28
-
29
- const isAssignmentClosed = Boolean(materialAssignment.closeDatetime < Date.now());
31
+ var isAssignmentClosed = Boolean(materialAssignment.closeDatetime < Date.now());
30
32
  /** Check if it is possible to resubmit */
31
-
32
- const isAssignmentResubmitEnabled = Boolean(materialAssignment.isResubmitEnabled);
33
- const {
34
- control,
35
- formState,
36
- handleSubmit,
37
- reset
38
- } = useForm({
39
- mode: 'onChange'
40
- });
33
+ var isAssignmentResubmitEnabled = Boolean(materialAssignment.isResubmitEnabled);
34
+ var _useForm = useForm({
35
+ mode: 'onChange'
36
+ }),
37
+ control = _useForm.control,
38
+ formState = _useForm.formState,
39
+ handleSubmit = _useForm.handleSubmit,
40
+ reset = _useForm.reset;
41
41
  /**
42
42
  * Submit assignment.
43
43
  */
44
-
45
- const submitAssignment = handleSubmit(async data => {
46
- var _a;
47
-
48
- try {
49
- await postOrgMaterialAssignmentSubmissionAdd(Object.assign(Object.assign({}, data), {
50
- materialAssignmentId: (_a = materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.id) !== null && _a !== void 0 ? _a : 0
51
- }), {
52
- signal: abortCtrl.current.signal
53
- });
54
- onClose();
55
- Notification.success(intl.formatMessage({
56
- id: 'materialAssignment.notification.submit.success'
57
- }));
58
-
59
- if (typeof onSubmitCallback === 'function') {
60
- onSubmitCallback();
61
- }
62
- } catch (error) {
63
- if (error.name === 'AbortError') {
64
- return Notification.error(intl.formatMessage({
65
- id: 'materialAssignment.notification.submit.cancel'
66
- }));
67
- }
68
-
69
- Notification.error(intl.formatMessage({
70
- id: 'materialAssignment.notification.submit.failure'
71
- }));
72
- }
73
- }); //
44
+ var submitAssignment = handleSubmit( /*#__PURE__*/function () {
45
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(data) {
46
+ var _a;
47
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
48
+ while (1) switch (_context.prev = _context.next) {
49
+ case 0:
50
+ _context.prev = 0;
51
+ _context.next = 3;
52
+ return postOrgMaterialAssignmentSubmissionAdd(Object.assign(Object.assign({}, data), {
53
+ materialAssignmentId: (_a = materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.id) !== null && _a !== void 0 ? _a : 0
54
+ }), {
55
+ signal: abortCtrl.current.signal
56
+ });
57
+ case 3:
58
+ onClose();
59
+ Notification.success(intl.formatMessage({
60
+ id: 'materialAssignment.notification.submit.success'
61
+ }));
62
+ if (typeof onSubmitCallback === 'function') {
63
+ onSubmitCallback();
64
+ }
65
+ _context.next = 13;
66
+ break;
67
+ case 8:
68
+ _context.prev = 8;
69
+ _context.t0 = _context["catch"](0);
70
+ if (!(_context.t0.name === 'AbortError')) {
71
+ _context.next = 12;
72
+ break;
73
+ }
74
+ return _context.abrupt("return", Notification.error(intl.formatMessage({
75
+ id: 'materialAssignment.notification.submit.cancel'
76
+ })));
77
+ case 12:
78
+ Notification.error(intl.formatMessage({
79
+ id: 'materialAssignment.notification.submit.failure'
80
+ }));
81
+ case 13:
82
+ case "end":
83
+ return _context.stop();
84
+ }
85
+ }, _callee, null, [[0, 8]]);
86
+ }));
87
+ return function (_x) {
88
+ return _ref2.apply(this, arguments);
89
+ };
90
+ }());
74
91
  //
75
92
  //
76
-
77
- React.useEffect(() => {
78
- const _abortCtrl = abortCtrl.current;
79
- return () => {
93
+ //
94
+ React.useEffect(function () {
95
+ var _abortCtrl = abortCtrl.current;
96
+ return function () {
80
97
  _abortCtrl.abort();
81
98
  };
82
99
  }, []);
@@ -109,7 +126,7 @@ const MaterialAssignmentUploadModal = ({
109
126
  purpleWhite: true,
110
127
  borderRound: true,
111
128
  value: assignmentMode,
112
- onChange: value => {
129
+ onChange: function onChange(value) {
113
130
  reset();
114
131
  setAgreedSubmit(false);
115
132
  setAssignmentMode(value);
@@ -130,46 +147,47 @@ const MaterialAssignmentUploadModal = ({
130
147
  rules: {
131
148
  required: true
132
149
  },
133
- render: ({
134
- field
135
- }) => React.createElement(StyledAssignmentContentFiles, Object.assign({}, field, {
136
- files: field.value ? [field.value] : undefined,
137
- accept: "*",
138
- maxCount: 1,
139
- maxSize: 300,
140
- disabled: isAssignmentClosed,
141
- dropMessage: intl.formatMessage({
142
- id: 'materialAssignment.attachment.dropMessage'
143
- }),
144
- buttonMessage: intl.formatMessage({
145
- id: 'materialAssignment.attachment.button'
146
- }),
147
- maxSizeMessage: intl.formatMessage({
148
- id: 'materialAssignment.attachment.maxSizeMessage'
149
- }),
150
- onChange: newFiles => {
151
- if (Array.isArray(newFiles) && newFiles[0] instanceof File) {
152
- field.onChange(newFiles[0]);
153
- } else {
154
- field.onChange(undefined);
150
+ render: function render(_ref3) {
151
+ var field = _ref3.field;
152
+ return React.createElement(StyledAssignmentContentFiles, Object.assign({}, field, {
153
+ files: field.value ? [field.value] : undefined,
154
+ accept: "*",
155
+ maxCount: 1,
156
+ maxSize: 300,
157
+ disabled: isAssignmentClosed,
158
+ dropMessage: intl.formatMessage({
159
+ id: 'materialAssignment.attachment.dropMessage'
160
+ }),
161
+ buttonMessage: intl.formatMessage({
162
+ id: 'materialAssignment.attachment.button'
163
+ }),
164
+ maxSizeMessage: intl.formatMessage({
165
+ id: 'materialAssignment.attachment.maxSizeMessage'
166
+ }),
167
+ onChange: function onChange(newFiles) {
168
+ if (Array.isArray(newFiles) && newFiles[0] instanceof File) {
169
+ field.onChange(newFiles[0]);
170
+ } else {
171
+ field.onChange(undefined);
172
+ }
155
173
  }
156
- }
157
- }))
174
+ }));
175
+ }
158
176
  }) : React.createElement(Controller, {
159
177
  control: control,
160
178
  name: "assignmentUrl",
161
179
  rules: {
162
180
  required: true,
163
- validate: url => validateUrl(url !== null && url !== void 0 ? url : '') ? true : intl.formatMessage({
164
- id: 'materialAssignment.input.invalid'
165
- })
181
+ validate: function validate(url) {
182
+ return validateUrl(url !== null && url !== void 0 ? url : '') ? true : intl.formatMessage({
183
+ id: 'materialAssignment.input.invalid'
184
+ });
185
+ }
166
186
  },
167
- render: ({
168
- field,
169
- fieldState
170
- }) => {
187
+ render: function render(_ref4) {
188
+ var field = _ref4.field,
189
+ fieldState = _ref4.fieldState;
171
190
  var _a;
172
-
173
191
  return React.createElement(Input, Object.assign({}, field, {
174
192
  width: "full",
175
193
  size: "small",
@@ -1,4 +1,4 @@
1
- const en = {
1
+ var en = {
2
2
  'materialAssignment.button.upload': 'Upload assignment',
3
3
  'materialAssignment.error': 'Failed to fetch assignment',
4
4
  'materialAssignment.status.noSubmitted': 'No submitted',
@@ -36,7 +36,7 @@ const en = {
36
36
  'materialAssignment.attachment.checkbox.onceSubmit': 'I have checked all the circumstances and agree to submit the assignment.',
37
37
  'materialAssignment.input.invalid': 'The URL is not of a valid format.'
38
38
  };
39
- const ko = {
39
+ var ko = {
40
40
  'materialAssignment.button.upload': '과제 업로드',
41
41
  'materialAssignment.error': '과제를 불러오는데 실패했습니다.\n잠시 후 다시 시도해주세요.',
42
42
  'materialAssignment.status.noSubmitted': '미제출',