@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.
- package/LICENSE +661 -0
- package/README.md +73 -0
- package/dist/BookmarkButton.js +68 -0
- package/dist/BookmarkButton.js.map +1 -0
- package/dist/LegacyUnitTitle.js +61 -0
- package/dist/LegacyUnitTitle.js.map +1 -0
- package/dist/UnitTitle.js +65 -0
- package/dist/UnitTitle.js.map +1 -0
- package/dist/__factories__/courseHomeMeta.factory.js +20 -0
- package/dist/__factories__/courseHomeMeta.factory.js.map +1 -0
- package/dist/__factories__/coursewareMeta.factory.js +7 -0
- package/dist/__factories__/coursewareMeta.factory.js.map +1 -0
- package/dist/__factories__/index.js +5 -0
- package/dist/__factories__/index.js.map +1 -0
- package/dist/i18n/index.js +47 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/messages/ar.json +14 -0
- package/dist/i18n/messages/ca.json +14 -0
- package/dist/i18n/messages/es_419.json +14 -0
- package/dist/i18n/messages/es_AR.json +14 -0
- package/dist/i18n/messages/es_ES.json +14 -0
- package/dist/i18n/messages/fr.json +14 -0
- package/dist/i18n/messages/he.json +14 -0
- package/dist/i18n/messages/id.json +14 -0
- package/dist/i18n/messages/it_IT.json +14 -0
- package/dist/i18n/messages/ko_KR.json +14 -0
- package/dist/i18n/messages/pl.json +14 -0
- package/dist/i18n/messages/pt_BR.json +14 -0
- package/dist/i18n/messages/pt_PT.json +14 -0
- package/dist/i18n/messages/ru.json +14 -0
- package/dist/i18n/messages/th.json +14 -0
- package/dist/i18n/messages/tr_TR.json +14 -0
- package/dist/i18n/messages/uk.json +14 -0
- package/dist/i18n/messages/zh_CN.json +14 -0
- package/dist/index.js +52 -0
- package/dist/index.js.map +1 -0
- package/dist/translation-button/assets/google-translate-logo.png +0 -0
- package/dist/translation-button/data/__factories__/courseHomeMeta.factory.js +20 -0
- package/dist/translation-button/data/__factories__/courseHomeMeta.factory.js.map +1 -0
- package/dist/translation-button/data/__factories__/coursewareMeta.factory.js +7 -0
- package/dist/translation-button/data/__factories__/coursewareMeta.factory.js.map +1 -0
- package/dist/translation-button/data/__factories__/index.js +5 -0
- package/dist/translation-button/data/__factories__/index.js.map +1 -0
- package/dist/translation-button/data/api.js +185 -0
- package/dist/translation-button/data/api.js.map +1 -0
- package/dist/translation-button/feedback-widget/FeedbackDetailsModal.js +138 -0
- package/dist/translation-button/feedback-widget/FeedbackDetailsModal.js.map +1 -0
- package/dist/translation-button/feedback-widget/index.js +163 -0
- package/dist/translation-button/feedback-widget/index.js.map +1 -0
- package/dist/translation-button/feedback-widget/index.scss +4 -0
- package/dist/translation-button/feedback-widget/messages.js +61 -0
- package/dist/translation-button/feedback-widget/messages.js.map +1 -0
- package/dist/translation-button/feedback-widget/useFeedbackWidget.js +134 -0
- package/dist/translation-button/feedback-widget/useFeedbackWidget.js.map +1 -0
- package/dist/translation-button/index.js +117 -0
- package/dist/translation-button/index.js.map +1 -0
- package/dist/translation-button/translation-selection/index.js +169 -0
- package/dist/translation-button/translation-selection/index.js.map +1 -0
- package/dist/translation-button/translation-selection/index.scss +26 -0
- package/dist/translation-button/translation-selection/messages.js +36 -0
- package/dist/translation-button/translation-selection/messages.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/GoogleDisclaimer.js +77 -0
- package/dist/translation-button/translation-selection/translation-modal/GoogleDisclaimer.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.js +68 -0
- package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/LanguageSelector.scss +18 -0
- package/dist/translation-button/translation-selection/translation-modal/LockedLanguages.js +53 -0
- package/dist/translation-button/translation-selection/translation-modal/LockedLanguages.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/ModalFooter.js +36 -0
- package/dist/translation-button/translation-selection/translation-modal/ModalFooter.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/NewLanguageFeedback.js +36 -0
- package/dist/translation-button/translation-selection/translation-modal/NewLanguageFeedback.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js +33 -0
- package/dist/translation-button/translation-selection/translation-modal/PaidModalBody.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js +101 -0
- package/dist/translation-button/translation-selection/translation-modal/TranslationModal.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/TranslationModal.scss +12 -0
- package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js +34 -0
- package/dist/translation-button/translation-selection/translation-modal/UpgradeBenefits.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js +64 -0
- package/dist/translation-button/translation-selection/translation-modal/UpgradeModalBody.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/index.js +10 -0
- package/dist/translation-button/translation-selection/translation-modal/index.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/messages.js +106 -0
- package/dist/translation-button/translation-selection/translation-modal/messages.js.map +1 -0
- package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js +124 -0
- package/dist/translation-button/translation-selection/translation-modal/useTranslationModal.js.map +1 -0
- package/dist/translation-button/translation-selection/useSelectLanguage.js +44 -0
- package/dist/translation-button/translation-selection/useSelectLanguage.js.map +1 -0
- package/dist/translation-button/translation-selection/useTranslationTour.js +76 -0
- package/dist/translation-button/translation-selection/useTranslationTour.js.map +1 -0
- package/dist/translation-button/translation-selection/useUnitTitle.js +100 -0
- package/dist/translation-button/translation-selection/useUnitTitle.js.map +1 -0
- package/dist/translation-button/translations-loader/SVGLoader.js +83 -0
- package/dist/translation-button/translations-loader/SVGLoader.js.map +1 -0
- package/dist/translation-button/translations-loader/index.js +63 -0
- package/dist/translation-button/translations-loader/index.js.map +1 -0
- package/dist/translation-button/translations-loader/index.scss +43 -0
- package/dist/translation-button/translations-loader/messages.js +16 -0
- package/dist/translation-button/translations-loader/messages.js.map +1 -0
- 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":"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","ignoreList":[]}
|
|
Binary file
|
|
@@ -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 @@
|
|
|
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":[]}
|