@coorpacademy/components 11.35.3-alpha.3 → 11.35.3-forcedeploy10.7
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/atom/button-link/index.js +1 -1
- package/es/atom/button-link/index.js.map +1 -1
- package/es/atom/button-link/style.css +2 -2
- package/es/atom/icon/index.d.ts +35 -17
- package/es/atom/icon/index.d.ts.map +1 -1
- package/es/atom/icon/index.js +32 -15
- package/es/atom/icon/index.js.map +1 -1
- package/es/atom/radio-with-title/index.d.ts +13 -3
- package/es/atom/radio-with-title/index.d.ts.map +1 -1
- package/es/atom/radio-with-title/types.d.ts +13 -2
- package/es/atom/radio-with-title/types.d.ts.map +1 -1
- package/es/atom/status-item/index.native.js +2 -2
- package/es/atom/status-item/index.native.js.map +1 -1
- package/es/atom/tag/index.d.ts +12 -1
- package/es/atom/tag/style.css +1 -0
- package/es/atom/title/index.d.ts +13 -2
- package/es/molecule/banner/style.css +1 -0
- package/es/molecule/base-modal/style.css +0 -1
- package/es/molecule/bulk-progress-bar/index.js +2 -2
- package/es/molecule/bulk-progress-bar/index.js.map +1 -1
- package/es/molecule/certification-card/index.js +1 -1
- package/es/molecule/certification-card/index.js.map +1 -1
- package/es/molecule/cm-popin/types.d.ts +28 -7
- package/es/molecule/cm-popin/types.d.ts.map +1 -1
- package/es/molecule/cm-popin/types.js +1 -1
- package/es/molecule/cm-popin/types.js.map +1 -1
- package/es/molecule/dashboard/cards-list/index.d.ts.map +1 -1
- package/es/molecule/dashboard/cards-list/index.js +2 -0
- package/es/molecule/dashboard/cards-list/index.js.map +1 -1
- package/es/molecule/icon-preview/index.d.ts +5 -2
- package/es/molecule/icon-preview/index.d.ts.map +1 -1
- package/es/molecule/icon-preview/index.js +13 -2
- package/es/molecule/icon-preview/index.js.map +1 -1
- package/es/molecule/icon-preview/style.css +0 -1
- package/es/molecule/learner-skill-card/index.js +10 -8
- package/es/molecule/learner-skill-card/index.js.map +1 -1
- package/es/molecule/learner-skill-card/style.css +1 -0
- package/es/molecule/learning-priority-modal/style.css +3 -2
- package/es/molecule/progress-wrapper/index.js +1 -1
- package/es/molecule/progress-wrapper/index.js.map +1 -1
- package/es/molecule/skills-chart-side-information-item/index.d.ts +1 -1
- package/es/molecule/skills-chart-side-information-panel/index.d.ts +1 -1
- package/es/molecule/title-and-checkbox-wrapper/index.d.ts +13 -2
- package/es/molecule/title-radio-wrapper/index.d.ts +13 -3
- package/es/molecule/title-radio-wrapper/index.d.ts.map +1 -1
- package/es/molecule/title-radio-wrapper/types.d.ts +13 -2
- package/es/molecule/title-radio-wrapper/types.d.ts.map +1 -1
- package/es/organism/cards-grid/index.d.ts +48 -10
- package/es/organism/cards-grid/index.d.ts.map +1 -1
- package/es/organism/cards-grid/index.js +3 -2
- package/es/organism/cards-grid/index.js.map +1 -1
- package/es/organism/content-skill-modal/index.d.ts +13 -3
- package/es/organism/content-skill-modal/index.d.ts.map +1 -1
- package/es/organism/content-skill-modal/types.d.ts +12 -2
- package/es/organism/content-skill-modal/types.d.ts.map +1 -1
- package/es/organism/header-with-actions/index.d.ts +8 -22
- package/es/organism/header-with-actions/index.d.ts.map +1 -1
- package/es/organism/header-with-actions/index.js +7 -85
- package/es/organism/header-with-actions/index.js.map +1 -1
- package/es/organism/header-with-actions/types.d.ts +13 -44
- package/es/organism/header-with-actions/types.d.ts.map +1 -1
- package/es/organism/header-with-actions/types.js +6 -22
- package/es/organism/header-with-actions/types.js.map +1 -1
- package/es/organism/list-item/index.js +5 -5
- package/es/organism/list-item/index.js.map +1 -1
- package/es/organism/list-item/style.css +23 -17
- package/es/organism/list-items/index.d.ts +13 -2
- package/es/organism/rewards-form/index.d.ts +13 -2
- package/es/organism/select-opponents/index.d.ts +13 -3
- package/es/organism/select-opponents/index.d.ts.map +1 -1
- package/es/organism/select-opponents/types.d.ts +13 -2
- package/es/organism/select-opponents/types.d.ts.map +1 -1
- package/es/organism/sidebar/index.d.ts +2 -2
- package/es/organism/skill-edition/index.js +2 -2
- package/es/organism/skill-edition/index.js.map +1 -1
- package/es/organism/title-and-input/index.d.ts +25 -5
- package/es/organism/title-and-input/index.d.ts.map +1 -1
- package/es/organism/title-and-input/types.d.ts +24 -4
- package/es/organism/title-and-input/types.d.ts.map +1 -1
- package/es/organism/wizard-contents/index.d.ts +13 -2
- package/es/template/app-player/loading/index.d.ts +27 -6
- package/es/template/app-player/player/index.d.ts +53 -12
- package/es/template/app-player/player/slides/index.d.ts +27 -6
- package/es/template/app-player/player/slides/index.d.ts.map +1 -1
- package/es/template/app-player/popin-correction/index.d.ts +26 -6
- package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
- package/es/template/app-player/popin-end/index.d.ts +27 -6
- package/es/template/app-review/index.d.ts +27 -7
- package/es/template/app-review/index.d.ts.map +1 -1
- package/es/template/app-review/player/prop-types.d.ts +27 -6
- package/es/template/app-review/player/prop-types.d.ts.map +1 -1
- package/es/template/app-review/prop-types.d.ts +27 -6
- package/es/template/app-review/prop-types.d.ts.map +1 -1
- package/es/template/back-office/brand-update/index.d.ts +71 -34
- package/es/template/back-office/brand-update/index.d.ts.map +1 -1
- package/es/template/back-office/brand-update/index.js +2 -4
- package/es/template/back-office/brand-update/index.js.map +1 -1
- package/es/template/back-office/brand-update/style.css +1 -4
- package/es/template/back-office/brand-update/utils.d.ts +11 -39
- package/es/template/back-office/brand-update/utils.js +1 -20
- package/es/template/back-office/brand-update/utils.js.map +1 -1
- package/es/template/common/dashboard/index.d.ts +53 -12
- package/es/template/common/search-page/index.d.ts +27 -6
- package/es/template/external-course/index.d.ts +27 -6
- package/es/template/my-learning/index.d.ts.map +1 -1
- package/es/template/my-learning/index.js +1 -1
- package/es/template/my-learning/index.js.map +1 -1
- package/es/template/skill-detail/all-courses.css +9 -10
- package/es/template/skill-detail/all-courses.d.ts +50 -47
- package/es/template/skill-detail/all-courses.d.ts.map +1 -1
- package/es/template/skill-detail/all-courses.js +14 -23
- package/es/template/skill-detail/all-courses.js.map +1 -1
- package/es/template/skill-detail/continue-learning.css +7 -2
- package/es/template/skill-detail/continue-learning.d.ts +25 -12
- package/es/template/skill-detail/continue-learning.d.ts.map +1 -1
- package/es/template/skill-detail/continue-learning.js.map +1 -1
- package/es/template/skill-detail/index.d.ts +89 -71
- package/es/template/skill-detail/index.d.ts.map +1 -1
- package/es/template/skill-detail/index.js +99 -55
- package/es/template/skill-detail/index.js.map +1 -1
- package/es/template/skill-detail/style.css +188 -36
- package/es/variables/colors.css +2 -0
- package/es/variables/colors.d.ts +4 -3
- package/es/variables/colors.d.ts.map +1 -1
- package/es/variables/colors.js +5 -4
- package/es/variables/colors.js.map +1 -1
- package/es/variables/theme.native.js +1 -1
- package/es/variables/theme.native.js.map +1 -1
- package/lib/atom/button-link/index.js +1 -1
- package/lib/atom/button-link/index.js.map +1 -1
- package/lib/atom/button-link/style.css +2 -2
- package/lib/atom/icon/index.d.ts +35 -17
- package/lib/atom/icon/index.d.ts.map +1 -1
- package/lib/atom/icon/index.js +34 -18
- package/lib/atom/icon/index.js.map +1 -1
- package/lib/atom/radio-with-title/index.d.ts +13 -3
- package/lib/atom/radio-with-title/index.d.ts.map +1 -1
- package/lib/atom/radio-with-title/types.d.ts +13 -2
- package/lib/atom/radio-with-title/types.d.ts.map +1 -1
- package/lib/atom/status-item/index.native.js +2 -2
- package/lib/atom/status-item/index.native.js.map +1 -1
- package/lib/atom/tag/index.d.ts +12 -1
- package/lib/atom/tag/style.css +1 -0
- package/lib/atom/title/index.d.ts +13 -2
- package/lib/molecule/banner/style.css +1 -0
- package/lib/molecule/base-modal/style.css +0 -1
- package/lib/molecule/bulk-progress-bar/index.js +2 -2
- package/lib/molecule/bulk-progress-bar/index.js.map +1 -1
- package/lib/molecule/certification-card/index.js +1 -1
- package/lib/molecule/certification-card/index.js.map +1 -1
- package/lib/molecule/cm-popin/types.d.ts +28 -7
- package/lib/molecule/cm-popin/types.d.ts.map +1 -1
- package/lib/molecule/cm-popin/types.js +1 -1
- package/lib/molecule/cm-popin/types.js.map +1 -1
- package/lib/molecule/dashboard/cards-list/index.d.ts.map +1 -1
- package/lib/molecule/dashboard/cards-list/index.js +2 -0
- package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
- package/lib/molecule/icon-preview/index.d.ts +5 -2
- package/lib/molecule/icon-preview/index.d.ts.map +1 -1
- package/lib/molecule/icon-preview/index.js +13 -2
- package/lib/molecule/icon-preview/index.js.map +1 -1
- package/lib/molecule/icon-preview/style.css +0 -1
- package/lib/molecule/learner-skill-card/index.js +10 -8
- package/lib/molecule/learner-skill-card/index.js.map +1 -1
- package/lib/molecule/learner-skill-card/style.css +1 -0
- package/lib/molecule/learning-priority-modal/style.css +3 -2
- package/lib/molecule/progress-wrapper/index.js +1 -1
- package/lib/molecule/progress-wrapper/index.js.map +1 -1
- package/lib/molecule/skills-chart-side-information-item/index.d.ts +1 -1
- package/lib/molecule/skills-chart-side-information-panel/index.d.ts +1 -1
- package/lib/molecule/title-and-checkbox-wrapper/index.d.ts +13 -2
- package/lib/molecule/title-radio-wrapper/index.d.ts +13 -3
- package/lib/molecule/title-radio-wrapper/index.d.ts.map +1 -1
- package/lib/molecule/title-radio-wrapper/types.d.ts +13 -2
- package/lib/molecule/title-radio-wrapper/types.d.ts.map +1 -1
- package/lib/organism/cards-grid/index.d.ts +48 -10
- package/lib/organism/cards-grid/index.d.ts.map +1 -1
- package/lib/organism/cards-grid/index.js +3 -2
- package/lib/organism/cards-grid/index.js.map +1 -1
- package/lib/organism/content-skill-modal/index.d.ts +13 -3
- package/lib/organism/content-skill-modal/index.d.ts.map +1 -1
- package/lib/organism/content-skill-modal/types.d.ts +12 -2
- package/lib/organism/content-skill-modal/types.d.ts.map +1 -1
- package/lib/organism/header-with-actions/index.d.ts +8 -22
- package/lib/organism/header-with-actions/index.d.ts.map +1 -1
- package/lib/organism/header-with-actions/index.js +7 -85
- package/lib/organism/header-with-actions/index.js.map +1 -1
- package/lib/organism/header-with-actions/types.d.ts +13 -44
- package/lib/organism/header-with-actions/types.d.ts.map +1 -1
- package/lib/organism/header-with-actions/types.js +6 -22
- package/lib/organism/header-with-actions/types.js.map +1 -1
- package/lib/organism/list-item/index.js +5 -5
- package/lib/organism/list-item/index.js.map +1 -1
- package/lib/organism/list-item/style.css +23 -17
- package/lib/organism/list-items/index.d.ts +13 -2
- package/lib/organism/rewards-form/index.d.ts +13 -2
- package/lib/organism/select-opponents/index.d.ts +13 -3
- package/lib/organism/select-opponents/index.d.ts.map +1 -1
- package/lib/organism/select-opponents/types.d.ts +13 -2
- package/lib/organism/select-opponents/types.d.ts.map +1 -1
- package/lib/organism/sidebar/index.d.ts +2 -2
- package/lib/organism/skill-edition/index.js +2 -2
- package/lib/organism/skill-edition/index.js.map +1 -1
- package/lib/organism/title-and-input/index.d.ts +25 -5
- package/lib/organism/title-and-input/index.d.ts.map +1 -1
- package/lib/organism/title-and-input/types.d.ts +24 -4
- package/lib/organism/title-and-input/types.d.ts.map +1 -1
- package/lib/organism/wizard-contents/index.d.ts +13 -2
- package/lib/template/app-player/loading/index.d.ts +27 -6
- package/lib/template/app-player/player/index.d.ts +53 -12
- package/lib/template/app-player/player/slides/index.d.ts +27 -6
- package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
- package/lib/template/app-player/popin-correction/index.d.ts +26 -6
- package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
- package/lib/template/app-player/popin-end/index.d.ts +27 -6
- package/lib/template/app-review/index.d.ts +27 -7
- package/lib/template/app-review/index.d.ts.map +1 -1
- package/lib/template/app-review/player/prop-types.d.ts +27 -6
- package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
- package/lib/template/app-review/prop-types.d.ts +27 -6
- package/lib/template/app-review/prop-types.d.ts.map +1 -1
- package/lib/template/back-office/brand-update/index.d.ts +71 -34
- package/lib/template/back-office/brand-update/index.d.ts.map +1 -1
- package/lib/template/back-office/brand-update/index.js +2 -4
- package/lib/template/back-office/brand-update/index.js.map +1 -1
- package/lib/template/back-office/brand-update/style.css +1 -4
- package/lib/template/back-office/brand-update/utils.d.ts +11 -39
- package/lib/template/back-office/brand-update/utils.js +1 -20
- package/lib/template/back-office/brand-update/utils.js.map +1 -1
- package/lib/template/common/dashboard/index.d.ts +53 -12
- package/lib/template/common/search-page/index.d.ts +27 -6
- package/lib/template/external-course/index.d.ts +27 -6
- package/lib/template/my-learning/index.d.ts.map +1 -1
- package/lib/template/my-learning/index.js +1 -1
- package/lib/template/my-learning/index.js.map +1 -1
- package/lib/template/skill-detail/all-courses.css +9 -10
- package/lib/template/skill-detail/all-courses.d.ts +50 -47
- package/lib/template/skill-detail/all-courses.d.ts.map +1 -1
- package/lib/template/skill-detail/all-courses.js +13 -23
- package/lib/template/skill-detail/all-courses.js.map +1 -1
- package/lib/template/skill-detail/continue-learning.css +7 -2
- package/lib/template/skill-detail/continue-learning.d.ts +25 -12
- package/lib/template/skill-detail/continue-learning.d.ts.map +1 -1
- package/lib/template/skill-detail/continue-learning.js.map +1 -1
- package/lib/template/skill-detail/index.d.ts +89 -71
- package/lib/template/skill-detail/index.d.ts.map +1 -1
- package/lib/template/skill-detail/index.js +99 -55
- package/lib/template/skill-detail/index.js.map +1 -1
- package/lib/template/skill-detail/style.css +188 -36
- package/lib/variables/colors.css +2 -0
- package/lib/variables/colors.d.ts +4 -3
- package/lib/variables/colors.d.ts.map +1 -1
- package/lib/variables/colors.js +5 -4
- package/lib/variables/colors.js.map +1 -1
- package/lib/variables/theme.native.js +1 -1
- package/lib/variables/theme.native.js.map +1 -1
- package/package.json +2 -2
- package/locales/.mtslconfig.json +0 -1
|
@@ -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","CardsList","Title","COLORS","style","roundScore","value","Math","round","ChangeSkillFocusButton","props","context","onClick","skin","translate","primarySkinColor","_get","createElement","customStyle","backgroundColor","color","transition","hoverBackgroundColor","hoverColor","white","label","icon","position","faIcon","name","size","contextTypes","childContextTypes","propTypes","process","env","NODE_ENV","func","FilterButton","active","filter","skillTotal","Content","className","skillFilterNumber","skillFilterNumberInActive","gray","cm_grey_500","buttonProps","cm_grey_400","width","content","bool","string","number","MyLearning","skills","selectedSkills","skillsInformation","skillsLocales","learnerFeature","isLoading","onSkillFocusConfirm","onExploreSkill","learningPriorities","open","setOpen","selectedSkillsList","setSelectedSkillsList","skillFocusSelectedOnChart","setSkillFocusSelectedOnChart","undefined","searchValue","setSearchValue","searchResults","setSearchResults","_sortBy","skillRef","_getOr","activeFilter","setActiveFilter","skillsReviewReady","skill","availableForReview","graphDatas","_pipe","_map","_fromPairs","graphLegends","filters","all","review","sumKpi","kpi","skillFocusSelectedOnChartScore","_sumBy","stats","coursedCompletedData","questionsToReviewData","learningTimeData","skillChartPaneLegends","focusedSkill","skillChartPanelProps","title","legend","iconName","turquoise_100","pink_100","orange_100","skillsScore","handleOnDotClick","handleOpenSkillPicker","handleCloseSkillPicker","handleConfirmSkillPicker","focusSkillList","handleSearch","handleSearchReset","ReviewTooltipContent","backgroundContainer","_isEmpty","cards","cardsListContainer","_extends","type","subtitle","iconColor","cm_orange_800","borderRadius","tag","_size","container","isOpen","onCancel","onConfirm","onClose","skillFocusContainer","skillFocusHeader","skillFocusHeaderWrapper","skillFocusHeaderIcon","purple_100","faSize","wrapperSize","skillFocusHeaderContent","skillFocusHeaderTitle","skillFocusHeaderDescription","length","skillFocusContent","radarContainer","totalDataset","height","data","onExploreClick","colors","gradient","fill","stroke","percentage","background","sidePanelItems","skillFocusEmpty","img","src","alt","skillFocusEmptyTitle","skillFocusEmptyDescription","skillListHeader","skillListHeaderIcon","yellow_100","skillListHeaderContent","skillListHeaderTitle","skillListHeaderDescription","fontSize","iconContainerClassName","infoIconTooltip","tooltipClassName","tooltip","TooltipContent","closeToolTipInformationTextAriaLabel","toolBarContainer","skillFilterContainer","_keys","map","index","handleFilterClick","key","searchWrapper","search","placeholder","onChange","onReset","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","skillListContainer","skillListEmptyContainer","titleNoSkills","textNoSkills","iconSkillAriaLabel","imagePosition","defaultStats","score","contentCompleted","questionsToReview","handleExploreSkill","skillTitle","cardIndex","focus","includes","metrics","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, size, isEmpty} 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 CardsList from '../../molecule/dashboard/cards-list';\nimport Title from '../../atom/title';\nimport {COLORS} from '../../variables/colors';\nimport style from './style.css';\n\nconst roundScore = value => Math.round(value * 10) / 10;\n\nconst ChangeSkillFocusButton = (props, context) => {\n const {onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n return (\n <div data-name=\"button-explore-wrapper\">\n <ButtonLink\n customStyle={{\n backgroundColor: convert(`color(${primarySkinColor} a(0.07))`),\n color: primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n }}\n hoverBackgroundColor={primarySkinColor}\n hoverColor={COLORS.white}\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: convert(`color(${primarySkinColor} a(0.07))`),\n color: 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))`) : COLORS.gray,\n color: active ? primarySkinColor : COLORS.cm_grey_500\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))`) : COLORS.white,\n color: active ? primarySkinColor : COLORS.cm_grey_400,\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 onExploreSkill,\n learningPriorities\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\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, roundScore(getOr(0, [skill, 'stats', 'score'], skillsInformation))]),\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: COLORS.turquoise_100}\n },\n {\n title: translate('skill_chart_side_panel_learning_hours'),\n value: formatMinutes(learningTimeData),\n legend: skillChartPaneLegends,\n icon: {iconName: 'clock', backgroundColor: COLORS.pink_100}\n },\n {\n title: translate('skill_chart_side_panel_questions_to_review'),\n value: `${questionsToReviewData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'circle-question', backgroundColor: COLORS.orange_100}\n }\n ];\n\n const skillsScore = useMemo(\n () =>\n pipe(\n map(skill => [skill, getOr(0, [skill, 'stats', 'score'], skillsInformation)]),\n fromPairs\n )(skills),\n [skills, skillsInformation]\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 {isEmpty(learningPriorities?.cards) ? null : (\n <div className={style.cardsListContainer}>\n <CardsList\n {...learningPriorities}\n title={\n <Title\n {...{\n type: 'form-group',\n title: translate('learning_priorities'),\n subtitle: translate('learning_priorities_description'),\n icon: {\n iconName: 'sign-post',\n iconColor: COLORS.cm_orange_800,\n borderRadius: '12px',\n backgroundColor: COLORS.orange_100\n },\n tag: {\n label: `${size(learningPriorities.cards)}`,\n type: 'default',\n size: 'S'\n }\n }}\n />\n }\n />\n </div>\n )}\n <div className={style.container}>\n <SkillPickerModal\n skills={skills}\n skillsScore={skillsScore}\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={COLORS.purple_100}\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>\n <ButtonLink\n label={translate('skills_choose_focus')}\n type=\"primary\"\n customStyle={{\n width: 'fit-contain',\n backgroundColor: primarySkinColor\n }}\n hoverBackgroundColor={convert(\n `hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`\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={COLORS.yellow_100}\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' && 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 handleExploreSkill() {\n onExploreSkill(skill);\n }\n const {score, content, questionsToReview} = skillsInformation[skill]\n ? skillsInformation[skill].stats\n : defaultStats;\n const {color, name} = get([skill, 'icon'], skillsInformation);\n return (\n <div key={index}>\n <LearnerSkillCard\n skillTitle={skillsLocales[skill]}\n cardIndex={index}\n focus={selectedSkills.includes(skill)}\n metrics={{\n score,\n content,\n questionsToReview\n }}\n icon={{color, name}}\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 onExploreSkill: PropTypes.func,\n learningPriorities: PropTypes.shape(CardsList.propTypes)\n};\n\nexport default MyLearning;\n"],"mappings":"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","ignoreList":[]}
|
|
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","CardsList","Title","COLORS","style","roundScore","value","Math","round","ChangeSkillFocusButton","props","context","onClick","skin","translate","primarySkinColor","_get","createElement","customStyle","backgroundColor","color","transition","hoverBackgroundColor","hoverColor","white","label","icon","position","faIcon","name","size","contextTypes","childContextTypes","propTypes","process","env","NODE_ENV","func","FilterButton","active","filter","skillTotal","Content","className","skillFilterNumber","skillFilterNumberInActive","cm_grey_100","cm_grey_500","buttonProps","cm_grey_400","width","content","bool","string","number","MyLearning","skills","selectedSkills","skillsInformation","skillsLocales","learnerFeature","isLoading","onSkillFocusConfirm","onExploreSkill","learningPriorities","open","setOpen","selectedSkillsList","setSelectedSkillsList","skillFocusSelectedOnChart","setSkillFocusSelectedOnChart","undefined","searchValue","setSearchValue","searchResults","setSearchResults","_sortBy","skillRef","_getOr","activeFilter","setActiveFilter","skillsReviewReady","skill","availableForReview","graphDatas","_pipe","_map","_fromPairs","graphLegends","filters","all","review","sumKpi","kpi","skillFocusSelectedOnChartScore","_sumBy","stats","coursedCompletedData","questionsToReviewData","learningTimeData","skillChartPaneLegends","focusedSkill","skillChartPanelProps","title","legend","iconName","turquoise_100","pink_100","orange_100","skillsScore","handleOnDotClick","handleOpenSkillPicker","handleCloseSkillPicker","handleConfirmSkillPicker","focusSkillList","handleSearch","handleSearchReset","ReviewTooltipContent","backgroundContainer","_isEmpty","cards","cardsListContainer","_extends","type","subtitle","iconColor","cm_orange_800","borderRadius","tag","_size","container","isOpen","onCancel","onConfirm","onClose","skillFocusContainer","skillFocusHeader","skillFocusHeaderWrapper","skillFocusHeaderIcon","purple_100","faSize","wrapperSize","skillFocusHeaderContent","skillFocusHeaderTitle","skillFocusHeaderDescription","length","skillFocusContent","radarContainer","totalDataset","height","data","onExploreClick","colors","gradient","fill","stroke","percentage","background","sidePanelItems","skillFocusEmpty","img","src","alt","skillFocusEmptyTitle","skillFocusEmptyDescription","skillListHeader","skillListHeaderIcon","yellow_100","skillListHeaderContent","skillListHeaderTitle","skillListHeaderDescription","fontSize","iconContainerClassName","infoIconTooltip","tooltipClassName","tooltip","TooltipContent","closeToolTipInformationTextAriaLabel","toolBarContainer","skillFilterContainer","_keys","map","index","handleFilterClick","key","searchWrapper","search","placeholder","onChange","onReset","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","skillListContainer","skillListEmptyContainer","titleNoSkills","textNoSkills","iconSkillAriaLabel","imagePosition","defaultStats","score","contentCompleted","questionsToReview","handleExploreSkill","skillTitle","cardIndex","focus","includes","metrics","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, size, isEmpty} 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 CardsList from '../../molecule/dashboard/cards-list';\nimport Title from '../../atom/title';\nimport {COLORS} from '../../variables/colors';\nimport style from './style.css';\n\nconst roundScore = value => Math.round(value * 10) / 10;\n\nconst ChangeSkillFocusButton = (props, context) => {\n const {onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n return (\n <div data-name=\"button-explore-wrapper\">\n <ButtonLink\n customStyle={{\n backgroundColor: convert(`color(${primarySkinColor} a(0.07))`),\n color: primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n }}\n hoverBackgroundColor={primarySkinColor}\n hoverColor={COLORS.white}\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: convert(`color(${primarySkinColor} a(0.07))`),\n color: 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\n ? convert(`color(${primarySkinColor} a(0.07))`)\n : COLORS.cm_grey_100,\n color: active ? primarySkinColor : COLORS.cm_grey_500\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))`) : COLORS.white,\n color: active ? primarySkinColor : COLORS.cm_grey_400,\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 onExploreSkill,\n learningPriorities\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\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, roundScore(getOr(0, [skill, 'stats', 'score'], skillsInformation))]),\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: COLORS.turquoise_100}\n },\n {\n title: translate('skill_chart_side_panel_learning_hours'),\n value: formatMinutes(learningTimeData),\n legend: skillChartPaneLegends,\n icon: {iconName: 'clock', backgroundColor: COLORS.pink_100}\n },\n {\n title: translate('skill_chart_side_panel_questions_to_review'),\n value: `${questionsToReviewData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'circle-question', backgroundColor: COLORS.orange_100}\n }\n ];\n\n const skillsScore = useMemo(\n () =>\n pipe(\n map(skill => [skill, getOr(0, [skill, 'stats', 'score'], skillsInformation)]),\n fromPairs\n )(skills),\n [skills, skillsInformation]\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 {isEmpty(learningPriorities?.cards) ? null : (\n <div className={style.cardsListContainer}>\n <CardsList\n {...learningPriorities}\n title={\n <Title\n {...{\n type: 'form-group',\n title: translate('learning_priorities'),\n subtitle: translate('learning_priorities_description'),\n icon: {\n iconName: 'sign-post',\n iconColor: COLORS.cm_orange_800,\n borderRadius: '12px',\n backgroundColor: COLORS.orange_100\n },\n tag: {\n label: `${size(learningPriorities.cards)}`,\n type: 'default',\n size: 'S'\n }\n }}\n />\n }\n />\n </div>\n )}\n <div className={style.container}>\n <SkillPickerModal\n skills={skills}\n skillsScore={skillsScore}\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={COLORS.purple_100}\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>\n <ButtonLink\n label={translate('skills_choose_focus')}\n type=\"primary\"\n customStyle={{\n width: 'fit-contain',\n backgroundColor: primarySkinColor\n }}\n hoverBackgroundColor={convert(\n `hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`\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={COLORS.yellow_100}\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' && 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 handleExploreSkill() {\n onExploreSkill(skill);\n }\n const {score, content, questionsToReview} = skillsInformation[skill]\n ? skillsInformation[skill].stats\n : defaultStats;\n const {color, name} = get([skill, 'icon'], skillsInformation);\n return (\n <div key={index}>\n <LearnerSkillCard\n skillTitle={skillsLocales[skill]}\n cardIndex={index}\n focus={selectedSkills.includes(skill)}\n metrics={{\n score,\n content,\n questionsToReview\n }}\n icon={{color, name}}\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 onExploreSkill: PropTypes.func,\n learningPriorities: PropTypes.shape(CardsList.propTypes)\n};\n\nexport default MyLearning;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
|
|
22
22
|
.continueLearningNumber {
|
|
23
23
|
border-radius: 12px;
|
|
24
|
-
background-color:
|
|
25
|
-
color:
|
|
24
|
+
background-color: cm_grey_100;
|
|
25
|
+
color: cm_grey_500;
|
|
26
26
|
padding: 2px 4px;
|
|
27
27
|
margin-left: 8px;
|
|
28
28
|
font-size: 10px;
|
|
@@ -49,13 +49,7 @@
|
|
|
49
49
|
font-size: 14px;
|
|
50
50
|
font-style: normal;
|
|
51
51
|
font-weight: 600;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
.sortWrapper {
|
|
55
|
-
display: flex;
|
|
56
|
-
align-items: center;
|
|
57
|
-
gap: 12px;
|
|
58
|
-
color: cm_grey_500;
|
|
52
|
+
margin-right: 16px;
|
|
59
53
|
}
|
|
60
54
|
|
|
61
55
|
.filterWrapper {
|
|
@@ -115,7 +109,8 @@
|
|
|
115
109
|
|
|
116
110
|
@media tablet {
|
|
117
111
|
.searchAndSortSection {
|
|
118
|
-
flex-direction:
|
|
112
|
+
flex-direction: row;
|
|
113
|
+
gap: 16px;
|
|
119
114
|
}
|
|
120
115
|
|
|
121
116
|
.sortSection {
|
|
@@ -128,6 +123,10 @@
|
|
|
128
123
|
}
|
|
129
124
|
|
|
130
125
|
@media mobile {
|
|
126
|
+
.searchAndSortSection {
|
|
127
|
+
flex-direction: column;
|
|
128
|
+
}
|
|
129
|
+
|
|
131
130
|
.sortSection {
|
|
132
131
|
flex-direction: column;
|
|
133
132
|
gap: 16px;
|
|
@@ -1,8 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { CardsGridProps } from '../../organism/cards-grid';
|
|
4
|
+
interface ProviderContext {
|
|
5
|
+
skin: {
|
|
6
|
+
common: {
|
|
7
|
+
primary: string;
|
|
8
|
+
secondary: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
translate: (key: string, options?: any) => string;
|
|
12
|
+
}
|
|
13
|
+
declare const AllCourses: {
|
|
14
|
+
(props: {
|
|
15
|
+
dataName?: string | undefined;
|
|
16
|
+
ariaLabel?: string | undefined;
|
|
17
|
+
selected?: boolean | undefined;
|
|
18
|
+
label?: string | undefined;
|
|
19
|
+
content: {
|
|
20
|
+
list: CardsGridProps['list'];
|
|
21
|
+
loading?: boolean;
|
|
22
|
+
};
|
|
23
|
+
totalContents?: number | undefined;
|
|
24
|
+
search: {
|
|
25
|
+
oldValue: string;
|
|
26
|
+
onChange: (value: string) => void;
|
|
27
|
+
};
|
|
28
|
+
bannerMicrolearning?: {
|
|
29
|
+
type: 'skill' | 'playlist';
|
|
30
|
+
action: () => void;
|
|
31
|
+
oldSwitchValue: boolean;
|
|
32
|
+
} | undefined;
|
|
33
|
+
filters: {
|
|
34
|
+
onChange?: ((value: string) => void) | undefined;
|
|
35
|
+
options?: unknown[] | undefined;
|
|
36
|
+
};
|
|
37
|
+
}, context: ProviderContext): JSX.Element;
|
|
38
|
+
contextTypes: {
|
|
39
|
+
skin: PropTypes.Requireable<PropTypes.InferProps<{
|
|
6
40
|
common: PropTypes.Requireable<{
|
|
7
41
|
[x: string]: any;
|
|
8
42
|
}>;
|
|
@@ -23,18 +57,18 @@ declare namespace AllCourses {
|
|
|
23
57
|
[x: string]: any;
|
|
24
58
|
}>;
|
|
25
59
|
}>>;
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
60
|
+
translate: PropTypes.Requireable<(...args: any[]) => any>;
|
|
61
|
+
};
|
|
62
|
+
propTypes: {
|
|
63
|
+
content: PropTypes.Requireable<PropTypes.InferProps<{
|
|
30
64
|
list: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
|
|
31
65
|
customStyle: PropTypes.Requireable<{
|
|
32
66
|
[x: string]: string | null | undefined;
|
|
33
67
|
}>;
|
|
34
68
|
loading: PropTypes.Requireable<boolean>;
|
|
35
69
|
}>>;
|
|
36
|
-
|
|
37
|
-
|
|
70
|
+
totalContents: PropTypes.Requireable<number>;
|
|
71
|
+
filters: PropTypes.Requireable<PropTypes.InferProps<{
|
|
38
72
|
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
39
73
|
options: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
40
74
|
name: PropTypes.Validator<string>;
|
|
@@ -43,47 +77,16 @@ declare namespace AllCourses {
|
|
|
43
77
|
validOption: PropTypes.Requireable<boolean>;
|
|
44
78
|
}> | null | undefined)[]>;
|
|
45
79
|
}>>;
|
|
46
|
-
|
|
47
|
-
title: PropTypes.Requireable<string>;
|
|
48
|
-
name: PropTypes.Requireable<string>;
|
|
49
|
-
className: PropTypes.Requireable<string>;
|
|
50
|
-
borderClassName: PropTypes.Requireable<string>;
|
|
51
|
-
disabled: PropTypes.Requireable<boolean>;
|
|
52
|
-
multiple: PropTypes.Requireable<boolean>;
|
|
53
|
-
description: PropTypes.Requireable<string>;
|
|
54
|
-
required: PropTypes.Requireable<boolean>;
|
|
55
|
-
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
56
|
-
theme: PropTypes.Requireable<string>;
|
|
57
|
-
options: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
58
|
-
name: PropTypes.Validator<string>;
|
|
59
|
-
value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
60
|
-
selected: PropTypes.Requireable<boolean>;
|
|
61
|
-
validOption: PropTypes.Requireable<boolean>;
|
|
62
|
-
}> | null | undefined)[]>;
|
|
63
|
-
optgroups: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
64
|
-
label: PropTypes.Validator<string>;
|
|
65
|
-
options: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
66
|
-
name: PropTypes.Validator<string>;
|
|
67
|
-
value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
|
|
68
|
-
selected: PropTypes.Requireable<boolean>;
|
|
69
|
-
validOption: PropTypes.Requireable<boolean>;
|
|
70
|
-
}> | null | undefined)[]>;
|
|
71
|
-
}> | null | undefined)[]>;
|
|
72
|
-
modified: PropTypes.Requireable<boolean>;
|
|
73
|
-
error: PropTypes.Requireable<boolean>;
|
|
74
|
-
'aria-label': PropTypes.Requireable<string>;
|
|
75
|
-
'aria-labelledby': PropTypes.Requireable<string>;
|
|
76
|
-
}>>;
|
|
77
|
-
const bannerMicrolearning: PropTypes.Requireable<PropTypes.InferProps<{
|
|
80
|
+
bannerMicrolearning: PropTypes.Requireable<PropTypes.InferProps<{
|
|
78
81
|
type: PropTypes.Requireable<string>;
|
|
79
82
|
action: PropTypes.Requireable<(...args: any[]) => any>;
|
|
80
83
|
oldSwitchValue: PropTypes.Requireable<boolean>;
|
|
81
84
|
}>>;
|
|
82
|
-
|
|
85
|
+
search: PropTypes.Requireable<PropTypes.InferProps<{
|
|
83
86
|
oldValue: PropTypes.Requireable<string>;
|
|
84
87
|
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
85
88
|
}>>;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
export default AllCourses;
|
|
89
92
|
//# sourceMappingURL=all-courses.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-courses.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/all-courses.
|
|
1
|
+
{"version":3,"file":"all-courses.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/all-courses.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAMnC,OAAkB,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAQpE,UAAU,eAAe;IACvB,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;CACnD;AAgDD,QAAA,MAAM,UAAU;;;;;;iBAMH;YACP,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;SACnB;;;sBAGW,MAAM;8BACE,MAAM,KAAK,IAAI;;;kBAG3B,OAAO,GAAG,UAAU;oBAClB,MAAM,IAAI;4BACF,OAAO;;;gCAGJ,MAAM,KAAK,IAAI;;;gBAI7B,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkJzB,CAAC;AAyBF,eAAe,UAAU,CAAC"}
|
|
@@ -5,17 +5,19 @@ import _size from "lodash/fp/size";
|
|
|
5
5
|
import _map from "lodash/fp/map";
|
|
6
6
|
import _filter from "lodash/fp/filter";
|
|
7
7
|
import _get from "lodash/fp/get";
|
|
8
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
9
8
|
import React, { useState, useCallback, useMemo } from 'react';
|
|
10
9
|
import PropTypes from 'prop-types';
|
|
11
10
|
import Provider from '../../atom/provider';
|
|
12
|
-
import
|
|
11
|
+
import { SelectOptionPropTypes } from '../../atom/select';
|
|
13
12
|
import ButtonLink from '../../atom/button-link';
|
|
14
13
|
import SearchForm from '../../molecule/search-form';
|
|
15
14
|
import CardsGrid from '../../organism/cards-grid';
|
|
16
15
|
import InputSwitch from '../../atom/input-switch';
|
|
17
16
|
import Banner from '../../molecule/banner';
|
|
17
|
+
import { COLORS } from '../../variables/colors';
|
|
18
18
|
import style from './all-courses.css';
|
|
19
|
+
|
|
20
|
+
// @ts-expect-error convert untypped
|
|
19
21
|
const uncappedMap = _map.convert({
|
|
20
22
|
cap: false
|
|
21
23
|
});
|
|
@@ -33,8 +35,8 @@ const FilterButton = (props, context) => {
|
|
|
33
35
|
const primarySkinColor = _get('common.primary', skin);
|
|
34
36
|
const buttonProps = {
|
|
35
37
|
customStyle: {
|
|
36
|
-
backgroundColor: selected ? primarySkinColor :
|
|
37
|
-
color: selected ?
|
|
38
|
+
backgroundColor: selected ? primarySkinColor : COLORS.cm_grey_150,
|
|
39
|
+
color: selected ? COLORS.white : COLORS.cm_grey_500,
|
|
38
40
|
transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',
|
|
39
41
|
width: 'fit-content'
|
|
40
42
|
},
|
|
@@ -63,9 +65,8 @@ const AllCourses = (props, context) => {
|
|
|
63
65
|
const {
|
|
64
66
|
content,
|
|
65
67
|
filters,
|
|
66
|
-
sorting,
|
|
67
68
|
totalContents,
|
|
68
|
-
bannerMicrolearning =
|
|
69
|
+
bannerMicrolearning = undefined,
|
|
69
70
|
search: {
|
|
70
71
|
oldValue: oldSearchValue,
|
|
71
72
|
onChange: handleSearch
|
|
@@ -79,18 +80,11 @@ const AllCourses = (props, context) => {
|
|
|
79
80
|
list,
|
|
80
81
|
loading
|
|
81
82
|
} = content;
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
oldSwitchValue
|
|
86
|
-
} = bannerMicrolearning;
|
|
83
|
+
const bannerMessageType = bannerMicrolearning?.type;
|
|
84
|
+
const bannerAction = bannerMicrolearning?.action;
|
|
85
|
+
const oldSwitchValue = bannerMicrolearning?.oldSwitchValue;
|
|
87
86
|
const [showCompleted, setShowCompleted] = useState(true);
|
|
88
87
|
const [searchValue, setSearchValue] = useState(oldSearchValue || '');
|
|
89
|
-
const sortView = sorting !== undefined ? /*#__PURE__*/React.createElement("div", {
|
|
90
|
-
"data-name": "choice"
|
|
91
|
-
}, /*#__PURE__*/React.createElement(Select, _extends({}, sorting, {
|
|
92
|
-
"aria-label": "All courses sort"
|
|
93
|
-
}))) : null;
|
|
94
88
|
const filteredContent = useMemo(() => {
|
|
95
89
|
return showCompleted ? list : _filter(course => course.progress < 1, list);
|
|
96
90
|
}, [list, showCompleted]);
|
|
@@ -103,7 +97,7 @@ const AllCourses = (props, context) => {
|
|
|
103
97
|
setSearchValue(value);
|
|
104
98
|
debounceHandleSearch(value);
|
|
105
99
|
}, [debounceHandleSearch]);
|
|
106
|
-
const handleSearchReset = useCallback(
|
|
100
|
+
const handleSearchReset = useCallback(() => {
|
|
107
101
|
setSearchValue('');
|
|
108
102
|
debounceHandleSearch('');
|
|
109
103
|
}, [debounceHandleSearch]);
|
|
@@ -132,15 +126,13 @@ const AllCourses = (props, context) => {
|
|
|
132
126
|
className: style.sortSection
|
|
133
127
|
}, /*#__PURE__*/React.createElement(InputSwitch, {
|
|
134
128
|
id: 'show-completed-courses-switch',
|
|
135
|
-
type: "switch",
|
|
136
129
|
name: translate('show_completed'),
|
|
137
130
|
title: translate('show_completed'),
|
|
131
|
+
theme: "default",
|
|
138
132
|
"aria-label": 'Show completed courses aria label',
|
|
139
133
|
value: showCompleted,
|
|
140
134
|
onChange: handleShowCompletedToggle
|
|
141
|
-
}),
|
|
142
|
-
className: style.sortWrapper
|
|
143
|
-
}, translate('sort_by'), sortView) : null)), !_isEmpty(bannerMicrolearning) ? /*#__PURE__*/React.createElement("div", {
|
|
135
|
+
}))), !_isEmpty(bannerMicrolearning) ? /*#__PURE__*/React.createElement("div", {
|
|
144
136
|
className: style.bannerWrapper
|
|
145
137
|
}, /*#__PURE__*/React.createElement(Banner, {
|
|
146
138
|
type: "info",
|
|
@@ -160,7 +152,7 @@ const AllCourses = (props, context) => {
|
|
|
160
152
|
selected
|
|
161
153
|
} = filterProps;
|
|
162
154
|
function handleFilterChange() {
|
|
163
|
-
onChange(value);
|
|
155
|
+
onChange && onChange(value);
|
|
164
156
|
}
|
|
165
157
|
return /*#__PURE__*/React.createElement("div", {
|
|
166
158
|
key: index,
|
|
@@ -204,7 +196,6 @@ AllCourses.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
204
196
|
onChange: PropTypes.func,
|
|
205
197
|
options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))
|
|
206
198
|
}),
|
|
207
|
-
sorting: PropTypes.shape(Select.propTypes),
|
|
208
199
|
bannerMicrolearning: PropTypes.shape({
|
|
209
200
|
type: PropTypes.oneOf(['skill', 'playlist']),
|
|
210
201
|
action: PropTypes.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-courses.js","names":["React","useState","useCallback","useMemo","PropTypes","Provider","Select","SelectOptionPropTypes","ButtonLink","SearchForm","CardsGrid","InputSwitch","Banner","style","uncappedMap","_map","convert","cap","FilterButton","props","context","dataName","ariaLabel","selected","label","onClick","skin","primarySkinColor","_get","buttonProps","customStyle","backgroundColor","color","transition","width","createElement","contextTypes","childContextTypes","translate","propTypes","process","env","NODE_ENV","string","bool","func","AllCourses","content","filters","sorting","totalContents","bannerMicrolearning","search","oldValue","oldSearchValue","onChange","handleSearch","options","list","loading","type","bannerMessageType","action","bannerAction","oldSwitchValue","showCompleted","setShowCompleted","searchValue","setSearchValue","sortView","undefined","_extends","filteredContent","_filter","course","progress","debounceHandleSearch","_debounce","value","onSearchChange","handleSearchReset","handleShowCompletedToggle","prevShowCompleted","Fragment","className","continueLearningWrapper","continueLearningTitle","continueLearningNumber","_isNil","_size","searchAndSortSection","searchWrapper","placeholder","onReset","dataTestId","sortSection","id","name","title","sortWrapper","_isEmpty","bannerWrapper","message","cta","filterWrapper","filterProps","index","handleFilterChange","key","filterButtonWrapper","divider","justifyContent","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","shape","number","arrayOf","oneOf"],"sources":["../../../src/template/skill-detail/all-courses.js"],"sourcesContent":["import React, {useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, filter, map, size, isNil, isEmpty, debounce} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid from '../../organism/cards-grid';\nimport InputSwitch from '../../atom/input-switch';\nimport Banner from '../../molecule/banner';\nimport style from './all-courses.css';\n\nconst uncappedMap = map.convert({cap: false});\n\nconst FilterButton = (props, context) => {\n const {dataName, ariaLabel, selected, label, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : '#E1E1E3',\n color: selected ? '#FFFFFF' : '#515161',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label,\n onClick,\n 'data-name': dataName,\n 'aria-label': ariaLabel\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 dataName: PropTypes.string,\n ariaLabel: PropTypes.string,\n selected: PropTypes.bool,\n label: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (props, context) => {\n const {translate} = context;\n const {\n content,\n filters,\n sorting,\n totalContents,\n bannerMicrolearning = {},\n search: {oldValue: oldSearchValue, onChange: handleSearch}\n } = props;\n const {options, onChange} = filters;\n const {list, loading} = content;\n const {type: bannerMessageType, action: bannerAction, oldSwitchValue} = bannerMicrolearning;\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState(oldSearchValue || '');\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\">\n <Select {...sorting} aria-label=\"All courses sort\" />\n </div>\n ) : null;\n\n const filteredContent = useMemo(() => {\n return showCompleted ? list : filter(course => course.progress < 1, list);\n }, [list, showCompleted]);\n\n const debounceHandleSearch = useMemo(() => {\n return debounce(800, value => {\n handleSearch(value);\n });\n }, [handleSearch]);\n\n const onSearchChange = useCallback(\n value => {\n setSearchValue(value);\n debounceHandleSearch(value);\n },\n [debounceHandleSearch]\n );\n\n const handleSearchReset = useCallback(\n value => {\n setSearchValue('');\n debounceHandleSearch('');\n },\n [debounceHandleSearch]\n );\n\n const handleShowCompletedToggle = useCallback(() => {\n setShowCompleted(prevShowCompleted => !prevShowCompleted);\n }, []);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_content')}</span>\n <span className={style.continueLearningNumber}>\n {isNil(totalContents) ? size(filteredContent) : totalContents}\n </span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: onSearchChange\n }}\n onReset={handleSearchReset}\n dataTestId=\"all-courses-search-input\"\n />\n </div>\n <div className={style.sortSection}>\n <InputSwitch\n id={'show-completed-courses-switch'}\n type=\"switch\"\n name={translate('show_completed')}\n title={translate('show_completed')}\n aria-label={'Show completed courses aria label'}\n value={showCompleted}\n onChange={handleShowCompletedToggle}\n />\n {sortView ? (\n <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n ) : null}\n </div>\n </div>\n {!isEmpty(bannerMicrolearning) ? (\n <div className={style.bannerWrapper}>\n <Banner\n type=\"info\"\n message={\n bannerMessageType === 'skill'\n ? translate('banner_microlearning_rule_message_skill')\n : translate('banner_microlearning_rule_message')\n }\n cta={[\n {\n type: 'switch',\n label: translate('banner_microlearning_rule_label'),\n action: bannerAction,\n oldSwitchValue\n }\n ]}\n />\n </div>\n ) : null}\n <div className={style.filterWrapper}>\n {size(options) > 2\n ? uncappedMap((filterProps, index) => {\n const {name, value, selected} = filterProps;\n\n function handleFilterChange() {\n onChange(value);\n }\n\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton\n dataName={`filter-button-${value}`}\n ariaLabel={`Filter by ${name}`}\n selected={selected}\n label={name}\n onClick={handleFilterChange}\n />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n }, options)\n : null}\n </div>\n <div>\n {size(filteredContent) ? (\n <CardsGrid\n list={filteredContent}\n loading={loading}\n customStyle={{justifyContent: 'left'}}\n />\n ) : (\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>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n content: PropTypes.shape(CardsGrid.propTypes),\n totalContents: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes),\n bannerMicrolearning: PropTypes.shape({\n type: PropTypes.oneOf(['skill', 'playlist']),\n action: PropTypes.func,\n oldSwitchValue: PropTypes.bool\n }),\n search: PropTypes.shape({\n oldValue: PropTypes.string,\n onChange: PropTypes.func\n })\n};\n\nexport default AllCourses;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"all-courses.js","names":["React","useState","useCallback","useMemo","PropTypes","Provider","SelectOptionPropTypes","ButtonLink","SearchForm","CardsGrid","InputSwitch","Banner","COLORS","style","uncappedMap","_map","convert","cap","FilterButton","props","context","dataName","ariaLabel","selected","label","onClick","skin","primarySkinColor","_get","buttonProps","customStyle","backgroundColor","cm_grey_150","color","white","cm_grey_500","transition","width","createElement","contextTypes","childContextTypes","translate","propTypes","process","env","NODE_ENV","string","bool","func","AllCourses","content","filters","totalContents","bannerMicrolearning","undefined","search","oldValue","oldSearchValue","onChange","handleSearch","options","list","loading","bannerMessageType","type","bannerAction","action","oldSwitchValue","showCompleted","setShowCompleted","searchValue","setSearchValue","filteredContent","_filter","course","progress","debounceHandleSearch","_debounce","value","onSearchChange","handleSearchReset","handleShowCompletedToggle","prevShowCompleted","Fragment","className","continueLearningWrapper","continueLearningTitle","continueLearningNumber","_isNil","_size","searchAndSortSection","searchWrapper","placeholder","onReset","dataTestId","sortSection","id","name","title","theme","_isEmpty","bannerWrapper","message","cta","filterWrapper","filterProps","index","handleFilterChange","key","filterButtonWrapper","divider","justifyContent","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","shape","number","arrayOf","oneOf"],"sources":["../../../src/template/skill-detail/all-courses.tsx"],"sourcesContent":["import React, {useState, useCallback, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, filter, map, size, isNil, isEmpty, debounce} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid, {CardsGridProps} from '../../organism/cards-grid';\nimport InputSwitch from '../../atom/input-switch';\nimport Banner from '../../molecule/banner';\nimport {COLORS} from '../../variables/colors';\nimport style from './all-courses.css';\n\n// @ts-expect-error convert untypped\nconst uncappedMap = map.convert({cap: false});\ninterface ProviderContext {\n skin: {\n common: {\n primary: string;\n secondary: string;\n };\n };\n translate: (key: string, options?: any) => string;\n}\n\ninterface FilterOption {\n name: string;\n value: string;\n selected: boolean;\n}\n\ninterface FilterButtonProps {\n dataName?: string;\n ariaLabel?: string;\n selected?: boolean;\n label?: string;\n onClick?: () => void;\n}\nconst FilterButton = (props: FilterButtonProps, context: ProviderContext) => {\n const {dataName, ariaLabel, selected, label, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : COLORS.cm_grey_150,\n color: selected ? COLORS.white : COLORS.cm_grey_500,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label,\n onClick,\n 'data-name': dataName,\n 'aria-label': ariaLabel\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\nFilterButton.propTypes = {\n dataName: PropTypes.string,\n ariaLabel: PropTypes.string,\n selected: PropTypes.bool,\n label: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (\n props: {\n dataName?: string;\n ariaLabel?: string;\n selected?: boolean;\n label?: string;\n content: {\n list: CardsGridProps['list'];\n loading?: boolean;\n };\n totalContents?: number;\n search: {\n oldValue: string;\n onChange: (value: string) => void;\n };\n bannerMicrolearning?: {\n type: 'skill' | 'playlist';\n action: () => void;\n oldSwitchValue: boolean;\n };\n filters: {\n onChange?: (value: string) => void;\n options?: unknown[];\n };\n },\n context: ProviderContext\n) => {\n const {translate} = context;\n const {\n content,\n filters,\n totalContents,\n bannerMicrolearning = undefined,\n search: {oldValue: oldSearchValue, onChange: handleSearch}\n } = props;\n const {options, onChange} = filters;\n const {list, loading} = content;\n const bannerMessageType = bannerMicrolearning?.type;\n const bannerAction = bannerMicrolearning?.action;\n const oldSwitchValue = bannerMicrolearning?.oldSwitchValue;\n\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState(oldSearchValue || '');\n\n const filteredContent = useMemo(() => {\n return showCompleted ? list : filter(course => course.progress < 1, list);\n }, [list, showCompleted]);\n\n const debounceHandleSearch = useMemo(() => {\n return debounce(800, value => {\n handleSearch(value);\n });\n }, [handleSearch]);\n\n const onSearchChange = useCallback(\n value => {\n setSearchValue(value);\n debounceHandleSearch(value);\n },\n [debounceHandleSearch]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n debounceHandleSearch('');\n }, [debounceHandleSearch]);\n\n const handleShowCompletedToggle = useCallback(() => {\n setShowCompleted(prevShowCompleted => !prevShowCompleted);\n }, []);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_content')}</span>\n <span className={style.continueLearningNumber}>\n {isNil(totalContents) ? size(filteredContent) : totalContents}\n </span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: onSearchChange\n }}\n onReset={handleSearchReset}\n dataTestId=\"all-courses-search-input\"\n />\n </div>\n <div className={style.sortSection}>\n <InputSwitch\n id={'show-completed-courses-switch'}\n name={translate('show_completed')}\n title={translate('show_completed')}\n theme=\"default\"\n aria-label={'Show completed courses aria label'}\n value={showCompleted}\n onChange={handleShowCompletedToggle}\n />\n </div>\n </div>\n {!isEmpty(bannerMicrolearning) ? (\n <div className={style.bannerWrapper}>\n <Banner\n type=\"info\"\n message={\n bannerMessageType === 'skill'\n ? translate('banner_microlearning_rule_message_skill')\n : translate('banner_microlearning_rule_message')\n }\n cta={[\n {\n type: 'switch',\n label: translate('banner_microlearning_rule_label'),\n action: bannerAction,\n oldSwitchValue\n }\n ]}\n />\n </div>\n ) : null}\n\n <div className={style.filterWrapper}>\n {size(options) > 2\n ? uncappedMap((filterProps: FilterOption, index: number) => {\n const {name, value, selected} = filterProps;\n\n function handleFilterChange() {\n onChange && onChange(value);\n }\n\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton\n dataName={`filter-button-${value}`}\n ariaLabel={`Filter by ${name}`}\n selected={selected}\n label={name}\n onClick={handleFilterChange}\n />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n }, options)\n : null}\n </div>\n <div>\n {size(filteredContent) ? (\n <CardsGrid\n list={filteredContent}\n loading={loading}\n customStyle={{justifyContent: 'left'}}\n />\n ) : (\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>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n content: PropTypes.shape(CardsGrid.propTypes),\n totalContents: PropTypes.number,\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n bannerMicrolearning: PropTypes.shape({\n type: PropTypes.oneOf(['skill', 'playlist']),\n action: PropTypes.func,\n oldSwitchValue: PropTypes.bool\n }),\n search: PropTypes.shape({\n oldValue: PropTypes.string,\n onChange: PropTypes.func\n })\n};\n\nexport default AllCourses;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
@value colors: "../../variables/colors.css";
|
|
2
|
+
@value cm_grey_100 from colors;
|
|
3
|
+
@value cm_grey_500 from colors;
|
|
4
|
+
|
|
5
|
+
|
|
1
6
|
.continueLearningTitle {
|
|
2
7
|
font-size: 16px;
|
|
3
8
|
font-weight: 600;
|
|
@@ -6,8 +11,8 @@
|
|
|
6
11
|
|
|
7
12
|
.continueLearningNumber {
|
|
8
13
|
border-radius: 50%;
|
|
9
|
-
background-color:
|
|
10
|
-
color:
|
|
14
|
+
background-color: cm_grey_100;
|
|
15
|
+
color: cm_grey_500;
|
|
11
16
|
padding: 2px 4px;
|
|
12
17
|
margin-left: 8px;
|
|
13
18
|
font-size: 10px;
|