@elice/material-external 1.231019.0 → 1.231102.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.
@@ -2,6 +2,8 @@ import React from 'react';
2
2
  export interface MaterialExternalProps {
3
3
  className?: string;
4
4
  materialExternalId: number;
5
+ /** metadata logging */
6
+ courseId?: number;
5
7
  /** studentId. only tutoring mode */
6
8
  userId?: number;
7
9
  locale?: string;
@@ -20,7 +20,8 @@ var MaterialExternal = function MaterialExternal(_ref) {
20
20
  userId = _ref.userId,
21
21
  className = _ref.className,
22
22
  _ref$locale = _ref.locale,
23
- locale = _ref$locale === void 0 ? 'en' : _ref$locale;
23
+ locale = _ref$locale === void 0 ? 'en' : _ref$locale,
24
+ courseId = _ref.courseId;
24
25
  var prefixCls = 'em-material-external';
25
26
  return React__default["default"].createElement(MaterialExternal_styled.StyledExternalWrap, {
26
27
  className: classnames__default["default"](prefixCls, className)
@@ -32,7 +33,8 @@ var MaterialExternal = function MaterialExternal(_ref) {
32
33
  materialExternalId: materialExternalId,
33
34
  userId: userId
34
35
  }) : React__default["default"].createElement(MaterialExternalContent["default"], {
35
- materialExternalId: materialExternalId
36
+ materialExternalId: materialExternalId,
37
+ courseId: courseId
36
38
  })));
37
39
  };
38
40
 
@@ -50,6 +50,7 @@ var MaterialExternalContent = function MaterialExternalContent(_ref) {
50
50
  }
