@coorpacademy/components 11.32.7 → 11.32.8
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/hoc/transition/test/fixtures/style.css +45 -0
- package/es/molecule/discipline-associated-skills/index.d.ts.map +1 -1
- package/es/molecule/discipline-associated-skills/index.js +11 -2
- package/es/molecule/discipline-associated-skills/index.js.map +1 -1
- package/es/molecule/discipline-associated-skills/style.css +35 -3
- package/es/molecule/learner-skill-card/index.d.ts +3 -3
- package/es/molecule/learner-skill-card/index.js +15 -15
- package/es/molecule/learner-skill-card/index.js.map +1 -1
- package/es/molecule/select-multiple/test/snapshots/index.js.md +211 -0
- package/es/molecule/select-multiple/test/snapshots/index.js.snap +0 -0
- package/es/template/my-learning/index.d.ts +4 -4
- package/es/template/my-learning/index.d.ts.map +1 -1
- package/es/template/my-learning/index.js +23 -22
- package/es/template/my-learning/index.js.map +1 -1
- package/es/util/test/fixtures/steps.json +34 -0
- package/es/util/time-format.d.ts +2 -0
- package/es/util/time-format.d.ts.map +1 -0
- package/es/util/time-format.js +18 -0
- package/es/util/time-format.js.map +1 -0
- package/lib/hoc/transition/test/fixtures/style.css +45 -0
- package/lib/molecule/discipline-associated-skills/index.d.ts.map +1 -1
- package/lib/molecule/discipline-associated-skills/index.js +11 -2
- package/lib/molecule/discipline-associated-skills/index.js.map +1 -1
- package/lib/molecule/discipline-associated-skills/style.css +35 -3
- package/lib/molecule/learner-skill-card/index.d.ts +3 -3
- package/lib/molecule/learner-skill-card/index.js +15 -15
- package/lib/molecule/learner-skill-card/index.js.map +1 -1
- package/lib/molecule/select-multiple/test/snapshots/index.js.md +211 -0
- package/lib/molecule/select-multiple/test/snapshots/index.js.snap +0 -0
- package/lib/template/my-learning/index.d.ts +4 -4
- package/lib/template/my-learning/index.d.ts.map +1 -1
- package/lib/template/my-learning/index.js +24 -22
- package/lib/template/my-learning/index.js.map +1 -1
- package/lib/util/test/fixtures/steps.json +34 -0
- package/lib/util/time-format.d.ts +2 -0
- package/lib/util/time-format.d.ts.map +1 -0
- package/lib/util/time-format.js +21 -0
- package/lib/util/time-format.js.map +1 -0
- package/locales/bs/global.json +5 -5
- package/locales/cs/global.json +5 -5
- package/locales/de/global.json +5 -5
- package/locales/en/global.json +3 -3
- package/locales/es/global.json +5 -5
- package/locales/et/global.json +5 -5
- package/locales/fi/global.json +5 -5
- package/locales/fr/global.json +3 -3
- package/locales/hr/global.json +5 -5
- package/locales/hu/global.json +5 -5
- package/locales/hy/global.json +5 -5
- package/locales/it/global.json +5 -5
- package/locales/ja/global.json +4 -4
- package/locales/ko/global.json +5 -5
- package/locales/nl/global.json +5 -5
- package/locales/pl/global.json +5 -5
- package/locales/pt/global.json +5 -5
- package/locales/ro/global.json +5 -5
- package/locales/ru/global.json +5 -5
- package/locales/sk/global.json +5 -5
- package/locales/sl/global.json +5 -5
- package/locales/sv/global.json +5 -5
- package/locales/tl/global.json +5 -5
- package/locales/tr/global.json +5 -5
- package/locales/uk/global.json +5 -5
- package/locales/vi/global.json +5 -5
- package/locales/zh/global.json +4 -4
- package/locales/zh_TW/global.json +5 -5
- package/package.json +3 -2
|
@@ -38,9 +38,9 @@ const LearnerSkillCard = (props, context) => {
|
|
|
38
38
|
} = props;
|
|
39
39
|
const {
|
|
40
40
|
score,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
content,
|
|
42
|
+
questionsToReview,
|
|
43
|
+
contentCompleted = 0
|
|
44
44
|
} = metrics;
|
|
45
45
|
const {
|
|
46
46
|
skin,
|
|
@@ -53,7 +53,7 @@ const LearnerSkillCard = (props, context) => {
|
|
|
53
53
|
const coursesLocale = translate('courses');
|
|
54
54
|
const questionsLocale = translate('questions');
|
|
55
55
|
const skillFocusLocale = translate('skill_focus');
|
|
56
|
-
const
|
|
56
|
+
const contentCompletedLocale = translate('courses_completed');
|
|
57
57
|
const handleMouseOver = (0, _react.useCallback)(() => setHovered(true), [setHovered]);
|
|
58
58
|
const handleMouseLeave = (0, _react.useCallback)(() => setHovered(false), [setHovered]);
|
|
59
59
|
const buttonReviewProps = {
|
|
@@ -88,7 +88,7 @@ const LearnerSkillCard = (props, context) => {
|
|
|
88
88
|
}
|
|
89
89
|
};
|
|
90
90
|
const ProgressBar = (0, _react.useCallback)(() => {
|
|
91
|
-
if (!
|
|
91
|
+
if (!content) return null;
|
|
92
92
|
const progressBarColor = '#3EC483';
|
|
93
93
|
const inlineProgressValueStyle = {
|
|
94
94
|
backgroundColor: progressBarColor,
|
|
@@ -103,24 +103,24 @@ const LearnerSkillCard = (props, context) => {
|
|
|
103
103
|
role: "progressbar",
|
|
104
104
|
"aria-label": (0, _get2.default)('progression', ariaLabel)
|
|
105
105
|
}));
|
|
106
|
-
}, [score, ariaLabel,
|
|
106
|
+
}, [score, ariaLabel, content]);
|
|
107
107
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
108
108
|
className: _style.default.learnerSkillCardWrapper,
|
|
109
109
|
"data-name": "learner-skill-card-wrapper",
|
|
110
110
|
"aria-label": ariaLabel
|
|
111
|
-
},
|
|
111
|
+
}, content || questionsToReview ? /*#__PURE__*/_react.default.createElement("div", {
|
|
112
112
|
className: _style.default.skillCoursesAndQuestionsWrapper
|
|
113
|
-
},
|
|
113
|
+
}, content ? /*#__PURE__*/_react.default.createElement("div", {
|
|
114
114
|
className: _style.default.skillInformation,
|
|
115
115
|
"data-name": "skill-courses"
|
|
116
116
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
117
117
|
className: _style.default.skillInformationNumber
|
|
118
|
-
},
|
|
118
|
+
}, content), " ", coursesLocale) : null, questionsToReview ? /*#__PURE__*/_react.default.createElement("div", {
|
|
119
119
|
className: _style.default.skillInformation,
|
|
120
120
|
"data-name": "skill-questions"
|
|
121
121
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
122
122
|
className: _style.default.skillInformationNumber
|
|
123
|
-
},
|
|
123
|
+
}, questionsToReview), "\xA0", questionsLocale) : null) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
124
124
|
className: _style.default.skillTitleWrapper
|
|
125
125
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
126
126
|
"data-name": "skill-title",
|
|
@@ -137,12 +137,12 @@ const LearnerSkillCard = (props, context) => {
|
|
|
137
137
|
}
|
|
138
138
|
}), skillFocusLocale) : null), /*#__PURE__*/_react.default.createElement(ProgressBar, null), /*#__PURE__*/_react.default.createElement("div", {
|
|
139
139
|
className: _style.default.progressInformations
|
|
140
|
-
},
|
|
140
|
+
}, content && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
141
141
|
className: _style.default.progressInformation,
|
|
142
142
|
"data-name": "skill-completed-courses"
|
|
143
143
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
144
144
|
className: _style.default.progressInformationNumber
|
|
145
|
-
},
|
|
145
|
+
}, contentCompleted), ` ${contentCompletedLocale}`), /*#__PURE__*/_react.default.createElement("div", {
|
|
146
146
|
className: _style.default.progressInformation,
|
|
147
147
|
"data-name": "completed-percentage"
|
|
148
148
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -169,9 +169,9 @@ LearnerSkillCard.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
169
169
|
focus: _propTypes.default.bool,
|
|
170
170
|
metrics: _propTypes.default.shape({
|
|
171
171
|
score: _propTypes.default.number,
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
172
|
+
content: _propTypes.default.number,
|
|
173
|
+
questionsToReview: _propTypes.default.number,
|
|
174
|
+
contentCompleted: _propTypes.default.number
|
|
175
175
|
}),
|
|
176
176
|
review: _propTypes.default.bool,
|
|
177
177
|
onReviewClick: _propTypes.default.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["LearnerSkillCard","props","context","ariaLabel","skillTitle","skillAriaLabel","focus","metrics","review","onReviewClick","onExploreClick","score","skillCourses","skillQuestions","completedCourses","skin","translate","hovered","setHovered","useState","primarySkinColor","reviewLocale","exploreLocale","coursesLocale","questionsLocale","skillFocusLocale","coursesCompletedLocale","handleMouseOver","useCallback","handleMouseLeave","buttonReviewProps","customStyle","backgroundColor","transition","disabled","onClick","label","buttonExploreProps","convert","color","icon","position","faIcon","name","size","ProgressBar","progressBarColor","inlineProgressValueStyle","width","style","progressWrapper","progress","learnerSkillCardWrapper","skillCoursesAndQuestionsWrapper","skillInformation","skillInformationNumber","skillTitleWrapper","skillFocusBadge","faSize","wrapperSize","progressInformations","progressInformation","progressInformationNumber","ctaWrapper","buttonWrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","bool","shape","number","func"],"sources":["../../../src/molecule/learner-skill-card/index.js"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport {convert} from 'css-color-function';\nimport {get} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport Icon from '../../atom/icon';\nimport ButtonLink from '../../atom/button-link';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nconst LearnerSkillCard = (props, context) => {\n const {\n 'aria-label': ariaLabel,\n skillTitle,\n skillAriaLabel,\n focus = false,\n metrics,\n review = false,\n onReviewClick,\n onExploreClick\n } = props;\n const {score, skillCourses, skillQuestions, completedCourses = 0} = metrics;\n const {skin, translate} = context;\n const [hovered, setHovered] = useState(false);\n const primarySkinColor = get('common.primary', skin);\n\n const reviewLocale = translate('Review');\n const exploreLocale = translate('Explore');\n const coursesLocale = translate('courses');\n const questionsLocale = translate('questions');\n const skillFocusLocale = translate('skill_focus');\n const coursesCompletedLocale = translate('courses_completed');\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const buttonReviewProps = {\n customStyle: {\n backgroundColor: '#FFF',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n disabled: !review,\n onClick: onReviewClick,\n 'aria-label': `${skillTitle}, ${reviewLocale}`,\n label: reviewLocale,\n 'data-name': 'learner-skill-card-review-button'\n };\n\n const buttonExploreProps = {\n customStyle: {\n backgroundColor: hovered ? primarySkinColor : 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: onExploreClick,\n 'aria-label': `${skillTitle}, ${exploreLocale}`,\n label: exploreLocale,\n 'data-name': 'learner-skill-card-explore-button',\n icon: {\n position: 'left',\n faIcon: {\n name: 'compass',\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }\n };\n\n const ProgressBar = useCallback(() => {\n if (!skillCourses) return null;\n\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n role=\"progressbar\"\n aria-label={get('progression', ariaLabel)}\n />\n </div>\n );\n }, [score, ariaLabel, skillCourses]);\n\n return (\n <div\n className={style.learnerSkillCardWrapper}\n data-name=\"learner-skill-card-wrapper\"\n aria-label={ariaLabel}\n >\n {skillCourses || skillQuestions ? (\n <div className={style.skillCoursesAndQuestionsWrapper}>\n {skillCourses ? (\n <div className={style.skillInformation} data-name=\"skill-courses\">\n <span className={style.skillInformationNumber}>{skillCourses}</span> {coursesLocale}\n </div>\n ) : null}\n {skillQuestions ? (\n <div className={style.skillInformation} data-name=\"skill-questions\">\n <span className={style.skillInformationNumber}>{skillQuestions}</span>\n {questionsLocale}\n </div>\n ) : null}\n </div>\n ) : null}\n <div className={style.skillTitleWrapper}>\n <div\n data-name=\"skill-title\"\n className={style.skillTitle}\n aria-label={skillAriaLabel || skillTitle}\n >\n {skillTitle}\n </div>\n {focus ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n size={{\n faSize: 10,\n wrapperSize: 16\n }}\n />\n {skillFocusLocale}\n </div>\n ) : null}\n </div>\n <ProgressBar />\n <div className={style.progressInformations}>\n {skillCourses && (\n <>\n <div className={style.progressInformation} data-name=\"skill-completed-courses\">\n <span className={style.progressInformationNumber}>{completedCourses}</span>\n {` ${coursesCompletedLocale}`}\n </div>\n <div className={style.progressInformation} data-name=\"completed-percentage\">\n <span className={style.progressInformationNumber}>{score}%</span>\n </div>\n </>\n )}\n </div>\n <div className={style.ctaWrapper} data-name=\"cta-wrapper\">\n <ButtonLink {...buttonReviewProps} />\n <div\n className={style.buttonWrapper}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-name=\"button-explore-wrapper\"\n >\n <ButtonLink {...buttonExploreProps} />\n </div>\n </div>\n </div>\n );\n};\n\nLearnerSkillCard.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nLearnerSkillCard.propTypes = {\n 'aria-label': PropTypes.string,\n skillTitle: PropTypes.string,\n skillAriaLabel: PropTypes.string,\n focus: PropTypes.bool,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n skillCourses: PropTypes.number,\n skillQuestions: PropTypes.number,\n completedCourses: PropTypes.number\n }),\n review: PropTypes.bool,\n onReviewClick: PropTypes.func,\n onExploreClick: PropTypes.func\n};\n\nexport default LearnerSkillCard;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["LearnerSkillCard","props","context","ariaLabel","skillTitle","skillAriaLabel","focus","metrics","review","onReviewClick","onExploreClick","score","content","questionsToReview","contentCompleted","skin","translate","hovered","setHovered","useState","primarySkinColor","reviewLocale","exploreLocale","coursesLocale","questionsLocale","skillFocusLocale","contentCompletedLocale","handleMouseOver","useCallback","handleMouseLeave","buttonReviewProps","customStyle","backgroundColor","transition","disabled","onClick","label","buttonExploreProps","convert","color","icon","position","faIcon","name","size","ProgressBar","progressBarColor","inlineProgressValueStyle","width","style","progressWrapper","progress","learnerSkillCardWrapper","skillCoursesAndQuestionsWrapper","skillInformation","skillInformationNumber","skillTitleWrapper","skillFocusBadge","faSize","wrapperSize","progressInformations","progressInformation","progressInformationNumber","ctaWrapper","buttonWrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","bool","shape","number","func"],"sources":["../../../src/molecule/learner-skill-card/index.js"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport {convert} from 'css-color-function';\nimport {get} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport Icon from '../../atom/icon';\nimport ButtonLink from '../../atom/button-link';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nconst LearnerSkillCard = (props, context) => {\n const {\n 'aria-label': ariaLabel,\n skillTitle,\n skillAriaLabel,\n focus = false,\n metrics,\n review = false,\n onReviewClick,\n onExploreClick\n } = props;\n const {score, content, questionsToReview, contentCompleted = 0} = metrics;\n const {skin, translate} = context;\n const [hovered, setHovered] = useState(false);\n const primarySkinColor = get('common.primary', skin);\n\n const reviewLocale = translate('Review');\n const exploreLocale = translate('Explore');\n const coursesLocale = translate('courses');\n const questionsLocale = translate('questions');\n const skillFocusLocale = translate('skill_focus');\n const contentCompletedLocale = translate('courses_completed');\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const buttonReviewProps = {\n customStyle: {\n backgroundColor: '#FFF',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n disabled: !review,\n onClick: onReviewClick,\n 'aria-label': `${skillTitle}, ${reviewLocale}`,\n label: reviewLocale,\n 'data-name': 'learner-skill-card-review-button'\n };\n\n const buttonExploreProps = {\n customStyle: {\n backgroundColor: hovered ? primarySkinColor : 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: onExploreClick,\n 'aria-label': `${skillTitle}, ${exploreLocale}`,\n label: exploreLocale,\n 'data-name': 'learner-skill-card-explore-button',\n icon: {\n position: 'left',\n faIcon: {\n name: 'compass',\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }\n };\n\n const ProgressBar = useCallback(() => {\n if (!content) return null;\n\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n role=\"progressbar\"\n aria-label={get('progression', ariaLabel)}\n />\n </div>\n );\n }, [score, ariaLabel, content]);\n\n return (\n <div\n className={style.learnerSkillCardWrapper}\n data-name=\"learner-skill-card-wrapper\"\n aria-label={ariaLabel}\n >\n {content || questionsToReview ? (\n <div className={style.skillCoursesAndQuestionsWrapper}>\n {content ? (\n <div className={style.skillInformation} data-name=\"skill-courses\">\n <span className={style.skillInformationNumber}>{content}</span> {coursesLocale}\n </div>\n ) : null}\n {questionsToReview ? (\n <div className={style.skillInformation} data-name=\"skill-questions\">\n <span className={style.skillInformationNumber}>{questionsToReview}</span>\n {questionsLocale}\n </div>\n ) : null}\n </div>\n ) : null}\n <div className={style.skillTitleWrapper}>\n <div\n data-name=\"skill-title\"\n className={style.skillTitle}\n aria-label={skillAriaLabel || skillTitle}\n >\n {skillTitle}\n </div>\n {focus ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n size={{\n faSize: 10,\n wrapperSize: 16\n }}\n />\n {skillFocusLocale}\n </div>\n ) : null}\n </div>\n <ProgressBar />\n <div className={style.progressInformations}>\n {content && (\n <>\n <div className={style.progressInformation} data-name=\"skill-completed-courses\">\n <span className={style.progressInformationNumber}>{contentCompleted}</span>\n {` ${contentCompletedLocale}`}\n </div>\n <div className={style.progressInformation} data-name=\"completed-percentage\">\n <span className={style.progressInformationNumber}>{score}%</span>\n </div>\n </>\n )}\n </div>\n <div className={style.ctaWrapper} data-name=\"cta-wrapper\">\n <ButtonLink {...buttonReviewProps} />\n <div\n className={style.buttonWrapper}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-name=\"button-explore-wrapper\"\n >\n <ButtonLink {...buttonExploreProps} />\n </div>\n </div>\n </div>\n );\n};\n\nLearnerSkillCard.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nLearnerSkillCard.propTypes = {\n 'aria-label': PropTypes.string,\n skillTitle: PropTypes.string,\n skillAriaLabel: PropTypes.string,\n focus: PropTypes.bool,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n content: PropTypes.number,\n questionsToReview: PropTypes.number,\n contentCompleted: PropTypes.number\n }),\n review: PropTypes.bool,\n onReviewClick: PropTypes.func,\n onExploreClick: PropTypes.func\n};\n\nexport default LearnerSkillCard;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Snapshot report for `src/molecule/select-multiple/test/index.js`
|
|
2
|
+
|
|
3
|
+
The actual snapshot is saved in `index.js.snap`.
|
|
4
|
+
|
|
5
|
+
Generated by [AVA](https://ava.li).
|
|
6
|
+
|
|
7
|
+
## should shallow render when select is opened
|
|
8
|
+
|
|
9
|
+
> Snapshot 1
|
|
10
|
+
|
|
11
|
+
ShallowWrapper {
|
|
12
|
+
<div
|
|
13
|
+
className="select-multiple__default variables__defaultText"
|
|
14
|
+
>
|
|
15
|
+
<span
|
|
16
|
+
className="select-multiple__title"
|
|
17
|
+
>
|
|
18
|
+
Learning Path:
|
|
19
|
+
</span>
|
|
20
|
+
<div
|
|
21
|
+
className="select-multiple__select"
|
|
22
|
+
onClick={Function {}}
|
|
23
|
+
title="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut"
|
|
24
|
+
>
|
|
25
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
|
|
26
|
+
<SvgComponent⍟
|
|
27
|
+
className="select-multiple__arrow select-multiple__down"
|
|
28
|
+
color={undefined}
|
|
29
|
+
/>
|
|
30
|
+
</div>
|
|
31
|
+
<div
|
|
32
|
+
className="select-multiple__activeChoices"
|
|
33
|
+
>
|
|
34
|
+
<ul
|
|
35
|
+
className="select-multiple__list"
|
|
36
|
+
>
|
|
37
|
+
<li
|
|
38
|
+
className="select-multiple__choice"
|
|
39
|
+
key="0"
|
|
40
|
+
>
|
|
41
|
+
<TitledCheckbox⍟
|
|
42
|
+
background={undefined}
|
|
43
|
+
choice={
|
|
44
|
+
{
|
|
45
|
+
i: 0,
|
|
46
|
+
name: 'Digital',
|
|
47
|
+
selected: false,
|
|
48
|
+
value: 'digital',
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
onToggle={Function {}}
|
|
52
|
+
/>
|
|
53
|
+
</li>
|
|
54
|
+
<li
|
|
55
|
+
className="select-multiple__choice"
|
|
56
|
+
key="1"
|
|
57
|
+
>
|
|
58
|
+
<TitledCheckbox⍟
|
|
59
|
+
background={undefined}
|
|
60
|
+
choice={
|
|
61
|
+
{
|
|
62
|
+
i: 1,
|
|
63
|
+
name: 'Esprit du temps',
|
|
64
|
+
selected: false,
|
|
65
|
+
value: 'espritDuTemps',
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
onToggle={Function {}}
|
|
69
|
+
/>
|
|
70
|
+
</li>
|
|
71
|
+
<li
|
|
72
|
+
className="select-multiple__choice"
|
|
73
|
+
key="2"
|
|
74
|
+
>
|
|
75
|
+
<TitledCheckbox⍟
|
|
76
|
+
background={undefined}
|
|
77
|
+
choice={
|
|
78
|
+
{
|
|
79
|
+
i: 2,
|
|
80
|
+
name: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut',
|
|
81
|
+
selected: true,
|
|
82
|
+
value: 'loremIpsum',
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
onToggle={Function {}}
|
|
86
|
+
/>
|
|
87
|
+
</li>
|
|
88
|
+
<li
|
|
89
|
+
className="select-multiple__choice"
|
|
90
|
+
key="3"
|
|
91
|
+
>
|
|
92
|
+
<TitledCheckbox⍟
|
|
93
|
+
background={undefined}
|
|
94
|
+
choice={
|
|
95
|
+
{
|
|
96
|
+
i: 3,
|
|
97
|
+
name: 'Le monde du projet',
|
|
98
|
+
selected: false,
|
|
99
|
+
value: 'project',
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
onToggle={Function {}}
|
|
103
|
+
/>
|
|
104
|
+
</li>
|
|
105
|
+
</ul>
|
|
106
|
+
</div>
|
|
107
|
+
</div>,
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
## should shallow render with default props
|
|
111
|
+
|
|
112
|
+
> Snapshot 1
|
|
113
|
+
|
|
114
|
+
ShallowWrapper {
|
|
115
|
+
<div
|
|
116
|
+
className="select-multiple__default variables__defaultText"
|
|
117
|
+
>
|
|
118
|
+
<span
|
|
119
|
+
className="select-multiple__title"
|
|
120
|
+
>
|
|
121
|
+
Learning Path:
|
|
122
|
+
</span>
|
|
123
|
+
<div
|
|
124
|
+
className="select-multiple__select"
|
|
125
|
+
onClick={Function {}}
|
|
126
|
+
title="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut"
|
|
127
|
+
>
|
|
128
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
|
|
129
|
+
<SvgComponent⍟
|
|
130
|
+
className="select-multiple__arrow"
|
|
131
|
+
color={undefined}
|
|
132
|
+
/>
|
|
133
|
+
</div>
|
|
134
|
+
<div
|
|
135
|
+
className="select-multiple__choices"
|
|
136
|
+
>
|
|
137
|
+
<ul
|
|
138
|
+
className="select-multiple__list"
|
|
139
|
+
>
|
|
140
|
+
<li
|
|
141
|
+
className="select-multiple__choice"
|
|
142
|
+
key="0"
|
|
143
|
+
>
|
|
144
|
+
<TitledCheckbox⍟
|
|
145
|
+
background={undefined}
|
|
146
|
+
choice={
|
|
147
|
+
{
|
|
148
|
+
i: 0,
|
|
149
|
+
name: 'Digital',
|
|
150
|
+
selected: false,
|
|
151
|
+
value: 'digital',
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
onToggle={Function {}}
|
|
155
|
+
/>
|
|
156
|
+
</li>
|
|
157
|
+
<li
|
|
158
|
+
className="select-multiple__choice"
|
|
159
|
+
key="1"
|
|
160
|
+
>
|
|
161
|
+
<TitledCheckbox⍟
|
|
162
|
+
background={undefined}
|
|
163
|
+
choice={
|
|
164
|
+
{
|
|
165
|
+
i: 1,
|
|
166
|
+
name: 'Esprit du temps',
|
|
167
|
+
selected: false,
|
|
168
|
+
value: 'espritDuTemps',
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
onToggle={Function {}}
|
|
172
|
+
/>
|
|
173
|
+
</li>
|
|
174
|
+
<li
|
|
175
|
+
className="select-multiple__choice"
|
|
176
|
+
key="2"
|
|
177
|
+
>
|
|
178
|
+
<TitledCheckbox⍟
|
|
179
|
+
background={undefined}
|
|
180
|
+
choice={
|
|
181
|
+
{
|
|
182
|
+
i: 2,
|
|
183
|
+
name: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut',
|
|
184
|
+
selected: true,
|
|
185
|
+
value: 'loremIpsum',
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
onToggle={Function {}}
|
|
189
|
+
/>
|
|
190
|
+
</li>
|
|
191
|
+
<li
|
|
192
|
+
className="select-multiple__choice"
|
|
193
|
+
key="3"
|
|
194
|
+
>
|
|
195
|
+
<TitledCheckbox⍟
|
|
196
|
+
background={undefined}
|
|
197
|
+
choice={
|
|
198
|
+
{
|
|
199
|
+
i: 3,
|
|
200
|
+
name: 'Le monde du projet',
|
|
201
|
+
selected: false,
|
|
202
|
+
value: 'project',
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
onToggle={Function {}}
|
|
206
|
+
/>
|
|
207
|
+
</li>
|
|
208
|
+
</ul>
|
|
209
|
+
</div>
|
|
210
|
+
</div>,
|
|
211
|
+
}
|
|
Binary file
|
|
@@ -33,10 +33,10 @@ declare namespace MyLearning {
|
|
|
33
33
|
availableForReview: PropTypes.Requireable<boolean>;
|
|
34
34
|
stats: PropTypes.Requireable<PropTypes.InferProps<{
|
|
35
35
|
score: PropTypes.Requireable<number>;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
content: PropTypes.Requireable<number>;
|
|
37
|
+
contentCompleted: PropTypes.Requireable<number>;
|
|
38
|
+
questionsToReview: PropTypes.Requireable<number>;
|
|
39
|
+
learningTime: PropTypes.Requireable<number>;
|
|
40
40
|
}>>;
|
|
41
41
|
}> | null | undefined;
|
|
42
42
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/my-learning/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/my-learning/index.js"],"names":[],"mappings":";AAyHA,mEAuWC"}
|
|
@@ -45,6 +45,8 @@ var _learnerSkillCard = _interopRequireDefault(require("../../molecule/learner-s
|
|
|
45
45
|
|
|
46
46
|
var _searchValueIncluded = _interopRequireDefault(require("../../util/search-value-included"));
|
|
47
47
|
|
|
48
|
+
var _timeFormat = require("../../util/time-format");
|
|
49
|
+
|
|
48
50
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
49
51
|
|
|
50
52
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -180,14 +182,14 @@ const MyLearning = (props, context) => {
|
|
|
180
182
|
};
|
|
181
183
|
}, [searchResults, skillsReviewReady]);
|
|
182
184
|
const sumKpi = (0, _react.useCallback)(kpi => skillFocusSelectedOnChart ? skillsInformation[skillFocusSelectedOnChart].stats[kpi] : (0, _sumBy2.default)(skill => skillsInformation[skill].stats[kpi], selectedSkillsList), [skillFocusSelectedOnChart, skillsInformation, selectedSkillsList]);
|
|
183
|
-
const coursedCompletedData = (0, _react.useMemo)(() => sumKpi('
|
|
184
|
-
const
|
|
185
|
-
const
|
|
185
|
+
const coursedCompletedData = (0, _react.useMemo)(() => sumKpi('contentCompleted'), [sumKpi]);
|
|
186
|
+
const questionsToReviewData = (0, _react.useMemo)(() => sumKpi('questionsToReview'), [sumKpi]);
|
|
187
|
+
const learningTimeData = (0, _react.useMemo)(() => sumKpi('learningTime'), [sumKpi]);
|
|
186
188
|
const skillChartPaneLegends = (0, _react.useMemo)(() => translate('skill_scope_specifier', {
|
|
187
189
|
focusedSkill: skillFocusSelectedOnChart ? skillsLocales[skillFocusSelectedOnChart] : translate('focused_skills')
|
|
188
190
|
}), [translate, skillsLocales, skillFocusSelectedOnChart]);
|
|
189
191
|
const skillChartPanelProps = [{
|
|
190
|
-
title: translate('
|
|
192
|
+
title: translate('skill_chart_side_panel_content_completed'),
|
|
191
193
|
value: `${coursedCompletedData}`,
|
|
192
194
|
legend: skillChartPaneLegends,
|
|
193
195
|
icon: {
|
|
@@ -195,20 +197,20 @@ const MyLearning = (props, context) => {
|
|
|
195
197
|
backgroundColor: '#D9F4F7'
|
|
196
198
|
}
|
|
197
199
|
}, {
|
|
198
|
-
title: translate('
|
|
199
|
-
value:
|
|
200
|
+
title: translate('skill_chart_side_panel_learning_hours'),
|
|
201
|
+
value: (0, _timeFormat.formatMinutes)(learningTimeData),
|
|
200
202
|
legend: skillChartPaneLegends,
|
|
201
203
|
icon: {
|
|
202
|
-
iconName: '
|
|
203
|
-
backgroundColor: '#
|
|
204
|
+
iconName: 'clock',
|
|
205
|
+
backgroundColor: '#FAD6DE'
|
|
204
206
|
}
|
|
205
207
|
}, {
|
|
206
|
-
title: translate('
|
|
207
|
-
value: `${
|
|
208
|
+
title: translate('skill_chart_side_panel_questions_to_review'),
|
|
209
|
+
value: `${questionsToReviewData}`,
|
|
208
210
|
legend: skillChartPaneLegends,
|
|
209
211
|
icon: {
|
|
210
|
-
iconName: '
|
|
211
|
-
backgroundColor: '#
|
|
212
|
+
iconName: 'circle-question',
|
|
213
|
+
backgroundColor: '#FFDCD1'
|
|
212
214
|
}
|
|
213
215
|
}];
|
|
214
216
|
const handleOnDotClick = (0, _react.useCallback)(skillRef => {
|
|
@@ -398,9 +400,9 @@ const MyLearning = (props, context) => {
|
|
|
398
400
|
|
|
399
401
|
const {
|
|
400
402
|
score,
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
403
|
+
content,
|
|
404
|
+
questionsToReview,
|
|
405
|
+
contentCompleted
|
|
404
406
|
} = skillsInformation[skill].stats;
|
|
405
407
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
406
408
|
key: index
|
|
@@ -409,9 +411,9 @@ const MyLearning = (props, context) => {
|
|
|
409
411
|
focus: selectedSkills.includes(skill),
|
|
410
412
|
metrics: {
|
|
411
413
|
score,
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
414
|
+
content,
|
|
415
|
+
questionsToReview,
|
|
416
|
+
contentCompleted
|
|
415
417
|
},
|
|
416
418
|
review: skillsInformation[skill].availableForReview,
|
|
417
419
|
onReviewClick: handleReviewSkill,
|
|
@@ -431,10 +433,10 @@ MyLearning.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
431
433
|
availableForReview: _propTypes.default.bool,
|
|
432
434
|
stats: _propTypes.default.shape({
|
|
433
435
|
score: _propTypes.default.number,
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
436
|
+
content: _propTypes.default.number,
|
|
437
|
+
contentCompleted: _propTypes.default.number,
|
|
438
|
+
questionsToReview: _propTypes.default.number,
|
|
439
|
+
learningTime: _propTypes.default.number
|
|
438
440
|
})
|
|
439
441
|
})),
|
|
440
442
|
skillsLocales: _propTypes.default.objectOf(_propTypes.default.string),
|