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