@magmamath/students-features 1.3.4-rc.3 → 1.3.5-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js +2 -1
- package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js +2 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +1 -1
- package/dist/commonjs/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -1
- package/dist/commonjs/features/pmProgress/PmProgress.js +41 -0
- package/dist/commonjs/features/pmProgress/PmProgress.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/chart/chart.helpers.js +24 -0
- package/dist/commonjs/features/pmProgress/components/chart/chart.helpers.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/chart/chart.types.js +2 -0
- package/dist/commonjs/features/pmProgress/components/chart/chart.types.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.js +44 -0
- package/dist/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.js +26 -0
- package/dist/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/chart/components/SlicesPaths.js +91 -0
- package/dist/commonjs/features/pmProgress/components/chart/components/SlicesPaths.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.js +38 -0
- package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js +21 -0
- package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.js +55 -0
- package/dist/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.js +49 -0
- package/dist/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/chart/model/PieChartManager.js +23 -0
- package/dist/commonjs/features/pmProgress/components/chart/model/PieChartManager.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.js +79 -0
- package/dist/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/content/PmContent.js +48 -0
- package/dist/commonjs/features/pmProgress/components/content/PmContent.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/header/NextUp.js +127 -0
- package/dist/commonjs/features/pmProgress/components/header/NextUp.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js +133 -0
- package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/header/StartButton.js +126 -0
- package/dist/commonjs/features/pmProgress/components/header/StartButton.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js +71 -0
- package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js +102 -0
- package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/insights/StatsCard.js +72 -0
- package/dist/commonjs/features/pmProgress/components/insights/StatsCard.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/list/Fluency.js +82 -0
- package/dist/commonjs/features/pmProgress/components/list/Fluency.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/list/ListCard.js +207 -0
- package/dist/commonjs/features/pmProgress/components/list/ListCard.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/list/ListItem.js +141 -0
- package/dist/commonjs/features/pmProgress/components/list/ListItem.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js +97 -0
- package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/locked/PmStatusOverlay.js +101 -0
- package/dist/commonjs/features/pmProgress/components/locked/PmStatusOverlay.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/recs/PmTeacherRecs.js +135 -0
- package/dist/commonjs/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/standard/StandardTag.js +203 -0
- package/dist/commonjs/features/pmProgress/components/standard/StandardTag.js.map +1 -0
- package/dist/commonjs/features/pmProgress/context/PmProgressContext.js +18 -0
- package/dist/commonjs/features/pmProgress/context/PmProgressContext.js.map +1 -0
- package/dist/commonjs/features/pmProgress/index.js +64 -0
- package/dist/commonjs/features/pmProgress/index.js.map +1 -0
- package/dist/commonjs/features/pmProgress/model/PmHighlightModel.js +15 -0
- package/dist/commonjs/features/pmProgress/model/PmHighlightModel.js.map +1 -0
- package/dist/commonjs/features/pmProgress/model/PmInsightsModel.js +22 -0
- package/dist/commonjs/features/pmProgress/model/PmInsightsModel.js.map +1 -0
- package/dist/commonjs/features/pmProgress/model/PmProgressApi.js +18 -0
- package/dist/commonjs/features/pmProgress/model/PmProgressApi.js.map +1 -0
- package/dist/commonjs/features/pmProgress/model/PmProgressModel.js +43 -0
- package/dist/commonjs/features/pmProgress/model/PmProgressModel.js.map +1 -0
- package/dist/commonjs/features/pmProgress/model/PmRecommendationsModel.js +47 -0
- package/dist/commonjs/features/pmProgress/model/PmRecommendationsModel.js.map +1 -0
- package/dist/commonjs/features/pmProgress/model/PmSolvingFlowModel.js +104 -0
- package/dist/commonjs/features/pmProgress/model/PmSolvingFlowModel.js.map +1 -0
- package/dist/commonjs/features/pmProgress/model/PmTreeModel.js +176 -0
- package/dist/commonjs/features/pmProgress/model/PmTreeModel.js.map +1 -0
- package/dist/commonjs/features/pmProgress/shared/TreeNormalizer.js +52 -0
- package/dist/commonjs/features/pmProgress/shared/TreeNormalizer.js.map +1 -0
- package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js +65 -0
- package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js.map +1 -0
- package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js +234 -0
- package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js.map +1 -0
- package/dist/commonjs/features/pmProgress/shared/pmProgress.types.js +12 -0
- package/dist/commonjs/features/pmProgress/shared/pmProgress.types.js.map +1 -0
- package/dist/commonjs/features/voice/constants.js +3 -15
- package/dist/commonjs/features/voice/constants.js.map +1 -1
- package/dist/commonjs/features/voice/recording/components/VoiceRecord.js +5 -19
- package/dist/commonjs/features/voice/recording/components/VoiceRecord.js.map +1 -1
- package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js +26 -81
- package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
- package/dist/commonjs/features/voice/recording/components/VoiceRecordDeleteButton.js +2 -2
- package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.js +3 -3
- package/dist/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.js.map +1 -1
- package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js +0 -5
- package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js.map +1 -1
- package/dist/commonjs/features/voice/types.js +0 -6
- package/dist/commonjs/features/voice/types.js.map +1 -1
- package/dist/commonjs/index.js +15 -3
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/shared/icons/MenuIcon.js +30 -0
- package/dist/commonjs/shared/icons/MenuIcon.js.map +1 -0
- package/dist/commonjs/shared/icons/PentagonIcon.js +29 -0
- package/dist/commonjs/shared/icons/PentagonIcon.js.map +1 -0
- package/dist/commonjs/shared/icons/SketchArrowRight.js +33 -0
- package/dist/commonjs/shared/icons/SketchArrowRight.js.map +1 -0
- package/dist/commonjs/shared/icons/SliceDiamondIcon.js +29 -0
- package/dist/commonjs/shared/icons/SliceDiamondIcon.js.map +1 -0
- package/dist/commonjs/shared/icons/StarIcon.js +32 -0
- package/dist/commonjs/shared/icons/StarIcon.js.map +1 -0
- package/dist/commonjs/shared/icons/TimerIcon.js +35 -0
- package/dist/commonjs/shared/icons/TimerIcon.js.map +1 -0
- package/dist/commonjs/shared/translation/localization/ca.json +24 -0
- package/dist/commonjs/shared/translation/localization/de.json +24 -0
- package/dist/commonjs/shared/translation/localization/en.json +24 -0
- package/dist/commonjs/shared/translation/localization/gb.json +24 -0
- package/dist/commonjs/shared/translation/localization/sct.json +24 -0
- package/dist/commonjs/shared/translation/localization/sw.json +24 -0
- package/dist/module/features/chatbot/components/ChatInput/ChatInput.js +2 -1
- package/dist/module/features/chatbot/components/ChatInput/ChatInput.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js +2 -1
- package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js +2 -2
- package/dist/module/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.js.map +1 -1
- package/dist/module/features/pmProgress/PmProgress.js +35 -0
- package/dist/module/features/pmProgress/PmProgress.js.map +1 -0
- package/dist/module/features/pmProgress/components/chart/chart.helpers.js +17 -0
- package/dist/module/features/pmProgress/components/chart/chart.helpers.js.map +1 -0
- package/dist/module/features/pmProgress/components/chart/chart.types.js +2 -0
- package/dist/module/features/pmProgress/components/chart/chart.types.js.map +1 -0
- package/dist/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.js +38 -0
- package/dist/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.js.map +1 -0
- package/dist/module/features/pmProgress/components/chart/components/SlicesClipPaths.js +20 -0
- package/dist/module/features/pmProgress/components/chart/components/SlicesClipPaths.js.map +1 -0
- package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js +85 -0
- package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js.map +1 -0
- package/dist/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.js +32 -0
- package/dist/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.js.map +1 -0
- package/dist/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js +15 -0
- package/dist/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.js.map +1 -0
- package/dist/module/features/pmProgress/components/chart/components/layers/SliceFillColor.js +49 -0
- package/dist/module/features/pmProgress/components/chart/components/layers/SliceFillColor.js.map +1 -0
- package/dist/module/features/pmProgress/components/chart/model/ArcPatternGenerator.js +44 -0
- package/dist/module/features/pmProgress/components/chart/model/ArcPatternGenerator.js.map +1 -0
- package/dist/module/features/pmProgress/components/chart/model/PieChartManager.js +18 -0
- package/dist/module/features/pmProgress/components/chart/model/PieChartManager.js.map +1 -0
- package/dist/module/features/pmProgress/components/chart/model/SliceShapeGenerator.js +74 -0
- package/dist/module/features/pmProgress/components/chart/model/SliceShapeGenerator.js.map +1 -0
- package/dist/module/features/pmProgress/components/content/PmContent.js +42 -0
- package/dist/module/features/pmProgress/components/content/PmContent.js.map +1 -0
- package/dist/module/features/pmProgress/components/header/NextUp.js +121 -0
- package/dist/module/features/pmProgress/components/header/NextUp.js.map +1 -0
- package/dist/module/features/pmProgress/components/header/PmProgressHeader.js +126 -0
- package/dist/module/features/pmProgress/components/header/PmProgressHeader.js.map +1 -0
- package/dist/module/features/pmProgress/components/header/StartButton.js +119 -0
- package/dist/module/features/pmProgress/components/header/StartButton.js.map +1 -0
- package/dist/module/features/pmProgress/components/insights/PmInsights.js +64 -0
- package/dist/module/features/pmProgress/components/insights/PmInsights.js.map +1 -0
- package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js +97 -0
- package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -0
- package/dist/module/features/pmProgress/components/insights/StatsCard.js +66 -0
- package/dist/module/features/pmProgress/components/insights/StatsCard.js.map +1 -0
- package/dist/module/features/pmProgress/components/list/Fluency.js +76 -0
- package/dist/module/features/pmProgress/components/list/Fluency.js.map +1 -0
- package/dist/module/features/pmProgress/components/list/ListCard.js +200 -0
- package/dist/module/features/pmProgress/components/list/ListCard.js.map +1 -0
- package/dist/module/features/pmProgress/components/list/ListItem.js +134 -0
- package/dist/module/features/pmProgress/components/list/ListItem.js.map +1 -0
- package/dist/module/features/pmProgress/components/list/PmDomainList.js +91 -0
- package/dist/module/features/pmProgress/components/list/PmDomainList.js.map +1 -0
- package/dist/module/features/pmProgress/components/locked/PmStatusOverlay.js +95 -0
- package/dist/module/features/pmProgress/components/locked/PmStatusOverlay.js.map +1 -0
- package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js +129 -0
- package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -0
- package/dist/module/features/pmProgress/components/standard/StandardTag.js +197 -0
- package/dist/module/features/pmProgress/components/standard/StandardTag.js.map +1 -0
- package/dist/module/features/pmProgress/context/PmProgressContext.js +13 -0
- package/dist/module/features/pmProgress/context/PmProgressContext.js.map +1 -0
- package/dist/module/features/pmProgress/index.js +9 -0
- package/dist/module/features/pmProgress/index.js.map +1 -0
- package/dist/module/features/pmProgress/model/PmHighlightModel.js +10 -0
- package/dist/module/features/pmProgress/model/PmHighlightModel.js.map +1 -0
- package/dist/module/features/pmProgress/model/PmInsightsModel.js +17 -0
- package/dist/module/features/pmProgress/model/PmInsightsModel.js.map +1 -0
- package/dist/module/features/pmProgress/model/PmProgressApi.js +13 -0
- package/dist/module/features/pmProgress/model/PmProgressApi.js.map +1 -0
- package/dist/module/features/pmProgress/model/PmProgressModel.js +38 -0
- package/dist/module/features/pmProgress/model/PmProgressModel.js.map +1 -0
- package/dist/module/features/pmProgress/model/PmRecommendationsModel.js +42 -0
- package/dist/module/features/pmProgress/model/PmRecommendationsModel.js.map +1 -0
- package/dist/module/features/pmProgress/model/PmSolvingFlowModel.js +99 -0
- package/dist/module/features/pmProgress/model/PmSolvingFlowModel.js.map +1 -0
- package/dist/module/features/pmProgress/model/PmTreeModel.js +171 -0
- package/dist/module/features/pmProgress/model/PmTreeModel.js.map +1 -0
- package/dist/module/features/pmProgress/shared/TreeNormalizer.js +47 -0
- package/dist/module/features/pmProgress/shared/TreeNormalizer.js.map +1 -0
- package/dist/module/features/pmProgress/shared/pmProgress.constants.js +62 -0
- package/dist/module/features/pmProgress/shared/pmProgress.constants.js.map +1 -0
- package/dist/module/features/pmProgress/shared/pmProgress.helpers.js +214 -0
- package/dist/module/features/pmProgress/shared/pmProgress.helpers.js.map +1 -0
- package/dist/module/features/pmProgress/shared/pmProgress.types.js +8 -0
- package/dist/module/features/pmProgress/shared/pmProgress.types.js.map +1 -0
- package/dist/module/features/voice/constants.js +2 -14
- package/dist/module/features/voice/constants.js.map +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecord.js +6 -20
- package/dist/module/features/voice/recording/components/VoiceRecord.js.map +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecordButton.js +28 -83
- package/dist/module/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecordDeleteButton.js +2 -2
- package/dist/module/features/voice/recording/hooks/useVoiceRecorderAnimation.js +3 -3
- package/dist/module/features/voice/recording/hooks/useVoiceRecorderAnimation.js.map +1 -1
- package/dist/module/features/voice/recording/model/VoiceRecord.model.js +0 -5
- package/dist/module/features/voice/recording/model/VoiceRecord.model.js.map +1 -1
- package/dist/module/features/voice/types.js +1 -5
- package/dist/module/features/voice/types.js.map +1 -1
- package/dist/module/index.js +1 -0
- package/dist/module/index.js.map +1 -1
- package/dist/module/shared/icons/MenuIcon.js +22 -0
- package/dist/module/shared/icons/MenuIcon.js.map +1 -0
- package/dist/module/shared/icons/PentagonIcon.js +21 -0
- package/dist/module/shared/icons/PentagonIcon.js.map +1 -0
- package/dist/module/shared/icons/SketchArrowRight.js +25 -0
- package/dist/module/shared/icons/SketchArrowRight.js.map +1 -0
- package/dist/module/shared/icons/SliceDiamondIcon.js +21 -0
- package/dist/module/shared/icons/SliceDiamondIcon.js.map +1 -0
- package/dist/module/shared/icons/StarIcon.js +24 -0
- package/dist/module/shared/icons/StarIcon.js.map +1 -0
- package/dist/module/shared/icons/TimerIcon.js +27 -0
- package/dist/module/shared/icons/TimerIcon.js.map +1 -0
- package/dist/module/shared/translation/localization/ca.json +24 -0
- package/dist/module/shared/translation/localization/de.json +24 -0
- package/dist/module/shared/translation/localization/en.json +24 -0
- package/dist/module/shared/translation/localization/gb.json +24 -0
- package/dist/module/shared/translation/localization/sct.json +24 -0
- package/dist/module/shared/translation/localization/sw.json +24 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/PmProgress.d.ts +9 -0
- package/dist/typescript/commonjs/features/pmProgress/PmProgress.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.helpers.d.ts +4 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.helpers.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.types.d.ts +36 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/chart.types.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts +9 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts +10 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesPaths.d.ts +11 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/components/SlicesPaths.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts +12 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts +8 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts +14 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts +12 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/model/PieChartManager.d.ts +14 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/model/PieChartManager.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts +17 -0
- package/dist/typescript/commonjs/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/content/PmContent.d.ts +3 -0
- package/dist/typescript/commonjs/features/pmProgress/components/content/PmContent.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/header/NextUp.d.ts +3 -0
- package/dist/typescript/commonjs/features/pmProgress/components/header/NextUp.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts +3 -0
- package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/header/StartButton.d.ts +11 -0
- package/dist/typescript/commonjs/features/pmProgress/components/header/StartButton.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/insights/PmInsights.d.ts +3 -0
- package/dist/typescript/commonjs/features/pmProgress/components/insights/PmInsights.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts +3 -0
- package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts +12 -0
- package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/list/Fluency.d.ts +8 -0
- package/dist/typescript/commonjs/features/pmProgress/components/list/Fluency.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts +31 -0
- package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts +12 -0
- package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts +3 -0
- package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/locked/PmStatusOverlay.d.ts +8 -0
- package/dist/typescript/commonjs/features/pmProgress/components/locked/PmStatusOverlay.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.d.ts +3 -0
- package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/standard/StandardTag.d.ts +9 -0
- package/dist/typescript/commonjs/features/pmProgress/components/standard/StandardTag.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts +15 -0
- package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/index.d.ts +7 -0
- package/dist/typescript/commonjs/features/pmProgress/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/model/PmHighlightModel.d.ts +7 -0
- package/dist/typescript/commonjs/features/pmProgress/model/PmHighlightModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/model/PmInsightsModel.d.ts +14 -0
- package/dist/typescript/commonjs/features/pmProgress/model/PmInsightsModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/model/PmProgressApi.d.ts +17 -0
- package/dist/typescript/commonjs/features/pmProgress/model/PmProgressApi.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/model/PmProgressModel.d.ts +23 -0
- package/dist/typescript/commonjs/features/pmProgress/model/PmProgressModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/model/PmRecommendationsModel.d.ts +102 -0
- package/dist/typescript/commonjs/features/pmProgress/model/PmRecommendationsModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/model/PmSolvingFlowModel.d.ts +22 -0
- package/dist/typescript/commonjs/features/pmProgress/model/PmSolvingFlowModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts +25 -0
- package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/shared/TreeNormalizer.d.ts +17 -0
- package/dist/typescript/commonjs/features/pmProgress/shared/TreeNormalizer.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts +49 -0
- package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts +73 -0
- package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.types.d.ts +193 -0
- package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.types.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/constants.d.ts +2 -12
- package/dist/typescript/commonjs/features/voice/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecord.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts +3 -1
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts +1 -2
- package/dist/typescript/commonjs/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecord.model.d.ts +1 -3
- package/dist/typescript/commonjs/features/voice/recording/model/VoiceRecord.model.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/types.d.ts +0 -4
- package/dist/typescript/commonjs/features/voice/types.d.ts.map +1 -1
- package/dist/typescript/commonjs/index.d.ts +1 -0
- package/dist/typescript/commonjs/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/icons/MenuIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/MenuIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/PentagonIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/PentagonIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/SketchArrowRight.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/SketchArrowRight.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/SliceDiamondIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/SliceDiamondIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/StarIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/StarIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/TimerIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/TimerIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/translation/constants.d.ts +144 -0
- package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/model.d.ts +48 -0
- package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/PmProgress.d.ts +9 -0
- package/dist/typescript/module/features/pmProgress/PmProgress.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/chart/chart.helpers.d.ts +4 -0
- package/dist/typescript/module/features/pmProgress/components/chart/chart.helpers.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/chart/chart.types.d.ts +36 -0
- package/dist/typescript/module/features/pmProgress/components/chart/chart.types.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts +9 -0
- package/dist/typescript/module/features/pmProgress/components/chart/components/PracticeProgressPieChart.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts +10 -0
- package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesClipPaths.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesPaths.d.ts +11 -0
- package/dist/typescript/module/features/pmProgress/components/chart/components/SlicesPaths.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts +12 -0
- package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceArcPattern.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts +8 -0
- package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts +14 -0
- package/dist/typescript/module/features/pmProgress/components/chart/components/layers/SliceFillColor.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts +12 -0
- package/dist/typescript/module/features/pmProgress/components/chart/model/ArcPatternGenerator.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/chart/model/PieChartManager.d.ts +14 -0
- package/dist/typescript/module/features/pmProgress/components/chart/model/PieChartManager.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts +17 -0
- package/dist/typescript/module/features/pmProgress/components/chart/model/SliceShapeGenerator.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/content/PmContent.d.ts +3 -0
- package/dist/typescript/module/features/pmProgress/components/content/PmContent.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/header/NextUp.d.ts +3 -0
- package/dist/typescript/module/features/pmProgress/components/header/NextUp.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts +3 -0
- package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/header/StartButton.d.ts +11 -0
- package/dist/typescript/module/features/pmProgress/components/header/StartButton.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/insights/PmInsights.d.ts +3 -0
- package/dist/typescript/module/features/pmProgress/components/insights/PmInsights.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts +3 -0
- package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts +12 -0
- package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/list/Fluency.d.ts +8 -0
- package/dist/typescript/module/features/pmProgress/components/list/Fluency.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts +31 -0
- package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts +12 -0
- package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts +3 -0
- package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/locked/PmStatusOverlay.d.ts +8 -0
- package/dist/typescript/module/features/pmProgress/components/locked/PmStatusOverlay.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.d.ts +3 -0
- package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/standard/StandardTag.d.ts +9 -0
- package/dist/typescript/module/features/pmProgress/components/standard/StandardTag.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts +15 -0
- package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/index.d.ts +7 -0
- package/dist/typescript/module/features/pmProgress/index.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/model/PmHighlightModel.d.ts +7 -0
- package/dist/typescript/module/features/pmProgress/model/PmHighlightModel.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/model/PmInsightsModel.d.ts +14 -0
- package/dist/typescript/module/features/pmProgress/model/PmInsightsModel.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/model/PmProgressApi.d.ts +17 -0
- package/dist/typescript/module/features/pmProgress/model/PmProgressApi.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/model/PmProgressModel.d.ts +23 -0
- package/dist/typescript/module/features/pmProgress/model/PmProgressModel.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/model/PmRecommendationsModel.d.ts +102 -0
- package/dist/typescript/module/features/pmProgress/model/PmRecommendationsModel.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/model/PmSolvingFlowModel.d.ts +22 -0
- package/dist/typescript/module/features/pmProgress/model/PmSolvingFlowModel.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts +25 -0
- package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/shared/TreeNormalizer.d.ts +17 -0
- package/dist/typescript/module/features/pmProgress/shared/TreeNormalizer.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts +49 -0
- package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts +73 -0
- package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/shared/pmProgress.types.d.ts +193 -0
- package/dist/typescript/module/features/pmProgress/shared/pmProgress.types.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/constants.d.ts +2 -12
- package/dist/typescript/module/features/voice/constants.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/components/VoiceRecord.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts +3 -1
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts +1 -2
- package/dist/typescript/module/features/voice/recording/hooks/useVoiceRecorderAnimation.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/model/VoiceRecord.model.d.ts +1 -3
- package/dist/typescript/module/features/voice/recording/model/VoiceRecord.model.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/types.d.ts +0 -4
- package/dist/typescript/module/features/voice/types.d.ts.map +1 -1
- package/dist/typescript/module/index.d.ts +1 -0
- package/dist/typescript/module/index.d.ts.map +1 -1
- package/dist/typescript/module/shared/icons/MenuIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/MenuIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/PentagonIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/PentagonIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/SketchArrowRight.d.ts +4 -0
- package/dist/typescript/module/shared/icons/SketchArrowRight.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/SliceDiamondIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/SliceDiamondIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/StarIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/StarIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/TimerIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/TimerIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/translation/constants.d.ts +144 -0
- package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/model.d.ts +48 -0
- package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
- package/package.json +21 -13
- package/src/features/chatbot/components/ChatInput/ChatInput.tsx +2 -1
- package/src/features/chatbot/components/ChatMessage/MessageContent.tsx +2 -1
- package/src/features/endOfAssignment/components/AssessmentScoreCard/AssessmentScoreCard.tsx +2 -2
- package/src/features/pmProgress/PmProgress.tsx +29 -0
- package/src/features/pmProgress/__tests__/.keep +0 -0
- package/src/features/pmProgress/components/chart/chart.helpers.ts +16 -0
- package/src/features/pmProgress/components/chart/chart.types.ts +37 -0
- package/src/features/pmProgress/components/chart/components/PracticeProgressPieChart.tsx +32 -0
- package/src/features/pmProgress/components/chart/components/SlicesClipPaths.tsx +22 -0
- package/src/features/pmProgress/components/chart/components/SlicesPaths.tsx +90 -0
- package/src/features/pmProgress/components/chart/components/layers/SliceArcPattern.tsx +44 -0
- package/src/features/pmProgress/components/chart/components/layers/SliceBackgroundColor.tsx +11 -0
- package/src/features/pmProgress/components/chart/components/layers/SliceFillColor.tsx +60 -0
- package/src/features/pmProgress/components/chart/model/ArcPatternGenerator.ts +48 -0
- package/src/features/pmProgress/components/chart/model/PieChartManager.ts +17 -0
- package/src/features/pmProgress/components/chart/model/SliceShapeGenerator.ts +90 -0
- package/src/features/pmProgress/components/content/PmContent.tsx +42 -0
- package/src/features/pmProgress/components/header/NextUp.tsx +109 -0
- package/src/features/pmProgress/components/header/PmProgressHeader.tsx +135 -0
- package/src/features/pmProgress/components/header/StartButton.tsx +160 -0
- package/src/features/pmProgress/components/insights/PmInsights.tsx +66 -0
- package/src/features/pmProgress/components/insights/PmTimeframeStats.tsx +94 -0
- package/src/features/pmProgress/components/insights/StatsCard.tsx +54 -0
- package/src/features/pmProgress/components/list/Fluency.tsx +72 -0
- package/src/features/pmProgress/components/list/ListCard.tsx +231 -0
- package/src/features/pmProgress/components/list/ListItem.tsx +167 -0
- package/src/features/pmProgress/components/list/PmDomainList.tsx +77 -0
- package/src/features/pmProgress/components/locked/PmStatusOverlay.tsx +101 -0
- package/src/features/pmProgress/components/recs/PmTeacherRecs.tsx +129 -0
- package/src/features/pmProgress/components/standard/StandardTag.tsx +181 -0
- package/src/features/pmProgress/context/PmProgressContext.tsx +26 -0
- package/src/features/pmProgress/index.ts +6 -0
- package/src/features/pmProgress/model/PmHighlightModel.ts +11 -0
- package/src/features/pmProgress/model/PmInsightsModel.ts +23 -0
- package/src/features/pmProgress/model/PmProgressApi.ts +34 -0
- package/src/features/pmProgress/model/PmProgressModel.ts +48 -0
- package/src/features/pmProgress/model/PmRecommendationsModel.ts +47 -0
- package/src/features/pmProgress/model/PmSolvingFlowModel.ts +140 -0
- package/src/features/pmProgress/model/PmTreeModel.ts +171 -0
- package/src/features/pmProgress/shared/TreeNormalizer.ts +64 -0
- package/src/features/pmProgress/shared/pmProgress.constants.ts +100 -0
- package/src/features/pmProgress/shared/pmProgress.helpers.ts +307 -0
- package/src/features/pmProgress/shared/pmProgress.types.ts +217 -0
- package/src/features/voice/constants.ts +2 -14
- package/src/features/voice/recording/components/VoiceRecord.tsx +5 -28
- package/src/features/voice/recording/components/VoiceRecordButton.tsx +30 -114
- package/src/features/voice/recording/components/VoiceRecordDeleteButton.tsx +2 -2
- package/src/features/voice/recording/hooks/useVoiceRecorderAnimation.ts +4 -8
- package/src/features/voice/recording/model/VoiceRecord.model.ts +0 -7
- package/src/features/voice/types.ts +0 -5
- package/src/index.ts +1 -0
- package/src/shared/icons/MenuIcon.tsx +15 -0
- package/src/shared/icons/PentagonIcon.tsx +14 -0
- package/src/shared/icons/SketchArrowRight.tsx +18 -0
- package/src/shared/icons/SliceDiamondIcon.tsx +14 -0
- package/src/shared/icons/StarIcon.tsx +17 -0
- package/src/shared/icons/TimerIcon.tsx +21 -0
- package/src/shared/translation/localization/ca.json +24 -0
- package/src/shared/translation/localization/de.json +24 -0
- package/src/shared/translation/localization/en.json +24 -0
- package/src/shared/translation/localization/gb.json +24 -0
- package/src/shared/translation/localization/sct.json +24 -0
- package/src/shared/translation/localization/sw.json +24 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.PmTreeModel = void 0;
|
|
7
|
+
var _effector = require("effector");
|
|
8
|
+
var _effectorAction = require("effector-action");
|
|
9
|
+
var _skillsUtils = require("@matteappen/skills-utils");
|
|
10
|
+
var _pmProgressHelpers = require("../shared/pmProgress.helpers.js");
|
|
11
|
+
var _TreeNormalizer = require("../shared/TreeNormalizer.js");
|
|
12
|
+
var _session = require("effector-storage/session");
|
|
13
|
+
var _pmProgressConstants = require("../shared/pmProgress.constants.js");
|
|
14
|
+
var _commonConstants = require("../../../shared/common.constants.js");
|
|
15
|
+
class PmTreeModel {
|
|
16
|
+
$tree = (0, _effector.createStore)(null);
|
|
17
|
+
$stats = (0, _effector.createStore)(null);
|
|
18
|
+
$user = (0, _effector.createStore)(null);
|
|
19
|
+
setupInitialGrade = (0, _effector.createEvent)();
|
|
20
|
+
setDomains = (0, _effector.createEvent)();
|
|
21
|
+
setGrade = (0, _effector.createEvent)();
|
|
22
|
+
$isInitialized = (0, _effector.createStore)(false);
|
|
23
|
+
$grade = (0, _effector.restore)(this.setGrade, null);
|
|
24
|
+
$domains = (0, _effector.restore)(this.setDomains, []);
|
|
25
|
+
$grades = (0, _effector.createStore)([]);
|
|
26
|
+
$status = (0, _effector.createStore)(null);
|
|
27
|
+
constructor(api) {
|
|
28
|
+
this.api = api;
|
|
29
|
+
if (_commonConstants.isWeb) {
|
|
30
|
+
(0, _session.persist)({
|
|
31
|
+
key: _pmProgressConstants.SessionStorageKeys.GRADE,
|
|
32
|
+
store: this.$grade
|
|
33
|
+
});
|
|
34
|
+
(0, _session.persist)({
|
|
35
|
+
key: _pmProgressConstants.SessionStorageKeys.DOMAINS,
|
|
36
|
+
store: this.$domains
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
this.setupFailedAndLockedStatus();
|
|
40
|
+
this.setupTreeInit();
|
|
41
|
+
this.setupGradeInit();
|
|
42
|
+
this.setupDomainStructure();
|
|
43
|
+
}
|
|
44
|
+
initTreeFx = (0, _effector.createEffect)(async ({
|
|
45
|
+
user
|
|
46
|
+
}) => {
|
|
47
|
+
if (!user.setting.practiceModeTreeId) {
|
|
48
|
+
throw new Error('practiceModeTreeId is not set');
|
|
49
|
+
}
|
|
50
|
+
const [tree, stats] = await Promise.all([this.api.getTreeFx(user.setting.practiceModeTreeId), this.api.getStatisticsFx({
|
|
51
|
+
entityIds: [user._id]
|
|
52
|
+
})]);
|
|
53
|
+
return [_TreeNormalizer.TreeNormalizer.normalize(tree), stats];
|
|
54
|
+
});
|
|
55
|
+
getTreeContextFx = (0, _effector.attach)({
|
|
56
|
+
source: {
|
|
57
|
+
tree: this.$tree,
|
|
58
|
+
stats: this.$stats,
|
|
59
|
+
user: this.$user,
|
|
60
|
+
grade: this.$grade
|
|
61
|
+
},
|
|
62
|
+
mapParams: (_, source) => {
|
|
63
|
+
if (!(0, _pmProgressHelpers.isTreeDataReady)(source)) {
|
|
64
|
+
throw new Error('Cannot create treeWithUserStats in getTreeWithStatsFx - tree data is not ready.');
|
|
65
|
+
}
|
|
66
|
+
return source;
|
|
67
|
+
},
|
|
68
|
+
effect: (0, _effector.createEffect)(({
|
|
69
|
+
tree,
|
|
70
|
+
stats,
|
|
71
|
+
user,
|
|
72
|
+
grade
|
|
73
|
+
}) => {
|
|
74
|
+
const [treeWithStats] = (0, _skillsUtils.enhanceProgressMatrixData)(Object.values(tree.treeMapping), stats, [{
|
|
75
|
+
entityId: user._id,
|
|
76
|
+
name: user.fullName
|
|
77
|
+
}], grade);
|
|
78
|
+
return {
|
|
79
|
+
tree,
|
|
80
|
+
stats,
|
|
81
|
+
user,
|
|
82
|
+
treeWithStats
|
|
83
|
+
};
|
|
84
|
+
})
|
|
85
|
+
});
|
|
86
|
+
setupFailedAndLockedStatus() {
|
|
87
|
+
(0, _effector.sample)({
|
|
88
|
+
clock: this.initTreeFx.fail,
|
|
89
|
+
fn: () => _pmProgressConstants.PmProgressStatus.ERROR,
|
|
90
|
+
target: this.$status
|
|
91
|
+
});
|
|
92
|
+
(0, _effector.sample)({
|
|
93
|
+
clock: this.$grades,
|
|
94
|
+
filter: grades => grades.length > 0 && grades.every(g => g.isLocked),
|
|
95
|
+
fn: () => _pmProgressConstants.PmProgressStatus.LOCKED,
|
|
96
|
+
target: this.$status
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
setupTreeInit() {
|
|
100
|
+
(0, _effectorAction.createAction)(this.initTreeFx.done, {
|
|
101
|
+
target: {
|
|
102
|
+
$tree: this.$tree,
|
|
103
|
+
$stats: this.$stats,
|
|
104
|
+
$user: this.$user,
|
|
105
|
+
$grades: this.$grades,
|
|
106
|
+
$isInitialized: this.$isInitialized,
|
|
107
|
+
setupInitialGrade: this.setupInitialGrade
|
|
108
|
+
},
|
|
109
|
+
fn: (target, {
|
|
110
|
+
params: {
|
|
111
|
+
user
|
|
112
|
+
},
|
|
113
|
+
result: [tree, stats]
|
|
114
|
+
}) => {
|
|
115
|
+
target.$tree(tree);
|
|
116
|
+
target.$stats(stats);
|
|
117
|
+
target.$user(user);
|
|
118
|
+
target.$grades((0, _pmProgressHelpers.getTreeGrades)(tree, user));
|
|
119
|
+
target.setupInitialGrade({
|
|
120
|
+
tree,
|
|
121
|
+
user
|
|
122
|
+
});
|
|
123
|
+
target.$isInitialized(true);
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
setupGradeInit() {
|
|
128
|
+
(0, _effector.sample)({
|
|
129
|
+
clock: this.setupInitialGrade,
|
|
130
|
+
source: this.$grade,
|
|
131
|
+
fn: (grade, {
|
|
132
|
+
tree,
|
|
133
|
+
user
|
|
134
|
+
}) => {
|
|
135
|
+
const userLockedGrades = user.setting.practiceModeLockedGrades;
|
|
136
|
+
const isPersistedGradeValid = _commonConstants.isWeb && grade !== null && !userLockedGrades.includes(grade);
|
|
137
|
+
if (isPersistedGradeValid) return grade;
|
|
138
|
+
const treeGrades = Object.values(tree.treeMapping).filter(node => node.type === 'grade').map(node => node.attributes.grade);
|
|
139
|
+
return (0, _pmProgressHelpers.getInitialPmGrade)({
|
|
140
|
+
userGrade: user.grade,
|
|
141
|
+
treeGrades,
|
|
142
|
+
lockedGrades: userLockedGrades,
|
|
143
|
+
enrolledGrades: user.enrolledGrades
|
|
144
|
+
});
|
|
145
|
+
},
|
|
146
|
+
target: this.setGrade
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
setupDomainStructure() {
|
|
150
|
+
(0, _effector.sample)({
|
|
151
|
+
clock: [this.$grade, this.initTreeFx.doneData],
|
|
152
|
+
source: {
|
|
153
|
+
tree: this.$tree,
|
|
154
|
+
stats: this.$stats,
|
|
155
|
+
user: this.$user,
|
|
156
|
+
grade: this.$grade
|
|
157
|
+
},
|
|
158
|
+
filter: _pmProgressHelpers.isTreeDataReady,
|
|
159
|
+
fn: ({
|
|
160
|
+
tree,
|
|
161
|
+
stats,
|
|
162
|
+
user,
|
|
163
|
+
grade
|
|
164
|
+
}) => {
|
|
165
|
+
const [treeWithUserStats] = (0, _skillsUtils.enhanceProgressMatrixData)(Object.values(tree.treeMapping), stats, [{
|
|
166
|
+
entityId: user._id,
|
|
167
|
+
name: user.fullName
|
|
168
|
+
}], grade);
|
|
169
|
+
return (0, _pmProgressHelpers.getDomainStructure)(treeWithUserStats, tree.treeMapping);
|
|
170
|
+
},
|
|
171
|
+
target: this.setDomains
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
exports.PmTreeModel = PmTreeModel;
|
|
176
|
+
//# sourceMappingURL=PmTreeModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_effector","require","_effectorAction","_skillsUtils","_pmProgressHelpers","_TreeNormalizer","_session","_pmProgressConstants","_commonConstants","PmTreeModel","$tree","createStore","$stats","$user","setupInitialGrade","createEvent","setDomains","setGrade","$isInitialized","$grade","restore","$domains","$grades","$status","constructor","api","isWeb","persist","key","SessionStorageKeys","GRADE","store","DOMAINS","setupFailedAndLockedStatus","setupTreeInit","setupGradeInit","setupDomainStructure","initTreeFx","createEffect","user","setting","practiceModeTreeId","Error","tree","stats","Promise","all","getTreeFx","getStatisticsFx","entityIds","_id","TreeNormalizer","normalize","getTreeContextFx","attach","source","grade","mapParams","_","isTreeDataReady","effect","treeWithStats","enhanceProgressMatrixData","Object","values","treeMapping","entityId","name","fullName","sample","clock","fail","fn","PmProgressStatus","ERROR","target","filter","grades","length","every","g","isLocked","LOCKED","createAction","done","params","result","getTreeGrades","userLockedGrades","practiceModeLockedGrades","isPersistedGradeValid","includes","treeGrades","node","type","map","attributes","getInitialPmGrade","userGrade","lockedGrades","enrolledGrades","doneData","treeWithUserStats","getDomainStructure","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/model/PmTreeModel.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAaA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AAMA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AAEO,MAAMQ,WAAW,CAAC;EACNC,KAAK,GAAG,IAAAC,qBAAW,EAA6B,IAAI,CAAC;EACrDC,MAAM,GAAG,IAAAD,qBAAW,EAAuB,IAAI,CAAC;EAChDE,KAAK,GAAG,IAAAF,qBAAW,EAAc,IAAI,CAAC;EAEtCG,iBAAiB,GAAG,IAAAC,qBAAW,EAAyB,CAAC;EACzDC,UAAU,GAAG,IAAAD,qBAAW,EAAW,CAAC;EACrCE,QAAQ,GAAG,IAAAF,qBAAW,EAAgB,CAAC;EAEvCG,cAAc,GAAG,IAAAP,qBAAW,EAAC,KAAK,CAAC;EACnCQ,MAAM,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACH,QAAQ,EAAE,IAAI,CAAC;EACrCI,QAAQ,GAAG,IAAAD,iBAAO,EAAC,IAAI,CAACJ,UAAU,EAAE,EAAE,CAAC;EACvCM,OAAO,GAAG,IAAAX,qBAAW,EAAU,EAAE,CAAC;EAClCY,OAAO,GAAG,IAAAZ,qBAAW,EAA0B,IAAI,CAAC;EAEpEa,WAAWA,CAAkBC,GAAkB,EAAE;IAAA,KAApBA,GAAkB,GAAlBA,GAAkB;IAC7C,IAAIC,sBAAK,EAAE;MACT,IAAAC,gBAAO,EAAC;QAAEC,GAAG,EAAEC,uCAAkB,CAACC,KAAK;QAAEC,KAAK,EAAE,IAAI,CAACZ;MAAO,CAAC,CAAC;MAC9D,IAAAQ,gBAAO,EAAC;QAAEC,GAAG,EAAEC,uCAAkB,CAACG,OAAO;QAAED,KAAK,EAAE,IAAI,CAACV;MAAS,CAAC,CAAC;IACpE;IAEA,IAAI,CAACY,0BAA0B,CAAC,CAAC;IACjC,IAAI,CAACC,aAAa,CAAC,CAAC;IACpB,IAAI,CAACC,cAAc,CAAC,CAAC;IACrB,IAAI,CAACC,oBAAoB,CAAC,CAAC;EAC7B;EAEgBC,UAAU,GAAG,IAAAC,sBAAY,EAAC,OAAO;IAAEC;EAA0B,CAAC,KAAK;IACjF,IAAI,CAACA,IAAI,CAACC,OAAO,CAACC,kBAAkB,EAAE;MACpC,MAAM,IAAIC,KAAK,CAAC,+BAA+B,CAAC;IAClD;IAEA,MAAM,CAACC,IAAI,EAAEC,KAAK,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CACtC,IAAI,CAACrB,GAAG,CAACsB,SAAS,CAACR,IAAI,CAACC,OAAO,CAACC,kBAAkB,CAAC,EACnD,IAAI,CAAChB,GAAG,CAACuB,eAAe,CAAC;MAAEC,SAAS,EAAE,CAACV,IAAI,CAACW,GAAG;IAAE,CAAC,CAAC,CACpD,CAAC;IACF,OAAO,CAACC,8BAAc,CAACC,SAAS,CAACT,IAAI,CAAC,EAAEC,KAAK,CAAC;EAChD,CAAC,CAAC;EAEcS,gBAAgB,GAAG,IAAAC,gBAAM,EAAC;IACxCC,MAAM,EAAE;MAAEZ,IAAI,EAAE,IAAI,CAACjC,KAAK;MAAEkC,KAAK,EAAE,IAAI,CAAChC,MAAM;MAAE2B,IAAI,EAAE,IAAI,CAAC1B,KAAK;MAAE2C,KAAK,EAAE,IAAI,CAACrC;IAAO,CAAC;IACtFsC,SAAS,EAAEA,CAACC,CAAO,EAAEH,MAAM,KAA6B;MACtD,IAAI,CAAC,IAAAI,kCAAe,EAACJ,MAAM,CAAC,EAAE;QAC5B,MAAM,IAAIb,KAAK,CACb,iFACF,CAAC;MACH;MACA,OAAOa,MAAM;IACf,CAAC;IACDK,MAAM,EAAE,IAAAtB,sBAAY,EAAC,CAAC;MAAEK,IAAI;MAAEC,KAAK;MAAEL,IAAI;MAAEiB;IAA8B,CAAC,KAAkB;MAC1F,MAAM,CAACK,aAAa,CAAC,GAAG,IAAAC,sCAAyB,EAC/CC,MAAM,CAACC,MAAM,CAACrB,IAAI,CAACsB,WAAW,CAAC,EAC/BrB,KAAK,EACL,CAAC;QAAEsB,QAAQ,EAAE3B,IAAI,CAACW,GAAG;QAAEiB,IAAI,EAAE5B,IAAI,CAAC6B;MAAS,CAAC,CAAC,EAC7CZ,KACF,CAAC;MACD,OAAO;QACLb,IAAI;QACJC,KAAK;QACLL,IAAI;QACJsB;MACF,CAAC;IACH,CAAC;EACH,CAAC,CAAC;EAEM5B,0BAA0BA,CAAA,EAAG;IACnC,IAAAoC,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAACjC,UAAU,CAACkC,IAAI;MAC3BC,EAAE,EAAEA,CAAA,KAAMC,qCAAgB,CAACC,KAAK;MAChCC,MAAM,EAAE,IAAI,CAACpD;IACf,CAAC,CAAC;IAEF,IAAA8C,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAAChD,OAAO;MACnBsD,MAAM,EAAGC,MAAM,IAAKA,MAAM,CAACC,MAAM,GAAG,CAAC,IAAID,MAAM,CAACE,KAAK,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAAC;MACxET,EAAE,EAAEA,CAAA,KAAMC,qCAAgB,CAACS,MAAM;MACjCP,MAAM,EAAE,IAAI,CAACpD;IACf,CAAC,CAAC;EACJ;EAEQW,aAAaA,CAAA,EAAG;IACtB,IAAAiD,4BAAY,EAAC,IAAI,CAAC9C,UAAU,CAAC+C,IAAI,EAAE;MACjCT,MAAM,EAAE;QACNjE,KAAK,EAAE,IAAI,CAACA,KAAK;QACjBE,MAAM,EAAE,IAAI,CAACA,MAAM;QACnBC,KAAK,EAAE,IAAI,CAACA,KAAK;QACjBS,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBJ,cAAc,EAAE,IAAI,CAACA,cAAc;QACnCJ,iBAAiB,EAAE,IAAI,CAACA;MAC1B,CAAC;MACD0D,EAAE,EAAEA,CAACG,MAAM,EAAE;QAAEU,MAAM,EAAE;UAAE9C;QAAK,CAAC;QAAE+C,MAAM,EAAE,CAAC3C,IAAI,EAAEC,KAAK;MAAE,CAAC,KAAK;QAC3D+B,MAAM,CAACjE,KAAK,CAACiC,IAAI,CAAC;QAClBgC,MAAM,CAAC/D,MAAM,CAACgC,KAAK,CAAC;QACpB+B,MAAM,CAAC9D,KAAK,CAAC0B,IAAI,CAAC;QAClBoC,MAAM,CAACrD,OAAO,CAAC,IAAAiE,gCAAa,EAAC5C,IAAI,EAAEJ,IAAI,CAAC,CAAC;QACzCoC,MAAM,CAAC7D,iBAAiB,CAAC;UAAE6B,IAAI;UAAEJ;QAAK,CAAC,CAAC;QACxCoC,MAAM,CAACzD,cAAc,CAAC,IAAI,CAAC;MAC7B;IACF,CAAC,CAAC;EACJ;EAEQiB,cAAcA,CAAA,EAAG;IACvB,IAAAkC,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAACxD,iBAAiB;MAC7ByC,MAAM,EAAE,IAAI,CAACpC,MAAM;MACnBqD,EAAE,EAAEA,CAAChB,KAAK,EAAE;QAAEb,IAAI;QAAEJ;MAAK,CAAC,KAAK;QAC7B,MAAMiD,gBAAgB,GAAGjD,IAAI,CAACC,OAAO,CAACiD,wBAAwB;QAE9D,MAAMC,qBAAqB,GAAGhE,sBAAK,IAAI8B,KAAK,KAAK,IAAI,IAAI,CAACgC,gBAAgB,CAACG,QAAQ,CAACnC,KAAK,CAAC;QAC1F,IAAIkC,qBAAqB,EAAE,OAAOlC,KAAK;QAEvC,MAAMoC,UAAU,GAAG7B,MAAM,CAACC,MAAM,CAACrB,IAAI,CAACsB,WAAW,CAAC,CAC/CW,MAAM,CAAEiB,IAAI,IAAKA,IAAI,CAACC,IAAI,KAAK,OAAO,CAAC,CACvCC,GAAG,CAAEF,IAAI,IAAKA,IAAI,CAACG,UAAU,CAACxC,KAAK,CAAC;QAEvC,OAAO,IAAAyC,oCAAiB,EAAC;UACvBC,SAAS,EAAE3D,IAAI,CAACiB,KAAK;UACrBoC,UAAU;UACVO,YAAY,EAAEX,gBAAgB;UAC9BY,cAAc,EAAE7D,IAAI,CAAC6D;QACvB,CAAC,CAAC;MACJ,CAAC;MACDzB,MAAM,EAAE,IAAI,CAAC1D;IACf,CAAC,CAAC;EACJ;EAEQmB,oBAAoBA,CAAA,EAAG;IAC7B,IAAAiC,gBAAM,EAAC;MACLC,KAAK,EAAE,CAAC,IAAI,CAACnD,MAAM,EAAE,IAAI,CAACkB,UAAU,CAACgE,QAAQ,CAAC;MAC9C9C,MAAM,EAAE;QAAEZ,IAAI,EAAE,IAAI,CAACjC,KAAK;QAAEkC,KAAK,EAAE,IAAI,CAAChC,MAAM;QAAE2B,IAAI,EAAE,IAAI,CAAC1B,KAAK;QAAE2C,KAAK,EAAE,IAAI,CAACrC;MAAO,CAAC;MACtFyD,MAAM,EAAEjB,kCAAe;MACvBa,EAAE,EAAEA,CAAC;QAAE7B,IAAI;QAAEC,KAAK;QAAEL,IAAI;QAAEiB;MAAM,CAAC,KAAK;QACpC,MAAM,CAAC8C,iBAAiB,CAAC,GAAG,IAAAxC,sCAAyB,EACnDC,MAAM,CAACC,MAAM,CAACrB,IAAI,CAACsB,WAAW,CAAC,EAC/BrB,KAAK,EACL,CAAC;UAAEsB,QAAQ,EAAE3B,IAAI,CAACW,GAAG;UAAEiB,IAAI,EAAE5B,IAAI,CAAC6B;QAAS,CAAC,CAAC,EAC7CZ,KACF,CAAC;QAED,OAAO,IAAA+C,qCAAkB,EAACD,iBAAiB,EAAE3D,IAAI,CAACsB,WAAW,CAAC;MAChE,CAAC;MACDU,MAAM,EAAE,IAAI,CAAC3D;IACf,CAAC,CAAC;EACJ;AACF;AAACwF,OAAA,CAAA/F,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TreeNormalizer = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Some skills from the API lack a valid ability (missing sectionId and functionName),
|
|
9
|
+
* making them impossible to open in the solving flow. This normalizer strips those skills
|
|
10
|
+
* and cascades the cleanup - removing standards, domains, etc. that end up empty.
|
|
11
|
+
*
|
|
12
|
+
* Acts as a single place to sanitize the tree API response before it enters the app.
|
|
13
|
+
* Can be extended with additional normalizations as new edge cases arise.
|
|
14
|
+
*/
|
|
15
|
+
class TreeNormalizer {
|
|
16
|
+
static normalize(response) {
|
|
17
|
+
const skillsMapping = this.getOnlyValidSkills(response.skillsMapping);
|
|
18
|
+
const validIds = new Set(Object.keys(skillsMapping));
|
|
19
|
+
const treeMapping = this.removeEmptyNodes(response.treeMapping, validIds);
|
|
20
|
+
return {
|
|
21
|
+
...response,
|
|
22
|
+
skillsMapping,
|
|
23
|
+
treeMapping
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static isSkillValid(skill) {
|
|
27
|
+
return Boolean(skill?.ability && (skill.ability.sectionId || skill.ability.functionName));
|
|
28
|
+
}
|
|
29
|
+
static getOnlyValidSkills(mapping) {
|
|
30
|
+
return Object.fromEntries(Object.entries(mapping).filter(([, skill]) => this.isSkillValid(skill)));
|
|
31
|
+
}
|
|
32
|
+
static removeEmptyNodes(treeMapping, validIds) {
|
|
33
|
+
const emptyIds = this.getEmptyNodeIds(treeMapping, validIds);
|
|
34
|
+
return Object.fromEntries(Object.entries(treeMapping).filter(([id]) => !emptyIds.has(id)).map(([id, node]) => [id, {
|
|
35
|
+
...node,
|
|
36
|
+
skills: node.skills.filter(sid => validIds.has(sid)),
|
|
37
|
+
children: node.children.filter(cid => !emptyIds.has(cid))
|
|
38
|
+
}]));
|
|
39
|
+
}
|
|
40
|
+
static getEmptyNodeIds(treeMapping, validIds) {
|
|
41
|
+
const empty = new Set();
|
|
42
|
+
const leafToRoot = Object.entries(treeMapping).sort(([, a], [, b]) => b.parents.length - a.parents.length);
|
|
43
|
+
for (const [id, node] of leafToRoot) {
|
|
44
|
+
const isEmptyLeaf = node.skills.length > 0 && node.skills.every(s => !validIds.has(s));
|
|
45
|
+
const isEmptyParent = node.children.length > 0 && node.children.every(c => empty.has(c));
|
|
46
|
+
if (isEmptyLeaf || isEmptyParent) empty.add(id);
|
|
47
|
+
}
|
|
48
|
+
return empty;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.TreeNormalizer = TreeNormalizer;
|
|
52
|
+
//# sourceMappingURL=TreeNormalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TreeNormalizer","normalize","response","skillsMapping","getOnlyValidSkills","validIds","Set","Object","keys","treeMapping","removeEmptyNodes","isSkillValid","skill","Boolean","ability","sectionId","functionName","mapping","fromEntries","entries","filter","emptyIds","getEmptyNodeIds","id","has","map","node","skills","sid","children","cid","empty","leafToRoot","sort","a","b","parents","length","isEmptyLeaf","every","s","isEmptyParent","c","add","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/shared/TreeNormalizer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.WINDOW_HEIGHT = exports.SolvingFlow = exports.SessionStorageKeys = exports.STATS_MAX_HEIGHT = exports.SMALL_SCREEN_THRESHOLD = exports.SMALL_SCREEN_MENU_MAX_HEIGHT = exports.RECOMMENDATIONS_LIMIT_PARAM = exports.PmProgressStatus = exports.OpeningLoaderId = exports.MENU_MAX_HEIGHT = exports.MAX_PIE_CHART_SIZE = exports.InsightsTimeframe = exports.EMPTY_PIE_CHART_DATA = exports.DOMAIN_COLORS = exports.DOMAIN_BORDER_COLORS = exports.CustomDomain = exports.BURGER_MENU_BREAKPOINT = void 0;
|
|
7
|
+
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
const STATS_MAX_HEIGHT = exports.STATS_MAX_HEIGHT = 136;
|
|
10
|
+
const RECOMMENDATIONS_LIMIT_PARAM = exports.RECOMMENDATIONS_LIMIT_PARAM = 150;
|
|
11
|
+
const MAX_PIE_CHART_SIZE = exports.MAX_PIE_CHART_SIZE = 505;
|
|
12
|
+
let CustomDomain = exports.CustomDomain = /*#__PURE__*/function (CustomDomain) {
|
|
13
|
+
CustomDomain["TEACHER"] = "TEACHER";
|
|
14
|
+
CustomDomain["FLUENCY"] = "FLUENCY";
|
|
15
|
+
return CustomDomain;
|
|
16
|
+
}({});
|
|
17
|
+
let InsightsTimeframe = exports.InsightsTimeframe = /*#__PURE__*/function (InsightsTimeframe) {
|
|
18
|
+
InsightsTimeframe["ALL"] = "all";
|
|
19
|
+
InsightsTimeframe["WEEK"] = "week";
|
|
20
|
+
InsightsTimeframe["LAST_WEEK"] = "lastWeek";
|
|
21
|
+
return InsightsTimeframe;
|
|
22
|
+
}({});
|
|
23
|
+
let SolvingFlow = exports.SolvingFlow = /*#__PURE__*/function (SolvingFlow) {
|
|
24
|
+
SolvingFlow["TEACHER"] = "TEACHER";
|
|
25
|
+
SolvingFlow["MAGMA"] = "MAGMA";
|
|
26
|
+
SolvingFlow["STANDARD"] = "STANDARD";
|
|
27
|
+
return SolvingFlow;
|
|
28
|
+
}({});
|
|
29
|
+
let OpeningLoaderId = exports.OpeningLoaderId = /*#__PURE__*/function (OpeningLoaderId) {
|
|
30
|
+
OpeningLoaderId["START_BUTTON"] = "START_BUTTON";
|
|
31
|
+
OpeningLoaderId["PRACTICE_BUTTON"] = "PRACTICE_BUTTON";
|
|
32
|
+
return OpeningLoaderId;
|
|
33
|
+
}({});
|
|
34
|
+
let PmProgressStatus = exports.PmProgressStatus = /*#__PURE__*/function (PmProgressStatus) {
|
|
35
|
+
PmProgressStatus["LOCKED"] = "LOCKED";
|
|
36
|
+
PmProgressStatus["ERROR"] = "ERROR";
|
|
37
|
+
return PmProgressStatus;
|
|
38
|
+
}({});
|
|
39
|
+
let SessionStorageKeys = exports.SessionStorageKeys = /*#__PURE__*/function (SessionStorageKeys) {
|
|
40
|
+
SessionStorageKeys["SOLVING_QUEUE"] = "PM_SOLVING_QUEUE";
|
|
41
|
+
SessionStorageKeys["GRADE"] = "PM_GRADE";
|
|
42
|
+
SessionStorageKeys["DOMAINS"] = "PM_DOMAINS";
|
|
43
|
+
return SessionStorageKeys;
|
|
44
|
+
}({});
|
|
45
|
+
/**
|
|
46
|
+
* Primary → _4 → _6 variants, cycling through 7 base colors.
|
|
47
|
+
* Supports up to 21 unique colors before repeating.
|
|
48
|
+
*/
|
|
49
|
+
const DOMAIN_COLORS = exports.DOMAIN_COLORS = [_reactNativeUi.COLORS.PRIMARY_RED, _reactNativeUi.COLORS.PRIMARY_MAGENTA, _reactNativeUi.COLORS.PRIMARY_PURPLE, _reactNativeUi.COLORS.PRIMARY_INDIGO, _reactNativeUi.COLORS.PRIMARY_TURQUOISE, _reactNativeUi.COLORS.PRIMARY_GREEN, _reactNativeUi.COLORS.RED_4, _reactNativeUi.COLORS.MAGENTA_4, _reactNativeUi.COLORS.PURPLE_4, _reactNativeUi.COLORS.INDIGO_4, _reactNativeUi.COLORS.TURQUOISE_4, _reactNativeUi.COLORS.GREEN_4, _reactNativeUi.COLORS.RED_6, _reactNativeUi.COLORS.MAGENTA_6, _reactNativeUi.COLORS.PURPLE_6, _reactNativeUi.COLORS.INDIGO_6, _reactNativeUi.COLORS.TURQUOISE_6, _reactNativeUi.COLORS.GREEN_6];
|
|
50
|
+
const EMPTY_PIE_CHART_DATA = exports.EMPTY_PIE_CHART_DATA = Array.from({
|
|
51
|
+
length: 5
|
|
52
|
+
}, () => ({
|
|
53
|
+
value: 1,
|
|
54
|
+
fillPercent: 0,
|
|
55
|
+
fillColor: _reactNativeUi.COLORS.NEUTRAL_4,
|
|
56
|
+
borderColor: _reactNativeUi.COLORS.NEUTRAL_4,
|
|
57
|
+
backgroundColor: _reactNativeUi.COLORS.NEUTRAL_3
|
|
58
|
+
}));
|
|
59
|
+
const DOMAIN_BORDER_COLORS = exports.DOMAIN_BORDER_COLORS = [_reactNativeUi.COLORS.RED_6, _reactNativeUi.COLORS.MAGENTA_6, _reactNativeUi.COLORS.PURPLE_6, _reactNativeUi.COLORS.INDIGO_6, _reactNativeUi.COLORS.TURQUOISE_6, _reactNativeUi.COLORS.GREEN_6, _reactNativeUi.COLORS.RED_6, _reactNativeUi.COLORS.MAGENTA_6, _reactNativeUi.COLORS.PURPLE_6, _reactNativeUi.COLORS.INDIGO_6, _reactNativeUi.COLORS.TURQUOISE_6, _reactNativeUi.COLORS.GREEN_6, _reactNativeUi.COLORS.RED_6, _reactNativeUi.COLORS.MAGENTA_6, _reactNativeUi.COLORS.PURPLE_6, _reactNativeUi.COLORS.INDIGO_6, _reactNativeUi.COLORS.TURQUOISE_6, _reactNativeUi.COLORS.GREEN_6];
|
|
60
|
+
const BURGER_MENU_BREAKPOINT = exports.BURGER_MENU_BREAKPOINT = 1024;
|
|
61
|
+
const SMALL_SCREEN_THRESHOLD = exports.SMALL_SCREEN_THRESHOLD = 568;
|
|
62
|
+
const SMALL_SCREEN_MENU_MAX_HEIGHT = exports.SMALL_SCREEN_MENU_MAX_HEIGHT = 300;
|
|
63
|
+
const WINDOW_HEIGHT = exports.WINDOW_HEIGHT = _reactNative.Dimensions.get('window').height;
|
|
64
|
+
const MENU_MAX_HEIGHT = exports.MENU_MAX_HEIGHT = WINDOW_HEIGHT <= SMALL_SCREEN_THRESHOLD ? SMALL_SCREEN_MENU_MAX_HEIGHT : WINDOW_HEIGHT * 0.8;
|
|
65
|
+
//# sourceMappingURL=pmProgress.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeUi","require","_reactNative","STATS_MAX_HEIGHT","exports","RECOMMENDATIONS_LIMIT_PARAM","MAX_PIE_CHART_SIZE","CustomDomain","InsightsTimeframe","SolvingFlow","OpeningLoaderId","PmProgressStatus","SessionStorageKeys","DOMAIN_COLORS","COLORS","PRIMARY_RED","PRIMARY_MAGENTA","PRIMARY_PURPLE","PRIMARY_INDIGO","PRIMARY_TURQUOISE","PRIMARY_GREEN","RED_4","MAGENTA_4","PURPLE_4","INDIGO_4","TURQUOISE_4","GREEN_4","RED_6","MAGENTA_6","PURPLE_6","INDIGO_6","TURQUOISE_6","GREEN_6","EMPTY_PIE_CHART_DATA","Array","from","length","value","fillPercent","fillColor","NEUTRAL_4","borderColor","backgroundColor","NEUTRAL_3","DOMAIN_BORDER_COLORS","BURGER_MENU_BREAKPOINT","SMALL_SCREEN_THRESHOLD","SMALL_SCREEN_MENU_MAX_HEIGHT","WINDOW_HEIGHT","Dimensions","get","height","MENU_MAX_HEIGHT"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/shared/pmProgress.constants.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.withoutDuplicates = exports.startGradesFrom = exports.shiftToBeginningOfArray = exports.isTreeDataReady = exports.isFluencyDomain = exports.getUncompletedSkillsFromStandard = exports.getUncompletedSkillsFromDomain = exports.getTreeGrades = exports.getInitialPmGrade = exports.getDomainStructure = exports.getAllUncompletedSkills = exports.getAllSkillsFromStandard = exports.formatTime = exports.formatGradeName = exports.formatGradeLabel = exports.createChartConfig = void 0;
|
|
7
|
+
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
8
|
+
var _pmProgressConstants = require("./pmProgress.constants.js");
|
|
9
|
+
var _chartHelpers = require("../components/chart/chart.helpers.js");
|
|
10
|
+
var _helpers = require("../../../shared/translation/helpers.js");
|
|
11
|
+
const groupStandardsByDomain = (standardStats, treeMapping) => {
|
|
12
|
+
const grouped = new Map();
|
|
13
|
+
for (const [standardId, stat] of Object.entries(standardStats)) {
|
|
14
|
+
const {
|
|
15
|
+
domainId,
|
|
16
|
+
skillIds,
|
|
17
|
+
skillsCount,
|
|
18
|
+
scorePercentage,
|
|
19
|
+
skillsToPractice
|
|
20
|
+
} = stat;
|
|
21
|
+
if (!grouped.has(domainId)) {
|
|
22
|
+
grouped.set(domainId, []);
|
|
23
|
+
}
|
|
24
|
+
const completed = !skillsToPractice || skillsToPractice.failed.length === 0 && skillsToPractice.unattempted.length === 0;
|
|
25
|
+
const left = skillsToPractice ? skillsToPractice.failed.length + skillsToPractice.unattempted.length : 0;
|
|
26
|
+
grouped.get(domainId).push({
|
|
27
|
+
standardId,
|
|
28
|
+
title: treeMapping[standardId].shortDescriptionTranslations || treeMapping[standardId].nameTranslations,
|
|
29
|
+
subtitle: treeMapping[standardId].originalId,
|
|
30
|
+
skillIds,
|
|
31
|
+
skillsToPractice,
|
|
32
|
+
skillsCount,
|
|
33
|
+
isCompleted: completed,
|
|
34
|
+
skillsLeft: left,
|
|
35
|
+
scorePercentage
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
return grouped;
|
|
39
|
+
};
|
|
40
|
+
const averageScorePercentage = standards => {
|
|
41
|
+
if (standards.length === 0) return 0;
|
|
42
|
+
const sum = standards.reduce((acc, s) => acc + s.scorePercentage, 0);
|
|
43
|
+
return Math.round(sum / standards.length * 10) / 10;
|
|
44
|
+
};
|
|
45
|
+
const resolveDomainColors = nonFluencyIndex => {
|
|
46
|
+
if (nonFluencyIndex < 0) {
|
|
47
|
+
return {
|
|
48
|
+
color: _reactNativeUi.COLORS.PRIMARY_ORANGE,
|
|
49
|
+
borderColor: _reactNativeUi.COLORS.ORANGE_6
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
color: _pmProgressConstants.DOMAIN_COLORS[nonFluencyIndex] ?? _pmProgressConstants.DOMAIN_COLORS[_pmProgressConstants.DOMAIN_COLORS.length - 1],
|
|
54
|
+
borderColor: _pmProgressConstants.DOMAIN_BORDER_COLORS[nonFluencyIndex] ?? _pmProgressConstants.DOMAIN_BORDER_COLORS[_pmProgressConstants.DOMAIN_BORDER_COLORS.length - 1]
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
const getDomainStructure = (data, treeMapping) => {
|
|
58
|
+
const grouped = groupStandardsByDomain(data.standardStats, treeMapping);
|
|
59
|
+
const entries = Array.from(grouped.entries());
|
|
60
|
+
const nonFluencyDomainIds = entries.map(([id]) => id).filter(id => !isFluencyDomain(treeMapping[id].nameTranslations));
|
|
61
|
+
return entries.map(([domainId, standards]) => {
|
|
62
|
+
const title = treeMapping[domainId].nameTranslations;
|
|
63
|
+
const nonFluencyIndex = nonFluencyDomainIds.indexOf(domainId);
|
|
64
|
+
return {
|
|
65
|
+
domainId,
|
|
66
|
+
title,
|
|
67
|
+
...resolveDomainColors(nonFluencyIndex),
|
|
68
|
+
backgroundColor: _reactNativeUi.COLORS.NEUTRAL_4,
|
|
69
|
+
standards,
|
|
70
|
+
scorePercentage: averageScorePercentage(standards)
|
|
71
|
+
};
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
exports.getDomainStructure = getDomainStructure;
|
|
75
|
+
/**
|
|
76
|
+
* Resolves which grade a student should practice on.
|
|
77
|
+
*
|
|
78
|
+
* When userGrade is -1, null, or undefined (i.e. not explicitly set), we fall back
|
|
79
|
+
* to the student's enrolled grades and pick the lowest one that isn't locked.
|
|
80
|
+
* If userGrade is set but locked, we find the closest unlocked grade.
|
|
81
|
+
* All candidates are filtered against lockedGrades, so only unlocked grades are ever returned.
|
|
82
|
+
*
|
|
83
|
+
* Examples:
|
|
84
|
+
* locked=[1,2], enrolled=[2,5], grade=4 → 4 (unlocked, use as-is)
|
|
85
|
+
* locked=[1,2], enrolled=[2,5], grade=-1 → 5 (lowest unlocked enrolled)
|
|
86
|
+
* locked=[0,1,2,5], enrolled=[2,5], grade=-1 → 3 (no enrolled available, first unlocked)
|
|
87
|
+
* locked=[0,1], enrolled=[2,5], grade=-1 → 2 (lowest unlocked enrolled)
|
|
88
|
+
* locked=[0,1,2,3], enrolled=[3,9], grade=-1 → 9 (lowest unlocked enrolled)
|
|
89
|
+
* locked=[1,2,3], enrolled=[2,5], grade=2 → 4 (grade locked, closest below=none, above=4)
|
|
90
|
+
*/
|
|
91
|
+
const getInitialPmGrade = ({
|
|
92
|
+
treeGrades,
|
|
93
|
+
lockedGrades,
|
|
94
|
+
enrolledGrades,
|
|
95
|
+
userGrade
|
|
96
|
+
}) => {
|
|
97
|
+
const locked = new Set(lockedGrades);
|
|
98
|
+
const unlocked = treeGrades.filter(g => !locked.has(g)).sort((a, b) => a - b);
|
|
99
|
+
if (unlocked.length === 0) {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
const isUserGradeMissing = userGrade === null || userGrade === -1 || userGrade === undefined;
|
|
103
|
+
if (isUserGradeMissing) {
|
|
104
|
+
const unlockedEnrolled = enrolledGrades.filter(g => unlocked.includes(g));
|
|
105
|
+
return unlockedEnrolled.length > 0 ? Math.min(...unlockedEnrolled) : unlocked[0];
|
|
106
|
+
}
|
|
107
|
+
if (unlocked.includes(userGrade)) return userGrade;
|
|
108
|
+
const nearestBelow = [...unlocked].reverse().find(grade => grade < userGrade);
|
|
109
|
+
const nearestAbove = unlocked.find(grade => grade > userGrade);
|
|
110
|
+
return nearestBelow ?? nearestAbove ?? unlocked[0] ?? 0;
|
|
111
|
+
};
|
|
112
|
+
exports.getInitialPmGrade = getInitialPmGrade;
|
|
113
|
+
const formatTime = ms => {
|
|
114
|
+
const totalMinutes = Math.floor(ms / 60_000);
|
|
115
|
+
if (totalMinutes < 60) return `${totalMinutes}m`;
|
|
116
|
+
const hours = Math.round(totalMinutes / 60);
|
|
117
|
+
return `${hours}h`;
|
|
118
|
+
};
|
|
119
|
+
exports.formatTime = formatTime;
|
|
120
|
+
const isTreeDataReady = source => source.tree !== null && source.stats !== null && source.user !== null && source.grade !== null;
|
|
121
|
+
exports.isTreeDataReady = isTreeDataReady;
|
|
122
|
+
const createChartConfig = size => {
|
|
123
|
+
const OUTER_MARGIN = 5;
|
|
124
|
+
return {
|
|
125
|
+
size,
|
|
126
|
+
outerRadius: size / 2 - OUTER_MARGIN,
|
|
127
|
+
innerRadius: _chartHelpers.dynamicInnerRadius,
|
|
128
|
+
cornerRadius: _chartHelpers.dynamicCornerRadius,
|
|
129
|
+
gapBetweenSlices: 8,
|
|
130
|
+
pressOffset: 4,
|
|
131
|
+
borderWidth: 4,
|
|
132
|
+
colors: {
|
|
133
|
+
background: _reactNativeUi.COLORS.NEUTRAL_1,
|
|
134
|
+
highlightedBackground: _reactNativeUi.COLORS.NEUTRAL_6
|
|
135
|
+
},
|
|
136
|
+
outerArc: {
|
|
137
|
+
color: '#FFFFFF40',
|
|
138
|
+
strokeWidth: 11.75,
|
|
139
|
+
dashWidth: 22
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Returns all skills from a standard, sorted by difficulty.
|
|
146
|
+
* Used when the standard is fully completed to allow revisiting.
|
|
147
|
+
*/
|
|
148
|
+
exports.createChartConfig = createChartConfig;
|
|
149
|
+
const getAllSkillsFromStandard = (standard, skillsMapping) => standard.skillIds.map(id => skillsMapping[id]).filter(Boolean).sort((a, b) => skillsMapping[a._id]?.difficulty - skillsMapping[b._id]?.difficulty);
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Returns uncompleted skills from a single standard.
|
|
153
|
+
* Failed skills come first, then unattempted.
|
|
154
|
+
*/
|
|
155
|
+
exports.getAllSkillsFromStandard = getAllSkillsFromStandard;
|
|
156
|
+
const getUncompletedSkillsFromStandard = (standard, skillsMapping) => {
|
|
157
|
+
if (!standard.skillsToPractice) return [];
|
|
158
|
+
return [...standard.skillsToPractice.failed, ...standard.skillsToPractice.unattempted].map(({
|
|
159
|
+
skillId
|
|
160
|
+
}) => skillsMapping[skillId]).filter(Boolean).sort((a, b) => skillsMapping[a._id]?.difficulty - skillsMapping[b._id]?.difficulty);
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Returns uncompleted skills from a domain, scanning standards from the beginning.
|
|
165
|
+
* Optionally excludes a standard (used when student selected a specific one).
|
|
166
|
+
*/
|
|
167
|
+
exports.getUncompletedSkillsFromStandard = getUncompletedSkillsFromStandard;
|
|
168
|
+
const getUncompletedSkillsFromDomain = (domain, skillsMapping, excludeStandardId) => domain.standards.filter(s => !s.isCompleted && s.standardId !== excludeStandardId).flatMap(s => getUncompletedSkillsFromStandard(s, skillsMapping));
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Returns all uncompleted skills across all domains in list order.
|
|
172
|
+
* Used as a fallback when recommendation arrays are empty.
|
|
173
|
+
*/
|
|
174
|
+
exports.getUncompletedSkillsFromDomain = getUncompletedSkillsFromDomain;
|
|
175
|
+
const getAllUncompletedSkills = (domains, skillsMapping) => domains.filter(d => d.standards.some(s => !s.isCompleted)).flatMap(d => getUncompletedSkillsFromDomain(d, skillsMapping));
|
|
176
|
+
|
|
177
|
+
/** Moves item with the given id to the front: [0,1,2,3,4] with id of 3rd → [3,0,1,2,4] */
|
|
178
|
+
exports.getAllUncompletedSkills = getAllUncompletedSkills;
|
|
179
|
+
const shiftToBeginningOfArray = (id, items) => {
|
|
180
|
+
const index = items.findIndex(item => item._id === id);
|
|
181
|
+
if (index <= 0) return items;
|
|
182
|
+
return [items[index], ...items.slice(0, index), ...items.slice(index + 1)];
|
|
183
|
+
};
|
|
184
|
+
exports.shiftToBeginningOfArray = shiftToBeginningOfArray;
|
|
185
|
+
const withoutDuplicates = skills => {
|
|
186
|
+
const seen = new Set();
|
|
187
|
+
return skills.filter(skill => {
|
|
188
|
+
if (!skill) return false;
|
|
189
|
+
if (seen.has(skill._id)) return false;
|
|
190
|
+
seen.add(skill._id);
|
|
191
|
+
return true;
|
|
192
|
+
});
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
// Reorders grades starting from the given grade, wrapping around. [1,2,3] with start=2 → [2,3,1]
|
|
196
|
+
exports.withoutDuplicates = withoutDuplicates;
|
|
197
|
+
const startGradesFrom = (grades, startGrade) => {
|
|
198
|
+
const index = grades.findIndex(({
|
|
199
|
+
value
|
|
200
|
+
}) => value === startGrade);
|
|
201
|
+
if (index <= 0) return grades;
|
|
202
|
+
return [...grades.slice(index), ...grades.slice(0, index)];
|
|
203
|
+
};
|
|
204
|
+
exports.startGradesFrom = startGradesFrom;
|
|
205
|
+
const isFluencyDomain = title => {
|
|
206
|
+
return title.toLowerCase() === _pmProgressConstants.CustomDomain.FLUENCY.toLowerCase();
|
|
207
|
+
};
|
|
208
|
+
exports.isFluencyDomain = isFluencyDomain;
|
|
209
|
+
const formatGradeName = grade => {
|
|
210
|
+
if (grade === -1) return (0, _helpers.getText)('pmProgress.gradeOther');
|
|
211
|
+
if (grade === 0) return `${(0, _helpers.getText)('pmProgress.grade')} ${(0, _helpers.getText)('pmProgress.gradeK')}`;
|
|
212
|
+
return `${(0, _helpers.getText)('pmProgress.grade')} ${grade}`;
|
|
213
|
+
};
|
|
214
|
+
exports.formatGradeName = formatGradeName;
|
|
215
|
+
const formatGradeLabel = (grade, customLabelsMap) => {
|
|
216
|
+
if (!customLabelsMap) return formatGradeName(grade);
|
|
217
|
+
const label = customLabelsMap[String(grade)];
|
|
218
|
+
if (!label) return formatGradeName(grade);
|
|
219
|
+
if (label.noPrefix) return label.name;
|
|
220
|
+
return `${(0, _helpers.getText)('pmProgress.grade')} ${label.name}`;
|
|
221
|
+
};
|
|
222
|
+
exports.formatGradeLabel = formatGradeLabel;
|
|
223
|
+
const getTreeGrades = (tree, user) => {
|
|
224
|
+
const lockedGrades = new Set(user.setting.practiceModeLockedGrades);
|
|
225
|
+
const gradeNodes = Object.values(tree.treeMapping).filter(node => node?.type === 'grade' && node.attributes.grade !== null);
|
|
226
|
+
const uniqueSortedGrades = [...new Set(gradeNodes.map(node => node.attributes.grade))].sort((a, b) => a - b);
|
|
227
|
+
return uniqueSortedGrades.map(grade => ({
|
|
228
|
+
name: formatGradeName(grade),
|
|
229
|
+
value: grade,
|
|
230
|
+
isLocked: lockedGrades.has(grade)
|
|
231
|
+
}));
|
|
232
|
+
};
|
|
233
|
+
exports.getTreeGrades = getTreeGrades;
|
|
234
|
+
//# sourceMappingURL=pmProgress.helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeUi","require","_pmProgressConstants","_chartHelpers","_helpers","groupStandardsByDomain","standardStats","treeMapping","grouped","Map","standardId","stat","Object","entries","domainId","skillIds","skillsCount","scorePercentage","skillsToPractice","has","set","completed","failed","length","unattempted","left","get","push","title","shortDescriptionTranslations","nameTranslations","subtitle","originalId","isCompleted","skillsLeft","averageScorePercentage","standards","sum","reduce","acc","s","Math","round","resolveDomainColors","nonFluencyIndex","color","COLORS","PRIMARY_ORANGE","borderColor","ORANGE_6","DOMAIN_COLORS","DOMAIN_BORDER_COLORS","getDomainStructure","data","Array","from","nonFluencyDomainIds","map","id","filter","isFluencyDomain","indexOf","backgroundColor","NEUTRAL_4","exports","getInitialPmGrade","treeGrades","lockedGrades","enrolledGrades","userGrade","locked","Set","unlocked","g","sort","a","b","isUserGradeMissing","undefined","unlockedEnrolled","includes","min","nearestBelow","reverse","find","grade","nearestAbove","formatTime","ms","totalMinutes","floor","hours","isTreeDataReady","source","tree","stats","user","createChartConfig","size","OUTER_MARGIN","outerRadius","innerRadius","dynamicInnerRadius","cornerRadius","dynamicCornerRadius","gapBetweenSlices","pressOffset","borderWidth","colors","background","NEUTRAL_1","highlightedBackground","NEUTRAL_6","outerArc","strokeWidth","dashWidth","getAllSkillsFromStandard","standard","skillsMapping","Boolean","_id","difficulty","getUncompletedSkillsFromStandard","skillId","getUncompletedSkillsFromDomain","domain","excludeStandardId","flatMap","getAllUncompletedSkills","domains","d","some","shiftToBeginningOfArray","items","index","findIndex","item","slice","withoutDuplicates","skills","seen","skill","add","startGradesFrom","grades","startGrade","value","toLowerCase","CustomDomain","FLUENCY","formatGradeName","getText","formatGradeLabel","customLabelsMap","label","String","noPrefix","name","getTreeGrades","setting","practiceModeLockedGrades","gradeNodes","values","node","type","attributes","uniqueSortedGrades","isLocked"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/shared/pmProgress.helpers.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RecommendationType = void 0;
|
|
7
|
+
let RecommendationType = exports.RecommendationType = /*#__PURE__*/function (RecommendationType) {
|
|
8
|
+
RecommendationType["MAGMA"] = "magma";
|
|
9
|
+
RecommendationType["TEACHER"] = "teacher";
|
|
10
|
+
return RecommendationType;
|
|
11
|
+
}({});
|
|
12
|
+
//# sourceMappingURL=pmProgress.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["RecommendationType","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/shared/pmProgress.types.ts"],"mappings":";;;;;;IAqEYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA","ignoreList":[]}
|
|
@@ -3,16 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.VoiceRecorderState = exports.
|
|
6
|
+
exports.VoiceRecorderState = exports.VOICE_RECORDER_MIN_DURATION_MS = exports.VOICE_RECORDER_MAX_DURATION_MS = exports.VOICE_RECORDER_CONTAINER_SIZES = exports.TRANSCRIPT_RETRY_INTERVAL_MS = exports.TRANSCRIPT_MAX_RETRIES = exports.NO_AUDIO_BE_MESSAGE = exports.DROPDOWN_MAX_CONTENT_HEIGHT = void 0;
|
|
7
7
|
const VOICE_RECORDER_CONTAINER_SIZES = exports.VOICE_RECORDER_CONTAINER_SIZES = {
|
|
8
|
-
COLLAPSED:
|
|
9
|
-
|
|
10
|
-
advanced: 52
|
|
11
|
-
},
|
|
12
|
-
EXPANDED: {
|
|
13
|
-
default: 152,
|
|
14
|
-
advanced: 136
|
|
15
|
-
}
|
|
8
|
+
COLLAPSED: 61,
|
|
9
|
+
EXPANDED: 152
|
|
16
10
|
};
|
|
17
11
|
const VOICE_RECORDER_MAX_DURATION_MS = exports.VOICE_RECORDER_MAX_DURATION_MS = 60000; // 1 minute
|
|
18
12
|
const VOICE_RECORDER_MIN_DURATION_MS = exports.VOICE_RECORDER_MIN_DURATION_MS = 300;
|
|
@@ -26,10 +20,4 @@ const DROPDOWN_MAX_CONTENT_HEIGHT = exports.DROPDOWN_MAX_CONTENT_HEIGHT = 330;
|
|
|
26
20
|
const TRANSCRIPT_RETRY_INTERVAL_MS = exports.TRANSCRIPT_RETRY_INTERVAL_MS = 4000;
|
|
27
21
|
const TRANSCRIPT_MAX_RETRIES = exports.TRANSCRIPT_MAX_RETRIES = 15;
|
|
28
22
|
const NO_AUDIO_BE_MESSAGE = exports.NO_AUDIO_BE_MESSAGE = 'No audio';
|
|
29
|
-
|
|
30
|
-
//todo: remove native shadows from rn-ui and set from WEB for both platforms
|
|
31
|
-
const VOICE_RECORD_SHAWODS = exports.VOICE_RECORD_SHAWODS = {
|
|
32
|
-
default: '0 1px 3px 0 rgba(51, 51, 51, 0.10), 0 0 1px 0 rgba(51, 51, 51, 0.40)',
|
|
33
|
-
advanced: '0 0 1px 0 rgba(51, 51, 51, 0.20), 0 3px 10px 0 rgba(51, 51, 51, 0.16)'
|
|
34
|
-
};
|
|
35
23
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VOICE_RECORDER_CONTAINER_SIZES","exports","COLLAPSED","
|
|
1
|
+
{"version":3,"names":["VOICE_RECORDER_CONTAINER_SIZES","exports","COLLAPSED","EXPANDED","VOICE_RECORDER_MAX_DURATION_MS","VOICE_RECORDER_MIN_DURATION_MS","VoiceRecorderState","DROPDOWN_MAX_CONTENT_HEIGHT","TRANSCRIPT_RETRY_INTERVAL_MS","TRANSCRIPT_MAX_RETRIES","NO_AUDIO_BE_MESSAGE"],"sourceRoot":"../../../../src","sources":["features/voice/constants.ts"],"mappings":";;;;;;AAAO,MAAMA,8BAA8B,GAAAC,OAAA,CAAAD,8BAAA,GAAG;EAC5CE,SAAS,EAAE,EAAE;EACbC,QAAQ,EAAE;AACZ,CAAC;AACM,MAAMC,8BAA8B,GAAAH,OAAA,CAAAG,8BAAA,GAAG,KAAK,EAAC;AAC7C,MAAMC,8BAA8B,GAAAJ,OAAA,CAAAI,8BAAA,GAAG,GAAG;AAAA,IACrCC,kBAAkB,GAAAL,OAAA,CAAAK,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAKvB,MAAMC,2BAA2B,GAAAN,OAAA,CAAAM,2BAAA,GAAG,GAAG;AACvC,MAAMC,4BAA4B,GAAAP,OAAA,CAAAO,4BAAA,GAAG,IAAI;AACzC,MAAMC,sBAAsB,GAAAR,OAAA,CAAAQ,sBAAA,GAAG,EAAE;AACjC,MAAMC,mBAAmB,GAAAT,OAAA,CAAAS,mBAAA,GAAG,UAAU","ignoreList":[]}
|