@coorpacademy/components 11.32.15-alpha.9 → 11.32.15
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/es/molecule/discipline-associated-skills/index.d.ts +1 -0
- package/es/molecule/discipline-associated-skills/index.d.ts.map +1 -1
- package/es/molecule/discipline-associated-skills/index.js +8 -4
- package/es/molecule/discipline-associated-skills/index.js.map +1 -1
- package/es/molecule/discipline-associated-skills/style.css +23 -3
- package/es/template/common/discipline/index.d.ts +1 -0
- package/es/template/common/discipline/index.d.ts.map +1 -1
- package/es/template/common/discipline/index.js +4 -1
- package/es/template/common/discipline/index.js.map +1 -1
- package/es/template/my-learning/index.d.ts +0 -3
- package/es/template/my-learning/index.d.ts.map +1 -1
- package/es/template/my-learning/index.js +3 -8
- package/es/template/my-learning/index.js.map +1 -1
- package/es/template/skill-detail/all-courses.d.ts.map +1 -1
- package/es/template/skill-detail/all-courses.js +8 -14
- package/es/template/skill-detail/all-courses.js.map +1 -1
- package/es/template/skill-detail/continue-learning.d.ts.map +1 -1
- package/es/template/skill-detail/continue-learning.js +1 -1
- package/es/template/skill-detail/continue-learning.js.map +1 -1
- package/es/template/skill-detail/index.d.ts +1 -1
- package/es/template/skill-detail/index.js +4 -4
- package/es/template/skill-detail/index.js.map +1 -1
- package/lib/molecule/discipline-associated-skills/index.d.ts +1 -0
- package/lib/molecule/discipline-associated-skills/index.d.ts.map +1 -1
- package/lib/molecule/discipline-associated-skills/index.js +8 -4
- package/lib/molecule/discipline-associated-skills/index.js.map +1 -1
- package/lib/molecule/discipline-associated-skills/style.css +23 -3
- package/lib/template/common/discipline/index.d.ts +1 -0
- package/lib/template/common/discipline/index.d.ts.map +1 -1
- package/lib/template/common/discipline/index.js +4 -1
- package/lib/template/common/discipline/index.js.map +1 -1
- package/lib/template/my-learning/index.d.ts +0 -3
- package/lib/template/my-learning/index.d.ts.map +1 -1
- package/lib/template/my-learning/index.js +3 -8
- package/lib/template/my-learning/index.js.map +1 -1
- package/lib/template/skill-detail/all-courses.d.ts.map +1 -1
- package/lib/template/skill-detail/all-courses.js +10 -14
- package/lib/template/skill-detail/all-courses.js.map +1 -1
- package/lib/template/skill-detail/continue-learning.d.ts.map +1 -1
- package/lib/template/skill-detail/continue-learning.js +1 -1
- package/lib/template/skill-detail/continue-learning.js.map +1 -1
- package/lib/template/skill-detail/index.d.ts +1 -1
- package/lib/template/skill-detail/index.js +4 -4
- package/lib/template/skill-detail/index.js.map +1 -1
- package/locales/bs/global.json +8 -0
- package/locales/cs/global.json +8 -0
- package/locales/de/global.json +8 -0
- package/locales/es/global.json +8 -0
- package/locales/et/global.json +8 -0
- package/locales/fi/global.json +8 -0
- package/locales/fr/global.json +8 -0
- package/locales/hr/global.json +8 -0
- package/locales/hu/global.json +8 -0
- package/locales/hy/global.json +8 -0
- package/locales/it/global.json +8 -0
- package/locales/ja/global.json +8 -0
- package/locales/ko/global.json +8 -0
- package/locales/nl/global.json +8 -0
- package/locales/pl/global.json +8 -0
- package/locales/pt/global.json +8 -0
- package/locales/ro/global.json +8 -0
- package/locales/ru/global.json +8 -0
- package/locales/sk/global.json +8 -0
- package/locales/sl/global.json +8 -0
- package/locales/sv/global.json +8 -0
- package/locales/tl/global.json +8 -0
- package/locales/tr/global.json +8 -0
- package/locales/uk/global.json +8 -0
- package/locales/vi/global.json +8 -0
- package/locales/zh/global.json +8 -0
- package/locales/zh_TW/global.json +8 -0
- package/package.json +2 -2
|
@@ -10,6 +10,7 @@ declare namespace DisciplineAssociatedSkills {
|
|
|
10
10
|
locale: PropTypes.Requireable<string>;
|
|
11
11
|
focused: PropTypes.Requireable<boolean>;
|
|
12
12
|
}> | null | undefined)[]>;
|
|
13
|
+
const skillsBaseUrl: PropTypes.Requireable<string>;
|
|
13
14
|
const onSkillClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
14
15
|
}
|
|
15
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/discipline-associated-skills/index.js"],"names":[],"mappings":";AAUA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/discipline-associated-skills/index.js"],"names":[],"mappings":";AAUA,0FAgFC"}
|
|
@@ -15,13 +15,14 @@ const DisciplineAssociatedSkills = (props, context) => {
|
|
|
15
15
|
} = context;
|
|
16
16
|
const {
|
|
17
17
|
skills = [],
|
|
18
|
+
skillsBaseUrl,
|
|
18
19
|
onSkillClick
|
|
19
20
|
} = props;
|
|
21
|
+
const hrefFormat = useCallback(skill => skillsBaseUrl ? `${skillsBaseUrl}/${skill.ref}` : '', [skillsBaseUrl]);
|
|
20
22
|
const AnchorElement = useCallback(skill => /*#__PURE__*/React.createElement("div", {
|
|
21
23
|
className: style.chipFocusedContent
|
|
22
24
|
}, skill.focused ? /*#__PURE__*/React.createElement(Icon, {
|
|
23
25
|
iconName: "bullseye-arrow",
|
|
24
|
-
backgroundColor: "#DDD1FF",
|
|
25
26
|
size: {
|
|
26
27
|
faSize: 12,
|
|
27
28
|
wrapperSize: 12
|
|
@@ -40,8 +41,9 @@ const DisciplineAssociatedSkills = (props, context) => {
|
|
|
40
41
|
}, /*#__PURE__*/React.createElement("div", {
|
|
41
42
|
className: style.chipsWrapper
|
|
42
43
|
}, skills.map(skill => {
|
|
43
|
-
function handleSkillClick() {
|
|
44
|
-
|
|
44
|
+
function handleSkillClick(event) {
|
|
45
|
+
if (!skillsBaseUrl) event.preventDefault();
|
|
46
|
+
onSkillClick();
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
function handleAnchorElement() {
|
|
@@ -52,7 +54,8 @@ const DisciplineAssociatedSkills = (props, context) => {
|
|
|
52
54
|
return TooltipContentElement(skill);
|
|
53
55
|
}
|
|
54
56
|
|
|
55
|
-
return /*#__PURE__*/React.createElement("
|
|
57
|
+
return /*#__PURE__*/React.createElement("a", {
|
|
58
|
+
href: hrefFormat(skill),
|
|
56
59
|
key: _uniqueId(),
|
|
57
60
|
className: classnames(style.chipWrapper, skill.focused && style.chipWrapperFocused),
|
|
58
61
|
onClick: handleSkillClick
|
|
@@ -77,6 +80,7 @@ DisciplineAssociatedSkills.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
77
80
|
locale: PropTypes.string,
|
|
78
81
|
focused: PropTypes.bool
|
|
79
82
|
})),
|
|
83
|
+
skillsBaseUrl: PropTypes.string,
|
|
80
84
|
onSkillClick: PropTypes.func
|
|
81
85
|
} : {};
|
|
82
86
|
export default DisciplineAssociatedSkills;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useCallback","PropTypes","classnames","Icon","ToolTip","Provider","CatalogSection","style","DisciplineAssociatedSkills","props","context","translate","skills","onSkillClick","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","PropTypes","classnames","Icon","ToolTip","Provider","CatalogSection","style","DisciplineAssociatedSkills","props","context","translate","skills","skillsBaseUrl","onSkillClick","hrefFormat","skill","ref","AnchorElement","chipFocusedContent","focused","faSize","wrapperSize","chipFocusedContentText","locale","TooltipContentElement","tooltipContentWrapper","associatedSkillsWrapper","chipsWrapper","map","handleSkillClick","event","preventDefault","handleAnchorElement","handleTooltipContentElement","chipWrapper","chipWrapperFocused","infoIconTooltip","tooltipSkillFocused","tooltip","contextTypes","childContextTypes","propTypes","arrayOf","shape","string","bool","func"],"sources":["../../../src/molecule/discipline-associated-skills/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {isEmpty, uniqueId} from 'lodash/fp';\nimport Icon from '../../atom/icon';\nimport ToolTip from '../../atom/tooltip';\nimport Provider from '../../atom/provider';\nimport CatalogSection from '../../atom/catalog-section';\nimport style from './style.css';\n\nconst DisciplineAssociatedSkills = (props, context) => {\n const {translate} = context;\n\n const {skills = [], skillsBaseUrl, onSkillClick} = props;\n\n const hrefFormat = useCallback(\n skill => (skillsBaseUrl ? `${skillsBaseUrl}/${skill.ref}` : ''),\n [skillsBaseUrl]\n );\n\n const AnchorElement = useCallback(\n skill => (\n <div className={style.chipFocusedContent}>\n {skill.focused ? (\n <Icon\n iconName=\"bullseye-arrow\"\n size={{\n faSize: 12,\n wrapperSize: 12\n }}\n />\n ) : null}\n <div className={style.chipFocusedContentText}>{skill.locale}</div>\n </div>\n ),\n []\n );\n\n const TooltipContentElement = useCallback(\n skill => (\n <div className={style.tooltipContentWrapper}>\n {skill.focused ? (\n <div>\n <b>{translate('skill_focused_chip_tooltip')}</b>\n </div>\n ) : null}\n <div>{skill.locale}</div>\n </div>\n ),\n []\n );\n\n return !isEmpty(skills) ? (\n <div data-name=\"discipline-associated-skills\" className={style.associatedSkillsWrapper}>\n <CatalogSection title={translate('associated_skills')}>\n <div className={style.chipsWrapper}>\n {skills.map(skill => {\n function handleSkillClick(event) {\n if (!skillsBaseUrl) event.preventDefault();\n onSkillClick();\n }\n function handleAnchorElement() {\n return AnchorElement(skill);\n }\n function handleTooltipContentElement() {\n return TooltipContentElement(skill);\n }\n return (\n <a\n href={hrefFormat(skill)}\n key={uniqueId()}\n className={classnames(style.chipWrapper, skill.focused && style.chipWrapperFocused)}\n onClick={handleSkillClick}\n >\n <ToolTip\n AnchorElement={handleAnchorElement}\n fontSize={12}\n delayHide={0}\n iconContainerClassName={style.infoIconTooltip}\n tooltipClassName={skill.focused ? style.tooltipSkillFocused : style.tooltip}\n TooltipContent={handleTooltipContentElement}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n />\n </a>\n );\n })}\n </div>\n </CatalogSection>\n </div>\n ) : null;\n};\n\nDisciplineAssociatedSkills.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nDisciplineAssociatedSkills.propTypes = {\n skills: PropTypes.arrayOf(\n PropTypes.shape({\n ref: PropTypes.string,\n locale: PropTypes.string,\n focused: PropTypes.bool\n })\n ),\n skillsBaseUrl: PropTypes.string,\n onSkillClick: PropTypes.func\n};\n\nexport default DisciplineAssociatedSkills;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAeC,WAAf,QAAiC,OAAjC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,OAAP,MAAoB,oBAApB;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,cAAP,MAA2B,4BAA3B;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,0BAA0B,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACrD,MAAM;IAACC;EAAD,IAAcD,OAApB;EAEA,MAAM;IAACE,MAAM,GAAG,EAAV;IAAcC,aAAd;IAA6BC;EAA7B,IAA6CL,KAAnD;EAEA,MAAMM,UAAU,GAAGf,WAAW,CAC5BgB,KAAK,IAAKH,aAAa,GAAI,GAAEA,aAAc,IAAGG,KAAK,CAACC,GAAI,EAAjC,GAAqC,EADhC,EAE5B,CAACJ,aAAD,CAF4B,CAA9B;EAKA,MAAMK,aAAa,GAAGlB,WAAW,CAC/BgB,KAAK,iBACH;IAAK,SAAS,EAAET,KAAK,CAACY;EAAtB,GACGH,KAAK,CAACI,OAAN,gBACC,oBAAC,IAAD;IACE,QAAQ,EAAC,gBADX;IAEE,IAAI,EAAE;MACJC,MAAM,EAAE,EADJ;MAEJC,WAAW,EAAE;IAFT;EAFR,EADD,GAQG,IATN,eAUE;IAAK,SAAS,EAAEf,KAAK,CAACgB;EAAtB,GAA+CP,KAAK,CAACQ,MAArD,CAVF,CAF6B,EAe/B,EAf+B,CAAjC;EAkBA,MAAMC,qBAAqB,GAAGzB,WAAW,CACvCgB,KAAK,iBACH;IAAK,SAAS,EAAET,KAAK,CAACmB;EAAtB,GACGV,KAAK,CAACI,OAAN,gBACC,8CACE,+BAAIT,SAAS,CAAC,4BAAD,CAAb,CADF,CADD,GAIG,IALN,eAME,iCAAMK,KAAK,CAACQ,MAAZ,CANF,CAFqC,EAWvC,EAXuC,CAAzC;EAcA,OAAO,CAAC,SAAQZ,MAAR,CAAD,gBACL;IAAK,aAAU,8BAAf;IAA8C,SAAS,EAAEL,KAAK,CAACoB;EAA/D,gBACE,oBAAC,cAAD;IAAgB,KAAK,EAAEhB,SAAS,CAAC,mBAAD;EAAhC,gBACE;IAAK,SAAS,EAAEJ,KAAK,CAACqB;EAAtB,GACGhB,MAAM,CAACiB,GAAP,CAAWb,KAAK,IAAI;IACnB,SAASc,gBAAT,CAA0BC,KAA1B,EAAiC;MAC/B,IAAI,CAAClB,aAAL,EAAoBkB,KAAK,CAACC,cAAN;MACpBlB,YAAY;IACb;;IACD,SAASmB,mBAAT,GAA+B;MAC7B,OAAOf,aAAa,CAACF,KAAD,CAApB;IACD;;IACD,SAASkB,2BAAT,GAAuC;MACrC,OAAOT,qBAAqB,CAACT,KAAD,CAA5B;IACD;;IACD,oBACE;MACE,IAAI,EAAED,UAAU,CAACC,KAAD,CADlB;MAEE,GAAG,EAAE,WAFP;MAGE,SAAS,EAAEd,UAAU,CAACK,KAAK,CAAC4B,WAAP,EAAoBnB,KAAK,CAACI,OAAN,IAAiBb,KAAK,CAAC6B,kBAA3C,CAHvB;MAIE,OAAO,EAAEN;IAJX,gBAME,oBAAC,OAAD;MACE,aAAa,EAAEG,mBADjB;MAEE,QAAQ,EAAE,EAFZ;MAGE,SAAS,EAAE,CAHb;MAIE,sBAAsB,EAAE1B,KAAK,CAAC8B,eAJhC;MAKE,gBAAgB,EAAErB,KAAK,CAACI,OAAN,GAAgBb,KAAK,CAAC+B,mBAAtB,GAA4C/B,KAAK,CAACgC,OALtE;MAME,cAAc,EAAEL,2BANlB;MAOE,oCAAoC,EAAEvB,SAAS,CAAC,2BAAD;IAPjD,EANF,CADF;EAkBD,CA7BA,CADH,CADF,CADF,CADK,GAqCH,IArCJ;AAsCD,CAhFD;;AAkFAH,0BAA0B,CAACgC,YAA3B,GAA0C;EACxC7B,SAAS,EAAEN,QAAQ,CAACoC,iBAAT,CAA2B9B;AADE,CAA1C;AAIAH,0BAA0B,CAACkC,SAA3B,2CAAuC;EACrC9B,MAAM,EAAEX,SAAS,CAAC0C,OAAV,CACN1C,SAAS,CAAC2C,KAAV,CAAgB;IACd3B,GAAG,EAAEhB,SAAS,CAAC4C,MADD;IAEdrB,MAAM,EAAEvB,SAAS,CAAC4C,MAFJ;IAGdzB,OAAO,EAAEnB,SAAS,CAAC6C;EAHL,CAAhB,CADM,CAD6B;EAQrCjC,aAAa,EAAEZ,SAAS,CAAC4C,MARY;EASrC/B,YAAY,EAAEb,SAAS,CAAC8C;AATa,CAAvC;AAYA,eAAevC,0BAAf"}
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
@value desktop from breakpoints;
|
|
4
4
|
@value mobile from breakpoints;
|
|
5
5
|
@value cm_grey_100 from colors;
|
|
6
|
+
@value cm_grey_150 from colors;
|
|
6
7
|
@value cm_grey_200 from colors;
|
|
8
|
+
@value cm_grey_500 from colors;
|
|
7
9
|
@value cm_grey_700 from colors;
|
|
8
10
|
|
|
9
11
|
.associatedSkillsWrapper {
|
|
@@ -20,18 +22,35 @@
|
|
|
20
22
|
width: fit-content;
|
|
21
23
|
border-radius: 8px;
|
|
22
24
|
padding: 4px 8px;
|
|
23
|
-
background-color:
|
|
24
|
-
color:
|
|
25
|
+
background-color: cm_grey_150;
|
|
26
|
+
color: cm_grey_500;
|
|
25
27
|
font-family: 'Gilroy';
|
|
26
28
|
font-style: normal;
|
|
27
29
|
font-weight: 600;
|
|
28
30
|
line-height: 20px;
|
|
29
31
|
font-size: 14px;
|
|
32
|
+
cursor: pointer;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.chipWrapper:hover {
|
|
36
|
+
background-color: cm_grey_200;
|
|
37
|
+
color: cm_grey_700;
|
|
30
38
|
}
|
|
31
39
|
|
|
32
40
|
.chipWrapperFocused {
|
|
33
41
|
background-color: #DDD1FF;
|
|
34
|
-
color: #
|
|
42
|
+
color: #4B0AFF;
|
|
43
|
+
svg {
|
|
44
|
+
color: #4B0AFF;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.chipWrapperFocused:hover {
|
|
49
|
+
background-color: #B89EFF;
|
|
50
|
+
color: #2B00A3;
|
|
51
|
+
svg {
|
|
52
|
+
color: #2B00A3;
|
|
53
|
+
}
|
|
35
54
|
}
|
|
36
55
|
|
|
37
56
|
.chipFocusedContent {
|
|
@@ -42,6 +61,7 @@
|
|
|
42
61
|
|
|
43
62
|
div {
|
|
44
63
|
padding: 0 !important;
|
|
64
|
+
background-color: transparent;
|
|
45
65
|
}
|
|
46
66
|
}
|
|
47
67
|
|
|
@@ -122,6 +122,7 @@ declare namespace Discipline {
|
|
|
122
122
|
locale: PropTypes.Requireable<string>;
|
|
123
123
|
focused: PropTypes.Requireable<boolean>;
|
|
124
124
|
}> | null | undefined)[]>;
|
|
125
|
+
const skillsBaseUrl: PropTypes.Requireable<string>;
|
|
125
126
|
const onSkillClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
126
127
|
const addToMyListText: PropTypes.Requireable<string>;
|
|
127
128
|
const removeFromMyListText: PropTypes.Requireable<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/common/discipline/index.js"],"names":[],"mappings":";AAeA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/common/discipline/index.js"],"names":[],"mappings":";AAeA,mEAwKC"}
|
|
@@ -25,6 +25,7 @@ const Discipline = (props, context) => {
|
|
|
25
25
|
buy,
|
|
26
26
|
startLabel,
|
|
27
27
|
skills = [],
|
|
28
|
+
skillsBaseUrl,
|
|
28
29
|
onSkillClick,
|
|
29
30
|
buyLabel,
|
|
30
31
|
shareWording,
|
|
@@ -94,7 +95,8 @@ const Discipline = (props, context) => {
|
|
|
94
95
|
key: 'shareTablet'
|
|
95
96
|
})), /*#__PURE__*/React.createElement(DisciplineAssociatedSkills, {
|
|
96
97
|
skills: skills,
|
|
97
|
-
onSkillClick: onSkillClick
|
|
98
|
+
onSkillClick: onSkillClick,
|
|
99
|
+
skillsBaseUrl: skillsBaseUrl
|
|
98
100
|
}), authorSection), disciplineContent), /*#__PURE__*/React.createElement("div", {
|
|
99
101
|
className: style.rightSection
|
|
100
102
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -156,6 +158,7 @@ Discipline.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
156
158
|
locale: PropTypes.string,
|
|
157
159
|
focused: PropTypes.bool
|
|
158
160
|
})),
|
|
161
|
+
skillsBaseUrl: PropTypes.string,
|
|
159
162
|
onSkillClick: PropTypes.func,
|
|
160
163
|
addToMyListText: AddToMyListFeedback.propTypes.addToMyListText,
|
|
161
164
|
removeFromMyListText: AddToMyListFeedback.propTypes.removeFromMyListText,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","isEmpty","PropTypes","DisciplineCTA","DisciplineHeader","DisciplinePartners","DisciplineScope","DisciplineAssociatedSkills","Share","ShareFeedback","ShareStatusProvider","AddToMyList","AddToMyListFeedback","AddToMyListStatusProvider","style","Discipline","props","context","selected","level","levels","changeLevel","image","title","video","authors","description","start","buy","startLabel","skills","onSkillClick","buyLabel","shareWording","shareText","shareSuccessWording","shareErrorWording","addToMyListButton","favorite","onFavoriteClick","addToMyListText","removeFromMyListText","disableShare","disableAddToMyList","lastUpdated","authorSection","partners","disciplineCTA","disciplineContent","content","disciplineHeader","header","discipline","container","leftSection","mobileAuthorCtaSection","columnReverse","cta","addToMyListBtn","shareBtn","rightSection","stickySection","buttons","shareFeedBack","addToMyListFeedback","addToMyListProviderWrap","shareProviderWrap","propTypes","onClick","wording","text","successWording","errorWording","arrayOf","shape","ref","string","locale","focused","bool","func","contextTypes","translate"],"sources":["../../../../src/template/common/discipline/index.js"],"sourcesContent":["import React from 'react';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport PropTypes from 'prop-types';\nimport DisciplineCTA from '../../../molecule/discipline-cta';\nimport DisciplineHeader from '../../../molecule/discipline-header';\nimport DisciplinePartners from '../../../molecule/discipline-partners';\nimport DisciplineScope from '../../../molecule/discipline-scope';\nimport DisciplineAssociatedSkills from '../../../molecule/discipline-associated-skills';\nimport Share, {ShareFeedback, ShareStatusProvider} from '../../../molecule/share';\nimport AddToMyList, {\n AddToMyListFeedback,\n AddToMyListStatusProvider\n} from '../../../molecule/add-to-my-list';\nimport style from './style.css';\n\nconst Discipline = (props, context) => {\n const {\n selected = 0,\n level,\n levels,\n changeLevel,\n image,\n title = '',\n video,\n authors = [],\n description = '',\n start,\n buy,\n startLabel,\n skills = [],\n onSkillClick,\n buyLabel,\n shareWording,\n shareText,\n shareSuccessWording,\n shareErrorWording,\n addToMyListButton,\n favorite,\n onFavoriteClick,\n addToMyListText,\n removeFromMyListText,\n disableShare = false,\n disableAddToMyList = false,\n lastUpdated\n } = props;\n\n const authorSection = isEmpty(authors) ? null : (\n <div className={style.partners}>\n <DisciplinePartners authors={authors} />\n </div>\n );\n\n const disciplineCTA = (\n <DisciplineCTA\n type={'discipline'}\n start={start}\n buy={buy}\n startLabel={startLabel}\n buyLabel={buyLabel}\n />\n );\n\n const disciplineContent = (\n <div className={style.content}>\n <DisciplineScope content={level} levels={levels} selected={selected} onClick={changeLevel} />\n </div>\n );\n\n const disciplineHeader = (\n <div className={style.header}>\n <DisciplineHeader\n image={image}\n video={video}\n title={title}\n description={description}\n lastUpdated={lastUpdated}\n />\n </div>\n );\n\n const discipline = (\n <div data-name=\"discipline\" className={style.container} key=\"discipline\">\n <div className={style.leftSection}>\n {disciplineHeader}\n <div className={style.mobileAuthorCtaSection}>\n <div className={style.columnReverse}>\n <div className={style.cta}>{disciplineCTA}</div>\n {disableAddToMyList ? null : (\n <AddToMyList\n style={style.addToMyListBtn}\n addToMyListButton={addToMyListButton}\n favorite={favorite}\n onFavoriteClick={onFavoriteClick}\n key={'addToMyListTablet'}\n />\n )}\n {disableShare ? null : (\n <Share\n style={style.shareBtn}\n wording={shareWording}\n text={shareText}\n key={'shareTablet'}\n />\n )}\n </div>\n <DisciplineAssociatedSkills skills={skills} onSkillClick={onSkillClick} />\n {authorSection}\n </div>\n {disciplineContent}\n </div>\n <div className={style.rightSection}>\n <div className={style.stickySection}>\n <div className={style.cta}>\n {disciplineCTA}\n {disableShare && disableAddToMyList ? null : (\n <div className={style.buttons}>\n {disableShare ? null : (\n <Share\n style={style.shareBtn}\n wording={shareWording}\n text={shareText}\n key={'shareDesktop'}\n />\n )}\n {disableAddToMyList ? null : (\n <AddToMyList\n style={style.addToMyListBtn}\n addToMyListButton={addToMyListButton}\n favorite={favorite}\n onFavoriteClick={onFavoriteClick}\n key={'addToMyListDesktop'}\n />\n )}\n </div>\n )}\n </div>\n <DisciplineAssociatedSkills skills={skills} onSkillClick={onSkillClick} />\n {authorSection}\n </div>\n </div>\n </div>\n );\n\n const shareFeedBack = disableShare ? null : (\n <ShareFeedback\n errorWording={shareErrorWording}\n successWording={shareSuccessWording}\n key=\"shareFeedBack\"\n />\n );\n\n const addToMyListFeedback = disableAddToMyList ? null : (\n <AddToMyListFeedback\n addToMyListText={addToMyListText}\n removeFromMyListText={removeFromMyListText}\n favorite={favorite}\n />\n );\n\n const addToMyListProviderWrap = disableAddToMyList ? (\n <>\n {shareFeedBack}\n {discipline}\n </>\n ) : (\n <AddToMyListStatusProvider>\n {shareFeedBack}\n {addToMyListFeedback}\n {discipline}\n </AddToMyListStatusProvider>\n );\n const shareProviderWrap = disableShare ? (\n addToMyListProviderWrap\n ) : (\n <ShareStatusProvider>{addToMyListProviderWrap}</ShareStatusProvider>\n );\n\n return shareProviderWrap;\n};\n\nDiscipline.propTypes = {\n image: DisciplineHeader.propTypes.image,\n video: DisciplineHeader.propTypes.video,\n title: DisciplineHeader.propTypes.title,\n description: DisciplineHeader.propTypes.description,\n start: DisciplineCTA.propTypes.start,\n buy: DisciplineCTA.propTypes.buy,\n startLabel: DisciplineCTA.propTypes.startLabel,\n buyLabel: DisciplineCTA.propTypes.buyLabel,\n authors: DisciplinePartners.propTypes.authors,\n level: DisciplineScope.propTypes.content,\n levels: DisciplineScope.propTypes.levels,\n selected: DisciplineScope.propTypes.selected,\n changeLevel: DisciplineScope.propTypes.onClick,\n shareWording: Share.propTypes.wording,\n shareText: Share.propTypes.text,\n shareSuccessWording: ShareFeedback.propTypes.successWording,\n shareErrorWording: ShareFeedback.propTypes.errorWording,\n skills: PropTypes.arrayOf(\n PropTypes.shape({\n ref: PropTypes.string,\n locale: PropTypes.string,\n focused: PropTypes.bool\n })\n ),\n onSkillClick: PropTypes.func,\n addToMyListText: AddToMyListFeedback.propTypes.addToMyListText,\n removeFromMyListText: AddToMyListFeedback.propTypes.removeFromMyListText,\n addToMyListButton: AddToMyList.propTypes.addToMyListButton,\n onFavoriteClick: AddToMyList.propTypes.onFavoriteClick,\n favorite: AddToMyList.propTypes.favorite,\n disableShare: PropTypes.bool,\n disableAddToMyList: PropTypes.bool\n};\n\nDiscipline.contextTypes = {\n translate: PropTypes.func\n};\n\nexport default Discipline;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","isEmpty","PropTypes","DisciplineCTA","DisciplineHeader","DisciplinePartners","DisciplineScope","DisciplineAssociatedSkills","Share","ShareFeedback","ShareStatusProvider","AddToMyList","AddToMyListFeedback","AddToMyListStatusProvider","style","Discipline","props","context","selected","level","levels","changeLevel","image","title","video","authors","description","start","buy","startLabel","skills","skillsBaseUrl","onSkillClick","buyLabel","shareWording","shareText","shareSuccessWording","shareErrorWording","addToMyListButton","favorite","onFavoriteClick","addToMyListText","removeFromMyListText","disableShare","disableAddToMyList","lastUpdated","authorSection","partners","disciplineCTA","disciplineContent","content","disciplineHeader","header","discipline","container","leftSection","mobileAuthorCtaSection","columnReverse","cta","addToMyListBtn","shareBtn","rightSection","stickySection","buttons","shareFeedBack","addToMyListFeedback","addToMyListProviderWrap","shareProviderWrap","propTypes","onClick","wording","text","successWording","errorWording","arrayOf","shape","ref","string","locale","focused","bool","func","contextTypes","translate"],"sources":["../../../../src/template/common/discipline/index.js"],"sourcesContent":["import React from 'react';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport PropTypes from 'prop-types';\nimport DisciplineCTA from '../../../molecule/discipline-cta';\nimport DisciplineHeader from '../../../molecule/discipline-header';\nimport DisciplinePartners from '../../../molecule/discipline-partners';\nimport DisciplineScope from '../../../molecule/discipline-scope';\nimport DisciplineAssociatedSkills from '../../../molecule/discipline-associated-skills';\nimport Share, {ShareFeedback, ShareStatusProvider} from '../../../molecule/share';\nimport AddToMyList, {\n AddToMyListFeedback,\n AddToMyListStatusProvider\n} from '../../../molecule/add-to-my-list';\nimport style from './style.css';\n\nconst Discipline = (props, context) => {\n const {\n selected = 0,\n level,\n levels,\n changeLevel,\n image,\n title = '',\n video,\n authors = [],\n description = '',\n start,\n buy,\n startLabel,\n skills = [],\n skillsBaseUrl,\n onSkillClick,\n buyLabel,\n shareWording,\n shareText,\n shareSuccessWording,\n shareErrorWording,\n addToMyListButton,\n favorite,\n onFavoriteClick,\n addToMyListText,\n removeFromMyListText,\n disableShare = false,\n disableAddToMyList = false,\n lastUpdated\n } = props;\n\n const authorSection = isEmpty(authors) ? null : (\n <div className={style.partners}>\n <DisciplinePartners authors={authors} />\n </div>\n );\n\n const disciplineCTA = (\n <DisciplineCTA\n type={'discipline'}\n start={start}\n buy={buy}\n startLabel={startLabel}\n buyLabel={buyLabel}\n />\n );\n\n const disciplineContent = (\n <div className={style.content}>\n <DisciplineScope content={level} levels={levels} selected={selected} onClick={changeLevel} />\n </div>\n );\n\n const disciplineHeader = (\n <div className={style.header}>\n <DisciplineHeader\n image={image}\n video={video}\n title={title}\n description={description}\n lastUpdated={lastUpdated}\n />\n </div>\n );\n\n const discipline = (\n <div data-name=\"discipline\" className={style.container} key=\"discipline\">\n <div className={style.leftSection}>\n {disciplineHeader}\n <div className={style.mobileAuthorCtaSection}>\n <div className={style.columnReverse}>\n <div className={style.cta}>{disciplineCTA}</div>\n {disableAddToMyList ? null : (\n <AddToMyList\n style={style.addToMyListBtn}\n addToMyListButton={addToMyListButton}\n favorite={favorite}\n onFavoriteClick={onFavoriteClick}\n key={'addToMyListTablet'}\n />\n )}\n {disableShare ? null : (\n <Share\n style={style.shareBtn}\n wording={shareWording}\n text={shareText}\n key={'shareTablet'}\n />\n )}\n </div>\n <DisciplineAssociatedSkills\n skills={skills}\n onSkillClick={onSkillClick}\n skillsBaseUrl={skillsBaseUrl}\n />\n {authorSection}\n </div>\n {disciplineContent}\n </div>\n <div className={style.rightSection}>\n <div className={style.stickySection}>\n <div className={style.cta}>\n {disciplineCTA}\n {disableShare && disableAddToMyList ? null : (\n <div className={style.buttons}>\n {disableShare ? null : (\n <Share\n style={style.shareBtn}\n wording={shareWording}\n text={shareText}\n key={'shareDesktop'}\n />\n )}\n {disableAddToMyList ? null : (\n <AddToMyList\n style={style.addToMyListBtn}\n addToMyListButton={addToMyListButton}\n favorite={favorite}\n onFavoriteClick={onFavoriteClick}\n key={'addToMyListDesktop'}\n />\n )}\n </div>\n )}\n </div>\n <DisciplineAssociatedSkills skills={skills} onSkillClick={onSkillClick} />\n {authorSection}\n </div>\n </div>\n </div>\n );\n\n const shareFeedBack = disableShare ? null : (\n <ShareFeedback\n errorWording={shareErrorWording}\n successWording={shareSuccessWording}\n key=\"shareFeedBack\"\n />\n );\n\n const addToMyListFeedback = disableAddToMyList ? null : (\n <AddToMyListFeedback\n addToMyListText={addToMyListText}\n removeFromMyListText={removeFromMyListText}\n favorite={favorite}\n />\n );\n\n const addToMyListProviderWrap = disableAddToMyList ? (\n <>\n {shareFeedBack}\n {discipline}\n </>\n ) : (\n <AddToMyListStatusProvider>\n {shareFeedBack}\n {addToMyListFeedback}\n {discipline}\n </AddToMyListStatusProvider>\n );\n const shareProviderWrap = disableShare ? (\n addToMyListProviderWrap\n ) : (\n <ShareStatusProvider>{addToMyListProviderWrap}</ShareStatusProvider>\n );\n\n return shareProviderWrap;\n};\n\nDiscipline.propTypes = {\n image: DisciplineHeader.propTypes.image,\n video: DisciplineHeader.propTypes.video,\n title: DisciplineHeader.propTypes.title,\n description: DisciplineHeader.propTypes.description,\n start: DisciplineCTA.propTypes.start,\n buy: DisciplineCTA.propTypes.buy,\n startLabel: DisciplineCTA.propTypes.startLabel,\n buyLabel: DisciplineCTA.propTypes.buyLabel,\n authors: DisciplinePartners.propTypes.authors,\n level: DisciplineScope.propTypes.content,\n levels: DisciplineScope.propTypes.levels,\n selected: DisciplineScope.propTypes.selected,\n changeLevel: DisciplineScope.propTypes.onClick,\n shareWording: Share.propTypes.wording,\n shareText: Share.propTypes.text,\n shareSuccessWording: ShareFeedback.propTypes.successWording,\n shareErrorWording: ShareFeedback.propTypes.errorWording,\n skills: PropTypes.arrayOf(\n PropTypes.shape({\n ref: PropTypes.string,\n locale: PropTypes.string,\n focused: PropTypes.bool\n })\n ),\n skillsBaseUrl: PropTypes.string,\n onSkillClick: PropTypes.func,\n addToMyListText: AddToMyListFeedback.propTypes.addToMyListText,\n removeFromMyListText: AddToMyListFeedback.propTypes.removeFromMyListText,\n addToMyListButton: AddToMyList.propTypes.addToMyListButton,\n onFavoriteClick: AddToMyList.propTypes.onFavoriteClick,\n favorite: AddToMyList.propTypes.favorite,\n disableShare: PropTypes.bool,\n disableAddToMyList: PropTypes.bool\n};\n\nDiscipline.contextTypes = {\n translate: PropTypes.func\n};\n\nexport default Discipline;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,OAAP,MAAoB,mBAApB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,aAAP,MAA0B,kCAA1B;AACA,OAAOC,gBAAP,MAA6B,qCAA7B;AACA,OAAOC,kBAAP,MAA+B,uCAA/B;AACA,OAAOC,eAAP,MAA4B,oCAA5B;AACA,OAAOC,0BAAP,MAAuC,gDAAvC;AACA,OAAOC,KAAP,IAAeC,aAAf,EAA8BC,mBAA9B,QAAwD,yBAAxD;AACA,OAAOC,WAAP,IACEC,mBADF,EAEEC,yBAFF,QAGO,kCAHP;AAIA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,UAAU,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACrC,MAAM;IACJC,QAAQ,GAAG,CADP;IAEJC,KAFI;IAGJC,MAHI;IAIJC,WAJI;IAKJC,KALI;IAMJC,KAAK,GAAG,EANJ;IAOJC,KAPI;IAQJC,OAAO,GAAG,EARN;IASJC,WAAW,GAAG,EATV;IAUJC,KAVI;IAWJC,GAXI;IAYJC,UAZI;IAaJC,MAAM,GAAG,EAbL;IAcJC,aAdI;IAeJC,YAfI;IAgBJC,QAhBI;IAiBJC,YAjBI;IAkBJC,SAlBI;IAmBJC,mBAnBI;IAoBJC,iBApBI;IAqBJC,iBArBI;IAsBJC,QAtBI;IAuBJC,eAvBI;IAwBJC,eAxBI;IAyBJC,oBAzBI;IA0BJC,YAAY,GAAG,KA1BX;IA2BJC,kBAAkB,GAAG,KA3BjB;IA4BJC;EA5BI,IA6BF7B,KA7BJ;EA+BA,MAAM8B,aAAa,GAAG7C,OAAO,CAACwB,OAAD,CAAP,GAAmB,IAAnB,gBACpB;IAAK,SAAS,EAAEX,KAAK,CAACiC;EAAtB,gBACE,oBAAC,kBAAD;IAAoB,OAAO,EAAEtB;EAA7B,EADF,CADF;EAMA,MAAMuB,aAAa,gBACjB,oBAAC,aAAD;IACE,IAAI,EAAE,YADR;IAEE,KAAK,EAAErB,KAFT;IAGE,GAAG,EAAEC,GAHP;IAIE,UAAU,EAAEC,UAJd;IAKE,QAAQ,EAAEI;EALZ,EADF;EAUA,MAAMgB,iBAAiB,gBACrB;IAAK,SAAS,EAAEnC,KAAK,CAACoC;EAAtB,gBACE,oBAAC,eAAD;IAAiB,OAAO,EAAE/B,KAA1B;IAAiC,MAAM,EAAEC,MAAzC;IAAiD,QAAQ,EAAEF,QAA3D;IAAqE,OAAO,EAAEG;EAA9E,EADF,CADF;EAMA,MAAM8B,gBAAgB,gBACpB;IAAK,SAAS,EAAErC,KAAK,CAACsC;EAAtB,gBACE,oBAAC,gBAAD;IACE,KAAK,EAAE9B,KADT;IAEE,KAAK,EAAEE,KAFT;IAGE,KAAK,EAAED,KAHT;IAIE,WAAW,EAAEG,WAJf;IAKE,WAAW,EAAEmB;EALf,EADF,CADF;EAYA,MAAMQ,UAAU,gBACd;IAAK,aAAU,YAAf;IAA4B,SAAS,EAAEvC,KAAK,CAACwC,SAA7C;IAAwD,GAAG,EAAC;EAA5D,gBACE;IAAK,SAAS,EAAExC,KAAK,CAACyC;EAAtB,GACGJ,gBADH,eAEE;IAAK,SAAS,EAAErC,KAAK,CAAC0C;EAAtB,gBACE;IAAK,SAAS,EAAE1C,KAAK,CAAC2C;EAAtB,gBACE;IAAK,SAAS,EAAE3C,KAAK,CAAC4C;EAAtB,GAA4BV,aAA5B,CADF,EAEGJ,kBAAkB,GAAG,IAAH,gBACjB,oBAAC,WAAD;IACE,KAAK,EAAE9B,KAAK,CAAC6C,cADf;IAEE,iBAAiB,EAAErB,iBAFrB;IAGE,QAAQ,EAAEC,QAHZ;IAIE,eAAe,EAAEC,eAJnB;IAKE,GAAG,EAAE;EALP,EAHJ,EAWGG,YAAY,GAAG,IAAH,gBACX,oBAAC,KAAD;IACE,KAAK,EAAE7B,KAAK,CAAC8C,QADf;IAEE,OAAO,EAAE1B,YAFX;IAGE,IAAI,EAAEC,SAHR;IAIE,GAAG,EAAE;EAJP,EAZJ,CADF,eAqBE,oBAAC,0BAAD;IACE,MAAM,EAAEL,MADV;IAEE,YAAY,EAAEE,YAFhB;IAGE,aAAa,EAAED;EAHjB,EArBF,EA0BGe,aA1BH,CAFF,EA8BGG,iBA9BH,CADF,eAiCE;IAAK,SAAS,EAAEnC,KAAK,CAAC+C;EAAtB,gBACE;IAAK,SAAS,EAAE/C,KAAK,CAACgD;EAAtB,gBACE;IAAK,SAAS,EAAEhD,KAAK,CAAC4C;EAAtB,GACGV,aADH,EAEGL,YAAY,IAAIC,kBAAhB,GAAqC,IAArC,gBACC;IAAK,SAAS,EAAE9B,KAAK,CAACiD;EAAtB,GACGpB,YAAY,GAAG,IAAH,gBACX,oBAAC,KAAD;IACE,KAAK,EAAE7B,KAAK,CAAC8C,QADf;IAEE,OAAO,EAAE1B,YAFX;IAGE,IAAI,EAAEC,SAHR;IAIE,GAAG,EAAE;EAJP,EAFJ,EASGS,kBAAkB,GAAG,IAAH,gBACjB,oBAAC,WAAD;IACE,KAAK,EAAE9B,KAAK,CAAC6C,cADf;IAEE,iBAAiB,EAAErB,iBAFrB;IAGE,QAAQ,EAAEC,QAHZ;IAIE,eAAe,EAAEC,eAJnB;IAKE,GAAG,EAAE;EALP,EAVJ,CAHJ,CADF,eAyBE,oBAAC,0BAAD;IAA4B,MAAM,EAAEV,MAApC;IAA4C,YAAY,EAAEE;EAA1D,EAzBF,EA0BGc,aA1BH,CADF,CAjCF,CADF;EAmEA,MAAMkB,aAAa,GAAGrB,YAAY,GAAG,IAAH,gBAChC,oBAAC,aAAD;IACE,YAAY,EAAEN,iBADhB;IAEE,cAAc,EAAED,mBAFlB;IAGE,GAAG,EAAC;EAHN,EADF;EAQA,MAAM6B,mBAAmB,GAAGrB,kBAAkB,GAAG,IAAH,gBAC5C,oBAAC,mBAAD;IACE,eAAe,EAAEH,eADnB;IAEE,oBAAoB,EAAEC,oBAFxB;IAGE,QAAQ,EAAEH;EAHZ,EADF;EAQA,MAAM2B,uBAAuB,GAAGtB,kBAAkB,gBAChD,0CACGoB,aADH,EAEGX,UAFH,CADgD,gBAMhD,oBAAC,yBAAD,QACGW,aADH,EAEGC,mBAFH,EAGGZ,UAHH,CANF;EAYA,MAAMc,iBAAiB,GAAGxB,YAAY,GACpCuB,uBADoC,gBAGpC,oBAAC,mBAAD,QAAsBA,uBAAtB,CAHF;EAMA,OAAOC,iBAAP;AACD,CAxKD;;AA0KApD,UAAU,CAACqD,SAAX,2CAAuB;EACrB9C,KAAK,EAAElB,gBAAgB,CAACgE,SAAjB,CAA2B9C,KADb;EAErBE,KAAK,EAAEpB,gBAAgB,CAACgE,SAAjB,CAA2B5C,KAFb;EAGrBD,KAAK,EAAEnB,gBAAgB,CAACgE,SAAjB,CAA2B7C,KAHb;EAIrBG,WAAW,EAAEtB,gBAAgB,CAACgE,SAAjB,CAA2B1C,WAJnB;EAKrBC,KAAK,EAAExB,aAAa,CAACiE,SAAd,CAAwBzC,KALV;EAMrBC,GAAG,EAAEzB,aAAa,CAACiE,SAAd,CAAwBxC,GANR;EAOrBC,UAAU,EAAE1B,aAAa,CAACiE,SAAd,CAAwBvC,UAPf;EAQrBI,QAAQ,EAAE9B,aAAa,CAACiE,SAAd,CAAwBnC,QARb;EASrBR,OAAO,EAAEpB,kBAAkB,CAAC+D,SAAnB,CAA6B3C,OATjB;EAUrBN,KAAK,EAAEb,eAAe,CAAC8D,SAAhB,CAA0BlB,OAVZ;EAWrB9B,MAAM,EAAEd,eAAe,CAAC8D,SAAhB,CAA0BhD,MAXb;EAYrBF,QAAQ,EAAEZ,eAAe,CAAC8D,SAAhB,CAA0BlD,QAZf;EAarBG,WAAW,EAAEf,eAAe,CAAC8D,SAAhB,CAA0BC,OAblB;EAcrBnC,YAAY,EAAE1B,KAAK,CAAC4D,SAAN,CAAgBE,OAdT;EAerBnC,SAAS,EAAE3B,KAAK,CAAC4D,SAAN,CAAgBG,IAfN;EAgBrBnC,mBAAmB,EAAE3B,aAAa,CAAC2D,SAAd,CAAwBI,cAhBxB;EAiBrBnC,iBAAiB,EAAE5B,aAAa,CAAC2D,SAAd,CAAwBK,YAjBtB;EAkBrB3C,MAAM,EAAE5B,SAAS,CAACwE,OAAV,CACNxE,SAAS,CAACyE,KAAV,CAAgB;IACdC,GAAG,EAAE1E,SAAS,CAAC2E,MADD;IAEdC,MAAM,EAAE5E,SAAS,CAAC2E,MAFJ;IAGdE,OAAO,EAAE7E,SAAS,CAAC8E;EAHL,CAAhB,CADM,CAlBa;EAyBrBjD,aAAa,EAAE7B,SAAS,CAAC2E,MAzBJ;EA0BrB7C,YAAY,EAAE9B,SAAS,CAAC+E,IA1BH;EA2BrBxC,eAAe,EAAE7B,mBAAmB,CAACwD,SAApB,CAA8B3B,eA3B1B;EA4BrBC,oBAAoB,EAAE9B,mBAAmB,CAACwD,SAApB,CAA8B1B,oBA5B/B;EA6BrBJ,iBAAiB,EAAE3B,WAAW,CAACyD,SAAZ,CAAsB9B,iBA7BpB;EA8BrBE,eAAe,EAAE7B,WAAW,CAACyD,SAAZ,CAAsB5B,eA9BlB;EA+BrBD,QAAQ,EAAE5B,WAAW,CAACyD,SAAZ,CAAsB7B,QA/BX;EAgCrBI,YAAY,EAAEzC,SAAS,CAAC8E,IAhCH;EAiCrBpC,kBAAkB,EAAE1C,SAAS,CAAC8E;AAjCT,CAAvB;AAoCAjE,UAAU,CAACmE,YAAX,GAA0B;EACxBC,SAAS,EAAEjF,SAAS,CAAC+E;AADG,CAA1B;AAIA,eAAelE,UAAf"}
|
|
@@ -43,9 +43,6 @@ declare namespace MyLearning {
|
|
|
43
43
|
const skillsLocales: PropTypes.Requireable<{
|
|
44
44
|
[x: string]: string | null | undefined;
|
|
45
45
|
}>;
|
|
46
|
-
const skillIds: PropTypes.Requireable<{
|
|
47
|
-
[x: string]: string | null | undefined;
|
|
48
|
-
}>;
|
|
49
46
|
const learnerFeature: PropTypes.Requireable<boolean>;
|
|
50
47
|
const isLoading: PropTypes.Requireable<boolean>;
|
|
51
48
|
const onSkillFocusConfirm: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/my-learning/index.js"],"names":[],"mappings":";AAyHA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/my-learning/index.js"],"names":[],"mappings":";AAyHA,mEAgYC"}
|
|
@@ -90,7 +90,7 @@ const FilterButton = (props, context) => {
|
|
|
90
90
|
backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#EAEAEB',
|
|
91
91
|
color: active ? primarySkinColor : '#515161'
|
|
92
92
|
}
|
|
93
|
-
}, skillTotal)), [filter, skillTotal, active]);
|
|
93
|
+
}, skillTotal)), [filter, skillTotal, active, primarySkinColor]);
|
|
94
94
|
const buttonProps = {
|
|
95
95
|
customStyle: {
|
|
96
96
|
backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#FFFFFF',
|
|
@@ -122,7 +122,6 @@ const MyLearning = (props, context) => {
|
|
|
122
122
|
selectedSkills = [],
|
|
123
123
|
skillsInformation,
|
|
124
124
|
skillsLocales,
|
|
125
|
-
skillIds,
|
|
126
125
|
learnerFeature = true,
|
|
127
126
|
isLoading,
|
|
128
127
|
onSkillFocusConfirm,
|
|
@@ -210,9 +209,6 @@ const MyLearning = (props, context) => {
|
|
|
210
209
|
setSearchValue('');
|
|
211
210
|
setSearchResults(skills);
|
|
212
211
|
}, [skills, setSearchValue, setSearchResults]);
|
|
213
|
-
const handleExploreClick = useCallback(skillRef => {
|
|
214
|
-
onExploreSkill(skillIds[skillRef]);
|
|
215
|
-
}, [skillIds, onExploreSkill]);
|
|
216
212
|
const ReviewTooltipContent = useCallback(() => /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("b", null, translate('review_mode_tooltip_header'))), /*#__PURE__*/React.createElement("p", null, translate('review_mode_tooltip_content')), /*#__PURE__*/React.createElement("ol", null, /*#__PURE__*/React.createElement("li", null, translate('review_mode_tooltip_content_part1')), /*#__PURE__*/React.createElement("li", null, translate('review_mode_tooltip_content_part2')), /*#__PURE__*/React.createElement("li", null, translate('review_mode_tooltip_content_part3')), /*#__PURE__*/React.createElement("li", null, translate('review_mode_tooltip_content_part4')))), [translate]);
|
|
217
213
|
return /*#__PURE__*/React.createElement("div", {
|
|
218
214
|
className: style.backgroundContainer
|
|
@@ -265,7 +261,7 @@ const MyLearning = (props, context) => {
|
|
|
265
261
|
data: graphDatas,
|
|
266
262
|
legend: graphLegends,
|
|
267
263
|
onClick: handleOnDotClick,
|
|
268
|
-
onExploreClick:
|
|
264
|
+
onExploreClick: onExploreSkill,
|
|
269
265
|
colors: [{
|
|
270
266
|
gradient: {
|
|
271
267
|
fill: ['#0062ffff', '#8000ff85'],
|
|
@@ -384,7 +380,7 @@ const MyLearning = (props, context) => {
|
|
|
384
380
|
}
|
|
385
381
|
|
|
386
382
|
function handleExploreSkill() {
|
|
387
|
-
onExploreSkill(
|
|
383
|
+
onExploreSkill(skill);
|
|
388
384
|
}
|
|
389
385
|
|
|
390
386
|
const {
|
|
@@ -429,7 +425,6 @@ MyLearning.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
429
425
|
})
|
|
430
426
|
})),
|
|
431
427
|
skillsLocales: PropTypes.objectOf(PropTypes.string),
|
|
432
|
-
skillIds: PropTypes.objectOf(PropTypes.string),
|
|
433
428
|
learnerFeature: PropTypes.bool,
|
|
434
429
|
isLoading: PropTypes.bool,
|
|
435
430
|
onSkillFocusConfirm: PropTypes.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useCallback","useState","useMemo","PropTypes","convert","Provider","Icon","Picture","ButtonLink","ToolTip","ReviewNoSkills","SearchForm","SkillPickerModal","ResponsiveLearningProfileRadarChart","SkillsChartSideInformationPanel","LearnerSkillCard","searchValueIncluded","formatMinutes","style","ChangeSkillFocusButton","props","context","hovered","setHovered","onClick","skin","translate","primarySkinColor","handleMouseOver","handleMouseLeave","backgroundColor","color","transition","position","faIcon","name","size","contextTypes","childContextTypes","propTypes","func","FilterButton","active","filter","skillTotal","Content","skillFilterNumber","skillFilterNumberInActive","buttonProps","customStyle","width","content","bool","string","number","MyLearning","skills","selectedSkills","skillsInformation","skillsLocales","skillIds","learnerFeature","isLoading","onSkillFocusConfirm","onReviewSkill","onExploreSkill","open","setOpen","selectedSkillsList","setSelectedSkillsList","skillFocusSelectedOnChart","setSkillFocusSelectedOnChart","undefined","searchValue","setSearchValue","searchResults","setSearchResults","skillRef","activeFilter","setActiveFilter","skillsReviewReady","skill","availableForReview","graphDatas","toFixed","graphLegends","filters","all","review","sumKpi","kpi","skillFocusSelectedOnChartScore","stats","coursedCompletedData","questionsToReviewData","learningTimeData","skillChartPaneLegends","focusedSkill","skillChartPanelProps","title","value","legend","icon","iconName","handleOnDotClick","handleOpenSkillPicker","handleCloseSkillPicker","handleConfirmSkillPicker","focusSkillList","handleSearch","handleSearchReset","handleExploreClick","ReviewTooltipContent","backgroundContainer","container","skillFocusContainer","skillFocusHeader","skillFocusHeaderWrapper","skillFocusHeaderIcon","faSize","wrapperSize","skillFocusHeaderContent","skillFocusHeaderTitle","skillFocusHeaderDescription","length","skillFocusContent","radarContainer","gradient","fill","stroke","percentage","background","label","skillFocusEmpty","img","skillFocusEmptyTitle","skillFocusEmptyDescription","skillListHeader","skillListHeaderIcon","skillListHeaderContent","skillListHeaderTitle","skillListHeaderDescription","infoIconTooltip","tooltip","toolBarContainer","skillFilterContainer","map","index","handleFilterClick","searchWrapper","placeholder","onChange","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","skillListContainer","skillListEmptyContainer","defaultStats","score","contentCompleted","questionsToReview","handleReviewSkill","handleExploreSkill","includes","arrayOf","objectOf","shape","learningTime"],"sources":["../../../src/template/my-learning/index.js"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport {get, keys, map, fromPairs, pipe, sumBy, getOr, sortBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Icon from '../../atom/icon';\nimport Picture from '../../atom/picture';\nimport ButtonLink from '../../atom/button-link';\nimport ToolTip from '../../atom/tooltip';\nimport ReviewNoSkills from '../../organism/review-no-skills';\nimport SearchForm from '../../molecule/search-form';\nimport SkillPickerModal from '../../molecule/skill-picker-modal';\nimport ResponsiveLearningProfileRadarChart from '../../molecule/learning-profile-radar-chart';\nimport SkillsChartSideInformationPanel from '../../molecule/skills-chart-side-information-panel';\nimport LearnerSkillCard from '../../molecule/learner-skill-card';\nimport searchValueIncluded from '../../util/search-value-included';\nimport {formatMinutes} from '../../util/time-format';\nimport style from './style.css';\n\nconst ChangeSkillFocusButton = (props, context) => {\n const [hovered, setHovered] = useState(false);\n const {onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n return (\n <div\n data-name=\"button-explore-wrapper\"\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n >\n <ButtonLink\n customStyle={{\n backgroundColor: hovered\n ? primarySkinColor\n : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n }}\n onClick={onClick}\n label={translate('skills_change_focus')}\n data-name=\"change-skill-focus-button\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'arrows-rotate',\n backgroundColor: hovered\n ? primarySkinColor\n : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }}\n />\n </div>\n );\n};\n\nChangeSkillFocusButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nChangeSkillFocusButton.propTypes = {\n onClick: PropTypes.func\n};\n\nconst FilterButton = (props, context) => {\n const {active, filter, skillTotal, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const Content = useCallback(\n () => (\n <div>\n {filter}\n <span\n className={active ? style.skillFilterNumber : style.skillFilterNumberInActive}\n style={{\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#EAEAEB',\n color: active ? primarySkinColor : '#515161'\n }}\n >\n {skillTotal}\n </span>\n </div>\n ),\n [filter, skillTotal, active]\n );\n\n const buttonProps = {\n customStyle: {\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#FFFFFF',\n color: active ? primarySkinColor : '#9999A8',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n onClick,\n content: <Content />,\n 'data-name': 'change-skill-focus-button'\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n active: PropTypes.bool,\n filter: PropTypes.string,\n skillTotal: PropTypes.number,\n onClick: PropTypes.func\n};\n\nconst MyLearning = (props, context) => {\n const {\n skills,\n selectedSkills = [],\n skillsInformation,\n skillsLocales,\n skillIds,\n learnerFeature = true,\n isLoading,\n onSkillFocusConfirm,\n onReviewSkill,\n onExploreSkill\n } = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n const [open, setOpen] = useState(false);\n const [selectedSkillsList, setSelectedSkillsList] = useState(selectedSkills);\n const [skillFocusSelectedOnChart, setSkillFocusSelectedOnChart] = useState(undefined);\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(\n sortBy(skillRef => -getOr(0, [skillRef, 'stats', 'score'], skillsInformation), skills)\n );\n const [activeFilter, setActiveFilter] = useState('all');\n const [hovered, setHovered] = useState(false);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const skillsReviewReady = useMemo(() => {\n return searchResults.filter(skill =>\n skillsInformation[skill] ? skillsInformation[skill].availableForReview : false\n );\n }, [searchResults, skillsInformation]);\n\n const graphDatas = useMemo(\n () =>\n pipe(\n map(skill => [skill, getOr(0, [skill, 'stats', 'score'], skillsInformation).toFixed(1)]),\n fromPairs\n )(selectedSkillsList),\n [selectedSkillsList, skillsInformation]\n );\n\n const graphLegends = useMemo(\n () =>\n pipe(\n map(skill => [skill, skillsLocales[skill]]),\n fromPairs\n )(selectedSkillsList),\n [selectedSkillsList, skillsLocales]\n );\n\n const filters = useMemo(() => {\n return {\n all: searchResults,\n review: skillsReviewReady\n };\n }, [searchResults, skillsReviewReady]);\n\n const sumKpi = useCallback(\n kpi => {\n const skillFocusSelectedOnChartScore = getOr(\n 0,\n [skillFocusSelectedOnChart, 'stats', `${kpi}`],\n skillsInformation\n );\n return skillFocusSelectedOnChart\n ? skillFocusSelectedOnChartScore\n : sumBy(\n skill => (skillsInformation[skill] ? skillsInformation[skill].stats[kpi] : 0),\n selectedSkillsList\n );\n },\n [skillFocusSelectedOnChart, skillsInformation, selectedSkillsList]\n );\n\n const coursedCompletedData = useMemo(() => sumKpi('contentCompleted'), [sumKpi]);\n\n const questionsToReviewData = useMemo(() => sumKpi('questionsToReview'), [sumKpi]);\n\n const learningTimeData = useMemo(() => sumKpi('learningTime'), [sumKpi]);\n\n const skillChartPaneLegends = useMemo(\n () =>\n translate('skill_scope_specifier', {\n focusedSkill: skillFocusSelectedOnChart\n ? skillsLocales[skillFocusSelectedOnChart]\n : translate('focused_skills')\n }),\n [translate, skillsLocales, skillFocusSelectedOnChart]\n );\n const skillChartPanelProps = [\n {\n title: translate('skill_chart_side_panel_content_completed'),\n value: `${coursedCompletedData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'book-open-cover', backgroundColor: '#D9F4F7'}\n },\n {\n title: translate('skill_chart_side_panel_learning_hours'),\n value: formatMinutes(learningTimeData),\n legend: skillChartPaneLegends,\n icon: {iconName: 'clock', backgroundColor: '#FAD6DE'}\n },\n {\n title: translate('skill_chart_side_panel_questions_to_review'),\n value: `${questionsToReviewData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'circle-question', backgroundColor: '#FFDCD1'}\n }\n ];\n\n const handleOnDotClick = useCallback(\n skillRef => {\n setSkillFocusSelectedOnChart(skillRef);\n },\n [setSkillFocusSelectedOnChart]\n );\n const handleOpenSkillPicker = useCallback(() => setOpen(true), [setOpen]);\n const handleCloseSkillPicker = useCallback(() => setOpen(false), [setOpen]);\n const handleConfirmSkillPicker = useCallback(\n focusSkillList => {\n setSelectedSkillsList(focusSkillList);\n onSkillFocusConfirm(focusSkillList);\n setOpen(false);\n },\n [onSkillFocusConfirm, setSelectedSkillsList, setOpen]\n );\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(skills.filter(skill => searchValueIncluded(skillsLocales[skill], value)));\n },\n [skills, skillsLocales, setSearchValue, setSearchResults]\n );\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(skills);\n }, [skills, setSearchValue, setSearchResults]);\n\n const handleExploreClick = useCallback((skillRef) => {\n onExploreSkill(skillIds[skillRef]);\n }, [skillIds, onExploreSkill]);\n\n const ReviewTooltipContent = useCallback(\n () => (\n <div>\n <div>\n <b>{translate('review_mode_tooltip_header')}</b>\n </div>\n <p>{translate('review_mode_tooltip_content')}</p>\n <ol>\n <li>{translate('review_mode_tooltip_content_part1')}</li>\n <li>{translate('review_mode_tooltip_content_part2')}</li>\n <li>{translate('review_mode_tooltip_content_part3')}</li>\n <li>{translate('review_mode_tooltip_content_part4')}</li>\n </ol>\n </div>\n ),\n [translate]\n );\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container}>\n <SkillPickerModal\n skills={skills}\n selectedSkills={selectedSkillsList}\n skillsLocales={skillsLocales}\n isOpen={open}\n isLoading={isLoading}\n onCancel={handleCloseSkillPicker}\n onConfirm={handleConfirmSkillPicker}\n onClose={handleCloseSkillPicker}\n />\n {learnerFeature ? (\n <div data-name=\"skill-focus-container\" className={style.skillFocusContainer}>\n <header className={style.skillFocusHeader}>\n <div className={style.skillFocusHeaderWrapper}>\n <div className={style.skillFocusHeaderIcon}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n borderRadius=\"12px\"\n size={{faSize: 20, wrapperSize: 48}}\n />\n </div>\n <div className={style.skillFocusHeaderContent}>\n <div data-name=\"skill-focus-title\" className={style.skillFocusHeaderTitle}>\n {translate('skills_focus')}\n </div>\n <div\n data-name=\"skill-focus-description\"\n className={style.skillFocusHeaderDescription}\n >\n {translate('skills_focus_description')}\n </div>\n </div>\n </div>\n {selectedSkillsList.length >= 3 ? (\n <ChangeSkillFocusButton onClick={handleOpenSkillPicker} />\n ) : null}\n </header>\n {selectedSkillsList.length >= 3 ? (\n <div className={style.skillFocusContent}>\n <div className={style.radarContainer}>\n <ResponsiveLearningProfileRadarChart\n totalDataset={1}\n height={424}\n width={680}\n data={graphDatas}\n legend={graphLegends}\n onClick={handleOnDotClick}\n onExploreClick={handleExploreClick}\n colors={[\n {\n gradient: {\n fill: ['#0062ffff', '#8000ff85'],\n stroke: ['#0062ffff', '#8000FF']\n },\n percentage: {\n color: primarySkinColor,\n background: convert(`color(${primarySkinColor} a(0.07))`)\n },\n label: {\n color: '#020202ff'\n }\n }\n ]}\n />\n </div>\n <SkillsChartSideInformationPanel sidePanelItems={skillChartPanelProps} />\n </div>\n ) : (\n <div className={style.skillFocusEmpty}>\n <Picture\n className={style.img}\n src=\"https://static.coorpacademy.com/assets/images/mylearning-no-skill-selected-placeholder.svg\"\n alt=\"demo\"\n />\n <div className={style.skillFocusEmptyTitle}>\n {translate('skills_focus_empty_title')}\n </div>\n <div className={style.skillFocusEmptyDescription}>\n {translate('skills_focus_empty_description')}\n </div>\n <div onMouseOver={handleMouseOver} onMouseLeave={handleMouseLeave}>\n <ButtonLink\n label={translate('skills_choose_focus')}\n type=\"primary\"\n customStyle={{\n width: 'fit-contain',\n backgroundColor: hovered\n ? convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)\n : primarySkinColor\n }}\n onClick={handleOpenSkillPicker}\n />\n </div>\n </div>\n )}\n </div>\n ) : null}\n <header className={style.skillListHeader}>\n <div className={style.skillListHeaderIcon}>\n <Icon\n iconName=\"dumbbell\"\n backgroundColor=\"#FFF9D1\"\n size={{faSize: 20, wrapperSize: 48}}\n />\n </div>\n <div className={style.skillListHeaderContent}>\n <div className={style.skillListHeaderTitle}>{translate('skills_section_title')}</div>\n <div className={style.skillListHeaderDescription}>\n {translate('skills_section_description')}\n <ToolTip\n fontSize={12}\n iconContainerClassName={style.infoIconTooltip}\n tooltipClassName={style.tooltip}\n TooltipContent={ReviewTooltipContent}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n />\n </div>\n </div>\n </header>\n <div className={style.toolBarContainer}>\n <div className={style.skillFilterContainer}>\n {keys(filters).map((filter, index) => {\n function handleFilterClick() {\n setActiveFilter(filter);\n }\n\n return (\n <div key={index}>\n <FilterButton\n active={activeFilter === filter}\n filter={\n filter === 'all' ? translate('all') : translate('review_mode_available')\n }\n skillTotal={filters[filter].length}\n onClick={handleFilterClick}\n />\n </div>\n );\n })}\n </div>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </div>\n </div>\n {searchValue && searchResults.length === 0 ? (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n ) : (\n <div className={style.skillListContainer}>\n {activeFilter === 'review_mode_available' && filters[activeFilter].length === 0 ? (\n <div className={style.skillListEmptyContainer}>\n <ReviewNoSkills\n titleNoSkills={translate('review_skill_empty')}\n textNoSkills={translate('review_skill_empty_description')}\n iconSkillAriaLabel={translate('review_skill_empty')}\n imagePosition=\"top\"\n />\n </div>\n ) : (\n filters[activeFilter].map((skill, index) => {\n const defaultStats = {\n score: 0,\n content: 0,\n contentCompleted: 0,\n questionsToReview: 0\n };\n\n function handleReviewSkill() {\n onReviewSkill(skill);\n }\n function handleExploreSkill() {\n onExploreSkill(skillIds[skill]);\n }\n const {score, content, questionsToReview, contentCompleted} = skillsInformation[\n skill\n ]\n ? skillsInformation[skill].stats\n : defaultStats;\n return (\n <div key={index}>\n <LearnerSkillCard\n skillTitle={skillsLocales[skill]}\n focus={selectedSkills.includes(skill)}\n metrics={{\n score: score.toFixed(1),\n content,\n questionsToReview,\n contentCompleted\n }}\n review={\n skillsInformation[skill]\n ? skillsInformation[skill].availableForReview\n : false\n }\n onReviewClick={handleReviewSkill}\n onExploreClick={handleExploreSkill}\n />\n </div>\n );\n })\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nMyLearning.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nMyLearning.propTypes = {\n skills: PropTypes.arrayOf(PropTypes.string),\n selectedSkills: PropTypes.arrayOf(PropTypes.string),\n skillsInformation: PropTypes.objectOf(\n PropTypes.shape({\n availableForReview: PropTypes.bool,\n stats: PropTypes.shape({\n score: PropTypes.number,\n content: PropTypes.number,\n contentCompleted: PropTypes.number,\n questionsToReview: PropTypes.number,\n learningTime: PropTypes.number\n })\n })\n ),\n skillsLocales: PropTypes.objectOf(PropTypes.string),\n skillIds: PropTypes.objectOf(PropTypes.string),\n learnerFeature: PropTypes.bool,\n isLoading: PropTypes.bool,\n onSkillFocusConfirm: PropTypes.func,\n onReviewSkill: PropTypes.func,\n onExploreSkill: PropTypes.func\n};\n\nexport default MyLearning;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","useState","useMemo","PropTypes","convert","Provider","Icon","Picture","ButtonLink","ToolTip","ReviewNoSkills","SearchForm","SkillPickerModal","ResponsiveLearningProfileRadarChart","SkillsChartSideInformationPanel","LearnerSkillCard","searchValueIncluded","formatMinutes","style","ChangeSkillFocusButton","props","context","hovered","setHovered","onClick","skin","translate","primarySkinColor","handleMouseOver","handleMouseLeave","backgroundColor","color","transition","position","faIcon","name","size","contextTypes","childContextTypes","propTypes","func","FilterButton","active","filter","skillTotal","Content","skillFilterNumber","skillFilterNumberInActive","buttonProps","customStyle","width","content","bool","string","number","MyLearning","skills","selectedSkills","skillsInformation","skillsLocales","learnerFeature","isLoading","onSkillFocusConfirm","onReviewSkill","onExploreSkill","open","setOpen","selectedSkillsList","setSelectedSkillsList","skillFocusSelectedOnChart","setSkillFocusSelectedOnChart","undefined","searchValue","setSearchValue","searchResults","setSearchResults","skillRef","activeFilter","setActiveFilter","skillsReviewReady","skill","availableForReview","graphDatas","toFixed","graphLegends","filters","all","review","sumKpi","kpi","skillFocusSelectedOnChartScore","stats","coursedCompletedData","questionsToReviewData","learningTimeData","skillChartPaneLegends","focusedSkill","skillChartPanelProps","title","value","legend","icon","iconName","handleOnDotClick","handleOpenSkillPicker","handleCloseSkillPicker","handleConfirmSkillPicker","focusSkillList","handleSearch","handleSearchReset","ReviewTooltipContent","backgroundContainer","container","skillFocusContainer","skillFocusHeader","skillFocusHeaderWrapper","skillFocusHeaderIcon","faSize","wrapperSize","skillFocusHeaderContent","skillFocusHeaderTitle","skillFocusHeaderDescription","length","skillFocusContent","radarContainer","gradient","fill","stroke","percentage","background","label","skillFocusEmpty","img","skillFocusEmptyTitle","skillFocusEmptyDescription","skillListHeader","skillListHeaderIcon","skillListHeaderContent","skillListHeaderTitle","skillListHeaderDescription","infoIconTooltip","tooltip","toolBarContainer","skillFilterContainer","map","index","handleFilterClick","searchWrapper","placeholder","onChange","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","skillListContainer","skillListEmptyContainer","defaultStats","score","contentCompleted","questionsToReview","handleReviewSkill","handleExploreSkill","includes","arrayOf","objectOf","shape","learningTime"],"sources":["../../../src/template/my-learning/index.js"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport {get, keys, map, fromPairs, pipe, sumBy, getOr, sortBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Icon from '../../atom/icon';\nimport Picture from '../../atom/picture';\nimport ButtonLink from '../../atom/button-link';\nimport ToolTip from '../../atom/tooltip';\nimport ReviewNoSkills from '../../organism/review-no-skills';\nimport SearchForm from '../../molecule/search-form';\nimport SkillPickerModal from '../../molecule/skill-picker-modal';\nimport ResponsiveLearningProfileRadarChart from '../../molecule/learning-profile-radar-chart';\nimport SkillsChartSideInformationPanel from '../../molecule/skills-chart-side-information-panel';\nimport LearnerSkillCard from '../../molecule/learner-skill-card';\nimport searchValueIncluded from '../../util/search-value-included';\nimport {formatMinutes} from '../../util/time-format';\nimport style from './style.css';\n\nconst ChangeSkillFocusButton = (props, context) => {\n const [hovered, setHovered] = useState(false);\n const {onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n return (\n <div\n data-name=\"button-explore-wrapper\"\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n >\n <ButtonLink\n customStyle={{\n backgroundColor: hovered\n ? primarySkinColor\n : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n }}\n onClick={onClick}\n label={translate('skills_change_focus')}\n data-name=\"change-skill-focus-button\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'arrows-rotate',\n backgroundColor: hovered\n ? primarySkinColor\n : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }}\n />\n </div>\n );\n};\n\nChangeSkillFocusButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nChangeSkillFocusButton.propTypes = {\n onClick: PropTypes.func\n};\n\nconst FilterButton = (props, context) => {\n const {active, filter, skillTotal, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const Content = useCallback(\n () => (\n <div>\n {filter}\n <span\n className={active ? style.skillFilterNumber : style.skillFilterNumberInActive}\n style={{\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#EAEAEB',\n color: active ? primarySkinColor : '#515161'\n }}\n >\n {skillTotal}\n </span>\n </div>\n ),\n [filter, skillTotal, active, primarySkinColor]\n );\n\n const buttonProps = {\n customStyle: {\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#FFFFFF',\n color: active ? primarySkinColor : '#9999A8',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n onClick,\n content: <Content />,\n 'data-name': 'change-skill-focus-button'\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n active: PropTypes.bool,\n filter: PropTypes.string,\n skillTotal: PropTypes.number,\n onClick: PropTypes.func\n};\n\nconst MyLearning = (props, context) => {\n const {\n skills,\n selectedSkills = [],\n skillsInformation,\n skillsLocales,\n learnerFeature = true,\n isLoading,\n onSkillFocusConfirm,\n onReviewSkill,\n onExploreSkill\n } = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n const [open, setOpen] = useState(false);\n const [selectedSkillsList, setSelectedSkillsList] = useState(selectedSkills);\n const [skillFocusSelectedOnChart, setSkillFocusSelectedOnChart] = useState(undefined);\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(\n sortBy(skillRef => -getOr(0, [skillRef, 'stats', 'score'], skillsInformation), skills)\n );\n const [activeFilter, setActiveFilter] = useState('all');\n const [hovered, setHovered] = useState(false);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const skillsReviewReady = useMemo(() => {\n return searchResults.filter(skill =>\n skillsInformation[skill] ? skillsInformation[skill].availableForReview : false\n );\n }, [searchResults, skillsInformation]);\n\n const graphDatas = useMemo(\n () =>\n pipe(\n map(skill => [skill, getOr(0, [skill, 'stats', 'score'], skillsInformation).toFixed(1)]),\n fromPairs\n )(selectedSkillsList),\n [selectedSkillsList, skillsInformation]\n );\n\n const graphLegends = useMemo(\n () =>\n pipe(\n map(skill => [skill, skillsLocales[skill]]),\n fromPairs\n )(selectedSkillsList),\n [selectedSkillsList, skillsLocales]\n );\n\n const filters = useMemo(() => {\n return {\n all: searchResults,\n review: skillsReviewReady\n };\n }, [searchResults, skillsReviewReady]);\n\n const sumKpi = useCallback(\n kpi => {\n const skillFocusSelectedOnChartScore = getOr(\n 0,\n [skillFocusSelectedOnChart, 'stats', `${kpi}`],\n skillsInformation\n );\n return skillFocusSelectedOnChart\n ? skillFocusSelectedOnChartScore\n : sumBy(\n skill => (skillsInformation[skill] ? skillsInformation[skill].stats[kpi] : 0),\n selectedSkillsList\n );\n },\n [skillFocusSelectedOnChart, skillsInformation, selectedSkillsList]\n );\n\n const coursedCompletedData = useMemo(() => sumKpi('contentCompleted'), [sumKpi]);\n\n const questionsToReviewData = useMemo(() => sumKpi('questionsToReview'), [sumKpi]);\n\n const learningTimeData = useMemo(() => sumKpi('learningTime'), [sumKpi]);\n\n const skillChartPaneLegends = useMemo(\n () =>\n translate('skill_scope_specifier', {\n focusedSkill: skillFocusSelectedOnChart\n ? skillsLocales[skillFocusSelectedOnChart]\n : translate('focused_skills')\n }),\n [translate, skillsLocales, skillFocusSelectedOnChart]\n );\n const skillChartPanelProps = [\n {\n title: translate('skill_chart_side_panel_content_completed'),\n value: `${coursedCompletedData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'book-open-cover', backgroundColor: '#D9F4F7'}\n },\n {\n title: translate('skill_chart_side_panel_learning_hours'),\n value: formatMinutes(learningTimeData),\n legend: skillChartPaneLegends,\n icon: {iconName: 'clock', backgroundColor: '#FAD6DE'}\n },\n {\n title: translate('skill_chart_side_panel_questions_to_review'),\n value: `${questionsToReviewData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'circle-question', backgroundColor: '#FFDCD1'}\n }\n ];\n\n const handleOnDotClick = useCallback(\n skillRef => {\n setSkillFocusSelectedOnChart(skillRef);\n },\n [setSkillFocusSelectedOnChart]\n );\n const handleOpenSkillPicker = useCallback(() => setOpen(true), [setOpen]);\n const handleCloseSkillPicker = useCallback(() => setOpen(false), [setOpen]);\n const handleConfirmSkillPicker = useCallback(\n focusSkillList => {\n setSelectedSkillsList(focusSkillList);\n onSkillFocusConfirm(focusSkillList);\n setOpen(false);\n },\n [onSkillFocusConfirm, setSelectedSkillsList, setOpen]\n );\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(skills.filter(skill => searchValueIncluded(skillsLocales[skill], value)));\n },\n [skills, skillsLocales, setSearchValue, setSearchResults]\n );\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(skills);\n }, [skills, setSearchValue, setSearchResults]);\n\n const ReviewTooltipContent = useCallback(\n () => (\n <div>\n <div>\n <b>{translate('review_mode_tooltip_header')}</b>\n </div>\n <p>{translate('review_mode_tooltip_content')}</p>\n <ol>\n <li>{translate('review_mode_tooltip_content_part1')}</li>\n <li>{translate('review_mode_tooltip_content_part2')}</li>\n <li>{translate('review_mode_tooltip_content_part3')}</li>\n <li>{translate('review_mode_tooltip_content_part4')}</li>\n </ol>\n </div>\n ),\n [translate]\n );\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container}>\n <SkillPickerModal\n skills={skills}\n selectedSkills={selectedSkillsList}\n skillsLocales={skillsLocales}\n isOpen={open}\n isLoading={isLoading}\n onCancel={handleCloseSkillPicker}\n onConfirm={handleConfirmSkillPicker}\n onClose={handleCloseSkillPicker}\n />\n {learnerFeature ? (\n <div data-name=\"skill-focus-container\" className={style.skillFocusContainer}>\n <header className={style.skillFocusHeader}>\n <div className={style.skillFocusHeaderWrapper}>\n <div className={style.skillFocusHeaderIcon}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n borderRadius=\"12px\"\n size={{faSize: 20, wrapperSize: 48}}\n />\n </div>\n <div className={style.skillFocusHeaderContent}>\n <div data-name=\"skill-focus-title\" className={style.skillFocusHeaderTitle}>\n {translate('skills_focus')}\n </div>\n <div\n data-name=\"skill-focus-description\"\n className={style.skillFocusHeaderDescription}\n >\n {translate('skills_focus_description')}\n </div>\n </div>\n </div>\n {selectedSkillsList.length >= 3 ? (\n <ChangeSkillFocusButton onClick={handleOpenSkillPicker} />\n ) : null}\n </header>\n {selectedSkillsList.length >= 3 ? (\n <div className={style.skillFocusContent}>\n <div className={style.radarContainer}>\n <ResponsiveLearningProfileRadarChart\n totalDataset={1}\n height={424}\n width={680}\n data={graphDatas}\n legend={graphLegends}\n onClick={handleOnDotClick}\n onExploreClick={onExploreSkill}\n colors={[\n {\n gradient: {\n fill: ['#0062ffff', '#8000ff85'],\n stroke: ['#0062ffff', '#8000FF']\n },\n percentage: {\n color: primarySkinColor,\n background: convert(`color(${primarySkinColor} a(0.07))`)\n },\n label: {\n color: '#020202ff'\n }\n }\n ]}\n />\n </div>\n <SkillsChartSideInformationPanel sidePanelItems={skillChartPanelProps} />\n </div>\n ) : (\n <div className={style.skillFocusEmpty}>\n <Picture\n className={style.img}\n src=\"https://static.coorpacademy.com/assets/images/mylearning-no-skill-selected-placeholder.svg\"\n alt=\"demo\"\n />\n <div className={style.skillFocusEmptyTitle}>\n {translate('skills_focus_empty_title')}\n </div>\n <div className={style.skillFocusEmptyDescription}>\n {translate('skills_focus_empty_description')}\n </div>\n <div onMouseOver={handleMouseOver} onMouseLeave={handleMouseLeave}>\n <ButtonLink\n label={translate('skills_choose_focus')}\n type=\"primary\"\n customStyle={{\n width: 'fit-contain',\n backgroundColor: hovered\n ? convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)\n : primarySkinColor\n }}\n onClick={handleOpenSkillPicker}\n />\n </div>\n </div>\n )}\n </div>\n ) : null}\n <header className={style.skillListHeader}>\n <div className={style.skillListHeaderIcon}>\n <Icon\n iconName=\"dumbbell\"\n backgroundColor=\"#FFF9D1\"\n size={{faSize: 20, wrapperSize: 48}}\n />\n </div>\n <div className={style.skillListHeaderContent}>\n <div className={style.skillListHeaderTitle}>{translate('skills_section_title')}</div>\n <div className={style.skillListHeaderDescription}>\n {translate('skills_section_description')}\n <ToolTip\n fontSize={12}\n iconContainerClassName={style.infoIconTooltip}\n tooltipClassName={style.tooltip}\n TooltipContent={ReviewTooltipContent}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n />\n </div>\n </div>\n </header>\n <div className={style.toolBarContainer}>\n <div className={style.skillFilterContainer}>\n {keys(filters).map((filter, index) => {\n function handleFilterClick() {\n setActiveFilter(filter);\n }\n\n return (\n <div key={index}>\n <FilterButton\n active={activeFilter === filter}\n filter={\n filter === 'all' ? translate('all') : translate('review_mode_available')\n }\n skillTotal={filters[filter].length}\n onClick={handleFilterClick}\n />\n </div>\n );\n })}\n </div>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </div>\n </div>\n {searchValue && searchResults.length === 0 ? (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n ) : (\n <div className={style.skillListContainer}>\n {activeFilter === 'review_mode_available' && filters[activeFilter].length === 0 ? (\n <div className={style.skillListEmptyContainer}>\n <ReviewNoSkills\n titleNoSkills={translate('review_skill_empty')}\n textNoSkills={translate('review_skill_empty_description')}\n iconSkillAriaLabel={translate('review_skill_empty')}\n imagePosition=\"top\"\n />\n </div>\n ) : (\n filters[activeFilter].map((skill, index) => {\n const defaultStats = {\n score: 0,\n content: 0,\n contentCompleted: 0,\n questionsToReview: 0\n };\n\n function handleReviewSkill() {\n onReviewSkill(skill);\n }\n function handleExploreSkill() {\n onExploreSkill(skill);\n }\n const {score, content, questionsToReview, contentCompleted} = skillsInformation[\n skill\n ]\n ? skillsInformation[skill].stats\n : defaultStats;\n return (\n <div key={index}>\n <LearnerSkillCard\n skillTitle={skillsLocales[skill]}\n focus={selectedSkills.includes(skill)}\n metrics={{\n score: score.toFixed(1),\n content,\n questionsToReview,\n contentCompleted\n }}\n review={\n skillsInformation[skill]\n ? skillsInformation[skill].availableForReview\n : false\n }\n onReviewClick={handleReviewSkill}\n onExploreClick={handleExploreSkill}\n />\n </div>\n );\n })\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nMyLearning.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nMyLearning.propTypes = {\n skills: PropTypes.arrayOf(PropTypes.string),\n selectedSkills: PropTypes.arrayOf(PropTypes.string),\n skillsInformation: PropTypes.objectOf(\n PropTypes.shape({\n availableForReview: PropTypes.bool,\n stats: PropTypes.shape({\n score: PropTypes.number,\n content: PropTypes.number,\n contentCompleted: PropTypes.number,\n questionsToReview: PropTypes.number,\n learningTime: PropTypes.number\n })\n })\n ),\n skillsLocales: PropTypes.objectOf(PropTypes.string),\n learnerFeature: PropTypes.bool,\n isLoading: PropTypes.bool,\n onSkillFocusConfirm: PropTypes.func,\n onReviewSkill: PropTypes.func,\n onExploreSkill: PropTypes.func\n};\n\nexport default MyLearning;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-courses.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/all-courses.js"],"names":[],"mappings":";AA2CA,
|
|
1
|
+
{"version":3,"file":"all-courses.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/all-courses.js"],"names":[],"mappings":";AA2CA,mEAwHC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import _sortBy from "lodash/fp/sortBy";
|
|
2
|
+
import _getOr from "lodash/fp/getOr";
|
|
1
3
|
import _get from "lodash/fp/get";
|
|
2
4
|
|
|
3
5
|
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); }
|
|
@@ -69,22 +71,14 @@ const AllCourses = (props, context) => {
|
|
|
69
71
|
} = context;
|
|
70
72
|
const [showCompleted, setShowCompleted] = useState(true);
|
|
71
73
|
const [searchValue, setSearchValue] = useState('');
|
|
72
|
-
const [searchResults, setSearchResults] = useState(
|
|
73
|
-
const progressA = a.progress ?? 0;
|
|
74
|
-
const progressB = b.progress ?? 0;
|
|
75
|
-
return progressB - progressA;
|
|
76
|
-
}));
|
|
74
|
+
const [searchResults, setSearchResults] = useState(_sortBy(course => -_getOr(0, ['progress'], course), list));
|
|
77
75
|
const sortView = sorting !== undefined ? /*#__PURE__*/React.createElement("div", {
|
|
78
76
|
"data-name": "choice"
|
|
79
77
|
}, /*#__PURE__*/React.createElement(Select, _extends({}, sorting, {
|
|
80
78
|
"aria-label": "All courses sort"
|
|
81
79
|
}))) : null;
|
|
82
80
|
useEffect(() => {
|
|
83
|
-
setSearchResults(
|
|
84
|
-
const progressA = a.progress ?? 0;
|
|
85
|
-
const progressB = b.progress ?? 0;
|
|
86
|
-
return progressB - progressA;
|
|
87
|
-
}));
|
|
81
|
+
setSearchResults(_sortBy(course => -_getOr(0, ['progress'], course), list));
|
|
88
82
|
}, [list]);
|
|
89
83
|
const handleSearch = useCallback(value => {
|
|
90
84
|
setSearchValue(value);
|
|
@@ -95,16 +89,16 @@ const AllCourses = (props, context) => {
|
|
|
95
89
|
setSearchResults(list);
|
|
96
90
|
}, [list, setSearchValue, setSearchResults]);
|
|
97
91
|
const handleShowCompletedToggle = useCallback(() => {
|
|
98
|
-
const
|
|
99
|
-
setShowCompleted(
|
|
92
|
+
const toggledShowCompleted = !showCompleted;
|
|
93
|
+
setShowCompleted(toggledShowCompleted);
|
|
100
94
|
|
|
101
|
-
if (
|
|
95
|
+
if (toggledShowCompleted) {
|
|
102
96
|
setSearchResults(list);
|
|
103
97
|
handleSearchReset();
|
|
104
98
|
} else {
|
|
105
99
|
setSearchResults(searchResults.filter(skill => skill.progress === 0));
|
|
106
100
|
}
|
|
107
|
-
}, [searchResults, showCompleted, setShowCompleted]);
|
|
101
|
+
}, [list, searchResults, showCompleted, setShowCompleted, setSearchResults, handleSearchReset]);
|
|
108
102
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
109
103
|
className: style.continueLearningWrapper
|
|
110
104
|
}, /*#__PURE__*/React.createElement("span", {
|