@edx/unit-title-plugin 0.0.10 → 0.0.12

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/README.md CHANGED
@@ -12,7 +12,7 @@ import {
12
12
  PLUGIN_OPERATIONS,
13
13
  DIRECT_PLUGIN,
14
14
  } from "@openedx/frontend-plugin-framework";
15
- import Plugin from "@edx/unit-title-plugin";
15
+ import UnitTitlePlugin, { TranslationsLoader } from '@edx/unit-title-plugin';
16
16
 
17
17
  // Load environment variables from .env file
18
18
  const config = {
@@ -36,6 +36,19 @@ const config = {
36
36
  },
37
37
  ],
38
38
  },
39
+ content_iframe_loader_slot: {
40
+ plugins: [
41
+ {
42
+ op: PLUGIN_OPERATIONS.Insert,
43
+ widget: {
44
+ id: "content_iframe_loader_slot",
45
+ type: DIRECT_PLUGIN,
46
+ priority: 1,
47
+ RenderWidget: TranslationsLoader,
48
+ },
49
+ },
50
+ ],
51
+ },
39
52
  sequence_container_slot: {
40
53
  plugins: [
41
54
  {
@@ -24,7 +24,7 @@ var stateKeys = exports.stateKeys = (0, _reactUnitTestUtils.StrictDict)({
24
24
  selectedIndex: 'selectedIndex'
25
25
  });
26
26
  var logUpgradeClick = function logUpgradeClick(_ref) {
27
- var _window$tagular, _window, _logEventProperties$o;
27
+ var _getCookies, _window$tagular, _window, _logEventProperties$o;
28
28
  var logEventProperties = _ref.logEventProperties;
29
29
  var eventProperties = {
30
30
  org_key: logEventProperties.org_key,
@@ -48,7 +48,7 @@ var logUpgradeClick = function logUpgradeClick(_ref) {
48
48
  linkType: 'button',
49
49
  pageName: upsellPageName
50
50
  }));
51
- var correlationId = (0, _cookie.handleCorrelationIDCookie)();
51
+ var correlationId = (_getCookies = (0, _cookie.getCookies)()) === null || _getCookies === void 0 ? void 0 : _getCookies.tglr_correlation_id;
52
52
  (_window$tagular = (_window = window).tagular) === null || _window$tagular === void 0 || _window$tagular.call(_window, 'beam', {
53
53
  '@type': 'core.conversions.ConversionTracked.v2',
54
54
  correlation: {
@@ -1 +1 @@
1
- {"version":3,"file":"useTranslationModal.js","names":["_react","require","_reactUnitTestUtils","_analytics","_cookie","_typeof","o","Symbol","iterator","constructor","prototype","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","minLen","_arrayLikeToArray","n","Object","toString","call","slice","name","Array","from","test","len","length","arr2","r","l","t","e","u","a","f","next","done","push","value","isArray","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","_toPropertyKey","configurable","writable","_toPrimitive","toPrimitive","String","Number","stateKeys","exports","StrictDict","selectedIndex","logUpgradeClick","_ref","_window$tagular","_window","_logEventProperties$o","logEventProperties","eventProperties","org_key","courserun_key","upsellPageName","promotionEventProperties","creative","position","promotion_id","sendTrackingLogEvent","location","sendTrackEvent","linkCategory","linkName","concat","linkType","pageName","correlationId","handleCorrelationIDCookie","window","tagular","correlation","id","metadata","category","action","timestamp","Date","toISOString","productList","brand","toLowerCase","variant","course_name","getEnabledLanguages","_ref2","availableLanguages","originalCourseLanguage","enabledLanguages","excludeEnglish","missingLanguage","some","_ref3","code","_ref4","enabled","label","useTranslationModal","_ref5","selectedLanguage","setSelectedLanguage","close","isAuditMode","upgradeUrl","courseEnabledLanguages","_useKeyedState","useKeyedState","findIndex","lang","_useKeyedState2","setSelectedIndex","onSubmit","useCallback","open","newSelectedLanguage","logSurveyClick","isAuditUser","_default"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/useTranslationModal.js"],"sourcesContent":["import { useCallback } from 'react';\nimport { StrictDict, useKeyedState } from '@edx/react-unit-test-utils';\nimport { sendTrackEvent, sendTrackingLogEvent } from '@edx/frontend-platform/analytics';\nimport { handleCorrelationIDCookie } from '../../../utils/cookie';\n\nexport const stateKeys = StrictDict({\n selectedIndex: 'selectedIndex',\n});\n\nconst logUpgradeClick = ({ logEventProperties }) => {\n const eventProperties = {\n org_key: logEventProperties.org_key,\n courserun_key: logEventProperties.courserun_key,\n };\n const upsellPageName = 'course_translation_modal';\n const promotionEventProperties = {\n creative: 'translationmodalupsell',\n name: 'In-Course Verification Prompt',\n position: 'translation-modal-message',\n promotion_id: 'courseware_translation_upsell',\n ...eventProperties,\n };\n sendTrackingLogEvent('edx.bi.course.upgrade.translationmodal.clicked', eventProperties);\n sendTrackingLogEvent('edx.course.enrollment.upgrade.clicked', {\n ...eventProperties,\n location: 'translation-modal-message',\n });\n sendTrackEvent('Promotion Clicked', promotionEventProperties);\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n ...eventProperties,\n linkCategory: 'green_upgrade',\n linkName: `${upsellPageName}_green`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n\n const correlationId = handleCorrelationIDCookie();\n window.tagular?.('beam', {\n '@type': 'core.conversions.ConversionTracked.v2',\n correlation: {\n id: correlationId,\n },\n metadata: {\n category: 'Enrollment',\n action: 'Upgraded',\n timestamp: new Date().toISOString(),\n productList: [{\n brand: logEventProperties.org_key?.toLowerCase(),\n variant: 'courses',\n name: logEventProperties.course_name,\n }],\n },\n });\n};\n\nconst getEnabledLanguages = ({ availableLanguages, originalCourseLanguage }) => {\n let enabledLanguages = [];\n const excludeEnglish = originalCourseLanguage !== 'en';\n const missingLanguage = !availableLanguages.some(({ code }) => code === originalCourseLanguage);\n\n enabledLanguages = availableLanguages.filter(({ enabled, code }) => {\n if (excludeEnglish && code === 'en') {\n return false;\n }\n\n return enabled;\n });\n\n if (missingLanguage) {\n enabledLanguages.push({ code: originalCourseLanguage, label: 'original' });\n }\n\n return enabledLanguages;\n};\n\nconst useTranslationModal = ({\n selectedLanguage,\n setSelectedLanguage,\n close,\n isAuditMode,\n upgradeUrl,\n logEventProperties,\n availableLanguages,\n originalCourseLanguage,\n}) => {\n const courseEnabledLanguages = getEnabledLanguages({ availableLanguages, originalCourseLanguage });\n const [selectedIndex, setSelectedIndex] = useKeyedState(\n stateKeys.selectedIndex,\n courseEnabledLanguages.findIndex((lang) => lang.code === selectedLanguage),\n );\n\n const onSubmit = useCallback(() => {\n if (isAuditMode) {\n logUpgradeClick({ logEventProperties });\n window.open(upgradeUrl, '_self');\n } else {\n const newSelectedLanguage = courseEnabledLanguages[selectedIndex].code;\n setSelectedLanguage(newSelectedLanguage);\n }\n close();\n }, [selectedIndex]);\n\n /*\n 2025-01-21\n This function not currently in use, but may be used again in the future so not removing the code here.\n The import and pasing of this function have been removed except in `./NewLanguageFeedback.jsx` where it\n is actually used.\n */\n const logSurveyClick = () => {\n sendTrackEvent('addtional_languages_survey_clicked', {\n ...logEventProperties,\n isAuditUser: isAuditMode,\n });\n window.open('https://participant.use2.usertesting.com/se/invite/8145e5f3-4f48-46b7-8d97-78e1bec900d0', '_blank');\n };\n\n return {\n selectedIndex,\n setSelectedIndex,\n onSubmit,\n logSurveyClick,\n courseEnabledLanguages,\n };\n};\n\nexport default useTranslationModal;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useTranslationModal.js","names":["_react","require","_reactUnitTestUtils","_analytics","_cookie","_typeof","o","Symbol","iterator","constructor","prototype","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","minLen","_arrayLikeToArray","n","Object","toString","call","slice","name","Array","from","test","len","length","arr2","r","l","t","e","u","a","f","next","done","push","value","isArray","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","_toPropertyKey","configurable","writable","_toPrimitive","toPrimitive","String","Number","stateKeys","exports","StrictDict","selectedIndex","logUpgradeClick","_ref","_getCookies","_window$tagular","_window","_logEventProperties$o","logEventProperties","eventProperties","org_key","courserun_key","upsellPageName","promotionEventProperties","creative","position","promotion_id","sendTrackingLogEvent","location","sendTrackEvent","linkCategory","linkName","concat","linkType","pageName","correlationId","getCookies","tglr_correlation_id","window","tagular","correlation","id","metadata","category","action","timestamp","Date","toISOString","productList","brand","toLowerCase","variant","course_name","getEnabledLanguages","_ref2","availableLanguages","originalCourseLanguage","enabledLanguages","excludeEnglish","missingLanguage","some","_ref3","code","_ref4","enabled","label","useTranslationModal","_ref5","selectedLanguage","setSelectedLanguage","close","isAuditMode","upgradeUrl","courseEnabledLanguages","_useKeyedState","useKeyedState","findIndex","lang","_useKeyedState2","setSelectedIndex","onSubmit","useCallback","open","newSelectedLanguage","logSurveyClick","isAuditUser","_default"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/useTranslationModal.js"],"sourcesContent":["import { useCallback } from 'react';\nimport { StrictDict, useKeyedState } from '@edx/react-unit-test-utils';\nimport { sendTrackEvent, sendTrackingLogEvent } from '@edx/frontend-platform/analytics';\nimport { getCookies } from '../../../utils/cookie';\n\nexport const stateKeys = StrictDict({\n selectedIndex: 'selectedIndex',\n});\n\nconst logUpgradeClick = ({ logEventProperties }) => {\n const eventProperties = {\n org_key: logEventProperties.org_key,\n courserun_key: logEventProperties.courserun_key,\n };\n const upsellPageName = 'course_translation_modal';\n const promotionEventProperties = {\n creative: 'translationmodalupsell',\n name: 'In-Course Verification Prompt',\n position: 'translation-modal-message',\n promotion_id: 'courseware_translation_upsell',\n ...eventProperties,\n };\n sendTrackingLogEvent('edx.bi.course.upgrade.translationmodal.clicked', eventProperties);\n sendTrackingLogEvent('edx.course.enrollment.upgrade.clicked', {\n ...eventProperties,\n location: 'translation-modal-message',\n });\n sendTrackEvent('Promotion Clicked', promotionEventProperties);\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n ...eventProperties,\n linkCategory: 'green_upgrade',\n linkName: `${upsellPageName}_green`,\n linkType: 'button',\n pageName: upsellPageName,\n });\n\n const correlationId = getCookies()?.tglr_correlation_id;\n window.tagular?.('beam', {\n '@type': 'core.conversions.ConversionTracked.v2',\n correlation: {\n id: correlationId,\n },\n metadata: {\n category: 'Enrollment',\n action: 'Upgraded',\n timestamp: new Date().toISOString(),\n productList: [{\n brand: logEventProperties.org_key?.toLowerCase(),\n variant: 'courses',\n name: logEventProperties.course_name,\n }],\n },\n });\n};\n\nconst getEnabledLanguages = ({ availableLanguages, originalCourseLanguage }) => {\n let enabledLanguages = [];\n const excludeEnglish = originalCourseLanguage !== 'en';\n const missingLanguage = !availableLanguages.some(({ code }) => code === originalCourseLanguage);\n\n enabledLanguages = availableLanguages.filter(({ enabled, code }) => {\n if (excludeEnglish && code === 'en') {\n return false;\n }\n\n return enabled;\n });\n\n if (missingLanguage) {\n enabledLanguages.push({ code: originalCourseLanguage, label: 'original' });\n }\n\n return enabledLanguages;\n};\n\nconst useTranslationModal = ({\n selectedLanguage,\n setSelectedLanguage,\n close,\n isAuditMode,\n upgradeUrl,\n logEventProperties,\n availableLanguages,\n originalCourseLanguage,\n}) => {\n const courseEnabledLanguages = getEnabledLanguages({ availableLanguages, originalCourseLanguage });\n const [selectedIndex, setSelectedIndex] = useKeyedState(\n stateKeys.selectedIndex,\n courseEnabledLanguages.findIndex((lang) => lang.code === selectedLanguage),\n );\n\n const onSubmit = useCallback(() => {\n if (isAuditMode) {\n logUpgradeClick({ logEventProperties });\n window.open(upgradeUrl, '_self');\n } else {\n const newSelectedLanguage = courseEnabledLanguages[selectedIndex].code;\n setSelectedLanguage(newSelectedLanguage);\n }\n close();\n }, [selectedIndex]);\n\n /*\n 2025-01-21\n This function not currently in use, but may be used again in the future so not removing the code here.\n The import and pasing of this function have been removed except in `./NewLanguageFeedback.jsx` where it\n is actually used.\n */\n const logSurveyClick = () => {\n sendTrackEvent('addtional_languages_survey_clicked', {\n ...logEventProperties,\n isAuditUser: isAuditMode,\n });\n window.open('https://participant.use2.usertesting.com/se/invite/8145e5f3-4f48-46b7-8d97-78e1bec900d0', '_blank');\n };\n\n return {\n selectedIndex,\n setSelectedIndex,\n onSubmit,\n logSurveyClick,\n courseEnabledLanguages,\n };\n};\n\nexport default useTranslationModal;\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.stateKeys = exports.selectedLanguageKey = exports["default"] = void 0;
7
- var _react = _interopRequireDefault(require("react"));
7
+ exports.stateKeys = exports.selectedLanguageKey = exports["default"] = exports.LONG_LOADING_DELAY_MS = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
8
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
10
  var _reactUnitTestUtils = require("@edx/react-unit-test-utils");
10
11
  var _modelStore = require("@src/generic/model-store");
@@ -15,6 +16,8 @@ var _SVGLoader = _interopRequireDefault(require("./SVGLoader"));
15
16
  require("./index.scss");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
17
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
18
21
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
19
22
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
20
23
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -25,6 +28,7 @@ var selectedLanguageKey = exports.selectedLanguageKey = 'selectedLanguages';
25
28
  var stateKeys = exports.stateKeys = (0, _reactUnitTestUtils.StrictDict)({
26
29
  selectedLanguage: 'selectedLanguage'
27
30
  });
31
+ var LONG_LOADING_DELAY_MS = exports.LONG_LOADING_DELAY_MS = 2000;
28
32
  var TranslationsLoader = function TranslationsLoader(_ref) {
29
33
  var courseId = _ref.courseId,
30
34
  defaultLoaderComponent = _ref.defaultLoaderComponent;
@@ -37,11 +41,27 @@ var TranslationsLoader = function TranslationsLoader(_ref) {
37
41
  var _useKeyedState = (0, _reactUnitTestUtils.useKeyedState)(stateKeys.selectedLanguage, selectedLanguageItem[courseId] || courseLanguage),
38
42
  _useKeyedState2 = _slicedToArray(_useKeyedState, 1),
39
43
  selectedLanguage = _useKeyedState2[0];
44
+ var _useState = (0, _react.useState)(false),
45
+ _useState2 = _slicedToArray(_useState, 2),
46
+ showAdditionalMessage = _useState2[0],
47
+ setShowAdditionalMessage = _useState2[1];
48
+ (0, _react.useEffect)(function () {
49
+ if (courseLanguage !== selectedLanguage) {
50
+ var timer = setTimeout(function () {
51
+ setShowAdditionalMessage(true);
52
+ }, LONG_LOADING_DELAY_MS);
53
+ return function () {
54
+ return clearTimeout(timer);
55
+ };
56
+ }
57
+ return undefined; // to remove linting error
58
+ }, [courseLanguage, selectedLanguage]);
40
59
  return courseLanguage !== selectedLanguage ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
41
60
  className: "d-flex justify-content-center align-items-center flex-column",
42
61
  id: "translating-loader-container",
43
62
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SVGLoader["default"], {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
44
63
  className: "mt-2",
64
+ id: "loader-text",
45
65
  children: [formatMessage(_messages["default"].translatingLoaderText), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
46
66
  className: "ellipsis-container",
47
67
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
@@ -52,6 +72,10 @@ var TranslationsLoader = function TranslationsLoader(_ref) {
52
72
  children: "."
53
73
  })]
54
74
  })]
75
+ }), showAdditionalMessage && /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
76
+ className: "mt-2",
77
+ id: "additional-message",
78
+ children: [formatMessage(_messages["default"].translatingLoaderAdditionalTextFirstLine), " ", /*#__PURE__*/(0, _jsxRuntime.jsx)("br", {}), formatMessage(_messages["default"].translatingLoaderAdditionalTextWaitNote)]
55
79
  })]
56
80
  }) : defaultLoaderComponent;
