@edx/unit-title-plugin 0.0.1

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.
Files changed (101) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +73 -0
  3. package/dist/BookmarkButton.js +68 -0
  4. package/dist/BookmarkButton.js.map +1 -0
  5. package/dist/LegacyUnitTitle.js +61 -0
  6. package/dist/LegacyUnitTitle.js.map +1 -0
  7. package/dist/UnitTitle.js +65 -0
  8. package/dist/UnitTitle.js.map +1 -0
  9. package/dist/__factories__/courseHomeMeta.factory.js +20 -0
  10. package/dist/__factories__/courseHomeMeta.factory.js.map +1 -0
  11. package/dist/__factories__/coursewareMeta.factory.js +7 -0
  12. package/dist/__factories__/coursewareMeta.factory.js.map +1 -0
  13. package/dist/__factories__/index.js +5 -0
  14. package/dist/__factories__/index.js.map +1 -0
  15. package/dist/i18n/index.js +47 -0
  16. package/dist/i18n/index.js.map +1 -0
  17. package/dist/i18n/messages/ar.json +14 -0
  18. package/dist/i18n/messages/ca.json +14 -0
  19. package/dist/i18n/messages/es_419.json +14 -0
  20. package/dist/i18n/messages/es_AR.json +14 -0
  21. package/dist/i18n/messages/es_ES.json +14 -0
  22. package/dist/i18n/messages/fr.json +14 -0
  23. package/dist/i18n/messages/he.json +14 -0
  24. package/dist/i18n/messages/id.json +14 -0
  25. package/dist/i18n/messages/it_IT.json +14 -0
  26. package/dist/i18n/messages/ko_KR.json +14 -0
  27. package/dist/i18n/messages/pl.json +14 -0
  28. package/dist/i18n/messages/pt_BR.json +14 -0
  29. package/dist/i18n/messages/pt_PT.json +14 -0
  30. package/dist/i18n/messages/ru.json +14 -0
  31. package/dist/i18n/messages/th.json +14 -0
  32. package/dist/i18n/messages/tr_TR.json +14 -0
  33. package/dist/i18n/messages/uk.json +14 -0
  34. package/dist/i18n/messages/zh_CN.json +14 -0
  35. package/dist/index.js +52 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/translation-button/assets/google-translate-logo.png +0 -0
  38. package/dist/translation-button/data/__factories__/courseHomeMeta.factory.js +20 -0
  39. package/dist/translation-button/data/__factories__/courseHomeMeta.factory.js.map +1 -0
  40. package/dist/translation-button/data/__factories__/coursewareMeta.factory.js +7 -0
  41. package/dist/translation-button/data/__factories__/coursewareMeta.factory.js.map +1 -0
  42. package/dist/translation-button/data/__factories__/index.js +5 -0
  43. package/dist/translation-button/data/__factories__/index.js.map +1 -0
  44. package/dist/translation-button/data/api.js +185 -0
  45. package/dist/translation-button/data/api.js.map +1 -0
  46. package/dist/translation-button/feedback-widget/FeedbackDetailsModal.js +138 -0
  47. package/dist/translation-button/feedback-widget/FeedbackDetailsModal.js.map +1 -0
  48. package/dist/translation-button/feedback-widget/index.js +163 -0
  49. package/dist/translation-button/feedback-widget/index.js.map +1 -0
  50. package/dist/translation-button/feedback-widget/index.scss +4 -0
  51. package/dist/translation-button/feedback-widget/messages.js +61 -0
  52. package/dist/translation-button/feedback-widget/messages.js.map +1 -0
  53. package/dist/translation-button/feedback-widget/useFeedbackWidget.js +134 -0
  54. package/dist/translation-button/feedback-widget/useFeedbackWidget.js.map +1 -0
  55. package/dist/translation-button/index.js +117 -0
  56. package/dist/translation-button/index.js.map +1 -0
  57. package/dist/translation-button/translation-selection/index.js +169 -0
  58. package/dist/translation-button/translation-selection/index.js.map +1 -0
  59. package/dist/translation-button/translation-selection/index.scss +26 -0
  60. package/dist/translation-button/translation-selection/messages.js +36 -0
  61. package/dist/translation-button/translation-selection/messages.js.map +1 -0
  62. package/dist/translation-button/translation-selection/translation-modal/GoogleDisclaimer.js +77 -0
  63. package/dist/translation-button/translation-selection/translation-modal/GoogleDisclaimer.js.map +1 -0
  64. package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.js +68 -0
  65. package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.js.map +1 -0
  66. package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.scss +18 -0
  67. package/dist/translation-button/translation-selection/translation-modal/LockedLanguages.js +53 -0
  68. package/dist/translation-button/translation-selection/translation-modal/LockedLanguages.js.map +1 -0
  69. package/dist/translation-button/translation-selection/translation-modal/ModalFooter.js +36 -0
  70. package/dist/translation-button/translation-selection/translation-modal/ModalFooter.js.map +1 -0
  71. package/dist/translation-button/translation-selection/translation-modal/NewLanguageFeedback.js +36 -0
  72. package/dist/translation-button/translation-selection/translation-modal/NewLanguageFeedback.js.map +1 -0
  73. package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js +33 -0
  74. package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js.map +1 -0
  75. package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js +101 -0
  76. package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js.map +1 -0
  77. package/dist/translation-button/translation-selection/translation-modal/TranslationModal.scss +12 -0
  78. package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js +34 -0
  79. package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js.map +1 -0
  80. package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js +64 -0
  81. package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js.map +1 -0
  82. package/dist/translation-button/translation-selection/translation-modal/index.js +10 -0
  83. package/dist/translation-button/translation-selection/translation-modal/index.js.map +1 -0
  84. package/dist/translation-button/translation-selection/translation-modal/messages.js +106 -0
  85. package/dist/translation-button/translation-selection/translation-modal/messages.js.map +1 -0
  86. package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js +124 -0
  87. package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js.map +1 -0
  88. package/dist/translation-button/translation-selection/useSelectLanguage.js +44 -0
  89. package/dist/translation-button/translation-selection/useSelectLanguage.js.map +1 -0
  90. package/dist/translation-button/translation-selection/useTranslationTour.js +76 -0
  91. package/dist/translation-button/translation-selection/useTranslationTour.js.map +1 -0
  92. package/dist/translation-button/translation-selection/useUnitTitle.js +100 -0
  93. package/dist/translation-button/translation-selection/useUnitTitle.js.map +1 -0
  94. package/dist/translation-button/translations-loader/SVGLoader.js +83 -0
  95. package/dist/translation-button/translations-loader/SVGLoader.js.map +1 -0
  96. package/dist/translation-button/translations-loader/index.js +63 -0
  97. package/dist/translation-button/translations-loader/index.js.map +1 -0
  98. package/dist/translation-button/translations-loader/index.scss +43 -0
  99. package/dist/translation-button/translations-loader/messages.js +16 -0
  100. package/dist/translation-button/translations-loader/messages.js.map +1 -0
  101. package/package.json +51 -0
