@coorpacademy/player-web 4.7.16-alpha.12 → 4.7.16-alpha.202
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/map-state-to-props/answer.js +2 -1
- package/es/map-state-to-props/answer.js.map +1 -1
- package/es/map-state-to-props/player.js +3 -1
- package/es/map-state-to-props/player.js.map +1 -1
- package/es/map-state-to-props/test/answer.js +2 -1
- package/es/map-state-to-props/test/answer.js.map +1 -1
- package/es/views/test/slide.js +6 -2
- package/es/views/test/slide.js.map +1 -1
- package/lib/map-state-to-props/answer.js +2 -1
- package/lib/map-state-to-props/answer.js.map +1 -1
- package/lib/map-state-to-props/player.js +3 -1
- package/lib/map-state-to-props/player.js.map +1 -1
- package/lib/map-state-to-props/test/answer.js +2 -1
- package/lib/map-state-to-props/test/answer.js.map +1 -1
- package/lib/views/test/slide.js +6 -2
- package/lib/views/test/slide.js.map +1 -1
- package/locales/bs/player.json +1 -0
- package/locales/cs/player.json +1 -0
- package/locales/de/player.json +1 -0
- package/locales/en/player.json +1 -0
- package/locales/es/player.json +1 -0
- package/locales/et/player.json +1 -0
- package/locales/fr/player.json +1 -0
- package/locales/hr/player.json +1 -0
- package/locales/hu/player.json +1 -0
- package/locales/hy/player.json +1 -0
- package/locales/it/player.json +1 -0
- package/locales/ja/player.json +1 -0
- package/locales/ko/player.json +1 -0
- package/locales/nl/player.json +1 -0
- package/locales/pl/player.json +1 -0
- package/locales/pt/player.json +1 -0
- package/locales/ro/player.json +1 -0
- package/locales/ru/player.json +1 -0
- package/locales/sk/player.json +1 -0
- package/locales/th/player.json +1 -0
- package/locales/tl/player.json +1 -0
- package/locales/tr/player.json +1 -0
- package/locales/uk/player.json +1 -0
- package/locales/vi/player.json +1 -0
- package/locales/zh/player.json +1 -0
- package/locales/zh_TW/player.json +1 -0
- package/package.json +6 -6
|
@@ -136,7 +136,8 @@ const templateSelectProps = (options, store) => {
|
|
|
136
136
|
type: choice.type,
|
|
137
137
|
name: choice.name,
|
|
138
138
|
onChange: _pipe(updateTemplateAnswer(answers, index, maxLength), editAnswerAction_(state, slide)),
|
|
139
|
-
options: _isEmpty(answer) ? [temporaryOption].concat(selectOptions) : selectOptions
|
|
139
|
+
options: _isEmpty(answer) ? [temporaryOption].concat(selectOptions) : selectOptions,
|
|
140
|
+
'aria-label': translate('Select an answer')
|
|
140
141
|
};
|
|
141
142
|
};
|
|
142
143
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"answer.js","names":["getChoices","getQuestionType","getAnswerValues","editAnswer","editAnswerAction","options","dispatch","newValue","qcmProps","store","getChoices_","editAnswerAction_","state","slide","answers","_editAnswerAction","props","type","choice","title","label","selected","onClick","qcmDragProps","indexInAnswer","order","qcmGraphicProps","image","updateTemplateAnswer","_answers","index","max","value","undefined","a","templateTextProps","translate","name","placeholder","onChange","templateSelectProps","answer","temporaryOption","validOption","selectOptions","items","map","item","text","maxLength","concat","templateProps","templateTextProps_","templateSelectProps_","template","question","content","basicProps","toAnswer","values","maxValue","position","sliderProps","step","min","stateValue","currentValue","indexValue","handleChange","sliderPosition","explanation","minLabel","unitLabel","maxLabel","createGetAnswerProps","qcmProps_","qcmGraphicProps_","qcmDragProps_","basicProps_","templateProps_","sliderProps_","Error","createGetHelp"],"sources":["../../src/map-state-to-props/answer.js"],"sourcesContent":["import {\n pipe,\n includes,\n toInteger,\n head,\n map,\n get,\n divide,\n multiply,\n __,\n round,\n size,\n constant,\n times,\n set,\n isEmpty,\n isNil,\n rangeStep,\n toString as _toString,\n indexOf\n} from 'lodash/fp';\nimport {getChoices, getQuestionType, getAnswerValues, editAnswer} from '@coorpacademy/player-store';\n\nconst editAnswerAction = (options, {dispatch}) =>\n constant(newValue => {\n return dispatch(editAnswer(newValue));\n });\n\nconst qcmProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n const _editAnswerAction = editAnswerAction_(state, slide);\n\n const props = {\n type: 'qcm',\n answers: map(\n choice => ({\n title: choice.label,\n selected: includes(choice.label, answers),\n onClick: () => _editAnswerAction(choice)\n }),\n getChoices_(slide, state)\n )\n };\n\n return props;\n };\n};\n\nconst qcmDragProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmDrag',\n answers: map(choice => {\n const indexInAnswer = indexOf(choice.label, answers);\n return {\n title: choice.label,\n selected: indexInAnswer !== -1,\n order: indexInAnswer,\n onClick: () => editAnswerAction_(state, slide)(choice)\n };\n }, getChoices_(slide, state))\n };\n };\n};\n\nconst qcmGraphicProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmGraphic',\n answers: map(\n choice => ({\n title: choice.label,\n image: get('media.src.0.url', choice),\n selected: includes(choice.label, answers),\n onClick: () => editAnswerAction_(state, slide)(choice)\n }),\n getChoices_(slide, state)\n )\n };\n };\n};\n\nconst updateTemplateAnswer = (_answers, index, max) => value => {\n const answers = !_answers ? times(constant(undefined), max) : _answers;\n return map(a => (isNil(a) ? '' : a), set(index, value, answers));\n};\n\nconst templateTextProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n return {\n type: choice.type,\n name: choice.name,\n placeholder: translate('Type here'),\n value: get(index, answers),\n onChange: pipe(updateTemplateAnswer(answers, index), editAnswerAction_(state, slide))\n };\n };\n};\n\nconst templateSelectProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n const answer = get(index, answers);\n const temporaryOption = {\n name: translate('Select an answer'),\n value: '',\n validOption: false,\n selected: true\n };\n const selectOptions = choice.items.map(item => {\n return {\n name: item.text,\n value: item.text,\n validOption: true,\n selected: item.text === answer\n };\n });\n const maxLength = get('question.content.choices.length', slide);\n\n return {\n type: choice.type,\n name: choice.name,\n onChange: pipe(\n updateTemplateAnswer(answers, index, maxLength),\n editAnswerAction_(state, slide)\n ),\n options: isEmpty(answer) ? [temporaryOption].concat(selectOptions) : selectOptions\n };\n };\n};\n\nconst templateProps = (options, store) => {\n const getChoices_ = getChoices();\n const templateTextProps_ = templateTextProps(options, store);\n const templateSelectProps_ = templateSelectProps(options, store);\n\n return (state, slide) => {\n return {\n type: 'template',\n template: slide.question.content.template,\n answers: getChoices_(slide, state).map((choice, index) =>\n choice.type === 'text'\n ? templateTextProps_(state, slide, choice, index)\n : templateSelectProps_(state, slide, choice, index)\n )\n };\n };\n};\n\nconst basicProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const {translate} = options;\n return {\n type: 'freeText',\n placeholder: translate('Type here'),\n value: pipe(getAnswerValues, head)(slide, state),\n onChange: editAnswerAction_(state, slide)\n };\n };\n};\n\nconst toAnswer = values => {\n const maxValue = size(values) - 1;\n return position => {\n return pipe(multiply(maxValue), round, get(__, values), _toString)(position);\n };\n};\n\nconst sliderProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const values = rangeStep(\n slide.question.content.step || 1,\n slide.question.content.min,\n slide.question.content.max + 1\n );\n\n const stateValue = pipe(getAnswerValues, head)(slide, state);\n const currentValue = toInteger(stateValue);\n\n const indexValue = indexOf(currentValue, values);\n const handleChange = editAnswerAction_(state, slide);\n const sliderPosition = divide(indexValue, size(values) - 1);\n\n return {\n type: 'slider',\n placeholder: slide.question.explanation,\n minLabel: `${slide.question.content.min} ${slide.question.content.unitLabel}`,\n maxLabel: `${slide.question.content.max} ${slide.question.content.unitLabel}`,\n title: `${currentValue} ${slide.question.content.unitLabel}`,\n value: sliderPosition,\n onChange: pipe(toAnswer(values), handleChange)\n };\n };\n};\n\nconst createGetAnswerProps = (options, store) => {\n const qcmProps_ = qcmProps(options, store);\n const qcmGraphicProps_ = qcmGraphicProps(options, store);\n const qcmDragProps_ = qcmDragProps(options, store);\n const basicProps_ = basicProps(options, store);\n const templateProps_ = templateProps(options, store);\n const sliderProps_ = sliderProps(options, store);\n\n return (state, slide) => {\n if (!slide) {\n return;\n }\n const type = getQuestionType(slide);\n switch (type) {\n case 'qcm':\n return qcmProps_(state, slide);\n\n case 'qcmGraphic':\n return qcmGraphicProps_(state, slide);\n\n case 'qcmDrag':\n return qcmDragProps_(state, slide);\n\n case 'basic':\n return basicProps_(state, slide);\n\n case 'template':\n return templateProps_(state, slide);\n\n case 'slider':\n return sliderProps_(state, slide);\n\n default:\n throw new Error(`${type} is not an handled question.type`);\n }\n };\n};\n\nconst createGetHelp = (options, store) => slide => {\n const {translate} = options;\n return get('question.explanation', slide) || translate('Select something below');\n};\n\nexport {createGetAnswerProps, createGetHelp};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"answer.js","names":["getChoices","getQuestionType","getAnswerValues","editAnswer","editAnswerAction","options","dispatch","newValue","qcmProps","store","getChoices_","editAnswerAction_","state","slide","answers","_editAnswerAction","props","type","choice","title","label","selected","onClick","qcmDragProps","indexInAnswer","order","qcmGraphicProps","image","updateTemplateAnswer","_answers","index","max","value","undefined","a","templateTextProps","translate","name","placeholder","onChange","templateSelectProps","answer","temporaryOption","validOption","selectOptions","items","map","item","text","maxLength","concat","templateProps","templateTextProps_","templateSelectProps_","template","question","content","basicProps","toAnswer","values","maxValue","position","sliderProps","step","min","stateValue","currentValue","indexValue","handleChange","sliderPosition","explanation","minLabel","unitLabel","maxLabel","createGetAnswerProps","qcmProps_","qcmGraphicProps_","qcmDragProps_","basicProps_","templateProps_","sliderProps_","Error","createGetHelp"],"sources":["../../src/map-state-to-props/answer.js"],"sourcesContent":["import {\n pipe,\n includes,\n toInteger,\n head,\n map,\n get,\n divide,\n multiply,\n __,\n round,\n size,\n constant,\n times,\n set,\n isEmpty,\n isNil,\n rangeStep,\n toString as _toString,\n indexOf\n} from 'lodash/fp';\nimport {getChoices, getQuestionType, getAnswerValues, editAnswer} from '@coorpacademy/player-store';\n\nconst editAnswerAction = (options, {dispatch}) =>\n constant(newValue => {\n return dispatch(editAnswer(newValue));\n });\n\nconst qcmProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n const _editAnswerAction = editAnswerAction_(state, slide);\n\n const props = {\n type: 'qcm',\n answers: map(\n choice => ({\n title: choice.label,\n selected: includes(choice.label, answers),\n onClick: () => _editAnswerAction(choice)\n }),\n getChoices_(slide, state)\n )\n };\n\n return props;\n };\n};\n\nconst qcmDragProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmDrag',\n answers: map(choice => {\n const indexInAnswer = indexOf(choice.label, answers);\n return {\n title: choice.label,\n selected: indexInAnswer !== -1,\n order: indexInAnswer,\n onClick: () => editAnswerAction_(state, slide)(choice)\n };\n }, getChoices_(slide, state))\n };\n };\n};\n\nconst qcmGraphicProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmGraphic',\n answers: map(\n choice => ({\n title: choice.label,\n image: get('media.src.0.url', choice),\n selected: includes(choice.label, answers),\n onClick: () => editAnswerAction_(state, slide)(choice)\n }),\n getChoices_(slide, state)\n )\n };\n };\n};\n\nconst updateTemplateAnswer = (_answers, index, max) => value => {\n const answers = !_answers ? times(constant(undefined), max) : _answers;\n return map(a => (isNil(a) ? '' : a), set(index, value, answers));\n};\n\nconst templateTextProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n return {\n type: choice.type,\n name: choice.name,\n placeholder: translate('Type here'),\n value: get(index, answers),\n onChange: pipe(updateTemplateAnswer(answers, index), editAnswerAction_(state, slide))\n };\n };\n};\n\nconst templateSelectProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n const answer = get(index, answers);\n const temporaryOption = {\n name: translate('Select an answer'),\n value: '',\n validOption: false,\n selected: true\n };\n const selectOptions = choice.items.map(item => {\n return {\n name: item.text,\n value: item.text,\n validOption: true,\n selected: item.text === answer\n };\n });\n const maxLength = get('question.content.choices.length', slide);\n\n return {\n type: choice.type,\n name: choice.name,\n onChange: pipe(\n updateTemplateAnswer(answers, index, maxLength),\n editAnswerAction_(state, slide)\n ),\n options: isEmpty(answer) ? [temporaryOption].concat(selectOptions) : selectOptions,\n 'aria-label': translate('Select an answer')\n };\n };\n};\n\nconst templateProps = (options, store) => {\n const getChoices_ = getChoices();\n const templateTextProps_ = templateTextProps(options, store);\n const templateSelectProps_ = templateSelectProps(options, store);\n\n return (state, slide) => {\n return {\n type: 'template',\n template: slide.question.content.template,\n answers: getChoices_(slide, state).map((choice, index) =>\n choice.type === 'text'\n ? templateTextProps_(state, slide, choice, index)\n : templateSelectProps_(state, slide, choice, index)\n )\n };\n };\n};\n\nconst basicProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const {translate} = options;\n return {\n type: 'freeText',\n placeholder: translate('Type here'),\n value: pipe(getAnswerValues, head)(slide, state),\n onChange: editAnswerAction_(state, slide)\n };\n };\n};\n\nconst toAnswer = values => {\n const maxValue = size(values) - 1;\n return position => {\n return pipe(multiply(maxValue), round, get(__, values), _toString)(position);\n };\n};\n\nconst sliderProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const values = rangeStep(\n slide.question.content.step || 1,\n slide.question.content.min,\n slide.question.content.max + 1\n );\n\n const stateValue = pipe(getAnswerValues, head)(slide, state);\n const currentValue = toInteger(stateValue);\n\n const indexValue = indexOf(currentValue, values);\n const handleChange = editAnswerAction_(state, slide);\n const sliderPosition = divide(indexValue, size(values) - 1);\n\n return {\n type: 'slider',\n placeholder: slide.question.explanation,\n minLabel: `${slide.question.content.min} ${slide.question.content.unitLabel}`,\n maxLabel: `${slide.question.content.max} ${slide.question.content.unitLabel}`,\n title: `${currentValue} ${slide.question.content.unitLabel}`,\n value: sliderPosition,\n onChange: pipe(toAnswer(values), handleChange)\n };\n };\n};\n\nconst createGetAnswerProps = (options, store) => {\n const qcmProps_ = qcmProps(options, store);\n const qcmGraphicProps_ = qcmGraphicProps(options, store);\n const qcmDragProps_ = qcmDragProps(options, store);\n const basicProps_ = basicProps(options, store);\n const templateProps_ = templateProps(options, store);\n const sliderProps_ = sliderProps(options, store);\n\n return (state, slide) => {\n if (!slide) {\n return;\n }\n const type = getQuestionType(slide);\n switch (type) {\n case 'qcm':\n return qcmProps_(state, slide);\n\n case 'qcmGraphic':\n return qcmGraphicProps_(state, slide);\n\n case 'qcmDrag':\n return qcmDragProps_(state, slide);\n\n case 'basic':\n return basicProps_(state, slide);\n\n case 'template':\n return templateProps_(state, slide);\n\n case 'slider':\n return sliderProps_(state, slide);\n\n default:\n throw new Error(`${type} is not an handled question.type`);\n }\n };\n};\n\nconst createGetHelp = (options, store) => slide => {\n const {translate} = options;\n return get('question.explanation', slide) || translate('Select something below');\n};\n\nexport {createGetAnswerProps, createGetHelp};\n"],"mappings":"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"}
|
|
@@ -95,12 +95,14 @@ const playerProps = (options, store) => {
|
|
|
95
95
|
|
|
96
96
|
const ctaButtonValidate = {
|
|
97
97
|
submitValue: translate('Validate'),
|
|
98
|
+
'aria-label': `${translate('Validate')}. ${translate('Submit your Answer')}`,
|
|
98
99
|
onClick: clickCTAHandler,
|
|
99
100
|
light: false,
|
|
100
101
|
small: false,
|
|
101
102
|
name: 'validateAnswerCTA',
|
|
102
103
|
secondary: false,
|
|
103
|
-
disabled: isQuestionCtaDisabled(state)
|
|
104
|
+
disabled: isQuestionCtaDisabled(state),
|
|
105
|
+
useButtonTag: true
|
|
104
106
|
};
|
|
105
107
|
const ctaButtonBackToQuestion = {
|
|
106
108
|
submitValue: translate(route === 'context' ? 'Go to question' : 'Back to question'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player.js","names":["getClue","getCoaches","getCurrentClue","getCurrentContent","getCurrentSlide","getEngineConfig","getQuestionMedia","getRoute","hasSeenLesson","selectClue","selectRoute","startChat","validateAnswer","isQuestionCtaDisabled","getProgressionSteps","createGetAnswerProps","createGetHelp","createHeaderStateToProps","getResourcesProps","ROUTES","STARS_DIFF","media","clue","playerProps","options","store","createGetAnswerProps_","getResourcesProps_","createGetHelp_","createHeaderStateToProps_","state","translate","services","dispatch","engineConfig","slide","slideContext","currentContent","answer","mediaQuestion","route","resources","help","starsDiff","clickClueHandler","clickSeeClueHandler","clickBackToAnswerHandler","clickCTAHandler","hasClue","slideLessons","notifyNewMedia","notifyReviewLesson","contextButton","title","type","selected","onClick","availableCoaches","buttons","disabled","notify","Coach","push","headerProps","ctaButtonValidate","submitValue","light","small","name","secondary","ctaButtonBackToQuestion","typeClue","text","onClickSeeClue","question","step","backgroundUrl","verticalMargin","cta","answerType","model","showNewMedia","showReviewLesson","header"],"sources":["../../src/map-state-to-props/player.js"],"sourcesContent":["import {includes, isEmpty, get, isNil} from 'lodash/fp';\nimport {\n getClue,\n getCoaches,\n getCurrentClue,\n getCurrentContent,\n getCurrentSlide,\n getEngineConfig,\n getQuestionMedia,\n getRoute,\n hasSeenLesson,\n selectClue,\n selectRoute,\n startChat,\n validateAnswer,\n isQuestionCtaDisabled,\n getProgressionSteps\n} from '@coorpacademy/player-store';\nimport {createGetAnswerProps, createGetHelp} from './answer';\nimport createHeaderStateToProps from './header';\nimport getResourcesProps from './resources';\n\nconst ROUTES = ['media', 'clue', 'context', 'answer'];\n\nconst STARS_DIFF = {\n media: 'starsPerResourceViewed',\n clue: 'starsPerAskingClue'\n};\n\nconst playerProps = (options, store) => {\n const createGetAnswerProps_ = createGetAnswerProps(options, store);\n const getResourcesProps_ = getResourcesProps(options, store);\n const createGetHelp_ = createGetHelp(options, store);\n const createHeaderStateToProps_ = createHeaderStateToProps(options, store);\n\n return state => {\n const {translate, services} = options;\n const {dispatch} = store;\n\n const engineConfig = getEngineConfig(state);\n const slide = getCurrentSlide(state);\n const slideContext = get('context', slide);\n const currentContent = getCurrentContent(state);\n const answer = createGetAnswerProps_(state, slide);\n const mediaQuestion = getQuestionMedia(state);\n const clue = getCurrentClue(state) || null;\n const route = getRoute(state);\n const resources = getResourcesProps_(state, slide);\n const help = createGetHelp_(slide);\n const starsDiff = get(STARS_DIFF[route], engineConfig) || 0;\n const clickClueHandler = () => dispatch(selectClue);\n const clickSeeClueHandler = () => dispatch(getClue);\n const clickBackToAnswerHandler = () => dispatch(selectRoute('answer'));\n const clickCTAHandler = () => dispatch(validateAnswer());\n\n const hasClue = get('hasClue', slide);\n const slideLessons = get('lessons', slide);\n\n const notifyNewMedia = !isEmpty(slideLessons) && !hasSeenLesson(state);\n const notifyReviewLesson = !isEmpty(slideLessons) && hasSeenLesson(state);\n\n const contextButton = get('title', slideContext)\n ? [\n {\n title: translate('Context'),\n type: 'context',\n selected: route === 'context',\n onClick: () => {\n return dispatch(selectRoute('context'));\n }\n }\n ]\n : [];\n\n const availableCoaches = getCoaches(state);\n const buttons = [\n ...contextButton,\n {\n title: translate('Question'),\n type: 'question',\n selected: route === 'answer',\n onClick: clickBackToAnswerHandler\n },\n {\n title: translate('Media'),\n type: 'media',\n selected: route === 'media',\n disabled: isEmpty(slideLessons),\n onClick: () => dispatch(selectRoute('media')),\n notify: notifyNewMedia\n },\n {\n title: translate('Clue'),\n type: 'clue',\n selected: route === 'clue',\n disabled: !hasClue,\n onClick: clickClueHandler\n }\n ];\n services?.Coach &&\n buttons.push({\n title: translate('Coach'),\n type: 'coach',\n disabled: availableCoaches === 0,\n onClick: () => dispatch(startChat())\n });\n const headerProps = createHeaderStateToProps_(state);\n\n if (!includes(route, ROUTES)) {\n return {};\n }\n\n const ctaButtonValidate = {\n submitValue: translate('Validate'),\n onClick: clickCTAHandler,\n light: false,\n small: false,\n name: 'validateAnswerCTA',\n secondary: false,\n disabled: isQuestionCtaDisabled(state)\n };\n\n const ctaButtonBackToQuestion = {\n submitValue: translate(route === 'context' ? 'Go to question' : 'Back to question'),\n onClick: clickBackToAnswerHandler,\n light: false,\n small: false,\n name: 'backToQuestionCTA',\n secondary: true,\n disabled: false\n };\n\n return {\n typeClue: route,\n text: clue,\n onClickSeeClue: clickSeeClueHandler,\n question: get('question.header')(slide),\n step: getProgressionSteps(state),\n slideContext,\n backgroundUrl: get('backgroundUrl')(currentContent),\n verticalMargin: 260,\n starsDiff,\n resources,\n cta: route === 'answer' ? ctaButtonValidate : ctaButtonBackToQuestion,\n help,\n answerType: {\n model: answer,\n media: mediaQuestion\n },\n showNewMedia: (isNil(route) || route === 'answer') && notifyNewMedia,\n showReviewLesson: (isNil(route) || route === 'answer') && notifyReviewLesson,\n buttons,\n header: headerProps\n };\n };\n};\n\nexport default playerProps;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"player.js","names":["getClue","getCoaches","getCurrentClue","getCurrentContent","getCurrentSlide","getEngineConfig","getQuestionMedia","getRoute","hasSeenLesson","selectClue","selectRoute","startChat","validateAnswer","isQuestionCtaDisabled","getProgressionSteps","createGetAnswerProps","createGetHelp","createHeaderStateToProps","getResourcesProps","ROUTES","STARS_DIFF","media","clue","playerProps","options","store","createGetAnswerProps_","getResourcesProps_","createGetHelp_","createHeaderStateToProps_","state","translate","services","dispatch","engineConfig","slide","slideContext","currentContent","answer","mediaQuestion","route","resources","help","starsDiff","clickClueHandler","clickSeeClueHandler","clickBackToAnswerHandler","clickCTAHandler","hasClue","slideLessons","notifyNewMedia","notifyReviewLesson","contextButton","title","type","selected","onClick","availableCoaches","buttons","disabled","notify","Coach","push","headerProps","ctaButtonValidate","submitValue","light","small","name","secondary","useButtonTag","ctaButtonBackToQuestion","typeClue","text","onClickSeeClue","question","step","backgroundUrl","verticalMargin","cta","answerType","model","showNewMedia","showReviewLesson","header"],"sources":["../../src/map-state-to-props/player.js"],"sourcesContent":["import {includes, isEmpty, get, isNil} from 'lodash/fp';\nimport {\n getClue,\n getCoaches,\n getCurrentClue,\n getCurrentContent,\n getCurrentSlide,\n getEngineConfig,\n getQuestionMedia,\n getRoute,\n hasSeenLesson,\n selectClue,\n selectRoute,\n startChat,\n validateAnswer,\n isQuestionCtaDisabled,\n getProgressionSteps\n} from '@coorpacademy/player-store';\nimport {createGetAnswerProps, createGetHelp} from './answer';\nimport createHeaderStateToProps from './header';\nimport getResourcesProps from './resources';\n\nconst ROUTES = ['media', 'clue', 'context', 'answer'];\n\nconst STARS_DIFF = {\n media: 'starsPerResourceViewed',\n clue: 'starsPerAskingClue'\n};\n\nconst playerProps = (options, store) => {\n const createGetAnswerProps_ = createGetAnswerProps(options, store);\n const getResourcesProps_ = getResourcesProps(options, store);\n const createGetHelp_ = createGetHelp(options, store);\n const createHeaderStateToProps_ = createHeaderStateToProps(options, store);\n\n return state => {\n const {translate, services} = options;\n const {dispatch} = store;\n\n const engineConfig = getEngineConfig(state);\n const slide = getCurrentSlide(state);\n const slideContext = get('context', slide);\n const currentContent = getCurrentContent(state);\n const answer = createGetAnswerProps_(state, slide);\n const mediaQuestion = getQuestionMedia(state);\n const clue = getCurrentClue(state) || null;\n const route = getRoute(state);\n const resources = getResourcesProps_(state, slide);\n const help = createGetHelp_(slide);\n const starsDiff = get(STARS_DIFF[route], engineConfig) || 0;\n const clickClueHandler = () => dispatch(selectClue);\n const clickSeeClueHandler = () => dispatch(getClue);\n const clickBackToAnswerHandler = () => dispatch(selectRoute('answer'));\n const clickCTAHandler = () => dispatch(validateAnswer());\n\n const hasClue = get('hasClue', slide);\n const slideLessons = get('lessons', slide);\n\n const notifyNewMedia = !isEmpty(slideLessons) && !hasSeenLesson(state);\n const notifyReviewLesson = !isEmpty(slideLessons) && hasSeenLesson(state);\n\n const contextButton = get('title', slideContext)\n ? [\n {\n title: translate('Context'),\n type: 'context',\n selected: route === 'context',\n onClick: () => {\n return dispatch(selectRoute('context'));\n }\n }\n ]\n : [];\n\n const availableCoaches = getCoaches(state);\n const buttons = [\n ...contextButton,\n {\n title: translate('Question'),\n type: 'question',\n selected: route === 'answer',\n onClick: clickBackToAnswerHandler\n },\n {\n title: translate('Media'),\n type: 'media',\n selected: route === 'media',\n disabled: isEmpty(slideLessons),\n onClick: () => dispatch(selectRoute('media')),\n notify: notifyNewMedia\n },\n {\n title: translate('Clue'),\n type: 'clue',\n selected: route === 'clue',\n disabled: !hasClue,\n onClick: clickClueHandler\n }\n ];\n services?.Coach &&\n buttons.push({\n title: translate('Coach'),\n type: 'coach',\n disabled: availableCoaches === 0,\n onClick: () => dispatch(startChat())\n });\n const headerProps = createHeaderStateToProps_(state);\n\n if (!includes(route, ROUTES)) {\n return {};\n }\n\n const ctaButtonValidate = {\n submitValue: translate('Validate'),\n 'aria-label': `${translate('Validate')}. ${translate('Submit your Answer')}`,\n onClick: clickCTAHandler,\n light: false,\n small: false,\n name: 'validateAnswerCTA',\n secondary: false,\n disabled: isQuestionCtaDisabled(state),\n useButtonTag: true\n };\n\n const ctaButtonBackToQuestion = {\n submitValue: translate(route === 'context' ? 'Go to question' : 'Back to question'),\n onClick: clickBackToAnswerHandler,\n light: false,\n small: false,\n name: 'backToQuestionCTA',\n secondary: true,\n disabled: false\n };\n\n return {\n typeClue: route,\n text: clue,\n onClickSeeClue: clickSeeClueHandler,\n question: get('question.header')(slide),\n step: getProgressionSteps(state),\n slideContext,\n backgroundUrl: get('backgroundUrl')(currentContent),\n verticalMargin: 260,\n starsDiff,\n resources,\n cta: route === 'answer' ? ctaButtonValidate : ctaButtonBackToQuestion,\n help,\n answerType: {\n model: answer,\n media: mediaQuestion\n },\n showNewMedia: (isNil(route) || route === 'answer') && notifyNewMedia,\n showReviewLesson: (isNil(route) || route === 'answer') && notifyReviewLesson,\n buttons,\n header: headerProps\n };\n };\n};\n\nexport default playerProps;\n"],"mappings":";;;;AACA,SACEA,OADF,EAEEC,UAFF,EAGEC,cAHF,EAIEC,iBAJF,EAKEC,eALF,EAMEC,eANF,EAOEC,gBAPF,EAQEC,QARF,EASEC,aATF,EAUEC,UAVF,EAWEC,WAXF,EAYEC,SAZF,EAaEC,cAbF,EAcEC,qBAdF,EAeEC,mBAfF,QAgBO,4BAhBP;AAiBA,SAAQC,oBAAR,EAA8BC,aAA9B,QAAkD,UAAlD;AACA,OAAOC,wBAAP,MAAqC,UAArC;AACA,OAAOC,iBAAP,MAA8B,aAA9B;AAEA,MAAMC,MAAM,GAAG,CAAC,OAAD,EAAU,MAAV,EAAkB,SAAlB,EAA6B,QAA7B,CAAf;AAEA,MAAMC,UAAU,GAAG;EACjBC,KAAK,EAAE,wBADU;EAEjBC,IAAI,EAAE;AAFW,CAAnB;;AAKA,MAAMC,WAAW,GAAG,CAACC,OAAD,EAAUC,KAAV,KAAoB;EACtC,MAAMC,qBAAqB,GAAGX,oBAAoB,CAACS,OAAD,EAAUC,KAAV,CAAlD;EACA,MAAME,kBAAkB,GAAGT,iBAAiB,CAACM,OAAD,EAAUC,KAAV,CAA5C;EACA,MAAMG,cAAc,GAAGZ,aAAa,CAACQ,OAAD,EAAUC,KAAV,CAApC;EACA,MAAMI,yBAAyB,GAAGZ,wBAAwB,CAACO,OAAD,EAAUC,KAAV,CAA1D;EAEA,OAAOK,KAAK,IAAI;IACd,MAAM;MAACC,SAAD;MAAYC;IAAZ,IAAwBR,OAA9B;IACA,MAAM;MAACS;IAAD,IAAaR,KAAnB;IAEA,MAAMS,YAAY,GAAG7B,eAAe,CAACyB,KAAD,CAApC;IACA,MAAMK,KAAK,GAAG/B,eAAe,CAAC0B,KAAD,CAA7B;;IACA,MAAMM,YAAY,GAAG,KAAI,SAAJ,EAAeD,KAAf,CAArB;;IACA,MAAME,cAAc,GAAGlC,iBAAiB,CAAC2B,KAAD,CAAxC;IACA,MAAMQ,MAAM,GAAGZ,qBAAqB,CAACI,KAAD,EAAQK,KAAR,CAApC;IACA,MAAMI,aAAa,GAAGjC,gBAAgB,CAACwB,KAAD,CAAtC;IACA,MAAMR,IAAI,GAAGpB,cAAc,CAAC4B,KAAD,CAAd,IAAyB,IAAtC;IACA,MAAMU,KAAK,GAAGjC,QAAQ,CAACuB,KAAD,CAAtB;IACA,MAAMW,SAAS,GAAGd,kBAAkB,CAACG,KAAD,EAAQK,KAAR,CAApC;IACA,MAAMO,IAAI,GAAGd,cAAc,CAACO,KAAD,CAA3B;IACA,MAAMQ,SAAS,GAAG,KAAIvB,UAAU,CAACoB,KAAD,CAAd,EAAuBN,YAAvB,KAAwC,CAA1D;;IACA,MAAMU,gBAAgB,GAAG,MAAMX,QAAQ,CAACxB,UAAD,CAAvC;;IACA,MAAMoC,mBAAmB,GAAG,MAAMZ,QAAQ,CAACjC,OAAD,CAA1C;;IACA,MAAM8C,wBAAwB,GAAG,MAAMb,QAAQ,CAACvB,WAAW,CAAC,QAAD,CAAZ,CAA/C;;IACA,MAAMqC,eAAe,GAAG,MAAMd,QAAQ,CAACrB,cAAc,EAAf,CAAtC;;IAEA,MAAMoC,OAAO,GAAG,KAAI,SAAJ,EAAeb,KAAf,CAAhB;;IACA,MAAMc,YAAY,GAAG,KAAI,SAAJ,EAAed,KAAf,CAArB;;IAEA,MAAMe,cAAc,GAAG,CAAC,SAAQD,YAAR,CAAD,IAA0B,CAACzC,aAAa,CAACsB,KAAD,CAA/D;IACA,MAAMqB,kBAAkB,GAAG,CAAC,SAAQF,YAAR,CAAD,IAA0BzC,aAAa,CAACsB,KAAD,CAAlE;IAEA,MAAMsB,aAAa,GAAG,KAAI,OAAJ,EAAahB,YAAb,IAClB,CACE;MACEiB,KAAK,EAAEtB,SAAS,CAAC,SAAD,CADlB;MAEEuB,IAAI,EAAE,SAFR;MAGEC,QAAQ,EAAEf,KAAK,KAAK,SAHtB;MAIEgB,OAAO,EAAE,MAAM;QACb,OAAOvB,QAAQ,CAACvB,WAAW,CAAC,SAAD,CAAZ,CAAf;MACD;IANH,CADF,CADkB,GAWlB,EAXJ;IAaA,MAAM+C,gBAAgB,GAAGxD,UAAU,CAAC6B,KAAD,CAAnC;IACA,MAAM4B,OAAO,GAAG,CACd,GAAGN,aADW,EAEd;MACEC,KAAK,EAAEtB,SAAS,CAAC,UAAD,CADlB;MAEEuB,IAAI,EAAE,UAFR;MAGEC,QAAQ,EAAEf,KAAK,KAAK,QAHtB;MAIEgB,OAAO,EAAEV;IAJX,CAFc,EAQd;MACEO,KAAK,EAAEtB,SAAS,CAAC,OAAD,CADlB;MAEEuB,IAAI,EAAE,OAFR;MAGEC,QAAQ,EAAEf,KAAK,KAAK,OAHtB;MAIEmB,QAAQ,EAAE,SAAQV,YAAR,CAJZ;MAKEO,OAAO,EAAE,MAAMvB,QAAQ,CAACvB,WAAW,CAAC,OAAD,CAAZ,CALzB;MAMEkD,MAAM,EAAEV;IANV,CARc,EAgBd;MACEG,KAAK,EAAEtB,SAAS,CAAC,MAAD,CADlB;MAEEuB,IAAI,EAAE,MAFR;MAGEC,QAAQ,EAAEf,KAAK,KAAK,MAHtB;MAIEmB,QAAQ,EAAE,CAACX,OAJb;MAKEQ,OAAO,EAAEZ;IALX,CAhBc,CAAhB;IAwBAZ,QAAQ,EAAE6B,KAAV,IACEH,OAAO,CAACI,IAAR,CAAa;MACXT,KAAK,EAAEtB,SAAS,CAAC,OAAD,CADL;MAEXuB,IAAI,EAAE,OAFK;MAGXK,QAAQ,EAAEF,gBAAgB,KAAK,CAHpB;MAIXD,OAAO,EAAE,MAAMvB,QAAQ,CAACtB,SAAS,EAAV;IAJZ,CAAb,CADF;IAOA,MAAMoD,WAAW,GAAGlC,yBAAyB,CAACC,KAAD,CAA7C;;IAEA,IAAI,CAAC,UAASU,KAAT,EAAgBrB,MAAhB,CAAL,EAA8B;MAC5B,OAAO,EAAP;IACD;;IAED,MAAM6C,iBAAiB,GAAG;MACxBC,WAAW,EAAElC,SAAS,CAAC,UAAD,CADE;MAExB,cAAe,GAAEA,SAAS,CAAC,UAAD,CAAa,KAAIA,SAAS,CAAC,oBAAD,CAAuB,EAFnD;MAGxByB,OAAO,EAAET,eAHe;MAIxBmB,KAAK,EAAE,KAJiB;MAKxBC,KAAK,EAAE,KALiB;MAMxBC,IAAI,EAAE,mBANkB;MAOxBC,SAAS,EAAE,KAPa;MAQxBV,QAAQ,EAAE9C,qBAAqB,CAACiB,KAAD,CARP;MASxBwC,YAAY,EAAE;IATU,CAA1B;IAYA,MAAMC,uBAAuB,GAAG;MAC9BN,WAAW,EAAElC,SAAS,CAACS,KAAK,KAAK,SAAV,GAAsB,gBAAtB,GAAyC,kBAA1C,CADQ;MAE9BgB,OAAO,EAAEV,wBAFqB;MAG9BoB,KAAK,EAAE,KAHuB;MAI9BC,KAAK,EAAE,KAJuB;MAK9BC,IAAI,EAAE,mBALwB;MAM9BC,SAAS,EAAE,IANmB;MAO9BV,QAAQ,EAAE;IAPoB,CAAhC;IAUA,OAAO;MACLa,QAAQ,EAAEhC,KADL;MAELiC,IAAI,EAAEnD,IAFD;MAGLoD,cAAc,EAAE7B,mBAHX;MAIL8B,QAAQ,EAAE,KAAI,iBAAJ,EAAuBxC,KAAvB,CAJL;MAKLyC,IAAI,EAAE9D,mBAAmB,CAACgB,KAAD,CALpB;MAMLM,YANK;MAOLyC,aAAa,EAAE,KAAI,eAAJ,EAAqBxC,cAArB,CAPV;MAQLyC,cAAc,EAAE,GARX;MASLnC,SATK;MAULF,SAVK;MAWLsC,GAAG,EAAEvC,KAAK,KAAK,QAAV,GAAqBwB,iBAArB,GAAyCO,uBAXzC;MAYL7B,IAZK;MAaLsC,UAAU,EAAE;QACVC,KAAK,EAAE3C,MADG;QAEVjB,KAAK,EAAEkB;MAFG,CAbP;MAiBL2C,YAAY,EAAE,CAAC,OAAM1C,KAAN,KAAgBA,KAAK,KAAK,QAA3B,KAAwCU,cAjBjD;MAkBLiC,gBAAgB,EAAE,CAAC,OAAM3C,KAAN,KAAgBA,KAAK,KAAK,QAA3B,KAAwCW,kBAlBrD;MAmBLO,OAnBK;MAoBL0B,MAAM,EAAErB;IApBH,CAAP;EAsBD,CAzHD;AA0HD,CAhID;;AAkIA,eAAexC,WAAf"}
|
|
@@ -71,7 +71,7 @@ test('should create edited qcm props', t => {
|
|
|
71
71
|
t.true(_isFunction(props.answers[0].onClick));
|
|
72
72
|
});
|
|
73
73
|
test('should create edited template props', t => {
|
|
74
|
-
t.plan(
|
|
74
|
+
t.plan(24);
|
|
75
75
|
const state = {
|
|
76
76
|
ui: {
|
|
77
77
|
answers: {
|
|
@@ -104,6 +104,7 @@ test('should create edited template props', t => {
|
|
|
104
104
|
t.true(_isFunction(props.answers[0].onChange));
|
|
105
105
|
t.is(props.answers[1].type, 'select');
|
|
106
106
|
t.is(props.answers[1].name, 'sel31191');
|
|
107
|
+
t.is(props.answers[1]['aria-label'], '__Select an answer');
|
|
107
108
|
t.true(_isFunction(props.answers[1].onChange));
|
|
108
109
|
const selectOptions = props.answers[1].options;
|
|
109
110
|
t.true(Array.isArray(selectOptions));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"answer.js","names":["test","mockTranslate","createGetAnswerProps","createGetHelp","basic","qcm","qcmDrag","qcmGraphic","template","slider","options","translate","store","dispatch","getAnswerProps","getHelp","t","plan","state","ui","current","progressionId","_getAnswerProps","thunk","true","props","is","type","answers","every","answer","selected","onClick","value","length","title","false","Array","isArray","name","placeholder","onChange","selectOptions","validOption","data","configs","entities","version","shuffleChoices","progressions","engine","ref","deepEqual","order","action","pass","minLabel","maxLabel","help","help1","help2"],"sources":["../../../src/map-state-to-props/test/answer.js"],"sourcesContent":["import test from 'ava';\nimport {omit, isFunction, identity, sortBy, pipe, map, pick} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {createGetAnswerProps, createGetHelp} from '../answer';\nimport basic from './fixtures/slides/basic';\nimport qcm from './fixtures/slides/qcm';\nimport qcmDrag from './fixtures/slides/qcm-drag';\nimport qcmGraphic from './fixtures/slides/qcm-graphic';\nimport template from './fixtures/slides/template';\nimport slider from './fixtures/slides/slider';\n\nconst options = {translate: mockTranslate};\nconst store = {dispatch: identity};\nconst getAnswerProps = createGetAnswerProps(options, store);\nconst getHelp = createGetHelp(options, store);\n\ntest('should create initial qcm props', t => {\n t.plan(3);\n\n const state = {\n ui: {\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcm);\n\n t.is(props.type, 'qcm');\n t.true(props.answers.every(answer => answer.selected === false));\n\n props.answers[0].onClick();\n});\n\ntest('should create edited qcm props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['Case 1', 'Case 3']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, qcm);\n\n t.is(props.type, 'qcm');\n t.is(props.answers.length, 4);\n t.is(props.answers[0].title, 'Case 1');\n t.true(props.answers[0].selected);\n t.is(props.answers[1].title, 'Case 2');\n t.false(props.answers[1].selected);\n t.is(props.answers[2].title, 'Case 3');\n t.true(props.answers[2].selected);\n t.is(props.answers[3].title, 'Case 4');\n t.false(props.answers[3].selected);\n t.true(isFunction(props.answers[0].onClick));\n});\n\ntest('should create edited template props', t => {\n t.plan(23);\n\n const state = {\n ui: {\n answers: {1234: {value: ['foo', 'exclusive']}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, template);\n t.is(props.type, 'template');\n t.is(props.template, 'The answer is {{inp81438}} {{sel31191}}');\n t.true(Array.isArray(props.answers));\n t.is(props.answers.length, 2);\n t.is(props.answers[0].type, 'text');\n t.is(props.answers[0].name, 'inp81438');\n t.is(props.answers[0].placeholder, '__Type here');\n t.is(props.answers[0].value, 'foo');\n t.true(isFunction(props.answers[0].onChange));\n t.is(props.answers[1].type, 'select');\n t.is(props.answers[1].name, 'sel31191');\n t.true(isFunction(props.answers[1].onChange));\n const selectOptions = props.answers[1].options;\n t.true(Array.isArray(selectOptions));\n t.is(selectOptions.length, 2);\n t.is(selectOptions[0].name, 'temporary');\n t.is(selectOptions[0].value, 'temporary');\n t.false(selectOptions[0].selected);\n t.true(selectOptions[0].validOption);\n t.is(selectOptions[1].name, 'exclusive');\n t.is(selectOptions[1].value, 'exclusive');\n t.true(selectOptions[1].selected);\n t.true(selectOptions[1].validOption);\n\n props.answers[1].onChange();\n});\n\ntest('should add an invalid `select an answer` choice for a select field in a template question if there are no answers for it', t => {\n t.plan(13);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, template);\n const selectOptions = props.answers[1].options;\n\n t.is(selectOptions.length, 3);\n t.is(selectOptions[0].name, '__Select an answer');\n t.true(selectOptions[0].selected);\n t.false(selectOptions[0].validOption);\n t.is(selectOptions[1].name, 'temporary');\n t.is(selectOptions[1].value, 'temporary');\n t.false(selectOptions[1].selected);\n t.true(selectOptions[1].validOption);\n t.is(selectOptions[2].name, 'exclusive');\n t.is(selectOptions[2].value, 'exclusive');\n t.false(selectOptions[2].selected);\n t.true(selectOptions[2].validOption);\n\n props.answers[1].onChange();\n});\n\ntest('should create initial qcmGraphic props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n const props = getAnswerProps(state, qcmGraphic);\n t.is(props.type, 'qcmGraphic');\n t.is(props.answers.length, 2);\n t.true(props.answers.every(answer => answer.selected === false));\n});\n\ntest('should create edited qcmGraphic props', t => {\n t.plan(5);\n const state = {\n data: {\n configs: {\n entities: {\n 'learner@2': {\n version: '2',\n shuffleChoices: true\n }\n }\n },\n progressions: {\n entities: {\n 1234: {\n engine: {\n ref: 'learner',\n version: '2'\n }\n }\n }\n }\n },\n ui: {\n answers: {1234: {value: ['Vrai']}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcmGraphic);\n\n t.is(props.type, 'qcmGraphic');\n t.is(props.answers.length, 2);\n\n const answers = pipe(map(pick(['title', 'selected'])), sortBy('title'))(props.answers);\n t.deepEqual(answers, [\n {title: 'Faux', selected: false},\n {title: 'Vrai', selected: true}\n ]);\n\n t.true(isFunction(props.answers[0].onClick));\n\n props.answers[0].onClick();\n});\n\ntest('should create initial qcmDrag props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n const props = getAnswerProps(state, qcmDrag);\n t.is(props.type, 'qcmDrag');\n t.is(props.answers.length, 3);\n t.is(props.answers[0].title, \"L'ordinateur\");\n t.false(props.answers[0].selected);\n t.true(isFunction(props.answers[0].onClick));\n t.is(props.answers[1].title, 'La tablette');\n t.false(props.answers[1].selected);\n t.true(isFunction(props.answers[1].onClick));\n t.is(props.answers[2].title, 'Le smartphone');\n t.false(props.answers[2].selected);\n t.true(isFunction(props.answers[2].onClick));\n});\n\ntest('should create edited qcmDrag props', t => {\n t.plan(14);\n const state = {\n ui: {\n answers: {1234: {value: ['Le smartphone', \"L'ordinateur\"]}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcmDrag);\n\n t.is(props.type, 'qcmDrag');\n t.is(props.answers.length, 3);\n\n t.is(props.answers[0].title, \"L'ordinateur\");\n t.true(props.answers[0].selected);\n t.is(props.answers[0].order, 1);\n t.true(isFunction(props.answers[0].onClick));\n t.is(props.answers[1].title, 'La tablette');\n t.false(props.answers[1].selected);\n t.true(isFunction(props.answers[1].onClick));\n t.is(props.answers[2].title, 'Le smartphone');\n t.true(props.answers[2].selected);\n t.is(props.answers[2].order, 0);\n t.true(isFunction(props.answers[2].onClick));\n\n props.answers[2].onClick();\n});\n\ntest('should create initial slider props', t => {\n t.plan(8);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const dispatch = action => {\n t.pass();\n };\n\n const props = createGetAnswerProps(options, {dispatch})(state, slider);\n\n t.is(props.type, 'slider');\n t.is(props.placeholder, 'Déplacez le curseur.');\n t.is(props.minLabel, '0 an(s)');\n t.is(props.maxLabel, '1000 an(s)');\n t.is(props.title, '500 an(s)');\n t.is(props.value, 0.5);\n t.true(isFunction(props.onChange));\n\n props.onChange(0.87);\n});\n\ntest('should default slider step to 1', t => {\n t.plan(2);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const dispatch = action => {\n t.pass();\n };\n\n const props = createGetAnswerProps(options, {dispatch})(\n state,\n omit('question.content.step', slider)\n );\n\n t.true(isFunction(props.onChange));\n\n props.onChange(0.87);\n});\n\ntest('should create edited slider props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['300']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, slider);\n t.is(props.title, '300 an(s)');\n t.is(props.value, 0.3);\n});\n\ntest('should create initial basic props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: null}\n }\n };\n const props = getAnswerProps(state, basic);\n t.is(props.type, 'freeText');\n});\n\ntest('should create edited basic props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['foo']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, basic);\n t.is(props.type, 'freeText');\n t.is(props.value, 'foo');\n t.true(isFunction(props.onChange));\n});\n\ntest('should provide an help subtitle depending on question.type', t => {\n const help = getHelp(qcmDrag);\n t.is(help, 'Cliquez sur les réponses dans le bon ordre.');\n const help1 = getHelp(template);\n t.is(help1, 'Type your answers');\n const help2 = getHelp(qcm);\n t.is(help2, '__Select something below');\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"answer.js","names":["test","mockTranslate","createGetAnswerProps","createGetHelp","basic","qcm","qcmDrag","qcmGraphic","template","slider","options","translate","store","dispatch","getAnswerProps","getHelp","t","plan","state","ui","current","progressionId","_getAnswerProps","thunk","true","props","is","type","answers","every","answer","selected","onClick","value","length","title","false","Array","isArray","name","placeholder","onChange","selectOptions","validOption","data","configs","entities","version","shuffleChoices","progressions","engine","ref","deepEqual","order","action","pass","minLabel","maxLabel","help","help1","help2"],"sources":["../../../src/map-state-to-props/test/answer.js"],"sourcesContent":["import test from 'ava';\nimport {omit, isFunction, identity, sortBy, pipe, map, pick} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {createGetAnswerProps, createGetHelp} from '../answer';\nimport basic from './fixtures/slides/basic';\nimport qcm from './fixtures/slides/qcm';\nimport qcmDrag from './fixtures/slides/qcm-drag';\nimport qcmGraphic from './fixtures/slides/qcm-graphic';\nimport template from './fixtures/slides/template';\nimport slider from './fixtures/slides/slider';\n\nconst options = {translate: mockTranslate};\nconst store = {dispatch: identity};\nconst getAnswerProps = createGetAnswerProps(options, store);\nconst getHelp = createGetHelp(options, store);\n\ntest('should create initial qcm props', t => {\n t.plan(3);\n\n const state = {\n ui: {\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcm);\n\n t.is(props.type, 'qcm');\n t.true(props.answers.every(answer => answer.selected === false));\n\n props.answers[0].onClick();\n});\n\ntest('should create edited qcm props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['Case 1', 'Case 3']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, qcm);\n\n t.is(props.type, 'qcm');\n t.is(props.answers.length, 4);\n t.is(props.answers[0].title, 'Case 1');\n t.true(props.answers[0].selected);\n t.is(props.answers[1].title, 'Case 2');\n t.false(props.answers[1].selected);\n t.is(props.answers[2].title, 'Case 3');\n t.true(props.answers[2].selected);\n t.is(props.answers[3].title, 'Case 4');\n t.false(props.answers[3].selected);\n t.true(isFunction(props.answers[0].onClick));\n});\n\ntest('should create edited template props', t => {\n t.plan(24);\n\n const state = {\n ui: {\n answers: {1234: {value: ['foo', 'exclusive']}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, template);\n t.is(props.type, 'template');\n t.is(props.template, 'The answer is {{inp81438}} {{sel31191}}');\n t.true(Array.isArray(props.answers));\n t.is(props.answers.length, 2);\n t.is(props.answers[0].type, 'text');\n t.is(props.answers[0].name, 'inp81438');\n t.is(props.answers[0].placeholder, '__Type here');\n t.is(props.answers[0].value, 'foo');\n t.true(isFunction(props.answers[0].onChange));\n t.is(props.answers[1].type, 'select');\n t.is(props.answers[1].name, 'sel31191');\n t.is(props.answers[1]['aria-label'], '__Select an answer');\n t.true(isFunction(props.answers[1].onChange));\n const selectOptions = props.answers[1].options;\n t.true(Array.isArray(selectOptions));\n t.is(selectOptions.length, 2);\n t.is(selectOptions[0].name, 'temporary');\n t.is(selectOptions[0].value, 'temporary');\n t.false(selectOptions[0].selected);\n t.true(selectOptions[0].validOption);\n t.is(selectOptions[1].name, 'exclusive');\n t.is(selectOptions[1].value, 'exclusive');\n t.true(selectOptions[1].selected);\n t.true(selectOptions[1].validOption);\n\n props.answers[1].onChange();\n});\n\ntest('should add an invalid `select an answer` choice for a select field in a template question if there are no answers for it', t => {\n t.plan(13);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, template);\n const selectOptions = props.answers[1].options;\n\n t.is(selectOptions.length, 3);\n t.is(selectOptions[0].name, '__Select an answer');\n t.true(selectOptions[0].selected);\n t.false(selectOptions[0].validOption);\n t.is(selectOptions[1].name, 'temporary');\n t.is(selectOptions[1].value, 'temporary');\n t.false(selectOptions[1].selected);\n t.true(selectOptions[1].validOption);\n t.is(selectOptions[2].name, 'exclusive');\n t.is(selectOptions[2].value, 'exclusive');\n t.false(selectOptions[2].selected);\n t.true(selectOptions[2].validOption);\n\n props.answers[1].onChange();\n});\n\ntest('should create initial qcmGraphic props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n const props = getAnswerProps(state, qcmGraphic);\n t.is(props.type, 'qcmGraphic');\n t.is(props.answers.length, 2);\n t.true(props.answers.every(answer => answer.selected === false));\n});\n\ntest('should create edited qcmGraphic props', t => {\n t.plan(5);\n const state = {\n data: {\n configs: {\n entities: {\n 'learner@2': {\n version: '2',\n shuffleChoices: true\n }\n }\n },\n progressions: {\n entities: {\n 1234: {\n engine: {\n ref: 'learner',\n version: '2'\n }\n }\n }\n }\n },\n ui: {\n answers: {1234: {value: ['Vrai']}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcmGraphic);\n\n t.is(props.type, 'qcmGraphic');\n t.is(props.answers.length, 2);\n\n const answers = pipe(map(pick(['title', 'selected'])), sortBy('title'))(props.answers);\n t.deepEqual(answers, [\n {title: 'Faux', selected: false},\n {title: 'Vrai', selected: true}\n ]);\n\n t.true(isFunction(props.answers[0].onClick));\n\n props.answers[0].onClick();\n});\n\ntest('should create initial qcmDrag props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n const props = getAnswerProps(state, qcmDrag);\n t.is(props.type, 'qcmDrag');\n t.is(props.answers.length, 3);\n t.is(props.answers[0].title, \"L'ordinateur\");\n t.false(props.answers[0].selected);\n t.true(isFunction(props.answers[0].onClick));\n t.is(props.answers[1].title, 'La tablette');\n t.false(props.answers[1].selected);\n t.true(isFunction(props.answers[1].onClick));\n t.is(props.answers[2].title, 'Le smartphone');\n t.false(props.answers[2].selected);\n t.true(isFunction(props.answers[2].onClick));\n});\n\ntest('should create edited qcmDrag props', t => {\n t.plan(14);\n const state = {\n ui: {\n answers: {1234: {value: ['Le smartphone', \"L'ordinateur\"]}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcmDrag);\n\n t.is(props.type, 'qcmDrag');\n t.is(props.answers.length, 3);\n\n t.is(props.answers[0].title, \"L'ordinateur\");\n t.true(props.answers[0].selected);\n t.is(props.answers[0].order, 1);\n t.true(isFunction(props.answers[0].onClick));\n t.is(props.answers[1].title, 'La tablette');\n t.false(props.answers[1].selected);\n t.true(isFunction(props.answers[1].onClick));\n t.is(props.answers[2].title, 'Le smartphone');\n t.true(props.answers[2].selected);\n t.is(props.answers[2].order, 0);\n t.true(isFunction(props.answers[2].onClick));\n\n props.answers[2].onClick();\n});\n\ntest('should create initial slider props', t => {\n t.plan(8);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const dispatch = action => {\n t.pass();\n };\n\n const props = createGetAnswerProps(options, {dispatch})(state, slider);\n\n t.is(props.type, 'slider');\n t.is(props.placeholder, 'Déplacez le curseur.');\n t.is(props.minLabel, '0 an(s)');\n t.is(props.maxLabel, '1000 an(s)');\n t.is(props.title, '500 an(s)');\n t.is(props.value, 0.5);\n t.true(isFunction(props.onChange));\n\n props.onChange(0.87);\n});\n\ntest('should default slider step to 1', t => {\n t.plan(2);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const dispatch = action => {\n t.pass();\n };\n\n const props = createGetAnswerProps(options, {dispatch})(\n state,\n omit('question.content.step', slider)\n );\n\n t.true(isFunction(props.onChange));\n\n props.onChange(0.87);\n});\n\ntest('should create edited slider props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['300']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, slider);\n t.is(props.title, '300 an(s)');\n t.is(props.value, 0.3);\n});\n\ntest('should create initial basic props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: null}\n }\n };\n const props = getAnswerProps(state, basic);\n t.is(props.type, 'freeText');\n});\n\ntest('should create edited basic props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['foo']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, basic);\n t.is(props.type, 'freeText');\n t.is(props.value, 'foo');\n t.true(isFunction(props.onChange));\n});\n\ntest('should provide an help subtitle depending on question.type', t => {\n const help = getHelp(qcmDrag);\n t.is(help, 'Cliquez sur les réponses dans le bon ordre.');\n const help1 = getHelp(template);\n t.is(help1, 'Type your answers');\n const help2 = getHelp(qcm);\n t.is(help2, '__Select something below');\n});\n"],"mappings":"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"}
|
package/es/views/test/slide.js
CHANGED
|
@@ -122,12 +122,14 @@ test('should display slide', async t => {
|
|
|
122
122
|
});
|
|
123
123
|
t.is(playerProps.question, "Écrivez le mot Text dans l'input.\n");
|
|
124
124
|
t.deepEqual(_omit('onClick', playerProps.cta), {
|
|
125
|
+
'aria-label': '__Validate. __Submit your Answer',
|
|
125
126
|
submitValue: '__Validate',
|
|
126
127
|
disabled: true,
|
|
127
128
|
name: 'validateAnswerCTA',
|
|
128
129
|
light: false,
|
|
129
130
|
small: false,
|
|
130
|
-
secondary: false
|
|
131
|
+
secondary: false,
|
|
132
|
+
useButtonTag: true
|
|
131
133
|
});
|
|
132
134
|
await t.notThrows(playerProps.cta.onClick);
|
|
133
135
|
t.is(playerProps.help, 'Saisissez votre réponse.');
|
|
@@ -172,12 +174,14 @@ test('should disable lesson button if slide has no lessons', async t => {
|
|
|
172
174
|
});
|
|
173
175
|
t.is(playerProps.question, "Écrivez le mot Text dans l'input.\n");
|
|
174
176
|
t.deepEqual(_omit('onClick', playerProps.cta), {
|
|
177
|
+
'aria-label': '__Validate. __Submit your Answer',
|
|
175
178
|
submitValue: '__Validate',
|
|
176
179
|
disabled: true,
|
|
177
180
|
name: 'validateAnswerCTA',
|
|
178
181
|
light: false,
|
|
179
182
|
small: false,
|
|
180
|
-
secondary: false
|
|
183
|
+
secondary: false,
|
|
184
|
+
useButtonTag: true
|
|
181
185
|
});
|
|
182
186
|
await t.notThrows(playerProps.cta.onClick);
|
|
183
187
|
t.is(playerProps.help, 'Saisissez votre réponse.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slide.js","names":["test","mockTranslate","Analytics","AnalyticsService","Answers","AnswersService","Clues","CluesService","Coach","CoachService","Comments","CommentsService","Content","ContentService","ExitNodes","ExitNodesService","LeaderBoard","LeaderBoardService","Location","LocationService","Progressions","ProgressionsService","Recommendations","RecommendationsService","microlearningHeader","learnerHeader","stateSlide","stateSlideNoLessons","stateNoClue","stateClue","stateLoadingClue","fixtures","stateToVNode","testRendering","services","Logger","console","options","translate","store","dispatch","mapStateToVNode","t","vNode","props","player","header","headerProps","is","type","content","title","subcontent","deepEqual","lives","count","onClick","true","actionOnClick","details","state","playerProps","typeClue","text","step","current","total","question","cta","submitValue","disabled","name","light","small","secondary","notThrows","help","truthy","answerType","buttons","selected","notify","showNewMedia","showReviewLesson","Promise","all","button"],"sources":["../../../src/views/test/slide.js"],"sourcesContent":["import test from 'ava';\nimport {identity, map, omit, isFunction} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {\n Analytics as AnalyticsService,\n Answers as AnswersService,\n Clues as CluesService,\n Coach as CoachService,\n Comments as CommentsService,\n Content as ContentService,\n ExitNodes as ExitNodesService,\n LeaderBoard as LeaderBoardService,\n Location as LocationService,\n Progressions as ProgressionsService,\n Recommendations as RecommendationsService\n} from '@coorpacademy/player-services';\nimport microlearningHeader from '../../map-state-to-props/test/fixtures/progression-state';\nimport learnerHeader from '../../map-state-to-props/test/fixtures/progression-learner';\nimport stateSlide from '../../map-state-to-props/test/fixtures/player/slide';\nimport stateSlideNoLessons from '../../map-state-to-props/test/fixtures/player/slide-no-lessons';\nimport stateNoClue from '../../map-state-to-props/test/fixtures/player/no-clue';\nimport stateClue from '../../map-state-to-props/test/fixtures/player/clue';\nimport stateLoadingClue from '../../map-state-to-props/test/fixtures/player/loading-clue';\nimport * as fixtures from '../../../sandbox/fixtures';\nimport stateToVNode from './helpers/state-to-vnode';\nimport testRendering from './helpers/render';\n\nconst services = {\n Analytics: AnalyticsService,\n Answers: AnswersService(fixtures),\n Clues: CluesService(fixtures),\n Coach: CoachService,\n Comments: CommentsService,\n Content: ContentService(fixtures),\n ExitNodes: ExitNodesService(fixtures),\n LeaderBoard: LeaderBoardService,\n Location: LocationService,\n Logger: console,\n Progressions: ProgressionsService(fixtures),\n Recommendations: RecommendationsService(fixtures)\n};\n\nconst options = {translate: mockTranslate, services};\nconst store = {dispatch: identity};\nconst mapStateToVNode = stateToVNode(options, store);\n\ntest('should display microlearning header', t => {\n const vNode = mapStateToVNode(microlearningHeader);\n testRendering(vNode);\n const {\n props: {\n player: {header: headerProps}\n }\n } = vNode;\n t.is(headerProps.type, 'microlearning');\n t.is(headerProps.content.title, 'Les réseaux sociaux au service du crowdfunding');\n t.is(headerProps.subcontent, null);\n t.deepEqual(headerProps.lives, {count: 3});\n const onClick = headerProps.content.onClick;\n t.true(isFunction(onClick));\n const actionOnClick = onClick();\n t.true(isFunction(actionOnClick));\n});\n\ntest('should display learner header with chapter num', t => {\n const vNode = mapStateToVNode(learnerHeader);\n testRendering(vNode);\n const {\n props: {\n player: {header: headerProps}\n }\n } = vNode;\n\n t.is(headerProps.type, 'learner');\n t.is(headerProps.content.title, 'level1');\n t.is(headerProps.content.details, 'base-translation');\n t.is(headerProps.subcontent.title, 'chapter2!');\n t.is(headerProps.subcontent.details, '2/2');\n t.deepEqual(headerProps.lives, {count: 3});\n\n const onClick = headerProps.content.onClick;\n t.true(isFunction(onClick));\n const actionOnClick = onClick();\n t.true(isFunction(actionOnClick));\n});\n\ntest('should display learner header with no chapter nums', t => {\n const state = omit('data.contents.level.entities.1.chapterIds', learnerHeader);\n\n const vNode = mapStateToVNode(state);\n testRendering(vNode);\n const {\n props: {\n player: {header: headerProps}\n }\n } = vNode;\n\n t.is(headerProps.type, 'learner');\n t.is(headerProps.content.title, 'level1');\n t.is(headerProps.content.details, 'base-translation');\n t.is(headerProps.subcontent.title, 'chapter2!');\n t.is(headerProps.subcontent.details, null);\n t.deepEqual(headerProps.lives, {count: 3});\n\n const onClick = headerProps.content.onClick;\n t.true(isFunction(onClick));\n const actionOnClick = onClick();\n t.true(isFunction(actionOnClick));\n});\n\ntest('should display slide', async t => {\n const vNode = mapStateToVNode(stateSlide);\n testRendering(vNode);\n const {\n props: {player: playerProps}\n } = vNode;\n\n t.is(playerProps.typeClue, 'answer');\n t.is(playerProps.text, null);\n\n t.deepEqual(playerProps.step, {current: 2, total: 4});\n\n t.is(playerProps.question, \"Écrivez le mot Text dans l'input.\\n\");\n t.deepEqual(omit('onClick', playerProps.cta), {\n submitValue: '__Validate',\n disabled: true,\n name: 'validateAnswerCTA',\n light: false,\n small: false,\n secondary: false\n });\n await t.notThrows(playerProps.cta.onClick);\n t.is(playerProps.help, 'Saisissez votre réponse.');\n t.truthy(playerProps.answerType);\n\n t.deepEqual(map(omit('onClick'), playerProps.buttons), [\n {\n title: '__Question',\n type: 'question',\n selected: true\n },\n {\n notify: true,\n disabled: false,\n title: '__Media',\n type: 'media',\n selected: false\n },\n {\n title: '__Clue',\n type: 'clue',\n selected: false,\n disabled: false\n },\n {\n disabled: true,\n title: '__Coach',\n type: 'coach'\n }\n ]);\n t.is(playerProps.showNewMedia, true);\n t.is(playerProps.showReviewLesson, false);\n return Promise.all(map(button => t.notThrows(button.onClick), playerProps.buttons));\n});\n\ntest('should disable lesson button if slide has no lessons', async t => {\n const vNode = mapStateToVNode(stateSlideNoLessons);\n testRendering(vNode);\n const {\n props: {player: playerProps}\n } = vNode;\n\n t.is(playerProps.typeClue, 'answer');\n t.is(playerProps.text, null);\n\n t.deepEqual(playerProps.step, {current: 2, total: 4});\n\n t.is(playerProps.question, \"Écrivez le mot Text dans l'input.\\n\");\n t.deepEqual(omit('onClick', playerProps.cta), {\n submitValue: '__Validate',\n disabled: true,\n name: 'validateAnswerCTA',\n light: false,\n small: false,\n secondary: false\n });\n await t.notThrows(playerProps.cta.onClick);\n t.is(playerProps.help, 'Saisissez votre réponse.');\n t.truthy(playerProps.answerType);\n\n t.deepEqual(map(omit('onClick'), playerProps.buttons), [\n {\n title: '__Question',\n type: 'question',\n selected: true\n },\n {\n notify: false,\n disabled: true,\n title: '__Media',\n type: 'media',\n selected: false\n },\n {\n title: '__Clue',\n type: 'clue',\n selected: false,\n disabled: false\n },\n {\n disabled: true,\n title: '__Coach',\n type: 'coach'\n }\n ]);\n t.is(playerProps.showNewMedia, false);\n t.is(playerProps.showReviewLesson, false);\n return Promise.all(map(button => t.notThrows(button.onClick), playerProps.buttons));\n});\n\ntest('should display loading clue', async t => {\n const vNode = mapStateToVNode(stateLoadingClue);\n testRendering(vNode);\n const {\n props: {player: playerProps}\n } = vNode;\n\n t.is(playerProps.typeClue, 'clue');\n t.is(playerProps.text, null);\n\n t.deepEqual(playerProps.step, {current: 1, total: 1});\n\n t.is(playerProps.question, \"Écrivez le mot Text dans l'input.\\n\");\n t.deepEqual(omit('onClick', playerProps.cta), {\n submitValue: '__Back to question',\n name: 'backToQuestionCTA',\n light: false,\n small: false,\n secondary: true,\n disabled: false\n });\n await t.notThrows(playerProps.cta.onClick);\n t.is(playerProps.help, 'Saisissez votre réponse.');\n t.truthy(playerProps.answerType);\n\n t.deepEqual(map(omit('onClick'), playerProps.buttons), [\n {\n title: '__Question',\n type: 'question',\n selected: false\n },\n {\n notify: true,\n disabled: false,\n title: '__Media',\n type: 'media',\n selected: false\n },\n {\n title: '__Clue',\n type: 'clue',\n selected: true,\n disabled: false\n },\n {\n disabled: true,\n title: '__Coach',\n type: 'coach'\n }\n ]);\n\n return Promise.all(map(button => t.notThrows(button.onClick), playerProps.buttons));\n});\n\ntest('should display clue', async t => {\n const vNode = mapStateToVNode(stateClue);\n testRendering(vNode);\n const {\n props: {player: playerProps}\n } = vNode;\n\n t.is(playerProps.typeClue, 'clue');\n t.is(playerProps.text, 'Clue');\n\n t.deepEqual(playerProps.step, {current: 2, total: 4});\n\n t.is(playerProps.question, \"Écrivez le mot Text dans l'input.\\n\");\n t.deepEqual(omit('onClick', playerProps.cta), {\n submitValue: '__Back to question',\n name: 'backToQuestionCTA',\n light: false,\n small: false,\n secondary: true,\n disabled: false\n });\n await t.notThrows(playerProps.cta.onClick);\n t.is(playerProps.help, 'Saisissez votre réponse.');\n t.truthy(playerProps.answerType);\n\n t.deepEqual(map(omit('onClick'), playerProps.buttons), [\n {\n title: '__Question',\n type: 'question',\n selected: false\n },\n {\n notify: true,\n disabled: false,\n title: '__Media',\n type: 'media',\n selected: false\n },\n {\n title: '__Clue',\n type: 'clue',\n selected: true,\n disabled: false\n },\n {\n disabled: true,\n title: '__Coach',\n type: 'coach'\n }\n ]);\n\n return Promise.all(map(button => t.notThrows(button.onClick), playerProps.buttons));\n});\n\ntest('should disable clue button if slide has no clue', t => {\n const vNode = mapStateToVNode(stateNoClue);\n testRendering(vNode);\n const {\n props: {player: playerProps}\n } = vNode;\n\n t.deepEqual(map(omit('onClick'), playerProps.buttons), [\n {\n title: '__Question',\n type: 'question',\n selected: true\n },\n {\n notify: true,\n disabled: false,\n title: '__Media',\n type: 'media',\n selected: false\n },\n {\n title: '__Clue',\n type: 'clue',\n selected: false,\n disabled: true\n },\n {\n disabled: true,\n title: '__Coach',\n type: 'coach'\n }\n ]);\n\n return Promise.all(map(button => t.notThrows(button.onClick), playerProps.buttons));\n});\n"],"mappings":";;;;AAAA,OAAOA,IAAP,MAAiB,KAAjB;AAGA,SAAQC,aAAR,QAA4B,yBAA5B;AACA,SACEC,SAAS,IAAIC,gBADf,EAEEC,OAAO,IAAIC,cAFb,EAGEC,KAAK,IAAIC,YAHX,EAIEC,KAAK,IAAIC,YAJX,EAKEC,QAAQ,IAAIC,eALd,EAMEC,OAAO,IAAIC,cANb,EAOEC,SAAS,IAAIC,gBAPf,EAQEC,WAAW,IAAIC,kBARjB,EASEC,QAAQ,IAAIC,eATd,EAUEC,YAAY,IAAIC,mBAVlB,EAWEC,eAAe,IAAIC,sBAXrB,QAYO,+BAZP;AAaA,OAAOC,mBAAP,MAAgC,0DAAhC;AACA,OAAOC,aAAP,MAA0B,4DAA1B;AACA,OAAOC,UAAP,MAAuB,qDAAvB;AACA,OAAOC,mBAAP,MAAgC,gEAAhC;AACA,OAAOC,WAAP,MAAwB,uDAAxB;AACA,OAAOC,SAAP,MAAsB,oDAAtB;AACA,OAAOC,gBAAP,MAA6B,4DAA7B;AACA,OAAO,KAAKC,QAAZ,MAA0B,2BAA1B;AACA,OAAOC,YAAP,MAAyB,0BAAzB;AACA,OAAOC,aAAP,MAA0B,kBAA1B;AAEA,MAAMC,QAAQ,GAAG;EACfhC,SAAS,EAAEC,gBADI;EAEfC,OAAO,EAAEC,cAAc,CAAC0B,QAAD,CAFR;EAGfzB,KAAK,EAAEC,YAAY,CAACwB,QAAD,CAHJ;EAIfvB,KAAK,EAAEC,YAJQ;EAKfC,QAAQ,EAAEC,eALK;EAMfC,OAAO,EAAEC,cAAc,CAACkB,QAAD,CANR;EAOfjB,SAAS,EAAEC,gBAAgB,CAACgB,QAAD,CAPZ;EAQff,WAAW,EAAEC,kBARE;EASfC,QAAQ,EAAEC,eATK;EAUfgB,MAAM,EAAEC,OAVO;EAWfhB,YAAY,EAAEC,mBAAmB,CAACU,QAAD,CAXlB;EAYfT,eAAe,EAAEC,sBAAsB,CAACQ,QAAD;AAZxB,CAAjB;AAeA,MAAMM,OAAO,GAAG;EAACC,SAAS,EAAErC,aAAZ;EAA2BiC;AAA3B,CAAhB;AACA,MAAMK,KAAK,GAAG;EAACC,QAAQ;AAAT,CAAd;AACA,MAAMC,eAAe,GAAGT,YAAY,CAACK,OAAD,EAAUE,KAAV,CAApC;AAEAvC,IAAI,CAAC,qCAAD,EAAwC0C,CAAC,IAAI;EAC/C,MAAMC,KAAK,GAAGF,eAAe,CAACjB,mBAAD,CAA7B;EACAS,aAAa,CAACU,KAAD,CAAb;EACA,MAAM;IACJC,KAAK,EAAE;MACLC,MAAM,EAAE;QAACC,MAAM,EAAEC;MAAT;IADH;EADH,IAIFJ,KAJJ;EAKAD,CAAC,CAACM,EAAF,CAAKD,WAAW,CAACE,IAAjB,EAAuB,eAAvB;EACAP,CAAC,CAACM,EAAF,CAAKD,WAAW,CAACG,OAAZ,CAAoBC,KAAzB,EAAgC,gDAAhC;EACAT,CAAC,CAACM,EAAF,CAAKD,WAAW,CAACK,UAAjB,EAA6B,IAA7B;EACAV,CAAC,CAACW,SAAF,CAAYN,WAAW,CAACO,KAAxB,EAA+B;IAACC,KAAK,EAAE;EAAR,CAA/B;EACA,MAAMC,OAAO,GAAGT,WAAW,CAACG,OAAZ,CAAoBM,OAApC;EACAd,CAAC,CAACe,IAAF,CAAO,YAAWD,OAAX,CAAP;EACA,MAAME,aAAa,GAAGF,OAAO,EAA7B;EACAd,CAAC,CAACe,IAAF,CAAO,YAAWC,aAAX,CAAP;AACD,CAhBG,CAAJ;AAkBA1D,IAAI,CAAC,gDAAD,EAAmD0C,CAAC,IAAI;EAC1D,MAAMC,KAAK,GAAGF,eAAe,CAAChB,aAAD,CAA7B;EACAQ,aAAa,CAACU,KAAD,CAAb;EACA,MAAM;IACJC,KAAK,EAAE;MACLC,MAAM,EAAE;QAACC,MAAM,EAAEC;MAAT;IADH;EADH,IAIFJ,KAJJ;EAMAD,CAAC,CAACM,EAAF,CAAKD,WAAW,CAACE,IAAjB,EAAuB,SAAvB;EACAP,CAAC,CAACM,EAAF,CAAKD,WAAW,CAACG,OAAZ,CAAoBC,KAAzB,EAAgC,QAAhC;EACAT,CAAC,CAACM,EAAF,CAAKD,WAAW,CAACG,OAAZ,CAAoBS,OAAzB,EAAkC,kBAAlC;EACAjB,CAAC,CAACM,EAAF,CAAKD,WAAW,CAACK,UAAZ,CAAuBD,KAA5B,EAAmC,WAAnC;EACAT,CAAC,CAACM,EAAF,CAAKD,WAAW,CAACK,UAAZ,CAAuBO,OAA5B,EAAqC,KAArC;EACAjB,CAAC,CAACW,SAAF,CAAYN,WAAW,CAACO,KAAxB,EAA+B;IAACC,KAAK,EAAE;EAAR,CAA/B;EAEA,MAAMC,OAAO,GAAGT,WAAW,CAACG,OAAZ,CAAoBM,OAApC;EACAd,CAAC,CAACe,IAAF,CAAO,YAAWD,OAAX,CAAP;EACA,MAAME,aAAa,GAAGF,OAAO,EAA7B;EACAd,CAAC,CAACe,IAAF,CAAO,YAAWC,aAAX,CAAP;AACD,CApBG,CAAJ;AAsBA1D,IAAI,CAAC,oDAAD,EAAuD0C,CAAC,IAAI;EAC9D,MAAMkB,KAAK,GAAG,MAAK,2CAAL,EAAkDnC,aAAlD,CAAd;;EAEA,MAAMkB,KAAK,GAAGF,eAAe,CAACmB,KAAD,CAA7B;EACA3B,aAAa,CAACU,KAAD,CAAb;EACA,MAAM;IACJC,KAAK,EAAE;MACLC,MAAM,EAAE;QAACC,MAAM,EAAEC;MAAT;IADH;EADH,IAIFJ,KAJJ;EAMAD,CAAC,CAACM,EAAF,CAAKD,WAAW,CAACE,IAAjB,EAAuB,SAAvB;EACAP,CAAC,CAACM,EAAF,CAAKD,WAAW,CAACG,OAAZ,CAAoBC,KAAzB,EAAgC,QAAhC;EACAT,CAAC,CAACM,EAAF,CAAKD,WAAW,CAACG,OAAZ,CAAoBS,OAAzB,EAAkC,kBAAlC;EACAjB,CAAC,CAACM,EAAF,CAAKD,WAAW,CAACK,UAAZ,CAAuBD,KAA5B,EAAmC,WAAnC;EACAT,CAAC,CAACM,EAAF,CAAKD,WAAW,CAACK,UAAZ,CAAuBO,OAA5B,EAAqC,IAArC;EACAjB,CAAC,CAACW,SAAF,CAAYN,WAAW,CAACO,KAAxB,EAA+B;IAACC,KAAK,EAAE;EAAR,CAA/B;EAEA,MAAMC,OAAO,GAAGT,WAAW,CAACG,OAAZ,CAAoBM,OAApC;EACAd,CAAC,CAACe,IAAF,CAAO,YAAWD,OAAX,CAAP;EACA,MAAME,aAAa,GAAGF,OAAO,EAA7B;EACAd,CAAC,CAACe,IAAF,CAAO,YAAWC,aAAX,CAAP;AACD,CAtBG,CAAJ;AAwBA1D,IAAI,CAAC,sBAAD,EAAyB,MAAM0C,CAAN,IAAW;EACtC,MAAMC,KAAK,GAAGF,eAAe,CAACf,UAAD,CAA7B;EACAO,aAAa,CAACU,KAAD,CAAb;EACA,MAAM;IACJC,KAAK,EAAE;MAACC,MAAM,EAAEgB;IAAT;EADH,IAEFlB,KAFJ;EAIAD,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACC,QAAjB,EAA2B,QAA3B;EACApB,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACE,IAAjB,EAAuB,IAAvB;EAEArB,CAAC,CAACW,SAAF,CAAYQ,WAAW,CAACG,IAAxB,EAA8B;IAACC,OAAO,EAAE,CAAV;IAAaC,KAAK,EAAE;EAApB,CAA9B;EAEAxB,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACM,QAAjB,EAA2B,qCAA3B;EACAzB,CAAC,CAACW,SAAF,CAAY,MAAK,SAAL,EAAgBQ,WAAW,CAACO,GAA5B,CAAZ,EAA8C;IAC5CC,WAAW,EAAE,YAD+B;IAE5CC,QAAQ,EAAE,IAFkC;IAG5CC,IAAI,EAAE,mBAHsC;IAI5CC,KAAK,EAAE,KAJqC;IAK5CC,KAAK,EAAE,KALqC;IAM5CC,SAAS,EAAE;EANiC,CAA9C;EAQA,MAAMhC,CAAC,CAACiC,SAAF,CAAYd,WAAW,CAACO,GAAZ,CAAgBZ,OAA5B,CAAN;EACAd,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACe,IAAjB,EAAuB,0BAAvB;EACAlC,CAAC,CAACmC,MAAF,CAAShB,WAAW,CAACiB,UAArB;EAEApC,CAAC,CAACW,SAAF,CAAY,KAAI,MAAK,SAAL,CAAJ,EAAqBQ,WAAW,CAACkB,OAAjC,CAAZ,EAAuD,CACrD;IACE5B,KAAK,EAAE,YADT;IAEEF,IAAI,EAAE,UAFR;IAGE+B,QAAQ,EAAE;EAHZ,CADqD,EAMrD;IACEC,MAAM,EAAE,IADV;IAEEX,QAAQ,EAAE,KAFZ;IAGEnB,KAAK,EAAE,SAHT;IAIEF,IAAI,EAAE,OAJR;IAKE+B,QAAQ,EAAE;EALZ,CANqD,EAarD;IACE7B,KAAK,EAAE,QADT;IAEEF,IAAI,EAAE,MAFR;IAGE+B,QAAQ,EAAE,KAHZ;IAIEV,QAAQ,EAAE;EAJZ,CAbqD,EAmBrD;IACEA,QAAQ,EAAE,IADZ;IAEEnB,KAAK,EAAE,SAFT;IAGEF,IAAI,EAAE;EAHR,CAnBqD,CAAvD;EAyBAP,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACqB,YAAjB,EAA+B,IAA/B;EACAxC,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACsB,gBAAjB,EAAmC,KAAnC;EACA,OAAOC,OAAO,CAACC,GAAR,CAAY,KAAIC,MAAM,IAAI5C,CAAC,CAACiC,SAAF,CAAYW,MAAM,CAAC9B,OAAnB,CAAd,EAA2CK,WAAW,CAACkB,OAAvD,CAAZ,CAAP;AACD,CArDG,CAAJ;AAuDA/E,IAAI,CAAC,sDAAD,EAAyD,MAAM0C,CAAN,IAAW;EACtE,MAAMC,KAAK,GAAGF,eAAe,CAACd,mBAAD,CAA7B;EACAM,aAAa,CAACU,KAAD,CAAb;EACA,MAAM;IACJC,KAAK,EAAE;MAACC,MAAM,EAAEgB;IAAT;EADH,IAEFlB,KAFJ;EAIAD,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACC,QAAjB,EAA2B,QAA3B;EACApB,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACE,IAAjB,EAAuB,IAAvB;EAEArB,CAAC,CAACW,SAAF,CAAYQ,WAAW,CAACG,IAAxB,EAA8B;IAACC,OAAO,EAAE,CAAV;IAAaC,KAAK,EAAE;EAApB,CAA9B;EAEAxB,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACM,QAAjB,EAA2B,qCAA3B;EACAzB,CAAC,CAACW,SAAF,CAAY,MAAK,SAAL,EAAgBQ,WAAW,CAACO,GAA5B,CAAZ,EAA8C;IAC5CC,WAAW,EAAE,YAD+B;IAE5CC,QAAQ,EAAE,IAFkC;IAG5CC,IAAI,EAAE,mBAHsC;IAI5CC,KAAK,EAAE,KAJqC;IAK5CC,KAAK,EAAE,KALqC;IAM5CC,SAAS,EAAE;EANiC,CAA9C;EAQA,MAAMhC,CAAC,CAACiC,SAAF,CAAYd,WAAW,CAACO,GAAZ,CAAgBZ,OAA5B,CAAN;EACAd,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACe,IAAjB,EAAuB,0BAAvB;EACAlC,CAAC,CAACmC,MAAF,CAAShB,WAAW,CAACiB,UAArB;EAEApC,CAAC,CAACW,SAAF,CAAY,KAAI,MAAK,SAAL,CAAJ,EAAqBQ,WAAW,CAACkB,OAAjC,CAAZ,EAAuD,CACrD;IACE5B,KAAK,EAAE,YADT;IAEEF,IAAI,EAAE,UAFR;IAGE+B,QAAQ,EAAE;EAHZ,CADqD,EAMrD;IACEC,MAAM,EAAE,KADV;IAEEX,QAAQ,EAAE,IAFZ;IAGEnB,KAAK,EAAE,SAHT;IAIEF,IAAI,EAAE,OAJR;IAKE+B,QAAQ,EAAE;EALZ,CANqD,EAarD;IACE7B,KAAK,EAAE,QADT;IAEEF,IAAI,EAAE,MAFR;IAGE+B,QAAQ,EAAE,KAHZ;IAIEV,QAAQ,EAAE;EAJZ,CAbqD,EAmBrD;IACEA,QAAQ,EAAE,IADZ;IAEEnB,KAAK,EAAE,SAFT;IAGEF,IAAI,EAAE;EAHR,CAnBqD,CAAvD;EAyBAP,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACqB,YAAjB,EAA+B,KAA/B;EACAxC,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACsB,gBAAjB,EAAmC,KAAnC;EACA,OAAOC,OAAO,CAACC,GAAR,CAAY,KAAIC,MAAM,IAAI5C,CAAC,CAACiC,SAAF,CAAYW,MAAM,CAAC9B,OAAnB,CAAd,EAA2CK,WAAW,CAACkB,OAAvD,CAAZ,CAAP;AACD,CArDG,CAAJ;AAuDA/E,IAAI,CAAC,6BAAD,EAAgC,MAAM0C,CAAN,IAAW;EAC7C,MAAMC,KAAK,GAAGF,eAAe,CAACX,gBAAD,CAA7B;EACAG,aAAa,CAACU,KAAD,CAAb;EACA,MAAM;IACJC,KAAK,EAAE;MAACC,MAAM,EAAEgB;IAAT;EADH,IAEFlB,KAFJ;EAIAD,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACC,QAAjB,EAA2B,MAA3B;EACApB,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACE,IAAjB,EAAuB,IAAvB;EAEArB,CAAC,CAACW,SAAF,CAAYQ,WAAW,CAACG,IAAxB,EAA8B;IAACC,OAAO,EAAE,CAAV;IAAaC,KAAK,EAAE;EAApB,CAA9B;EAEAxB,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACM,QAAjB,EAA2B,qCAA3B;EACAzB,CAAC,CAACW,SAAF,CAAY,MAAK,SAAL,EAAgBQ,WAAW,CAACO,GAA5B,CAAZ,EAA8C;IAC5CC,WAAW,EAAE,oBAD+B;IAE5CE,IAAI,EAAE,mBAFsC;IAG5CC,KAAK,EAAE,KAHqC;IAI5CC,KAAK,EAAE,KAJqC;IAK5CC,SAAS,EAAE,IALiC;IAM5CJ,QAAQ,EAAE;EANkC,CAA9C;EAQA,MAAM5B,CAAC,CAACiC,SAAF,CAAYd,WAAW,CAACO,GAAZ,CAAgBZ,OAA5B,CAAN;EACAd,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACe,IAAjB,EAAuB,0BAAvB;EACAlC,CAAC,CAACmC,MAAF,CAAShB,WAAW,CAACiB,UAArB;EAEApC,CAAC,CAACW,SAAF,CAAY,KAAI,MAAK,SAAL,CAAJ,EAAqBQ,WAAW,CAACkB,OAAjC,CAAZ,EAAuD,CACrD;IACE5B,KAAK,EAAE,YADT;IAEEF,IAAI,EAAE,UAFR;IAGE+B,QAAQ,EAAE;EAHZ,CADqD,EAMrD;IACEC,MAAM,EAAE,IADV;IAEEX,QAAQ,EAAE,KAFZ;IAGEnB,KAAK,EAAE,SAHT;IAIEF,IAAI,EAAE,OAJR;IAKE+B,QAAQ,EAAE;EALZ,CANqD,EAarD;IACE7B,KAAK,EAAE,QADT;IAEEF,IAAI,EAAE,MAFR;IAGE+B,QAAQ,EAAE,IAHZ;IAIEV,QAAQ,EAAE;EAJZ,CAbqD,EAmBrD;IACEA,QAAQ,EAAE,IADZ;IAEEnB,KAAK,EAAE,SAFT;IAGEF,IAAI,EAAE;EAHR,CAnBqD,CAAvD;EA0BA,OAAOmC,OAAO,CAACC,GAAR,CAAY,KAAIC,MAAM,IAAI5C,CAAC,CAACiC,SAAF,CAAYW,MAAM,CAAC9B,OAAnB,CAAd,EAA2CK,WAAW,CAACkB,OAAvD,CAAZ,CAAP;AACD,CApDG,CAAJ;AAsDA/E,IAAI,CAAC,qBAAD,EAAwB,MAAM0C,CAAN,IAAW;EACrC,MAAMC,KAAK,GAAGF,eAAe,CAACZ,SAAD,CAA7B;EACAI,aAAa,CAACU,KAAD,CAAb;EACA,MAAM;IACJC,KAAK,EAAE;MAACC,MAAM,EAAEgB;IAAT;EADH,IAEFlB,KAFJ;EAIAD,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACC,QAAjB,EAA2B,MAA3B;EACApB,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACE,IAAjB,EAAuB,MAAvB;EAEArB,CAAC,CAACW,SAAF,CAAYQ,WAAW,CAACG,IAAxB,EAA8B;IAACC,OAAO,EAAE,CAAV;IAAaC,KAAK,EAAE;EAApB,CAA9B;EAEAxB,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACM,QAAjB,EAA2B,qCAA3B;EACAzB,CAAC,CAACW,SAAF,CAAY,MAAK,SAAL,EAAgBQ,WAAW,CAACO,GAA5B,CAAZ,EAA8C;IAC5CC,WAAW,EAAE,oBAD+B;IAE5CE,IAAI,EAAE,mBAFsC;IAG5CC,KAAK,EAAE,KAHqC;IAI5CC,KAAK,EAAE,KAJqC;IAK5CC,SAAS,EAAE,IALiC;IAM5CJ,QAAQ,EAAE;EANkC,CAA9C;EAQA,MAAM5B,CAAC,CAACiC,SAAF,CAAYd,WAAW,CAACO,GAAZ,CAAgBZ,OAA5B,CAAN;EACAd,CAAC,CAACM,EAAF,CAAKa,WAAW,CAACe,IAAjB,EAAuB,0BAAvB;EACAlC,CAAC,CAACmC,MAAF,CAAShB,WAAW,CAACiB,UAArB;EAEApC,CAAC,CAACW,SAAF,CAAY,KAAI,MAAK,SAAL,CAAJ,EAAqBQ,WAAW,CAACkB,OAAjC,CAAZ,EAAuD,CACrD;IACE5B,KAAK,EAAE,YADT;IAEEF,IAAI,EAAE,UAFR;IAGE+B,QAAQ,EAAE;EAHZ,CADqD,EAMrD;IACEC,MAAM,EAAE,IADV;IAEEX,QAAQ,EAAE,KAFZ;IAGEnB,KAAK,EAAE,SAHT;IAIEF,IAAI,EAAE,OAJR;IAKE+B,QAAQ,EAAE;EALZ,CANqD,EAarD;IACE7B,KAAK,EAAE,QADT;IAEEF,IAAI,EAAE,MAFR;IAGE+B,QAAQ,EAAE,IAHZ;IAIEV,QAAQ,EAAE;EAJZ,CAbqD,EAmBrD;IACEA,QAAQ,EAAE,IADZ;IAEEnB,KAAK,EAAE,SAFT;IAGEF,IAAI,EAAE;EAHR,CAnBqD,CAAvD;EA0BA,OAAOmC,OAAO,CAACC,GAAR,CAAY,KAAIC,MAAM,IAAI5C,CAAC,CAACiC,SAAF,CAAYW,MAAM,CAAC9B,OAAnB,CAAd,EAA2CK,WAAW,CAACkB,OAAvD,CAAZ,CAAP;AACD,CApDG,CAAJ;AAsDA/E,IAAI,CAAC,iDAAD,EAAoD0C,CAAC,IAAI;EAC3D,MAAMC,KAAK,GAAGF,eAAe,CAACb,WAAD,CAA7B;EACAK,aAAa,CAACU,KAAD,CAAb;EACA,MAAM;IACJC,KAAK,EAAE;MAACC,MAAM,EAAEgB;IAAT;EADH,IAEFlB,KAFJ;EAIAD,CAAC,CAACW,SAAF,CAAY,KAAI,MAAK,SAAL,CAAJ,EAAqBQ,WAAW,CAACkB,OAAjC,CAAZ,EAAuD,CACrD;IACE5B,KAAK,EAAE,YADT;IAEEF,IAAI,EAAE,UAFR;IAGE+B,QAAQ,EAAE;EAHZ,CADqD,EAMrD;IACEC,MAAM,EAAE,IADV;IAEEX,QAAQ,EAAE,KAFZ;IAGEnB,KAAK,EAAE,SAHT;IAIEF,IAAI,EAAE,OAJR;IAKE+B,QAAQ,EAAE;EALZ,CANqD,EAarD;IACE7B,KAAK,EAAE,QADT;IAEEF,IAAI,EAAE,MAFR;IAGE+B,QAAQ,EAAE,KAHZ;IAIEV,QAAQ,EAAE;EAJZ,CAbqD,EAmBrD;IACEA,QAAQ,EAAE,IADZ;IAEEnB,KAAK,EAAE,SAFT;IAGEF,IAAI,EAAE;EAHR,CAnBqD,CAAvD;EA0BA,OAAOmC,OAAO,CAACC,GAAR,CAAY,KAAIC,MAAM,IAAI5C,CAAC,CAACiC,SAAF,CAAYW,MAAM,CAAC9B,OAAnB,CAAd,EAA2CK,WAAW,CAACkB,OAAvD,CAAZ,CAAP;AACD,CAlCG,CAAJ"}
|
|
1
|
+
{"version":3,"file":"slide.js","names":["test","mockTranslate","Analytics","AnalyticsService","Answers","AnswersService","Clues","CluesService","Coach","CoachService","Comments","CommentsService","Content","ContentService","ExitNodes","ExitNodesService","LeaderBoard","LeaderBoardService","Location","LocationService","Progressions","ProgressionsService","Recommendations","RecommendationsService","microlearningHeader","learnerHeader","stateSlide","stateSlideNoLessons","stateNoClue","stateClue","stateLoadingClue","fixtures","stateToVNode","testRendering","services","Logger","console","options","translate","store","dispatch","mapStateToVNode","t","vNode","props","player","header","headerProps","is","type","content","title","subcontent","deepEqual","lives","count","onClick","true","actionOnClick","details","state","playerProps","typeClue","text","step","current","total","question","cta","submitValue","disabled","name","light","small","secondary","useButtonTag","notThrows","help","truthy","answerType","buttons","selected","notify","showNewMedia","showReviewLesson","Promise","all","button"],"sources":["../../../src/views/test/slide.js"],"sourcesContent":["import test from 'ava';\nimport {identity, map, omit, isFunction} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {\n Analytics as AnalyticsService,\n Answers as AnswersService,\n Clues as CluesService,\n Coach as CoachService,\n Comments as CommentsService,\n Content as ContentService,\n ExitNodes as ExitNodesService,\n LeaderBoard as LeaderBoardService,\n Location as LocationService,\n Progressions as ProgressionsService,\n Recommendations as RecommendationsService\n} from '@coorpacademy/player-services';\nimport microlearningHeader from '../../map-state-to-props/test/fixtures/progression-state';\nimport learnerHeader from '../../map-state-to-props/test/fixtures/progression-learner';\nimport stateSlide from '../../map-state-to-props/test/fixtures/player/slide';\nimport stateSlideNoLessons from '../../map-state-to-props/test/fixtures/player/slide-no-lessons';\nimport stateNoClue from '../../map-state-to-props/test/fixtures/player/no-clue';\nimport stateClue from '../../map-state-to-props/test/fixtures/player/clue';\nimport stateLoadingClue from '../../map-state-to-props/test/fixtures/player/loading-clue';\nimport * as fixtures from '../../../sandbox/fixtures';\nimport stateToVNode from './helpers/state-to-vnode';\nimport testRendering from './helpers/render';\n\nconst services = {\n Analytics: AnalyticsService,\n Answers: AnswersService(fixtures),\n Clues: CluesService(fixtures),\n Coach: CoachService,\n Comments: CommentsService,\n Content: ContentService(fixtures),\n ExitNodes: ExitNodesService(fixtures),\n LeaderBoard: LeaderBoardService,\n Location: LocationService,\n Logger: console,\n Progressions: ProgressionsService(fixtures),\n Recommendations: RecommendationsService(fixtures)\n};\n\nconst options = {translate: mockTranslate, services};\nconst store = {dispatch: identity};\nconst mapStateToVNode = stateToVNode(options, store);\n\ntest('should display microlearning header', t => {\n const vNode = mapStateToVNode(microlearningHeader);\n testRendering(vNode);\n const {\n props: {\n player: {header: headerProps}\n }\n } = vNode;\n t.is(headerProps.type, 'microlearning');\n t.is(headerProps.content.title, 'Les réseaux sociaux au service du crowdfunding');\n t.is(headerProps.subcontent, null);\n t.deepEqual(headerProps.lives, {count: 3});\n const onClick = headerProps.content.onClick;\n t.true(isFunction(onClick));\n const actionOnClick = onClick();\n t.true(isFunction(actionOnClick));\n});\n\ntest('should display learner header with chapter num', t => {\n const vNode = mapStateToVNode(learnerHeader);\n testRendering(vNode);\n const {\n props: {\n player: {header: headerProps}\n }\n } = vNode;\n\n t.is(headerProps.type, 'learner');\n t.is(headerProps.content.title, 'level1');\n t.is(headerProps.content.details, 'base-translation');\n t.is(headerProps.subcontent.title, 'chapter2!');\n t.is(headerProps.subcontent.details, '2/2');\n t.deepEqual(headerProps.lives, {count: 3});\n\n const onClick = headerProps.content.onClick;\n t.true(isFunction(onClick));\n const actionOnClick = onClick();\n t.true(isFunction(actionOnClick));\n});\n\ntest('should display learner header with no chapter nums', t => {\n const state = omit('data.contents.level.entities.1.chapterIds', learnerHeader);\n\n const vNode = mapStateToVNode(state);\n testRendering(vNode);\n const {\n props: {\n player: {header: headerProps}\n }\n } = vNode;\n\n t.is(headerProps.type, 'learner');\n t.is(headerProps.content.title, 'level1');\n t.is(headerProps.content.details, 'base-translation');\n t.is(headerProps.subcontent.title, 'chapter2!');\n t.is(headerProps.subcontent.details, null);\n t.deepEqual(headerProps.lives, {count: 3});\n\n const onClick = headerProps.content.onClick;\n t.true(isFunction(onClick));\n const actionOnClick = onClick();\n t.true(isFunction(actionOnClick));\n});\n\ntest('should display slide', async t => {\n const vNode = mapStateToVNode(stateSlide);\n testRendering(vNode);\n const {\n props: {player: playerProps}\n } = vNode;\n\n t.is(playerProps.typeClue, 'answer');\n t.is(playerProps.text, null);\n\n t.deepEqual(playerProps.step, {current: 2, total: 4});\n\n t.is(playerProps.question, \"Écrivez le mot Text dans l'input.\\n\");\n t.deepEqual(omit('onClick', playerProps.cta), {\n 'aria-label': '__Validate. __Submit your Answer',\n submitValue: '__Validate',\n disabled: true,\n name: 'validateAnswerCTA',\n light: false,\n small: false,\n secondary: false,\n useButtonTag: true\n });\n await t.notThrows(playerProps.cta.onClick);\n t.is(playerProps.help, 'Saisissez votre réponse.');\n t.truthy(playerProps.answerType);\n\n t.deepEqual(map(omit('onClick'), playerProps.buttons), [\n {\n title: '__Question',\n type: 'question',\n selected: true\n },\n {\n notify: true,\n disabled: false,\n title: '__Media',\n type: 'media',\n selected: false\n },\n {\n title: '__Clue',\n type: 'clue',\n selected: false,\n disabled: false\n },\n {\n disabled: true,\n title: '__Coach',\n type: 'coach'\n }\n ]);\n t.is(playerProps.showNewMedia, true);\n t.is(playerProps.showReviewLesson, false);\n return Promise.all(map(button => t.notThrows(button.onClick), playerProps.buttons));\n});\n\ntest('should disable lesson button if slide has no lessons', async t => {\n const vNode = mapStateToVNode(stateSlideNoLessons);\n testRendering(vNode);\n const {\n props: {player: playerProps}\n } = vNode;\n\n t.is(playerProps.typeClue, 'answer');\n t.is(playerProps.text, null);\n\n t.deepEqual(playerProps.step, {current: 2, total: 4});\n\n t.is(playerProps.question, \"Écrivez le mot Text dans l'input.\\n\");\n t.deepEqual(omit('onClick', playerProps.cta), {\n 'aria-label': '__Validate. __Submit your Answer',\n submitValue: '__Validate',\n disabled: true,\n name: 'validateAnswerCTA',\n light: false,\n small: false,\n secondary: false,\n useButtonTag: true\n });\n await t.notThrows(playerProps.cta.onClick);\n t.is(playerProps.help, 'Saisissez votre réponse.');\n t.truthy(playerProps.answerType);\n\n t.deepEqual(map(omit('onClick'), playerProps.buttons), [\n {\n title: '__Question',\n type: 'question',\n selected: true\n },\n {\n notify: false,\n disabled: true,\n title: '__Media',\n type: 'media',\n selected: false\n },\n {\n title: '__Clue',\n type: 'clue',\n selected: false,\n disabled: false\n },\n {\n disabled: true,\n title: '__Coach',\n type: 'coach'\n }\n ]);\n t.is(playerProps.showNewMedia, false);\n t.is(playerProps.showReviewLesson, false);\n return Promise.all(map(button => t.notThrows(button.onClick), playerProps.buttons));\n});\n\ntest('should display loading clue', async t => {\n const vNode = mapStateToVNode(stateLoadingClue);\n testRendering(vNode);\n const {\n props: {player: playerProps}\n } = vNode;\n\n t.is(playerProps.typeClue, 'clue');\n t.is(playerProps.text, null);\n\n t.deepEqual(playerProps.step, {current: 1, total: 1});\n\n t.is(playerProps.question, \"Écrivez le mot Text dans l'input.\\n\");\n t.deepEqual(omit('onClick', playerProps.cta), {\n submitValue: '__Back to question',\n name: 'backToQuestionCTA',\n light: false,\n small: false,\n secondary: true,\n disabled: false\n });\n await t.notThrows(playerProps.cta.onClick);\n t.is(playerProps.help, 'Saisissez votre réponse.');\n t.truthy(playerProps.answerType);\n\n t.deepEqual(map(omit('onClick'), playerProps.buttons), [\n {\n title: '__Question',\n type: 'question',\n selected: false\n },\n {\n notify: true,\n disabled: false,\n title: '__Media',\n type: 'media',\n selected: false\n },\n {\n title: '__Clue',\n type: 'clue',\n selected: true,\n disabled: false\n },\n {\n disabled: true,\n title: '__Coach',\n type: 'coach'\n }\n ]);\n\n return Promise.all(map(button => t.notThrows(button.onClick), playerProps.buttons));\n});\n\ntest('should display clue', async t => {\n const vNode = mapStateToVNode(stateClue);\n testRendering(vNode);\n const {\n props: {player: playerProps}\n } = vNode;\n\n t.is(playerProps.typeClue, 'clue');\n t.is(playerProps.text, 'Clue');\n\n t.deepEqual(playerProps.step, {current: 2, total: 4});\n\n t.is(playerProps.question, \"Écrivez le mot Text dans l'input.\\n\");\n t.deepEqual(omit('onClick', playerProps.cta), {\n submitValue: '__Back to question',\n name: 'backToQuestionCTA',\n light: false,\n small: false,\n secondary: true,\n disabled: false\n });\n await t.notThrows(playerProps.cta.onClick);\n t.is(playerProps.help, 'Saisissez votre réponse.');\n t.truthy(playerProps.answerType);\n\n t.deepEqual(map(omit('onClick'), playerProps.buttons), [\n {\n title: '__Question',\n type: 'question',\n selected: false\n },\n {\n notify: true,\n disabled: false,\n title: '__Media',\n type: 'media',\n selected: false\n },\n {\n title: '__Clue',\n type: 'clue',\n selected: true,\n disabled: false\n },\n {\n disabled: true,\n title: '__Coach',\n type: 'coach'\n }\n ]);\n\n return Promise.all(map(button => t.notThrows(button.onClick), playerProps.buttons));\n});\n\ntest('should disable clue button if slide has no clue', t => {\n const vNode = mapStateToVNode(stateNoClue);\n testRendering(vNode);\n const {\n props: {player: playerProps}\n } = vNode;\n\n t.deepEqual(map(omit('onClick'), playerProps.buttons), [\n {\n title: '__Question',\n type: 'question',\n selected: true\n },\n {\n notify: true,\n disabled: false,\n title: '__Media',\n type: 'media',\n selected: false\n },\n {\n title: '__Clue',\n type: 'clue',\n selected: false,\n disabled: true\n },\n {\n disabled: true,\n title: '__Coach',\n type: 'coach'\n }\n ]);\n\n return Promise.all(map(button => t.notThrows(button.onClick), playerProps.buttons));\n});\n"],"mappings":"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"}
|
|
@@ -157,7 +157,8 @@ const templateSelectProps = (options, store) => {
|
|
|
157
157
|
type: choice.type,
|
|
158
158
|
name: choice.name,
|
|
159
159
|
onChange: (0, _pipe2.default)(updateTemplateAnswer(answers, index, maxLength), editAnswerAction_(state, slide)),
|
|
160
|
-
options: (0, _isEmpty2.default)(answer) ? [temporaryOption].concat(selectOptions) : selectOptions
|
|
160
|
+
options: (0, _isEmpty2.default)(answer) ? [temporaryOption].concat(selectOptions) : selectOptions,
|
|
161
|
+
'aria-label': translate('Select an answer')
|
|
161
162
|
};
|
|
162
163
|
};
|
|
163
164
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"answer.js","names":["editAnswerAction","options","dispatch","newValue","editAnswer","qcmProps","store","getChoices_","getChoices","editAnswerAction_","state","slide","answers","getAnswerValues","_editAnswerAction","props","type","choice","title","label","selected","onClick","qcmDragProps","indexInAnswer","order","qcmGraphicProps","image","updateTemplateAnswer","_answers","index","max","value","undefined","a","templateTextProps","translate","name","placeholder","onChange","templateSelectProps","answer","temporaryOption","validOption","selectOptions","items","map","item","text","maxLength","concat","templateProps","templateTextProps_","templateSelectProps_","template","question","content","basicProps","toAnswer","values","maxValue","position","sliderProps","step","min","stateValue","currentValue","indexValue","handleChange","sliderPosition","explanation","minLabel","unitLabel","maxLabel","createGetAnswerProps","qcmProps_","qcmGraphicProps_","qcmDragProps_","basicProps_","templateProps_","sliderProps_","getQuestionType","Error","createGetHelp"],"sources":["../../src/map-state-to-props/answer.js"],"sourcesContent":["import {\n pipe,\n includes,\n toInteger,\n head,\n map,\n get,\n divide,\n multiply,\n __,\n round,\n size,\n constant,\n times,\n set,\n isEmpty,\n isNil,\n rangeStep,\n toString as _toString,\n indexOf\n} from 'lodash/fp';\nimport {getChoices, getQuestionType, getAnswerValues, editAnswer} from '@coorpacademy/player-store';\n\nconst editAnswerAction = (options, {dispatch}) =>\n constant(newValue => {\n return dispatch(editAnswer(newValue));\n });\n\nconst qcmProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n const _editAnswerAction = editAnswerAction_(state, slide);\n\n const props = {\n type: 'qcm',\n answers: map(\n choice => ({\n title: choice.label,\n selected: includes(choice.label, answers),\n onClick: () => _editAnswerAction(choice)\n }),\n getChoices_(slide, state)\n )\n };\n\n return props;\n };\n};\n\nconst qcmDragProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmDrag',\n answers: map(choice => {\n const indexInAnswer = indexOf(choice.label, answers);\n return {\n title: choice.label,\n selected: indexInAnswer !== -1,\n order: indexInAnswer,\n onClick: () => editAnswerAction_(state, slide)(choice)\n };\n }, getChoices_(slide, state))\n };\n };\n};\n\nconst qcmGraphicProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmGraphic',\n answers: map(\n choice => ({\n title: choice.label,\n image: get('media.src.0.url', choice),\n selected: includes(choice.label, answers),\n onClick: () => editAnswerAction_(state, slide)(choice)\n }),\n getChoices_(slide, state)\n )\n };\n };\n};\n\nconst updateTemplateAnswer = (_answers, index, max) => value => {\n const answers = !_answers ? times(constant(undefined), max) : _answers;\n return map(a => (isNil(a) ? '' : a), set(index, value, answers));\n};\n\nconst templateTextProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n return {\n type: choice.type,\n name: choice.name,\n placeholder: translate('Type here'),\n value: get(index, answers),\n onChange: pipe(updateTemplateAnswer(answers, index), editAnswerAction_(state, slide))\n };\n };\n};\n\nconst templateSelectProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n const answer = get(index, answers);\n const temporaryOption = {\n name: translate('Select an answer'),\n value: '',\n validOption: false,\n selected: true\n };\n const selectOptions = choice.items.map(item => {\n return {\n name: item.text,\n value: item.text,\n validOption: true,\n selected: item.text === answer\n };\n });\n const maxLength = get('question.content.choices.length', slide);\n\n return {\n type: choice.type,\n name: choice.name,\n onChange: pipe(\n updateTemplateAnswer(answers, index, maxLength),\n editAnswerAction_(state, slide)\n ),\n options: isEmpty(answer) ? [temporaryOption].concat(selectOptions) : selectOptions\n };\n };\n};\n\nconst templateProps = (options, store) => {\n const getChoices_ = getChoices();\n const templateTextProps_ = templateTextProps(options, store);\n const templateSelectProps_ = templateSelectProps(options, store);\n\n return (state, slide) => {\n return {\n type: 'template',\n template: slide.question.content.template,\n answers: getChoices_(slide, state).map((choice, index) =>\n choice.type === 'text'\n ? templateTextProps_(state, slide, choice, index)\n : templateSelectProps_(state, slide, choice, index)\n )\n };\n };\n};\n\nconst basicProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const {translate} = options;\n return {\n type: 'freeText',\n placeholder: translate('Type here'),\n value: pipe(getAnswerValues, head)(slide, state),\n onChange: editAnswerAction_(state, slide)\n };\n };\n};\n\nconst toAnswer = values => {\n const maxValue = size(values) - 1;\n return position => {\n return pipe(multiply(maxValue), round, get(__, values), _toString)(position);\n };\n};\n\nconst sliderProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const values = rangeStep(\n slide.question.content.step || 1,\n slide.question.content.min,\n slide.question.content.max + 1\n );\n\n const stateValue = pipe(getAnswerValues, head)(slide, state);\n const currentValue = toInteger(stateValue);\n\n const indexValue = indexOf(currentValue, values);\n const handleChange = editAnswerAction_(state, slide);\n const sliderPosition = divide(indexValue, size(values) - 1);\n\n return {\n type: 'slider',\n placeholder: slide.question.explanation,\n minLabel: `${slide.question.content.min} ${slide.question.content.unitLabel}`,\n maxLabel: `${slide.question.content.max} ${slide.question.content.unitLabel}`,\n title: `${currentValue} ${slide.question.content.unitLabel}`,\n value: sliderPosition,\n onChange: pipe(toAnswer(values), handleChange)\n };\n };\n};\n\nconst createGetAnswerProps = (options, store) => {\n const qcmProps_ = qcmProps(options, store);\n const qcmGraphicProps_ = qcmGraphicProps(options, store);\n const qcmDragProps_ = qcmDragProps(options, store);\n const basicProps_ = basicProps(options, store);\n const templateProps_ = templateProps(options, store);\n const sliderProps_ = sliderProps(options, store);\n\n return (state, slide) => {\n if (!slide) {\n return;\n }\n const type = getQuestionType(slide);\n switch (type) {\n case 'qcm':\n return qcmProps_(state, slide);\n\n case 'qcmGraphic':\n return qcmGraphicProps_(state, slide);\n\n case 'qcmDrag':\n return qcmDragProps_(state, slide);\n\n case 'basic':\n return basicProps_(state, slide);\n\n case 'template':\n return templateProps_(state, slide);\n\n case 'slider':\n return sliderProps_(state, slide);\n\n default:\n throw new Error(`${type} is not an handled question.type`);\n }\n };\n};\n\nconst createGetHelp = (options, store) => slide => {\n const {translate} = options;\n return get('question.explanation', slide) || translate('Select something below');\n};\n\nexport {createGetAnswerProps, createGetHelp};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"answer.js","names":["editAnswerAction","options","dispatch","newValue","editAnswer","qcmProps","store","getChoices_","getChoices","editAnswerAction_","state","slide","answers","getAnswerValues","_editAnswerAction","props","type","choice","title","label","selected","onClick","qcmDragProps","indexInAnswer","order","qcmGraphicProps","image","updateTemplateAnswer","_answers","index","max","value","undefined","a","templateTextProps","translate","name","placeholder","onChange","templateSelectProps","answer","temporaryOption","validOption","selectOptions","items","map","item","text","maxLength","concat","templateProps","templateTextProps_","templateSelectProps_","template","question","content","basicProps","toAnswer","values","maxValue","position","sliderProps","step","min","stateValue","currentValue","indexValue","handleChange","sliderPosition","explanation","minLabel","unitLabel","maxLabel","createGetAnswerProps","qcmProps_","qcmGraphicProps_","qcmDragProps_","basicProps_","templateProps_","sliderProps_","getQuestionType","Error","createGetHelp"],"sources":["../../src/map-state-to-props/answer.js"],"sourcesContent":["import {\n pipe,\n includes,\n toInteger,\n head,\n map,\n get,\n divide,\n multiply,\n __,\n round,\n size,\n constant,\n times,\n set,\n isEmpty,\n isNil,\n rangeStep,\n toString as _toString,\n indexOf\n} from 'lodash/fp';\nimport {getChoices, getQuestionType, getAnswerValues, editAnswer} from '@coorpacademy/player-store';\n\nconst editAnswerAction = (options, {dispatch}) =>\n constant(newValue => {\n return dispatch(editAnswer(newValue));\n });\n\nconst qcmProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n const _editAnswerAction = editAnswerAction_(state, slide);\n\n const props = {\n type: 'qcm',\n answers: map(\n choice => ({\n title: choice.label,\n selected: includes(choice.label, answers),\n onClick: () => _editAnswerAction(choice)\n }),\n getChoices_(slide, state)\n )\n };\n\n return props;\n };\n};\n\nconst qcmDragProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmDrag',\n answers: map(choice => {\n const indexInAnswer = indexOf(choice.label, answers);\n return {\n title: choice.label,\n selected: indexInAnswer !== -1,\n order: indexInAnswer,\n onClick: () => editAnswerAction_(state, slide)(choice)\n };\n }, getChoices_(slide, state))\n };\n };\n};\n\nconst qcmGraphicProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmGraphic',\n answers: map(\n choice => ({\n title: choice.label,\n image: get('media.src.0.url', choice),\n selected: includes(choice.label, answers),\n onClick: () => editAnswerAction_(state, slide)(choice)\n }),\n getChoices_(slide, state)\n )\n };\n };\n};\n\nconst updateTemplateAnswer = (_answers, index, max) => value => {\n const answers = !_answers ? times(constant(undefined), max) : _answers;\n return map(a => (isNil(a) ? '' : a), set(index, value, answers));\n};\n\nconst templateTextProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n return {\n type: choice.type,\n name: choice.name,\n placeholder: translate('Type here'),\n value: get(index, answers),\n onChange: pipe(updateTemplateAnswer(answers, index), editAnswerAction_(state, slide))\n };\n };\n};\n\nconst templateSelectProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n const answer = get(index, answers);\n const temporaryOption = {\n name: translate('Select an answer'),\n value: '',\n validOption: false,\n selected: true\n };\n const selectOptions = choice.items.map(item => {\n return {\n name: item.text,\n value: item.text,\n validOption: true,\n selected: item.text === answer\n };\n });\n const maxLength = get('question.content.choices.length', slide);\n\n return {\n type: choice.type,\n name: choice.name,\n onChange: pipe(\n updateTemplateAnswer(answers, index, maxLength),\n editAnswerAction_(state, slide)\n ),\n options: isEmpty(answer) ? [temporaryOption].concat(selectOptions) : selectOptions,\n 'aria-label': translate('Select an answer')\n };\n };\n};\n\nconst templateProps = (options, store) => {\n const getChoices_ = getChoices();\n const templateTextProps_ = templateTextProps(options, store);\n const templateSelectProps_ = templateSelectProps(options, store);\n\n return (state, slide) => {\n return {\n type: 'template',\n template: slide.question.content.template,\n answers: getChoices_(slide, state).map((choice, index) =>\n choice.type === 'text'\n ? templateTextProps_(state, slide, choice, index)\n : templateSelectProps_(state, slide, choice, index)\n )\n };\n };\n};\n\nconst basicProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const {translate} = options;\n return {\n type: 'freeText',\n placeholder: translate('Type here'),\n value: pipe(getAnswerValues, head)(slide, state),\n onChange: editAnswerAction_(state, slide)\n };\n };\n};\n\nconst toAnswer = values => {\n const maxValue = size(values) - 1;\n return position => {\n return pipe(multiply(maxValue), round, get(__, values), _toString)(position);\n };\n};\n\nconst sliderProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const values = rangeStep(\n slide.question.content.step || 1,\n slide.question.content.min,\n slide.question.content.max + 1\n );\n\n const stateValue = pipe(getAnswerValues, head)(slide, state);\n const currentValue = toInteger(stateValue);\n\n const indexValue = indexOf(currentValue, values);\n const handleChange = editAnswerAction_(state, slide);\n const sliderPosition = divide(indexValue, size(values) - 1);\n\n return {\n type: 'slider',\n placeholder: slide.question.explanation,\n minLabel: `${slide.question.content.min} ${slide.question.content.unitLabel}`,\n maxLabel: `${slide.question.content.max} ${slide.question.content.unitLabel}`,\n title: `${currentValue} ${slide.question.content.unitLabel}`,\n value: sliderPosition,\n onChange: pipe(toAnswer(values), handleChange)\n };\n };\n};\n\nconst createGetAnswerProps = (options, store) => {\n const qcmProps_ = qcmProps(options, store);\n const qcmGraphicProps_ = qcmGraphicProps(options, store);\n const qcmDragProps_ = qcmDragProps(options, store);\n const basicProps_ = basicProps(options, store);\n const templateProps_ = templateProps(options, store);\n const sliderProps_ = sliderProps(options, store);\n\n return (state, slide) => {\n if (!slide) {\n return;\n }\n const type = getQuestionType(slide);\n switch (type) {\n case 'qcm':\n return qcmProps_(state, slide);\n\n case 'qcmGraphic':\n return qcmGraphicProps_(state, slide);\n\n case 'qcmDrag':\n return qcmDragProps_(state, slide);\n\n case 'basic':\n return basicProps_(state, slide);\n\n case 'template':\n return templateProps_(state, slide);\n\n case 'slider':\n return sliderProps_(state, slide);\n\n default:\n throw new Error(`${type} is not an handled question.type`);\n }\n };\n};\n\nconst createGetHelp = (options, store) => slide => {\n const {translate} = options;\n return get('question.explanation', slide) || translate('Select something below');\n};\n\nexport {createGetAnswerProps, createGetHelp};\n"],"mappings":"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"}
|
|
@@ -106,12 +106,14 @@ const playerProps = (options, store) => {
|
|
|
106
106
|
|
|
107
107
|
const ctaButtonValidate = {
|
|
108
108
|
submitValue: translate('Validate'),
|
|
109
|
+
'aria-label': `${translate('Validate')}. ${translate('Submit your Answer')}`,
|
|
109
110
|
onClick: clickCTAHandler,
|
|
110
111
|
light: false,
|
|
111
112
|
small: false,
|
|
112
113
|
name: 'validateAnswerCTA',
|
|
113
114
|
secondary: false,
|
|
114
|
-
disabled: (0, _playerStore.isQuestionCtaDisabled)(state)
|
|
115
|
+
disabled: (0, _playerStore.isQuestionCtaDisabled)(state),
|
|
116
|
+
useButtonTag: true
|
|
115
117
|
};
|
|
116
118
|
const ctaButtonBackToQuestion = {
|
|
117
119
|
submitValue: translate(route === 'context' ? 'Go to question' : 'Back to question'),
|