@elice/material-assignment 1.240306.0-runboxtutoring.0 → 1.240306.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/components/material-assignment/MaterialAssignment.d.ts +3 -3
- package/cjs/components/material-assignment/MaterialAssignment.js +22 -34
- package/cjs/components/material-assignment/MaterialAssignmentContent.js +195 -299
- package/cjs/components/material-assignment/MaterialAssignmentUploadModal.js +142 -185
- package/cjs/components/material-assignment/locales.d.ts +39 -0
- package/cjs/components/material-assignment/locales.js +81 -0
- package/cjs/components/material-assignment-admin/MaterialAssignmentAdmin.d.ts +2 -4
- package/cjs/components/material-assignment-admin/MaterialAssignmentAdmin.js +26 -35
- package/cjs/components/material-assignment-admin/MaterialAssignmentAdmin.styled.d.ts +2 -0
- package/cjs/components/material-assignment-admin/MaterialAssignmentAdmin.styled.js +17 -19
- package/cjs/components/material-assignment-admin/MaterialAssignmentAdminContent.js +565 -863
- package/cjs/components/material-assignment-admin/MaterialAssignmentAdminContentTa.js +314 -467
- package/cjs/components/shared/MaterialAssignmentContainer.js +13 -23
- package/es/components/material-assignment/MaterialAssignment.d.ts +3 -3
- package/es/components/material-assignment/MaterialAssignment.js +23 -29
- package/es/components/material-assignment/MaterialAssignmentContent.js +193 -292
- package/es/components/material-assignment/MaterialAssignmentUploadModal.js +140 -178
- package/es/components/material-assignment/locales.d.ts +39 -0
- package/es/components/material-assignment/locales.js +78 -0
- package/es/components/material-assignment-admin/MaterialAssignmentAdmin.d.ts +2 -4
- package/es/components/material-assignment-admin/MaterialAssignmentAdmin.js +27 -32
- package/es/components/material-assignment-admin/MaterialAssignmentAdmin.styled.d.ts +2 -0
- package/es/components/material-assignment-admin/MaterialAssignmentAdmin.styled.js +16 -16
- package/es/components/material-assignment-admin/MaterialAssignmentAdminContent.js +567 -860
- package/es/components/material-assignment-admin/MaterialAssignmentAdminContentTa.js +316 -464
- package/es/components/shared/MaterialAssignmentContainer.js +13 -19
- package/package.json +15 -12
- package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -383
- package/cjs/components/index.js +0 -9
- package/cjs/components/material-assignment/constants/color.d.ts +0 -1
- package/cjs/components/material-assignment/constants/color.js +0 -5
- package/cjs/components/material-assignment/index.js +0 -7
- package/cjs/components/material-assignment/locales/en.json.js +0 -7
- package/cjs/components/material-assignment/locales/index.d.ts +0 -4
- package/cjs/components/material-assignment/locales/index.js +0 -13
- package/cjs/components/material-assignment/locales/ja.json.js +0 -7
- package/cjs/components/material-assignment/locales/ko.json.js +0 -7
- package/cjs/components/material-assignment/locales/th.json.js +0 -7
- package/cjs/components/material-assignment-admin/index.js +0 -7
- package/cjs/components/material-assignment-admin/locales/en.json.js +0 -7
- package/cjs/components/material-assignment-admin/locales/index.d.ts +0 -4
- package/cjs/components/material-assignment-admin/locales/index.js +0 -13
- package/cjs/components/material-assignment-admin/locales/ja.json.js +0 -7
- package/cjs/components/material-assignment-admin/locales/ko.json.js +0 -7
- package/cjs/components/material-assignment-admin/locales/th.json.js +0 -7
- package/es/_virtual/_rollupPluginBabelHelpers.js +0 -374
- package/es/components/index.js +0 -2
- package/es/components/material-assignment/constants/color.d.ts +0 -1
- package/es/components/material-assignment/constants/color.js +0 -3
- package/es/components/material-assignment/index.js +0 -1
- package/es/components/material-assignment/locales/en.json.js +0 -3
- package/es/components/material-assignment/locales/index.d.ts +0 -4
- package/es/components/material-assignment/locales/index.js +0 -4
- package/es/components/material-assignment/locales/ja.json.js +0 -3
- package/es/components/material-assignment/locales/ko.json.js +0 -3
- package/es/components/material-assignment/locales/th.json.js +0 -3
- package/es/components/material-assignment-admin/index.js +0 -1
- package/es/components/material-assignment-admin/locales/en.json.js +0 -3
- package/es/components/material-assignment-admin/locales/index.d.ts +0 -4
- package/es/components/material-assignment-admin/locales/index.js +0 -4
- package/es/components/material-assignment-admin/locales/ja.json.js +0 -3
- package/es/components/material-assignment-admin/locales/ko.json.js +0 -3
- package/es/components/material-assignment-admin/locales/th.json.js +0 -3
|
@@ -2,97 +2,50 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
7
5
|
var React = require('react');
|
|
6
|
+
var reactIntl = require('react-intl');
|
|
8
7
|
var apiClient = require('@elice/api-client');
|
|
9
8
|
var blocks = require('@elice/blocks');
|
|
10
|
-
var designTokens = require('@elice/design-tokens');
|
|
11
|
-
var intl = require('@elice/intl');
|
|
12
9
|
var materialSharedUtils = require('@elice/material-shared-utils');
|
|
13
|
-
var muiSystem = require('@elice/mui-system');
|
|
14
10
|
var types = require('@elice/types');
|
|
15
|
-
var styled = require('styled-components');
|
|
16
11
|
var MaterialAssignmentContainer = require('../shared/MaterialAssignmentContainer.js');
|
|
17
|
-
var color = require('./constants/color.js');
|
|
18
12
|
var MaterialAssignmentUploadModal = require('./MaterialAssignmentUploadModal.js');
|
|
19
13
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
userId = _ref.userId;
|
|
44
|
-
var isReady = materialSharedUtils.useMaterialConfigApiClientUpdate(apiClient.config.init);
|
|
45
|
-
var intl$1 = intl.useRawEliceIntl();
|
|
46
|
-
var _useMaterialFetchRaw = materialSharedUtils.useMaterialFetchRaw(types.enums.LectureMaterialType.Assignment, React__default.default.useCallback(function (signal) {
|
|
47
|
-
return apiClient.getOrgMaterialAssignmentGet({
|
|
48
|
-
materialAssignmentId: materialAssignmentId
|
|
49
|
-
}, {
|
|
50
|
-
signal: signal
|
|
51
|
-
});
|
|
52
|
-
}, [materialAssignmentId]), isReady),
|
|
53
|
-
materialAssignment = _useMaterialFetchRaw.materialAssignment,
|
|
54
|
-
materialLecturePage = _useMaterialFetchRaw.materialLecturePage,
|
|
55
|
-
assignmentGetStatus = _useMaterialFetchRaw.status,
|
|
56
|
-
doGetOrgMaterialAssignmentGet = _useMaterialFetchRaw.refetch;
|
|
57
|
-
var _React$useState = React__default.default.useState('idle'),
|
|
58
|
-
_React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
|
|
59
|
-
assignmentGradeListGetStatus = _React$useState2[0],
|
|
60
|
-
setAssignmentGradeListGetStatus = _React$useState2[1];
|
|
61
|
-
var _React$useState3 = React__default.default.useState('idle'),
|
|
62
|
-
_React$useState4 = _rollupPluginBabelHelpers.slicedToArray(_React$useState3, 2),
|
|
63
|
-
assignmentGradeResultGetStatus = _React$useState4[0],
|
|
64
|
-
setAssignmentGradeResultGetStatus = _React$useState4[1];
|
|
65
|
-
var _React$useState5 = React__default.default.useState('idle'),
|
|
66
|
-
_React$useState6 = _rollupPluginBabelHelpers.slicedToArray(_React$useState5, 2),
|
|
67
|
-
assignmentSubmissionGetStatus = _React$useState6[0],
|
|
68
|
-
setAssignmentSubmissionGetStatus = _React$useState6[1];
|
|
69
|
-
var _React$useState7 = React__default.default.useState(),
|
|
70
|
-
_React$useState8 = _rollupPluginBabelHelpers.slicedToArray(_React$useState7, 2),
|
|
71
|
-
materialAssignmentSubmission = _React$useState8[0],
|
|
72
|
-
setMaterialAssignmentSubmission = _React$useState8[1];
|
|
73
|
-
var _React$useState9 = React__default.default.useState(),
|
|
74
|
-
_React$useState10 = _rollupPluginBabelHelpers.slicedToArray(_React$useState9, 2),
|
|
75
|
-
materialAssignmentGradeResult = _React$useState10[0],
|
|
76
|
-
setMaterialAssignmentGradeResult = _React$useState10[1];
|
|
77
|
-
var _React$useState11 = React__default.default.useState(),
|
|
78
|
-
_React$useState12 = _rollupPluginBabelHelpers.slicedToArray(_React$useState11, 2),
|
|
79
|
-
materialAssignmentGradeList = _React$useState12[0],
|
|
80
|
-
setMaterialAssignmentGradeList = _React$useState12[1];
|
|
14
|
+
const GRADE_LIST_COUNT = 20;
|
|
15
|
+
const MaterialAssignmentContent = ({
|
|
16
|
+
materialAssignmentId,
|
|
17
|
+
userId
|
|
18
|
+
}) => {
|
|
19
|
+
const intl = reactIntl.useIntl();
|
|
20
|
+
const isReady = materialSharedUtils.useMaterialConfigApiClientUpdate(apiClient.config.init);
|
|
21
|
+
const {
|
|
22
|
+
materialAssignment,
|
|
23
|
+
materialLecturePage,
|
|
24
|
+
status: assignmentGetStatus,
|
|
25
|
+
refetch: doGetOrgMaterialAssignmentGet
|
|
26
|
+
} = materialSharedUtils.useMaterialFetchRaw(types.enums.LectureMaterialType.Assignment, React.useCallback(signal => apiClient.getOrgMaterialAssignmentGet({
|
|
27
|
+
materialAssignmentId
|
|
28
|
+
}, {
|
|
29
|
+
signal
|
|
30
|
+
}), [materialAssignmentId]), isReady);
|
|
31
|
+
const [assignmentGradeListGetStatus, setAssignmentGradeListGetStatus] = React.useState('idle');
|
|
32
|
+
const [assignmentGradeResultGetStatus, setAssignmentGradeResultGetStatus] = React.useState('idle');
|
|
33
|
+
const [assignmentSubmissionGetStatus, setAssignmentSubmissionGetStatus] = React.useState('idle');
|
|
34
|
+
const [materialAssignmentSubmission, setMaterialAssignmentSubmission] = React.useState();
|
|
35
|
+
const [materialAssignmentGradeResult, setMaterialAssignmentGradeResult] = React.useState();
|
|
36
|
+
const [materialAssignmentGradeList, setMaterialAssignmentGradeList] = React.useState();
|
|
81
37
|
/** Is confirm modal visible? */
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
var isAssignmentSubmitted = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.lastAssignmentSubmissionId);
|
|
87
|
-
var isAssignmentClosed = materialAssignment && Boolean(materialAssignment.closeDatetime < Date.now());
|
|
88
|
-
var isAssignmentResultVisible = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime);
|
|
38
|
+
const [showAssignmentSubmitModal, setShowAssignmentSubmitModal] = React.useState(false);
|
|
39
|
+
const isAssignmentSubmitted = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.lastAssignmentSubmissionId);
|
|
40
|
+
const isAssignmentClosed = materialAssignment && Boolean(materialAssignment.closeDatetime < Date.now());
|
|
41
|
+
const isAssignmentResultVisible = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime);
|
|
89
42
|
//
|
|
90
43
|
//
|
|
91
44
|
//
|
|
92
45
|
/**
|
|
93
46
|
* When Grade_result exist, a comment list is called.
|
|
94
47
|
*/
|
|
95
|
-
|
|
48
|
+
React.useEffect(() => {
|
|
96
49
|
if (!isReady) {
|
|
97
50
|
return;
|
|
98
51
|
}
|
|
@@ -103,16 +56,17 @@ var MaterialAssignmentContent = function MaterialAssignmentContent(_ref) {
|
|
|
103
56
|
apiClient.getOrgMaterialAssignmentGradeList({
|
|
104
57
|
offset: 0,
|
|
105
58
|
count: GRADE_LIST_COUNT,
|
|
106
|
-
materialAssignmentId
|
|
59
|
+
materialAssignmentId,
|
|
107
60
|
filterConditions: {
|
|
108
|
-
userId
|
|
61
|
+
userId
|
|
109
62
|
}
|
|
110
|
-
}).then(
|
|
111
|
-
|
|
112
|
-
|
|
63
|
+
}).then(({
|
|
64
|
+
materialAssignmentGrades,
|
|
65
|
+
materialAssignmentGradeCount
|
|
66
|
+
}) => {
|
|
113
67
|
setAssignmentGradeListGetStatus('resolved');
|
|
114
68
|
setMaterialAssignmentGradeList(materialAssignmentGrades);
|
|
115
|
-
}).catch(
|
|
69
|
+
}).catch(error => {
|
|
116
70
|
console.error(error);
|
|
117
71
|
setAssignmentGradeListGetStatus('rejected');
|
|
118
72
|
});
|
|
@@ -120,7 +74,7 @@ var MaterialAssignmentContent = function MaterialAssignmentContent(_ref) {
|
|
|
120
74
|
/**
|
|
121
75
|
* When Grade_result exist, a score is called.
|
|
122
76
|
*/
|
|
123
|
-
|
|
77
|
+
React.useEffect(() => {
|
|
124
78
|
if (!isReady) {
|
|
125
79
|
return;
|
|
126
80
|
}
|
|
@@ -129,13 +83,14 @@ var MaterialAssignmentContent = function MaterialAssignmentContent(_ref) {
|
|
|
129
83
|
}
|
|
130
84
|
setAssignmentGradeResultGetStatus('pending');
|
|
131
85
|
apiClient.getOrgMaterialAssignmentGradeResultGet({
|
|
132
|
-
materialAssignmentId
|
|
133
|
-
userId
|
|
134
|
-
}).then(
|
|
135
|
-
|
|
86
|
+
materialAssignmentId,
|
|
87
|
+
userId
|
|
88
|
+
}).then(({
|
|
89
|
+
materialAssignmentGradeResult
|
|
90
|
+
}) => {
|
|
136
91
|
setAssignmentGradeResultGetStatus('resolved');
|
|
137
92
|
setMaterialAssignmentGradeResult(materialAssignmentGradeResult);
|
|
138
|
-
}).catch(
|
|
93
|
+
}).catch(error => {
|
|
139
94
|
console.error(error);
|
|
140
95
|
setAssignmentGradeResultGetStatus('rejected');
|
|
141
96
|
});
|
|
@@ -143,7 +98,7 @@ var MaterialAssignmentContent = function MaterialAssignmentContent(_ref) {
|
|
|
143
98
|
/**
|
|
144
99
|
* Get information on the assignment submitted
|
|
145
100
|
*/
|
|
146
|
-
|
|
101
|
+
React.useEffect(() => {
|
|
147
102
|
var _a;
|
|
148
103
|
if (!isReady) {
|
|
149
104
|
return;
|
|
@@ -156,235 +111,183 @@ var MaterialAssignmentContent = function MaterialAssignmentContent(_ref) {
|
|
|
156
111
|
setAssignmentSubmissionGetStatus('pending');
|
|
157
112
|
apiClient.getOrgMaterialAssignmentSubmissionGet({
|
|
158
113
|
materialAssignmentSubmissionId: (_a = materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.lastAssignmentSubmissionId) !== null && _a !== void 0 ? _a : 0
|
|
159
|
-
}).then(
|
|
160
|
-
|
|
114
|
+
}).then(({
|
|
115
|
+
materialAssignmentSubmission
|
|
116
|
+
}) => {
|
|
161
117
|
setAssignmentSubmissionGetStatus('resolved');
|
|
162
118
|
setMaterialAssignmentSubmission(materialAssignmentSubmission);
|
|
163
|
-
}).catch(
|
|
119
|
+
}).catch(error => {
|
|
164
120
|
console.error(error);
|
|
165
121
|
setAssignmentSubmissionGetStatus('rejected');
|
|
166
122
|
setMaterialAssignmentSubmission(undefined);
|
|
167
123
|
});
|
|
168
124
|
}, [isAssignmentSubmitted, isReady, materialAssignment]);
|
|
169
125
|
if (assignmentGetStatus === 'pending' || assignmentGradeListGetStatus === 'pending' || assignmentGradeResultGetStatus === 'pending' || assignmentSubmissionGetStatus === 'pending') {
|
|
170
|
-
return
|
|
126
|
+
return React.createElement(blocks.Spinner, null);
|
|
171
127
|
}
|
|
172
128
|
if (!materialAssignment || assignmentGetStatus === 'rejected') {
|
|
173
|
-
return
|
|
174
|
-
role: "white"
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
});
|
|
129
|
+
return React.createElement(blocks.Text, {
|
|
130
|
+
role: "white"
|
|
131
|
+
}, intl.formatMessage({
|
|
132
|
+
id: 'materialAssignment.error'
|
|
133
|
+
}));
|
|
179
134
|
}
|
|
180
135
|
/**
|
|
181
136
|
*
|
|
182
137
|
*/
|
|
183
|
-
|
|
138
|
+
const renderAssignmentInfo = () => {
|
|
184
139
|
var _a;
|
|
185
|
-
|
|
186
|
-
|
|
140
|
+
const assignmentFilename = decodeURIComponent((materialAssignmentSubmission === null || materialAssignmentSubmission === void 0 ? void 0 : materialAssignmentSubmission.assignmentFileUrl) && new URL(materialAssignmentSubmission.assignmentFileUrl).pathname.split('/').pop() || '');
|
|
141
|
+
const renderAssignmentStatus = () => {
|
|
187
142
|
if (!isAssignmentSubmitted && isAssignmentClosed) {
|
|
188
|
-
return
|
|
143
|
+
return React.createElement(blocks.Text, {
|
|
189
144
|
bold: true,
|
|
190
145
|
role: "danger",
|
|
191
|
-
size: "small"
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
});
|
|
146
|
+
size: "small"
|
|
147
|
+
}, intl.formatMessage({
|
|
148
|
+
id: 'materialAssignment.status.deadlineExpired'
|
|
149
|
+
}));
|
|
196
150
|
}
|
|
197
151
|
if (isAssignmentResultVisible) {
|
|
198
|
-
return
|
|
152
|
+
return React.createElement(blocks.Text, {
|
|
199
153
|
bold: true,
|
|
200
154
|
role: "lightpurple",
|
|
201
|
-
size: "small"
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
});
|
|
155
|
+
size: "small"
|
|
156
|
+
}, intl.formatMessage({
|
|
157
|
+
id: 'materialAssignment.status.graded'
|
|
158
|
+
}));
|
|
206
159
|
}
|
|
207
160
|
if (isAssignmentSubmitted) {
|
|
208
|
-
return
|
|
161
|
+
return React.createElement(blocks.Text, {
|
|
209
162
|
bold: true,
|
|
210
163
|
role: "success",
|
|
211
|
-
size: "small"
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
});
|
|
164
|
+
size: "small"
|
|
165
|
+
}, intl.formatMessage({
|
|
166
|
+
id: 'materialAssignment.status.submitted'
|
|
167
|
+
}));
|
|
216
168
|
}
|
|
217
|
-
return
|
|
169
|
+
return React.createElement(blocks.Text, {
|
|
218
170
|
bold: true,
|
|
219
171
|
role: "warning",
|
|
220
|
-
size: "small"
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
});
|
|
172
|
+
size: "small"
|
|
173
|
+
}, intl.formatMessage({
|
|
174
|
+
id: 'materialAssignment.status.noSubmitted'
|
|
175
|
+
}));
|
|
225
176
|
};
|
|
226
|
-
|
|
177
|
+
const renderAssignmentScore = () => {
|
|
227
178
|
var _a;
|
|
228
|
-
return
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
width: 0.25
|
|
240
|
-
})]
|
|
241
|
-
});
|
|
179
|
+
return React.createElement(React.Fragment, null, React.createElement(blocks.Text, {
|
|
180
|
+
bold: true,
|
|
181
|
+
role: "white",
|
|
182
|
+
size: "small"
|
|
183
|
+
}, intl.formatMessage({
|
|
184
|
+
id: 'materialAssignment.table.column.score'
|
|
185
|
+
}, {
|
|
186
|
+
score: (_a = materialAssignmentGradeResult === null || materialAssignmentGradeResult === void 0 ? void 0 : materialAssignmentGradeResult.score) !== null && _a !== void 0 ? _a : '--'
|
|
187
|
+
})), React.createElement(blocks.Hspace, {
|
|
188
|
+
width: 0.25
|
|
189
|
+
}));
|
|
242
190
|
};
|
|
243
|
-
|
|
191
|
+
const renderAssignmentAttachment = () => {
|
|
244
192
|
if (materialAssignmentSubmission === null || materialAssignmentSubmission === void 0 ? void 0 : materialAssignmentSubmission.assignmentFileUrl) {
|
|
245
|
-
return
|
|
193
|
+
return React.createElement("a", {
|
|
246
194
|
href: materialAssignmentSubmission.assignmentFileUrl,
|
|
247
195
|
download: assignmentFilename,
|
|
248
196
|
target: "_blank",
|
|
249
|
-
rel: "noopener noreferrer"
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
})
|
|
257
|
-
});
|
|
197
|
+
rel: "noopener noreferrer"
|
|
198
|
+
}, React.createElement(blocks.Text, {
|
|
199
|
+
hoverable: true,
|
|
200
|
+
underline: true,
|
|
201
|
+
role: "white",
|
|
202
|
+
size: "small"
|
|
203
|
+
}, assignmentFilename));
|
|
258
204
|
}
|
|
259
205
|
if (materialAssignmentSubmission === null || materialAssignmentSubmission === void 0 ? void 0 : materialAssignmentSubmission.assignmentUrl) {
|
|
260
|
-
return
|
|
206
|
+
return React.createElement("a", {
|
|
261
207
|
href: materialAssignmentSubmission.assignmentUrl,
|
|
262
208
|
target: "_blank",
|
|
263
|
-
rel: "noopener noreferrer"
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
})
|
|
271
|
-
});
|
|
209
|
+
rel: "noopener noreferrer"
|
|
210
|
+
}, React.createElement(blocks.Text, {
|
|
211
|
+
hoverable: true,
|
|
212
|
+
underline: true,
|
|
213
|
+
role: "white",
|
|
214
|
+
size: "small"
|
|
215
|
+
}, materialAssignmentSubmission.assignmentUrl));
|
|
272
216
|
}
|
|
273
217
|
return '--';
|
|
274
218
|
};
|
|
275
|
-
return
|
|
276
|
-
dark: true
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
}), jsxRuntime.jsx("td", {
|
|
317
|
-
children: jsxRuntime.jsxs("div", {
|
|
318
|
-
children: [renderAssignmentAttachment(), jsxRuntime.jsx(blocks.Vspace, {
|
|
319
|
-
height: 0.75
|
|
320
|
-
}), jsxRuntime.jsx(StyledUploadButton, {
|
|
321
|
-
size: "tiny",
|
|
322
|
-
role: "lightpurple",
|
|
323
|
-
disabled: [isAssignmentResultVisible, !materialAssignment.isResubmitEnabled && isAssignmentSubmitted, isAssignmentClosed].some(Boolean),
|
|
324
|
-
onClick: function onClick() {
|
|
325
|
-
return setShowAssignmentSubmitModal(true);
|
|
326
|
-
},
|
|
327
|
-
children: intl$1.formatMessage({
|
|
328
|
-
id: 'materialAssignment.button.upload'
|
|
329
|
-
})
|
|
330
|
-
})]
|
|
331
|
-
})
|
|
332
|
-
})]
|
|
333
|
-
}), jsxRuntime.jsxs("tr", {
|
|
334
|
-
children: [jsxRuntime.jsx(StyledTableHeaderCell, {
|
|
335
|
-
children: intl$1.formatMessage({
|
|
336
|
-
id: 'materialAssignment.table.column.assignmentScore'
|
|
337
|
-
})
|
|
338
|
-
}), jsxRuntime.jsxs("td", {
|
|
339
|
-
children: [renderAssignmentScore(), jsxRuntime.jsx(StyledTotalPointText, {
|
|
340
|
-
role: "navy4",
|
|
341
|
-
size: "small",
|
|
342
|
-
children: intl$1.formatMessage({
|
|
343
|
-
id: 'materialAssignment.table.column.totalPoint'
|
|
344
|
-
}, {
|
|
345
|
-
point: (_a = materialLecturePage === null || materialLecturePage === void 0 ? void 0 : materialLecturePage.point) !== null && _a !== void 0 ? _a : '--'
|
|
346
|
-
})
|
|
347
|
-
})]
|
|
348
|
-
})]
|
|
349
|
-
})]
|
|
350
|
-
})
|
|
351
|
-
});
|
|
219
|
+
return React.createElement(blocks.InfoTable, {
|
|
220
|
+
dark: true
|
|
221
|
+
}, React.createElement("tbody", null, React.createElement("tr", null, React.createElement("td", {
|
|
222
|
+
style: {
|
|
223
|
+
width: '19%'
|
|
224
|
+
}
|
|
225
|
+
}, intl.formatMessage({
|
|
226
|
+
id: 'materialAssignment.table.column.status'
|
|
227
|
+
})), React.createElement("td", null, renderAssignmentStatus())), React.createElement("tr", null, React.createElement("td", null, intl.formatMessage({
|
|
228
|
+
id: 'materialAssignment.table.column.deadlineDatetime'
|
|
229
|
+
})), React.createElement("td", null, React.createElement(reactIntl.FormattedDate, {
|
|
230
|
+
value: materialAssignment.closeDatetime,
|
|
231
|
+
dateStyle: "medium",
|
|
232
|
+
timeStyle: "short"
|
|
233
|
+
}))), React.createElement("tr", null, React.createElement("td", null, intl.formatMessage({
|
|
234
|
+
id: 'materialAssignment.table.column.lastSubmitDatetime'
|
|
235
|
+
})), React.createElement("td", null, (materialAssignmentSubmission === null || materialAssignmentSubmission === void 0 ? void 0 : materialAssignmentSubmission.createdDatetime) ? React.createElement(reactIntl.FormattedDate, {
|
|
236
|
+
value: materialAssignmentSubmission.createdDatetime,
|
|
237
|
+
dateStyle: "medium",
|
|
238
|
+
timeStyle: "short"
|
|
239
|
+
}) : '--')), React.createElement("tr", null, React.createElement("td", null, intl.formatMessage({
|
|
240
|
+
id: 'materialAssignment.table.column.uploadedFile'
|
|
241
|
+
})), React.createElement("td", null, React.createElement("div", null, renderAssignmentAttachment(), React.createElement(blocks.Vspace, {
|
|
242
|
+
height: 0.75
|
|
243
|
+
}), React.createElement(blocks.Button, {
|
|
244
|
+
size: "tiny",
|
|
245
|
+
role: "lightpurple",
|
|
246
|
+
disabled: [isAssignmentResultVisible, !materialAssignment.isResubmitEnabled && isAssignmentSubmitted, isAssignmentClosed].some(Boolean),
|
|
247
|
+
onClick: () => setShowAssignmentSubmitModal(true)
|
|
248
|
+
}, intl.formatMessage({
|
|
249
|
+
id: 'materialAssignment.button.upload'
|
|
250
|
+
}))))), React.createElement("tr", null, React.createElement("td", null, intl.formatMessage({
|
|
251
|
+
id: 'materialAssignment.table.column.assignmentScore'
|
|
252
|
+
})), React.createElement("td", null, renderAssignmentScore(), React.createElement(blocks.Text, {
|
|
253
|
+
role: "navy4",
|
|
254
|
+
size: "small"
|
|
255
|
+
}, intl.formatMessage({
|
|
256
|
+
id: 'materialAssignment.table.column.totalPoint'
|
|
257
|
+
}, {
|
|
258
|
+
point: (_a = materialLecturePage === null || materialLecturePage === void 0 ? void 0 : materialLecturePage.point) !== null && _a !== void 0 ? _a : '--'
|
|
259
|
+
}))))));
|
|
352
260
|
};
|
|
353
261
|
/**
|
|
354
262
|
*
|
|
355
263
|
*/
|
|
356
|
-
|
|
264
|
+
const renderAssignmentFeedback = () => {
|
|
357
265
|
var _a;
|
|
358
|
-
|
|
359
|
-
Header: intl
|
|
266
|
+
const tableColumns = [{
|
|
267
|
+
Header: intl.formatMessage({
|
|
360
268
|
id: 'materialAssignment.table.header.index'
|
|
361
269
|
}),
|
|
362
270
|
accessor: 'index',
|
|
363
271
|
width: 50
|
|
364
272
|
}, {
|
|
365
|
-
Header: intl
|
|
273
|
+
Header: intl.formatMessage({
|
|
366
274
|
id: 'materialAssignment.table.header.feedback'
|
|
367
275
|
}),
|
|
368
276
|
accessor: 'feedback'
|
|
369
277
|
}];
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
children: grade.comment
|
|
380
|
-
})
|
|
381
|
-
};
|
|
382
|
-
})) !== null && _a !== void 0 ? _a : [];
|
|
383
|
-
return jsxRuntime.jsx(blocks.TableNext, {
|
|
278
|
+
const tableData = (_a = materialAssignmentGradeList === null || materialAssignmentGradeList === void 0 ? void 0 : materialAssignmentGradeList.filter(grade => grade.comment.length).map((grade, index) => ({
|
|
279
|
+
index: index + 1,
|
|
280
|
+
feedback: React.createElement(blocks.Text, {
|
|
281
|
+
preWrap: true,
|
|
282
|
+
size: "small",
|
|
283
|
+
role: "navy1"
|
|
284
|
+
}, grade.comment)
|
|
285
|
+
}))) !== null && _a !== void 0 ? _a : [];
|
|
286
|
+
return React.createElement(blocks.TableNext, {
|
|
384
287
|
dark: true,
|
|
385
288
|
columns: tableColumns,
|
|
386
289
|
data: tableData,
|
|
387
|
-
emptyMessage: intl
|
|
290
|
+
emptyMessage: intl.formatMessage({
|
|
388
291
|
id: isAssignmentResultVisible ? 'materialAssignment.table.empty.noFeedback' : 'materialAssignment.table.empty.noAssignment'
|
|
389
292
|
})
|
|
390
293
|
});
|
|
@@ -392,54 +295,47 @@ var MaterialAssignmentContent = function MaterialAssignmentContent(_ref) {
|
|
|
392
295
|
/**
|
|
393
296
|
*
|
|
394
297
|
*/
|
|
395
|
-
|
|
298
|
+
const renderAssignmentUploadModal = () => {
|
|
396
299
|
if (!showAssignmentSubmitModal) {
|
|
397
300
|
return null;
|
|
398
301
|
}
|
|
399
|
-
return
|
|
302
|
+
return React.createElement(MaterialAssignmentUploadModal.default, {
|
|
400
303
|
materialAssignment: materialAssignment,
|
|
401
|
-
onClose:
|
|
402
|
-
return setShowAssignmentSubmitModal(false);
|
|
403
|
-
},
|
|
304
|
+
onClose: () => setShowAssignmentSubmitModal(false),
|
|
404
305
|
onSubmitCallback: doGetOrgMaterialAssignmentGet
|
|
405
306
|
});
|
|
406
307
|
};
|
|
407
|
-
return
|
|
408
|
-
title: materialAssignment.title
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
})
|
|
439
|
-
}), jsxRuntime.jsx(blocks.Vspace, {
|
|
440
|
-
height: 0.75
|
|
441
|
-
}), renderAssignmentFeedback(), renderAssignmentUploadModal()]
|
|
442
|
-
});
|
|
308
|
+
return React.createElement(MaterialAssignmentContainer.default, {
|
|
309
|
+
title: materialAssignment.title
|
|
310
|
+
}, React.createElement(blocks.Text, {
|
|
311
|
+
bold: true,
|
|
312
|
+
block: true,
|
|
313
|
+
role: "white"
|
|
314
|
+
}, intl.formatMessage({
|
|
315
|
+
id: 'materialAssignment.label.general'
|
|
316
|
+
})), React.createElement(blocks.Text, {
|
|
317
|
+
role: "navy3",
|
|
318
|
+
size: "tiny"
|
|
319
|
+
}, intl.formatMessage({
|
|
320
|
+
id: 'materialAssignment.description.general'
|
|
321
|
+
})), React.createElement(blocks.Vspace, {
|
|
322
|
+
height: 0.75
|
|
323
|
+
}), renderAssignmentInfo(), React.createElement(blocks.Vspace, {
|
|
324
|
+
height: 1.5
|
|
325
|
+
}), React.createElement(blocks.Text, {
|
|
326
|
+
bold: true,
|
|
327
|
+
block: true,
|
|
328
|
+
role: "white"
|
|
329
|
+
}, intl.formatMessage({
|
|
330
|
+
id: 'materialAssignment.label.feedback'
|
|
331
|
+
})), React.createElement(blocks.Text, {
|
|
332
|
+
role: "navy3",
|
|
333
|
+
size: "tiny"
|
|
334
|
+
}, intl.formatMessage({
|
|
335
|
+
id: 'materialAssignment.description.feedback'
|
|
336
|
+
})), React.createElement(blocks.Vspace, {
|
|
337
|
+
height: 0.75
|
|
338
|
+
}), renderAssignmentFeedback(), renderAssignmentUploadModal());
|
|
443
339
|
};
|
|
444
340
|
|
|
445
341
|
exports.default = MaterialAssignmentContent;
|