@elice/material-pdf 1.231227.0 → 1.240112.0-cloud.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.
- package/cjs/components/material-pdf/MaterialPdf.d.ts +1 -0
- package/cjs/components/material-pdf/MaterialPdf.js +21 -37
- package/cjs/components/material-pdf/MaterialPdf.styled.js +1 -7
- package/cjs/components/material-pdf/MaterialPdfContent.d.ts +4 -0
- package/cjs/components/material-pdf/MaterialPdfContent.js +55 -0
- package/cjs/components/material-pdf/locales.d.ts +7 -0
- package/cjs/components/material-pdf/locales.js +17 -0
- package/cjs/index.js +1 -3
- package/es/components/material-pdf/MaterialPdf.d.ts +1 -0
- package/es/components/material-pdf/MaterialPdf.js +19 -29
- package/es/components/material-pdf/MaterialPdf.styled.js +1 -1
- package/es/components/material-pdf/MaterialPdfContent.d.ts +4 -0
- package/es/components/material-pdf/MaterialPdfContent.js +51 -0
- package/es/components/material-pdf/locales.d.ts +7 -0
- package/es/components/material-pdf/locales.js +14 -0
- package/package.json +7 -7
|
@@ -3,48 +3,32 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var
|
|
7
|
-
var blocks = require('@elice/blocks');
|
|
8
|
-
var materialSharedUtils = require('@elice/material-shared-utils');
|
|
9
|
-
var types = require('@elice/types');
|
|
6
|
+
var reactIntl = require('react-intl');
|
|
10
7
|
var classnames = require('classnames');
|
|
8
|
+
var locales = require('./locales.js');
|
|
9
|
+
var MaterialPdfContent = require('./MaterialPdfContent.js');
|
|
11
10
|
var MaterialPdf_styled = require('./MaterialPdf.styled.js');
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
materialPdfId = _ref.materialPdfId,
|
|
21
|
-
cMapUrl = _ref.cMapUrl;
|
|
22
|
-
var _a;
|
|
23
|
-
var prefixCls = 'em-material-pdf';
|
|
24
|
-
var _useMaterialFetch = materialSharedUtils.useMaterialFetch(types.enums.LectureMaterialType.PDF, React__default["default"].useCallback(function (signal) {
|
|
25
|
-
return apiClient.getOrgMaterialPdfGet({
|
|
26
|
-
materialPdfId: materialPdfId
|
|
27
|
-
}, {
|
|
28
|
-
signal: signal
|
|
29
|
-
});
|
|
30
|
-
}, [materialPdfId]), apiClient.config.init),
|
|
31
|
-
materialPdf = _useMaterialFetch.materialPdf,
|
|
32
|
-
materialPdfStatus = _useMaterialFetch.status;
|
|
12
|
+
const MaterialPdf = ({
|
|
13
|
+
className,
|
|
14
|
+
materialPdfId,
|
|
15
|
+
cMapUrl,
|
|
16
|
+
locale = 'en'
|
|
17
|
+
}) => {
|
|
18
|
+
const prefixCls = 'em-material-pdf';
|
|
33
19
|
//
|
|
34
20
|
//
|
|
35
21
|
//
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
hasError: !(materialPdf === null || materialPdf === void 0 ? void 0 : materialPdf.attachment.url) || materialPdfStatus === 'rejected'
|
|
47
|
-
}));
|
|
22
|
+
return React.createElement(MaterialPdf_styled.StyledMaterialPdfWrapper, {
|
|
23
|
+
className: classnames(prefixCls, className)
|
|
24
|
+
}, React.createElement(reactIntl.IntlProvider, {
|
|
25
|
+
locale: locale,
|
|
26
|
+
defaultLocale: "en",
|
|
27
|
+
messages: locale in locales ? locales[locale] : locales.en
|
|
28
|
+
}, React.createElement(MaterialPdfContent.default, {
|
|
29
|
+
materialPdfId: materialPdfId,
|
|
30
|
+
cMapUrl: cMapUrl
|
|
31
|
+
})));
|
|
48
32
|
};
|
|
49
33
|
|
|
50
|
-
exports
|
|
34
|
+
exports.default = MaterialPdf;
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var styled = require('styled-components');
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
10
|
-
|
|
11
|
-
var StyledMaterialPdfWrapper = styled__default["default"].div.withConfig({
|
|
5
|
+
const StyledMaterialPdfWrapper = styled.div.withConfig({
|
|
12
6
|
componentId: "sc-hovq54-0"
|
|
13
7
|
})(["margin:0;flex:2 1;height:100%;background-color:#22222c;"]);
|
|
14
8
|
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var reactIntl = require('react-intl');
|
|
7
|
+
var apiClient = require('@elice/api-client');
|
|
8
|
+
var blocks = require('@elice/blocks');
|
|
9
|
+
var materialSharedUtils = require('@elice/material-shared-utils');
|
|
10
|
+
var types = require('@elice/types');
|
|
11
|
+
|
|
12
|
+
//
|
|
13
|
+
//
|
|
14
|
+
//
|
|
15
|
+
const MaterialPdfContent = ({
|
|
16
|
+
materialPdfId,
|
|
17
|
+
cMapUrl
|
|
18
|
+
}) => {
|
|
19
|
+
var _a;
|
|
20
|
+
const intl = reactIntl.useIntl();
|
|
21
|
+
const {
|
|
22
|
+
materialPdf,
|
|
23
|
+
status: materialPdfStatus
|
|
24
|
+
} = materialSharedUtils.useMaterialFetch(types.enums.LectureMaterialType.PDF, React.useCallback(signal => apiClient.getOrgMaterialPdfGet({
|
|
25
|
+
materialPdfId
|
|
26
|
+
}, {
|
|
27
|
+
signal
|
|
28
|
+
}), [materialPdfId]), apiClient.config.init);
|
|
29
|
+
if (materialPdfStatus === 'pending') {
|
|
30
|
+
return React.createElement(blocks.Spinner, null);
|
|
31
|
+
}
|
|
32
|
+
return React.createElement(blocks.PdfRenderer, {
|
|
33
|
+
key: materialPdf === null || materialPdf === void 0 ? void 0 : materialPdf.attachment.url,
|
|
34
|
+
file: (_a = materialPdf === null || materialPdf === void 0 ? void 0 : materialPdf.attachment.url) !== null && _a !== void 0 ? _a : '',
|
|
35
|
+
title: materialPdf === null || materialPdf === void 0 ? void 0 : materialPdf.title,
|
|
36
|
+
cMapUrl: cMapUrl,
|
|
37
|
+
hasError: !(materialPdf === null || materialPdf === void 0 ? void 0 : materialPdf.attachment.url) || materialPdfStatus === 'rejected',
|
|
38
|
+
i18n: {
|
|
39
|
+
fullscreen: intl.formatMessage({
|
|
40
|
+
id: 'pdf.fullScreen'
|
|
41
|
+
}),
|
|
42
|
+
download: intl.formatMessage({
|
|
43
|
+
id: 'pdf.download'
|
|
44
|
+
}),
|
|
45
|
+
loading: intl.formatMessage({
|
|
46
|
+
id: 'pdf.status.loading'
|
|
47
|
+
}),
|
|
48
|
+
error: intl.formatMessage({
|
|
49
|
+
id: 'pdf.status.error'
|
|
50
|
+
})
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
exports.default = MaterialPdfContent;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const en = {
|
|
4
|
+
'pdf.status.loading': 'Loading File...',
|
|
5
|
+
'pdf.status.error': 'Error occurred while loading file.',
|
|
6
|
+
'pdf.fullScreen': 'Full Screen',
|
|
7
|
+
'pdf.download': 'File download'
|
|
8
|
+
};
|
|
9
|
+
const ko = {
|
|
10
|
+
'pdf.status.loading': '수업 자료 로딩 중...',
|
|
11
|
+
'pdf.status.error': '수업 자료를 가져오는 중 문제가 발생하였습니다.',
|
|
12
|
+
'pdf.fullScreen': '화면 맞춤',
|
|
13
|
+
'pdf.download': '수업 자료 다운로드'
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.en = en;
|
|
17
|
+
exports.ko = ko;
|
package/cjs/index.js
CHANGED
|
@@ -1,41 +1,31 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { Spinner, PdfRenderer } from '@elice/blocks';
|
|
4
|
-
import { useMaterialFetch } from '@elice/material-shared-utils';
|
|
5
|
-
import { enums } from '@elice/types';
|
|
2
|
+
import { IntlProvider } from 'react-intl';
|
|
6
3
|
import classnames from 'classnames';
|
|
4
|
+
import * as locales from './locales.js';
|
|
5
|
+
import { en } from './locales.js';
|
|
6
|
+
import MaterialPdfContent from './MaterialPdfContent.js';
|
|
7
7
|
import { StyledMaterialPdfWrapper } from './MaterialPdf.styled.js';
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return getOrgMaterialPdfGet({
|
|
17
|
-
materialPdfId: materialPdfId
|
|
18
|
-
}, {
|
|
19
|
-
signal: signal
|
|
20
|
-
});
|
|
21
|
-
}, [materialPdfId]), config.init),
|
|
22
|
-
materialPdf = _useMaterialFetch.materialPdf,
|
|
23
|
-
materialPdfStatus = _useMaterialFetch.status;
|
|
9
|
+
const MaterialPdf = ({
|
|
10
|
+
className,
|
|
11
|
+
materialPdfId,
|
|
12
|
+
cMapUrl,
|
|
13
|
+
locale = 'en'
|
|
14
|
+
}) => {
|
|
15
|
+
const prefixCls = 'em-material-pdf';
|
|
24
16
|
//
|
|
25
17
|
//
|
|
26
18
|
//
|
|
27
|
-
if (materialPdfStatus === 'pending') {
|
|
28
|
-
return React.createElement(Spinner, null);
|
|
29
|
-
}
|
|
30
19
|
return React.createElement(StyledMaterialPdfWrapper, {
|
|
31
20
|
className: classnames(prefixCls, className)
|
|
32
|
-
}, React.createElement(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
21
|
+
}, React.createElement(IntlProvider, {
|
|
22
|
+
locale: locale,
|
|
23
|
+
defaultLocale: "en",
|
|
24
|
+
messages: locale in locales ? locales[locale] : en
|
|
25
|
+
}, React.createElement(MaterialPdfContent, {
|
|
26
|
+
materialPdfId: materialPdfId,
|
|
27
|
+
cMapUrl: cMapUrl
|
|
28
|
+
})));
|
|
39
29
|
};
|
|
40
30
|
|
|
41
31
|
export { MaterialPdf as default };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useIntl } from 'react-intl';
|
|
3
|
+
import { getOrgMaterialPdfGet, config } from '@elice/api-client';
|
|
4
|
+
import { Spinner, PdfRenderer } from '@elice/blocks';
|
|
5
|
+
import { useMaterialFetch } from '@elice/material-shared-utils';
|
|
6
|
+
import { enums } from '@elice/types';
|
|
7
|
+
|
|
8
|
+
//
|
|
9
|
+
//
|
|
10
|
+
//
|
|
11
|
+
const MaterialPdfContent = ({
|
|
12
|
+
materialPdfId,
|
|
13
|
+
cMapUrl
|
|
14
|
+
}) => {
|
|
15
|
+
var _a;
|
|
16
|
+
const intl = useIntl();
|
|
17
|
+
const {
|
|
18
|
+
materialPdf,
|
|
19
|
+
status: materialPdfStatus
|
|
20
|
+
} = useMaterialFetch(enums.LectureMaterialType.PDF, React.useCallback(signal => getOrgMaterialPdfGet({
|
|
21
|
+
materialPdfId
|
|
22
|
+
}, {
|
|
23
|
+
signal
|
|
24
|
+
}), [materialPdfId]), config.init);
|
|
25
|
+
if (materialPdfStatus === 'pending') {
|
|
26
|
+
return React.createElement(Spinner, null);
|
|
27
|
+
}
|
|
28
|
+
return React.createElement(PdfRenderer, {
|
|
29
|
+
key: materialPdf === null || materialPdf === void 0 ? void 0 : materialPdf.attachment.url,
|
|
30
|
+
file: (_a = materialPdf === null || materialPdf === void 0 ? void 0 : materialPdf.attachment.url) !== null && _a !== void 0 ? _a : '',
|
|
31
|
+
title: materialPdf === null || materialPdf === void 0 ? void 0 : materialPdf.title,
|
|
32
|
+
cMapUrl: cMapUrl,
|
|
33
|
+
hasError: !(materialPdf === null || materialPdf === void 0 ? void 0 : materialPdf.attachment.url) || materialPdfStatus === 'rejected',
|
|
34
|
+
i18n: {
|
|
35
|
+
fullscreen: intl.formatMessage({
|
|
36
|
+
id: 'pdf.fullScreen'
|
|
37
|
+
}),
|
|
38
|
+
download: intl.formatMessage({
|
|
39
|
+
id: 'pdf.download'
|
|
40
|
+
}),
|
|
41
|
+
loading: intl.formatMessage({
|
|
42
|
+
id: 'pdf.status.loading'
|
|
43
|
+
}),
|
|
44
|
+
error: intl.formatMessage({
|
|
45
|
+
id: 'pdf.status.error'
|
|
46
|
+
})
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export { MaterialPdfContent as default };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const en = {
|
|
2
|
+
'pdf.status.loading': 'Loading File...',
|
|
3
|
+
'pdf.status.error': 'Error occurred while loading file.',
|
|
4
|
+
'pdf.fullScreen': 'Full Screen',
|
|
5
|
+
'pdf.download': 'File download'
|
|
6
|
+
};
|
|
7
|
+
const ko = {
|
|
8
|
+
'pdf.status.loading': '수업 자료 로딩 중...',
|
|
9
|
+
'pdf.status.error': '수업 자료를 가져오는 중 문제가 발생하였습니다.',
|
|
10
|
+
'pdf.fullScreen': '화면 맞춤',
|
|
11
|
+
'pdf.download': '수업 자료 다운로드'
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { en, ko };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elice/material-pdf",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.240112.0-cloud.0",
|
|
4
4
|
"description": "User view and editing components of Elice material PDF",
|
|
5
5
|
"repository": "https://git.elicer.io/elice/frontend/library/elice-material",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"start": "run-s watch",
|
|
19
19
|
"prebuild": "run-s clean",
|
|
20
20
|
"build": "run-p build:es build:cjs",
|
|
21
|
-
"build:es": "rollup -c ../../rollup.config.ts -f es",
|
|
22
|
-
"build:cjs": "rollup -c ../../rollup.config.ts -f cjs",
|
|
23
|
-
"watch": "rollup -c ../../rollup.config.ts -f es -w",
|
|
21
|
+
"build:es": "rollup -c ../../rollup.config.ts --configPlugin typescript -f es",
|
|
22
|
+
"build:cjs": "rollup -c ../../rollup.config.ts --configPlugin typescript -f cjs",
|
|
23
|
+
"watch": "rollup -c ../../rollup.config.ts --configPlugin typescript -f es -w",
|
|
24
24
|
"lint": "eslint --ext .ts,.tsx ./src --max-warnings=0",
|
|
25
25
|
"clean": "del-cli \"es/*\" \"cjs/*\" \"dist/*\""
|
|
26
26
|
},
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
"@elice/icons": "^1.230814.0",
|
|
50
50
|
"@elice/icons-legacy": "npm:@elice/icons@0.230814.0",
|
|
51
51
|
"@elice/markdown": "^1.220815.0",
|
|
52
|
-
"@elice/material-shared-types": "1.
|
|
53
|
-
"@elice/material-shared-utils": "1.
|
|
52
|
+
"@elice/material-shared-types": "1.240112.0-cloud.0",
|
|
53
|
+
"@elice/material-shared-utils": "1.240112.0-cloud.0",
|
|
54
54
|
"@elice/types": "^1.230815.0",
|
|
55
55
|
"@types/classnames": "^2.3.1",
|
|
56
56
|
"@types/react": "~17.0.9",
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"react-use": "^17.2.4",
|
|
61
61
|
"styled-components": "^5.3.0"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "5724868dc938b0d4987541030e911b60c0dfcff7"
|
|
64
64
|
}
|