@elice/material-assignment 1.230210.0 → 1.230217.0-sepmatlec.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.
|
@@ -19,11 +19,20 @@ const MaterialAssignmentContent = ({
|
|
|
19
19
|
userId
|
|
20
20
|
}) => {
|
|
21
21
|
const intl = reactIntl.useIntl();
|
|
22
|
-
const
|
|
22
|
+
const isReady = materialSharedUtils.useMaterialConfigApiClientUpdate(apiClient.config.init);
|
|
23
|
+
const {
|
|
24
|
+
materialAssignment,
|
|
25
|
+
materialLecturePage,
|
|
26
|
+
status: assignmentGetStatus,
|
|
27
|
+
refetch: doGetOrgMaterialAssignmentGet
|
|
28
|
+
} = materialSharedUtils.useMaterialFetchRaw('materialAssignment', React__default["default"].useCallback(signal => apiClient.getOrgMaterialAssignmentGet({
|
|
29
|
+
materialAssignmentId
|
|
30
|
+
}, {
|
|
31
|
+
signal
|
|
32
|
+
}), [materialAssignmentId]), isReady);
|
|
23
33
|
const [assignmentGradeListGetStatus, setAssignmentGradeListGetStatus] = React__default["default"].useState('idle');
|
|
24
34
|
const [assignmentGradeResultGetStatus, setAssignmentGradeResultGetStatus] = React__default["default"].useState('idle');
|
|
25
35
|
const [assignmentSubmissionGetStatus, setAssignmentSubmissionGetStatus] = React__default["default"].useState('idle');
|
|
26
|
-
const [materialAssignment, setMaterialAssignment] = React__default["default"].useState();
|
|
27
36
|
const [materialAssignmentSubmission, setMaterialAssignmentSubmission] = React__default["default"].useState();
|
|
28
37
|
const [materialAssignmentGradeResult, setMaterialAssignmentGradeResult] = React__default["default"].useState();
|
|
29
38
|
const [materialAssignmentGradeList, setMaterialAssignmentGradeList] = React__default["default"].useState();
|
|
@@ -32,40 +41,10 @@ const MaterialAssignmentContent = ({
|
|
|
32
41
|
const [showAssignmentSubmitModal, setShowAssignmentSubmitModal] = React__default["default"].useState(false);
|
|
33
42
|
const isAssignmentSubmitted = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.lastAssignmentSubmissionId);
|
|
34
43
|
const isAssignmentClosed = materialAssignment && Boolean(materialAssignment.closeDatetime < Date.now());
|
|
35
|
-
const isAssignmentResultVisible = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime);
|
|
36
|
-
const isReady = materialSharedUtils.useMaterialConfigApiClientUpdate(apiClient.config.init);
|
|
37
|
-
/**
|
|
38
|
-
*
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
|
-
const doGetOrgMaterialAssignmentGet = React__default["default"].useCallback(() => {
|
|
42
|
-
setAssignmentGetStatus('pending');
|
|
43
|
-
return apiClient.getOrgMaterialAssignmentGet({
|
|
44
|
-
materialAssignmentId
|
|
45
|
-
}).then(({
|
|
46
|
-
materialAssignment
|
|
47
|
-
}) => {
|
|
48
|
-
setAssignmentGetStatus('resolved');
|
|
49
|
-
setMaterialAssignment(materialAssignment);
|
|
50
|
-
}).catch(error => {
|
|
51
|
-
setAssignmentGetStatus('rejected');
|
|
52
|
-
console.error(error);
|
|
53
|
-
});
|
|
54
|
-
}, [materialAssignmentId]); //
|
|
44
|
+
const isAssignmentResultVisible = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime); //
|
|
55
45
|
//
|
|
56
46
|
//
|
|
57
47
|
|
|
58
|
-
/**
|
|
59
|
-
* Get assignment info
|
|
60
|
-
*/
|
|
61
|
-
|
|
62
|
-
React__default["default"].useEffect(() => {
|
|
63
|
-
if (!isReady) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
void doGetOrgMaterialAssignmentGet();
|
|
68
|
-
}, [doGetOrgMaterialAssignmentGet, isReady]);
|
|
69
48
|
/**
|
|
70
49
|
* When Grade_result exist, a comment list is called.
|
|
71
50
|
*/
|
|
@@ -174,6 +153,8 @@ const MaterialAssignmentContent = ({
|
|
|
174
153
|
|
|
175
154
|
|
|
176
155
|
const renderAssignmentInfo = () => {
|
|
156
|
+
var _a;
|
|
157
|
+
|
|
177
158
|
const assignmentFilename = decodeURIComponent((materialAssignmentSubmission === null || materialAssignmentSubmission === void 0 ? void 0 : materialAssignmentSubmission.assignmentFileUrl) && new URL(materialAssignmentSubmission.assignmentFileUrl).pathname.split('/').pop() || '');
|
|
178
159
|
|
|
179
160
|
const renderAssignmentStatus = () => {
|
|
@@ -304,7 +285,7 @@ const MaterialAssignmentContent = ({
|
|
|
304
285
|
}, intl.formatMessage({
|
|
305
286
|
id: 'materialAssignment.table.column.totalPoint'
|
|
306
287
|
}, {
|
|
307
|
-
point:
|
|
288
|
+
point: (_a = materialLecturePage === null || materialLecturePage === void 0 ? void 0 : materialLecturePage.point) !== null && _a !== void 0 ? _a : '--'
|
|
308
289
|
}))))));
|
|
309
290
|
};
|
|
310
291
|
/**
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { useIntl, FormattedDate } from 'react-intl';
|
|
3
3
|
import { config, getOrgMaterialAssignmentGet, getOrgMaterialAssignmentGradeList, getOrgMaterialAssignmentGradeResultGet, getOrgMaterialAssignmentSubmissionGet } from '@elice/api-client';
|
|
4
4
|
import { Spinner, Text, Vspace, InfoTable, Button, TableNext, Hspace } from '@elice/blocks';
|
|
5
|
-
import { useMaterialConfigApiClientUpdate } from '@elice/material-shared-utils';
|
|
5
|
+
import { useMaterialConfigApiClientUpdate, useMaterialFetchRaw } from '@elice/material-shared-utils';
|
|
6
6
|
import MaterialAssignmentContainer from '../shared/MaterialAssignmentContainer.js';
|
|
7
7
|
import MaterialAssignmentUploadModal from './MaterialAssignmentUploadModal.js';
|
|
8
8
|
|
|
@@ -13,11 +13,20 @@ const MaterialAssignmentContent = ({
|
|
|
13
13
|
userId
|
|
14
14
|
}) => {
|
|
15
15
|
const intl = useIntl();
|
|
16
|
-
const
|
|
16
|
+
const isReady = useMaterialConfigApiClientUpdate(config.init);
|
|
17
|
+
const {
|
|
18
|
+
materialAssignment,
|
|
19
|
+
materialLecturePage,
|
|
20
|
+
status: assignmentGetStatus,
|
|
21
|
+
refetch: doGetOrgMaterialAssignmentGet
|
|
22
|
+
} = useMaterialFetchRaw('materialAssignment', React.useCallback(signal => getOrgMaterialAssignmentGet({
|
|
23
|
+
materialAssignmentId
|
|
24
|
+
}, {
|
|
25
|
+
signal
|
|
26
|
+
}), [materialAssignmentId]), isReady);
|
|
17
27
|
const [assignmentGradeListGetStatus, setAssignmentGradeListGetStatus] = React.useState('idle');
|
|
18
28
|
const [assignmentGradeResultGetStatus, setAssignmentGradeResultGetStatus] = React.useState('idle');
|
|
19
29
|
const [assignmentSubmissionGetStatus, setAssignmentSubmissionGetStatus] = React.useState('idle');
|
|
20
|
-
const [materialAssignment, setMaterialAssignment] = React.useState();
|
|
21
30
|
const [materialAssignmentSubmission, setMaterialAssignmentSubmission] = React.useState();
|
|
22
31
|
const [materialAssignmentGradeResult, setMaterialAssignmentGradeResult] = React.useState();
|
|
23
32
|
const [materialAssignmentGradeList, setMaterialAssignmentGradeList] = React.useState();
|
|
@@ -26,40 +35,10 @@ const MaterialAssignmentContent = ({
|
|
|
26
35
|
const [showAssignmentSubmitModal, setShowAssignmentSubmitModal] = React.useState(false);
|
|
27
36
|
const isAssignmentSubmitted = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.lastAssignmentSubmissionId);
|
|
28
37
|
const isAssignmentClosed = materialAssignment && Boolean(materialAssignment.closeDatetime < Date.now());
|
|
29
|
-
const isAssignmentResultVisible = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime);
|
|
30
|
-
const isReady = useMaterialConfigApiClientUpdate(config.init);
|
|
31
|
-
/**
|
|
32
|
-
*
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
const doGetOrgMaterialAssignmentGet = React.useCallback(() => {
|
|
36
|
-
setAssignmentGetStatus('pending');
|
|
37
|
-
return getOrgMaterialAssignmentGet({
|
|
38
|
-
materialAssignmentId
|
|
39
|
-
}).then(({
|
|
40
|
-
materialAssignment
|
|
41
|
-
}) => {
|
|
42
|
-
setAssignmentGetStatus('resolved');
|
|
43
|
-
setMaterialAssignment(materialAssignment);
|
|
44
|
-
}).catch(error => {
|
|
45
|
-
setAssignmentGetStatus('rejected');
|
|
46
|
-
console.error(error);
|
|
47
|
-
});
|
|
48
|
-
}, [materialAssignmentId]); //
|
|
38
|
+
const isAssignmentResultVisible = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime); //
|
|
49
39
|
//
|
|
50
40
|
//
|
|
51
41
|
|
|
52
|
-
/**
|
|
53
|
-
* Get assignment info
|
|
54
|
-
*/
|
|
55
|
-
|
|
56
|
-
React.useEffect(() => {
|
|
57
|
-
if (!isReady) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
void doGetOrgMaterialAssignmentGet();
|
|
62
|
-
}, [doGetOrgMaterialAssignmentGet, isReady]);
|
|
63
42
|
/**
|
|
64
43
|
* When Grade_result exist, a comment list is called.
|
|
65
44
|
*/
|
|
@@ -168,6 +147,8 @@ const MaterialAssignmentContent = ({
|
|
|
168
147
|
|
|
169
148
|
|
|
170
149
|
const renderAssignmentInfo = () => {
|
|
150
|
+
var _a;
|
|
151
|
+
|
|
171
152
|
const assignmentFilename = decodeURIComponent((materialAssignmentSubmission === null || materialAssignmentSubmission === void 0 ? void 0 : materialAssignmentSubmission.assignmentFileUrl) && new URL(materialAssignmentSubmission.assignmentFileUrl).pathname.split('/').pop() || '');
|
|
172
153
|
|
|
173
154
|
const renderAssignmentStatus = () => {
|
|
@@ -298,7 +279,7 @@ const MaterialAssignmentContent = ({
|
|
|
298
279
|
}, intl.formatMessage({
|
|
299
280
|
id: 'materialAssignment.table.column.totalPoint'
|
|
300
281
|
}, {
|
|
301
|
-
point:
|
|
282
|
+
point: (_a = materialLecturePage === null || materialLecturePage === void 0 ? void 0 : materialLecturePage.point) !== null && _a !== void 0 ? _a : '--'
|
|
302
283
|
}))))));
|
|
303
284
|
};
|
|
304
285
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elice/material-assignment",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.230217.0-sepmatlec.0",
|
|
4
4
|
"description": "User view and editing components of Elice material assignment",
|
|
5
5
|
"repository": "https://git.elicer.io/elice/frontend/library/elice-material",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
"clean": "del-cli \"es/*\" \"cjs/*\" \"dist/*\""
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
|
-
"@elice/api-client": "1.
|
|
32
|
+
"@elice/api-client": "1.230126.0-sepmatlec.3",
|
|
33
33
|
"@elice/blocks": "^1.220803.0",
|
|
34
34
|
"@elice/design-tokens": "^1.220803.0",
|
|
35
35
|
"@elice/icons": "^1.220803.0",
|
|
36
36
|
"@elice/markdown": "^1.220803.0",
|
|
37
37
|
"@elice/material-shared-types": "*",
|
|
38
38
|
"@elice/material-shared-utils": "*",
|
|
39
|
-
"@elice/types": "1.
|
|
39
|
+
"@elice/types": "1.230126.0-sepmatlec.3",
|
|
40
40
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
41
41
|
"react-intl": "^5.0.0",
|
|
42
42
|
"react-use": "^17.0.0",
|
|
@@ -49,15 +49,15 @@
|
|
|
49
49
|
"tslib": "^2.3.1"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@elice/api-client": "1.
|
|
52
|
+
"@elice/api-client": "1.230126.0-sepmatlec.3",
|
|
53
53
|
"@elice/blocks": "^1.220803.0",
|
|
54
54
|
"@elice/design-tokens": "^1.220803.0",
|
|
55
55
|
"@elice/icons": "^1.220803.0",
|
|
56
56
|
"@elice/icons-legacy": "npm:@elice/icons@0.220803.1",
|
|
57
57
|
"@elice/markdown": "^1.220803.0",
|
|
58
|
-
"@elice/material-shared-types": "1.
|
|
59
|
-
"@elice/material-shared-utils": "1.
|
|
60
|
-
"@elice/types": "1.
|
|
58
|
+
"@elice/material-shared-types": "1.230217.0-sepmatlec.0",
|
|
59
|
+
"@elice/material-shared-utils": "1.230217.0-sepmatlec.0",
|
|
60
|
+
"@elice/types": "1.230126.0-sepmatlec.3",
|
|
61
61
|
"@types/classnames": "^2.3.1",
|
|
62
62
|
"@types/react": "~17.0.9",
|
|
63
63
|
"@types/styled-components": "^5.1.21",
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
"react-use": "^17.2.4",
|
|
67
67
|
"styled-components": "^5.3.0"
|
|
68
68
|
},
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "6b2a7a2aa54b21685ea99f8bb5f240cdfd1b343a"
|
|
70
70
|
}
|