@elice/material-assignment 1.230222.0 → 1.230306.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -5,6 +5,7 @@ var reactIntl = require('react-intl');
|
|
|
5
5
|
var apiClient = require('@elice/api-client');
|
|
6
6
|
var blocks = require('@elice/blocks');
|
|
7
7
|
var materialSharedUtils = require('@elice/material-shared-utils');
|
|
8
|
+
var types = require('@elice/types');
|
|
8
9
|
var MaterialAssignmentContainer = require('../shared/MaterialAssignmentContainer.js');
|
|
9
10
|
var MaterialAssignmentUploadModal = require('./MaterialAssignmentUploadModal.js');
|
|
10
11
|
|
|
@@ -19,11 +20,20 @@ const MaterialAssignmentContent = ({
|
|
|
19
20
|
userId
|
|
20
21
|
}) => {
|
|
21
22
|
const intl = reactIntl.useIntl();
|
|
22
|
-
const
|
|
23
|
+
const isReady = materialSharedUtils.useMaterialConfigApiClientUpdate(apiClient.config.init);
|
|
24
|
+
const {
|
|
25
|
+
materialAssignment,
|
|
26
|
+
materialLecturePage,
|
|
27
|
+
status: assignmentGetStatus,
|
|
28
|
+
refetch: doGetOrgMaterialAssignmentGet
|
|
29
|
+
} = materialSharedUtils.useMaterialFetchRaw(types.enums.LectureMaterialType.Assignment, React__default["default"].useCallback(signal => apiClient.getOrgMaterialAssignmentGet({
|
|
30
|
+
materialAssignmentId
|
|
31
|
+
}, {
|
|
32
|
+
signal
|
|
33
|
+
}), [materialAssignmentId]), isReady);
|
|
23
34
|
const [assignmentGradeListGetStatus, setAssignmentGradeListGetStatus] = React__default["default"].useState('idle');
|
|
24
35
|
const [assignmentGradeResultGetStatus, setAssignmentGradeResultGetStatus] = React__default["default"].useState('idle');
|
|
25
36
|
const [assignmentSubmissionGetStatus, setAssignmentSubmissionGetStatus] = React__default["default"].useState('idle');
|
|
26
|
-
const [materialAssignment, setMaterialAssignment] = React__default["default"].useState();
|
|
27
37
|
const [materialAssignmentSubmission, setMaterialAssignmentSubmission] = React__default["default"].useState();
|
|
28
38
|
const [materialAssignmentGradeResult, setMaterialAssignmentGradeResult] = React__default["default"].useState();
|
|
29
39
|
const [materialAssignmentGradeList, setMaterialAssignmentGradeList] = React__default["default"].useState();
|
|
@@ -32,40 +42,10 @@ const MaterialAssignmentContent = ({
|
|
|
32
42
|
const [showAssignmentSubmitModal, setShowAssignmentSubmitModal] = React__default["default"].useState(false);
|
|
33
43
|
const isAssignmentSubmitted = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.lastAssignmentSubmissionId);
|
|
34
44
|
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]); //
|
|
45
|
+
const isAssignmentResultVisible = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime); //
|
|
55
46
|
//
|
|
56
47
|
//
|
|
57
48
|
|
|
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
49
|
/**
|
|
70
50
|
* When Grade_result exist, a comment list is called.
|
|
71
51
|
*/
|
|
@@ -174,6 +154,8 @@ const MaterialAssignmentContent = ({
|
|
|
174
154
|
|
|
175
155
|
|
|
176
156
|
const renderAssignmentInfo = () => {
|
|
157
|
+
var _a;
|
|
158
|
+
|
|
177
159
|
const assignmentFilename = decodeURIComponent((materialAssignmentSubmission === null || materialAssignmentSubmission === void 0 ? void 0 : materialAssignmentSubmission.assignmentFileUrl) && new URL(materialAssignmentSubmission.assignmentFileUrl).pathname.split('/').pop() || '');
|
|
178
160
|
|
|
179
161
|
const renderAssignmentStatus = () => {
|
|
@@ -304,7 +286,7 @@ const MaterialAssignmentContent = ({
|
|
|
304
286
|
}, intl.formatMessage({
|
|
305
287
|
id: 'materialAssignment.table.column.totalPoint'
|
|
306
288
|
}, {
|
|
307
|
-
point:
|
|
289
|
+
point: (_a = materialLecturePage === null || materialLecturePage === void 0 ? void 0 : materialLecturePage.point) !== null && _a !== void 0 ? _a : '--'
|
|
308
290
|
}))))));
|
|
309
291
|
};
|
|
310
292
|
/**
|
|
@@ -2,7 +2,8 @@ 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
|
+
import { enums } from '@elice/types';
|
|
6
7
|
import MaterialAssignmentContainer from '../shared/MaterialAssignmentContainer.js';
|
|
7
8
|
import MaterialAssignmentUploadModal from './MaterialAssignmentUploadModal.js';
|
|
8
9
|
|
|
@@ -13,11 +14,20 @@ const MaterialAssignmentContent = ({
|
|
|
13
14
|
userId
|
|
14
15
|
}) => {
|
|
15
16
|
const intl = useIntl();
|
|
16
|
-
const
|
|
17
|
+
const isReady = useMaterialConfigApiClientUpdate(config.init);
|
|
18
|
+
const {
|
|
19
|
+
materialAssignment,
|
|
20
|
+
materialLecturePage,
|
|
21
|
+
status: assignmentGetStatus,
|
|
22
|
+
refetch: doGetOrgMaterialAssignmentGet
|
|
23
|
+
} = useMaterialFetchRaw(enums.LectureMaterialType.Assignment, React.useCallback(signal => getOrgMaterialAssignmentGet({
|
|
24
|
+
materialAssignmentId
|
|
25
|
+
}, {
|
|
26
|
+
signal
|
|
27
|
+
}), [materialAssignmentId]), isReady);
|
|
17
28
|
const [assignmentGradeListGetStatus, setAssignmentGradeListGetStatus] = React.useState('idle');
|
|
18
29
|
const [assignmentGradeResultGetStatus, setAssignmentGradeResultGetStatus] = React.useState('idle');
|
|
19
30
|
const [assignmentSubmissionGetStatus, setAssignmentSubmissionGetStatus] = React.useState('idle');
|
|
20
|
-
const [materialAssignment, setMaterialAssignment] = React.useState();
|
|
21
31
|
const [materialAssignmentSubmission, setMaterialAssignmentSubmission] = React.useState();
|
|
22
32
|
const [materialAssignmentGradeResult, setMaterialAssignmentGradeResult] = React.useState();
|
|
23
33
|
const [materialAssignmentGradeList, setMaterialAssignmentGradeList] = React.useState();
|
|
@@ -26,40 +36,10 @@ const MaterialAssignmentContent = ({
|
|
|
26
36
|
const [showAssignmentSubmitModal, setShowAssignmentSubmitModal] = React.useState(false);
|
|
27
37
|
const isAssignmentSubmitted = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.lastAssignmentSubmissionId);
|
|
28
38
|
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]); //
|
|
39
|
+
const isAssignmentResultVisible = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime); //
|
|
49
40
|
//
|
|
50
41
|
//
|
|
51
42
|
|
|
52
|
-
/**
|
|
53
|
-
* Get assignment info
|
|
54
|
-
*/
|
|
55
|
-
|
|
56
|
-
React.useEffect(() => {
|
|
57
|
-
if (!isReady) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
void doGetOrgMaterialAssignmentGet();
|
|
62
|
-
}, [doGetOrgMaterialAssignmentGet, isReady]);
|
|
63
43
|
/**
|
|
64
44
|
* When Grade_result exist, a comment list is called.
|
|
65
45
|
*/
|
|
@@ -168,6 +148,8 @@ const MaterialAssignmentContent = ({
|
|
|
168
148
|
|
|
169
149
|
|
|
170
150
|
const renderAssignmentInfo = () => {
|
|
151
|
+
var _a;
|
|
152
|
+
|
|
171
153
|
const assignmentFilename = decodeURIComponent((materialAssignmentSubmission === null || materialAssignmentSubmission === void 0 ? void 0 : materialAssignmentSubmission.assignmentFileUrl) && new URL(materialAssignmentSubmission.assignmentFileUrl).pathname.split('/').pop() || '');
|
|
172
154
|
|
|
173
155
|
const renderAssignmentStatus = () => {
|
|
@@ -298,7 +280,7 @@ const MaterialAssignmentContent = ({
|
|
|
298
280
|
}, intl.formatMessage({
|
|
299
281
|
id: 'materialAssignment.table.column.totalPoint'
|
|
300
282
|
}, {
|
|
301
|
-
point:
|
|
283
|
+
point: (_a = materialLecturePage === null || materialLecturePage === void 0 ? void 0 : materialLecturePage.point) !== null && _a !== void 0 ? _a : '--'
|
|
302
284
|
}))))));
|
|
303
285
|
};
|
|
304
286
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elice/material-assignment",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.230306.1",
|
|
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.230306.0",
|
|
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.230306.0",
|
|
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.230306.0",
|
|
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.230306.1",
|
|
59
|
+
"@elice/material-shared-utils": "1.230306.1",
|
|
60
|
+
"@elice/types": "^1.230306.0",
|
|
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": "d834b422afcf3ed40499a3c169465a30aaa622e4"
|
|
70
70
|
}
|