@elice/material-external 1.240306.0-runboxtutoring.0 → 1.240306.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/assets/calendar.png.js +2 -1
- package/cjs/components/material-external/MaterialExternal.d.ts +3 -3
- package/cjs/components/material-external/MaterialExternal.js +25 -31
- package/cjs/components/material-external/MaterialExternal.styled.js +2 -6
- package/cjs/components/material-external/MaterialExternalAdminContent.d.ts +0 -1
- package/cjs/components/material-external/MaterialExternalAdminContent.js +20 -37
- package/cjs/components/material-external/MaterialExternalContent.js +26 -52
- package/cjs/components/material-external/MaterialExternalIframe.js +9 -16
- package/cjs/components/material-external/MaterialExternalNewWindow.js +47 -69
- package/cjs/components/material-external/MaterialExternalRedirect.js +12 -20
- package/cjs/components/material-external/locales.d.ts +9 -0
- package/cjs/components/material-external/locales.js +21 -0
- package/es/assets/calendar.png.js +2 -1
- package/es/components/material-external/MaterialExternal.d.ts +3 -3
- package/es/components/material-external/MaterialExternal.js +26 -27
- package/es/components/material-external/MaterialExternal.styled.js +2 -2
- package/es/components/material-external/MaterialExternalAdminContent.d.ts +0 -1
- package/es/components/material-external/MaterialExternalAdminContent.js +20 -33
- package/es/components/material-external/MaterialExternalContent.js +27 -49
- package/es/components/material-external/MaterialExternalIframe.js +9 -12
- package/es/components/material-external/MaterialExternalNewWindow.js +48 -66
- package/es/components/material-external/MaterialExternalRedirect.js +12 -16
- package/es/components/material-external/locales.d.ts +9 -0
- package/es/components/material-external/locales.js +18 -0
- package/package.json +15 -12
- package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -55
- package/cjs/assets/empty-default.png.js +0 -7
- package/cjs/components/material-external/MaterialExternalNotSupported.d.ts +0 -3
- package/cjs/components/material-external/MaterialExternalNotSupported.js +0 -46
- package/cjs/components/material-external/index.js +0 -7
- package/cjs/components/material-external/locales/en.json.js +0 -7
- package/cjs/components/material-external/locales/index.d.ts +0 -4
- package/cjs/components/material-external/locales/index.js +0 -13
- package/cjs/components/material-external/locales/ja.json.js +0 -7
- package/cjs/components/material-external/locales/ko.json.js +0 -7
- package/cjs/components/material-external/locales/th.json.js +0 -7
- package/es/_virtual/_rollupPluginBabelHelpers.js +0 -48
- package/es/assets/empty-default.png.js +0 -3
- package/es/components/material-external/MaterialExternalNotSupported.d.ts +0 -3
- package/es/components/material-external/MaterialExternalNotSupported.js +0 -42
- package/es/components/material-external/index.js +0 -1
- package/es/components/material-external/locales/en.json.js +0 -3
- package/es/components/material-external/locales/index.d.ts +0 -4
- package/es/components/material-external/locales/index.js +0 -4
- package/es/components/material-external/locales/ja.json.js +0 -3
- package/es/components/material-external/locales/ko.json.js +0 -3
- package/es/components/material-external/locales/th.json.js +0 -3
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
var img = "data:image/png;base64,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";
|
|
2
|
+
var calendarImage = img;
|
|
2
3
|
|
|
3
|
-
export {
|
|
4
|
+
export { calendarImage as default };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { WithIntlComponentBuilderProps } from '@elice/intl';
|
|
3
2
|
export interface MaterialExternalProps {
|
|
4
3
|
className?: string;
|
|
5
4
|
materialExternalId: number;
|
|
@@ -7,6 +6,7 @@ export interface MaterialExternalProps {
|
|
|
7
6
|
courseId?: number;
|
|
8
7
|
/** studentId. only tutoring mode */
|
|
9
8
|
userId?: number;
|
|
9
|
+
locale?: string;
|
|
10
10
|
}
|
|
11
|
-
declare const
|
|
12
|
-
export default
|
|
11
|
+
declare const MaterialExternal: React.FC<MaterialExternalProps>;
|
|
12
|
+
export default MaterialExternal;
|
|
@@ -1,34 +1,33 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IntlProvider } from 'react-intl';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
4
|
+
import * as locales from './locales.js';
|
|
5
|
+
import { en } from './locales.js';
|
|
6
6
|
import MaterialExternalContent from './MaterialExternalAdminContent.js';
|
|
7
7
|
import MaterialExternalContent$1 from './MaterialExternalContent.js';
|
|
8
8
|
import { StyledExternalWrap } from './MaterialExternal.styled.js';
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
});
|
|
10
|
+
const MaterialExternal = ({
|
|
11
|
+
materialExternalId,
|
|
12
|
+
userId,
|
|
13
|
+
className,
|
|
14
|
+
locale = 'en',
|
|
15
|
+
courseId
|
|
16
|
+
}) => {
|
|
17
|
+
const prefixCls = 'em-material-external';
|
|
18
|
+
return React.createElement(StyledExternalWrap, {
|
|
19
|
+
className: classnames(prefixCls, className)
|
|
20
|
+
}, React.createElement(IntlProvider, {
|
|
21
|
+
locale: locale,
|
|
22
|
+
defaultLocale: "en",
|
|
23
|
+
messages: locale in locales ? locales[locale] : en
|
|
24
|
+
}, userId ? React.createElement(MaterialExternalContent, {
|
|
25
|
+
materialExternalId: materialExternalId,
|
|
26
|
+
userId: userId
|
|
27
|
+
}) : React.createElement(MaterialExternalContent$1, {
|
|
28
|
+
materialExternalId: materialExternalId,
|
|
29
|
+
courseId: courseId
|
|
30
|
+
})));
|
|
31
31
|
};
|
|
32
|
-
var MaterialExternal$1 = new IntlComponentBuilder(MaterialExternal).add('en', messageEn).add('ko', messageKo).addAsync('th', import('./locales/th.json.js')).addAsync('ja', import('./locales/ja.json.js')).build();
|
|
33
32
|
|
|
34
|
-
export { MaterialExternal
|
|
33
|
+
export { MaterialExternal as default };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { base } from '@elice/design-tokens';
|
|
2
2
|
import styled from 'styled-components';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
const StyledExternalWrap = styled.div.withConfig({
|
|
5
5
|
componentId: "sc-k32tl5-0"
|
|
6
6
|
})(["display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;background-color:", ";"], base.color.navy9);
|
|
7
|
-
|
|
7
|
+
const StyledExternalDisplay = styled.iframe.withConfig({
|
|
8
8
|
componentId: "sc-k32tl5-1"
|
|
9
9
|
})(["width:100%;height:100%;border:0;background-color:", ";"], base.color.white);
|
|
10
10
|
|
|
@@ -2,7 +2,6 @@ import React from 'react';
|
|
|
2
2
|
export interface MaterialExternalContentProps {
|
|
3
3
|
materialExternalId: number;
|
|
4
4
|
userId: number;
|
|
5
|
-
courseId?: number;
|
|
6
5
|
}
|
|
7
6
|
declare const MaterialExternalContent: React.FC<MaterialExternalContentProps>;
|
|
8
7
|
export default MaterialExternalContent;
|
|
@@ -1,56 +1,43 @@
|
|
|
1
|
-
import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
1
|
import React from 'react';
|
|
2
|
+
import { FormattedMessage } from 'react-intl';
|
|
4
3
|
import { getOrgMaterialExternalTutorExternalUrlGet } from '@elice/api-client';
|
|
5
4
|
import { Spinner, Text } from '@elice/blocks';
|
|
6
|
-
import { useRawEliceIntl } from '@elice/intl';
|
|
7
5
|
import MaterialExternalIframe from './MaterialExternalIframe.js';
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
externalUrl = _React$useState2[0],
|
|
17
|
-
setExternalUrl = _React$useState2[1];
|
|
18
|
-
var _React$useState3 = React.useState('idle'),
|
|
19
|
-
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
20
|
-
externalGetStatus = _React$useState4[0],
|
|
21
|
-
setExternalGetStatus = _React$useState4[1];
|
|
22
|
-
React.useEffect(function () {
|
|
7
|
+
const MaterialExternalContent = ({
|
|
8
|
+
materialExternalId,
|
|
9
|
+
userId
|
|
10
|
+
}) => {
|
|
11
|
+
const [externalUrl, setExternalUrl] = React.useState('');
|
|
12
|
+
const [externalGetStatus, setExternalGetStatus] = React.useState('idle');
|
|
13
|
+
React.useEffect(() => {
|
|
23
14
|
if (materialExternalId && userId) {
|
|
24
15
|
setExternalGetStatus('pending');
|
|
25
16
|
getOrgMaterialExternalTutorExternalUrlGet({
|
|
26
|
-
materialExternalId
|
|
17
|
+
materialExternalId,
|
|
27
18
|
userId: userId
|
|
28
|
-
}).then(
|
|
19
|
+
}).then(value => {
|
|
29
20
|
setExternalUrl(value.externalUrl);
|
|
30
21
|
setExternalGetStatus('resolved');
|
|
31
|
-
}).catch(
|
|
32
|
-
return setExternalGetStatus('rejected');
|
|
33
|
-
});
|
|
22
|
+
}).catch(() => setExternalGetStatus('rejected'));
|
|
34
23
|
}
|
|
35
24
|
}, [materialExternalId, userId]);
|
|
36
25
|
if (externalGetStatus === 'pending') {
|
|
37
|
-
return
|
|
26
|
+
return React.createElement(Spinner, null);
|
|
38
27
|
}
|
|
39
28
|
if (externalGetStatus === 'rejected' || !externalUrl) {
|
|
40
|
-
return
|
|
41
|
-
role: "white"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
});
|
|
29
|
+
return React.createElement(Text, {
|
|
30
|
+
role: "white"
|
|
31
|
+
}, React.createElement(FormattedMessage, {
|
|
32
|
+
id: "external.status.rejected"
|
|
33
|
+
}));
|
|
46
34
|
}
|
|
47
|
-
return
|
|
35
|
+
return React.createElement(MaterialExternalIframe, {
|
|
48
36
|
materialExternal: {
|
|
49
37
|
id: materialExternalId,
|
|
50
38
|
title: 'External Admin',
|
|
51
|
-
externalUrl
|
|
52
|
-
}
|
|
53
|
-
courseId: courseId
|
|
39
|
+
externalUrl
|
|
40
|
+
}
|
|
54
41
|
});
|
|
55
42
|
};
|
|
56
43
|
|
|
@@ -1,75 +1,53 @@
|
|
|
1
|
-
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
1
|
import React from 'react';
|
|
2
|
+
import { FormattedMessage } from 'react-intl';
|
|
3
3
|
import { getOrgMaterialExternalGet, config } from '@elice/api-client';
|
|
4
|
-
import {
|
|
5
|
-
import { useRawEliceIntl } from '@elice/intl';
|
|
4
|
+
import { Spinner, Text } from '@elice/blocks';
|
|
6
5
|
import { useMaterialFetch } from '@elice/material-shared-utils';
|
|
7
6
|
import { enums } from '@elice/types';
|
|
8
7
|
import MaterialExternalIframe from './MaterialExternalIframe.js';
|
|
9
8
|
import MaterialExternalNewWindow from './MaterialExternalNewWindow.js';
|
|
10
|
-
import MaterialExternalNotSupported from './MaterialExternalNotSupported.js';
|
|
11
9
|
import MaterialExternalRedirect from './MaterialExternalRedirect.js';
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}, {
|
|
28
|
-
signal: signal
|
|
29
|
-
});
|
|
30
|
-
}, [materialExternalId]), config.init),
|
|
31
|
-
materialExternal = _useMaterialFetch.materialExternal,
|
|
32
|
-
externalGetStatus = _useMaterialFetch.status;
|
|
33
|
-
if (externalGetStatus === 'rejected') {
|
|
34
|
-
return jsx(Text, {
|
|
35
|
-
role: "white",
|
|
36
|
-
children: intl.formatMessage({
|
|
37
|
-
id: 'external.status.rejected'
|
|
38
|
-
})
|
|
39
|
-
});
|
|
11
|
+
const MaterialExternalContent = ({
|
|
12
|
+
materialExternalId,
|
|
13
|
+
courseId
|
|
14
|
+
}) => {
|
|
15
|
+
const {
|
|
16
|
+
materialExternal,
|
|
17
|
+
status: externalGetStatus
|
|
18
|
+
} = useMaterialFetch(enums.LectureMaterialType.External, React.useCallback(signal => getOrgMaterialExternalGet({
|
|
19
|
+
materialExternalId
|
|
20
|
+
}, {
|
|
21
|
+
signal
|
|
22
|
+
}), [materialExternalId]), config.init);
|
|
23
|
+
if (externalGetStatus === 'pending') {
|
|
24
|
+
return React.createElement(Spinner, null);
|
|
40
25
|
}
|
|
41
|
-
if (externalGetStatus === '
|
|
42
|
-
return
|
|
26
|
+
if (externalGetStatus === 'rejected' || !materialExternal) {
|
|
27
|
+
return React.createElement(Text, {
|
|
28
|
+
role: "white"
|
|
29
|
+
}, React.createElement(FormattedMessage, {
|
|
30
|
+
id: "external.status.rejected"
|
|
31
|
+
}));
|
|
43
32
|
}
|
|
44
|
-
|
|
45
|
-
*
|
|
46
|
-
*/
|
|
47
|
-
var renderByDisplayType = function renderByDisplayType(displayType) {
|
|
33
|
+
const renderByDisplayType = displayType => {
|
|
48
34
|
switch (displayType) {
|
|
49
35
|
case enums.MaterialExternalDisplayType.Iframe:
|
|
50
|
-
return
|
|
36
|
+
return React.createElement(MaterialExternalIframe, {
|
|
51
37
|
materialExternal: materialExternal,
|
|
52
38
|
courseId: courseId
|
|
53
39
|
});
|
|
54
40
|
case enums.MaterialExternalDisplayType.Redirect:
|
|
55
|
-
return
|
|
41
|
+
return React.createElement(MaterialExternalRedirect, {
|
|
56
42
|
materialExternal: materialExternal
|
|
57
43
|
});
|
|
58
44
|
case enums.MaterialExternalDisplayType.NewWindow:
|
|
59
|
-
return
|
|
45
|
+
return React.createElement(MaterialExternalNewWindow, {
|
|
60
46
|
materialExternal: materialExternal
|
|
61
47
|
});
|
|
62
48
|
}
|
|
63
49
|
};
|
|
64
|
-
|
|
65
|
-
//
|
|
66
|
-
//
|
|
67
|
-
if (materialExternal.externalUrl.match(LEGACY_RUNBOX_V2_URL_PATTERN)) {
|
|
68
|
-
return jsx(MaterialExternalNotSupported, {});
|
|
69
|
-
}
|
|
70
|
-
return jsx(Fragment, {
|
|
71
|
-
children: renderByDisplayType(materialExternal.displayType)
|
|
72
|
-
});
|
|
50
|
+
return React.createElement(React.Fragment, null, renderByDisplayType(materialExternal.displayType));
|
|
73
51
|
};
|
|
74
52
|
|
|
75
53
|
export { MaterialExternalContent as default };
|
|
@@ -1,24 +1,21 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import { useRawEliceIntl } from '@elice/intl';
|
|
4
2
|
import { StyledExternalDisplay } from './MaterialExternal.styled.js';
|
|
5
3
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
const MaterialExternalIframe = ({
|
|
5
|
+
materialExternal,
|
|
6
|
+
courseId
|
|
7
|
+
}) => {
|
|
8
|
+
const materialExternalUrl = React.useMemo(() => {
|
|
9
|
+
const externalUrl = new URL(materialExternal.externalUrl);
|
|
12
10
|
externalUrl.searchParams.append('course_id', String(courseId !== null && courseId !== void 0 ? courseId : ''));
|
|
13
11
|
externalUrl.searchParams.append('material_id', String(materialExternal.id));
|
|
14
12
|
externalUrl.searchParams.append('parent_url', window.location.href);
|
|
15
|
-
externalUrl.searchParams.append('locale', intl.locale);
|
|
16
13
|
return externalUrl.href;
|
|
17
|
-
}, [materialExternal.externalUrl, materialExternal.id, courseId
|
|
18
|
-
return
|
|
14
|
+
}, [materialExternal.externalUrl, materialExternal.id, courseId]);
|
|
15
|
+
return React.createElement(StyledExternalDisplay, {
|
|
19
16
|
title: materialExternal.title,
|
|
20
17
|
src: materialExternalUrl,
|
|
21
|
-
allow: "clipboard-read; clipboard-write; camera *; microphone *; bluetooth *;
|
|
18
|
+
allow: "clipboard-read; clipboard-write; camera *; microphone *; bluetooth *;"
|
|
22
19
|
});
|
|
23
20
|
};
|
|
24
21
|
|
|
@@ -1,88 +1,70 @@
|
|
|
1
|
-
import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
3
1
|
import React, { useState } from 'react';
|
|
2
|
+
import { FormattedMessage } from 'react-intl';
|
|
4
3
|
import { SafeImage, Vspace, Text, Button, Spinner } from '@elice/blocks';
|
|
5
4
|
import { base } from '@elice/design-tokens';
|
|
6
|
-
import
|
|
7
|
-
import img from '../../assets/calendar.png.js';
|
|
5
|
+
import calendarImage from '../../assets/calendar.png.js';
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
14
|
-
isOpenedNewTab = _useState2[0],
|
|
15
|
-
setIsOpenedNewTab = _useState2[1];
|
|
7
|
+
const MaterialExternalNewWindow = ({
|
|
8
|
+
materialExternal
|
|
9
|
+
}) => {
|
|
10
|
+
const [isOpenedNewTab, setIsOpenedNewTab] = useState(false);
|
|
16
11
|
//
|
|
17
12
|
//
|
|
18
13
|
//
|
|
19
|
-
React.useEffect(
|
|
20
|
-
|
|
14
|
+
React.useEffect(() => {
|
|
15
|
+
const timeoutId = window.setTimeout(() => {
|
|
21
16
|
window.open(materialExternal.externalUrl);
|
|
22
17
|
setIsOpenedNewTab(true);
|
|
23
18
|
}, 5000);
|
|
24
|
-
return
|
|
19
|
+
return () => {
|
|
25
20
|
window.clearTimeout(timeoutId);
|
|
26
21
|
};
|
|
27
22
|
}, [materialExternal]);
|
|
28
23
|
/**
|
|
29
24
|
*
|
|
30
25
|
*/
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
color: base.color.navy0
|
|
65
|
-
},
|
|
66
|
-
children: intl.formatMessage({
|
|
67
|
-
id: 'external.newWindow.button.label'
|
|
68
|
-
})
|
|
69
|
-
})
|
|
70
|
-
})]
|
|
71
|
-
});
|
|
26
|
+
const newTabReOpenContentPage = React.createElement(React.Fragment, null, React.createElement(SafeImage, {
|
|
27
|
+
src: calendarImage,
|
|
28
|
+
width: "8rem",
|
|
29
|
+
height: "6rem",
|
|
30
|
+
alt: "newWindow"
|
|
31
|
+
}), React.createElement(Vspace, {
|
|
32
|
+
height: 1
|
|
33
|
+
}), React.createElement(Text, {
|
|
34
|
+
role: "white",
|
|
35
|
+
size: "large",
|
|
36
|
+
bold: true
|
|
37
|
+
}, React.createElement(FormattedMessage, {
|
|
38
|
+
id: "external.newWindow.title"
|
|
39
|
+
})), React.createElement(Vspace, {
|
|
40
|
+
height: 0.75
|
|
41
|
+
}), React.createElement(Text, {
|
|
42
|
+
role: "white",
|
|
43
|
+
size: "small"
|
|
44
|
+
}, React.createElement(FormattedMessage, {
|
|
45
|
+
id: "external.newWindow.description"
|
|
46
|
+
})), React.createElement(Vspace, {
|
|
47
|
+
height: 2
|
|
48
|
+
}), React.createElement(Button, {
|
|
49
|
+
size: "small",
|
|
50
|
+
onClick: () => window.open(materialExternal === null || materialExternal === void 0 ? void 0 : materialExternal.externalUrl)
|
|
51
|
+
}, React.createElement(Text, {
|
|
52
|
+
size: "small",
|
|
53
|
+
customStyles: {
|
|
54
|
+
color: base.color.navy0
|
|
55
|
+
}
|
|
56
|
+
}, React.createElement(FormattedMessage, {
|
|
57
|
+
id: "external.newWindow.button.label"
|
|
58
|
+
}))));
|
|
72
59
|
/**
|
|
73
60
|
* Open new tab external page after 5 seconds.
|
|
74
61
|
*/
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
})]
|
|
82
|
-
});
|
|
83
|
-
return jsx(Fragment, {
|
|
84
|
-
children: isOpenedNewTab ? newTabReOpenContentPage : waitExternalPage
|
|
85
|
-
});
|
|
62
|
+
const waitExternalPage = React.createElement(React.Fragment, null, React.createElement(Spinner, null), React.createElement(Text, {
|
|
63
|
+
role: "white"
|
|
64
|
+
}, React.createElement(FormattedMessage, {
|
|
65
|
+
id: `external.loader.newWindow.description`
|
|
66
|
+
})));
|
|
67
|
+
return React.createElement(React.Fragment, null, isOpenedNewTab ? newTabReOpenContentPage : waitExternalPage);
|
|
86
68
|
};
|
|
87
69
|
|
|
88
70
|
export { MaterialExternalNewWindow as default };
|
|
@@ -1,30 +1,26 @@
|
|
|
1
|
-
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
1
|
import React from 'react';
|
|
2
|
+
import { FormattedMessage } from 'react-intl';
|
|
3
3
|
import { Spinner, Text } from '@elice/blocks';
|
|
4
|
-
import { useRawEliceIntl } from '@elice/intl';
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
const MaterialExternalRedirect = ({
|
|
6
|
+
materialExternal
|
|
7
|
+
}) => {
|
|
9
8
|
//
|
|
10
9
|
// When displayType is `Redirect`, redirect page after 5 sec.
|
|
11
10
|
//
|
|
12
|
-
React.useEffect(
|
|
13
|
-
|
|
11
|
+
React.useEffect(() => {
|
|
12
|
+
const timeoutId = window.setTimeout(() => {
|
|
14
13
|
window.location.href = materialExternal.externalUrl;
|
|
15
14
|
}, 5000);
|
|
16
|
-
return
|
|
15
|
+
return () => {
|
|
17
16
|
window.clearTimeout(timeoutId);
|
|
18
17
|
};
|
|
19
18
|
}, [materialExternal]);
|
|
20
|
-
return
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
})
|
|
26
|
-
})]
|
|
27
|
-
});
|
|
19
|
+
return React.createElement(React.Fragment, null, React.createElement(Spinner, null), React.createElement(Text, {
|
|
20
|
+
role: "white"
|
|
21
|
+
}, React.createElement(FormattedMessage, {
|
|
22
|
+
id: `external.loader.redirect.description`
|
|
23
|
+
})));
|
|
28
24
|
};
|
|
29
25
|
|
|
30
26
|
export { MaterialExternalRedirect as default };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const en: {
|
|
2
|
+
'external.status.rejected': string;
|
|
3
|
+
'external.loader.redirect.description': string;
|
|
4
|
+
'external.loader.newWindow.description': string;
|
|
5
|
+
'external.newWindow.title': string;
|
|
6
|
+
'external.newWindow.description': string;
|
|
7
|
+
'external.newWindow.button.label': string;
|
|
8
|
+
};
|
|
9
|
+
export declare const ko: typeof en;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const en = {
|
|
2
|
+
'external.status.rejected': "It's a subject that doesn't exist.",
|
|
3
|
+
'external.loader.redirect.description': 'Redirecting to lecture material in 5 seconds.',
|
|
4
|
+
'external.loader.newWindow.description': 'A new tab will open after 5 seconds.',
|
|
5
|
+
'external.newWindow.title': 'Material has opened in a new tab.',
|
|
6
|
+
'external.newWindow.description': 'If pop-ups are blocked, Please click the button below to reopen it.',
|
|
7
|
+
'external.newWindow.button.label': 'Open Material'
|
|
8
|
+
};
|
|
9
|
+
const ko = {
|
|
10
|
+
'external.status.rejected': '존재하지 않는 과목입니다.',
|
|
11
|
+
'external.loader.redirect.description': '5초 뒤에 학습자료로 이동합니다.',
|
|
12
|
+
'external.loader.newWindow.description': '5초 뒤에 새 탭이 열립니다.',
|
|
13
|
+
'external.newWindow.title': '새 탭에서 학습 자료가 열렸습니다.',
|
|
14
|
+
'external.newWindow.description': '팝업이 차단되어 있으면 열리지 않을 수 있습니다. 아래 버튼을 클릭해 다시 열어주세요.',
|
|
15
|
+
'external.newWindow.button.label': '학습 자료 열기'
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { en, ko };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elice/material-external",
|
|
3
|
-
"version": "1.240306.0
|
|
3
|
+
"version": "1.240306.0",
|
|
4
4
|
"description": "User view and editing components of Elice material external",
|
|
5
5
|
"repository": "https://git.elicer.io/elice/frontend/library/elice-material",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -17,8 +17,10 @@
|
|
|
17
17
|
"scripts": {
|
|
18
18
|
"start": "run-s watch",
|
|
19
19
|
"prebuild": "run-s clean",
|
|
20
|
-
"build": "
|
|
21
|
-
"
|
|
20
|
+
"build": "run-p build:es build:cjs",
|
|
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",
|
|
22
24
|
"lint": "eslint --ext .ts,.tsx ./src --max-warnings=0",
|
|
23
25
|
"clean": "del-cli \"es/*\" \"cjs/*\" \"dist/*\""
|
|
24
26
|
},
|
|
@@ -27,12 +29,12 @@
|
|
|
27
29
|
"@elice/blocks": "^1",
|
|
28
30
|
"@elice/design-tokens": "^1",
|
|
29
31
|
"@elice/icons": "^1",
|
|
30
|
-
"@elice/intl": "^0",
|
|
31
32
|
"@elice/markdown": "^1",
|
|
32
33
|
"@elice/material-shared-types": "*",
|
|
33
34
|
"@elice/material-shared-utils": "*",
|
|
34
35
|
"@elice/types": "^1",
|
|
35
36
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
37
|
+
"react-intl": "^5.0.0",
|
|
36
38
|
"react-use": "^17.0.0",
|
|
37
39
|
"styled-components": "^5.2.0"
|
|
38
40
|
},
|
|
@@ -41,21 +43,22 @@
|
|
|
41
43
|
"tslib": "^2.6.1"
|
|
42
44
|
},
|
|
43
45
|
"devDependencies": {
|
|
44
|
-
"@elice/api-client": "^1.
|
|
45
|
-
"@elice/blocks": "1.
|
|
46
|
+
"@elice/api-client": "^1.230926.0",
|
|
47
|
+
"@elice/blocks": "^1.230816.0",
|
|
46
48
|
"@elice/design-tokens": "^1.220803.0",
|
|
47
49
|
"@elice/icons": "^1.230814.0",
|
|
48
50
|
"@elice/icons-legacy": "npm:@elice/icons@0.230814.0",
|
|
49
|
-
"@elice/
|
|
50
|
-
"@elice/
|
|
51
|
-
"@elice/material-shared-
|
|
52
|
-
"@elice/
|
|
53
|
-
"@elice/types": "1.241220.0",
|
|
51
|
+
"@elice/markdown": "^1.220815.0",
|
|
52
|
+
"@elice/material-shared-types": "1.240306.0",
|
|
53
|
+
"@elice/material-shared-utils": "1.240306.0",
|
|
54
|
+
"@elice/types": "^1.240208.0",
|
|
54
55
|
"@types/classnames": "^2.3.1",
|
|
55
56
|
"@types/react": "~17.0.9",
|
|
56
57
|
"@types/styled-components": "^5.1.21",
|
|
57
58
|
"react": "^17.0.2",
|
|
59
|
+
"react-intl": "^5.20.10",
|
|
58
60
|
"react-use": "^17.2.4",
|
|
59
61
|
"styled-components": "^5.3.0"
|
|
60
|
-
}
|
|
62
|
+
},
|
|
63
|
+
"gitHead": "c60a4ee0a90459f286596540aa4ac53240c21f7c"
|
|
61
64
|
}
|