@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 [assignmentGetStatus, setAssignmentGetStatus] = React__default["default"].useState('idle');
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: materialAssignment.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 [assignmentGetStatus, setAssignmentGetStatus] = React.useState('idle');
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: materialAssignment.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.230222.0",
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.230215.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.230215.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.230215.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.230222.0",
59
- "@elice/material-shared-utils": "1.230222.0",
60
- "@elice/types": "1.230215.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": "31176c73215066ca4d6760b8c8fde4e49fcba2ec"
69
+ "gitHead": "d834b422afcf3ed40499a3c169465a30aaa622e4"
70
70
  }