@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 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);
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: (_a = materialLecturePage === null || materialLecturePage === void 0 ? void 0 : materialLecturePage.point) !== null && _a !== void 0 ? _a : '--'
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, useMaterialFetchRaw } from '@elice/material-shared-utils';
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 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);
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: (_a = materialLecturePage === null || materialLecturePage === void 0 ? void 0 : materialLecturePage.point) !== null && _a !== void 0 ? _a : '--'
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.230217.0-sepmatlec.3",
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.230126.0-sepmatlec.4",
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.230126.0-sepmatlec.5",
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.230126.0-sepmatlec.4",
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.230217.0-sepmatlec.3",
59
- "@elice/material-shared-utils": "1.230217.0-sepmatlec.3",
60
- "@elice/types": "1.230126.0-sepmatlec.5",
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": "9256c4bde755c55a27550e7036c56bdae5104f50"
69
+ "gitHead": "11ff1f7b809e77e19752569a5a7c852d180ee140"
70
70
  }