51
51
  return React__default["default"].createElement(MaterialExternalIframe["default"], {
52
52
  materialExternal: {
53
+ id: materialExternalId,
53
54
  title: 'External Admin',
54
55
  externalUrl: externalUrl
55
56
  }
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  export interface MaterialExternalContentProps {
3
3
  materialExternalId: number;
4
+ courseId?: number;
4
5
  }
5
6
  declare const MaterialExternalContent: React.FC<MaterialExternalContentProps>;
6
7
  export default MaterialExternalContent;
@@ -17,7 +17,8 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
17
17
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
18
 
19
19
  var MaterialExternalContent = function MaterialExternalContent(_ref) {
20
- var materialExternalId = _ref.materialExternalId;
20
+ var materialExternalId = _ref.materialExternalId,
21
+ courseId = _ref.courseId;
21
22
  var _useMaterialFetch = materialSharedUtils.useMaterialFetch(types.enums.LectureMaterialType.External, React__default["default"].useCallback(function (signal) {
22
23
  return apiClient.getOrgMaterialExternalGet({
23
24
  materialExternalId: materialExternalId
@@ -41,7 +42,8 @@ var MaterialExternalContent = function MaterialExternalContent(_ref) {
41
42
  switch (displayType) {
42
43
  case types.enums.MaterialExternalDisplayType.Iframe:
43
44
  return React__default["default"].createElement(MaterialExternalIframe["default"], {
44
- materialExternal: materialExternal
45
+ materialExternal: materialExternal,
46
+ courseId: courseId
45
47
  });
46
48
  case types.enums.MaterialExternalDisplayType.Redirect:
47
49
  return React__default["default"].createElement(MaterialExternalRedirect["default"], {
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { GetOrgMaterialExternalGetResponses } from '@elice/types/es/typings/apis/orgMaterialExternal';
3
3
  declare const MaterialExternalIframe: React.FC<{
4
- materialExternal: Pick<GetOrgMaterialExternalGetResponses['materialExternal'], 'title' | 'externalUrl'>;
4
+ materialExternal: Pick<GetOrgMaterialExternalGetResponses['materialExternal'], 'title' | 'externalUrl' | 'id'>;
5
+ courseId?: number;
5
6
  }>;
6
7
  export default MaterialExternalIframe;
@@ -10,10 +10,18 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
10
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
11
 
12
12
  var MaterialExternalIframe = function MaterialExternalIframe(_ref) {
13
- var materialExternal = _ref.materialExternal;
13
+ var materialExternal = _ref.materialExternal,
14
+ courseId = _ref.courseId;
15
+ var materialExternalUrl = React__default["default"].useMemo(function () {
16
+ var externalUrl = new URL(materialExternal.externalUrl);
17
+ externalUrl.searchParams.append('course_id', String(courseId !== null && courseId !== void 0 ? courseId : ''));
18
+ externalUrl.searchParams.append('material_id', String(materialExternal.id));
19
+ externalUrl.searchParams.append('parent_url', window.location.href);
20
+ return externalUrl.href;
21
+ }, [materialExternal.externalUrl, materialExternal.id, courseId]);
14
22
  return React__default["default"].createElement(MaterialExternal_styled.StyledExternalDisplay, {
15
23
  title: materialExternal.title,
16
- src: materialExternal.externalUrl,
24
+ src: materialExternalUrl,
17
25
  allow: "clipboard-read; clipboard-write; camera *; microphone *"
18
26
  });
19
27
  };
@@ -2,6 +2,8 @@ import React from 'react';
2
2
  export interface MaterialExternalProps {
3
3
  className?: string;
4
4
  materialExternalId: number;
5
+ /** metadata logging */
6
+ courseId?: number;
5
7
  /** studentId. only tutoring mode */
6
8
  userId?: number;
7
9
  locale?: string;
@@ -12,7 +12,8 @@ var MaterialExternal = function MaterialExternal(_ref) {
12
12
  userId = _ref.userId,
13
13
  className = _ref.className,
14
14
  _ref$locale = _ref.locale,
15
- locale = _ref$locale === void 0 ? 'en' : _ref$locale;
15
+ locale = _ref$locale === void 0 ? 'en' : _ref$locale,
16
+ courseId = _ref.courseId;
16
17
  var prefixCls = 'em-material-external';
17
18
  return React.createElement(StyledExternalWrap, {
18
19
  className: classnames(prefixCls, className)
@@ -24,7 +25,8 @@ var MaterialExternal = function MaterialExternal(_ref) {
24
25
  materialExternalId: materialExternalId,
25
26
  userId: userId
26
27
  }) : React.createElement(MaterialExternalContent$1, {
27
- materialExternalId: materialExternalId
28
+ materialExternalId: materialExternalId,
29
+ courseId: courseId
28
30
  })));
29
31
  };
30
32
 
@@ -42,6 +42,7 @@ var MaterialExternalContent = function MaterialExternalContent(_ref) {
42
42
  }
43
43
  return React.createElement(MaterialExternalIframe, {
44
44
  materialExternal: {
45
+ id: materialExternalId,
45
46
  title: 'External Admin',
46
47
  externalUrl: externalUrl
47
48
  }
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  export interface MaterialExternalContentProps {
3
3
  materialExternalId: number;
4
+ courseId?: number;
4
5
  }
5
6
  declare const MaterialExternalContent: React.FC<MaterialExternalContentProps>;
6
7
  export default MaterialExternalContent;
@@ -9,7 +9,8 @@ import MaterialExternalNewWindow from './MaterialExternalNewWindow.js';
9
9
  import MaterialExternalRedirect from './MaterialExternalRedirect.js';
10
10
 
11
11
  var MaterialExternalContent = function MaterialExternalContent(_ref) {
12
- var materialExternalId = _ref.materialExternalId;
12
+ var materialExternalId = _ref.materialExternalId,
13
+ courseId = _ref.courseId;
13
14
  var _useMaterialFetch = useMaterialFetch(enums.LectureMaterialType.External, React.useCallback(function (signal) {
14
15
  return getOrgMaterialExternalGet({
15
16
  materialExternalId: materialExternalId
@@ -33,7 +34,8 @@ var MaterialExternalContent = function MaterialExternalContent(_ref) {
33
34
  switch (displayType) {
34
35
  case enums.MaterialExternalDisplayType.Iframe:
35
36
  return React.createElement(MaterialExternalIframe, {
36
- materialExternal: materialExternal
37
+ materialExternal: materialExternal,
38
+ courseId: courseId
37
39
  });
38
40
  case enums.MaterialExternalDisplayType.Redirect:
39
41
  return React.createElement(MaterialExternalRedirect, {
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { GetOrgMaterialExternalGetResponses } from '@elice/types/es/typings/apis/orgMaterialExternal';
3
3
  declare const MaterialExternalIframe: React.FC<{
4
- materialExternal: Pick<GetOrgMaterialExternalGetResponses['materialExternal'], 'title' | 'externalUrl'>;
4
+ materialExternal: Pick<GetOrgMaterialExternalGetResponses['materialExternal'], 'title' | 'externalUrl' | 'id'>;
5
+ courseId?: number;
5
6
  }>;
6
7
  export default MaterialExternalIframe;
@@ -2,10 +2,18 @@ import React from 'react';
2
2
  import { StyledExternalDisplay } from './MaterialExternal.styled.js';
3
3
 
4
4
  var MaterialExternalIframe = function MaterialExternalIframe(_ref) {
5
- var materialExternal = _ref.materialExternal;
5
+ var materialExternal = _ref.materialExternal,
6
+ courseId = _ref.courseId;
7
+ var materialExternalUrl = React.useMemo(function () {
8
+ var externalUrl = new URL(materialExternal.externalUrl);
9
+ externalUrl.searchParams.append('course_id', String(courseId !== null && courseId !== void 0 ? courseId : ''));
10
+ externalUrl.searchParams.append('material_id', String(materialExternal.id));
11
+ externalUrl.searchParams.append('parent_url', window.location.href);
12
+ return externalUrl.href;
13
+ }, [materialExternal.externalUrl, materialExternal.id, courseId]);
6
14
  return React.createElement(StyledExternalDisplay, {
7
15
  title: materialExternal.title,
8
- src: materialExternal.externalUrl,
16
+ src: materialExternalUrl,
9
17
  allow: "clipboard-read; clipboard-write; camera *; microphone *"
10
18
  });
11
19
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elice/material-external",
3
- "version": "1.231019.0",
3
+ "version": "1.231102.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",
@@ -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.231019.0",
53
- "@elice/material-shared-utils": "1.231019.0",
52
+ "@elice/material-shared-types": "1.231102.0",
53
+ "@elice/material-shared-utils": "1.231102.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": "e98bea064caee9f715b234f5e3c7aba0e52b9a32"
63
+ "gitHead": "ef42b6e5e05aeac7c3641333d73ee3e59a49b3ae"
64
64
  }