57
81
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_reactUnitTestUtils","_modelStore","_i18n","_localStorage","_messages","_SVGLoader","_jsxRuntime","obj","__esModule","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","isArray","selectedLanguageKey","exports","stateKeys","StrictDict","selectedLanguage","TranslationsLoader","_ref","courseId","defaultLoaderComponent","_useIntl","useIntl","formatMessage","_useModel","useModel","language","courseLanguage","selectedLanguageItem","getLocalStorage","_useKeyedState","useKeyedState","_useKeyedState2","jsxs","className","id","children","jsx","messages","translatingLoaderText","propTypes","PropTypes","string","isRequired","node","_default"],"sources":["../../src/translations-loader/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { StrictDict, useKeyedState } from '@edx/react-unit-test-utils';\nimport { useModel } from '@src/generic/model-store';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { getLocalStorage } from '@src/data/localStorage';\n\nimport messages from './messages';\nimport SVGLoader from './SVGLoader';\nimport './index.scss';\n\nexport const selectedLanguageKey = 'selectedLanguages';\nexport const stateKeys = StrictDict({\n selectedLanguage: 'selectedLanguage',\n});\n\nconst TranslationsLoader = ({ courseId, defaultLoaderComponent }) => {\n const { formatMessage } = useIntl();\n const { language } = useModel('coursewareMeta', courseId);\n const courseLanguage = language || 'en';\n const selectedLanguageItem = getLocalStorage(selectedLanguageKey) || {};\n const [selectedLanguage] = useKeyedState(\n stateKeys.selectedLanguage,\n selectedLanguageItem[courseId] || courseLanguage,\n );\n\n return courseLanguage !== selectedLanguage ? (\n <div\n className=\"d-flex justify-content-center align-items-center flex-column\"\n id=\"translating-loader-container\"\n >\n <SVGLoader />\n <p className=\"mt-2\">\n {formatMessage(messages.translatingLoaderText)}\n <span className=\"ellipsis-container\">\n <span>.</span>\n <span>.</span>\n <span>.</span>\n </span>\n </p>\n </div>\n ) : (\n defaultLoaderComponent\n );\n};\n\nTranslationsLoader.propTypes = {\n courseId: PropTypes.string.isRequired,\n defaultLoaderComponent: PropTypes.node.isRequired,\n};\n\nexport default TranslationsLoader;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_reactUnitTestUtils","_modelStore","_i18n","_localStorage","_messages","_SVGLoader","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","isArray","selectedLanguageKey","exports","stateKeys","StrictDict","selectedLanguage","LONG_LOADING_DELAY_MS","TranslationsLoader","_ref","courseId","defaultLoaderComponent","_useIntl","useIntl","formatMessage","_useModel","useModel","language","courseLanguage","selectedLanguageItem","getLocalStorage","_useKeyedState","useKeyedState","_useKeyedState2","_useState","useState","_useState2","showAdditionalMessage","setShowAdditionalMessage","useEffect","timer","setTimeout","clearTimeout","undefined","jsxs","className","id","children","jsx","messages","translatingLoaderText","translatingLoaderAdditionalTextFirstLine","translatingLoaderAdditionalTextWaitNote","propTypes","PropTypes","string","isRequired","node","_default"],"sources":["../../src/translations-loader/index.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { StrictDict, useKeyedState } from '@edx/react-unit-test-utils';\nimport { useModel } from '@src/generic/model-store';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { getLocalStorage } from '@src/data/localStorage';\n\nimport messages from './messages';\nimport SVGLoader from './SVGLoader';\nimport './index.scss';\n\nexport const selectedLanguageKey = 'selectedLanguages';\nexport const stateKeys = StrictDict({\n selectedLanguage: 'selectedLanguage',\n});\n\nexport const LONG_LOADING_DELAY_MS = 2000;\n\nconst TranslationsLoader = ({ courseId, defaultLoaderComponent }) => {\n const { formatMessage } = useIntl();\n const { language } = useModel('coursewareMeta', courseId);\n const courseLanguage = language || 'en';\n const selectedLanguageItem = getLocalStorage(selectedLanguageKey) || {};\n const [selectedLanguage] = useKeyedState(\n stateKeys.selectedLanguage,\n selectedLanguageItem[courseId] || courseLanguage,\n );\n\n const [showAdditionalMessage, setShowAdditionalMessage] = useState(false);\n\n useEffect(() => {\n if (courseLanguage !== selectedLanguage) {\n const timer = setTimeout(() => {\n setShowAdditionalMessage(true);\n }, LONG_LOADING_DELAY_MS);\n\n return () => clearTimeout(timer);\n }\n return undefined; // to remove linting error\n }, [courseLanguage, selectedLanguage]);\n\n return courseLanguage !== selectedLanguage ? (\n <div\n className=\"d-flex justify-content-center align-items-center flex-column\"\n id=\"translating-loader-container\"\n >\n <SVGLoader />\n <p className=\"mt-2\" id=\"loader-text\">\n {formatMessage(messages.translatingLoaderText)}\n <span className=\"ellipsis-container\">\n <span>.</span>\n <span>.</span>\n <span>.</span>\n </span>\n </p>\n {showAdditionalMessage && (\n <p className=\"mt-2\" id=\"additional-message\">\n {formatMessage(messages.translatingLoaderAdditionalTextFirstLine)} <br />\n {formatMessage(messages.translatingLoaderAdditionalTextWaitNote)}\n </p>\n )}\n </div>\n ) : (\n defaultLoaderComponent\n );\n};\n\nTranslationsLoader.propTypes = {\n courseId: PropTypes.string.isRequired,\n defaultLoaderComponent: PropTypes.node.isRequired,\n};\n\nexport default TranslationsLoader;\n"],"mappings":"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","ignoreList":[]}
@@ -4,8 +4,16 @@
4
4
 
