@elice/material-pdf 1.231227.0 → 1.231228.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.
@@ -3,6 +3,7 @@ export interface MaterialPdfProps {
3
3
  className?: string;
4
4
  materialPdfId: number;
5
5
  cMapUrl?: string;
6
+ locale?: string;
6
7
  }
7
8
  declare const MaterialPdf: React.FC<MaterialPdfProps>;
8
9
  export default MaterialPdf;
@@ -3,48 +3,32 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var apiClient = require('@elice/api-client');
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
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
-
15
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
17
-
18
- var MaterialPdf = function MaterialPdf(_ref) {
19
- var className = _ref.className,
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
- if (materialPdfStatus === 'pending') {
37
- return React__default["default"].createElement(blocks.Spinner, null);
38
- }
39
- return React__default["default"].createElement(MaterialPdf_styled.StyledMaterialPdfWrapper, {
40
- className: classnames__default["default"](prefixCls, className)
41
- }, React__default["default"].createElement(blocks.PdfRenderer, {
42
- key: materialPdf === null || materialPdf === void 0 ? void 0 : materialPdf.attachment.url,
43
- file: (_a = materialPdf === null || materialPdf === void 0 ? void 0 : materialPdf.attachment.url) !== null && _a !== void 0 ? _a : '',
44
- title: materialPdf === null || materialPdf === void 0 ? void 0 : materialPdf.title,
45
- cMapUrl: cMapUrl,
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["default"] = MaterialPdf;
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
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
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,4 @@
1
+ import React from 'react';
2
+ import type { MaterialPdfProps } from './MaterialPdf';
3
+ declare const MaterialPdfContent: React.FC<MaterialPdfProps>;
4
+ export default MaterialPdfContent;
@@ -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,7 @@
1
+ export declare const en: {
2
+ 'pdf.status.loading': string;
3
+ 'pdf.status.error': string;
4
+ 'pdf.fullScreen': string;
5
+ 'pdf.download': string;
6
+ };
7
+ export declare const ko: typeof en;
@@ -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,9 +1,7 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var MaterialPdf = require('./components/material-pdf/MaterialPdf.js');
6
4
 
7
5
 
8
6
 
9
- exports.MaterialPdf = MaterialPdf["default"];
7
+ exports.MaterialPdf = MaterialPdf.default;
@@ -3,6 +3,7 @@ export interface MaterialPdfProps {
3
3
  className?: string;
4
4
  materialPdfId: number;
5
5
  cMapUrl?: string;
6
+ locale?: string;
6
7
  }
7
8
  declare const MaterialPdf: React.FC<MaterialPdfProps>;
8
9
  export default MaterialPdf;
@@ -1,41 +1,31 @@
1
1
  import React from 'react';
2
- import { getOrgMaterialPdfGet, config } from '@elice/api-client';
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
- var MaterialPdf = function MaterialPdf(_ref) {
10
- var className = _ref.className,
11
- materialPdfId = _ref.materialPdfId,
12
- cMapUrl = _ref.cMapUrl;
13
- var _a;
14
- var prefixCls = 'em-material-pdf';
15
- var _useMaterialFetch = useMaterialFetch(enums.LectureMaterialType.PDF, React.useCallback(function (signal) {
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(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
- }));
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 };
@@ -1,6 +1,6 @@
1
1
  import styled from 'styled-components';
2
2
 
3
- var StyledMaterialPdfWrapper = styled.div.withConfig({
3
+ const StyledMaterialPdfWrapper = styled.div.withConfig({
4
4
  componentId: "sc-hovq54-0"
5
5
  })(["margin:0;flex:2 1;height:100%;background-color:#22222c;"]);
6
6
 
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { MaterialPdfProps } from './MaterialPdf';
3
+ declare const MaterialPdfContent: React.FC<MaterialPdfProps>;
4
+ export default MaterialPdfContent;
@@ -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,7 @@
1
+ export declare const en: {
2
+ 'pdf.status.loading': string;
3
+ 'pdf.status.error': string;
4
+ 'pdf.fullScreen': string;
5
+ 'pdf.download': string;
6
+ };
7
+ export declare const ko: typeof en;
@@ -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.231227.0",
3
+ "version": "1.231228.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.231227.0",
53
- "@elice/material-shared-utils": "1.231227.0",
52
+ "@elice/material-shared-types": "1.231228.0",
53
+ "@elice/material-shared-utils": "1.231228.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": "9c84854123a8e6ae3a8d734e3bc9b944bf20d924"
63
+ "gitHead": "98c3e4d64847cdbe7985f8fd95835bb01f1d53ca"
64
64
  }