@elice/material-assignment 1.230217.0-sepmatlec.3 → 1.230220.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.
|
@@ -5,7 +5,6 @@ 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');
|
|
9
8
|
var MaterialAssignmentContainer = require('../shared/MaterialAssignmentContainer.js');
|
|
10
9
|
var MaterialAssignmentUploadModal = require('./MaterialAssignmentUploadModal.js');
|
|
11
10
|
|
|
@@ -20,20 +19,11 @@ const MaterialAssignmentContent = ({
|
|
|
20
19
|
userId
|
|
21
20
|
}) => {
|
|
22
21
|
const intl = reactIntl.useIntl();
|
|
23
|
-
const
|
|
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);
|
|
22
|
+
const [assignmentGetStatus, setAssignmentGetStatus] = React__default["default"].useState('idle');
|
|
34
23
|
const [assignmentGradeListGetStatus, setAssignmentGradeListGetStatus] = React__default["default"].useState('idle');
|
|
35
24
|
const [assignmentGradeResultGetStatus, setAssignmentGradeResultGetStatus] = React__default["default"].useState('idle');
|
|
36
25
|
const [assignmentSubmissionGetStatus, setAssignmentSubmissionGetStatus] = React__default["default"].useState('idle');
|
|
26
|
+
const [materialAssignment, setMaterialAssignment] = React__default["default"].useState();
|
|
37
27
|
const [materialAssignmentSubmission, setMaterialAssignmentSubmission] = React__default["default"].useState();
|
|
38
28
|
const [materialAssignmentGradeResult, setMaterialAssignmentGradeResult] = React__default["default"].useState();
|
|
39
29
|
const [materialAssignmentGradeList, setMaterialAssignmentGradeList] = React__default["default"].useState();
|
|
@@ -42,10 +32,40 @@ const MaterialAssignmentContent = ({
|
|
|
42
32
|
const [showAssignmentSubmitModal, setShowAssignmentSubmitModal] = React__default["default"].useState(false);
|
|
43
33
|
const isAssignmentSubmitted = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.lastAssignmentSubmissionId);
|
|
44
34
|
const isAssignmentClosed = materialAssignment && Boolean(materialAssignment.closeDatetime < Date.now());
|
|
45
|
-
const isAssignmentResultVisible = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime);
|
|
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]); //
|
|
46
55
|
//
|
|
47
56
|
//
|
|
48
57
|
|
|
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]);
|
|
49
69
|
/**
|
|
50
70
|
* When Grade_result exist, a comment list is called.
|
|
51
71
|
*/
|
|
@@ -154,8 +174,6 @@ const MaterialAssignmentContent = ({
|
|
|
154
174
|
|
|
155
175
|
|
|
156
176
|
const renderAssignmentInfo = () => {
|
|
157
|
-
var _a;
|
|
158
|
-
|
|
159
177
|
const assignmentFilename = decodeURIComponent((materialAssignmentSubmission === null || materialAssignmentSubmission === void 0 ? void 0 : materialAssignmentSubmission.assignmentFileUrl) && new URL(materialAssignmentSubmission.assignmentFileUrl).pathname.split('/').pop() || '');
|
|
160
178
|
|
|
161
179
|
const renderAssignmentStatus = () => {
|
|
@@ -286,7 +304,7 @@ const MaterialAssignmentContent = ({
|
|
|
286
304
|
}, intl.formatMessage({
|
|
287
305
|
id: 'materialAssignment.table.column.totalPoint'
|
|
288
306
|
}, {
|
|
289
|
-
point:
|
|
307
|
+
point: materialAssignment.point
|
|
290
308
|
}))))));
|
|
291
309
|
};
|
|
292
310
|
/**
|
|
@@ -2,8 +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
|
|
6
|
-
import { enums } from '@elice/types';
|
|
5
|
+
import { useMaterialConfigApiClientUpdate } from '@elice/material-shared-utils';
|
|
7
6
|
import MaterialAssignmentContainer from '../shared/MaterialAssignmentContainer.js';
|
|
8
7
|
import MaterialAssignmentUploadModal from './MaterialAssignmentUploadModal.js';
|
|
9
8
|
|
|
@@ -14,20 +13,11 @@ const MaterialAssignmentContent = ({
|
|
|
14
13
|
userId
|
|
15
14
|
}) => {
|
|
16
15
|
const intl = useIntl();
|
|
17
|
-
const
|
|
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);
|
|
16
|
+
const [assignmentGetStatus, setAssignmentGetStatus] = React.useState('idle');
|
|
28
17
|
const [assignmentGradeListGetStatus, setAssignmentGradeListGetStatus] = React.useState('idle');
|
|
29
18
|
const [assignmentGradeResultGetStatus, setAssignmentGradeResultGetStatus] = React.useState('idle');
|
|
30
19
|
const [assignmentSubmissionGetStatus, setAssignmentSubmissionGetStatus] = React.useState('idle');
|
|
20
|
+
const [materialAssignment, setMaterialAssignment] = React.useState();
|
|
31
21
|
const [materialAssignmentSubmission, setMaterialAssignmentSubmission] = React.useState();
|
|
32
22
|
const [materialAssignmentGradeResult, setMaterialAssignmentGradeResult] = React.useState();
|
|
33
23
|
const [materialAssignmentGradeList, setMaterialAssignmentGradeList] = React.useState();
|
|
@@ -36,10 +26,40 @@ const MaterialAssignmentContent = ({
|
|
|
36
26
|
const [showAssignmentSubmitModal, setShowAssignmentSubmitModal] = React.useState(false);
|
|
37
27
|
const isAssignmentSubmitted = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.lastAssignmentSubmissionId);
|
|
38
28
|
const isAssignmentClosed = materialAssignment && Boolean(materialAssignment.closeDatetime < Date.now());
|
|
39
|
-
const isAssignmentResultVisible = Boolean(materialAssignment === null || materialAssignment === void 0 ? void 0 : materialAssignment.scoreFinalizedDatetime);
|
|
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]); //
|
|
40
49
|
//
|
|
41
50
|
//
|
|
42
51
|
|
|
52
|
+
/**
|
|
53
|
+
* Get assignment info
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
React.useEffect(() => {
|
|
57
|
+
if (!isReady) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
void doGetOrgMaterialAssignmentGet();
|
|
62
|
+
}, [doGetOrgMaterialAssignmentGet, isReady]);
|
|
43
63
|
/**
|
|
44
64
|
* When Grade_result exist, a comment list is called.
|
|
45
65
|
*/
|
|
@@ -148,8 +168,6 @@ const MaterialAssignmentContent = ({
|
|
|
148
168
|
|
|
149
169
|
|
|
150
170
|
const renderAssignmentInfo = () => {
|
|
151
|
-
var _a;
|
|
152
|
-
|
|
153
171
|
const assignmentFilename = decodeURIComponent((materialAssignmentSubmission === null || materialAssignmentSubmission === void 0 ? void 0 : materialAssignmentSubmission.assignmentFileUrl) && new URL(materialAssignmentSubmission.assignmentFileUrl).pathname.split('/').pop() || '');
|
|
154
172
|
|
|
155
173
|
const renderAssignmentStatus = () => {
|
|
@@ -280,7 +298,7 @@ const MaterialAssignmentContent = ({
|
|
|
280
298
|
}, intl.formatMessage({
|
|
281
299
|
id: 'materialAssignment.table.column.totalPoint'
|
|
282
300
|
}, {
|
|
283
|
-
point:
|
|
301
|
+
point: materialAssignment.point
|
|
284
302
|
}))))));
|
|
285
303
|
};
|
|
286
304
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elice/material-assignment",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.230220.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.230215.1",
|
|
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.230215.1",
|
|
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.230215.1",
|
|
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.230220.0",
|
|
59
|
+
"@elice/material-shared-utils": "1.230220.0",
|
|
60
|
+
"@elice/types": "1.230215.1",
|
|
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": "11ff1f7b809e77e19752569a5a7c852d180ee140"
|
|
70
70
|
}
|