5
5
  p {
6
6
  font-weight: 400;
7
- font-size: 1.125rem;
8
- line-height: 1.75rem;
7
+ }
8
+ #loader-text{
9
+ font-size: 1.37rem;
10
+ line-height: 2.25rem;
11
+ }
12
+ #additional-message{
13
+ font-size: 0.875rem;
14
+ line-height: 1.5rem;
15
+ text-align: center;
16
+ word-wrap: break-word;
9
17
  }
10
18
  }
11
19
 
@@ -10,6 +10,16 @@ var messages = (0, _i18n.defineMessages)({
10
10
  id: 'unit-translation-selector-plugin.translationsLoader.loaderText',
11
11
  defaultMessage: 'Translating',
12
12
  description: 'Translating text shown when translating to a language'
13
+ },
14
+ translatingLoaderAdditionalTextFirstLine: {
15
+ id: 'unit-translation-selector-plugin.translationsLoader.additionalTextFirstLine',
16
+ defaultMessage: 'Wow, you’re the first person to translate to this language!',
17
+ description: 'First line of additional message shown after a short delay if translation takes longer than expected'
18
+ },
19
+ translatingLoaderAdditionalTextWaitNote: {
20
+ id: 'unit-translation-selector-plugin.translationsLoader.additionalTextWaitNote',
21
+ defaultMessage: 'This may take a few more seconds than usual, hang tight.',
22
+ description: 'Wait note for additional message'
13
23
  }
14
24
  });