@@ -0,0 +1,14 @@
1
+ {
2
+ "unit-translation-selector-plugin.feedbackWidget.gratitudeText": "Thank you! Your feedback matters.",
3
+ "unit-translation-selector-plugin.feedbackWidget.rateTranslationText": "Rate this page translation",
4
+ "unit-translation-selector-plugin.translationSelection.cancelButtonText": "Cancel",
5
+ "unit-translation-selector-plugin.translationSelection.dismissButtonText": "Dismiss",
6
+ "unit-translation-selector-plugin.translationSelection.googleTranslateDisclaimer": "This content has been translated using an AI-powered tool and may contain errors or inaccuracies.",
7
+ "unit-translation-selector-plugin.translationSelection.googleTranslateLogoAlt": "Google translate logo",
8
+ "unit-translation-selector-plugin.translationSelection.languageSelectionModalTitle": "Translate Eligible Course Content",
9
+ "unit-translation-selector-plugin.translationSelection.poweredBy": "Powered by",
10
+ "unit-translation-selector-plugin.translationSelection.submitButtonText": "Submit",
11
+ "unit-translation-selector-plugin.translationSelection.translationTourModalBody": "Now you can easily translate course content.",
12
+ "unit-translation-selector-plugin.translationSelection.translationTourModalTitle": "New translation feature!",
13
+ "unit-translation-selector-plugin.translationSelection.tryItButtonText": "Try it"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "unit-translation-selector-plugin.feedbackWidget.gratitudeText": "Thank you! Your feedback matters.",
3
+ "unit-translation-selector-plugin.feedbackWidget.rateTranslationText": "Rate this page translation",
4
+ "unit-translation-selector-plugin.translationSelection.cancelButtonText": "Cancel",
5
+ "unit-translation-selector-plugin.translationSelection.dismissButtonText": "Dismiss",
6
+ "unit-translation-selector-plugin.translationSelection.googleTranslateDisclaimer": "This content has been translated using an AI-powered tool and may contain errors or inaccuracies.",
7
+ "unit-translation-selector-plugin.translationSelection.googleTranslateLogoAlt": "Google translate logo",
8
+ "unit-translation-selector-plugin.translationSelection.languageSelectionModalTitle": "Translate Eligible Course Content",
9
+ "unit-translation-selector-plugin.translationSelection.poweredBy": "Powered by",
10
+ "unit-translation-selector-plugin.translationSelection.submitButtonText": "Submit",
11
+ "unit-translation-selector-plugin.translationSelection.translationTourModalBody": "Now you can easily translate course content.",
12
+ "unit-translation-selector-plugin.translationSelection.translationTourModalTitle": "New translation feature!",
13
+ "unit-translation-selector-plugin.translationSelection.tryItButtonText": "Try it"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "unit-translation-selector-plugin.feedbackWidget.gratitudeText": "Thank you! Your feedback matters.",
3
+ "unit-translation-selector-plugin.feedbackWidget.rateTranslationText": "Rate this page translation",
4
+ "unit-translation-selector-plugin.translationSelection.cancelButtonText": "Cancel",
5
+ "unit-translation-selector-plugin.translationSelection.dismissButtonText": "Dismiss",
6
+ "unit-translation-selector-plugin.translationSelection.googleTranslateDisclaimer": "This content has been translated using an AI-powered tool and may contain errors or inaccuracies.",
7
+ "unit-translation-selector-plugin.translationSelection.googleTranslateLogoAlt": "Google translate logo",
8
+ "unit-translation-selector-plugin.translationSelection.languageSelectionModalTitle": "Translate Eligible Course Content",
9
+ "unit-translation-selector-plugin.translationSelection.poweredBy": "Powered by",
10
+ "unit-translation-selector-plugin.translationSelection.submitButtonText": "Submit",
11
+ "unit-translation-selector-plugin.translationSelection.translationTourModalBody": "Now you can easily translate course content.",
12
+ "unit-translation-selector-plugin.translationSelection.translationTourModalTitle": "New translation feature!",
13
+ "unit-translation-selector-plugin.translationSelection.tryItButtonText": "Try it"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "unit-translation-selector-plugin.feedbackWidget.gratitudeText": "Thank you! Your feedback matters.",
3
+ "unit-translation-selector-plugin.feedbackWidget.rateTranslationText": "Rate this page translation",
4
+ "unit-translation-selector-plugin.translationSelection.cancelButtonText": "Cancel",
5
+ "unit-translation-selector-plugin.translationSelection.dismissButtonText": "Dismiss",
6
+ "unit-translation-selector-plugin.translationSelection.googleTranslateDisclaimer": "This content has been translated using an AI-powered tool and may contain errors or inaccuracies.",
7
+ "unit-translation-selector-plugin.translationSelection.googleTranslateLogoAlt": "Google translate logo",
8
+ "unit-translation-selector-plugin.translationSelection.languageSelectionModalTitle": "Translate Eligible Course Content",
9
+ "unit-translation-selector-plugin.translationSelection.poweredBy": "Powered by",
10
+ "unit-translation-selector-plugin.translationSelection.submitButtonText": "Submit",
11
+ "unit-translation-selector-plugin.translationSelection.translationTourModalBody": "Now you can easily translate course content.",
12
+ "unit-translation-selector-plugin.translationSelection.translationTourModalTitle": "New translation feature!",
13
+ "unit-translation-selector-plugin.translationSelection.tryItButtonText": "Try it"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "unit-translation-selector-plugin.feedbackWidget.gratitudeText": "Thank you! Your feedback matters.",
3
+ "unit-translation-selector-plugin.feedbackWidget.rateTranslationText": "Rate this page translation",
4
+ "unit-translation-selector-plugin.translationSelection.cancelButtonText": "Cancel",
5
+ "unit-translation-selector-plugin.translationSelection.dismissButtonText": "Dismiss",
6
+ "unit-translation-selector-plugin.translationSelection.googleTranslateDisclaimer": "This content has been translated using an AI-powered tool and may contain errors or inaccuracies.",
7
+ "unit-translation-selector-plugin.translationSelection.googleTranslateLogoAlt": "Google translate logo",
8
+ "unit-translation-selector-plugin.translationSelection.languageSelectionModalTitle": "Translate Eligible Course Content",
9
+ "unit-translation-selector-plugin.translationSelection.poweredBy": "Powered by",
10
+ "unit-translation-selector-plugin.translationSelection.submitButtonText": "Submit",
11
+ "unit-translation-selector-plugin.translationSelection.translationTourModalBody": "Now you can easily translate course content.",
12
+ "unit-translation-selector-plugin.translationSelection.translationTourModalTitle": "New translation feature!",
13
+ "unit-translation-selector-plugin.translationSelection.tryItButtonText": "Try it"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "unit-translation-selector-plugin.feedbackWidget.gratitudeText": "Thank you! Your feedback matters.",
3
+ "unit-translation-selector-plugin.feedbackWidget.rateTranslationText": "Rate this page translation",
4
+ "unit-translation-selector-plugin.translationSelection.cancelButtonText": "Cancel",
5
+ "unit-translation-selector-plugin.translationSelection.dismissButtonText": "Dismiss",
6
+ "unit-translation-selector-plugin.translationSelection.googleTranslateDisclaimer": "This content has been translated using an AI-powered tool and may contain errors or inaccuracies.",
7
+ "unit-translation-selector-plugin.translationSelection.googleTranslateLogoAlt": "Google translate logo",
8
+ "unit-translation-selector-plugin.translationSelection.languageSelectionModalTitle": "Translate Eligible Course Content",
9
+ "unit-translation-selector-plugin.translationSelection.poweredBy": "Powered by",
10
+ "unit-translation-selector-plugin.translationSelection.submitButtonText": "Submit",
11
+ "unit-translation-selector-plugin.translationSelection.translationTourModalBody": "Now you can easily translate course content.",
12
+ "unit-translation-selector-plugin.translationSelection.translationTourModalTitle": "New translation feature!",
13
+ "unit-translation-selector-plugin.translationSelection.tryItButtonText": "Try it"
14
+ }
package/dist/index.js ADDED
@@ -0,0 +1,52 @@
1
+ "use strict";
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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _i18n = require("@edx/frontend-platform/i18n");
10
+ var _frontendPlatform = require("@edx/frontend-platform");
11
+ var _i18n2 = _interopRequireDefault(require("./i18n"));
12
+ var _LegacyUnitTitle = _interopRequireDefault(require("./LegacyUnitTitle"));
13
+ var _UnitTitle = _interopRequireDefault(require("./UnitTitle"));
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ var _excluded = ["isEnabledOutlineSidebar", "renderUnitNavigation"];
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
21
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
24
+ (0, _frontendPlatform.subscribe)(_frontendPlatform.APP_I18N_INITIALIZED, function () {
25
+ (0, _i18n.mergeMessages)(_i18n2["default"]);
26
+ });
27
+ var UnitTitlePlugin = function UnitTitlePlugin(_ref) {
28
+ var isEnabledOutlineSidebar = _ref.isEnabledOutlineSidebar,
29
+ renderUnitNavigation = _ref.renderUnitNavigation,
30
+ props = _objectWithoutProperties(_ref, _excluded);
31
+ if (isEnabledOutlineSidebar) {
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_UnitTitle["default"], _objectSpread(_objectSpread({}, props), {}, {
33
+ navigation: renderUnitNavigation(true)
34
+ }));
35
+ }
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LegacyUnitTitle["default"], _objectSpread({}, props));
37
+ };
38
+ UnitTitlePlugin.propTypes = {
39
+ dispatch: _propTypes["default"].func.isRequired,
40
+ id: _propTypes["default"].string.isRequired,
41
+ isEnabledOutlineSidebar: _propTypes["default"].bool.isRequired,
42
+ renderUnitNavigation: _propTypes["default"].func.isRequired,
43
+ unitId: _propTypes["default"].string.isRequired,
44
+ unit: _propTypes["default"].shape({
45
+ id: _propTypes["default"].string.isRequired,
46
+ title: _propTypes["default"].string.isRequired,
47
+ bookmarked: _propTypes["default"].bool.isRequired,
48
+ bookmarkedUpdateState: _propTypes["default"].string.isRequired
49
+ }).isRequired
50
+ };
51
+ var _default = exports["default"] = UnitTitlePlugin;
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_propTypes","_interopRequireDefault","require","_i18n","_frontendPlatform","_i18n2","_LegacyUnitTitle","_UnitTitle","_jsxRuntime","_excluded","obj","__esModule","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","sourceKeys","subscribe","APP_I18N_INITIALIZED","mergeMessages","messages","UnitTitlePlugin","_ref","isEnabledOutlineSidebar","renderUnitNavigation","props","jsx","navigation","propTypes","dispatch","PropTypes","func","isRequired","id","string","bool","unitId","unit","shape","title","bookmarked","bookmarkedUpdateState","_default","exports"],"sources":["../src/index.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { mergeMessages } from '@edx/frontend-platform/i18n';\nimport { APP_I18N_INITIALIZED, subscribe } from '@edx/frontend-platform';\n\nimport messages from './i18n';\nimport LegacyUnitTitle from './LegacyUnitTitle';\nimport UnitTitle from './UnitTitle';\n\nsubscribe(APP_I18N_INITIALIZED, () => {\n mergeMessages(messages);\n});\n\nconst UnitTitlePlugin = ({\n isEnabledOutlineSidebar,\n renderUnitNavigation,\n ...props\n}) => {\n if (isEnabledOutlineSidebar) {\n return <UnitTitle {...props} navigation={renderUnitNavigation(true)} />;\n }\n\n return <LegacyUnitTitle {...props} />;\n};\n\nUnitTitlePlugin.propTypes = {\n dispatch: PropTypes.func.isRequired,\n id: PropTypes.string.isRequired,\n isEnabledOutlineSidebar: PropTypes.bool.isRequired,\n renderUnitNavigation: PropTypes.func.isRequired,\n unitId: PropTypes.string.isRequired,\n unit: PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n bookmarked: PropTypes.bool.isRequired,\n bookmarkedUpdateState: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nexport default UnitTitlePlugin;\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,gBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,UAAA,GAAAN,sBAAA,CAAAC,OAAA;AAAoC,IAAAM,WAAA,GAAAN,OAAA;AAAA,IAAAO,SAAA;AAAA,SAAAR,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAAnB,GAAA,EAAAuB,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAvB,GAAA,IAAAM,MAAA,CAAAgB,cAAA,CAAAtB,GAAA,EAAAuB,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAZ,UAAA,QAAAc,YAAA,QAAAC,QAAA,oBAAA3B,GAAA,CAAAuB,GAAA,IAAAC,KAAA,WAAAxB,GAAA;AAAA,SAAAyB,eAAApB,CAAA,QAAAuB,CAAA,GAAAC,YAAA,CAAAxB,CAAA,gCAAAyB,OAAA,CAAAF,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAxB,CAAA,EAAAD,CAAA,oBAAA0B,OAAA,CAAAzB,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAA0B,MAAA,CAAAC,WAAA,kBAAA7B,CAAA,QAAAyB,CAAA,GAAAzB,CAAA,CAAA8B,IAAA,CAAA5B,CAAA,EAAAD,CAAA,gCAAA0B,OAAA,CAAAF,CAAA,UAAAA,CAAA,YAAAM,SAAA,yEAAA9B,CAAA,GAAA+B,MAAA,GAAAC,MAAA,EAAA/B,CAAA;AAAA,SAAAgC,yBAAAC,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,GAAAC,6BAAA,CAAAH,MAAA,EAAAC,QAAA,OAAAhB,GAAA,EAAAK,CAAA,MAAAtB,MAAA,CAAAE,qBAAA,QAAAkC,gBAAA,GAAApC,MAAA,CAAAE,qBAAA,CAAA8B,MAAA,QAAAV,CAAA,MAAAA,CAAA,GAAAc,gBAAA,CAAAzB,MAAA,EAAAW,CAAA,MAAAL,GAAA,GAAAmB,gBAAA,CAAAd,CAAA,OAAAW,QAAA,CAAAI,OAAA,CAAApB,GAAA,uBAAAjB,MAAA,CAAAsC,SAAA,CAAAC,oBAAA,CAAAZ,IAAA,CAAAK,MAAA,EAAAf,GAAA,aAAAiB,MAAA,CAAAjB,GAAA,IAAAe,MAAA,CAAAf,GAAA,cAAAiB,MAAA;AAAA,SAAAC,8BAAAH,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,WAAAM,UAAA,GAAAxC,MAAA,CAAAC,IAAA,CAAA+B,MAAA,OAAAf,GAAA,EAAAK,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAkB,UAAA,CAAA7B,MAAA,EAAAW,CAAA,MAAAL,GAAA,GAAAuB,UAAA,CAAAlB,CAAA,OAAAW,QAAA,CAAAI,OAAA,CAAApB,GAAA,kBAAAiB,MAAA,CAAAjB,GAAA,IAAAe,MAAA,CAAAf,GAAA,YAAAiB,MAAA;AAEpC,IAAAO,2BAAS,EAACC,sCAAoB,EAAE,YAAM;EACpC,IAAAC,mBAAa,EAACC,iBAAQ,CAAC;AACzB,CAAC,CAAC;AAEF,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAIf;EAAA,IAHJC,uBAAuB,GAAAD,IAAA,CAAvBC,uBAAuB;IACvBC,oBAAoB,GAAAF,IAAA,CAApBE,oBAAoB;IACjBC,KAAK,GAAAlB,wBAAA,CAAAe,IAAA,EAAArD,SAAA;EAER,IAAIsD,uBAAuB,EAAE;IAC3B,oBAAO,IAAAvD,WAAA,CAAA0D,GAAA,EAAC3D,UAAA,WAAS,EAAAkB,aAAA,CAAAA,aAAA,KAAKwC,KAAK;MAAEE,UAAU,EAAEH,oBAAoB,CAAC,IAAI;IAAE,EAAE,CAAC;EACzE;EAEA,oBAAO,IAAAxD,WAAA,CAAA0D,GAAA,EAAC5D,gBAAA,WAAe,EAAAmB,aAAA,KAAKwC,KAAK,CAAG,CAAC;AACvC,CAAC;AAEDJ,eAAe,CAACO,SAAS,GAAG;EAC1BC,QAAQ,EAAEC,qBAAS,CAACC,IAAI,CAACC,UAAU;EACnCC,EAAE,EAAEH,qBAAS,CAACI,MAAM,CAACF,UAAU;EAC/BT,uBAAuB,EAAEO,qBAAS,CAACK,IAAI,CAACH,UAAU;EAClDR,oBAAoB,EAAEM,qBAAS,CAACC,IAAI,CAACC,UAAU;EAC/CI,MAAM,EAAEN,qBAAS,CAACI,MAAM,CAACF,UAAU;EACnCK,IAAI,EAAEP,qBAAS,CAACQ,KAAK,CAAC;IACpBL,EAAE,EAAEH,qBAAS,CAACI,MAAM,CAACF,UAAU;IAC/BO,KAAK,EAAET,qBAAS,CAACI,MAAM,CAACF,UAAU;IAClCQ,UAAU,EAAEV,qBAAS,CAACK,IAAI,CAACH,UAAU;IACrCS,qBAAqB,EAAEX,qBAAS,CAACI,MAAM,CAACF;EAC1C,CAAC,CAAC,CAACA;AACL,CAAC;AAAC,IAAAU,QAAA,GAAAC,OAAA,cAEatB,eAAe","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _rosie = require("rosie");
4
+ // eslint-disable-line import/no-extraneous-dependencies
5
+
6
+ _rosie.Factory.define('courseHomeMeta').option('host', 'http://localhost:18000').attr('isStaff', false).attr('org', 'edX').attr('courseModes', [{
7
+ slug: 'verified'
8
+ }, {
9
+ slug: 'audit'
10
+ }]).attr('verifiedMode', ['host'], function (host) {
11
+ return {
12
+ access_expiration_date: '2050-01-01T12:00:00',
13
+ currency: 'USD',
14
+ currencySymbol: '$',
15
+ price: 149,
16
+ sku: 'ABCD1234',
17
+ upgradeUrl: "".concat(host, "/dashboard")
18
+ };
19
+ });
20
+ //# sourceMappingURL=courseHomeMeta.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"courseHomeMeta.factory.js","names":["_rosie","require","Factory","define","option","attr","slug","host","access_expiration_date","currency","currencySymbol","price","sku","upgradeUrl","concat"],"sources":["../../../../src/translation-button/data/__factories__/courseHomeMeta.factory.js"],"sourcesContent":["import { Factory } from 'rosie'; // eslint-disable-line import/no-extraneous-dependencies\n\nFactory.define('courseHomeMeta')\n .option('host', 'http://localhost:18000')\n .attr('isStaff', false)\n .attr('org', 'edX')\n .attr('courseModes', [{ slug: 'verified' }, { slug: 'audit' }])\n .attr('verifiedMode', ['host'], (host) => ({\n access_expiration_date: '2050-01-01T12:00:00',\n currency: 'USD',\n currencySymbol: '$',\n price: 149,\n sku: 'ABCD1234',\n upgradeUrl: `${host}/dashboard`,\n }));\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAiC;;AAEjCC,cAAO,CAACC,MAAM,CAAC,gBAAgB,CAAC,CAC7BC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CACxCC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CACtBA,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAClBA,IAAI,CAAC,aAAa,EAAE,CAAC;EAAEC,IAAI,EAAE;AAAW,CAAC,EAAE;EAAEA,IAAI,EAAE;AAAQ,CAAC,CAAC,CAAC,CAC9DD,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,UAACE,IAAI;EAAA,OAAM;IACzCC,sBAAsB,EAAE,qBAAqB;IAC7CC,QAAQ,EAAE,KAAK;IACfC,cAAc,EAAE,GAAG;IACnBC,KAAK,EAAE,GAAG;IACVC,GAAG,EAAE,UAAU;IACfC,UAAU,KAAAC,MAAA,CAAKP,IAAI;EACrB,CAAC;AAAA,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ var _rosie = require("rosie");
4
+ // eslint-disable-line import/no-extraneous-dependencies
5
+
6
+ _rosie.Factory.define('coursewareMeta').attr('accessExpiration', null).attr('datesBannerInfo', {}).attr('enrollmentMode', 'verified').attr('language', 'en');
7
+ //# sourceMappingURL=coursewareMeta.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coursewareMeta.factory.js","names":["_rosie","require","Factory","define","attr"],"sources":["../../../../src/translation-button/data/__factories__/coursewareMeta.factory.js"],"sourcesContent":["import { Factory } from 'rosie'; // eslint-disable-line import/no-extraneous-dependencies\n\nFactory.define('coursewareMeta')\n .attr('accessExpiration', null)\n .attr('datesBannerInfo', {})\n .attr('enrollmentMode', 'verified')\n .attr('language', 'en');\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAiC;;AAEjCC,cAAO,CAACC,MAAM,CAAC,gBAAgB,CAAC,CAC7BC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAC9BA,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAC3BA,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAClCA,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ require("./courseHomeMeta.factory");
4
+ require("./coursewareMeta.factory");
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["require"],"sources":["../../../../src/translation-button/data/__factories__/index.js"],"sourcesContent":["import './courseHomeMeta.factory';\nimport './coursewareMeta.factory';\n"],"mappings":";;AAAAA,OAAA;AACAA,OAAA","ignoreList":[]}
@@ -0,0 +1,185 @@
1
+ "use strict";
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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createTranslationFeedback = createTranslationFeedback;
8
+ exports.fetchTranslationConfig = exports.fetchFeedbackUrl = void 0;
9
+ exports.getTranslationFeedback = getTranslationFeedback;
10
+ exports.translateUnitTitle = translateUnitTitle;
11
+ exports.translateXblockUrl = void 0;
12
+ var _frontendPlatform = require("@edx/frontend-platform");
13
+ var _auth = require("@edx/frontend-platform/auth");
14
+ var _logging = require("@edx/frontend-platform/logging");
15
+ var _queryString = require("query-string");
16
+ var _FeedbackDetailsModal = require("../feedback-widget/FeedbackDetailsModal");
17
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
18
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
19
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
20
+ var translateXblockUrl = exports.translateXblockUrl = function translateXblockUrl(_ref) {
21
+ var courseId = _ref.courseId;
22
+ return "".concat((0, _frontendPlatform.getConfig)().LMS_BASE_URL, "/api/translatable_xblocks/config/?course_id=").concat(encodeURIComponent(courseId));
23
+ };
24
+ var fetchFeedbackUrl = exports.fetchFeedbackUrl = function fetchFeedbackUrl(_ref2) {
25
+ var params = _ref2.params;
26
+ return "".concat((0, _frontendPlatform.getConfig)().AI_TRANSLATIONS_URL, "/api/v1/whole-course-translation-feedback/?").concat(params);
27
+ };
28
+ var fetchTranslationConfig = exports.fetchTranslationConfig = /*#__PURE__*/function () {
29
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(courseId) {
30
+ var url, _yield$getAuthenticat, data;
31
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
32
+ while (1) switch (_context.prev = _context.next) {
33
+ case 0:
34
+ url = translateXblockUrl({
35
+ courseId: courseId
36
+ });
37
+ _context.prev = 1;
38
+ _context.next = 4;
39
+ return (0, _auth.getAuthenticatedHttpClient)().get(url);
40
+ case 4:
41
+ _yield$getAuthenticat = _context.sent;
42
+ data = _yield$getAuthenticat.data;
43
+ return _context.abrupt("return", {
44
+ enabled: data.feature_enabled,
45
+ availableLanguages: data.available_translation_languages || []
46
+ });
47
+ case 9:
48
+ _context.prev = 9;
49
+ _context.t0 = _context["catch"](1);
50
+ (0, _logging.logError)("Translation plugin fail to fetch from ".concat(url), _context.t0);
51
+ return _context.abrupt("return", {
52
+ enabled: false,
53
+ availableLanguages: []
54
+ });
55
+ case 13:
56
+ case "end":
57
+ return _context.stop();
58
+ }
59
+ }, _callee, null, [[1, 9]]);
60
+ }));
61
+ return function fetchTranslationConfig(_x) {
62
+ return _ref3.apply(this, arguments);
63
+ };
64
+ }();
65
+ function getTranslationFeedback(_x2) {
66
+ return _getTranslationFeedback.apply(this, arguments);
67
+ }
68
+ function _getTranslationFeedback() {
69
+ _getTranslationFeedback = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref4) {
70
+ var courseId, translationLanguage, unitId, userId, params, url, _yield$getAuthenticat2, data;
71
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
72
+ while (1) switch (_context2.prev = _context2.next) {
73
+ case 0:
74
+ courseId = _ref4.courseId, translationLanguage = _ref4.translationLanguage, unitId = _ref4.unitId, userId = _ref4.userId;
75
+ params = (0, _queryString.stringify)({
76
+ translation_language: translationLanguage,
77
+ course_id: encodeURIComponent(courseId),
78
+ unit_id: encodeURIComponent(unitId),
79
+ user_id: userId
80
+ });
81
+ url = fetchFeedbackUrl({
82
+ params: params
83
+ });
84
+ _context2.prev = 3;
85
+ _context2.next = 6;
86
+ return (0, _auth.getAuthenticatedHttpClient)().get(url);
87
+ case 6:
88
+ _yield$getAuthenticat2 = _context2.sent;
89
+ data = _yield$getAuthenticat2.data;
90
+ return _context2.abrupt("return", (0, _frontendPlatform.camelCaseObject)(data));
91
+ case 11:
92
+ _context2.prev = 11;
93
+ _context2.t0 = _context2["catch"](3);
94
+ (0, _logging.logError)("Translation plugin fail to fetch from ".concat(url), _context2.t0);
95
+ return _context2.abrupt("return", {});
96
+ case 15:
97
+ case "end":
98
+ return _context2.stop();
99
+ }
100
+ }, _callee2, null, [[3, 11]]);
101
+ }));
102
+ return _getTranslationFeedback.apply(this, arguments);
103
+ }
104
+ function createTranslationFeedback(_x3) {
105
+ return _createTranslationFeedback.apply(this, arguments);
106
+ }
107
+ function _createTranslationFeedback() {
108
+ _createTranslationFeedback = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref5) {
109
+ var courseId, feedbackValue, translationLanguage, unitId, userId, feedbackDetails, emailMe, reasonList, createFeedbackUrl, _yield$getAuthenticat3, data;
110
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
111
+ while (1) switch (_context3.prev = _context3.next) {
112
+ case 0:
113
+ courseId = _ref5.courseId, feedbackValue = _ref5.feedbackValue, translationLanguage = _ref5.translationLanguage, unitId = _ref5.unitId, userId = _ref5.userId, feedbackDetails = _ref5.feedbackDetails, emailMe = _ref5.emailMe, reasonList = _ref5.reasonList;
114
+ createFeedbackUrl = "".concat((0, _frontendPlatform.getConfig)().AI_TRANSLATIONS_URL, "/api/v1/whole-course-translation-feedback/");
115
+ _context3.prev = 2;
116
+ _context3.next = 5;
117
+ return (0, _auth.getAuthenticatedHttpClient)().post(createFeedbackUrl, {
118
+ course_id: courseId,
119
+ feedback_value: feedbackValue,
120
+ translation_language: translationLanguage,
121
+ unit_id: unitId,
122
+ user_id: userId,
123
+ feedback_details: feedbackDetails,
124
+ user_opt_in_for_email_discussion: emailMe,
125
+ reason_broken: reasonList.includes(_FeedbackDetailsModal.FEEDBACK_REASON_BROKEN),
126
+ reason_harmful: reasonList.includes(_FeedbackDetailsModal.FEEDBACK_REASON_HARMFUL),
127
+ reason_not_accurate: reasonList.includes(_FeedbackDetailsModal.FEEDBACK_REASON_NOT_ACCURATE),
128
+ reason_other: reasonList.includes(_FeedbackDetailsModal.FEEDBACK_REASON_OTHER)
129
+ });
130
+ case 5:
131
+ _yield$getAuthenticat3 = _context3.sent;
132
+ data = _yield$getAuthenticat3.data;
133
+ return _context3.abrupt("return", (0, _frontendPlatform.camelCaseObject)(data));
134
+ case 10:
135
+ _context3.prev = 10;
136
+ _context3.t0 = _context3["catch"](2);
137
+ (0, _logging.logError)("Translation plugin fail to create feedback from ".concat(createFeedbackUrl), _context3.t0);
138
+ return _context3.abrupt("return", {});
139
+ case 14:
140
+ case "end":
141
+ return _context3.stop();
142
+ }
143
+ }, _callee3, null, [[2, 10]]);
144
+ }));
145
+ return _createTranslationFeedback.apply(this, arguments);
146
+ }
147
+ function translateUnitTitle(_x4) {
148
+ return _translateUnitTitle.apply(this, arguments);
149
+ }
150
+ function _translateUnitTitle() {
151
+ _translateUnitTitle = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref6) {
152
+ var content, courseId, sourceLanguage, sourceTypeId, targetLanguage, translateUnitTitleUrl, _yield$getAuthenticat4, data;
153
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
154
+ while (1) switch (_context4.prev = _context4.next) {
155
+ case 0:
156
+ content = _ref6.content, courseId = _ref6.courseId, sourceLanguage = _ref6.sourceLanguage, sourceTypeId = _ref6.sourceTypeId, targetLanguage = _ref6.targetLanguage;
157
+ translateUnitTitleUrl = "".concat((0, _frontendPlatform.getConfig)().AI_TRANSLATIONS_URL, "/api/v1/translate-generic-content/");
158
+ _context4.prev = 2;
159
+ _context4.next = 5;
160
+ return (0, _auth.getAuthenticatedHttpClient)().post(translateUnitTitleUrl, {
161
+ content: content,
162
+ content_source: 'unit',
163
+ course_id: courseId,
164
+ source_language: sourceLanguage,
165
+ source_type_id: sourceTypeId,
166
+ target_language: targetLanguage
167
+ });
168
+ case 5:
169
+ _yield$getAuthenticat4 = _context4.sent;
170
+ data = _yield$getAuthenticat4.data;
171
+ return _context4.abrupt("return", (0, _frontendPlatform.camelCaseObject)(data));
172
+ case 10:
173
+ _context4.prev = 10;
174
+ _context4.t0 = _context4["catch"](2);
175
+ (0, _logging.logError)("Translation plugin fail to translate title from ".concat(translateUnitTitleUrl), _context4.t0);
176
+ return _context4.abrupt("return", {});
177
+ case 14:
178
+ case "end":
179
+ return _context4.stop();
180
+ }
181
+ }, _callee4, null, [[2, 10]]);
182
+ }));
183
+ return _translateUnitTitle.apply(this, arguments);
184
+ }
185
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","names":["_frontendPlatform","require","_auth","_logging","_queryString","_FeedbackDetailsModal","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","translateXblockUrl","exports","_ref","courseId","concat","getConfig","LMS_BASE_URL","encodeURIComponent","fetchFeedbackUrl","_ref2","params","AI_TRANSLATIONS_URL","fetchTranslationConfig","_ref3","_callee","url","_yield$getAuthenticat","data","_callee$","_context","getAuthenticatedHttpClient","get","enabled","feature_enabled","availableLanguages","available_translation_languages","t0","logError","_x","getTranslationFeedback","_x2","_getTranslationFeedback","_callee2","_ref4","translationLanguage","unitId","userId","_yield$getAuthenticat2","_callee2$","_context2","stringify","translation_language","course_id","unit_id","user_id","camelCaseObject","createTranslationFeedback","_x3","_createTranslationFeedback","_callee3","_ref5","feedbackValue","feedbackDetails","emailMe","reasonList","createFeedbackUrl","_yield$getAuthenticat3","_callee3$","_context3","post","feedback_value","feedback_details","user_opt_in_for_email_discussion","reason_broken","includes","FEEDBACK_REASON_BROKEN","reason_harmful","FEEDBACK_REASON_HARMFUL","reason_not_accurate","FEEDBACK_REASON_NOT_ACCURATE","reason_other","FEEDBACK_REASON_OTHER","translateUnitTitle","_x4","_translateUnitTitle","_callee4","_ref6","content","sourceLanguage","sourceTypeId","targetLanguage","translateUnitTitleUrl","_yield$getAuthenticat4","_callee4$","_context4","content_source","source_language","source_type_id","target_language"],"sources":["../../../src/translation-button/data/api.js"],"sourcesContent":["import { getConfig, camelCaseObject } from '@edx/frontend-platform';\nimport { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';\nimport { logError } from '@edx/frontend-platform/logging';\nimport { stringify } from 'query-string';\n\nimport {\n FEEDBACK_REASON_BROKEN,\n FEEDBACK_REASON_HARMFUL,\n FEEDBACK_REASON_NOT_ACCURATE,\n FEEDBACK_REASON_OTHER,\n} from '../feedback-widget/FeedbackDetailsModal';\n\nexport const translateXblockUrl = ({ courseId }) => (\n `${\n getConfig().LMS_BASE_URL\n }/api/translatable_xblocks/config/?course_id=${encodeURIComponent(courseId)}`\n);\n\nexport const fetchFeedbackUrl = ({ params }) => (\n `${\n getConfig().AI_TRANSLATIONS_URL\n }/api/v1/whole-course-translation-feedback/?${params}`\n);\n\nexport const fetchTranslationConfig = async (courseId) => {\n const url = translateXblockUrl({ courseId });\n try {\n const { data } = await getAuthenticatedHttpClient().get(url);\n return {\n enabled: data.feature_enabled,\n availableLanguages: data.available_translation_languages || [],\n };\n } catch (error) {\n logError(`Translation plugin fail to fetch from ${url}`, error);\n return {\n enabled: false,\n availableLanguages: [],\n };\n }\n};\n\nexport async function getTranslationFeedback({\n courseId,\n translationLanguage,\n unitId,\n userId,\n}) {\n const params = stringify({\n translation_language: translationLanguage,\n course_id: encodeURIComponent(courseId),\n unit_id: encodeURIComponent(unitId),\n user_id: userId,\n });\n const url = fetchFeedbackUrl({ params });\n try {\n const { data } = await getAuthenticatedHttpClient().get(url);\n return camelCaseObject(data);\n } catch (error) {\n logError(\n `Translation plugin fail to fetch from ${url}`,\n error,\n );\n return {};\n }\n}\n\nexport async function createTranslationFeedback({\n courseId,\n feedbackValue,\n translationLanguage,\n unitId,\n userId,\n feedbackDetails,\n emailMe,\n reasonList,\n}) {\n const createFeedbackUrl = `${\n getConfig().AI_TRANSLATIONS_URL\n }/api/v1/whole-course-translation-feedback/`;\n try {\n const { data } = await getAuthenticatedHttpClient().post(\n createFeedbackUrl,\n {\n course_id: courseId,\n feedback_value: feedbackValue,\n translation_language: translationLanguage,\n unit_id: unitId,\n user_id: userId,\n feedback_details: feedbackDetails,\n user_opt_in_for_email_discussion: emailMe,\n reason_broken: reasonList.includes(FEEDBACK_REASON_BROKEN),\n reason_harmful: reasonList.includes(FEEDBACK_REASON_HARMFUL),\n reason_not_accurate: reasonList.includes(FEEDBACK_REASON_NOT_ACCURATE),\n reason_other: reasonList.includes(FEEDBACK_REASON_OTHER),\n },\n );\n return camelCaseObject(data);\n } catch (error) {\n logError(\n `Translation plugin fail to create feedback from ${createFeedbackUrl}`,\n error,\n );\n return {};\n }\n}\n\nexport async function translateUnitTitle({\n content,\n courseId,\n sourceLanguage,\n sourceTypeId,\n targetLanguage,\n}) {\n const translateUnitTitleUrl = `${\n getConfig().AI_TRANSLATIONS_URL\n }/api/v1/translate-generic-content/`;\n try {\n const { data } = await getAuthenticatedHttpClient().post(\n translateUnitTitleUrl,\n {\n content,\n content_source: 'unit',\n course_id: courseId,\n source_language: sourceLanguage,\n source_type_id: sourceTypeId,\n target_language: targetLanguage,\n },\n );\n return camelCaseObject(data);\n } catch (error) {\n logError(\n `Translation plugin fail to translate title from ${translateUnitTitleUrl}`,\n error,\n );\n return {};\n }\n}\n"],"mappings":"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","ignoreList":[]}