@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 [assignmentGetStatus, setAssignmentGetStatus] = React__default["default"].useState('idle');
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: materialAssignment.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 [assignmentGetStatus, setAssignmentGetStatus] = React.useState('idle');
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: materialAssignment.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.230210.0",
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.221217.0",
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.221217.0",
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.221217.0",
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.230210.0",
59
- "@elice/material-shared-utils": "1.230210.0",
60
- "@elice/types": "1.221217.0",
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": "d97a629bfa5eda5d863355cae30fdf5ec038ceba"
69
+ "gitHead": "6b2a7a2aa54b21685ea99f8bb5f240cdfd1b343a"
70
70
  }