15
25
  var _default = exports["default"] = messages;
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","names":["_i18n","require","messages","defineMessages","translatingLoaderText","id","defaultMessage","description","_default","exports"],"sources":["../../src/translations-loader/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n translatingLoaderText: {\n id: 'unit-translation-selector-plugin.translationsLoader.loaderText',\n defaultMessage: 'Translating',\n description: 'Translating text shown when translating to a language',\n },\n});\n\nexport default messages;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAMC,QAAQ,GAAG,IAAAC,oBAAc,EAAC;EAC9BC,qBAAqB,EAAE;IACrBC,EAAE,EAAE,gEAAgE;IACpEC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEYP,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"messages.js","names":["_i18n","require","messages","defineMessages","translatingLoaderText","id","defaultMessage","description","translatingLoaderAdditionalTextFirstLine","translatingLoaderAdditionalTextWaitNote","_default","exports"],"sources":["../../src/translations-loader/messages.js"],"sourcesContent":["import { defineMessages } from '@edx/frontend-platform/i18n';\n\nconst messages = defineMessages({\n translatingLoaderText: {\n id: 'unit-translation-selector-plugin.translationsLoader.loaderText',\n defaultMessage: 'Translating',\n description: 'Translating text shown when translating to a language',\n },\n translatingLoaderAdditionalTextFirstLine: {\n id: 'unit-translation-selector-plugin.translationsLoader.additionalTextFirstLine',\n defaultMessage: 'Wow, you’re the first person to translate to this language!',\n description: 'First line of additional message shown after a short delay if translation takes longer than expected',\n },\n translatingLoaderAdditionalTextWaitNote: {\n id: 'unit-translation-selector-plugin.translationsLoader.additionalTextWaitNote',\n defaultMessage: 'This may take a few more seconds than usual, hang tight.',\n description: 'Wait note for additional message',\n },\n});\n\nexport default messages;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAMC,QAAQ,GAAG,IAAAC,oBAAc,EAAC;EAC9BC,qBAAqB,EAAE;IACrBC,EAAE,EAAE,gEAAgE;IACpEC,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE;EACf,CAAC;EACDC,wCAAwC,EAAE;IACxCH,EAAE,EAAE,6EAA6E;IACjFC,cAAc,EAAE,6DAA6D;IAC7EC,WAAW,EAAE;EACf,CAAC;EACDE,uCAAuC,EAAE;IACvCJ,EAAE,EAAE,4EAA4E;IAChFC,cAAc,EAAE,0DAA0D;IAC1EC,WAAW,EAAE;EACf;AACF,CAAC,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,cAEYT,QAAQ","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.getCookies = getCookies;
6
7
  exports.handleCorrelationIDCookie = void 0;
7
8
  exports.setCookie = setCookie;
8
9
  // general cookie setter, expires after 30 minutes
@@ -18,4 +19,20 @@ var handleCorrelationIDCookie = exports.handleCorrelationIDCookie = function han
18
19
  setCookie('tglr_correlation_id', correlationId);
19
20
  return correlationId;
20
21
  };
