@coorpacademy/player-web 4.9.12 → 4.9.13-alpha.2

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.
@@ -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,IAAGA,SAAS,CAAC,oBAAD,CAAuB,EAFlD;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(23);
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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"}
@@ -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'),
@@ -1 +1 @@
1
- {"version":3,"file":"player.js","names":["ROUTES","STARS_DIFF","media","clue","playerProps","options","store","createGetAnswerProps_","createGetAnswerProps","getResourcesProps_","getResourcesProps","createGetHelp_","createGetHelp","createHeaderStateToProps_","createHeaderStateToProps","state","translate","services","dispatch","engineConfig","getEngineConfig","slide","getCurrentSlide","slideContext","currentContent","getCurrentContent","answer","mediaQuestion","getQuestionMedia","getCurrentClue","route","getRoute","resources","help","starsDiff","clickClueHandler","selectClue","clickSeeClueHandler","getClue","clickBackToAnswerHandler","selectRoute","clickCTAHandler","validateAnswer","hasClue","slideLessons","notifyNewMedia","hasSeenLesson","notifyReviewLesson","contextButton","title","type","selected","onClick","availableCoaches","getCoaches","buttons","disabled","notify","Coach","push","startChat","headerProps","ctaButtonValidate","submitValue","light","small","name","secondary","isQuestionCtaDisabled","ctaButtonBackToQuestion","typeClue","text","onClickSeeClue","question","step","getProgressionSteps","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":["ROUTES","STARS_DIFF","media","clue","playerProps","options","store","createGetAnswerProps_","createGetAnswerProps","getResourcesProps_","getResourcesProps","createGetHelp_","createGetHelp","createHeaderStateToProps_","createHeaderStateToProps","state","translate","services","dispatch","engineConfig","getEngineConfig","slide","getCurrentSlide","slideContext","currentContent","getCurrentContent","answer","mediaQuestion","getQuestionMedia","getCurrentClue","route","getRoute","resources","help","starsDiff","clickClueHandler","selectClue","clickSeeClueHandler","getClue","clickBackToAnswerHandler","selectRoute","clickCTAHandler","validateAnswer","hasClue","slideLessons","notifyNewMedia","hasSeenLesson","notifyReviewLesson","contextButton","title","type","selected","onClick","availableCoaches","getCoaches","buttons","disabled","notify","Coach","push","startChat","headerProps","ctaButtonValidate","submitValue","light","small","name","secondary","isQuestionCtaDisabled","useButtonTag","ctaButtonBackToQuestion","typeClue","text","onClickSeeClue","question","step","getProgressionSteps","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":"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"}
@@ -91,7 +91,7 @@ const getHelp = (0, _answer.createGetHelp)(options, store);
91
91
  t.true((0, _isFunction2.default)(props.answers[0].onClick));
92
92
  });
93
93
  (0, _ava.default)('should create edited template props', t => {
94
- t.plan(23);
94
+ t.plan(24);
95
95
  const state = {
96
96
  ui: {
97
97
  answers: {
@@ -124,6 +124,7 @@ const getHelp = (0, _answer.createGetHelp)(options, store);
124
124
  t.true((0, _isFunction2.default)(props.answers[0].onChange));
125
125
  t.is(props.answers[1].type, 'select');
126
126
  t.is(props.answers[1].name, 'sel31191');
127
+ t.is(props.answers[1]['aria-label'], '__Select an answer');
127
128
  t.true((0, _isFunction2.default)(props.answers[1].onChange));
128
129
  const selectOptions = props.answers[1].options;
129
130
  t.true(Array.isArray(selectOptions));
@@ -1 +1 @@
1
- {"version":3,"file":"answer.js","names":["options","translate","mockTranslate","store","dispatch","getAnswerProps","createGetAnswerProps","getHelp","createGetHelp","test","t","plan","state","ui","current","progressionId","_getAnswerProps","thunk","true","props","qcm","is","type","answers","every","answer","selected","onClick","value","length","title","false","template","Array","isArray","name","placeholder","onChange","selectOptions","validOption","qcmGraphic","data","configs","entities","version","shuffleChoices","progressions","engine","ref","deepEqual","qcmDrag","order","action","pass","slider","minLabel","maxLabel","basic","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":["options","translate","mockTranslate","store","dispatch","getAnswerProps","createGetAnswerProps","getHelp","createGetHelp","test","t","plan","state","ui","current","progressionId","_getAnswerProps","thunk","true","props","qcm","is","type","answers","every","answer","selected","onClick","value","length","title","false","template","Array","isArray","name","placeholder","onChange","selectOptions","validOption","qcmGraphic","data","configs","entities","version","shuffleChoices","progressions","engine","ref","deepEqual","qcmDrag","order","action","pass","slider","minLabel","maxLabel","basic","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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"}
@@ -46,6 +46,7 @@
46
46
  "Type here": "Type here",
47
47
  "Unlock next level": "You have just unlocked<br><b>{{levelName}} level</b>",
48
48
  "Validate": "Submit",
49
+ "Submit your Answer": "Submit your Answer",
49
50
  "Wrong answer": "Wrong answer",
50
51
  "You are out of lives!": "You are out of lives!",
51
52
  "Your answer_": "Your answer:",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/player-web",
3
- "version": "4.9.12",
3
+ "version": "4.9.13-alpha.2+551988c12",
4
4
  "description": "CoorpAcademy web slide-player",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -61,7 +61,7 @@
61
61
  "react-dom": "^17.0.2"
62
62
  },
63
63
  "dependencies": {
64
- "@coorpacademy/components": "11.14.12",
64
+ "@coorpacademy/components": "11.14.13-alpha.2+551988c12",
65
65
  "@coorpacademy/player-services": "5.2.23",
66
66
  "@coorpacademy/player-store": "4.2.26",
67
67
  "@coorpacademy/progression-engine": "11.7.0",
@@ -70,5 +70,5 @@
70
70
  "eslint": "^8.24.0",
71
71
  "lodash": "^4.17.21"
72
72
  },
73
- "gitHead": "014dc648a1ffdc9ea5b69c7268da9e37737c41d7"
73
+ "gitHead": "551988c122c79219b35853a60603347616f2afc4"
74
74
  }