@edx/unit-title-plugin 0.0.6 → 0.0.7
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/dist/translation-button/index.js +4 -2
- package/dist/translation-button/index.js.map +1 -1
- package/dist/translation-button/translation-selection/index.js +2 -1
- package/dist/translation-button/translation-selection/index.js.map +1 -1
- package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js +2 -1
- package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js.map +1 -1
- package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js +27 -4
- package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js.map +1 -1
- package/dist/utils/cookie.js +21 -0
- package/dist/utils/cookie.js.map +1 -0
- package/package.json +2 -2
|
@@ -41,7 +41,8 @@ var UnitTranslationSelector = function UnitTranslationSelector(_ref) {
|
|
|
41
41
|
isStaff = _useModel2.isStaff,
|
|
42
42
|
verifiedMode = _useModel2.verifiedMode,
|
|
43
43
|
org = _useModel2.org,
|
|
44
|
-
originalUserIsStaff = _useModel2.originalUserIsStaff
|
|
44
|
+
originalUserIsStaff = _useModel2.originalUserIsStaff,
|
|
45
|
+
courseName = _useModel2.title;
|
|
45
46
|
var _useState = (0, _react.useState)({
|
|
46
47
|
enabled: false,
|
|
47
48
|
availableLanguages: []
|
|
@@ -55,7 +56,8 @@ var UnitTranslationSelector = function UnitTranslationSelector(_ref) {
|
|
|
55
56
|
var isFBE = !!accessExpiration && !!(datesBannerInfo !== null && datesBannerInfo !== void 0 && datesBannerInfo.contentTypeGatingEnabled);
|
|
56
57
|
var logEventProperties = {
|
|
57
58
|
org_key: org,
|
|
58
|
-
courserun_key: courseId
|
|
59
|
+
courserun_key: courseId,
|
|
60
|
+
course_name: courseName
|
|
59
61
|
};
|
|
60
62
|
(0, _react.useEffect)(function () {
|
|
61
63
|
if (hasVerifiedTrack) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_hooks","_modelStore","_constants","_translationSelection","_api","_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","UnitTranslationSelector","_ref","dispatch","id","unitId","unitTitle","isLegacyButton","courseId","useContextId","_useModel","useModel","language","enrollmentMode","accessExpiration","datesBannerInfo","courseLanguage","isEnglish","_useModel2","courseModes","isStaff","verifiedMode","org","originalUserIsStaff","_useState","useState","enabled","availableLanguages","_useState2","translationConfig","setTranslationConfig","hasVerifiedTrack","some","mode","VERIFIED_MODES","includes","slug","isFBE","contentTypeGatingEnabled","logEventProperties","org_key","courserun_key","useEffect","fetchTranslationConfig","then","isAuditMode","jsx","propTypes","PropTypes","string","isRequired","func","bool","_default","exports"],"sources":["../../src/translation-button/index.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useContextId } from '@src/data/hooks';\nimport { useModel } from '@src/generic/model-store';\nimport { VERIFIED_MODES } from '@src/constants';\nimport TranslationSelection from './translation-selection';\nimport { fetchTranslationConfig } from './data/api';\n\nconst UnitTranslationSelector = ({\n dispatch,\n id,\n unitId,\n unitTitle,\n isLegacyButton,\n}) => {\n const courseId = useContextId();\n const {\n language,\n enrollmentMode,\n accessExpiration,\n datesBannerInfo,\n } = useModel('coursewareMeta', courseId);\n const courseLanguage = language || 'en';\n const isEnglish = courseLanguage === 'en';\n const {\n courseModes,\n isStaff,\n verifiedMode,\n org,\n originalUserIsStaff,\n } = useModel('courseHomeMeta', courseId);\n const [translationConfig, setTranslationConfig] = useState({\n enabled: false,\n availableLanguages: [],\n });\n const hasVerifiedTrack = courseModes?.some(mode => VERIFIED_MODES.includes(mode.slug));\n\n const isFBE = !!accessExpiration && !!datesBannerInfo?.contentTypeGatingEnabled;\n const logEventProperties = {\n org_key: org,\n courserun_key: courseId,\n };\n\n useEffect(() => {\n if (hasVerifiedTrack) {\n fetchTranslationConfig(courseId).then(setTranslationConfig);\n }\n }, []);\n\n const { enabled, availableLanguages } = translationConfig;\n\n if (!hasVerifiedTrack || !enabled || !availableLanguages.length || !isEnglish) {\n return null;\n }\n\n let isAuditMode = enrollmentMode === 'audit' && !isStaff;\n\n /* 12-20-2024\n * This check will render different experiences between the learner audit view and the masquerade\n * audit view. The learner view will not see the button, but the masquerade view will show the\n * verified version of the button. Currently there is no way to distinguish the enrollmentMode\n * when masquerading, as it will always return audit. When masquerading and verifiedMode === null,\n * it is impossible to distinguish between the audit and verified experience from the courseware data.\n */\n if (isAuditMode) {\n if (!verifiedMode) {\n if (!originalUserIsStaff) {\n return null;\n }\n isAuditMode = false;\n }\n }\n\n return (\n <TranslationSelection\n {...{\n dispatch,\n id,\n courseId,\n courseLanguage,\n availableLanguages,\n unitId,\n unitTitle,\n isAuditMode,\n isFBE,\n logEventProperties,\n isLegacyButton,\n }}\n verifiedMode={verifiedMode || {}}\n />\n );\n};\n\nUnitTranslationSelector.propTypes = {\n id: PropTypes.string.isRequired,\n unitId: PropTypes.string.isRequired,\n unitTitle: PropTypes.string.isRequired,\n dispatch: PropTypes.func.isRequired,\n isLegacyButton: PropTypes.bool.isRequired,\n};\n\nexport default UnitTranslationSelector;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_hooks","_modelStore","_constants","_translationSelection","_api","_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","UnitTranslationSelector","_ref","dispatch","id","unitId","unitTitle","isLegacyButton","courseId","useContextId","_useModel","useModel","language","enrollmentMode","accessExpiration","datesBannerInfo","courseLanguage","isEnglish","_useModel2","courseModes","isStaff","verifiedMode","org","originalUserIsStaff","courseName","title","_useState","useState","enabled","availableLanguages","_useState2","translationConfig","setTranslationConfig","hasVerifiedTrack","some","mode","VERIFIED_MODES","includes","slug","isFBE","contentTypeGatingEnabled","logEventProperties","org_key","courserun_key","course_name","useEffect","fetchTranslationConfig","then","isAuditMode","jsx","propTypes","PropTypes","string","isRequired","func","bool","_default","exports"],"sources":["../../src/translation-button/index.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useContextId } from '@src/data/hooks';\nimport { useModel } from '@src/generic/model-store';\nimport { VERIFIED_MODES } from '@src/constants';\nimport TranslationSelection from './translation-selection';\nimport { fetchTranslationConfig } from './data/api';\n\nconst UnitTranslationSelector = ({\n dispatch,\n id,\n unitId,\n unitTitle,\n isLegacyButton,\n}) => {\n const courseId = useContextId();\n const {\n language,\n enrollmentMode,\n accessExpiration,\n datesBannerInfo,\n } = useModel('coursewareMeta', courseId);\n const courseLanguage = language || 'en';\n const isEnglish = courseLanguage === 'en';\n const {\n courseModes,\n isStaff,\n verifiedMode,\n org,\n originalUserIsStaff,\n title: courseName,\n } = useModel('courseHomeMeta', courseId);\n const [translationConfig, setTranslationConfig] = useState({\n enabled: false,\n availableLanguages: [],\n });\n const hasVerifiedTrack = courseModes?.some(mode => VERIFIED_MODES.includes(mode.slug));\n\n const isFBE = !!accessExpiration && !!datesBannerInfo?.contentTypeGatingEnabled;\n const logEventProperties = {\n org_key: org,\n courserun_key: courseId,\n course_name: courseName,\n };\n\n useEffect(() => {\n if (hasVerifiedTrack) {\n fetchTranslationConfig(courseId).then(setTranslationConfig);\n }\n }, []);\n\n const { enabled, availableLanguages } = translationConfig;\n\n if (!hasVerifiedTrack || !enabled || !availableLanguages.length || !isEnglish) {\n return null;\n }\n\n let isAuditMode = enrollmentMode === 'audit' && !isStaff;\n\n /* 12-20-2024\n * This check will render different experiences between the learner audit view and the masquerade\n * audit view. The learner view will not see the button, but the masquerade view will show the\n * verified version of the button. Currently there is no way to distinguish the enrollmentMode\n * when masquerading, as it will always return audit. When masquerading and verifiedMode === null,\n * it is impossible to distinguish between the audit and verified experience from the courseware data.\n */\n if (isAuditMode) {\n if (!verifiedMode) {\n if (!originalUserIsStaff) {\n return null;\n }\n isAuditMode = false;\n }\n }\n\n return (\n <TranslationSelection\n {...{\n dispatch,\n id,\n courseId,\n courseLanguage,\n availableLanguages,\n unitId,\n unitTitle,\n isAuditMode,\n isFBE,\n logEventProperties,\n isLegacyButton,\n }}\n verifiedMode={verifiedMode || {}}\n />\n );\n};\n\nUnitTranslationSelector.propTypes = {\n id: PropTypes.string.isRequired,\n unitId: PropTypes.string.isRequired,\n unitTitle: PropTypes.string.isRequired,\n dispatch: PropTypes.func.isRequired,\n isLegacyButton: PropTypes.bool.isRequired,\n};\n\nexport default UnitTranslationSelector;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -163,7 +163,8 @@ TranslationSelection.propTypes = {
|
|
|
163
163
|
isAuditMode: _propTypes["default"].bool.isRequired,
|
|
164
164
|
logEventProperties: _propTypes["default"].shape({
|
|
165
165
|
org_key: _propTypes["default"].string.isRequired,
|
|
166
|
-
courserun_key: _propTypes["default"].string.isRequired
|
|
166
|
+
courserun_key: _propTypes["default"].string.isRequired,
|
|
167
|
+
course_name: _propTypes["default"].string.isRequired
|
|
167
168
|
}).isRequired
|
|
168
169
|
};
|
|
169
170
|
TranslationSelection.defaultProps = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_analytics","_i18n","_auth","_paragon","_icons","_queryString","_pluginStore","_messages","_translationModal","_useTranslationTour2","_useSelectLanguage2","_useUnitTitle","_feedbackWidget","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","o","Symbol","iterator","constructor","prototype","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","toPrimitive","TypeError","String","Number","TranslationSelection","_ref","id","isLegacyButton","courseId","courseLanguage","availableLanguages","unitId","unitTitle","isAuditMode","isFBE","verifiedMode","logEventProperties","dispatch","_useIntl","useIntl","formatMessage","_getAuthenticatedUser","getAuthenticatedUser","userId","_useTranslationTour","useTranslationTour","translationTour","isOpen","open","close","_useSelectLanguage","useSelectLanguage","selectedLanguage","setSelectedLanguage","logButtonProperties","is_audit_user","buttonIcon","Lock","Translate","ariaDescription","handleTranslateClick","sendTrackEvent","useUnitTitle","useEffect","eventName","eventProperties","sourceLanguage","targetLanguage","registerOverrideMethod","pluginName","methodName","method","iframeUrl","finalUrl","stringifyUrl","url","query","src_lang","dest_lang","jsxs","className","children","jsx","ProductTour","tours","Button","iconBefore","alt","variant","onClick","size","messages","translationButtonText","originalCourseLanguage","translationLanguage","propTypes","PropTypes","func","isRequired","string","bool","arrayOf","shape","code","label","currencySymbol","price","number","upgradeUrl","org_key","courserun_key","defaultProps","_default","exports"],"sources":["../../../src/translation-button/translation-selection/index.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { sendTrackEvent } from '@edx/frontend-platform/analytics';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { getAuthenticatedUser } from '@edx/frontend-platform/auth';\nimport { Button, ProductTour } from '@openedx/paragon';\nimport { Translate, Lock } from '@openedx/paragon/icons';\nimport { stringifyUrl } from 'query-string';\n\nimport { registerOverrideMethod } from '@src/generic/plugin-store';\n\nimport messages from './messages';\nimport TranslationModal from './translation-modal';\nimport useTranslationTour from './useTranslationTour';\nimport useSelectLanguage from './useSelectLanguage';\nimport useUnitTitle from './useUnitTitle';\nimport FeedbackWidget from '../feedback-widget';\nimport './index.scss';\n\nconst TranslationSelection = ({\n id,\n isLegacyButton,\n courseId,\n courseLanguage,\n availableLanguages,\n unitId,\n unitTitle,\n isAuditMode,\n isFBE,\n verifiedMode,\n logEventProperties,\n dispatch,\n}) => {\n const { formatMessage } = useIntl();\n const { userId } = getAuthenticatedUser();\n const {\n translationTour, isOpen, open, close,\n } = useTranslationTour();\n\n const { selectedLanguage, setSelectedLanguage } = useSelectLanguage({\n courseId,\n courseLanguage,\n availableLanguages,\n });\n\n const logButtonProperties = { ...logEventProperties, is_audit_user: isAuditMode };\n const buttonIcon = isAuditMode ? Lock : Translate;\n const ariaDescription = isAuditMode ? 'Upgrade to unlock course translations' : 'Select language to translate content into';\n\n const handleTranslateClick = () => {\n sendTrackEvent('edx.whole_course_translations.translate_button.clicked', logButtonProperties);\n open();\n };\n\n useUnitTitle({\n courseId,\n selectedLanguage,\n unitId,\n unitTitle,\n courseLanguage,\n });\n\n useEffect(() => {\n if ((courseId && selectedLanguage && unitId && userId) && (courseLanguage !== selectedLanguage) && !isAuditMode) {\n const eventName = 'edx.whole_course_translations.translation_requested';\n const eventProperties = {\n courseId,\n sourceLanguage: courseLanguage,\n targetLanguage: selectedLanguage,\n unitId,\n userId,\n };\n sendTrackEvent(eventName, eventProperties);\n }\n }, [courseId, courseLanguage, selectedLanguage, unitId, userId]);\n\n useEffect(() => {\n sendTrackEvent('edx.whole_course_translations.translate_button', logButtonProperties);\n }, [courseId]);\n\n useEffect(() => {\n dispatch(\n registerOverrideMethod({\n pluginName: id,\n methodName: 'getIFrameUrl',\n method: (iframeUrl) => {\n const finalUrl = stringifyUrl({\n url: iframeUrl,\n query: {\n ...((courseLanguage && selectedLanguage && (courseLanguage !== selectedLanguage)) && {\n src_lang: courseLanguage,\n dest_lang: selectedLanguage,\n }),\n },\n });\n return finalUrl;\n },\n }),\n );\n }, [courseLanguage, selectedLanguage]);\n\n return (\n <div className={isLegacyButton ? '' : 'toolbar-divider'}>\n <ProductTour tours={[translationTour]} />\n <Button\n iconBefore={buttonIcon}\n aria-description={ariaDescription}\n alt=\"change-language\"\n variant={isLegacyButton ? 'outline-primary' : 'tertiary'}\n className={isLegacyButton ? 'translation-selection-button' : 'text-primary-500 icon-hover'}\n onClick={handleTranslateClick}\n size={!isLegacyButton && 'sm'}\n >\n {formatMessage(messages.translationButtonText)}\n </Button>\n <TranslationModal\n {...{\n availableLanguages,\n close,\n courseId,\n id,\n isOpen,\n isAuditMode,\n isFBE,\n selectedLanguage,\n setSelectedLanguage,\n verifiedMode,\n logEventProperties,\n originalCourseLanguage: courseLanguage,\n }}\n />\n <FeedbackWidget\n courseId={courseId}\n courseLanguage={courseLanguage}\n translationLanguage={selectedLanguage}\n unitId={unitId}\n userId={userId}\n />\n </div>\n );\n};\n\nTranslationSelection.propTypes = {\n dispatch: PropTypes.func.isRequired,\n id: PropTypes.string.isRequired,\n isLegacyButton: PropTypes.bool.isRequired,\n courseId: PropTypes.string.isRequired,\n unitId: PropTypes.string.isRequired,\n courseLanguage: PropTypes.string.isRequired,\n availableLanguages: PropTypes.arrayOf(PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n })).isRequired,\n unitTitle: PropTypes.string.isRequired,\n isFBE: PropTypes.bool.isRequired,\n verifiedMode: PropTypes.shape({\n currencySymbol: PropTypes.string,\n price: PropTypes.number,\n upgradeUrl: PropTypes.string,\n }).isRequired,\n isAuditMode: PropTypes.bool.isRequired,\n logEventProperties: PropTypes.shape({\n org_key: PropTypes.string.isRequired,\n courserun_key: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nTranslationSelection.defaultProps = {};\n\nexport default TranslationSelection;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_analytics","_i18n","_auth","_paragon","_icons","_queryString","_pluginStore","_messages","_translationModal","_useTranslationTour2","_useSelectLanguage2","_useUnitTitle","_feedbackWidget","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","o","Symbol","iterator","constructor","prototype","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","toPrimitive","TypeError","String","Number","TranslationSelection","_ref","id","isLegacyButton","courseId","courseLanguage","availableLanguages","unitId","unitTitle","isAuditMode","isFBE","verifiedMode","logEventProperties","dispatch","_useIntl","useIntl","formatMessage","_getAuthenticatedUser","getAuthenticatedUser","userId","_useTranslationTour","useTranslationTour","translationTour","isOpen","open","close","_useSelectLanguage","useSelectLanguage","selectedLanguage","setSelectedLanguage","logButtonProperties","is_audit_user","buttonIcon","Lock","Translate","ariaDescription","handleTranslateClick","sendTrackEvent","useUnitTitle","useEffect","eventName","eventProperties","sourceLanguage","targetLanguage","registerOverrideMethod","pluginName","methodName","method","iframeUrl","finalUrl","stringifyUrl","url","query","src_lang","dest_lang","jsxs","className","children","jsx","ProductTour","tours","Button","iconBefore","alt","variant","onClick","size","messages","translationButtonText","originalCourseLanguage","translationLanguage","propTypes","PropTypes","func","isRequired","string","bool","arrayOf","shape","code","label","currencySymbol","price","number","upgradeUrl","org_key","courserun_key","course_name","defaultProps","_default","exports"],"sources":["../../../src/translation-button/translation-selection/index.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { sendTrackEvent } from '@edx/frontend-platform/analytics';\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { getAuthenticatedUser } from '@edx/frontend-platform/auth';\nimport { Button, ProductTour } from '@openedx/paragon';\nimport { Translate, Lock } from '@openedx/paragon/icons';\nimport { stringifyUrl } from 'query-string';\n\nimport { registerOverrideMethod } from '@src/generic/plugin-store';\n\nimport messages from './messages';\nimport TranslationModal from './translation-modal';\nimport useTranslationTour from './useTranslationTour';\nimport useSelectLanguage from './useSelectLanguage';\nimport useUnitTitle from './useUnitTitle';\nimport FeedbackWidget from '../feedback-widget';\nimport './index.scss';\n\nconst TranslationSelection = ({\n id,\n isLegacyButton,\n courseId,\n courseLanguage,\n availableLanguages,\n unitId,\n unitTitle,\n isAuditMode,\n isFBE,\n verifiedMode,\n logEventProperties,\n dispatch,\n}) => {\n const { formatMessage } = useIntl();\n const { userId } = getAuthenticatedUser();\n const {\n translationTour, isOpen, open, close,\n } = useTranslationTour();\n\n const { selectedLanguage, setSelectedLanguage } = useSelectLanguage({\n courseId,\n courseLanguage,\n availableLanguages,\n });\n\n const logButtonProperties = { ...logEventProperties, is_audit_user: isAuditMode };\n const buttonIcon = isAuditMode ? Lock : Translate;\n const ariaDescription = isAuditMode ? 'Upgrade to unlock course translations' : 'Select language to translate content into';\n\n const handleTranslateClick = () => {\n sendTrackEvent('edx.whole_course_translations.translate_button.clicked', logButtonProperties);\n open();\n };\n\n useUnitTitle({\n courseId,\n selectedLanguage,\n unitId,\n unitTitle,\n courseLanguage,\n });\n\n useEffect(() => {\n if ((courseId && selectedLanguage && unitId && userId) && (courseLanguage !== selectedLanguage) && !isAuditMode) {\n const eventName = 'edx.whole_course_translations.translation_requested';\n const eventProperties = {\n courseId,\n sourceLanguage: courseLanguage,\n targetLanguage: selectedLanguage,\n unitId,\n userId,\n };\n sendTrackEvent(eventName, eventProperties);\n }\n }, [courseId, courseLanguage, selectedLanguage, unitId, userId]);\n\n useEffect(() => {\n sendTrackEvent('edx.whole_course_translations.translate_button', logButtonProperties);\n }, [courseId]);\n\n useEffect(() => {\n dispatch(\n registerOverrideMethod({\n pluginName: id,\n methodName: 'getIFrameUrl',\n method: (iframeUrl) => {\n const finalUrl = stringifyUrl({\n url: iframeUrl,\n query: {\n ...((courseLanguage && selectedLanguage && (courseLanguage !== selectedLanguage)) && {\n src_lang: courseLanguage,\n dest_lang: selectedLanguage,\n }),\n },\n });\n return finalUrl;\n },\n }),\n );\n }, [courseLanguage, selectedLanguage]);\n\n return (\n <div className={isLegacyButton ? '' : 'toolbar-divider'}>\n <ProductTour tours={[translationTour]} />\n <Button\n iconBefore={buttonIcon}\n aria-description={ariaDescription}\n alt=\"change-language\"\n variant={isLegacyButton ? 'outline-primary' : 'tertiary'}\n className={isLegacyButton ? 'translation-selection-button' : 'text-primary-500 icon-hover'}\n onClick={handleTranslateClick}\n size={!isLegacyButton && 'sm'}\n >\n {formatMessage(messages.translationButtonText)}\n </Button>\n <TranslationModal\n {...{\n availableLanguages,\n close,\n courseId,\n id,\n isOpen,\n isAuditMode,\n isFBE,\n selectedLanguage,\n setSelectedLanguage,\n verifiedMode,\n logEventProperties,\n originalCourseLanguage: courseLanguage,\n }}\n />\n <FeedbackWidget\n courseId={courseId}\n courseLanguage={courseLanguage}\n translationLanguage={selectedLanguage}\n unitId={unitId}\n userId={userId}\n />\n </div>\n );\n};\n\nTranslationSelection.propTypes = {\n dispatch: PropTypes.func.isRequired,\n id: PropTypes.string.isRequired,\n isLegacyButton: PropTypes.bool.isRequired,\n courseId: PropTypes.string.isRequired,\n unitId: PropTypes.string.isRequired,\n courseLanguage: PropTypes.string.isRequired,\n availableLanguages: PropTypes.arrayOf(PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n })).isRequired,\n unitTitle: PropTypes.string.isRequired,\n isFBE: PropTypes.bool.isRequired,\n verifiedMode: PropTypes.shape({\n currencySymbol: PropTypes.string,\n price: PropTypes.number,\n upgradeUrl: PropTypes.string,\n }).isRequired,\n isAuditMode: PropTypes.bool.isRequired,\n logEventProperties: PropTypes.shape({\n org_key: PropTypes.string.isRequired,\n courserun_key: PropTypes.string.isRequired,\n course_name: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nTranslationSelection.defaultProps = {};\n\nexport default TranslationSelection;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -94,7 +94,8 @@ TranslationModal.propTypes = {
|
|
|
94
94
|
isAuditMode: _propTypes["default"].bool.isRequired,
|
|
95
95
|
logEventProperties: _propTypes["default"].shape({
|
|
96
96
|
org_key: _propTypes["default"].string.isRequired,
|
|
97
|
-
courserun_key: _propTypes["default"].string.isRequired
|
|
97
|
+
courserun_key: _propTypes["default"].string.isRequired,
|
|
98
|
+
course_name: _propTypes["default"].string.isRequired
|
|
98
99
|
}).isRequired,
|
|
99
100
|
originalCourseLanguage: _propTypes["default"].string.isRequired
|
|
100
101
|
};
|
package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranslationModal.js","names":["_react","_interopRequireDefault","require","_propTypes","_i18n","_paragon","_useTranslationModal2","_messages","_ModalFooter","_UpgradeModalBody","_PaidModalBody","_jsxRuntime","obj","__esModule","TranslationModal","_ref","availableLanguages","isAuditMode","isFBE","isOpen","close","logEventProperties","selectedLanguage","setSelectedLanguage","verifiedMode","originalCourseLanguage","_useIntl","useIntl","formatMessage","currencySymbol","price","upgradeUrl","_useTranslationModal","useTranslationModal","courseEnabledLanguages","selectedIndex","setSelectedIndex","onSubmit","buttonText","messages","upgradeButtonText","upgradePrice","concat","submitButtonText","title","upgradeLanguageSelectionModalTitle","asterisk","jsx","children","languageSelectionModalTitle","StandardModal","onClose","isFullscreenScroll","footerNode","propTypes","PropTypes","bool","isRequired","func","string","arrayOf","shape","code","label","number","org_key","courserun_key","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/TranslationModal.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { StandardModal } from '@openedx/paragon';\n\nimport useTranslationModal from './useTranslationModal';\nimport messages from './messages';\nimport './TranslationModal.scss';\nimport ModalFooter from './ModalFooter';\nimport UpgradeModalBody from './UpgradeModalBody';\nimport PaidModalBody from './PaidModalBody';\n\nconst TranslationModal = ({\n availableLanguages,\n isAuditMode,\n isFBE,\n isOpen,\n close,\n logEventProperties,\n selectedLanguage,\n setSelectedLanguage,\n verifiedMode,\n originalCourseLanguage,\n}) => {\n const { formatMessage } = useIntl();\n const { currencySymbol, price, upgradeUrl } = verifiedMode;\n const {\n courseEnabledLanguages,\n selectedIndex,\n setSelectedIndex,\n onSubmit,\n } = useTranslationModal({\n selectedLanguage,\n setSelectedLanguage,\n close,\n isAuditMode,\n upgradeUrl,\n logEventProperties,\n availableLanguages,\n originalCourseLanguage,\n });\n\n const buttonText = isAuditMode ? (\n formatMessage(messages.upgradeButtonText, { upgradePrice: `${currencySymbol}${price}` })\n ) : (\n formatMessage(messages.submitButtonText)\n );\n\n const title = isAuditMode ? (\n formatMessage(messages.upgradeLanguageSelectionModalTitle, { asterisk: <sup>*</sup> })\n ) : (\n formatMessage(messages.languageSelectionModalTitle)\n );\n\n return (\n <StandardModal\n title={title}\n isOpen={isOpen}\n onClose={close}\n isFullscreenScroll\n footerNode={(\n <ModalFooter\n {...{\n buttonText,\n onSubmit,\n close,\n }}\n />\n )}\n >\n {isAuditMode ? (\n <UpgradeModalBody {...{ courseEnabledLanguages, isFBE, originalCourseLanguage }} />\n ) : (\n <PaidModalBody\n {...{\n selectedIndex,\n setSelectedIndex,\n courseEnabledLanguages,\n originalCourseLanguage,\n }}\n />\n )}\n </StandardModal>\n );\n};\n\nTranslationModal.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n close: PropTypes.func.isRequired,\n selectedLanguage: PropTypes.string.isRequired,\n setSelectedLanguage: PropTypes.func.isRequired,\n availableLanguages: PropTypes.arrayOf(\n PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }),\n ).isRequired,\n isFBE: PropTypes.bool.isRequired,\n verifiedMode: PropTypes.shape({\n currencySymbol: PropTypes.string,\n price: PropTypes.number,\n upgradeUrl: PropTypes.string,\n }).isRequired,\n isAuditMode: PropTypes.bool.isRequired,\n logEventProperties: PropTypes.shape({\n org_key: PropTypes.string.isRequired,\n courserun_key: PropTypes.string.isRequired,\n }).isRequired,\n originalCourseLanguage: PropTypes.string.isRequired,\n};\n\nexport default TranslationModal;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TranslationModal.js","names":["_react","_interopRequireDefault","require","_propTypes","_i18n","_paragon","_useTranslationModal2","_messages","_ModalFooter","_UpgradeModalBody","_PaidModalBody","_jsxRuntime","obj","__esModule","TranslationModal","_ref","availableLanguages","isAuditMode","isFBE","isOpen","close","logEventProperties","selectedLanguage","setSelectedLanguage","verifiedMode","originalCourseLanguage","_useIntl","useIntl","formatMessage","currencySymbol","price","upgradeUrl","_useTranslationModal","useTranslationModal","courseEnabledLanguages","selectedIndex","setSelectedIndex","onSubmit","buttonText","messages","upgradeButtonText","upgradePrice","concat","submitButtonText","title","upgradeLanguageSelectionModalTitle","asterisk","jsx","children","languageSelectionModalTitle","StandardModal","onClose","isFullscreenScroll","footerNode","propTypes","PropTypes","bool","isRequired","func","string","arrayOf","shape","code","label","number","org_key","courserun_key","course_name","_default","exports"],"sources":["../../../../src/translation-button/translation-selection/translation-modal/TranslationModal.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useIntl } from '@edx/frontend-platform/i18n';\nimport { StandardModal } from '@openedx/paragon';\n\nimport useTranslationModal from './useTranslationModal';\nimport messages from './messages';\nimport './TranslationModal.scss';\nimport ModalFooter from './ModalFooter';\nimport UpgradeModalBody from './UpgradeModalBody';\nimport PaidModalBody from './PaidModalBody';\n\nconst TranslationModal = ({\n availableLanguages,\n isAuditMode,\n isFBE,\n isOpen,\n close,\n logEventProperties,\n selectedLanguage,\n setSelectedLanguage,\n verifiedMode,\n originalCourseLanguage,\n}) => {\n const { formatMessage } = useIntl();\n const { currencySymbol, price, upgradeUrl } = verifiedMode;\n const {\n courseEnabledLanguages,\n selectedIndex,\n setSelectedIndex,\n onSubmit,\n } = useTranslationModal({\n selectedLanguage,\n setSelectedLanguage,\n close,\n isAuditMode,\n upgradeUrl,\n logEventProperties,\n availableLanguages,\n originalCourseLanguage,\n });\n\n const buttonText = isAuditMode ? (\n formatMessage(messages.upgradeButtonText, { upgradePrice: `${currencySymbol}${price}` })\n ) : (\n formatMessage(messages.submitButtonText)\n );\n\n const title = isAuditMode ? (\n formatMessage(messages.upgradeLanguageSelectionModalTitle, { asterisk: <sup>*</sup> })\n ) : (\n formatMessage(messages.languageSelectionModalTitle)\n );\n\n return (\n <StandardModal\n title={title}\n isOpen={isOpen}\n onClose={close}\n isFullscreenScroll\n footerNode={(\n <ModalFooter\n {...{\n buttonText,\n onSubmit,\n close,\n }}\n />\n )}\n >\n {isAuditMode ? (\n <UpgradeModalBody {...{ courseEnabledLanguages, isFBE, originalCourseLanguage }} />\n ) : (\n <PaidModalBody\n {...{\n selectedIndex,\n setSelectedIndex,\n courseEnabledLanguages,\n originalCourseLanguage,\n }}\n />\n )}\n </StandardModal>\n );\n};\n\nTranslationModal.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n close: PropTypes.func.isRequired,\n selectedLanguage: PropTypes.string.isRequired,\n setSelectedLanguage: PropTypes.func.isRequired,\n availableLanguages: PropTypes.arrayOf(\n PropTypes.shape({\n code: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }),\n ).isRequired,\n isFBE: PropTypes.bool.isRequired,\n verifiedMode: PropTypes.shape({\n currencySymbol: PropTypes.string,\n price: PropTypes.number,\n upgradeUrl: PropTypes.string,\n }).isRequired,\n isAuditMode: PropTypes.bool.isRequired,\n logEventProperties: PropTypes.shape({\n org_key: PropTypes.string.isRequired,\n courserun_key: PropTypes.string.isRequired,\n course_name: PropTypes.string.isRequired,\n }).isRequired,\n originalCourseLanguage: PropTypes.string.isRequired,\n};\n\nexport default TranslationModal;\n"],"mappings":"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","ignoreList":[]}
|
package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.stateKeys = exports["default"] = void 0;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactUnitTestUtils = require("@edx/react-unit-test-utils");
|
|
9
9
|
var _analytics = require("@edx/frontend-platform/analytics");
|
|
10
|
+
var _cookie = require("../../../utils/cookie");
|
|
10
11
|
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); }
|
|
11
12
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
12
13
|
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."); }
|
|
@@ -23,25 +24,47 @@ var stateKeys = exports.stateKeys = (0, _reactUnitTestUtils.StrictDict)({
|
|
|
23
24
|
selectedIndex: 'selectedIndex'
|
|
24
25
|
});
|
|
25
26
|
var logUpgradeClick = function logUpgradeClick(_ref) {
|
|
27
|
+
var _window$tagular, _window;
|
|
26
28
|
var logEventProperties = _ref.logEventProperties;
|
|
29
|
+
var eventProperties = {
|
|
30
|
+
org_key: logEventProperties.org_key,
|
|
31
|
+
courserun_key: logEventProperties.courserun_key
|
|
32
|
+
};
|
|
27
33
|
var upsellPageName = 'course_translation_modal';
|
|
28
34
|
var promotionEventProperties = _objectSpread({
|
|
29
35
|
creative: 'translationmodalupsell',
|
|
30
36
|
name: 'In-Course Verification Prompt',
|
|
31
37
|
position: 'translation-modal-message',
|
|
32
38
|
promotion_id: 'courseware_translation_upsell'
|
|
33
|
-
},
|
|
34
|
-
(0, _analytics.sendTrackingLogEvent)('edx.bi.course.upgrade.translationmodal.clicked',
|
|
35
|
-
(0, _analytics.sendTrackingLogEvent)('edx.course.enrollment.upgrade.clicked', _objectSpread(_objectSpread({},
|
|
39
|
+
}, eventProperties);
|
|
40
|
+
(0, _analytics.sendTrackingLogEvent)('edx.bi.course.upgrade.translationmodal.clicked', eventProperties);
|
|
41
|
+
(0, _analytics.sendTrackingLogEvent)('edx.course.enrollment.upgrade.clicked', _objectSpread(_objectSpread({}, eventProperties), {}, {
|
|
36
42
|
location: 'translation-modal-message'
|
|
37
43
|
}));
|
|
38
44
|
(0, _analytics.sendTrackEvent)('Promotion Clicked', promotionEventProperties);
|
|
39
|
-
(0, _analytics.sendTrackEvent)('edx.bi.ecommerce.upsell_links_clicked', _objectSpread(_objectSpread({},
|
|
45
|
+
(0, _analytics.sendTrackEvent)('edx.bi.ecommerce.upsell_links_clicked', _objectSpread(_objectSpread({}, eventProperties), {}, {
|
|
40
46
|
linkCategory: 'green_upgrade',
|
|
41
47
|
linkName: "".concat(upsellPageName, "_green"),
|
|
42
48
|
linkType: 'button',
|
|
43
49
|
pageName: upsellPageName
|
|
44
50
|
}));
|
|
51
|
+
var correlationId = (0, _cookie.handleCorrelationIDCookie)();
|
|
52
|
+
(_window$tagular = (_window = window).tagular) === null || _window$tagular === void 0 || _window$tagular.call(_window, 'beam', {
|
|
53
|
+
'@type': 'core.conversions.ConversionTracked.v2',
|
|
54
|
+
correlation: {
|
|
55
|
+
id: correlationId
|
|
56
|
+
},
|
|
57
|
+
metadata: {
|
|
58
|
+
category: 'Enrollment',
|
|
59
|
+
action: 'Upgraded',
|
|
60
|
+
timestamp: new Date().toISOString(),
|
|
61
|
+
productList: [{
|
|
62
|
+
brand: logEventProperties.org_key,
|
|
63
|
+
variant: 'courses',
|
|
64
|
+
name: logEventProperties.course_name
|
|
65
|
+
}]
|
|
66
|
+
}
|
|
67
|
+
});
|
|
45
68
|
};
|
|
46
69
|
var getEnabledLanguages = function getEnabledLanguages(_ref2) {
|
|
47
70
|
var availableLanguages = _ref2.availableLanguages,
|
package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTranslationModal.js","names":["_react","require","_reactUnitTestUtils","_analytics","_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","logEventProperties","upsellPageName","promotionEventProperties","creative","position","promotion_id","sendTrackingLogEvent","location","sendTrackEvent","linkCategory","linkName","concat","linkType","pageName","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","window","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';\n\nexport const stateKeys = StrictDict({\n selectedIndex: 'selectedIndex',\n});\n\nconst logUpgradeClick = ({ logEventProperties }) => {\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 ...logEventProperties,\n };\n sendTrackingLogEvent('edx.bi.course.upgrade.translationmodal.clicked', logEventProperties);\n sendTrackingLogEvent('edx.course.enrollment.upgrade.clicked', {\n ...logEventProperties,\n location: 'translation-modal-message',\n });\n sendTrackEvent('Promotion Clicked', promotionEventProperties);\n sendTrackEvent('edx.bi.ecommerce.upsell_links_clicked', {\n ...logEventProperties,\n linkCategory: 'green_upgrade',\n linkName: `${upsellPageName}_green`,\n linkType: 'button',\n pageName: upsellPageName,\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","_window$tagular","_window","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","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,\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":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.handleCorrelationIDCookie = void 0;
|
|
7
|
+
exports.setCookie = setCookie;
|
|
8
|
+
// general cookie setter, expires after 30 minutes
|
|
9
|
+
function setCookie(cookieName, cookieValue) {
|
|
10
|
+
var a = new Date();
|
|
11
|
+
// set to expire after 30 minutes, or 1.8 million milliseconds
|
|
12
|
+
a.setTime(a.getTime() + 1800000);
|
|
13
|
+
document.cookie = "".concat(cookieName, "=").concat(cookieValue, "; expires=").concat(a.toGMTString(), "; path=/; domain=.edx.org;");
|
|
14
|
+
}
|
|
15
|
+
var handleCorrelationIDCookie = exports.handleCorrelationIDCookie = function handleCorrelationIDCookie() {
|
|
16
|
+
// set correlation ID to a random UUID
|
|
17
|
+
var correlationId = window.crypto.randomUUID();
|
|
18
|
+
setCookie('tglr_correlation_id', correlationId);
|
|
19
|
+
return correlationId;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=cookie.js.map
|
|
@@ -0,0 +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":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@edx/unit-title-plugin",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
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": "
|
|
50
|
+
"gitHead": "0f96c5446454e5c6608d1c15685d551f735513ea"
|
|
51
51
|
}
|