@nauedu/frontend-component-header 14.0.0-semantically-released → 18.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.rst +111 -33
- package/dist/Avatar.js +5 -7
- package/dist/Avatar.js.map +1 -1
- package/dist/DesktopHeader.js +98 -74
- package/dist/DesktopHeader.js.map +1 -1
- package/dist/Header.js +81 -41
- package/dist/Header.js.map +1 -1
- package/dist/Header.messages.js +15 -0
- package/dist/Header.messages.js.map +1 -1
- package/dist/Header.test.jsx +67 -90
- package/dist/Icons.js +1 -2
- package/dist/Icons.js.map +1 -1
- package/dist/LanguageSelector/data/api.js +65 -0
- package/dist/LanguageSelector/data/api.js.map +1 -0
- package/dist/LanguageSelector/index.js +113 -0
- package/dist/LanguageSelector/index.js.map +1 -0
- package/dist/Logo.js +11 -21
- package/dist/Logo.js.map +1 -1
- package/dist/Menu/Menu.js +42 -88
- package/dist/Menu/Menu.js.map +1 -1
- package/dist/Menu/index.js.map +1 -1
- package/dist/MobileHeader.js +80 -76
- package/dist/MobileHeader.js.map +1 -1
- package/dist/__snapshots__/Header.test.jsx.snap +12 -12
- package/dist/generic/messages.js.map +1 -1
- package/dist/i18n/index.js +1 -30
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/index.scss +11 -1
- package/dist/learning-header/AnonymousUserMenu.js +3 -5
- package/dist/learning-header/AnonymousUserMenu.js.map +1 -1
- package/dist/learning-header/AuthenticatedUserDropdown.js +8 -10
- package/dist/learning-header/AuthenticatedUserDropdown.js.map +1 -1
- package/dist/learning-header/LearningHeader.js +56 -50
- package/dist/learning-header/LearningHeader.js.map +1 -1
- package/dist/learning-header/_header.scss +5 -2
- package/dist/learning-header/data/api.js +30 -42
- package/dist/learning-header/data/api.js.map +1 -1
- package/dist/learning-header/data/api.test.js +124 -175
- package/dist/learning-header/data/api.test.js.map +1 -1
- package/dist/learning-header/messages.js.map +1 -1
- package/dist/setupTest.js +9 -13
- package/dist/studio-header/BrandNav.js +21 -0
- package/dist/studio-header/BrandNav.js.map +1 -0
- package/dist/studio-header/CourseLockUp.js +45 -0
- package/dist/studio-header/CourseLockUp.js.map +1 -0
- package/dist/studio-header/HeaderBody.js +131 -0
- package/dist/studio-header/HeaderBody.js.map +1 -0
- package/dist/studio-header/MobileHeader.js +79 -0
- package/dist/studio-header/MobileHeader.js.map +1 -0
- package/dist/studio-header/MobileMenu.js +45 -0
- package/dist/studio-header/MobileMenu.js.map +1 -0
- package/dist/studio-header/NavDropdownMenu.js +30 -0
- package/dist/studio-header/NavDropdownMenu.js.map +1 -0
- package/dist/studio-header/StudioHeader.js +72 -0
- package/dist/studio-header/StudioHeader.js.map +1 -0
- package/dist/studio-header/StudioHeader.scss +49 -0
- package/dist/studio-header/UserMenu.js +55 -0
- package/dist/studio-header/UserMenu.js.map +1 -0
- package/dist/studio-header/index.js +3 -0
- package/dist/studio-header/index.js.map +1 -0
- package/dist/studio-header/messages.js +60 -0
- package/dist/studio-header/messages.js.map +1 -0
- package/dist/studio-header/utils.js +29 -0
- package/dist/studio-header/utils.js.map +1 -0
- package/dist/test-utils.js +26 -0
- package/dist/test-utils.js.map +1 -0
- package/package.json +33 -33
- package/dist/i18n/messages/ar.json +0 -30
- package/dist/i18n/messages/ca.json +0 -1
- package/dist/i18n/messages/es_419.json +0 -30
- package/dist/i18n/messages/fr.json +0 -30
- package/dist/i18n/messages/fr_CA.json +0 -30
- package/dist/i18n/messages/he.json +0 -1
- package/dist/i18n/messages/id.json +0 -1
- package/dist/i18n/messages/ko_KR.json +0 -2
- package/dist/i18n/messages/pl.json +0 -1
- package/dist/i18n/messages/pt_BR.json +0 -2
- package/dist/i18n/messages/ru.json +0 -1
- package/dist/i18n/messages/th.json +0 -1
- package/dist/i18n/messages/uk.json +0 -1
- package/dist/i18n/messages/zh_CN.json +0 -30
|
@@ -2,10 +2,9 @@ import React from 'react';
|
|
|
2
2
|
import { getConfig } from '@edx/frontend-platform';
|
|
3
3
|
import { getLoginRedirectUrl } from '@edx/frontend-platform/auth';
|
|
4
4
|
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
|
5
|
-
import { Button } from '@
|
|
5
|
+
import { Button } from '@openedx/paragon';
|
|
6
6
|
import genericMessages from '../generic/messages';
|
|
7
|
-
|
|
8
|
-
function AnonymousUserMenu(_ref) {
|
|
7
|
+
var AnonymousUserMenu = function AnonymousUserMenu(_ref) {
|
|
9
8
|
var intl = _ref.intl;
|
|
10
9
|
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
|
|
11
10
|
className: "mr-3",
|
|
@@ -15,8 +14,7 @@ function AnonymousUserMenu(_ref) {
|
|
|
15
14
|
variant: "primary",
|
|
16
15
|
href: "".concat(getLoginRedirectUrl(global.location.href))
|
|
17
16
|
}, intl.formatMessage(genericMessages.signInSentenceCase)));
|
|
18
|
-
}
|
|
19
|
-
|
|
17
|
+
};
|
|
20
18
|
AnonymousUserMenu.propTypes = {
|
|
21
19
|
intl: intlShape.isRequired
|
|
22
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"AnonymousUserMenu.js","names":["React","getConfig","getLoginRedirectUrl","injectIntl","intlShape","Button","genericMessages","AnonymousUserMenu","_ref","intl","createElement","className","variant","href","concat","LMS_BASE_URL","encodeURIComponent","global","location","formatMessage","registerSentenceCase","signInSentenceCase","propTypes","isRequired"],"sources":["../../src/learning-header/AnonymousUserMenu.jsx"],"sourcesContent":["import React from 'react';\n\nimport { getConfig } from '@edx/frontend-platform';\nimport { getLoginRedirectUrl } from '@edx/frontend-platform/auth';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { Button } from '@openedx/paragon';\n\nimport genericMessages from '../generic/messages';\n\nconst AnonymousUserMenu = ({ intl }) => (\n <div>\n <Button\n className=\"mr-3\"\n variant=\"outline-primary\"\n href={`${getConfig().LMS_BASE_URL}/register?next=${encodeURIComponent(global.location.href)}`}\n >\n {intl.formatMessage(genericMessages.registerSentenceCase)}\n </Button>\n <Button\n variant=\"primary\"\n href={`${getLoginRedirectUrl(global.location.href)}`}\n >\n {intl.formatMessage(genericMessages.signInSentenceCase)}\n </Button>\n </div>\n);\n\nAnonymousUserMenu.propTypes = {\n intl: intlShape.isRequired,\n};\n\nexport default injectIntl(AnonymousUserMenu);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SAASC,MAAM,QAAQ,kBAAkB;AAEzC,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA;EAAA,IAAMC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,oBAC/BT,KAAA,CAAAU,aAAA,2BACEV,KAAA,CAAAU,aAAA,CAACL,MAAM;IACLM,SAAS,EAAC,MAAM;IAChBC,OAAO,EAAC,iBAAiB;IACzBC,IAAI,KAAAC,MAAA,CAAKb,SAAS,CAAC,CAAC,CAACc,YAAY,qBAAAD,MAAA,CAAkBE,kBAAkB,CAACC,MAAM,CAACC,QAAQ,CAACL,IAAI,CAAC;EAAG,GAE7FJ,IAAI,CAACU,aAAa,CAACb,eAAe,CAACc,oBAAoB,CAClD,CAAC,eACTpB,KAAA,CAAAU,aAAA,CAACL,MAAM;IACLO,OAAO,EAAC,SAAS;IACjBC,IAAI,KAAAC,MAAA,CAAKZ,mBAAmB,CAACe,MAAM,CAACC,QAAQ,CAACL,IAAI,CAAC;EAAG,GAEpDJ,IAAI,CAACU,aAAa,CAACb,eAAe,CAACe,kBAAkB,CAChD,CACL,CAAC;AAAA,CACP;AAEDd,iBAAiB,CAACe,SAAS,GAAG;EAC5Bb,IAAI,EAAEL,SAAS,CAACmB;AAClB,CAAC;AAED,eAAepB,UAAU,CAACI,iBAAiB,CAAC","ignoreList":[]}
|
|
@@ -4,20 +4,19 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
|
4
4
|
import { faUserCircle } from '@fortawesome/free-solid-svg-icons';
|
|
5
5
|
import { getConfig } from '@edx/frontend-platform';
|
|
6
6
|
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
|
7
|
-
import { Dropdown } from '@
|
|
7
|
+
import { Dropdown } from '@openedx/paragon';
|
|
8
8
|
import messages from './messages';
|
|
9
|
-
|
|
10
|
-
function AuthenticatedUserDropdown(_ref) {
|
|
9
|
+
var AuthenticatedUserDropdown = function AuthenticatedUserDropdown(_ref) {
|
|
11
10
|
var intl = _ref.intl,
|
|
12
|
-
|
|
11
|
+
username = _ref.username;
|
|
13
12
|
var dashboardMenuItem = /*#__PURE__*/React.createElement(Dropdown.Item, {
|
|
14
13
|
href: "".concat(getConfig().LMS_BASE_URL, "/dashboard")
|
|
15
14
|
}, intl.formatMessage(messages.dashboard));
|
|
16
15
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("a", {
|
|
17
|
-
className: "text-gray-700
|
|
16
|
+
className: "text-gray-700",
|
|
18
17
|
href: "".concat(getConfig().SUPPORT_URL)
|
|
19
18
|
}, intl.formatMessage(messages.help)), /*#__PURE__*/React.createElement(Dropdown, {
|
|
20
|
-
className: "user-dropdown"
|
|
19
|
+
className: "user-dropdown ml-3"
|
|
21
20
|
}, /*#__PURE__*/React.createElement(Dropdown.Toggle, {
|
|
22
21
|
variant: "outline-primary"
|
|
23
22
|
}, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
|
@@ -30,16 +29,15 @@ function AuthenticatedUserDropdown(_ref) {
|
|
|
30
29
|
}, username)), /*#__PURE__*/React.createElement(Dropdown.Menu, {
|
|
31
30
|
className: "dropdown-menu-right"
|
|
32
31
|
}, dashboardMenuItem, /*#__PURE__*/React.createElement(Dropdown.Item, {
|
|
33
|
-
href: "".concat(getConfig().
|
|
32
|
+
href: "".concat(getConfig().ACCOUNT_PROFILE_URL, "/u/").concat(username)
|
|
34
33
|
}, intl.formatMessage(messages.profile)), /*#__PURE__*/React.createElement(Dropdown.Item, {
|
|
35
|
-
href:
|
|
34
|
+
href: getConfig().ACCOUNT_SETTINGS_URL
|
|
36
35
|
}, intl.formatMessage(messages.account)), getConfig().ORDER_HISTORY_URL && /*#__PURE__*/React.createElement(Dropdown.Item, {
|
|
37
36
|
href: getConfig().ORDER_HISTORY_URL
|
|
38
37
|
}, intl.formatMessage(messages.orderHistory)), /*#__PURE__*/React.createElement(Dropdown.Item, {
|
|
39
38
|
href: getConfig().LOGOUT_URL
|
|
40
39
|
}, intl.formatMessage(messages.signOut)))));
|
|
41
|
-
}
|
|
42
|
-
|
|
40
|
+
};
|
|
43
41
|
AuthenticatedUserDropdown.propTypes = {
|
|
44
42
|
intl: intlShape.isRequired,
|
|
45
43
|
username: PropTypes.string.isRequired
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"AuthenticatedUserDropdown.js","names":["React","PropTypes","FontAwesomeIcon","faUserCircle","getConfig","injectIntl","intlShape","Dropdown","messages","AuthenticatedUserDropdown","_ref","intl","username","dashboardMenuItem","createElement","Item","href","concat","LMS_BASE_URL","formatMessage","dashboard","Fragment","className","SUPPORT_URL","help","Toggle","variant","icon","size","Menu","ACCOUNT_PROFILE_URL","profile","ACCOUNT_SETTINGS_URL","account","ORDER_HISTORY_URL","orderHistory","LOGOUT_URL","signOut","propTypes","isRequired","string"],"sources":["../../src/learning-header/AuthenticatedUserDropdown.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faUserCircle } from '@fortawesome/free-solid-svg-icons';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { Dropdown } from '@openedx/paragon';\n\nimport messages from './messages';\n\nconst AuthenticatedUserDropdown = ({ intl, username }) => {\n const dashboardMenuItem = (\n <Dropdown.Item href={`${getConfig().LMS_BASE_URL}/dashboard`}>\n {intl.formatMessage(messages.dashboard)}\n </Dropdown.Item>\n );\n\n return (\n <>\n <a className=\"text-gray-700\" href={`${getConfig().SUPPORT_URL}`}>{intl.formatMessage(messages.help)}</a>\n <Dropdown className=\"user-dropdown ml-3\">\n <Dropdown.Toggle variant=\"outline-primary\">\n <FontAwesomeIcon icon={faUserCircle} className=\"d-md-none\" size=\"lg\" />\n <span data-hj-suppress className=\"d-none d-md-inline\">\n {username}\n </span>\n </Dropdown.Toggle>\n <Dropdown.Menu className=\"dropdown-menu-right\">\n {dashboardMenuItem}\n <Dropdown.Item href={`${getConfig().ACCOUNT_PROFILE_URL}/u/${username}`}>\n {intl.formatMessage(messages.profile)}\n </Dropdown.Item>\n <Dropdown.Item href={getConfig().ACCOUNT_SETTINGS_URL}>\n {intl.formatMessage(messages.account)}\n </Dropdown.Item>\n { getConfig().ORDER_HISTORY_URL && (\n <Dropdown.Item href={getConfig().ORDER_HISTORY_URL}>\n {intl.formatMessage(messages.orderHistory)}\n </Dropdown.Item>\n )}\n <Dropdown.Item href={getConfig().LOGOUT_URL}>\n {intl.formatMessage(messages.signOut)}\n </Dropdown.Item>\n </Dropdown.Menu>\n </Dropdown>\n </>\n );\n};\n\nAuthenticatedUserDropdown.propTypes = {\n intl: intlShape.isRequired,\n username: PropTypes.string.isRequired,\n};\n\nexport default injectIntl(AuthenticatedUserDropdown);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,24 +1,15 @@
|
|
|
1
1
|
var _excluded = ["href", "src", "alt"];
|
|
2
|
-
|
|
3
2
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
4
|
-
|
|
5
3
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
6
|
-
|
|
7
4
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
-
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
12
|
-
|
|
5
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
6
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
13
7
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
-
|
|
15
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
16
|
-
|
|
8
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
17
9
|
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; }
|
|
18
|
-
|
|
19
10
|
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; }
|
|
20
|
-
|
|
21
11
|
import React, { useContext, useEffect, useState } from 'react';
|
|
12
|
+
import Responsive from 'react-responsive';
|
|
22
13
|
import PropTypes from 'prop-types';
|
|
23
14
|
import { getConfig } from '@edx/frontend-platform';
|
|
24
15
|
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
|
|
@@ -27,14 +18,12 @@ import AnonymousUserMenu from './AnonymousUserMenu';
|
|
|
27
18
|
import AuthenticatedUserDropdown from './AuthenticatedUserDropdown';
|
|
28
19
|
import messages from './messages';
|
|
29
20
|
import getCourseLogoOrg from './data/api';
|
|
30
|
-
import '
|
|
31
|
-
|
|
32
|
-
function LinkedLogo(_ref) {
|
|
21
|
+
import LanguageSelector from '../LanguageSelector';
|
|
22
|
+
var LinkedLogo = function LinkedLogo(_ref) {
|
|
33
23
|
var href = _ref.href,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
24
|
+
src = _ref.src,
|
|
25
|
+
alt = _ref.alt,
|
|
26
|
+
attributes = _objectWithoutProperties(_ref, _excluded);
|
|
38
27
|
return /*#__PURE__*/React.createElement("a", _extends({
|
|
39
28
|
href: href
|
|
40
29
|
}, attributes), /*#__PURE__*/React.createElement("img", {
|
|
@@ -42,43 +31,46 @@ function LinkedLogo(_ref) {
|
|
|
42
31
|
src: src,
|
|
43
32
|
alt: alt
|
|
44
33
|
}));
|
|
45
|
-
}
|
|
46
|
-
|
|
34
|
+
};
|
|
47
35
|
LinkedLogo.propTypes = {
|
|
48
36
|
href: PropTypes.string.isRequired,
|
|
49
37
|
src: PropTypes.string.isRequired,
|
|
50
38
|
alt: PropTypes.string.isRequired
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
var enabledOrgLogo = !!process.env.ENABLED_ORG_LOGO || false;
|
|
54
|
-
|
|
55
|
-
function LearningHeader(_ref2) {
|
|
39
|
+
};
|
|
40
|
+
var LearningHeader = function LearningHeader(_ref2) {
|
|
56
41
|
var courseOrg = _ref2.courseOrg,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
42
|
+
courseTitle = _ref2.courseTitle,
|
|
43
|
+
intl = _ref2.intl,
|
|
44
|
+
showUserDropdown = _ref2.showUserDropdown;
|
|
61
45
|
var _useContext = useContext(AppContext),
|
|
62
|
-
|
|
63
|
-
|
|
46
|
+
authenticatedUser = _useContext.authenticatedUser;
|
|
64
47
|
var _useState = useState(null),
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
48
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
49
|
+
logoOrg = _useState2[0],
|
|
50
|
+
setLogoOrg = _useState2[1];
|
|
51
|
+
var enableOrgLogo = getConfig().ENABLE_ORG_LOGO;
|
|
69
52
|
useEffect(function () {
|
|
70
|
-
if (courseOrg) {
|
|
53
|
+
if (courseOrg && enableOrgLogo) {
|
|
71
54
|
getCourseLogoOrg().then(function (logoOrgUrl) {
|
|
72
55
|
setLogoOrg(logoOrgUrl);
|
|
73
56
|
});
|
|
74
57
|
}
|
|
75
|
-
}, []);
|
|
76
|
-
var headerLogo = /*#__PURE__*/React.createElement(
|
|
58
|
+
}, [courseOrg, enableOrgLogo]);
|
|
59
|
+
var headerLogo = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Responsive, {
|
|
60
|
+
maxWidth: 769
|
|
61
|
+
}, /*#__PURE__*/React.createElement(LinkedLogo, {
|
|
62
|
+
className: "logo",
|
|
63
|
+
href: "".concat(getConfig().LMS_BASE_URL, "/dashboard"),
|
|
64
|
+
src: getConfig().LOGO_URL_MOBILE || getConfig().LOGO_URL,
|
|
65
|
+
alt: getConfig().SITE_NAME
|
|
66
|
+
})), /*#__PURE__*/React.createElement(Responsive, {
|
|
67
|
+
minWidth: 769
|
|
68
|
+
}, /*#__PURE__*/React.createElement(LinkedLogo, {
|
|
77
69
|
className: "logo",
|
|
78
70
|
href: "".concat(getConfig().LMS_BASE_URL, "/dashboard"),
|
|
79
71
|
src: getConfig().LOGO_URL,
|
|
80
72
|
alt: getConfig().SITE_NAME
|
|
81
|
-
});
|
|
73
|
+
})));
|
|
82
74
|
return /*#__PURE__*/React.createElement("header", {
|
|
83
75
|
className: "learning-header"
|
|
84
76
|
}, /*#__PURE__*/React.createElement("a", {
|
|
@@ -89,23 +81,37 @@ function LearningHeader(_ref2) {
|
|
|
89
81
|
}, headerLogo, /*#__PURE__*/React.createElement("div", {
|
|
90
82
|
className: "d-none d-md-block flex-grow-1 course-title-lockup"
|
|
91
83
|
}, /*#__PURE__*/React.createElement("div", {
|
|
92
|
-
className: "d-md-flex ".concat(
|
|
93
|
-
},
|
|
84
|
+
className: "d-md-flex ".concat(enableOrgLogo && 'align-items-center justify-content-center', " w-100")
|
|
85
|
+
}, enableOrgLogo && courseOrg && logoOrg && /*#__PURE__*/React.createElement("img", {
|
|
94
86
|
src: logoOrg,
|
|
95
87
|
alt: "".concat(courseOrg, " logo"),
|
|
96
88
|
style: {
|
|
97
|
-
maxHeight: '
|
|
89
|
+
maxHeight: '3rem',
|
|
90
|
+
maxWidth: '15rem'
|
|
98
91
|
}
|
|
99
|
-
})
|
|
100
|
-
className: "d-inline-block course-title font-weight-semibold ml-3 text-truncate text-left
|
|
92
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
93
|
+
className: "d-inline-block course-title font-weight-semibold ml-3 text-truncate text-left",
|
|
101
94
|
style: {
|
|
102
|
-
fontSize: '
|
|
95
|
+
fontSize: '1rem'
|
|
103
96
|
}
|
|
104
|
-
}, courseTitle))),
|
|
97
|
+
}, courseTitle))), getConfig().ENABLE_HEADER_LANG_SELECTOR && /*#__PURE__*/React.createElement("div", {
|
|
98
|
+
className: "mx-2 d-md-inline-flex"
|
|
99
|
+
}, /*#__PURE__*/React.createElement(Responsive, {
|
|
100
|
+
maxWidth: 1200
|
|
101
|
+
}, /*#__PURE__*/React.createElement(LanguageSelector, {
|
|
102
|
+
options: JSON.parse(getConfig().SITE_SUPPORTED_LANGUAGES),
|
|
103
|
+
compact: true,
|
|
104
|
+
authenticatedUser: authenticatedUser
|
|
105
|
+
})), /*#__PURE__*/React.createElement(Responsive, {
|
|
106
|
+
minWidth: 1200
|
|
107
|
+
}, /*#__PURE__*/React.createElement(LanguageSelector, {
|
|
108
|
+
options: JSON.parse(getConfig().SITE_SUPPORTED_LANGUAGES),
|
|
109
|
+
compact: false,
|
|
110
|
+
authenticatedUser: authenticatedUser
|
|
111
|
+
}))), showUserDropdown && authenticatedUser && /*#__PURE__*/React.createElement(AuthenticatedUserDropdown, {
|
|
105
112
|
username: authenticatedUser.username
|
|
106
113
|
}), showUserDropdown && !authenticatedUser && /*#__PURE__*/React.createElement(AnonymousUserMenu, null)));
|
|
107
|
-
}
|
|
108
|
-
|
|
114
|
+
};
|
|
109
115
|
LearningHeader.propTypes = {
|
|
110
116
|
courseOrg: PropTypes.string,
|
|
111
117
|
courseTitle: PropTypes.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"LearningHeader.js","names":["React","useContext","useEffect","useState","Responsive","PropTypes","getConfig","injectIntl","intlShape","AppContext","AnonymousUserMenu","AuthenticatedUserDropdown","messages","getCourseLogoOrg","LanguageSelector","LinkedLogo","_ref","href","src","alt","attributes","_objectWithoutProperties","_excluded","createElement","_extends","className","propTypes","string","isRequired","LearningHeader","_ref2","courseOrg","courseTitle","intl","showUserDropdown","_useContext","authenticatedUser","_useState","_useState2","_slicedToArray","logoOrg","setLogoOrg","enableOrgLogo","ENABLE_ORG_LOGO","then","logoOrgUrl","headerLogo","Fragment","maxWidth","concat","LMS_BASE_URL","LOGO_URL_MOBILE","LOGO_URL","SITE_NAME","minWidth","formatMessage","skipNavLink","style","maxHeight","fontSize","ENABLE_HEADER_LANG_SELECTOR","options","JSON","parse","SITE_SUPPORTED_LANGUAGES","compact","username","bool","defaultProps"],"sources":["../../src/learning-header/LearningHeader.jsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\nimport Responsive from 'react-responsive';\nimport PropTypes from 'prop-types';\nimport { getConfig } from '@edx/frontend-platform';\nimport { injectIntl, intlShape } from '@edx/frontend-platform/i18n';\nimport { AppContext } from '@edx/frontend-platform/react';\n\nimport AnonymousUserMenu from './AnonymousUserMenu';\nimport AuthenticatedUserDropdown from './AuthenticatedUserDropdown';\nimport messages from './messages';\nimport getCourseLogoOrg from './data/api';\nimport LanguageSelector from '../LanguageSelector';\n\nconst LinkedLogo = ({\n href,\n src,\n alt,\n ...attributes\n}) => (\n <a href={href} {...attributes}>\n <img className=\"d-block\" src={src} alt={alt} />\n </a>\n);\n\nLinkedLogo.propTypes = {\n href: PropTypes.string.isRequired,\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n};\nconst LearningHeader = ({\n courseOrg, courseTitle, intl, showUserDropdown,\n}) => {\n const { authenticatedUser } = useContext(AppContext);\n const [logoOrg, setLogoOrg] = useState(null);\n const enableOrgLogo = getConfig().ENABLE_ORG_LOGO;\n\n useEffect(() => {\n if (courseOrg && enableOrgLogo) {\n getCourseLogoOrg().then((logoOrgUrl) => { setLogoOrg(logoOrgUrl); });\n }\n }, [courseOrg, enableOrgLogo]);\n\n const headerLogo = (\n <>\n <Responsive maxWidth={769}>\n <LinkedLogo\n className=\"logo\"\n href={`${getConfig().LMS_BASE_URL}/dashboard`}\n src={getConfig().LOGO_URL_MOBILE || getConfig().LOGO_URL}\n alt={getConfig().SITE_NAME}\n />\n </Responsive>\n <Responsive minWidth={769}>\n <LinkedLogo\n className=\"logo\"\n href={`${getConfig().LMS_BASE_URL}/dashboard`}\n src={getConfig().LOGO_URL}\n alt={getConfig().SITE_NAME}\n />\n </Responsive>\n </>\n );\n\n return (\n <header className=\"learning-header\">\n <a className=\"sr-only sr-only-focusable\" href=\"#main-content\">{intl.formatMessage(messages.skipNavLink)}</a>\n <div className=\"container-xl py-2 d-flex align-items-center\">\n {headerLogo}\n <div className=\"d-none d-md-block flex-grow-1 course-title-lockup\">\n <div className={`d-md-flex ${enableOrgLogo && 'align-items-center justify-content-center'} w-100`}>\n {enableOrgLogo && courseOrg && logoOrg && (\n <img src={logoOrg} alt={`${courseOrg} logo`} style={{ maxHeight: '3rem', maxWidth: '15rem' }} />\n )}\n <span\n className=\"d-inline-block course-title font-weight-semibold ml-3 text-truncate text-left\"\n style={{ fontSize: '1rem' }}\n >\n {courseTitle}\n </span>\n </div>\n </div>\n {getConfig().ENABLE_HEADER_LANG_SELECTOR && (\n <div className=\"mx-2 d-md-inline-flex\">\n <Responsive maxWidth={1200}>\n <LanguageSelector\n options={JSON.parse(getConfig().SITE_SUPPORTED_LANGUAGES)}\n compact\n authenticatedUser={authenticatedUser}\n />\n </Responsive>\n <Responsive minWidth={1200}>\n <LanguageSelector\n options={JSON.parse(getConfig().SITE_SUPPORTED_LANGUAGES)}\n compact={false}\n authenticatedUser={authenticatedUser}\n />\n </Responsive>\n </div>\n )}\n {showUserDropdown && authenticatedUser && (\n <AuthenticatedUserDropdown\n username={authenticatedUser.username}\n />\n )}\n {showUserDropdown && !authenticatedUser && (\n <AnonymousUserMenu />\n )}\n </div>\n </header>\n );\n};\n\nLearningHeader.propTypes = {\n courseOrg: PropTypes.string,\n courseTitle: PropTypes.string,\n intl: intlShape.isRequired,\n showUserDropdown: PropTypes.bool,\n};\n\nLearningHeader.defaultProps = {\n courseOrg: null,\n courseTitle: null,\n showUserDropdown: true,\n};\n\nexport default injectIntl(LearningHeader);\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC9D,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,UAAU,EAAEC,SAAS,QAAQ,6BAA6B;AACnE,SAASC,UAAU,QAAQ,8BAA8B;AAEzD,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,yBAAyB,MAAM,6BAA6B;AACnE,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,gBAAgB,MAAM,YAAY;AACzC,OAAOC,gBAAgB,MAAM,qBAAqB;AAElD,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA;EAAA,IACdC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,GAAG,GAAAH,IAAA,CAAHG,GAAG;IACAC,UAAU,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAAA,oBAEbtB,KAAA,CAAAuB,aAAA,MAAAC,QAAA;IAAGP,IAAI,EAAEA;EAAK,GAAKG,UAAU,gBAC3BpB,KAAA,CAAAuB,aAAA;IAAKE,SAAS,EAAC,SAAS;IAACP,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA;EAAI,CAAE,CAC7C,CAAC;AAAA,CACL;AAEDJ,UAAU,CAACW,SAAS,GAAG;EACrBT,IAAI,EAAEZ,SAAS,CAACsB,MAAM,CAACC,UAAU;EACjCV,GAAG,EAAEb,SAAS,CAACsB,MAAM,CAACC,UAAU;EAChCT,GAAG,EAAEd,SAAS,CAACsB,MAAM,CAACC;AACxB,CAAC;AACD,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,KAAA,EAEd;EAAA,IADJC,SAAS,GAAAD,KAAA,CAATC,SAAS;IAAEC,WAAW,GAAAF,KAAA,CAAXE,WAAW;IAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI;IAAEC,gBAAgB,GAAAJ,KAAA,CAAhBI,gBAAgB;EAE9C,IAAAC,WAAA,GAA8BlC,UAAU,CAACQ,UAAU,CAAC;IAA5C2B,iBAAiB,GAAAD,WAAA,CAAjBC,iBAAiB;EACzB,IAAAC,SAAA,GAA8BlC,QAAQ,CAAC,IAAI,CAAC;IAAAmC,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAArCG,OAAO,GAAAF,UAAA;IAAEG,UAAU,GAAAH,UAAA;EAC1B,IAAMI,aAAa,GAAGpC,SAAS,CAAC,CAAC,CAACqC,eAAe;EAEjDzC,SAAS,CAAC,YAAM;IACd,IAAI6B,SAAS,IAAIW,aAAa,EAAE;MAC9B7B,gBAAgB,CAAC,CAAC,CAAC+B,IAAI,CAAC,UAACC,UAAU,EAAK;QAAEJ,UAAU,CAACI,UAAU,CAAC;MAAE,CAAC,CAAC;IACtE;EACF,CAAC,EAAE,CAACd,SAAS,EAAEW,aAAa,CAAC,CAAC;EAE9B,IAAMI,UAAU,gBACd9C,KAAA,CAAAuB,aAAA,CAAAvB,KAAA,CAAA+C,QAAA,qBACE/C,KAAA,CAAAuB,aAAA,CAACnB,UAAU;IAAC4C,QAAQ,EAAE;EAAI,gBACxBhD,KAAA,CAAAuB,aAAA,CAACR,UAAU;IACTU,SAAS,EAAC,MAAM;IAChBR,IAAI,KAAAgC,MAAA,CAAK3C,SAAS,CAAC,CAAC,CAAC4C,YAAY,eAAa;IAC9ChC,GAAG,EAAEZ,SAAS,CAAC,CAAC,CAAC6C,eAAe,IAAI7C,SAAS,CAAC,CAAC,CAAC8C,QAAS;IACzDjC,GAAG,EAAEb,SAAS,CAAC,CAAC,CAAC+C;EAAU,CAC5B,CACS,CAAC,eACbrD,KAAA,CAAAuB,aAAA,CAACnB,UAAU;IAACkD,QAAQ,EAAE;EAAI,gBACxBtD,KAAA,CAAAuB,aAAA,CAACR,UAAU;IACTU,SAAS,EAAC,MAAM;IAChBR,IAAI,KAAAgC,MAAA,CAAK3C,SAAS,CAAC,CAAC,CAAC4C,YAAY,eAAa;IAC9ChC,GAAG,EAAEZ,SAAS,CAAC,CAAC,CAAC8C,QAAS;IAC1BjC,GAAG,EAAEb,SAAS,CAAC,CAAC,CAAC+C;EAAU,CAC5B,CACS,CACZ,CACH;EAED,oBACErD,KAAA,CAAAuB,aAAA;IAAQE,SAAS,EAAC;EAAiB,gBACjCzB,KAAA,CAAAuB,aAAA;IAAGE,SAAS,EAAC,2BAA2B;IAACR,IAAI,EAAC;EAAe,GAAEgB,IAAI,CAACsB,aAAa,CAAC3C,QAAQ,CAAC4C,WAAW,CAAK,CAAC,eAC5GxD,KAAA,CAAAuB,aAAA;IAAKE,SAAS,EAAC;EAA6C,GACzDqB,UAAU,eACX9C,KAAA,CAAAuB,aAAA;IAAKE,SAAS,EAAC;EAAmD,gBAChEzB,KAAA,CAAAuB,aAAA;IAAKE,SAAS,eAAAwB,MAAA,CAAeP,aAAa,IAAI,2CAA2C;EAAS,GAC/FA,aAAa,IAAIX,SAAS,IAAIS,OAAO,iBACpCxC,KAAA,CAAAuB,aAAA;IAAKL,GAAG,EAAEsB,OAAQ;IAACrB,GAAG,KAAA8B,MAAA,CAAKlB,SAAS,UAAQ;IAAC0B,KAAK,EAAE;MAAEC,SAAS,EAAE,MAAM;MAAEV,QAAQ,EAAE;IAAQ;EAAE,CAAE,CAChG,eACDhD,KAAA,CAAAuB,aAAA;IACEE,SAAS,EAAC,+EAA+E;IACzFgC,KAAK,EAAE;MAAEE,QAAQ,EAAE;IAAO;EAAE,GAE3B3B,WACG,CACH,CACF,CAAC,EACL1B,SAAS,CAAC,CAAC,CAACsD,2BAA2B,iBACtC5D,KAAA,CAAAuB,aAAA;IAAKE,SAAS,EAAC;EAAuB,gBACpCzB,KAAA,CAAAuB,aAAA,CAACnB,UAAU;IAAC4C,QAAQ,EAAE;EAAK,gBACzBhD,KAAA,CAAAuB,aAAA,CAACT,gBAAgB;IACf+C,OAAO,EAAEC,IAAI,CAACC,KAAK,CAACzD,SAAS,CAAC,CAAC,CAAC0D,wBAAwB,CAAE;IAC1DC,OAAO;IACP7B,iBAAiB,EAAEA;EAAkB,CACtC,CACS,CAAC,eACbpC,KAAA,CAAAuB,aAAA,CAACnB,UAAU;IAACkD,QAAQ,EAAE;EAAK,gBACzBtD,KAAA,CAAAuB,aAAA,CAACT,gBAAgB;IACf+C,OAAO,EAAEC,IAAI,CAACC,KAAK,CAACzD,SAAS,CAAC,CAAC,CAAC0D,wBAAwB,CAAE;IAC1DC,OAAO,EAAE,KAAM;IACf7B,iBAAiB,EAAEA;EAAkB,CACtC,CACS,CACT,CACN,EACAF,gBAAgB,IAAIE,iBAAiB,iBACpCpC,KAAA,CAAAuB,aAAA,CAACZ,yBAAyB;IACxBuD,QAAQ,EAAE9B,iBAAiB,CAAC8B;EAAS,CACtC,CACF,EACAhC,gBAAgB,IAAI,CAACE,iBAAiB,iBACrCpC,KAAA,CAAAuB,aAAA,CAACb,iBAAiB,MAAE,CAEnB,CACC,CAAC;AAEb,CAAC;AAEDmB,cAAc,CAACH,SAAS,GAAG;EACzBK,SAAS,EAAE1B,SAAS,CAACsB,MAAM;EAC3BK,WAAW,EAAE3B,SAAS,CAACsB,MAAM;EAC7BM,IAAI,EAAEzB,SAAS,CAACoB,UAAU;EAC1BM,gBAAgB,EAAE7B,SAAS,CAAC8D;AAC9B,CAAC;AAEDtC,cAAc,CAACuC,YAAY,GAAG;EAC5BrC,SAAS,EAAE,IAAI;EACfC,WAAW,EAAE,IAAI;EACjBE,gBAAgB,EAAE;AACpB,CAAC;AAED,eAAe3B,UAAU,CAACsB,cAAc,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
@import "../../node_modules/bootstrap/scss/bootstrap-grid";
|
|
2
|
+
@import "../../node_modules/bootstrap/scss/mixins/breakpoints";
|
|
3
|
+
|
|
1
4
|
.logo {
|
|
2
5
|
img {
|
|
3
|
-
@media
|
|
6
|
+
@include media-breakpoint-down(sm) {
|
|
4
7
|
max-width: 85% !important;
|
|
5
8
|
}
|
|
6
9
|
}
|
|
7
|
-
}
|
|
10
|
+
}
|
|
@@ -1,57 +1,45 @@
|
|
|
1
|
+
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); }
|
|
2
|
+
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; }
|
|
1
3
|
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); } }
|
|
2
|
-
|
|
3
4
|
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); }); }; }
|
|
4
|
-
|
|
5
5
|
import { getConfig } from '@edx/frontend-platform';
|
|
6
6
|
import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';
|
|
7
|
-
|
|
8
7
|
var getCourseLogoOrg = /*#__PURE__*/function () {
|
|
9
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/
|
|
8
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
10
9
|
var orgId, _yield$getAuthenticat, data, _ref2, httpErrorStatus;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
_context.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return _context.abrupt("return", null);
|
|
39
|
-
|
|
40
|
-
case 14:
|
|
41
|
-
throw _context.t0;
|
|
42
|
-
|
|
43
|
-
case 15:
|
|
44
|
-
case "end":
|
|
45
|
-
return _context.stop();
|
|
46
|
-
}
|
|
10
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
11
|
+
while (1) switch (_context.prev = _context.next) {
|
|
12
|
+
case 0:
|
|
13
|
+
_context.prev = 0;
|
|
14
|
+
orgId = window.location.pathname.match(/course-(.*?):([^+]+)/)[2];
|
|
15
|
+
_context.next = 4;
|
|
16
|
+
return getAuthenticatedHttpClient().get("".concat(getConfig().LMS_BASE_URL, "/api/organizations/v0/organizations/").concat(orgId, "/"), {
|
|
17
|
+
useCache: true
|
|
18
|
+
});
|
|
19
|
+
case 4:
|
|
20
|
+
_yield$getAuthenticat = _context.sent;
|
|
21
|
+
data = _yield$getAuthenticat.data;
|
|
22
|
+
return _context.abrupt("return", data.logo);
|
|
23
|
+
case 9:
|
|
24
|
+
_context.prev = 9;
|
|
25
|
+
_context.t0 = _context["catch"](0);
|
|
26
|
+
_ref2 = _context.t0 && _context.t0.customAttributes, httpErrorStatus = _ref2.httpErrorStatus;
|
|
27
|
+
if (!(httpErrorStatus === 404)) {
|
|
28
|
+
_context.next = 14;
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
return _context.abrupt("return", null);
|
|
32
|
+
case 14:
|
|
33
|
+
throw _context.t0;
|
|
34
|
+
case 15:
|
|
35
|
+
case "end":
|
|
36
|
+
return _context.stop();
|
|
47
37
|
}
|
|
48
38
|
}, _callee, null, [[0, 9]]);
|
|
49
39
|
}));
|
|
50
|
-
|
|
51
40
|
return function getCourseLogoOrg() {
|
|
52
41
|
return _ref.apply(this, arguments);
|
|
53
42
|
};
|
|
54
43
|
}();
|
|
55
|
-
|
|
56
44
|
export default getCourseLogoOrg;
|
|
57
45
|
//# sourceMappingURL=api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/learning-header/data/api.js"],"names":["getConfig","getAuthenticatedHttpClient","getCourseLogoOrg","orgId","window","location","pathname","match","get","LMS_BASE_URL","useCache","data","logo","customAttributes","httpErrorStatus"],"mappings":";;;;AAAA,SAASA,SAAT,QAA0B,wBAA1B;AACA,SAASC,0BAAT,QAA2C,6BAA3C;;AAEA,IAAMC,gBAAgB;AAAA,qEAAG;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEfC,YAAAA,KAFe,GAEPC,MAAM,CAACC,QAAP,CAAgBC,QAAhB,CAAyBC,KAAzB,CAA+B,sBAA/B,EAAuD,CAAvD,CAFO;AAAA;AAAA,mBAGEN,0BAA0B,GAC9CO,GADoB,WAEhBR,SAAS,GAAGS,YAFI,iDAE+CN,KAF/C,QAGnB;AAAEO,cAAAA,QAAQ,EAAE;AAAZ,aAHmB,CAHF;;AAAA;AAAA;AAGbC,YAAAA,IAHa,yBAGbA,IAHa;AAAA,6CAQdA,IAAI,CAACC,IARS;;AAAA;AAAA;AAAA;AAAA,oBAUO,eAAS,YAAMC,gBAVtB,EAUbC,eAVa,SAUbA,eAVa;;AAAA,kBAWjBA,eAAe,KAAK,GAXH;AAAA;AAAA;AAAA;;AAAA,6CAYZ,IAZY;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAhBZ,gBAAgB;AAAA;AAAA;AAAA,GAAtB;;AAkBA,eAAeA,gBAAf","sourcesContent":["import { getConfig } from '@edx/frontend-platform';\nimport { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';\n\nconst getCourseLogoOrg = async () => {\n try {\n const orgId = window.location.pathname.match(/course-(.*?):([^+]+)/)[2];\n const { data } = await getAuthenticatedHttpClient()\n .get(\n `${getConfig().LMS_BASE_URL}/api/organizations/v0/organizations/${orgId}/`,\n { useCache: true },\n );\n return data.logo;\n } catch (error) {\n const { httpErrorStatus } = error && error.customAttributes;\n if (httpErrorStatus === 404) {\n return null;\n }\n throw error;\n }\n};\n\nexport default getCourseLogoOrg;\n"],"file":"api.js"}
|
|
1
|
+
{"version":3,"file":"api.js","names":["_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","getConfig","getAuthenticatedHttpClient","getCourseLogoOrg","_ref","_callee","orgId","_yield$getAuthenticat","data","_ref2","httpErrorStatus","_callee$","_context","window","location","pathname","match","get","concat","LMS_BASE_URL","useCache","logo","t0","customAttributes"],"sources":["../../../src/learning-header/data/api.js"],"sourcesContent":["import { getConfig } from '@edx/frontend-platform';\nimport { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';\n\nconst getCourseLogoOrg = async () => {\n try {\n const orgId = window.location.pathname.match(/course-(.*?):([^+]+)/)[2];\n const { data } = await getAuthenticatedHttpClient()\n .get(\n `${getConfig().LMS_BASE_URL}/api/organizations/v0/organizations/${orgId}/`,\n { useCache: true },\n );\n return data.logo;\n } catch (error) {\n const { httpErrorStatus } = error && error.customAttributes;\n if (httpErrorStatus === 404) {\n return null;\n }\n throw error;\n }\n};\n\nexport default getCourseLogoOrg;\n"],"mappings":"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","ignoreList":[]}
|