22
+ function getCookies() {
23
+ var cookies = document.cookie.split(';');
24
+ var cookieObj = {};
25
+ for (var i = 0; i < cookies.length; i++) {
26
+ var cookie = cookies[i].trim();
27
+ var parts = cookie.split('=');
28
+ var key = parts[0];
29
+ var value = parts.slice(1).join('=');
30
+ try {
31
+ cookieObj[key] = decodeURIComponent(value);
32
+ } catch (e) {
33
+ cookieObj[key] = value;
34
+ }
35
+ }
36
+ return cookieObj;
37
+ }
21
38
  //# sourceMappingURL=cookie.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cookie.js","names":["setCookie","cookieName","cookieValue","a","Date","setTime","getTime","document","cookie","concat","toGMTString","handleCorrelationIDCookie","exports","correlationId","window","crypto","randomUUID"],"sources":["../../src/utils/cookie.js"],"sourcesContent":["// general cookie setter, expires after 30 minutes\nexport function setCookie(cookieName, cookieValue) {\n const a = new Date();\n // set to expire after 30 minutes, or 1.8 million milliseconds\n a.setTime(a.getTime() + 1800000);\n document.cookie = `${cookieName}\\x3d${cookieValue}; expires\\x3d${a.toGMTString()}; path\\x3d/; domain\\x3d.edx.org;`;\n}\n\nexport const handleCorrelationIDCookie = () => {\n // set correlation ID to a random UUID\n const correlationId = window.crypto.randomUUID();\n\n setCookie('tglr_correlation_id', correlationId);\n return correlationId;\n};\n"],"mappings":";;;;;;;AAAA;AACO,SAASA,SAASA,CAACC,UAAU,EAAEC,WAAW,EAAE;EACjD,IAAMC,CAAC,GAAG,IAAIC,IAAI,CAAC,CAAC;EACpB;EACAD,CAAC,CAACE,OAAO,CAACF,CAAC,CAACG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;EAChCC,QAAQ,CAACC,MAAM,MAAAC,MAAA,CAAMR,UAAU,OAAAQ,MAAA,CAAOP,WAAW,gBAAAO,MAAA,CAAgBN,CAAC,CAACO,WAAW,CAAC,CAAC,+BAAkC;AACpH;AAEO,IAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,SAA5BA,yBAAyBA,CAAA,EAAS;EAC7C;EACA,IAAME,aAAa,GAAGC,MAAM,CAACC,MAAM,CAACC,UAAU,CAAC,CAAC;EAEhDhB,SAAS,CAAC,qBAAqB,EAAEa,aAAa,CAAC;EAC/C,OAAOA,aAAa;AACtB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"cookie.js","names":["setCookie","cookieName","cookieValue","a","Date","setTime","getTime","document","cookie","concat","toGMTString","handleCorrelationIDCookie","exports","correlationId","window","crypto","randomUUID","getCookies","cookies","split","cookieObj","i","length","trim","parts","key","value","slice","join","decodeURIComponent","e"],"sources":["../../src/utils/cookie.js"],"sourcesContent":["// general cookie setter, expires after 30 minutes\nexport function setCookie(cookieName, cookieValue) {\n const a = new Date();\n // set to expire after 30 minutes, or 1.8 million milliseconds\n a.setTime(a.getTime() + 1800000);\n document.cookie = `${cookieName}\\x3d${cookieValue}; expires\\x3d${a.toGMTString()}; path\\x3d/; domain\\x3d.edx.org;`;\n}\n\nexport const handleCorrelationIDCookie = () => {\n // set correlation ID to a random UUID\n const correlationId = window.crypto.randomUUID();\n\n setCookie('tglr_correlation_id', correlationId);\n return correlationId;\n};\n\nexport function getCookies() {\n const cookies = document.cookie.split(';');\n const cookieObj = {};\n\n for (let i = 0; i < cookies.length; i++) {\n const cookie = cookies[i].trim();\n const parts = cookie.split('=');\n const key = parts[0];\n const value = parts.slice(1).join('=');\n try {\n cookieObj[key] = decodeURIComponent(value);\n } catch (e) {\n cookieObj[key] = value;\n }\n }\n return cookieObj;\n}\n"],"mappings":";;;;;;;;AAAA;AACO,SAASA,SAASA,CAACC,UAAU,EAAEC,WAAW,EAAE;EACjD,IAAMC,CAAC,GAAG,IAAIC,IAAI,CAAC,CAAC;EACpB;EACAD,CAAC,CAACE,OAAO,CAACF,CAAC,CAACG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;EAChCC,QAAQ,CAACC,MAAM,MAAAC,MAAA,CAAMR,UAAU,OAAAQ,MAAA,CAAOP,WAAW,gBAAAO,MAAA,CAAgBN,CAAC,CAACO,WAAW,CAAC,CAAC,+BAAkC;AACpH;AAEO,IAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,SAA5BA,yBAAyBA,CAAA,EAAS;EAC7C;EACA,IAAME,aAAa,GAAGC,MAAM,CAACC,MAAM,CAACC,UAAU,CAAC,CAAC;EAEhDhB,SAAS,CAAC,qBAAqB,EAAEa,aAAa,CAAC;EAC/C,OAAOA,aAAa;AACtB,CAAC;AAEM,SAASI,UAAUA,CAAA,EAAG;EAC3B,IAAMC,OAAO,GAAGX,QAAQ,CAACC,MAAM,CAACW,KAAK,CAAC,GAAG,CAAC;EAC1C,IAAMC,SAAS,GAAG,CAAC,CAAC;EAEpB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,OAAO,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;IACvC,IAAMb,MAAM,GAAGU,OAAO,CAACG,CAAC,CAAC,CAACE,IAAI,CAAC,CAAC;IAChC,IAAMC,KAAK,GAAGhB,MAAM,CAACW,KAAK,CAAC,GAAG,CAAC;IAC/B,IAAMM,GAAG,GAAGD,KAAK,CAAC,CAAC,CAAC;IACpB,IAAME,KAAK,GAAGF,KAAK,CAACG,KAAK,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;IACtC,IAAI;MACFR,SAAS,CAACK,GAAG,CAAC,GAAGI,kBAAkB,CAACH,KAAK,CAAC;IAC5C,CAAC,CAAC,OAAOI,CAAC,EAAE;MACVV,SAAS,CAACK,GAAG,CAAC,GAAGC,KAAK;IACxB;EACF;EACA,OAAON,SAAS;AAClB","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edx/unit-title-plugin",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "description": "Unit title plugin in frontend-app-learning",
5
5
  "main": "dist",
6
6
  "author": "edX",
@@ -47,5 +47,5 @@
47
47
  "devDependencies": {
48
48
  "rosie": "^2.1.1"
49
49
  },
50
- "gitHead": "00b0e1f6642276a6787159f7f78dc0fa292d1e7b"
50
+ "gitHead": "c779833bef24ef851afcb927a759b17572a7aec2"
51
51
  }