@coorpacademy/player-web 3.18.3 → 3.18.4

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.
Files changed (75) hide show
  1. package/es/index.js.map +1 -1
  2. package/es/map-state-to-props/answer.js.map +1 -1
  3. package/es/map-state-to-props/header.js.map +1 -1
  4. package/es/map-state-to-props/index.js.map +1 -1
  5. package/es/map-state-to-props/loading.js.map +1 -1
  6. package/es/map-state-to-props/player.js.map +1 -1
  7. package/es/map-state-to-props/popin-correction.js.map +1 -1
  8. package/es/map-state-to-props/popin-end.js.map +1 -1
  9. package/es/map-state-to-props/resources.js.map +1 -1
  10. package/es/map-state-to-props/slide.js.map +1 -1
  11. package/es/map-state-to-props/test/answer.js.map +1 -1
  12. package/es/map-state-to-props/test/header.js.map +1 -1
  13. package/es/map-state-to-props/test/index.js.map +1 -1
  14. package/es/map-state-to-props/test/player.js.map +1 -1
  15. package/es/map-state-to-props/test/popin-correction.create-header-cta.js.map +1 -1
  16. package/es/map-state-to-props/test/popin-correction.js.map +1 -1
  17. package/es/map-state-to-props/test/popin-end.js.map +1 -1
  18. package/es/map-state-to-props/test/resources.js.map +1 -1
  19. package/es/run-app.js.map +1 -1
  20. package/es/store.js.map +1 -1
  21. package/es/test/add-timeout.js.map +1 -1
  22. package/es/test/helpers/css-register.js.map +1 -1
  23. package/es/test/helpers/macro.js.map +1 -1
  24. package/es/test/index.js.map +1 -1
  25. package/es/test/init-reducers.js.map +1 -1
  26. package/es/test/locales.js.map +1 -1
  27. package/es/test/run-app.js.map +1 -1
  28. package/es/test/store.js.map +1 -1
  29. package/es/views/index.js.map +1 -1
  30. package/es/views/test/helpers/render.js.map +1 -1
  31. package/es/views/test/helpers/state-to-vnode.js.map +1 -1
  32. package/es/views/test/loading.js.map +1 -1
  33. package/es/views/test/popin-correction.js.map +1 -1
  34. package/es/views/test/popin-end.js.map +1 -1
  35. package/es/views/test/router.js.map +1 -1
  36. package/es/views/test/slide.js.map +1 -1
  37. package/lib/index.js.map +1 -1
  38. package/lib/map-state-to-props/answer.js.map +1 -1
  39. package/lib/map-state-to-props/header.js.map +1 -1
  40. package/lib/map-state-to-props/index.js.map +1 -1
  41. package/lib/map-state-to-props/loading.js.map +1 -1
  42. package/lib/map-state-to-props/player.js.map +1 -1
  43. package/lib/map-state-to-props/popin-correction.js.map +1 -1
  44. package/lib/map-state-to-props/popin-end.js.map +1 -1
  45. package/lib/map-state-to-props/resources.js.map +1 -1
  46. package/lib/map-state-to-props/slide.js.map +1 -1
  47. package/lib/map-state-to-props/test/answer.js.map +1 -1
  48. package/lib/map-state-to-props/test/header.js.map +1 -1
  49. package/lib/map-state-to-props/test/index.js.map +1 -1
  50. package/lib/map-state-to-props/test/player.js +1 -1
  51. package/lib/map-state-to-props/test/player.js.map +1 -1
  52. package/lib/map-state-to-props/test/popin-correction.create-header-cta.js.map +1 -1
  53. package/lib/map-state-to-props/test/popin-correction.js.map +1 -1
  54. package/lib/map-state-to-props/test/popin-end.js.map +1 -1
  55. package/lib/map-state-to-props/test/resources.js.map +1 -1
  56. package/lib/run-app.js.map +1 -1
  57. package/lib/store.js.map +1 -1
  58. package/lib/test/add-timeout.js.map +1 -1
  59. package/lib/test/helpers/css-register.js.map +1 -1
  60. package/lib/test/helpers/macro.js.map +1 -1
  61. package/lib/test/index.js +2 -2
  62. package/lib/test/index.js.map +1 -1
  63. package/lib/test/init-reducers.js.map +1 -1
  64. package/lib/test/locales.js.map +1 -1
  65. package/lib/test/run-app.js.map +1 -1
  66. package/lib/test/store.js.map +1 -1
  67. package/lib/views/index.js.map +1 -1
  68. package/lib/views/test/helpers/render.js.map +1 -1
  69. package/lib/views/test/helpers/state-to-vnode.js.map +1 -1
  70. package/lib/views/test/loading.js.map +1 -1
  71. package/lib/views/test/popin-correction.js.map +1 -1
  72. package/lib/views/test/popin-end.js.map +1 -1
  73. package/lib/views/test/router.js.map +1 -1
  74. package/lib/views/test/slide.js.map +1 -1
  75. package/package.json +3 -3
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["render","unmountComponentAtNode","createElement","Provider","selectProgression","updateCoaches","runApp","createStore","selectMapStateToVNode","createStateToVNode","views","createUpdate","container","store","options","_selectMapStateToVNode","getState","mapStateToVNode","mapStateToView","vNode","state","view","create","update","unsubscribe","subscribe","module","hot","accept","require","default","dispatch","coachState","id"],"sources":["../src/index.js"],"sourcesContent":["import {render, unmountComponentAtNode} from 'react-dom';\nimport {createElement} from 'react';\nimport {pipe} from 'lodash/fp';\nimport {Provider} from '@coorpacademy/components';\nimport {selectProgression, updateCoaches} from '@coorpacademy/player-store';\nimport runApp from './run-app';\nimport createStore from './store';\nimport {selectMapStateToVNode} from './map-state-to-props';\nimport {createStateToVNode, views} from './views';\n\nconst createUpdate = (container, store, options) => _selectMapStateToVNode => {\n const {getState} = store;\n const mapStateToVNode = _selectMapStateToVNode(options, store, views, createStateToVNode);\n const mapStateToView = pipe(mapStateToVNode, vNode => createElement(Provider, options, vNode));\n\n return () => {\n const state = getState();\n const view = mapStateToView(state);\n return render(view, container);\n };\n};\n\nconst create = options => {\n const {container} = options;\n const store = createStore(options);\n\n let update = createUpdate(container, store, options)(selectMapStateToVNode);\n let unsubscribe = store.subscribe(update);\n\n /* istanbul ignore if */\n if (module.hot) {\n module.hot.accept('./views', () => {\n unsubscribe();\n update = createUpdate(container, store, options)(require('./views').default);\n update();\n unsubscribe = store.subscribe(update);\n });\n }\n\n runApp(options, store);\n\n const {dispatch} = store;\n return {\n update: () => update(),\n\n updateCoaches: coachState => dispatch(updateCoaches(coachState)),\n selectProgression: id => dispatch(selectProgression(id)),\n\n unsubscribe: () => {\n unmountComponentAtNode(container);\n return unsubscribe();\n }\n };\n};\n\nexport {create};\n"],"mappings":";AAAA,SAAQA,MAAR,EAAgBC,sBAAhB,QAA6C,WAA7C;AACA,SAAQC,aAAR,QAA4B,OAA5B;AAEA,SAAQC,QAAR,QAAuB,0BAAvB;AACA,SAAQC,iBAAR,EAA2BC,aAA3B,QAA+C,4BAA/C;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,WAAP,MAAwB,SAAxB;AACA,SAAQC,qBAAR,QAAoC,sBAApC;AACA,SAAQC,kBAAR,EAA4BC,KAA5B,QAAwC,SAAxC;;AAEA,MAAMC,YAAY,GAAG,CAACC,SAAD,EAAYC,KAAZ,EAAmBC,OAAnB,KAA+BC,sBAAsB,IAAI;EAC5E,MAAM;IAACC;EAAD,IAAaH,KAAnB;;EACA,MAAMI,eAAe,GAAGF,sBAAsB,CAACD,OAAD,EAAUD,KAAV,EAAiBH,KAAjB,EAAwBD,kBAAxB,CAA9C;;EACA,MAAMS,cAAc,GAAG,MAAKD,eAAL,EAAsBE,KAAK,IAAIjB,aAAa,CAACC,QAAD,EAAWW,OAAX,EAAoBK,KAApB,CAA5C,CAAvB;;EAEA,OAAO,MAAM;IACX,MAAMC,KAAK,GAAGJ,QAAQ,EAAtB;IACA,MAAMK,IAAI,GAAGH,cAAc,CAACE,KAAD,CAA3B;IACA,OAAOpB,MAAM,CAACqB,IAAD,EAAOT,SAAP,CAAb;EACD,CAJD;AAKD,CAVD;;AAYA,MAAMU,MAAM,GAAGR,OAAO,IAAI;EACxB,MAAM;IAACF;EAAD,IAAcE,OAApB;EACA,MAAMD,KAAK,GAAGN,WAAW,CAACO,OAAD,CAAzB;EAEA,IAAIS,MAAM,GAAGZ,YAAY,CAACC,SAAD,EAAYC,KAAZ,EAAmBC,OAAnB,CAAZ,CAAwCN,qBAAxC,CAAb;EACA,IAAIgB,WAAW,GAAGX,KAAK,CAACY,SAAN,CAAgBF,MAAhB,CAAlB;EAEA;;EACA,IAAIG,MAAM,CAACC,GAAX,EAAgB;IACdD,MAAM,CAACC,GAAP,CAAWC,MAAX,CAAkB,SAAlB,EAA6B,MAAM;MACjCJ,WAAW;MACXD,MAAM,GAAGZ,YAAY,CAACC,SAAD,EAAYC,KAAZ,EAAmBC,OAAnB,CAAZ,CAAwCe,OAAO,CAAC,SAAD,CAAP,CAAmBC,OAA3D,CAAT;MACAP,MAAM;MACNC,WAAW,GAAGX,KAAK,CAACY,SAAN,CAAgBF,MAAhB,CAAd;IACD,CALD;EAMD;;EAEDjB,MAAM,CAACQ,OAAD,EAAUD,KAAV,CAAN;EAEA,MAAM;IAACkB;EAAD,IAAalB,KAAnB;EACA,OAAO;IACLU,MAAM,EAAE,MAAMA,MAAM,EADf;IAGLlB,aAAa,EAAE2B,UAAU,IAAID,QAAQ,CAAC1B,aAAa,CAAC2B,UAAD,CAAd,CAHhC;IAIL5B,iBAAiB,EAAE6B,EAAE,IAAIF,QAAQ,CAAC3B,iBAAiB,CAAC6B,EAAD,CAAlB,CAJ5B;IAMLT,WAAW,EAAE,MAAM;MACjBvB,sBAAsB,CAACW,SAAD,CAAtB;MACA,OAAOY,WAAW,EAAlB;IACD;EATI,CAAP;AAWD,CA/BD;;AAiCA,SAAQF,MAAR"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["render","unmountComponentAtNode","createElement","Provider","selectProgression","updateCoaches","runApp","createStore","selectMapStateToVNode","createStateToVNode","views","createUpdate","container","store","options","_selectMapStateToVNode","getState","mapStateToVNode","mapStateToView","vNode","state","view","create","update","unsubscribe","subscribe","module","hot","accept","require","default","dispatch","coachState","id"],"mappings":";AAAA,SAAQA,MAAR,EAAgBC,sBAAhB,QAA6C,WAA7C;AACA,SAAQC,aAAR,QAA4B,OAA5B;AAEA,SAAQC,QAAR,QAAuB,0BAAvB;AACA,SAAQC,iBAAR,EAA2BC,aAA3B,QAA+C,4BAA/C;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,WAAP,MAAwB,SAAxB;AACA,SAAQC,qBAAR,QAAoC,sBAApC;AACA,SAAQC,kBAAR,EAA4BC,KAA5B,QAAwC,SAAxC;;AAEA,MAAMC,YAAY,GAAG,CAACC,SAAD,EAAYC,KAAZ,EAAmBC,OAAnB,KAA+BC,sBAAsB,IAAI;AAC5E,QAAM;AAACC,IAAAA;AAAD,MAAaH,KAAnB;;AACA,QAAMI,eAAe,GAAGF,sBAAsB,CAACD,OAAD,EAAUD,KAAV,EAAiBH,KAAjB,EAAwBD,kBAAxB,CAA9C;;AACA,QAAMS,cAAc,GAAG,MAAKD,eAAL,EAAsBE,KAAK,IAAIjB,aAAa,CAACC,QAAD,EAAWW,OAAX,EAAoBK,KAApB,CAA5C,CAAvB;;AAEA,SAAO,MAAM;AACX,UAAMC,KAAK,GAAGJ,QAAQ,EAAtB;AACA,UAAMK,IAAI,GAAGH,cAAc,CAACE,KAAD,CAA3B;AACA,WAAOpB,MAAM,CAACqB,IAAD,EAAOT,SAAP,CAAb;AACD,GAJD;AAKD,CAVD;;AAYA,MAAMU,MAAM,GAAGR,OAAO,IAAI;AACxB,QAAM;AAACF,IAAAA;AAAD,MAAcE,OAApB;AACA,QAAMD,KAAK,GAAGN,WAAW,CAACO,OAAD,CAAzB;AAEA,MAAIS,MAAM,GAAGZ,YAAY,CAACC,SAAD,EAAYC,KAAZ,EAAmBC,OAAnB,CAAZ,CAAwCN,qBAAxC,CAAb;AACA,MAAIgB,WAAW,GAAGX,KAAK,CAACY,SAAN,CAAgBF,MAAhB,CAAlB;AAEA;;AACA,MAAIG,MAAM,CAACC,GAAX,EAAgB;AACdD,IAAAA,MAAM,CAACC,GAAP,CAAWC,MAAX,CAAkB,SAAlB,EAA6B,MAAM;AACjCJ,MAAAA,WAAW;AACXD,MAAAA,MAAM,GAAGZ,YAAY,CAACC,SAAD,EAAYC,KAAZ,EAAmBC,OAAnB,CAAZ,CAAwCe,OAAO,CAAC,SAAD,CAAP,CAAmBC,OAA3D,CAAT;AACAP,MAAAA,MAAM;AACNC,MAAAA,WAAW,GAAGX,KAAK,CAACY,SAAN,CAAgBF,MAAhB,CAAd;AACD,KALD;AAMD;;AAEDjB,EAAAA,MAAM,CAACQ,OAAD,EAAUD,KAAV,CAAN;AAEA,QAAM;AAACkB,IAAAA;AAAD,MAAalB,KAAnB;AACA,SAAO;AACLU,IAAAA,MAAM,EAAE,MAAMA,MAAM,EADf;AAGLlB,IAAAA,aAAa,EAAE2B,UAAU,IAAID,QAAQ,CAAC1B,aAAa,CAAC2B,UAAD,CAAd,CAHhC;AAIL5B,IAAAA,iBAAiB,EAAE6B,EAAE,IAAIF,QAAQ,CAAC3B,iBAAiB,CAAC6B,EAAD,CAAlB,CAJ5B;AAMLT,IAAAA,WAAW,EAAE,MAAM;AACjBvB,MAAAA,sBAAsB,CAACW,SAAD,CAAtB;AACA,aAAOY,WAAW,EAAlB;AACD;AATI,GAAP;AAWD,CA/BD;;AAiCA,SAAQF,MAAR","sourcesContent":["import {render, unmountComponentAtNode} from 'react-dom';\nimport {createElement} from 'react';\nimport {pipe} from 'lodash/fp';\nimport {Provider} from '@coorpacademy/components';\nimport {selectProgression, updateCoaches} from '@coorpacademy/player-store';\nimport runApp from './run-app';\nimport createStore from './store';\nimport {selectMapStateToVNode} from './map-state-to-props';\nimport {createStateToVNode, views} from './views';\n\nconst createUpdate = (container, store, options) => _selectMapStateToVNode => {\n const {getState} = store;\n const mapStateToVNode = _selectMapStateToVNode(options, store, views, createStateToVNode);\n const mapStateToView = pipe(mapStateToVNode, vNode => createElement(Provider, options, vNode));\n\n return () => {\n const state = getState();\n const view = mapStateToView(state);\n return render(view, container);\n };\n};\n\nconst create = options => {\n const {container} = options;\n const store = createStore(options);\n\n let update = createUpdate(container, store, options)(selectMapStateToVNode);\n let unsubscribe = store.subscribe(update);\n\n /* istanbul ignore if */\n if (module.hot) {\n module.hot.accept('./views', () => {\n unsubscribe();\n update = createUpdate(container, store, options)(require('./views').default);\n update();\n unsubscribe = store.subscribe(update);\n });\n }\n\n runApp(options, store);\n\n const {dispatch} = store;\n return {\n update: () => update(),\n\n updateCoaches: coachState => dispatch(updateCoaches(coachState)),\n selectProgression: id => dispatch(selectProgression(id)),\n\n unsubscribe: () => {\n unmountComponentAtNode(container);\n return unsubscribe();\n }\n };\n};\n\nexport {create};\n"],"file":"index.js"}
@@ -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,"sources":["../../src/map-state-to-props/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"],"mappings":";;;;;;;;;;;;;;;;;;;AAqBA,SAAQA,UAAR,EAAoBC,eAApB,EAAqCC,eAArC,EAAsDC,UAAtD,QAAuE,4BAAvE;;AAEA,MAAMC,gBAAgB,GAAG,CAACC,OAAD,EAAU;AAACC,EAAAA;AAAD,CAAV,KACvB,UAASC,QAAQ,IAAI;AACnB,SAAOD,QAAQ,CAACH,UAAU,CAACI,QAAD,CAAX,CAAf;AACD,CAFD,CADF;;AAKA,MAAMC,QAAQ,GAAG,CAACH,OAAD,EAAUI,KAAV,KAAoB;AACnC,QAAMC,WAAW,GAAGV,UAAU,EAA9B;AACA,QAAMW,iBAAiB,GAAGP,gBAAgB,CAACC,OAAD,EAAUI,KAAV,CAA1C;AAEA,SAAO,CAACG,KAAD,EAAQC,KAAR,KAAkB;AACvB,UAAMC,OAAO,GAAGZ,eAAe,CAACW,KAAD,EAAQD,KAAR,CAA/B;;AACA,UAAMG,iBAAiB,GAAGJ,iBAAiB,CAACC,KAAD,EAAQC,KAAR,CAA3C;;AAEA,UAAMG,KAAK,GAAG;AACZC,MAAAA,IAAI,EAAE,KADM;AAEZH,MAAAA,OAAO,EAAE,KACPI,MAAM,KAAK;AACTC,QAAAA,KAAK,EAAED,MAAM,CAACE,KADL;AAETC,QAAAA,QAAQ,EAAE,UAASH,MAAM,CAACE,KAAhB,EAAuBN,OAAvB,CAFD;AAGTQ,QAAAA,OAAO,EAAE,MAAMP,iBAAiB,CAACG,MAAD;AAHvB,OAAL,CADC,EAMPR,WAAW,CAACG,KAAD,EAAQD,KAAR,CANJ;AAFG,KAAd;AAYA,WAAOI,KAAP;AACD,GAjBD;AAkBD,CAtBD;;AAwBA,MAAMO,YAAY,GAAG,CAAClB,OAAD,EAAUI,KAAV,KAAoB;AACvC,QAAMC,WAAW,GAAGV,UAAU,EAA9B;AACA,QAAMW,iBAAiB,GAAGP,gBAAgB,CAACC,OAAD,EAAUI,KAAV,CAA1C;AAEA,SAAO,CAACG,KAAD,EAAQC,KAAR,KAAkB;AACvB,UAAMC,OAAO,GAAGZ,eAAe,CAACW,KAAD,EAAQD,KAAR,CAA/B;AACA,WAAO;AACLK,MAAAA,IAAI,EAAE,SADD;AAELH,MAAAA,OAAO,EAAE,KAAII,MAAM,IAAI;AACrB,cAAMM,aAAa,GAAG,SAAQN,MAAM,CAACE,KAAf,EAAsBN,OAAtB,CAAtB;;AACA,eAAO;AACLK,UAAAA,KAAK,EAAED,MAAM,CAACE,KADT;AAELC,UAAAA,QAAQ,EAAEG,aAAa,KAAK,CAAC,CAFxB;AAGLC,UAAAA,KAAK,EAAED,aAHF;AAILF,UAAAA,OAAO,EAAE,MAAMX,iBAAiB,CAACC,KAAD,EAAQC,KAAR,CAAjB,CAAgCK,MAAhC;AAJV,SAAP;AAMD,OARQ,EAQNR,WAAW,CAACG,KAAD,EAAQD,KAAR,CARL;AAFJ,KAAP;AAYD,GAdD;AAeD,CAnBD;;AAqBA,MAAMc,eAAe,GAAG,CAACrB,OAAD,EAAUI,KAAV,KAAoB;AAC1C,QAAMC,WAAW,GAAGV,UAAU,EAA9B;AACA,QAAMW,iBAAiB,GAAGP,gBAAgB,CAACC,OAAD,EAAUI,KAAV,CAA1C;AAEA,SAAO,CAACG,KAAD,EAAQC,KAAR,KAAkB;AACvB,UAAMC,OAAO,GAAGZ,eAAe,CAACW,KAAD,EAAQD,KAAR,CAA/B;AACA,WAAO;AACLK,MAAAA,IAAI,EAAE,YADD;AAELH,MAAAA,OAAO,EAAE,KACPI,MAAM,KAAK;AACTC,QAAAA,KAAK,EAAED,MAAM,CAACE,KADL;AAETO,QAAAA,KAAK,EAAE,KAAI,iBAAJ,EAAuBT,MAAvB,CAFE;AAGTG,QAAAA,QAAQ,EAAE,UAASH,MAAM,CAACE,KAAhB,EAAuBN,OAAvB,CAHD;AAITQ,QAAAA,OAAO,EAAE,MAAMX,iBAAiB,CAACC,KAAD,EAAQC,KAAR,CAAjB,CAAgCK,MAAhC;AAJN,OAAL,CADC,EAOPR,WAAW,CAACG,KAAD,EAAQD,KAAR,CAPJ;AAFJ,KAAP;AAYD,GAdD;AAeD,CAnBD;;AAqBA,MAAMgB,oBAAoB,GAAG,CAACC,QAAD,EAAWC,KAAX,EAAkBC,GAAlB,KAA0BC,KAAK,IAAI;AAC9D,QAAMlB,OAAO,GAAG,CAACe,QAAD,GAAY,OAAM,UAASI,SAAT,CAAN,EAA2BF,GAA3B,CAAZ,GAA8CF,QAA9D;AACA,SAAO,KAAIK,CAAC,IAAK,OAAMA,CAAN,IAAW,EAAX,GAAgBA,CAA1B,EAA8B,KAAIJ,KAAJ,EAAWE,KAAX,EAAkBlB,OAAlB,CAA9B,CAAP;AACD,CAHD;;AAKA,MAAMqB,iBAAiB,GAAG,CAAC9B,OAAD,EAAUI,KAAV,KAAoB;AAC5C,QAAME,iBAAiB,GAAGP,gBAAgB,CAACC,OAAD,EAAUI,KAAV,CAA1C;AAEA,SAAO,CAACG,KAAD,EAAQC,KAAR,EAAeK,MAAf,EAAuBY,KAAvB,KAAiC;AACtC,UAAM;AAACM,MAAAA;AAAD,QAAc/B,OAApB;AACA,UAAMS,OAAO,GAAGZ,eAAe,CAACW,KAAD,EAAQD,KAAR,CAA/B;AACA,WAAO;AACLK,MAAAA,IAAI,EAAEC,MAAM,CAACD,IADR;AAELoB,MAAAA,IAAI,EAAEnB,MAAM,CAACmB,IAFR;AAGLC,MAAAA,WAAW,EAAEF,SAAS,CAAC,WAAD,CAHjB;AAILJ,MAAAA,KAAK,EAAE,KAAIF,KAAJ,EAAWhB,OAAX,CAJF;AAKLyB,MAAAA,QAAQ,EAAE,MAAKX,oBAAoB,CAACd,OAAD,EAAUgB,KAAV,CAAzB,EAA2CnB,iBAAiB,CAACC,KAAD,EAAQC,KAAR,CAA5D;AALL,KAAP;AAOD,GAVD;AAWD,CAdD;;AAgBA,MAAM2B,mBAAmB,GAAG,CAACnC,OAAD,EAAUI,KAAV,KAAoB;AAC9C,QAAME,iBAAiB,GAAGP,gBAAgB,CAACC,OAAD,EAAUI,KAAV,CAA1C;AAEA,SAAO,CAACG,KAAD,EAAQC,KAAR,EAAeK,MAAf,EAAuBY,KAAvB,KAAiC;AACtC,UAAM;AAACM,MAAAA;AAAD,QAAc/B,OAApB;AACA,UAAMS,OAAO,GAAGZ,eAAe,CAACW,KAAD,EAAQD,KAAR,CAA/B;;AACA,UAAM6B,MAAM,GAAG,KAAIX,KAAJ,EAAWhB,OAAX,CAAf;;AACA,UAAM4B,eAAe,GAAG;AACtBL,MAAAA,IAAI,EAAED,SAAS,CAAC,kBAAD,CADO;AAEtBJ,MAAAA,KAAK,EAAE,EAFe;AAGtBW,MAAAA,WAAW,EAAE,KAHS;AAItBtB,MAAAA,QAAQ,EAAE;AAJY,KAAxB;AAMA,UAAMuB,aAAa,GAAG1B,MAAM,CAAC2B,KAAP,CAAaC,GAAb,CAAiBC,IAAI,IAAI;AAC7C,aAAO;AACLV,QAAAA,IAAI,EAAEU,IAAI,CAACC,IADN;AAELhB,QAAAA,KAAK,EAAEe,IAAI,CAACC,IAFP;AAGLL,QAAAA,WAAW,EAAE,IAHR;AAILtB,QAAAA,QAAQ,EAAE0B,IAAI,CAACC,IAAL,KAAcP;AAJnB,OAAP;AAMD,KAPqB,CAAtB;;AAQA,UAAMQ,SAAS,GAAG,KAAI,iCAAJ,EAAuCpC,KAAvC,CAAlB;;AAEA,WAAO;AACLI,MAAAA,IAAI,EAAEC,MAAM,CAACD,IADR;AAELoB,MAAAA,IAAI,EAAEnB,MAAM,CAACmB,IAFR;AAGLE,MAAAA,QAAQ,EAAE,MACRX,oBAAoB,CAACd,OAAD,EAAUgB,KAAV,EAAiBmB,SAAjB,CADZ,EAERtC,iBAAiB,CAACC,KAAD,EAAQC,KAAR,CAFT,CAHL;AAOLR,MAAAA,OAAO,EAAE,SAAQoC,MAAR,IAAkB,CAACC,eAAD,EAAkBQ,MAAlB,CAAyBN,aAAzB,CAAlB,GAA4DA;AAPhE,KAAP;AASD,GA7BD;AA8BD,CAjCD;;AAmCA,MAAMO,aAAa,GAAG,CAAC9C,OAAD,EAAUI,KAAV,KAAoB;AACxC,QAAMC,WAAW,GAAGV,UAAU,EAA9B;AACA,QAAMoD,kBAAkB,GAAGjB,iBAAiB,CAAC9B,OAAD,EAAUI,KAAV,CAA5C;AACA,QAAM4C,oBAAoB,GAAGb,mBAAmB,CAACnC,OAAD,EAAUI,KAAV,CAAhD;AAEA,SAAO,CAACG,KAAD,EAAQC,KAAR,KAAkB;AACvB,WAAO;AACLI,MAAAA,IAAI,EAAE,UADD;AAELqC,MAAAA,QAAQ,EAAEzC,KAAK,CAAC0C,QAAN,CAAeC,OAAf,CAAuBF,QAF5B;AAGLxC,MAAAA,OAAO,EAAEJ,WAAW,CAACG,KAAD,EAAQD,KAAR,CAAX,CAA0BkC,GAA1B,CAA8B,CAAC5B,MAAD,EAASY,KAAT,KACrCZ,MAAM,CAACD,IAAP,KAAgB,MAAhB,GACImC,kBAAkB,CAACxC,KAAD,EAAQC,KAAR,EAAeK,MAAf,EAAuBY,KAAvB,CADtB,GAEIuB,oBAAoB,CAACzC,KAAD,EAAQC,KAAR,EAAeK,MAAf,EAAuBY,KAAvB,CAHjB;AAHJ,KAAP;AASD,GAVD;AAWD,CAhBD;;AAkBA,MAAM2B,UAAU,GAAG,CAACpD,OAAD,EAAUI,KAAV,KAAoB;AACrC,QAAME,iBAAiB,GAAGP,gBAAgB,CAACC,OAAD,EAAUI,KAAV,CAA1C;AAEA,SAAO,CAACG,KAAD,EAAQC,KAAR,KAAkB;AACvB,UAAM;AAACuB,MAAAA;AAAD,QAAc/B,OAApB;AACA,WAAO;AACLY,MAAAA,IAAI,EAAE,UADD;AAELqB,MAAAA,WAAW,EAAEF,SAAS,CAAC,WAAD,CAFjB;AAGLJ,MAAAA,KAAK,EAAE,MAAK9B,eAAL,SAA4BW,KAA5B,EAAmCD,KAAnC,CAHF;AAIL2B,MAAAA,QAAQ,EAAE5B,iBAAiB,CAACC,KAAD,EAAQC,KAAR;AAJtB,KAAP;AAMD,GARD;AASD,CAZD;;AAcA,MAAM6C,QAAQ,GAAGC,MAAM,IAAI;AACzB,QAAMC,QAAQ,GAAG,MAAKD,MAAL,IAAe,CAAhC;AACA,SAAOE,QAAQ,IAAI;AACjB,WAAO,MAAK,UAASD,QAAT,CAAL,UAAgC,QAAQD,MAAR,CAAhC,cAA4DE,QAA5D,CAAP;AACD,GAFD;AAGD,CALD;;AAOA,MAAMC,WAAW,GAAG,CAACzD,OAAD,EAAUI,KAAV,KAAoB;AACtC,QAAME,iBAAiB,GAAGP,gBAAgB,CAACC,OAAD,EAAUI,KAAV,CAA1C;AAEA,SAAO,CAACG,KAAD,EAAQC,KAAR,KAAkB;AACvB,UAAM8C,MAAM,GAAG,WACb9C,KAAK,CAAC0C,QAAN,CAAeC,OAAf,CAAuBO,IAAvB,IAA+B,CADlB,EAEblD,KAAK,CAAC0C,QAAN,CAAeC,OAAf,CAAuBQ,GAFV,EAGbnD,KAAK,CAAC0C,QAAN,CAAeC,OAAf,CAAuBzB,GAAvB,GAA6B,CAHhB,CAAf;;AAMA,UAAMkC,UAAU,GAAG,MAAK/D,eAAL,SAA4BW,KAA5B,EAAmCD,KAAnC,CAAnB;;AACA,UAAMsD,YAAY,GAAG,WAAUD,UAAV,CAArB;;AAEA,UAAME,UAAU,GAAG,SAAQD,YAAR,EAAsBP,MAAtB,CAAnB;;AACA,UAAMS,YAAY,GAAGzD,iBAAiB,CAACC,KAAD,EAAQC,KAAR,CAAtC;;AACA,UAAMwD,cAAc,GAAG,QAAOF,UAAP,EAAmB,MAAKR,MAAL,IAAe,CAAlC,CAAvB;;AAEA,WAAO;AACL1C,MAAAA,IAAI,EAAE,QADD;AAELqB,MAAAA,WAAW,EAAEzB,KAAK,CAAC0C,QAAN,CAAee,WAFvB;AAGLC,MAAAA,QAAQ,EAAG,GAAE1D,KAAK,CAAC0C,QAAN,CAAeC,OAAf,CAAuBQ,GAAI,IAAGnD,KAAK,CAAC0C,QAAN,CAAeC,OAAf,CAAuBgB,SAAU,EAHvE;AAILC,MAAAA,QAAQ,EAAG,GAAE5D,KAAK,CAAC0C,QAAN,CAAeC,OAAf,CAAuBzB,GAAI,IAAGlB,KAAK,CAAC0C,QAAN,CAAeC,OAAf,CAAuBgB,SAAU,EAJvE;AAKLrD,MAAAA,KAAK,EAAG,GAAE+C,YAAa,IAAGrD,KAAK,CAAC0C,QAAN,CAAeC,OAAf,CAAuBgB,SAAU,EALtD;AAMLxC,MAAAA,KAAK,EAAEqC,cANF;AAOL9B,MAAAA,QAAQ,EAAE,MAAKmB,QAAQ,CAACC,MAAD,CAAb,EAAuBS,YAAvB;AAPL,KAAP;AASD,GAvBD;AAwBD,CA3BD;;AA6BA,MAAMM,oBAAoB,GAAG,CAACrE,OAAD,EAAUI,KAAV,KAAoB;AAC/C,QAAMkE,SAAS,GAAGnE,QAAQ,CAACH,OAAD,EAAUI,KAAV,CAA1B;AACA,QAAMmE,gBAAgB,GAAGlD,eAAe,CAACrB,OAAD,EAAUI,KAAV,CAAxC;AACA,QAAMoE,aAAa,GAAGtD,YAAY,CAAClB,OAAD,EAAUI,KAAV,CAAlC;AACA,QAAMqE,WAAW,GAAGrB,UAAU,CAACpD,OAAD,EAAUI,KAAV,CAA9B;AACA,QAAMsE,cAAc,GAAG5B,aAAa,CAAC9C,OAAD,EAAUI,KAAV,CAApC;AACA,QAAMuE,YAAY,GAAGlB,WAAW,CAACzD,OAAD,EAAUI,KAAV,CAAhC;AAEA,SAAO,CAACG,KAAD,EAAQC,KAAR,KAAkB;AACvB,QAAI,CAACA,KAAL,EAAY;AACV;AACD;;AACD,UAAMI,IAAI,GAAGhB,eAAe,CAACY,KAAD,CAA5B;;AACA,YAAQI,IAAR;AACE,WAAK,KAAL;AACE,eAAO0D,SAAS,CAAC/D,KAAD,EAAQC,KAAR,CAAhB;;AAEF,WAAK,YAAL;AACE,eAAO+D,gBAAgB,CAAChE,KAAD,EAAQC,KAAR,CAAvB;;AAEF,WAAK,SAAL;AACE,eAAOgE,aAAa,CAACjE,KAAD,EAAQC,KAAR,CAApB;;AAEF,WAAK,OAAL;AACE,eAAOiE,WAAW,CAAClE,KAAD,EAAQC,KAAR,CAAlB;;AAEF,WAAK,UAAL;AACE,eAAOkE,cAAc,CAACnE,KAAD,EAAQC,KAAR,CAArB;;AAEF,WAAK,QAAL;AACE,eAAOmE,YAAY,CAACpE,KAAD,EAAQC,KAAR,CAAnB;;AAEF;AACE,cAAM,IAAIoE,KAAJ,CAAW,GAAEhE,IAAK,kCAAlB,CAAN;AApBJ;AAsBD,GA3BD;AA4BD,CApCD;;AAsCA,MAAMiE,aAAa,GAAG,CAAC7E,OAAD,EAAUI,KAAV,KAAoBI,KAAK,IAAI;AACjD,QAAM;AAACuB,IAAAA;AAAD,MAAc/B,OAApB;AACA,SAAO,KAAI,sBAAJ,EAA4BQ,KAA5B,KAAsCuB,SAAS,CAAC,wBAAD,CAAtD;AACD,CAHD;;AAKA,SAAQsC,oBAAR,EAA8BQ,aAA9B","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"],"file":"answer.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","names":["getCurrentChapter","getEngine","getLives","getCurrentContent","back","headerContent","engineRef","state","content","title","details","headerSubcontent","chapter","level","chapterIds","_id","length","headerProps","options","dispatch","engine","ref","hide","count","type","onClick","subcontent","lives"],"sources":["../../src/map-state-to-props/header.js"],"sourcesContent":["import {get, getOr, indexOf} from 'lodash/fp';\nimport {\n getCurrentChapter,\n getEngine,\n getLives,\n getCurrentContent,\n back\n} from '@coorpacademy/player-store';\n\nconst headerContent = (engineRef, state) => {\n const content = getCurrentContent(state);\n\n switch (engineRef) {\n case 'learner':\n return {\n title: getOr('', 'name')(content),\n details: get('levelTranslation')(content)\n };\n case 'microlearning':\n default:\n return {\n title: getOr('', 'name')(content)\n };\n }\n};\n\nconst headerSubcontent = (engineRef, state) => {\n switch (engineRef) {\n case 'learner': {\n const chapter = getCurrentChapter(state);\n const level = getCurrentContent(state);\n const chapterIds = get('chapterIds', level);\n const details =\n chapter && chapterIds\n ? `${1 + indexOf(chapter._id, chapterIds)}/${chapterIds.length}`\n : null;\n\n return {\n title: getOr('', 'name', chapter),\n details\n };\n }\n case 'microlearning':\n default:\n return null;\n }\n};\n\nconst headerProps = (options, {dispatch}) => state => {\n const engine = getEngine(state);\n const {ref: engineRef} = engine;\n const {hide, count} = getLives(state);\n\n return {\n type: engineRef,\n content: {\n ...headerContent(engineRef, state),\n onClick: () => dispatch(back)\n },\n subcontent: headerSubcontent(engineRef, state),\n lives: hide ? false : {count}\n };\n};\n\nexport default headerProps;\n"],"mappings":";;;;;;AACA,SACEA,iBADF,EAEEC,SAFF,EAGEC,QAHF,EAIEC,iBAJF,EAKEC,IALF,QAMO,4BANP;;AAQA,MAAMC,aAAa,GAAG,CAACC,SAAD,EAAYC,KAAZ,KAAsB;EAC1C,MAAMC,OAAO,GAAGL,iBAAiB,CAACI,KAAD,CAAjC;;EAEA,QAAQD,SAAR;IACE,KAAK,SAAL;MACE,OAAO;QACLG,KAAK,EAAE,OAAM,EAAN,EAAU,MAAV,EAAkBD,OAAlB,CADF;QAELE,OAAO,EAAE,KAAI,kBAAJ,EAAwBF,OAAxB;MAFJ,CAAP;;IAIF,KAAK,eAAL;IACA;MACE,OAAO;QACLC,KAAK,EAAE,OAAM,EAAN,EAAU,MAAV,EAAkBD,OAAlB;MADF,CAAP;EARJ;AAYD,CAfD;;AAiBA,MAAMG,gBAAgB,GAAG,CAACL,SAAD,EAAYC,KAAZ,KAAsB;EAC7C,QAAQD,SAAR;IACE,KAAK,SAAL;MAAgB;QACd,MAAMM,OAAO,GAAGZ,iBAAiB,CAACO,KAAD,CAAjC;QACA,MAAMM,KAAK,GAAGV,iBAAiB,CAACI,KAAD,CAA/B;;QACA,MAAMO,UAAU,GAAG,KAAI,YAAJ,EAAkBD,KAAlB,CAAnB;;QACA,MAAMH,OAAO,GACXE,OAAO,IAAIE,UAAX,GACK,GAAE,IAAI,SAAQF,OAAO,CAACG,GAAhB,EAAqBD,UAArB,CAAiC,IAAGA,UAAU,CAACE,MAAO,EADjE,GAEI,IAHN;QAKA,OAAO;UACLP,KAAK,EAAE,OAAM,EAAN,EAAU,MAAV,EAAkBG,OAAlB,CADF;UAELF;QAFK,CAAP;MAID;;IACD,KAAK,eAAL;IACA;MACE,OAAO,IAAP;EAjBJ;AAmBD,CApBD;;AAsBA,MAAMO,WAAW,GAAG,CAACC,OAAD,EAAU;EAACC;AAAD,CAAV,KAAyBZ,KAAK,IAAI;EACpD,MAAMa,MAAM,GAAGnB,SAAS,CAACM,KAAD,CAAxB;EACA,MAAM;IAACc,GAAG,EAAEf;EAAN,IAAmBc,MAAzB;EACA,MAAM;IAACE,IAAD;IAAOC;EAAP,IAAgBrB,QAAQ,CAACK,KAAD,CAA9B;EAEA,OAAO;IACLiB,IAAI,EAAElB,SADD;IAELE,OAAO,wBACFH,aAAa,CAACC,SAAD,EAAYC,KAAZ,CADX;MAELkB,OAAO,EAAE,MAAMN,QAAQ,CAACf,IAAD;IAFlB,EAFF;IAMLsB,UAAU,EAAEf,gBAAgB,CAACL,SAAD,EAAYC,KAAZ,CANvB;IAOLoB,KAAK,EAAEL,IAAI,GAAG,KAAH,GAAW;MAACC;IAAD;EAPjB,CAAP;AASD,CAdD;;AAgBA,eAAeN,WAAf"}
1
+ {"version":3,"sources":["../../src/map-state-to-props/header.js"],"names":["getCurrentChapter","getEngine","getLives","getCurrentContent","back","headerContent","engineRef","state","content","title","details","headerSubcontent","chapter","level","chapterIds","_id","length","headerProps","options","dispatch","engine","ref","hide","count","type","onClick","subcontent","lives"],"mappings":";;;;;;AACA,SACEA,iBADF,EAEEC,SAFF,EAGEC,QAHF,EAIEC,iBAJF,EAKEC,IALF,QAMO,4BANP;;AAQA,MAAMC,aAAa,GAAG,CAACC,SAAD,EAAYC,KAAZ,KAAsB;AAC1C,QAAMC,OAAO,GAAGL,iBAAiB,CAACI,KAAD,CAAjC;;AAEA,UAAQD,SAAR;AACE,SAAK,SAAL;AACE,aAAO;AACLG,QAAAA,KAAK,EAAE,OAAM,EAAN,EAAU,MAAV,EAAkBD,OAAlB,CADF;AAELE,QAAAA,OAAO,EAAE,KAAI,kBAAJ,EAAwBF,OAAxB;AAFJ,OAAP;;AAIF,SAAK,eAAL;AACA;AACE,aAAO;AACLC,QAAAA,KAAK,EAAE,OAAM,EAAN,EAAU,MAAV,EAAkBD,OAAlB;AADF,OAAP;AARJ;AAYD,CAfD;;AAiBA,MAAMG,gBAAgB,GAAG,CAACL,SAAD,EAAYC,KAAZ,KAAsB;AAC7C,UAAQD,SAAR;AACE,SAAK,SAAL;AAAgB;AACd,cAAMM,OAAO,GAAGZ,iBAAiB,CAACO,KAAD,CAAjC;AACA,cAAMM,KAAK,GAAGV,iBAAiB,CAACI,KAAD,CAA/B;;AACA,cAAMO,UAAU,GAAG,KAAI,YAAJ,EAAkBD,KAAlB,CAAnB;;AACA,cAAMH,OAAO,GACXE,OAAO,IAAIE,UAAX,GACK,GAAE,IAAI,SAAQF,OAAO,CAACG,GAAhB,EAAqBD,UAArB,CAAiC,IAAGA,UAAU,CAACE,MAAO,EADjE,GAEI,IAHN;AAKA,eAAO;AACLP,UAAAA,KAAK,EAAE,OAAM,EAAN,EAAU,MAAV,EAAkBG,OAAlB,CADF;AAELF,UAAAA;AAFK,SAAP;AAID;;AACD,SAAK,eAAL;AACA;AACE,aAAO,IAAP;AAjBJ;AAmBD,CApBD;;AAsBA,MAAMO,WAAW,GAAG,CAACC,OAAD,EAAU;AAACC,EAAAA;AAAD,CAAV,KAAyBZ,KAAK,IAAI;AACpD,QAAMa,MAAM,GAAGnB,SAAS,CAACM,KAAD,CAAxB;AACA,QAAM;AAACc,IAAAA,GAAG,EAAEf;AAAN,MAAmBc,MAAzB;AACA,QAAM;AAACE,IAAAA,IAAD;AAAOC,IAAAA;AAAP,MAAgBrB,QAAQ,CAACK,KAAD,CAA9B;AAEA,SAAO;AACLiB,IAAAA,IAAI,EAAElB,SADD;AAELE,IAAAA,OAAO,wBACFH,aAAa,CAACC,SAAD,EAAYC,KAAZ,CADX;AAELkB,MAAAA,OAAO,EAAE,MAAMN,QAAQ,CAACf,IAAD;AAFlB,MAFF;AAMLsB,IAAAA,UAAU,EAAEf,gBAAgB,CAACL,SAAD,EAAYC,KAAZ,CANvB;AAOLoB,IAAAA,KAAK,EAAEL,IAAI,GAAG,KAAH,GAAW;AAACC,MAAAA;AAAD;AAPjB,GAAP;AASD,CAdD;;AAgBA,eAAeN,WAAf","sourcesContent":["import {get, getOr, indexOf} from 'lodash/fp';\nimport {\n getCurrentChapter,\n getEngine,\n getLives,\n getCurrentContent,\n back\n} from '@coorpacademy/player-store';\n\nconst headerContent = (engineRef, state) => {\n const content = getCurrentContent(state);\n\n switch (engineRef) {\n case 'learner':\n return {\n title: getOr('', 'name')(content),\n details: get('levelTranslation')(content)\n };\n case 'microlearning':\n default:\n return {\n title: getOr('', 'name')(content)\n };\n }\n};\n\nconst headerSubcontent = (engineRef, state) => {\n switch (engineRef) {\n case 'learner': {\n const chapter = getCurrentChapter(state);\n const level = getCurrentContent(state);\n const chapterIds = get('chapterIds', level);\n const details =\n chapter && chapterIds\n ? `${1 + indexOf(chapter._id, chapterIds)}/${chapterIds.length}`\n : null;\n\n return {\n title: getOr('', 'name', chapter),\n details\n };\n }\n case 'microlearning':\n default:\n return null;\n }\n};\n\nconst headerProps = (options, {dispatch}) => state => {\n const engine = getEngine(state);\n const {ref: engineRef} = engine;\n const {hide, count} = getLives(state);\n\n return {\n type: engineRef,\n content: {\n ...headerContent(engineRef, state),\n onClick: () => dispatch(back)\n },\n subcontent: headerSubcontent(engineRef, state),\n lives: hide ? false : {count}\n };\n};\n\nexport default headerProps;\n"],"file":"header.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getStepContent","getCurrentProgression","getRoute","popinCorrectionStateToProps","popinEndStateToProps","loadingStateToProps","createSlideStateToProps","hasNotProgression","hasNoContent","matchRoute","route","matchContentType","contentType","matchContentRef","selectMapStateToVNode","options","store","views","createStateToVNode","loading","popinCorrection","player","popinEnd"],"sources":["../../src/map-state-to-props/index.js"],"sourcesContent":["import {cond, constant, get, isNil, isEqual, pipe} from 'lodash/fp';\nimport {getStepContent, getCurrentProgression, getRoute} from '@coorpacademy/player-store';\nimport {popinCorrectionStateToProps} from './popin-correction';\nimport popinEndStateToProps from './popin-end';\nimport loadingStateToProps from './loading';\nimport createSlideStateToProps from './slide';\n\nconst hasNotProgression = pipe(getCurrentProgression, isNil);\nconst hasNoContent = pipe(getStepContent, isNil);\nconst matchRoute = route => pipe(getRoute, isEqual(route));\nconst matchContentType = contentType => pipe(getStepContent, get('type'), isEqual(contentType));\nconst matchContentRef = contentType => pipe(getStepContent, get('ref'), isEqual(contentType));\n\nexport const selectMapStateToVNode = (options, store, views, createStateToVNode) =>\n cond([\n [hasNotProgression, createStateToVNode(views.loading, loadingStateToProps)],\n [hasNoContent, createStateToVNode(views.loading, loadingStateToProps)],\n [\n matchRoute('correction'),\n createStateToVNode(views.popinCorrection, popinCorrectionStateToProps(options, store))\n ],\n [\n matchContentRef('extraLife'),\n createStateToVNode(views.popinCorrection, popinCorrectionStateToProps(options, store))\n ],\n [\n matchContentType('slide'),\n createStateToVNode(views.player, createSlideStateToProps(options, store))\n ],\n [\n matchContentType('success'),\n createStateToVNode(views.popinEnd, popinEndStateToProps(options, store))\n ],\n [\n matchContentType('failure'),\n createStateToVNode(views.popinEnd, popinEndStateToProps(options, store))\n ],\n [constant(true), createStateToVNode(views.loading, loadingStateToProps)]\n ]);\n"],"mappings":";;;;;;AACA,SAAQA,cAAR,EAAwBC,qBAAxB,EAA+CC,QAA/C,QAA8D,4BAA9D;AACA,SAAQC,2BAAR,QAA0C,oBAA1C;AACA,OAAOC,oBAAP,MAAiC,aAAjC;AACA,OAAOC,mBAAP,MAAgC,WAAhC;AACA,OAAOC,uBAAP,MAAoC,SAApC;;AAEA,MAAMC,iBAAiB,GAAG,MAAKN,qBAAL,SAA1B;;AACA,MAAMO,YAAY,GAAG,MAAKR,cAAL,SAArB;;AACA,MAAMS,UAAU,GAAGC,KAAK,IAAI,MAAKR,QAAL,EAAe,SAAQQ,KAAR,CAAf,CAA5B;;AACA,MAAMC,gBAAgB,GAAGC,WAAW,IAAI,MAAKZ,cAAL,EAAqB,KAAI,MAAJ,CAArB,EAAkC,SAAQY,WAAR,CAAlC,CAAxC;;AACA,MAAMC,eAAe,GAAGD,WAAW,IAAI,MAAKZ,cAAL,EAAqB,KAAI,KAAJ,CAArB,EAAiC,SAAQY,WAAR,CAAjC,CAAvC;;AAEA,OAAO,MAAME,qBAAqB,GAAG,CAACC,OAAD,EAAUC,KAAV,EAAiBC,KAAjB,EAAwBC,kBAAxB,KACnC,MAAK,CACH,CAACX,iBAAD,EAAoBW,kBAAkB,CAACD,KAAK,CAACE,OAAP,EAAgBd,mBAAhB,CAAtC,CADG,EAEH,CAACG,YAAD,EAAeU,kBAAkB,CAACD,KAAK,CAACE,OAAP,EAAgBd,mBAAhB,CAAjC,CAFG,EAGH,CACEI,UAAU,CAAC,YAAD,CADZ,EAEES,kBAAkB,CAACD,KAAK,CAACG,eAAP,EAAwBjB,2BAA2B,CAACY,OAAD,EAAUC,KAAV,CAAnD,CAFpB,CAHG,EAOH,CACEH,eAAe,CAAC,WAAD,CADjB,EAEEK,kBAAkB,CAACD,KAAK,CAACG,eAAP,EAAwBjB,2BAA2B,CAACY,OAAD,EAAUC,KAAV,CAAnD,CAFpB,CAPG,EAWH,CACEL,gBAAgB,CAAC,OAAD,CADlB,EAEEO,kBAAkB,CAACD,KAAK,CAACI,MAAP,EAAef,uBAAuB,CAACS,OAAD,EAAUC,KAAV,CAAtC,CAFpB,CAXG,EAeH,CACEL,gBAAgB,CAAC,SAAD,CADlB,EAEEO,kBAAkB,CAACD,KAAK,CAACK,QAAP,EAAiBlB,oBAAoB,CAACW,OAAD,EAAUC,KAAV,CAArC,CAFpB,CAfG,EAmBH,CACEL,gBAAgB,CAAC,SAAD,CADlB,EAEEO,kBAAkB,CAACD,KAAK,CAACK,QAAP,EAAiBlB,oBAAoB,CAACW,OAAD,EAAUC,KAAV,CAArC,CAFpB,CAnBG,EAuBH,CAAC,UAAS,IAAT,CAAD,EAAiBE,kBAAkB,CAACD,KAAK,CAACE,OAAP,EAAgBd,mBAAhB,CAAnC,CAvBG,CAAL,CADK"}
1
+ {"version":3,"sources":["../../src/map-state-to-props/index.js"],"names":["getStepContent","getCurrentProgression","getRoute","popinCorrectionStateToProps","popinEndStateToProps","loadingStateToProps","createSlideStateToProps","hasNotProgression","hasNoContent","matchRoute","route","matchContentType","contentType","matchContentRef","selectMapStateToVNode","options","store","views","createStateToVNode","loading","popinCorrection","player","popinEnd"],"mappings":";;;;;;AACA,SAAQA,cAAR,EAAwBC,qBAAxB,EAA+CC,QAA/C,QAA8D,4BAA9D;AACA,SAAQC,2BAAR,QAA0C,oBAA1C;AACA,OAAOC,oBAAP,MAAiC,aAAjC;AACA,OAAOC,mBAAP,MAAgC,WAAhC;AACA,OAAOC,uBAAP,MAAoC,SAApC;;AAEA,MAAMC,iBAAiB,GAAG,MAAKN,qBAAL,SAA1B;;AACA,MAAMO,YAAY,GAAG,MAAKR,cAAL,SAArB;;AACA,MAAMS,UAAU,GAAGC,KAAK,IAAI,MAAKR,QAAL,EAAe,SAAQQ,KAAR,CAAf,CAA5B;;AACA,MAAMC,gBAAgB,GAAGC,WAAW,IAAI,MAAKZ,cAAL,EAAqB,KAAI,MAAJ,CAArB,EAAkC,SAAQY,WAAR,CAAlC,CAAxC;;AACA,MAAMC,eAAe,GAAGD,WAAW,IAAI,MAAKZ,cAAL,EAAqB,KAAI,KAAJ,CAArB,EAAiC,SAAQY,WAAR,CAAjC,CAAvC;;AAEA,OAAO,MAAME,qBAAqB,GAAG,CAACC,OAAD,EAAUC,KAAV,EAAiBC,KAAjB,EAAwBC,kBAAxB,KACnC,MAAK,CACH,CAACX,iBAAD,EAAoBW,kBAAkB,CAACD,KAAK,CAACE,OAAP,EAAgBd,mBAAhB,CAAtC,CADG,EAEH,CAACG,YAAD,EAAeU,kBAAkB,CAACD,KAAK,CAACE,OAAP,EAAgBd,mBAAhB,CAAjC,CAFG,EAGH,CACEI,UAAU,CAAC,YAAD,CADZ,EAEES,kBAAkB,CAACD,KAAK,CAACG,eAAP,EAAwBjB,2BAA2B,CAACY,OAAD,EAAUC,KAAV,CAAnD,CAFpB,CAHG,EAOH,CACEH,eAAe,CAAC,WAAD,CADjB,EAEEK,kBAAkB,CAACD,KAAK,CAACG,eAAP,EAAwBjB,2BAA2B,CAACY,OAAD,EAAUC,KAAV,CAAnD,CAFpB,CAPG,EAWH,CACEL,gBAAgB,CAAC,OAAD,CADlB,EAEEO,kBAAkB,CAACD,KAAK,CAACI,MAAP,EAAef,uBAAuB,CAACS,OAAD,EAAUC,KAAV,CAAtC,CAFpB,CAXG,EAeH,CACEL,gBAAgB,CAAC,SAAD,CADlB,EAEEO,kBAAkB,CAACD,KAAK,CAACK,QAAP,EAAiBlB,oBAAoB,CAACW,OAAD,EAAUC,KAAV,CAArC,CAFpB,CAfG,EAmBH,CACEL,gBAAgB,CAAC,SAAD,CADlB,EAEEO,kBAAkB,CAACD,KAAK,CAACK,QAAP,EAAiBlB,oBAAoB,CAACW,OAAD,EAAUC,KAAV,CAArC,CAFpB,CAnBG,EAuBH,CAAC,UAAS,IAAT,CAAD,EAAiBE,kBAAkB,CAACD,KAAK,CAACE,OAAP,EAAgBd,mBAAhB,CAAnC,CAvBG,CAAL,CADK","sourcesContent":["import {cond, constant, get, isNil, isEqual, pipe} from 'lodash/fp';\nimport {getStepContent, getCurrentProgression, getRoute} from '@coorpacademy/player-store';\nimport {popinCorrectionStateToProps} from './popin-correction';\nimport popinEndStateToProps from './popin-end';\nimport loadingStateToProps from './loading';\nimport createSlideStateToProps from './slide';\n\nconst hasNotProgression = pipe(getCurrentProgression, isNil);\nconst hasNoContent = pipe(getStepContent, isNil);\nconst matchRoute = route => pipe(getRoute, isEqual(route));\nconst matchContentType = contentType => pipe(getStepContent, get('type'), isEqual(contentType));\nconst matchContentRef = contentType => pipe(getStepContent, get('ref'), isEqual(contentType));\n\nexport const selectMapStateToVNode = (options, store, views, createStateToVNode) =>\n cond([\n [hasNotProgression, createStateToVNode(views.loading, loadingStateToProps)],\n [hasNoContent, createStateToVNode(views.loading, loadingStateToProps)],\n [\n matchRoute('correction'),\n createStateToVNode(views.popinCorrection, popinCorrectionStateToProps(options, store))\n ],\n [\n matchContentRef('extraLife'),\n createStateToVNode(views.popinCorrection, popinCorrectionStateToProps(options, store))\n ],\n [\n matchContentType('slide'),\n createStateToVNode(views.player, createSlideStateToProps(options, store))\n ],\n [\n matchContentType('success'),\n createStateToVNode(views.popinEnd, popinEndStateToProps(options, store))\n ],\n [\n matchContentType('failure'),\n createStateToVNode(views.popinEnd, popinEndStateToProps(options, store))\n ],\n [constant(true), createStateToVNode(views.loading, loadingStateToProps)]\n ]);\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"loading.js","names":["mapStateToProps","state"],"sources":["../../src/map-state-to-props/loading.js"],"sourcesContent":["const mapStateToProps = state => ({});\nexport default mapStateToProps;\n"],"mappings":"AAAA,MAAMA,eAAe,GAAGC,KAAK,KAAK,EAAL,CAA7B;;AACA,eAAeD,eAAf"}
1
+ {"version":3,"sources":["../../src/map-state-to-props/loading.js"],"names":["mapStateToProps","state"],"mappings":"AAAA,MAAMA,eAAe,GAAGC,KAAK,KAAK,EAAL,CAA7B;;AACA,eAAeD,eAAf","sourcesContent":["const mapStateToProps = state => ({});\nexport default mapStateToProps;\n"],"file":"loading.js"}
@@ -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","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","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} = 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 title: translate('Coach'),\n type: 'coach',\n disabled: availableCoaches === 0,\n onClick: () => dispatch(startChat())\n }\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":";;;;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;IAAD,IAAcP,OAApB;IACA,MAAM;MAACQ;IAAD,IAAaP,KAAnB;IAEA,MAAMQ,YAAY,GAAG5B,eAAe,CAACyB,KAAD,CAApC;IACA,MAAMI,KAAK,GAAG9B,eAAe,CAAC0B,KAAD,CAA7B;;IACA,MAAMK,YAAY,GAAG,KAAI,SAAJ,EAAeD,KAAf,CAArB;;IACA,MAAME,cAAc,GAAGjC,iBAAiB,CAAC2B,KAAD,CAAxC;IACA,MAAMO,MAAM,GAAGX,qBAAqB,CAACI,KAAD,EAAQI,KAAR,CAApC;IACA,MAAMI,aAAa,GAAGhC,gBAAgB,CAACwB,KAAD,CAAtC;IACA,MAAMR,IAAI,GAAGpB,cAAc,CAAC4B,KAAD,CAAd,IAAyB,IAAtC;IACA,MAAMS,KAAK,GAAGhC,QAAQ,CAACuB,KAAD,CAAtB;IACA,MAAMU,SAAS,GAAGb,kBAAkB,CAACG,KAAD,EAAQI,KAAR,CAApC;IACA,MAAMO,IAAI,GAAGb,cAAc,CAACM,KAAD,CAA3B;IACA,MAAMQ,SAAS,GAAG,KAAItB,UAAU,CAACmB,KAAD,CAAd,EAAuBN,YAAvB,KAAwC,CAA1D;;IACA,MAAMU,gBAAgB,GAAG,MAAMX,QAAQ,CAACvB,UAAD,CAAvC;;IACA,MAAMmC,mBAAmB,GAAG,MAAMZ,QAAQ,CAAChC,OAAD,CAA1C;;IACA,MAAM6C,wBAAwB,GAAG,MAAMb,QAAQ,CAACtB,WAAW,CAAC,QAAD,CAAZ,CAA/C;;IACA,MAAMoC,eAAe,GAAG,MAAMd,QAAQ,CAACpB,cAAc,EAAf,CAAtC;;IAEA,MAAMmC,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,CAACxC,aAAa,CAACsB,KAAD,CAA/D;IACA,MAAMoB,kBAAkB,GAAG,CAAC,SAAQF,YAAR,CAAD,IAA0BxC,aAAa,CAACsB,KAAD,CAAlE;IAEA,MAAMqB,aAAa,GAAG,KAAI,OAAJ,EAAahB,YAAb,IAClB,CACE;MACEiB,KAAK,EAAErB,SAAS,CAAC,SAAD,CADlB;MAEEsB,IAAI,EAAE,SAFR;MAGEC,QAAQ,EAAEf,KAAK,KAAK,SAHtB;MAIEgB,OAAO,EAAE,MAAM;QACb,OAAOvB,QAAQ,CAACtB,WAAW,CAAC,SAAD,CAAZ,CAAf;MACD;IANH,CADF,CADkB,GAWlB,EAXJ;IAaA,MAAM8C,gBAAgB,GAAGvD,UAAU,CAAC6B,KAAD,CAAnC;IACA,MAAM2B,OAAO,GAAG,CACd,GAAGN,aADW,EAEd;MACEC,KAAK,EAAErB,SAAS,CAAC,UAAD,CADlB;MAEEsB,IAAI,EAAE,UAFR;MAGEC,QAAQ,EAAEf,KAAK,KAAK,QAHtB;MAIEgB,OAAO,EAAEV;IAJX,CAFc,EAQd;MACEO,KAAK,EAAErB,SAAS,CAAC,OAAD,CADlB;MAEEsB,IAAI,EAAE,OAFR;MAGEC,QAAQ,EAAEf,KAAK,KAAK,OAHtB;MAIEmB,QAAQ,EAAE,SAAQV,YAAR,CAJZ;MAKEO,OAAO,EAAE,MAAMvB,QAAQ,CAACtB,WAAW,CAAC,OAAD,CAAZ,CALzB;MAMEiD,MAAM,EAAEV;IANV,CARc,EAgBd;MACEG,KAAK,EAAErB,SAAS,CAAC,MAAD,CADlB;MAEEsB,IAAI,EAAE,MAFR;MAGEC,QAAQ,EAAEf,KAAK,KAAK,MAHtB;MAIEmB,QAAQ,EAAE,CAACX,OAJb;MAKEQ,OAAO,EAAEZ;IALX,CAhBc,EAuBd;MACES,KAAK,EAAErB,SAAS,CAAC,OAAD,CADlB;MAEEsB,IAAI,EAAE,OAFR;MAGEK,QAAQ,EAAEF,gBAAgB,KAAK,CAHjC;MAIED,OAAO,EAAE,MAAMvB,QAAQ,CAACrB,SAAS,EAAV;IAJzB,CAvBc,CAAhB;IA8BA,MAAMiD,WAAW,GAAG/B,yBAAyB,CAACC,KAAD,CAA7C;;IAEA,IAAI,CAAC,UAASS,KAAT,EAAgBpB,MAAhB,CAAL,EAA8B;MAC5B,OAAO,EAAP;IACD;;IAED,MAAM0C,iBAAiB,GAAG;MACxBC,WAAW,EAAE/B,SAAS,CAAC,UAAD,CADE;MAExBwB,OAAO,EAAET,eAFe;MAGxBiB,KAAK,EAAE,KAHiB;MAIxBC,KAAK,EAAE,KAJiB;MAKxBC,IAAI,EAAE,mBALkB;MAMxBC,SAAS,EAAE,KANa;MAOxBR,QAAQ,EAAE7C,qBAAqB,CAACiB,KAAD;IAPP,CAA1B;IAUA,MAAMqC,uBAAuB,GAAG;MAC9BL,WAAW,EAAE/B,SAAS,CAACQ,KAAK,KAAK,SAAV,GAAsB,gBAAtB,GAAyC,kBAA1C,CADQ;MAE9BgB,OAAO,EAAEV,wBAFqB;MAG9BkB,KAAK,EAAE,KAHuB;MAI9BC,KAAK,EAAE,KAJuB;MAK9BC,IAAI,EAAE,mBALwB;MAM9BC,SAAS,EAAE,IANmB;MAO9BR,QAAQ,EAAE;IAPoB,CAAhC;IAUA,OAAO;MACLU,QAAQ,EAAE7B,KADL;MAEL8B,IAAI,EAAE/C,IAFD;MAGLgD,cAAc,EAAE1B,mBAHX;MAIL2B,QAAQ,EAAE,KAAI,iBAAJ,EAAuBrC,KAAvB,CAJL;MAKLsC,IAAI,EAAE1D,mBAAmB,CAACgB,KAAD,CALpB;MAMLK,YANK;MAOLsC,aAAa,EAAE,KAAI,eAAJ,EAAqBrC,cAArB,CAPV;MAQLsC,cAAc,EAAE,GARX;MASLhC,SATK;MAULF,SAVK;MAWLmC,GAAG,EAAEpC,KAAK,KAAK,QAAV,GAAqBsB,iBAArB,GAAyCM,uBAXzC;MAYL1B,IAZK;MAaLmC,UAAU,EAAE;QACVC,KAAK,EAAExC,MADG;QAEVhB,KAAK,EAAEiB;MAFG,CAbP;MAiBLwC,YAAY,EAAE,CAAC,OAAMvC,KAAN,KAAgBA,KAAK,KAAK,QAA3B,KAAwCU,cAjBjD;MAkBL8B,gBAAgB,EAAE,CAAC,OAAMxC,KAAN,KAAgBA,KAAK,KAAK,QAA3B,KAAwCW,kBAlBrD;MAmBLO,OAnBK;MAoBLuB,MAAM,EAAEpB;IApBH,CAAP;EAsBD,CAtHD;AAuHD,CA7HD;;AA+HA,eAAerC,WAAf"}
1
+ {"version":3,"sources":["../../src/map-state-to-props/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","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","headerProps","ctaButtonValidate","submitValue","light","small","name","secondary","ctaButtonBackToQuestion","typeClue","text","onClickSeeClue","question","step","backgroundUrl","verticalMargin","cta","answerType","model","showNewMedia","showReviewLesson","header"],"mappings":"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","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} = 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 title: translate('Coach'),\n type: 'coach',\n disabled: availableCoaches === 0,\n onClick: () => dispatch(startChat())\n }\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"],"file":"player.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"popin-correction.js","names":["acceptExtraLife","getCurrentCorrection","getCurrentProgression","getCurrentProgressionId","getCurrentSlide","getEngineConfig","getLives","getPreviousSlide","hasViewedAResourceAtThisStep","openAssistance","refuseExtraLife","selectProgression","toggleAccordion","getResourcesProps","isNewChapter","state","progression","content","type","nextContent","currentSlide","currentChapterId","previousSlide","previousChapterId","getNextChapterTitle","levelId","chapterIds","undefined","currentChapterName","indexChapter","length","getNextStepTitle","extraLifeCTAProps","translate","dispatch","progressionId","isRevival","updateProgression","title","onClick","noExtraLifeCTAProps","isDead","lives","chapterTitle","ctaProps","nextStepTitle","createHeaderCTA","options","store","extraLifeCTAProps_","noExtraLifeCTAProps_","isExtraLifeActive","openPopinAssistance","popinCorrectionStateToProps","getResourcesProps_","createHeaderCTA_","toggleAccordionSection","sectionId","slide","engineConfig","isExtraLifeAvailable","remainingLifeRequests","accordion","correction","correctAnswer","corrections","isCorrect","isLoading","extraLifeGranted","mayAcceptExtraLife","noMoreExtraLife","hide","count","header","subtitle","failed","question","answerPrefix","answer","resources","cta","gameOver","overlay","text","lifeAmount","quit","value","open","klf","tips","assistanceLink"],"sources":["../../src/map-state-to-props/popin-correction.js"],"sourcesContent":["import {assign, getOr, get, isNil, join, indexOf, omitBy, isUndefined, includes} from 'lodash/fp';\n\nimport {\n acceptExtraLife,\n getCurrentCorrection,\n getCurrentProgression,\n getCurrentProgressionId,\n getCurrentSlide,\n getEngineConfig,\n getLives,\n getPreviousSlide,\n hasViewedAResourceAtThisStep,\n openAssistance,\n refuseExtraLife,\n selectProgression,\n toggleAccordion\n} from '@coorpacademy/player-store';\n\nimport getResourcesProps from './resources';\n\nconst isNewChapter = (state, progression) => {\n if (\n progression.content.type !== 'level' ||\n includes(progression.state.nextContent.type, ['success', 'failure'])\n ) {\n return false;\n }\n const currentSlide = getCurrentSlide(state);\n const currentChapterId = get('chapter_id', currentSlide);\n const previousSlide = getPreviousSlide(state);\n const previousChapterId = get('chapter_id', previousSlide);\n return previousChapterId !== currentChapterId;\n};\n\nconst getNextChapterTitle = (state, progression) => {\n const levelId = get('content.ref', progression);\n const chapterIds = get(['data', 'contents', 'level', 'entities', levelId, 'chapterIds'], state);\n if (!chapterIds) {\n return undefined;\n }\n const currentSlide = getCurrentSlide(state);\n const currentChapterId = get('chapter_id', currentSlide);\n const currentChapterName = get(\n ['data', 'contents', 'chapter', 'entities', currentChapterId, 'name'],\n state\n );\n if (!currentChapterName) {\n return undefined;\n }\n const indexChapter = indexOf(currentChapterId, chapterIds) + 1;\n return `${indexChapter}/${chapterIds.length} ${currentChapterName}`;\n};\n\nconst getNextStepTitle = state => {\n const progression = getCurrentProgression(state);\n return isNewChapter(state, progression) ? getNextChapterTitle(state, progression) : undefined;\n};\n\nconst extraLifeCTAProps = ({translate}, {dispatch}) => state => {\n const progressionId = getCurrentProgressionId(state);\n const isRevival = hasViewedAResourceAtThisStep(state);\n const updateProgression = isRevival ? acceptExtraLife : refuseExtraLife;\n\n return {\n title: translate(isRevival ? 'Next' : 'Quit'),\n onClick: () => dispatch(updateProgression(progressionId))\n };\n};\n\nconst noExtraLifeCTAProps = ({translate}, {dispatch}) => state => {\n const progression = getCurrentProgression(state);\n const progressionId = getCurrentProgressionId(state);\n const isDead = progression.state.lives === 0;\n const chapterTitle = isNewChapter(state, progression)\n ? translate('Next chapter')\n : translate('Next');\n\n const ctaProps = {\n title: isDead ? translate('Game over') : chapterTitle,\n onClick: () => dispatch(selectProgression(progressionId)),\n nextStepTitle: isDead ? translate('Click to continue') : getNextStepTitle(state)\n };\n\n return omitBy(isUndefined, ctaProps);\n};\n\nexport const createHeaderCTA = (options, store) => {\n const extraLifeCTAProps_ = extraLifeCTAProps(options, store);\n const noExtraLifeCTAProps_ = noExtraLifeCTAProps(options, store);\n\n return state => {\n const progression = getCurrentProgression(state);\n const isExtraLifeActive = get('state.nextContent.ref', progression) === 'extraLife';\n const ctaProps = isExtraLifeActive ? extraLifeCTAProps_ : noExtraLifeCTAProps_;\n const {title, onClick, nextStepTitle} = ctaProps(state);\n\n return omitBy(isUndefined, {\n title,\n onClick,\n nextStepTitle\n });\n };\n};\n\nexport const openPopinAssistance = (dispatch, progression) => () =>\n dispatch(openAssistance(progression));\n\nexport const popinCorrectionStateToProps = (options, store) => {\n const getResourcesProps_ = getResourcesProps(options, store);\n const createHeaderCTA_ = createHeaderCTA(options, store);\n\n return state => {\n const {translate} = options;\n const {dispatch} = store;\n const toggleAccordionSection = sectionId => dispatch(toggleAccordion(sectionId));\n const slide = getPreviousSlide(state);\n const engineConfig = getEngineConfig(state);\n const progression = getCurrentProgression(state);\n const isExtraLifeAvailable = get('remainingLifeRequests', engineConfig) > 0;\n const remainingLifeRequests = get('state.remainingLifeRequests', progression);\n const accordion = get('ui.corrections.accordion', state);\n const correction = getCurrentCorrection(state);\n const correctAnswer = correction.correctAnswer;\n const corrections = correction.corrections;\n const isCorrect = corrections.length === 0 ? null : get('state.isCorrect')(progression);\n const isLoading = isNil(isCorrect);\n\n const isExtraLifeActive = get('state.nextContent.ref', progression) === 'extraLife';\n const extraLifeGranted = isExtraLifeActive && hasViewedAResourceAtThisStep(state);\n const mayAcceptExtraLife = isExtraLifeActive && !extraLifeGranted;\n const noMoreExtraLife = isExtraLifeAvailable && !isCorrect && remainingLifeRequests === 0;\n const {hide, count: lives} = getLives(state);\n const header = isLoading\n ? {}\n : {\n title: translate(isCorrect ? 'Good job' : 'Ouch'),\n subtitle: translate(isCorrect ? 'Good answer' : 'Wrong answer'),\n failed: !isCorrect,\n lives: hide ? null : lives\n };\n const question = {\n header: getOr('', 'question.header', slide),\n answerPrefix: translate('Correct answer'),\n answer: join(', ', correctAnswer)\n };\n\n const resources = getResourcesProps_(state, slide);\n\n return {\n header: isLoading\n ? {type: 'popinCorrection'}\n : assign(\n {\n type: 'popinCorrection',\n lives: 1,\n title: '',\n subtitle: '',\n corrections,\n cta: !mayAcceptExtraLife ? createHeaderCTA_(state) : undefined\n },\n header\n ),\n gameOver: noMoreExtraLife,\n overlay: mayAcceptExtraLife\n ? {\n title: translate('Bonus!'),\n text: translate('Get an extra life by viewing the lesson'),\n lifeAmount: 1\n }\n : undefined,\n extraLifeGranted,\n quit: mayAcceptExtraLife\n ? {\n cta: createHeaderCTA_(state)\n }\n : undefined,\n question,\n resources: {\n title: translate('Access the lesson'),\n value: resources,\n open: getOr(false, '0', accordion)\n },\n klf: {\n title: translate('Key point'),\n value: getOr('', 'klf', slide),\n open: getOr(false, '1', accordion)\n },\n tips: {\n title: translate('Did you know that?'),\n value: getOr('', 'tips', slide),\n open: getOr(false, '2', accordion)\n },\n onClick: toggleAccordionSection,\n assistanceLink: {\n title: translate('Need help? Found a bug? Report it here'),\n onClick: openPopinAssistance(dispatch, progression)\n }\n };\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/map-state-to-props/popin-correction.js"],"names":["acceptExtraLife","getCurrentCorrection","getCurrentProgression","getCurrentProgressionId","getCurrentSlide","getEngineConfig","getLives","getPreviousSlide","hasViewedAResourceAtThisStep","openAssistance","refuseExtraLife","selectProgression","toggleAccordion","getResourcesProps","isNewChapter","state","progression","content","type","nextContent","currentSlide","currentChapterId","previousSlide","previousChapterId","getNextChapterTitle","levelId","chapterIds","undefined","currentChapterName","indexChapter","length","getNextStepTitle","extraLifeCTAProps","translate","dispatch","progressionId","isRevival","updateProgression","title","onClick","noExtraLifeCTAProps","isDead","lives","chapterTitle","ctaProps","nextStepTitle","createHeaderCTA","options","store","extraLifeCTAProps_","noExtraLifeCTAProps_","isExtraLifeActive","openPopinAssistance","popinCorrectionStateToProps","getResourcesProps_","createHeaderCTA_","toggleAccordionSection","sectionId","slide","engineConfig","isExtraLifeAvailable","remainingLifeRequests","accordion","correction","correctAnswer","corrections","isCorrect","isLoading","extraLifeGranted","mayAcceptExtraLife","noMoreExtraLife","hide","count","header","subtitle","failed","question","answerPrefix","answer","resources","cta","gameOver","overlay","text","lifeAmount","quit","value","open","klf","tips","assistanceLink"],"mappings":"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","sourcesContent":["import {assign, getOr, get, isNil, join, indexOf, omitBy, isUndefined, includes} from 'lodash/fp';\n\nimport {\n acceptExtraLife,\n getCurrentCorrection,\n getCurrentProgression,\n getCurrentProgressionId,\n getCurrentSlide,\n getEngineConfig,\n getLives,\n getPreviousSlide,\n hasViewedAResourceAtThisStep,\n openAssistance,\n refuseExtraLife,\n selectProgression,\n toggleAccordion\n} from '@coorpacademy/player-store';\n\nimport getResourcesProps from './resources';\n\nconst isNewChapter = (state, progression) => {\n if (\n progression.content.type !== 'level' ||\n includes(progression.state.nextContent.type, ['success', 'failure'])\n ) {\n return false;\n }\n const currentSlide = getCurrentSlide(state);\n const currentChapterId = get('chapter_id', currentSlide);\n const previousSlide = getPreviousSlide(state);\n const previousChapterId = get('chapter_id', previousSlide);\n return previousChapterId !== currentChapterId;\n};\n\nconst getNextChapterTitle = (state, progression) => {\n const levelId = get('content.ref', progression);\n const chapterIds = get(['data', 'contents', 'level', 'entities', levelId, 'chapterIds'], state);\n if (!chapterIds) {\n return undefined;\n }\n const currentSlide = getCurrentSlide(state);\n const currentChapterId = get('chapter_id', currentSlide);\n const currentChapterName = get(\n ['data', 'contents', 'chapter', 'entities', currentChapterId, 'name'],\n state\n );\n if (!currentChapterName) {\n return undefined;\n }\n const indexChapter = indexOf(currentChapterId, chapterIds) + 1;\n return `${indexChapter}/${chapterIds.length} ${currentChapterName}`;\n};\n\nconst getNextStepTitle = state => {\n const progression = getCurrentProgression(state);\n return isNewChapter(state, progression) ? getNextChapterTitle(state, progression) : undefined;\n};\n\nconst extraLifeCTAProps = ({translate}, {dispatch}) => state => {\n const progressionId = getCurrentProgressionId(state);\n const isRevival = hasViewedAResourceAtThisStep(state);\n const updateProgression = isRevival ? acceptExtraLife : refuseExtraLife;\n\n return {\n title: translate(isRevival ? 'Next' : 'Quit'),\n onClick: () => dispatch(updateProgression(progressionId))\n };\n};\n\nconst noExtraLifeCTAProps = ({translate}, {dispatch}) => state => {\n const progression = getCurrentProgression(state);\n const progressionId = getCurrentProgressionId(state);\n const isDead = progression.state.lives === 0;\n const chapterTitle = isNewChapter(state, progression)\n ? translate('Next chapter')\n : translate('Next');\n\n const ctaProps = {\n title: isDead ? translate('Game over') : chapterTitle,\n onClick: () => dispatch(selectProgression(progressionId)),\n nextStepTitle: isDead ? translate('Click to continue') : getNextStepTitle(state)\n };\n\n return omitBy(isUndefined, ctaProps);\n};\n\nexport const createHeaderCTA = (options, store) => {\n const extraLifeCTAProps_ = extraLifeCTAProps(options, store);\n const noExtraLifeCTAProps_ = noExtraLifeCTAProps(options, store);\n\n return state => {\n const progression = getCurrentProgression(state);\n const isExtraLifeActive = get('state.nextContent.ref', progression) === 'extraLife';\n const ctaProps = isExtraLifeActive ? extraLifeCTAProps_ : noExtraLifeCTAProps_;\n const {title, onClick, nextStepTitle} = ctaProps(state);\n\n return omitBy(isUndefined, {\n title,\n onClick,\n nextStepTitle\n });\n };\n};\n\nexport const openPopinAssistance = (dispatch, progression) => () =>\n dispatch(openAssistance(progression));\n\nexport const popinCorrectionStateToProps = (options, store) => {\n const getResourcesProps_ = getResourcesProps(options, store);\n const createHeaderCTA_ = createHeaderCTA(options, store);\n\n return state => {\n const {translate} = options;\n const {dispatch} = store;\n const toggleAccordionSection = sectionId => dispatch(toggleAccordion(sectionId));\n const slide = getPreviousSlide(state);\n const engineConfig = getEngineConfig(state);\n const progression = getCurrentProgression(state);\n const isExtraLifeAvailable = get('remainingLifeRequests', engineConfig) > 0;\n const remainingLifeRequests = get('state.remainingLifeRequests', progression);\n const accordion = get('ui.corrections.accordion', state);\n const correction = getCurrentCorrection(state);\n const correctAnswer = correction.correctAnswer;\n const corrections = correction.corrections;\n const isCorrect = corrections.length === 0 ? null : get('state.isCorrect')(progression);\n const isLoading = isNil(isCorrect);\n\n const isExtraLifeActive = get('state.nextContent.ref', progression) === 'extraLife';\n const extraLifeGranted = isExtraLifeActive && hasViewedAResourceAtThisStep(state);\n const mayAcceptExtraLife = isExtraLifeActive && !extraLifeGranted;\n const noMoreExtraLife = isExtraLifeAvailable && !isCorrect && remainingLifeRequests === 0;\n const {hide, count: lives} = getLives(state);\n const header = isLoading\n ? {}\n : {\n title: translate(isCorrect ? 'Good job' : 'Ouch'),\n subtitle: translate(isCorrect ? 'Good answer' : 'Wrong answer'),\n failed: !isCorrect,\n lives: hide ? null : lives\n };\n const question = {\n header: getOr('', 'question.header', slide),\n answerPrefix: translate('Correct answer'),\n answer: join(', ', correctAnswer)\n };\n\n const resources = getResourcesProps_(state, slide);\n\n return {\n header: isLoading\n ? {type: 'popinCorrection'}\n : assign(\n {\n type: 'popinCorrection',\n lives: 1,\n title: '',\n subtitle: '',\n corrections,\n cta: !mayAcceptExtraLife ? createHeaderCTA_(state) : undefined\n },\n header\n ),\n gameOver: noMoreExtraLife,\n overlay: mayAcceptExtraLife\n ? {\n title: translate('Bonus!'),\n text: translate('Get an extra life by viewing the lesson'),\n lifeAmount: 1\n }\n : undefined,\n extraLifeGranted,\n quit: mayAcceptExtraLife\n ? {\n cta: createHeaderCTA_(state)\n }\n : undefined,\n question,\n resources: {\n title: translate('Access the lesson'),\n value: resources,\n open: getOr(false, '0', accordion)\n },\n klf: {\n title: translate('Key point'),\n value: getOr('', 'klf', slide),\n open: getOr(false, '1', accordion)\n },\n tips: {\n title: translate('Did you know that?'),\n value: getOr('', 'tips', slide),\n open: getOr(false, '2', accordion)\n },\n onClick: toggleAccordionSection,\n assistanceLink: {\n title: translate('Need help? Found a bug? Report it here'),\n onClick: openPopinAssistance(dispatch, progression)\n }\n };\n };\n};\n"],"file":"popin-correction.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"popin-end.js","names":["editComment","exit","getBestScore","getCurrentContent","getCurrentExitNode","getCurrentProgression","getCurrentProgressionId","getEndRank","getLives","getNextContent","getRecommendations","getStartRank","isCommentSent","isCurrentEngineLearner","isCurrentEngineMicrolearning","nextLevel","openRecommendation","postComment","retry","seeComment","getRedirectURLAfterEnd","headerProps","extractRank","state","start","end","sign","diff","Math","abs","extractStars","progression","stars","bestScore","comment","translate","dispatch","progressionId","content","message","isSent","confirmation","commentSectionTitle","confirmationLinkText","onClick","e","edition","title","value","postDisabled","onChange","target","onPost","ctaForFail","redirection","href","summaryHeader","hide","count","lives","successCta","level","_nextLevel","showNextLevel","type","subtitle","failed","rank","cta","extractRecommendation","_recommendations","hasRecommendations","recommendations","recommendation","cards","extractAction","nextContent","description","prefix","name","levelTranslation","button","currentContent","extractFeedback","popinEndStateToProps","options","store","headerProps_","summaryHeader_","extractAction_","extractRecommendation_","comment_","exitNode","canPostAComment","footer","props","header","summary","action","feedback"],"sources":["../../src/map-state-to-props/popin-end.js"],"sourcesContent":["import {\n cond,\n constant,\n get,\n getOr,\n isArray,\n isEqual,\n isEmpty,\n map,\n pick,\n pipe,\n omit,\n isNull\n} from 'lodash/fp';\n\nimport {\n editComment,\n exit,\n getBestScore,\n getCurrentContent,\n getCurrentExitNode,\n getCurrentProgression,\n getCurrentProgressionId,\n getEndRank,\n getLives,\n getNextContent,\n getRecommendations,\n getStartRank,\n isCommentSent,\n isCurrentEngineLearner,\n isCurrentEngineMicrolearning,\n nextLevel,\n openRecommendation,\n postComment,\n retry,\n seeComment,\n getRedirectURLAfterEnd\n} from '@coorpacademy/player-store';\nimport headerProps from './header';\n\nconst extractRank = state => {\n const start = getStartRank(state);\n const end = getEndRank(state);\n\n if (start === end) {\n return null;\n } else {\n const sign = end - start > 0 ? '-' : '+';\n const diff = Math.abs(end - start);\n return `${sign}${diff}`;\n }\n};\n\nconst extractStars = state => {\n const progression = getCurrentProgression(state);\n const stars = get('state.stars')(progression);\n const bestScore = getBestScore(state);\n\n return stars > bestScore ? `+${stars - bestScore}` : '+0';\n};\n\nconst comment = ({translate}, {dispatch}) => state => {\n const progressionId = getCurrentProgressionId(state);\n const content = getCurrentContent(state);\n const message = get('ui.comments.text', state);\n return {\n isSent: isCommentSent(state),\n confirmation: {\n commentSectionTitle: translate('Thank you for your review!'),\n confirmationLinkText: translate('See your comment and those of your peers'),\n onClick: e => dispatch(seeComment)\n },\n edition: {\n title: translate('Share your opinion on this course'),\n value: get('ui.comments.text', state),\n postDisabled: isEmpty(get('ui.comments.text', state)),\n onChange: e => dispatch(editComment(e.target.value)),\n onPost: e => dispatch(postComment(progressionId, content, message))\n }\n };\n};\n\nconst ctaForFail = (redirection, translate, dispatch, state) => {\n if (redirection) {\n return {\n href: redirection,\n title: translate('Click to continue')\n };\n }\n\n return {\n onClick: () => dispatch(retry),\n title: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter')\n : translate('Retry level')\n };\n};\n\nconst summaryHeader = ({translate}, {dispatch}) => state => {\n const {hide, count} = getLives(state);\n const lives = hide ? null : count;\n\n let successCta = {\n title: translate('Back to home'),\n onClick: () => dispatch(exit)\n };\n\n const redirection = getRedirectURLAfterEnd(state);\n if (redirection) {\n successCta = {\n title: translate('Click to continue'),\n href: redirection\n };\n }\n\n if (isCurrentEngineLearner(state) && !redirection) {\n const level = get('level', getCurrentContent(state));\n if (level === 'advanced' || level === 'base') {\n const _nextLevel = getNextContent(state);\n if (_nextLevel) {\n successCta = {\n title: translate('Next level'),\n onClick: () => dispatch(nextLevel),\n showNextLevel: true\n };\n }\n }\n }\n\n return cond([\n [\n pipe(get('type'), isEqual('success')),\n () => ({\n type: 'popinEnd',\n title: getOr('', 'name')(getCurrentContent(state)),\n subtitle: translate('Congratulations!'),\n failed: false,\n stars: extractStars(state),\n rank: extractRank(state),\n cta: successCta\n })\n ],\n [\n pipe(get('type'), isEqual('failure')),\n () => ({\n type: 'popinEnd',\n title: translate('Ooops'),\n subtitle: lives === 0 ? translate('You are out of lives!') : translate('Nice try!'),\n failed: true,\n lives,\n rank: extractRank(state),\n stars: null,\n cta: ctaForFail(redirection, translate, dispatch, state)\n })\n ],\n [constant(true), constant({type: 'popinEnd'})]\n ]);\n};\n\nconst extractRecommendation = ({translate}, {dispatch}) => state => {\n const _recommendations = getRecommendations(state);\n const hasRecommendations = isNull(_recommendations) || isArray(_recommendations);\n\n if (!hasRecommendations) {\n return null;\n }\n\n const recommendations = map(\n recommendation => ({\n ...recommendation,\n onClick: () => dispatch(openRecommendation(recommendation))\n }),\n _recommendations\n );\n\n return {\n title: translate('Related subjects'),\n cards: recommendations\n };\n};\n\nconst extractAction = ({translate}, {dispatch}) => state => {\n const nextContent = getNextContent(state);\n return cond([\n [\n pipe(get('type'), isEqual('success')),\n () => {\n if (get('nextContentType', nextContent) === 'chapter') {\n return {\n type: 'nextCourse',\n description: translate('Check out the next chapter in this course!'),\n prefix: translate('Next chapter_'),\n ...nextContent\n };\n } else if (nextContent) {\n // then it is a level\n const {name, levelTranslation} = nextContent;\n return {\n type: 'simple',\n prefix: translate('Next level_'),\n title: `${name} - ${levelTranslation}`,\n button: {\n title: translate('Next level'),\n href: null,\n onClick: () => dispatch(nextLevel)\n }\n };\n }\n }\n ],\n [\n pipe(get('type'), isEqual('failure')),\n () => {\n const currentContent = getCurrentContent(state);\n let title = getOr('', 'name', currentContent);\n if (isCurrentEngineLearner(state)) {\n title = `${getOr('', 'name', currentContent)} - ${getOr(\n '',\n 'levelTranslation',\n currentContent\n )}`;\n }\n return {\n type: 'simple',\n prefix: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter_')\n : translate('Retry level_'),\n title,\n button: {\n title: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter')\n : translate('Retry level'),\n onClick: () => dispatch(retry)\n }\n };\n }\n ],\n [constant(true), constant(null)]\n ]);\n};\n\nconst extractFeedback = pipe(\n pick(['title', 'description', 'media', 'mediaDescription']),\n omit(['media.ref', 'media.subtitles', 'media.posters'])\n);\n\nconst popinEndStateToProps = (options, store) => {\n const headerProps_ = headerProps(options, store);\n const summaryHeader_ = summaryHeader(options, store);\n const extractAction_ = extractAction(options, store);\n const extractRecommendation_ = extractRecommendation(options, store);\n const comment_ = comment(options, store);\n\n return state => {\n const progression = getCurrentProgression(state);\n\n const {translate} = options;\n const {dispatch} = store;\n\n const exitNode = getCurrentExitNode(state);\n\n const canPostAComment =\n get('type', exitNode) === 'success' && get('engine.ref', progression) === 'learner';\n\n const footer = {\n title: translate('Back to home'),\n onClick: () => dispatch(exit)\n };\n\n const props = {\n header: headerProps_(state),\n summary: {\n header: summaryHeader_(state)(exitNode),\n action: extractAction_(state)(exitNode),\n feedback: extractFeedback(exitNode),\n recommendation: extractRecommendation_(state),\n comment: canPostAComment ? comment_(state) : null,\n footer\n }\n };\n\n return props;\n };\n};\n\nexport default popinEndStateToProps;\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/map-state-to-props/popin-end.js"],"names":["editComment","exit","getBestScore","getCurrentContent","getCurrentExitNode","getCurrentProgression","getCurrentProgressionId","getEndRank","getLives","getNextContent","getRecommendations","getStartRank","isCommentSent","isCurrentEngineLearner","isCurrentEngineMicrolearning","nextLevel","openRecommendation","postComment","retry","seeComment","getRedirectURLAfterEnd","headerProps","extractRank","state","start","end","sign","diff","Math","abs","extractStars","progression","stars","bestScore","comment","translate","dispatch","progressionId","content","message","isSent","confirmation","commentSectionTitle","confirmationLinkText","onClick","e","edition","title","value","postDisabled","onChange","target","onPost","ctaForFail","redirection","href","summaryHeader","hide","count","lives","successCta","level","_nextLevel","showNextLevel","type","subtitle","failed","rank","cta","extractRecommendation","_recommendations","hasRecommendations","recommendations","recommendation","cards","extractAction","nextContent","description","prefix","name","levelTranslation","button","currentContent","extractFeedback","popinEndStateToProps","options","store","headerProps_","summaryHeader_","extractAction_","extractRecommendation_","comment_","exitNode","canPostAComment","footer","props","header","summary","action","feedback"],"mappings":"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","sourcesContent":["import {\n cond,\n constant,\n get,\n getOr,\n isArray,\n isEqual,\n isEmpty,\n map,\n pick,\n pipe,\n omit,\n isNull\n} from 'lodash/fp';\n\nimport {\n editComment,\n exit,\n getBestScore,\n getCurrentContent,\n getCurrentExitNode,\n getCurrentProgression,\n getCurrentProgressionId,\n getEndRank,\n getLives,\n getNextContent,\n getRecommendations,\n getStartRank,\n isCommentSent,\n isCurrentEngineLearner,\n isCurrentEngineMicrolearning,\n nextLevel,\n openRecommendation,\n postComment,\n retry,\n seeComment,\n getRedirectURLAfterEnd\n} from '@coorpacademy/player-store';\nimport headerProps from './header';\n\nconst extractRank = state => {\n const start = getStartRank(state);\n const end = getEndRank(state);\n\n if (start === end) {\n return null;\n } else {\n const sign = end - start > 0 ? '-' : '+';\n const diff = Math.abs(end - start);\n return `${sign}${diff}`;\n }\n};\n\nconst extractStars = state => {\n const progression = getCurrentProgression(state);\n const stars = get('state.stars')(progression);\n const bestScore = getBestScore(state);\n\n return stars > bestScore ? `+${stars - bestScore}` : '+0';\n};\n\nconst comment = ({translate}, {dispatch}) => state => {\n const progressionId = getCurrentProgressionId(state);\n const content = getCurrentContent(state);\n const message = get('ui.comments.text', state);\n return {\n isSent: isCommentSent(state),\n confirmation: {\n commentSectionTitle: translate('Thank you for your review!'),\n confirmationLinkText: translate('See your comment and those of your peers'),\n onClick: e => dispatch(seeComment)\n },\n edition: {\n title: translate('Share your opinion on this course'),\n value: get('ui.comments.text', state),\n postDisabled: isEmpty(get('ui.comments.text', state)),\n onChange: e => dispatch(editComment(e.target.value)),\n onPost: e => dispatch(postComment(progressionId, content, message))\n }\n };\n};\n\nconst ctaForFail = (redirection, translate, dispatch, state) => {\n if (redirection) {\n return {\n href: redirection,\n title: translate('Click to continue')\n };\n }\n\n return {\n onClick: () => dispatch(retry),\n title: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter')\n : translate('Retry level')\n };\n};\n\nconst summaryHeader = ({translate}, {dispatch}) => state => {\n const {hide, count} = getLives(state);\n const lives = hide ? null : count;\n\n let successCta = {\n title: translate('Back to home'),\n onClick: () => dispatch(exit)\n };\n\n const redirection = getRedirectURLAfterEnd(state);\n if (redirection) {\n successCta = {\n title: translate('Click to continue'),\n href: redirection\n };\n }\n\n if (isCurrentEngineLearner(state) && !redirection) {\n const level = get('level', getCurrentContent(state));\n if (level === 'advanced' || level === 'base') {\n const _nextLevel = getNextContent(state);\n if (_nextLevel) {\n successCta = {\n title: translate('Next level'),\n onClick: () => dispatch(nextLevel),\n showNextLevel: true\n };\n }\n }\n }\n\n return cond([\n [\n pipe(get('type'), isEqual('success')),\n () => ({\n type: 'popinEnd',\n title: getOr('', 'name')(getCurrentContent(state)),\n subtitle: translate('Congratulations!'),\n failed: false,\n stars: extractStars(state),\n rank: extractRank(state),\n cta: successCta\n })\n ],\n [\n pipe(get('type'), isEqual('failure')),\n () => ({\n type: 'popinEnd',\n title: translate('Ooops'),\n subtitle: lives === 0 ? translate('You are out of lives!') : translate('Nice try!'),\n failed: true,\n lives,\n rank: extractRank(state),\n stars: null,\n cta: ctaForFail(redirection, translate, dispatch, state)\n })\n ],\n [constant(true), constant({type: 'popinEnd'})]\n ]);\n};\n\nconst extractRecommendation = ({translate}, {dispatch}) => state => {\n const _recommendations = getRecommendations(state);\n const hasRecommendations = isNull(_recommendations) || isArray(_recommendations);\n\n if (!hasRecommendations) {\n return null;\n }\n\n const recommendations = map(\n recommendation => ({\n ...recommendation,\n onClick: () => dispatch(openRecommendation(recommendation))\n }),\n _recommendations\n );\n\n return {\n title: translate('Related subjects'),\n cards: recommendations\n };\n};\n\nconst extractAction = ({translate}, {dispatch}) => state => {\n const nextContent = getNextContent(state);\n return cond([\n [\n pipe(get('type'), isEqual('success')),\n () => {\n if (get('nextContentType', nextContent) === 'chapter') {\n return {\n type: 'nextCourse',\n description: translate('Check out the next chapter in this course!'),\n prefix: translate('Next chapter_'),\n ...nextContent\n };\n } else if (nextContent) {\n // then it is a level\n const {name, levelTranslation} = nextContent;\n return {\n type: 'simple',\n prefix: translate('Next level_'),\n title: `${name} - ${levelTranslation}`,\n button: {\n title: translate('Next level'),\n href: null,\n onClick: () => dispatch(nextLevel)\n }\n };\n }\n }\n ],\n [\n pipe(get('type'), isEqual('failure')),\n () => {\n const currentContent = getCurrentContent(state);\n let title = getOr('', 'name', currentContent);\n if (isCurrentEngineLearner(state)) {\n title = `${getOr('', 'name', currentContent)} - ${getOr(\n '',\n 'levelTranslation',\n currentContent\n )}`;\n }\n return {\n type: 'simple',\n prefix: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter_')\n : translate('Retry level_'),\n title,\n button: {\n title: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter')\n : translate('Retry level'),\n onClick: () => dispatch(retry)\n }\n };\n }\n ],\n [constant(true), constant(null)]\n ]);\n};\n\nconst extractFeedback = pipe(\n pick(['title', 'description', 'media', 'mediaDescription']),\n omit(['media.ref', 'media.subtitles', 'media.posters'])\n);\n\nconst popinEndStateToProps = (options, store) => {\n const headerProps_ = headerProps(options, store);\n const summaryHeader_ = summaryHeader(options, store);\n const extractAction_ = extractAction(options, store);\n const extractRecommendation_ = extractRecommendation(options, store);\n const comment_ = comment(options, store);\n\n return state => {\n const progression = getCurrentProgression(state);\n\n const {translate} = options;\n const {dispatch} = store;\n\n const exitNode = getCurrentExitNode(state);\n\n const canPostAComment =\n get('type', exitNode) === 'success' && get('engine.ref', progression) === 'learner';\n\n const footer = {\n title: translate('Back to home'),\n onClick: () => dispatch(exit)\n };\n\n const props = {\n header: headerProps_(state),\n summary: {\n header: summaryHeader_(state)(exitNode),\n action: extractAction_(state)(exitNode),\n feedback: extractFeedback(exitNode),\n recommendation: extractRecommendation_(state),\n comment: canPostAComment ? comment_(state) : null,\n footer\n }\n };\n\n return props;\n };\n};\n\nexport default popinEndStateToProps;\n"],"file":"popin-end.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","names":["ended","getResourceToPlay","pause","play","resume","selectResource","getResourcesProps","options","store","state","slide","dispatch","resourceToPlay","lessons","lesson","onClick","_id","onPlay","onResume","onPause","onEnded","selected"],"sources":["../../src/map-state-to-props/resources.js"],"sourcesContent":["import {getOr, isEmpty, map, pipe, set, some, omit} from 'lodash/fp';\n\nimport {\n ended,\n getResourceToPlay,\n pause,\n play,\n resume,\n selectResource\n} from '@coorpacademy/player-store';\n\nconst getResourcesProps = (options, store) => (state, slide) => {\n const {dispatch} = store;\n const resourceToPlay = getResourceToPlay(state);\n\n const lessons = pipe(\n getOr([], 'lessons'),\n map(lesson => ({\n ...omit(['id', 'ref'], lesson),\n onClick: () => dispatch(selectResource(lesson._id)),\n onPlay: () => dispatch(play()),\n onResume: () => dispatch(resume(lesson)),\n onPause: () => dispatch(pause(lesson)),\n onEnded: () => dispatch(ended(lesson)),\n selected: lesson._id === resourceToPlay\n }))\n )(slide);\n\n if (isEmpty(lessons) || some({selected: true}, lessons)) {\n return lessons;\n }\n\n // If there are lessons but none are selected, force select the first one\n return set([0, 'selected'], true, lessons);\n};\n\nexport default getResourcesProps;\n"],"mappings":";;;;;;;;;;AAEA,SACEA,KADF,EAEEC,iBAFF,EAGEC,KAHF,EAIEC,IAJF,EAKEC,MALF,EAMEC,cANF,QAOO,4BAPP;;AASA,MAAMC,iBAAiB,GAAG,CAACC,OAAD,EAAUC,KAAV,KAAoB,CAACC,KAAD,EAAQC,KAAR,KAAkB;EAC9D,MAAM;IAACC;EAAD,IAAaH,KAAnB;EACA,MAAMI,cAAc,GAAGX,iBAAiB,CAACQ,KAAD,CAAxC;;EAEA,MAAMI,OAAO,GAAG,MACd,OAAM,EAAN,EAAU,SAAV,CADc,EAEd,KAAIC,MAAM,0BACL,MAAK,CAAC,IAAD,EAAO,KAAP,CAAL,EAAoBA,MAApB,CADK;IAERC,OAAO,EAAE,MAAMJ,QAAQ,CAACN,cAAc,CAACS,MAAM,CAACE,GAAR,CAAf,CAFf;IAGRC,MAAM,EAAE,MAAMN,QAAQ,CAACR,IAAI,EAAL,CAHd;IAIRe,QAAQ,EAAE,MAAMP,QAAQ,CAACP,MAAM,CAACU,MAAD,CAAP,CAJhB;IAKRK,OAAO,EAAE,MAAMR,QAAQ,CAACT,KAAK,CAACY,MAAD,CAAN,CALf;IAMRM,OAAO,EAAE,MAAMT,QAAQ,CAACX,KAAK,CAACc,MAAD,CAAN,CANf;IAORO,QAAQ,EAAEP,MAAM,CAACE,GAAP,KAAeJ;EAPjB,EAAV,CAFc,EAWdF,KAXc,CAAhB;;EAaA,IAAI,SAAQG,OAAR,KAAoB,MAAK;IAACQ,QAAQ,EAAE;EAAX,CAAL,EAAuBR,OAAvB,CAAxB,EAAyD;IACvD,OAAOA,OAAP;EACD,CAnB6D,CAqB9D;;;EACA,OAAO,KAAI,CAAC,CAAD,EAAI,UAAJ,CAAJ,EAAqB,IAArB,EAA2BA,OAA3B,CAAP;AACD,CAvBD;;AAyBA,eAAeP,iBAAf"}
1
+ {"version":3,"sources":["../../src/map-state-to-props/resources.js"],"names":["ended","getResourceToPlay","pause","play","resume","selectResource","getResourcesProps","options","store","state","slide","dispatch","resourceToPlay","lessons","lesson","onClick","_id","onPlay","onResume","onPause","onEnded","selected"],"mappings":";;;;;;;;;;AAEA,SACEA,KADF,EAEEC,iBAFF,EAGEC,KAHF,EAIEC,IAJF,EAKEC,MALF,EAMEC,cANF,QAOO,4BAPP;;AASA,MAAMC,iBAAiB,GAAG,CAACC,OAAD,EAAUC,KAAV,KAAoB,CAACC,KAAD,EAAQC,KAAR,KAAkB;AAC9D,QAAM;AAACC,IAAAA;AAAD,MAAaH,KAAnB;AACA,QAAMI,cAAc,GAAGX,iBAAiB,CAACQ,KAAD,CAAxC;;AAEA,QAAMI,OAAO,GAAG,MACd,OAAM,EAAN,EAAU,SAAV,CADc,EAEd,KAAIC,MAAM,0BACL,MAAK,CAAC,IAAD,EAAO,KAAP,CAAL,EAAoBA,MAApB,CADK;AAERC,IAAAA,OAAO,EAAE,MAAMJ,QAAQ,CAACN,cAAc,CAACS,MAAM,CAACE,GAAR,CAAf,CAFf;AAGRC,IAAAA,MAAM,EAAE,MAAMN,QAAQ,CAACR,IAAI,EAAL,CAHd;AAIRe,IAAAA,QAAQ,EAAE,MAAMP,QAAQ,CAACP,MAAM,CAACU,MAAD,CAAP,CAJhB;AAKRK,IAAAA,OAAO,EAAE,MAAMR,QAAQ,CAACT,KAAK,CAACY,MAAD,CAAN,CALf;AAMRM,IAAAA,OAAO,EAAE,MAAMT,QAAQ,CAACX,KAAK,CAACc,MAAD,CAAN,CANf;AAORO,IAAAA,QAAQ,EAAEP,MAAM,CAACE,GAAP,KAAeJ;AAPjB,IAAV,CAFc,EAWdF,KAXc,CAAhB;;AAaA,MAAI,SAAQG,OAAR,KAAoB,MAAK;AAACQ,IAAAA,QAAQ,EAAE;AAAX,GAAL,EAAuBR,OAAvB,CAAxB,EAAyD;AACvD,WAAOA,OAAP;AACD,GAnB6D,CAqB9D;;;AACA,SAAO,KAAI,CAAC,CAAD,EAAI,UAAJ,CAAJ,EAAqB,IAArB,EAA2BA,OAA3B,CAAP;AACD,CAvBD;;AAyBA,eAAeP,iBAAf","sourcesContent":["import {getOr, isEmpty, map, pipe, set, some, omit} from 'lodash/fp';\n\nimport {\n ended,\n getResourceToPlay,\n pause,\n play,\n resume,\n selectResource\n} from '@coorpacademy/player-store';\n\nconst getResourcesProps = (options, store) => (state, slide) => {\n const {dispatch} = store;\n const resourceToPlay = getResourceToPlay(state);\n\n const lessons = pipe(\n getOr([], 'lessons'),\n map(lesson => ({\n ...omit(['id', 'ref'], lesson),\n onClick: () => dispatch(selectResource(lesson._id)),\n onPlay: () => dispatch(play()),\n onResume: () => dispatch(resume(lesson)),\n onPause: () => dispatch(pause(lesson)),\n onEnded: () => dispatch(ended(lesson)),\n selected: lesson._id === resourceToPlay\n }))\n )(slide);\n\n if (isEmpty(lessons) || some({selected: true}, lessons)) {\n return lessons;\n }\n\n // If there are lessons but none are selected, force select the first one\n return set([0, 'selected'], true, lessons);\n};\n\nexport default getResourcesProps;\n"],"file":"resources.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"slide.js","names":["createPlayerStateToProps","playerProps","options","dispatch","state","mapStateToProps","player"],"sources":["../../src/map-state-to-props/slide.js"],"sourcesContent":["import {__, mapValues, pipe} from 'lodash/fp';\n\nimport createPlayerStateToProps from './player';\n\nconst playerProps = (options, dispatch) => {\n return pipe(\n state => mapStateToProps => mapStateToProps(state),\n mapValues(__, {\n player: createPlayerStateToProps(options, dispatch)\n })\n );\n};\n\nexport default playerProps;\n"],"mappings":";;;AAEA,OAAOA,wBAAP,MAAqC,UAArC;;AAEA,MAAMC,WAAW,GAAG,CAACC,OAAD,EAAUC,QAAV,KAAuB;EACzC,OAAO,MACLC,KAAK,IAAIC,eAAe,IAAIA,eAAe,CAACD,KAAD,CADtC,EAEL,cAAc;IACZE,MAAM,EAAEN,wBAAwB,CAACE,OAAD,EAAUC,QAAV;EADpB,CAAd,CAFK,CAAP;AAMD,CAPD;;AASA,eAAeF,WAAf"}
1
+ {"version":3,"sources":["../../src/map-state-to-props/slide.js"],"names":["createPlayerStateToProps","playerProps","options","dispatch","state","mapStateToProps","player"],"mappings":";;;AAEA,OAAOA,wBAAP,MAAqC,UAArC;;AAEA,MAAMC,WAAW,GAAG,CAACC,OAAD,EAAUC,QAAV,KAAuB;AACzC,SAAO,MACLC,KAAK,IAAIC,eAAe,IAAIA,eAAe,CAACD,KAAD,CADtC,EAEL,cAAc;AACZE,IAAAA,MAAM,EAAEN,wBAAwB,CAACE,OAAD,EAAUC,QAAV;AADpB,GAAd,CAFK,CAAP;AAMD,CAPD;;AASA,eAAeF,WAAf","sourcesContent":["import {__, mapValues, pipe} from 'lodash/fp';\n\nimport createPlayerStateToProps from './player';\n\nconst playerProps = (options, dispatch) => {\n return pipe(\n state => mapStateToProps => mapStateToProps(state),\n mapValues(__, {\n player: createPlayerStateToProps(options, dispatch)\n })\n );\n};\n\nexport default playerProps;\n"],"file":"slide.js"}
@@ -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,"sources":["../../../src/map-state-to-props/test/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"],"mappings":"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","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"],"file":"answer.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","names":["test","mockTranslate","createHeader","basicSlide","options","translate","store","dispatch","headerProps","createProgression","slide","engine","ref","version","content","type","state","nextContent","_id","lives","livesDisabled","step","current","viewedResources","data","contents","chapter","entities","name","level","chapterIds","chapter_id","progressions","basic","t","ui","progressionId","props","deepEqual","count","title","subcontent","details","is"],"sources":["../../../src/map-state-to-props/test/header.js"],"sourcesContent":["import test from 'ava';\nimport {set, identity, omit, pipe} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport createHeader from '../header';\nimport basicSlide from './fixtures/slides/basic';\n\nconst options = {translate: mockTranslate};\nconst store = {dispatch: identity};\nconst headerProps = createHeader(options, store);\n\nconst createProgression = slide => ({\n engine: {\n ref: 'microlearning',\n version: '1'\n },\n content: {\n ref: '1.B1',\n type: 'chapter'\n },\n state: {\n nextContent: {\n ref: slide._id,\n type: 'slide'\n },\n lives: 100,\n livesDisabled: false,\n step: {\n current: 1\n },\n viewedResources: []\n }\n});\n\nconst data = {\n contents: {\n chapter: {\n entities: {\n '1.B2': {\n _id: '1.B2',\n name: 'some-title'\n }\n }\n },\n level: {\n entities: {\n '1.B': {\n name: 'level-with-chapters',\n chapterIds: ['1.B1', '1.B2', '1.B3']\n }\n }\n },\n slide: {\n entities: {\n [basicSlide._id]: {\n chapter_id: '1.B2'\n }\n }\n }\n },\n progressions: {\n entities: {\n basic: createProgression(basicSlide)\n }\n }\n};\n\ntest('should create header with the number of lives in the state', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {data, ui};\n const props = headerProps(state);\n t.deepEqual(props.lives, {\n count: 100\n });\n});\n\ntest('should read title from the content when available', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {data: set('progressions.entities.basic.content.ref', '1.B2', data), ui};\n const props = headerProps(state);\n\n t.deepEqual(omit('onClick', props.content), {\n title: 'some-title'\n });\n});\n\ntest('should find chapter details within learner.header.subcontent', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {\n data: pipe(\n set('progressions.entities.basic.engine.ref', 'learner'),\n set('progressions.entities.basic.content.type', 'level'),\n set('progressions.entities.basic.content.ref', '1.B')\n )(data),\n ui\n };\n const props = headerProps(state);\n\n t.deepEqual(props.subcontent, {\n title: 'some-title',\n details: '2/3'\n });\n});\n\ntest('should set lives to null if lives are disabled in the progression', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {data: set('progressions.entities.basic.state.livesDisabled', true, data), ui};\n const props = headerProps(state);\n\n t.is(props.lives, false);\n});\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/map-state-to-props/test/header.js"],"names":["test","mockTranslate","createHeader","basicSlide","options","translate","store","dispatch","headerProps","createProgression","slide","engine","ref","version","content","type","state","nextContent","_id","lives","livesDisabled","step","current","viewedResources","data","contents","chapter","entities","name","level","chapterIds","chapter_id","progressions","basic","t","ui","progressionId","props","deepEqual","count","title","subcontent","details","is"],"mappings":"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","sourcesContent":["import test from 'ava';\nimport {set, identity, omit, pipe} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport createHeader from '../header';\nimport basicSlide from './fixtures/slides/basic';\n\nconst options = {translate: mockTranslate};\nconst store = {dispatch: identity};\nconst headerProps = createHeader(options, store);\n\nconst createProgression = slide => ({\n engine: {\n ref: 'microlearning',\n version: '1'\n },\n content: {\n ref: '1.B1',\n type: 'chapter'\n },\n state: {\n nextContent: {\n ref: slide._id,\n type: 'slide'\n },\n lives: 100,\n livesDisabled: false,\n step: {\n current: 1\n },\n viewedResources: []\n }\n});\n\nconst data = {\n contents: {\n chapter: {\n entities: {\n '1.B2': {\n _id: '1.B2',\n name: 'some-title'\n }\n }\n },\n level: {\n entities: {\n '1.B': {\n name: 'level-with-chapters',\n chapterIds: ['1.B1', '1.B2', '1.B3']\n }\n }\n },\n slide: {\n entities: {\n [basicSlide._id]: {\n chapter_id: '1.B2'\n }\n }\n }\n },\n progressions: {\n entities: {\n basic: createProgression(basicSlide)\n }\n }\n};\n\ntest('should create header with the number of lives in the state', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {data, ui};\n const props = headerProps(state);\n t.deepEqual(props.lives, {\n count: 100\n });\n});\n\ntest('should read title from the content when available', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {data: set('progressions.entities.basic.content.ref', '1.B2', data), ui};\n const props = headerProps(state);\n\n t.deepEqual(omit('onClick', props.content), {\n title: 'some-title'\n });\n});\n\ntest('should find chapter details within learner.header.subcontent', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {\n data: pipe(\n set('progressions.entities.basic.engine.ref', 'learner'),\n set('progressions.entities.basic.content.type', 'level'),\n set('progressions.entities.basic.content.ref', '1.B')\n )(data),\n ui\n };\n const props = headerProps(state);\n\n t.deepEqual(props.subcontent, {\n title: 'some-title',\n details: '2/3'\n });\n});\n\ntest('should set lives to null if lives are disabled in the progression', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {data: set('progressions.entities.basic.state.livesDisabled', true, data), ui};\n const props = headerProps(state);\n\n t.is(props.lives, false);\n});\n"],"file":"header.js"}