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