@coorpacademy/player-web 4.22.52 → 4.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/es/index.js +1 -8
  2. package/es/index.js.map +1 -1
  3. package/es/map-state-to-props/answer.js +0 -35
  4. package/es/map-state-to-props/answer.js.map +1 -1
  5. package/es/map-state-to-props/error-popin.js +0 -4
  6. package/es/map-state-to-props/error-popin.js.map +1 -1
  7. package/es/map-state-to-props/header.js +3 -14
  8. package/es/map-state-to-props/header.js.map +1 -1
  9. package/es/map-state-to-props/index.js +0 -6
  10. package/es/map-state-to-props/index.js.map +1 -1
  11. package/es/map-state-to-props/loading.js +0 -1
  12. package/es/map-state-to-props/loading.js.map +1 -1
  13. package/es/map-state-to-props/player.js +0 -13
  14. package/es/map-state-to-props/player.js.map +1 -1
  15. package/es/map-state-to-props/popin-correction.js +0 -25
  16. package/es/map-state-to-props/popin-correction.js.map +1 -1
  17. package/es/map-state-to-props/popin-end.js +6 -35
  18. package/es/map-state-to-props/popin-end.js.map +1 -1
  19. package/es/map-state-to-props/resources.js +4 -10
  20. package/es/map-state-to-props/resources.js.map +1 -1
  21. package/es/map-state-to-props/slide.js +0 -2
  22. package/es/map-state-to-props/slide.js.map +1 -1
  23. package/es/map-state-to-props/test/answer.js +0 -21
  24. package/es/map-state-to-props/test/answer.js.map +1 -1
  25. package/es/map-state-to-props/test/header.js +0 -2
  26. package/es/map-state-to-props/test/header.js.map +1 -1
  27. package/es/map-state-to-props/test/index.js +22 -29
  28. package/es/map-state-to-props/test/index.js.map +1 -1
  29. package/es/map-state-to-props/test/player.js +6 -19
  30. package/es/map-state-to-props/test/player.js.map +1 -1
  31. package/es/map-state-to-props/test/popin-correction.create-header-cta.js +0 -15
  32. package/es/map-state-to-props/test/popin-correction.create-header-cta.js.map +1 -1
  33. package/es/map-state-to-props/test/popin-correction.js +0 -8
  34. package/es/map-state-to-props/test/popin-correction.js.map +1 -1
  35. package/es/map-state-to-props/test/popin-end.js +0 -13
  36. package/es/map-state-to-props/test/popin-end.js.map +1 -1
  37. package/es/map-state-to-props/test/popin-error.js.map +1 -1
  38. package/es/map-state-to-props/test/resources.js +0 -2
  39. package/es/map-state-to-props/test/resources.js.map +1 -1
  40. package/es/run-app.js +0 -2
  41. package/es/run-app.js.map +1 -1
  42. package/es/store.js +0 -4
  43. package/es/store.js.map +1 -1
  44. package/es/test/add-timeout.js.map +1 -1
  45. package/es/test/helpers/css-register.js.map +1 -1
  46. package/es/test/helpers/macro.js +0 -1
  47. package/es/test/helpers/macro.js.map +1 -1
  48. package/es/test/index.js.map +1 -1
  49. package/es/test/init-reducers.js.map +1 -1
  50. package/es/test/locales.js.map +1 -1
  51. package/es/test/run-app.js.map +1 -1
  52. package/es/test/store.js.map +1 -1
  53. package/es/views/index.js.map +1 -1
  54. package/es/views/test/helpers/render.js +0 -2
  55. package/es/views/test/helpers/render.js.map +1 -1
  56. package/es/views/test/helpers/state-to-vnode.js +0 -2
  57. package/es/views/test/helpers/state-to-vnode.js.map +1 -1
  58. package/es/views/test/loading.js.map +1 -1
  59. package/es/views/test/popin-correction.js +0 -6
  60. package/es/views/test/popin-correction.js.map +1 -1
  61. package/es/views/test/popin-end.js.map +1 -1
  62. package/es/views/test/router.js.map +1 -1
  63. package/es/views/test/slide.js +0 -1
  64. package/es/views/test/slide.js.map +1 -1
  65. package/lib/index.js +2 -18
  66. package/lib/index.js.map +1 -1
  67. package/lib/map-state-to-props/answer.js +1 -47
  68. package/lib/map-state-to-props/answer.js.map +1 -1
  69. package/lib/map-state-to-props/error-popin.js +2 -10
  70. package/lib/map-state-to-props/error-popin.js.map +1 -1
  71. package/lib/map-state-to-props/header.js +5 -19
  72. package/lib/map-state-to-props/header.js.map +1 -1
  73. package/lib/map-state-to-props/index.js +1 -19
  74. package/lib/map-state-to-props/index.js.map +1 -1
  75. package/lib/map-state-to-props/loading.js +1 -4
  76. package/lib/map-state-to-props/loading.js.map +1 -1
  77. package/lib/map-state-to-props/player.js +2 -22
  78. package/lib/map-state-to-props/player.js.map +1 -1
  79. package/lib/map-state-to-props/popin-correction.js +1 -32
  80. package/lib/map-state-to-props/popin-correction.js.map +1 -1
  81. package/lib/map-state-to-props/popin-end.js +8 -47
  82. package/lib/map-state-to-props/popin-end.js.map +1 -1
  83. package/lib/map-state-to-props/resources.js +6 -20
  84. package/lib/map-state-to-props/resources.js.map +1 -1
  85. package/lib/map-state-to-props/slide.js +2 -11
  86. package/lib/map-state-to-props/slide.js.map +1 -1
  87. package/lib/map-state-to-props/test/answer.js +1 -37
  88. package/lib/map-state-to-props/test/answer.js.map +1 -1
  89. package/lib/map-state-to-props/test/header.js +1 -12
  90. package/lib/map-state-to-props/test/header.js.map +1 -1
  91. package/lib/map-state-to-props/test/index.js +23 -20
  92. package/lib/map-state-to-props/test/index.js.map +1 -1
  93. package/lib/map-state-to-props/test/player.js +12 -52
  94. package/lib/map-state-to-props/test/player.js.map +1 -1
  95. package/lib/map-state-to-props/test/popin-correction.create-header-cta.js +1 -27
  96. package/lib/map-state-to-props/test/popin-correction.create-header-cta.js.map +1 -1
  97. package/lib/map-state-to-props/test/popin-correction.js +1 -11
  98. package/lib/map-state-to-props/test/popin-correction.js.map +1 -1
  99. package/lib/map-state-to-props/test/popin-end.js +1 -26
  100. package/lib/map-state-to-props/test/popin-end.js.map +1 -1
  101. package/lib/map-state-to-props/test/popin-error.js +1 -6
  102. package/lib/map-state-to-props/test/popin-error.js.map +1 -1
  103. package/lib/map-state-to-props/test/resources.js +1 -11
  104. package/lib/map-state-to-props/test/resources.js.map +1 -1
  105. package/lib/run-app.js +1 -5
  106. package/lib/run-app.js.map +1 -1
  107. package/lib/store.js +1 -11
  108. package/lib/store.js.map +1 -1
  109. package/lib/test/add-timeout.js +1 -4
  110. package/lib/test/add-timeout.js.map +1 -1
  111. package/lib/test/helpers/css-register.js +1 -3
  112. package/lib/test/helpers/css-register.js.map +1 -1
  113. package/lib/test/helpers/macro.js +1 -4
  114. package/lib/test/helpers/macro.js.map +1 -1
  115. package/lib/test/index.js +3 -12
  116. package/lib/test/index.js.map +1 -1
  117. package/lib/test/init-reducers.js +1 -5
  118. package/lib/test/init-reducers.js.map +1 -1
  119. package/lib/test/locales.js +1 -8
  120. package/lib/test/locales.js.map +1 -1
  121. package/lib/test/run-app.js +1 -5
  122. package/lib/test/run-app.js.map +1 -1
  123. package/lib/test/store.js +1 -5
  124. package/lib/test/store.js.map +1 -1
  125. package/lib/views/index.js +2 -9
  126. package/lib/views/index.js.map +1 -1
  127. package/lib/views/test/helpers/render.js +2 -10
  128. package/lib/views/test/helpers/render.js.map +1 -1
  129. package/lib/views/test/helpers/state-to-vnode.js +1 -6
  130. package/lib/views/test/helpers/state-to-vnode.js.map +1 -1
  131. package/lib/views/test/loading.js +1 -5
  132. package/lib/views/test/loading.js.map +1 -1
  133. package/lib/views/test/popin-correction.js +1 -18
  134. package/lib/views/test/popin-correction.js.map +1 -1
  135. package/lib/views/test/popin-end.js +1 -10
  136. package/lib/views/test/popin-end.js.map +1 -1
  137. package/lib/views/test/router.js +1 -8
  138. package/lib/views/test/router.js.map +1 -1
  139. package/lib/views/test/slide.js +3 -23
  140. package/lib/views/test/slide.js.map +1 -1
  141. package/package.json +13 -14
@@ -2,45 +2,25 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
-
6
5
  var _isNull2 = _interopRequireDefault(require("lodash/fp/isNull"));
7
-
8
6
  var _omit2 = _interopRequireDefault(require("lodash/fp/omit"));
9
-
10
7
  var _pipe2 = _interopRequireDefault(require("lodash/fp/pipe"));
11
-
12
8
  var _pick2 = _interopRequireDefault(require("lodash/fp/pick"));
13
-
14
9
  var _map2 = _interopRequireDefault(require("lodash/fp/map"));
15
-
16
10
  var _isEmpty2 = _interopRequireDefault(require("lodash/fp/isEmpty"));
17
-
18
11
  var _isEqual2 = _interopRequireDefault(require("lodash/fp/isEqual"));
19
-
20
12
  var _isArray2 = _interopRequireDefault(require("lodash/fp/isArray"));
21
-
22
13
  var _getOr2 = _interopRequireDefault(require("lodash/fp/getOr"));
23
-
24
14
  var _get2 = _interopRequireDefault(require("lodash/fp/get"));
25
-
26
15
  var _constant2 = _interopRequireDefault(require("lodash/fp/constant"));
27
-
28
16
  var _cond2 = _interopRequireDefault(require("lodash/fp/cond"));
29
-
30
17
  var _playerStore = require("@coorpacademy/player-store");
31
-
32
18
  var _header = _interopRequireDefault(require("./header"));
33
-
34
19
  var _errorPopin = _interopRequireDefault(require("./error-popin"));
35
-
36
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
-
38
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
39
-
20
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
40
21
  const extractRank = state => {
41
22
  const start = (0, _playerStore.getStartRank)(state);
42
23
  const end = (0, _playerStore.getEndRank)(state);
43
-
44
24
  if (start === end) {
45
25
  return null;
46
26
  } else {
@@ -49,14 +29,12 @@ const extractRank = state => {
49
29
  return `${sign}${diff}`;
50
30
  }
51
31
  };
52
-
53
32
  const extractStars = state => {
54
33
  const progression = (0, _playerStore.getCurrentProgression)(state);
55
34
  const stars = (0, _get2.default)('state.stars')(progression);
56
35
  const bestScore = (0, _playerStore.getBestScore)(state);
57
36
  return stars > bestScore ? `+${stars - bestScore}` : '+0';
58
37
  };
59
-
60
38
  const comment = ({
61
39
  translate
62
40
  }, {
@@ -81,7 +59,6 @@ const comment = ({
81
59
  }
82
60
  };
83
61
  };
84
-
85
62
  const ctaForFail = (redirection, translate, dispatch, state) => {
86
63
  if (redirection) {
87
64
  return {
@@ -89,13 +66,11 @@ const ctaForFail = (redirection, translate, dispatch, state) => {
89
66
  title: translate('Click to continue')
90
67
  };
91
68
  }
92
-
93
69
  return {
94
70
  onClick: () => dispatch(_playerStore.retry),
95
71
  title: (0, _playerStore.isCurrentEngineMicrolearning)(state) ? translate('Retry chapter') : translate('Retry level')
96
72
  };
97
73
  };
98
-
99
74
  const summaryHeader = ({
100
75
  translate
101
76
  }, {
@@ -111,20 +86,16 @@ const summaryHeader = ({
111
86
  onClick: () => dispatch(_playerStore.exit)
112
87
  };
113
88
  const redirection = (0, _playerStore.getRedirectURLAfterEnd)(state);
114
-
115
89
  if (redirection) {
116
90
  successCta = {
117
91
  title: translate('Click to continue'),
118
92
  href: redirection
119
93
  };
120
94
  }
121
-
122
95
  if ((0, _playerStore.isCurrentEngineLearner)(state) && !redirection) {
123
96
  const level = (0, _get2.default)('level', (0, _playerStore.getCurrentContent)(state));
124
-
125
97
  if (level === 'advanced' || level === 'base') {
126
98
  const _nextLevel = (0, _playerStore.getNextContent)(state);
127
-
128
99
  if (_nextLevel) {
129
100
  successCta = {
130
101
  title: translate('Next level'),
@@ -134,7 +105,6 @@ const summaryHeader = ({
134
105
  }
135
106
  }
136
107
  }
137
-
138
108
  return (0, _cond2.default)([[(0, _pipe2.default)((0, _get2.default)('type'), (0, _isEqual2.default)('success')), () => ({
139
109
  type: 'popinEnd',
140
110
  title: (0, _getOr2.default)('', 'name')((0, _playerStore.getCurrentContent)(state)),
@@ -156,21 +126,18 @@ const summaryHeader = ({
156
126
  type: 'popinEnd'
157
127
  })]]);
158
128
  };
159
-
160
129
  const extractRecommendation = ({
161
130
  translate
162
131
  }, {
163
132
  dispatch
164
133
  }) => state => {
165
134
  const _recommendations = (0, _playerStore.getRecommendations)(state);
166
-
167
135
  const hasRecommendations = (0, _isNull2.default)(_recommendations) || (0, _isArray2.default)(_recommendations);
168
-
169
136
  if (!hasRecommendations) {
170
137
  return null;
171
138
  }
172
-
173
- const recommendations = (0, _map2.default)(recommendation => _extends({}, recommendation, {
139
+ const recommendations = (0, _map2.default)(recommendation => ({
140
+ ...recommendation,
174
141
  onClick: () => dispatch((0, _playerStore.openRecommendation)(recommendation))
175
142
  }), _recommendations);
176
143
  return {
@@ -178,7 +145,6 @@ const extractRecommendation = ({
178
145
  cards: recommendations
179
146
  };
180
147
  };
181
-
182
148
  const extractAction = ({
183
149
  translate
184
150
  }, {
@@ -187,11 +153,12 @@ const extractAction = ({
187
153
  const nextContent = (0, _playerStore.getNextContent)(state);
188
154
  return (0, _cond2.default)([[(0, _pipe2.default)((0, _get2.default)('type'), (0, _isEqual2.default)('success')), () => {
189
155
  if ((0, _get2.default)('nextContentType', nextContent) === 'chapter') {
190
- return _extends({
156
+ return {
191
157
  type: 'nextCourse',
192
158
  description: translate('Check out the next chapter in this course!'),
193
- prefix: translate('Next chapter_')
194
- }, nextContent);
159
+ prefix: translate('Next chapter_'),
160
+ ...nextContent
161
+ };
195
162
  } else if (nextContent) {
196
163
  // then it is a level
197
164
  const {
@@ -212,11 +179,9 @@ const extractAction = ({
212
179
  }], [(0, _pipe2.default)((0, _get2.default)('type'), (0, _isEqual2.default)('failure')), () => {
213
180
  const currentContent = (0, _playerStore.getCurrentContent)(state);
214
181
  let title = (0, _getOr2.default)('', 'name', currentContent);
215
-
216
182
  if ((0, _playerStore.isCurrentEngineLearner)(state)) {
217
183
  title = `${(0, _getOr2.default)('', 'name', currentContent)} - ${(0, _getOr2.default)('', 'levelTranslation', currentContent)}`;
218
184
  }
219
-
220
185
  return {
221
186
  type: 'simple',
222
187
  prefix: (0, _playerStore.isCurrentEngineMicrolearning)(state) ? translate('Retry chapter_') : translate('Retry level_'),
@@ -228,9 +193,7 @@ const extractAction = ({
228
193
  };
229
194
  }], [(0, _constant2.default)(true), (0, _constant2.default)(null)]]);
230
195
  };
231
-
232
196
  const extractFeedback = (0, _pipe2.default)((0, _pick2.default)(['title', 'description', 'media', 'mediaDescription']), (0, _omit2.default)(['media.ref', 'media.subtitles', 'media.posters']));
233
-
234
197
  const popinEndStateToProps = (options, store) => {
235
198
  const headerProps_ = (0, _header.default)(options, store);
236
199
  const summaryHeader_ = summaryHeader(options, store);
@@ -267,7 +230,5 @@ const popinEndStateToProps = (options, store) => {
267
230
  return props;
268
231
  };
269
232
  };
270
-
271
- var _default = popinEndStateToProps;
272
- exports.default = _default;
233
+ var _default = exports.default = popinEndStateToProps;
273
234
  //# sourceMappingURL=popin-end.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popin-end.js","names":["extractRank","state","start","getStartRank","end","getEndRank","sign","diff","Math","abs","extractStars","progression","getCurrentProgression","stars","bestScore","getBestScore","comment","translate","dispatch","progressionId","getCurrentProgressionId","content","getCurrentContent","message","isSent","isCommentSent","confirmation","commentSectionTitle","confirmationLinkText","onClick","e","seeComment","edition","title","value","postDisabled","onChange","editComment","target","onPost","postComment","ctaForFail","redirection","href","retry","isCurrentEngineMicrolearning","summaryHeader","hide","count","getLives","lives","successCta","exit","getRedirectURLAfterEnd","isCurrentEngineLearner","level","_nextLevel","getNextContent","nextLevel","showNextLevel","type","subtitle","failed","rank","cta","extractRecommendation","_recommendations","getRecommendations","hasRecommendations","recommendations","recommendation","openRecommendation","cards","extractAction","nextContent","description","prefix","name","levelTranslation","button","currentContent","extractFeedback","popinEndStateToProps","options","store","headerProps_","headerProps","summaryHeader_","extractAction_","extractRecommendation_","comment_","exitNode","getCurrentExitNode","canPostAComment","footer","props","header","mode","popinError","mapStateToErrorPopinProps","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';\nimport mapStateToErrorPopinProps from './error-popin';\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 =\n ({translate}, {dispatch}) =>\n 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 =\n ({translate}, {dispatch}) =>\n 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 =\n ({translate}, {dispatch}) =>\n 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 =\n ({translate}, {dispatch}) =>\n 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 mode: options.mode || 'default',\n popinError: mapStateToErrorPopinProps(dispatch)(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,"file":"popin-end.js","names":["_playerStore","require","_header","_interopRequireDefault","_errorPopin","e","__esModule","default","extractRank","state","start","getStartRank","end","getEndRank","sign","diff","Math","abs","extractStars","progression","getCurrentProgression","stars","_get2","bestScore","getBestScore","comment","translate","dispatch","progressionId","getCurrentProgressionId","content","getCurrentContent","message","isSent","isCommentSent","confirmation","commentSectionTitle","confirmationLinkText","onClick","seeComment","edition","title","value","postDisabled","_isEmpty2","onChange","editComment","target","onPost","postComment","ctaForFail","redirection","href","retry","isCurrentEngineMicrolearning","summaryHeader","hide","count","getLives","lives","successCta","exit","getRedirectURLAfterEnd","isCurrentEngineLearner","level","_nextLevel","getNextContent","nextLevel","showNextLevel","_cond2","_pipe2","_isEqual2","type","_getOr2","subtitle","failed","rank","cta","_constant2","extractRecommendation","_recommendations","getRecommendations","hasRecommendations","_isNull2","_isArray2","recommendations","_map2","recommendation","openRecommendation","cards","extractAction","nextContent","description","prefix","name","levelTranslation","button","currentContent","extractFeedback","_pick2","_omit2","popinEndStateToProps","options","store","headerProps_","headerProps","summaryHeader_","extractAction_","extractRecommendation_","comment_","exitNode","getCurrentExitNode","canPostAComment","footer","props","header","mode","popinError","mapStateToErrorPopinProps","summary","action","feedback","_default","exports"],"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';\nimport mapStateToErrorPopinProps from './error-popin';\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 =\n ({translate}, {dispatch}) =>\n 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 =\n ({translate}, {dispatch}) =>\n 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 =\n ({translate}, {dispatch}) =>\n 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 =\n ({translate}, {dispatch}) =>\n 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 mode: options.mode || 'default',\n popinError: mapStateToErrorPopinProps(dispatch)(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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","ignoreList":[]}
@@ -2,33 +2,22 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
-
6
5
  var _omit2 = _interopRequireDefault(require("lodash/fp/omit"));
7
-
8
6
  var _some2 = _interopRequireDefault(require("lodash/fp/some"));
9
-
10
7
  var _set2 = _interopRequireDefault(require("lodash/fp/set"));
11
-
12
8
  var _pipe2 = _interopRequireDefault(require("lodash/fp/pipe"));
13
-
14
9
  var _map2 = _interopRequireDefault(require("lodash/fp/map"));
15
-
16
10
  var _isEmpty2 = _interopRequireDefault(require("lodash/fp/isEmpty"));
17
-
18
11
  var _getOr2 = _interopRequireDefault(require("lodash/fp/getOr"));
19
-
20
12
  var _playerStore = require("@coorpacademy/player-store");
21
-
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
-
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
26
14
  const getResourcesProps = (options, store) => (state, slide) => {
27
15
  const {
28
16
  dispatch
29
17
  } = store;
30
18
  const resourceToPlay = (0, _playerStore.getResourceToPlay)(state);
31
- const lessons = (0, _pipe2.default)((0, _getOr2.default)([], 'lessons'), (0, _map2.default)(lesson => _extends({}, (0, _omit2.default)(['id', 'ref'], lesson), {
19
+ const lessons = (0, _pipe2.default)((0, _getOr2.default)([], 'lessons'), (0, _map2.default)(lesson => ({
20
+ ...(0, _omit2.default)(['id', 'ref'], lesson),
32
21
  onClick: () => dispatch((0, _playerStore.selectResource)(lesson._id)),
33
22
  onPlay: () => dispatch((0, _playerStore.play)()),
34
23
  onResume: () => dispatch((0, _playerStore.resume)(lesson)),
@@ -36,17 +25,14 @@ const getResourcesProps = (options, store) => (state, slide) => {
36
25
  onEnded: () => dispatch((0, _playerStore.ended)(lesson)),
37
26
  selected: lesson._id === resourceToPlay
38
27
  })))(slide);
39
-
40
28
  if ((0, _isEmpty2.default)(lessons) || (0, _some2.default)({
41
29
  selected: true
42
30
  }, lessons)) {
43
31
  return lessons;
44
- } // If there are lessons but none are selected, force select the first one
45
-
32
+ }
46
33
 
34
+ // If there are lessons but none are selected, force select the first one
47
35
  return (0, _set2.default)([0, 'selected'], true, lessons);
48
36
  };
49
-
50
- var _default = getResourcesProps;
51
- exports.default = _default;
37
+ var _default = exports.default = getResourcesProps;
52
38
  //# sourceMappingURL=resources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","names":["getResourcesProps","options","store","state","slide","dispatch","resourceToPlay","getResourceToPlay","lessons","lesson","onClick","selectResource","_id","onPlay","play","onResume","resume","onPause","pause","onEnded","ended","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;;;;;;AASA,MAAMA,iBAAiB,GAAG,CAACC,OAAD,EAAUC,KAAV,KAAoB,CAACC,KAAD,EAAQC,KAAR,KAAkB;EAC9D,MAAM;IAACC;EAAD,IAAaH,KAAnB;EACA,MAAMI,cAAc,GAAG,IAAAC,8BAAA,EAAkBJ,KAAlB,CAAvB;EAEA,MAAMK,OAAO,GAAG,oBACd,qBAAM,EAAN,EAAU,SAAV,CADc,EAEd,mBAAIC,MAAM,iBACL,oBAAK,CAAC,IAAD,EAAO,KAAP,CAAL,EAAoBA,MAApB,CADK;IAERC,OAAO,EAAE,MAAML,QAAQ,CAAC,IAAAM,2BAAA,EAAeF,MAAM,CAACG,GAAtB,CAAD,CAFf;IAGRC,MAAM,EAAE,MAAMR,QAAQ,CAAC,IAAAS,iBAAA,GAAD,CAHd;IAIRC,QAAQ,EAAE,MAAMV,QAAQ,CAAC,IAAAW,mBAAA,EAAOP,MAAP,CAAD,CAJhB;IAKRQ,OAAO,EAAE,MAAMZ,QAAQ,CAAC,IAAAa,kBAAA,EAAMT,MAAN,CAAD,CALf;IAMRU,OAAO,EAAE,MAAMd,QAAQ,CAAC,IAAAe,kBAAA,EAAMX,MAAN,CAAD,CANf;IAORY,QAAQ,EAAEZ,MAAM,CAACG,GAAP,KAAeN;EAPjB,EAAV,CAFc,EAWdF,KAXc,CAAhB;;EAaA,IAAI,uBAAQI,OAAR,KAAoB,oBAAK;IAACa,QAAQ,EAAE;EAAX,CAAL,EAAuBb,OAAvB,CAAxB,EAAyD;IACvD,OAAOA,OAAP;EACD,CAnB6D,CAqB9D;;;EACA,OAAO,mBAAI,CAAC,CAAD,EAAI,UAAJ,CAAJ,EAAqB,IAArB,EAA2BA,OAA3B,CAAP;AACD,CAvBD;;eAyBeR,iB"}
1
+ {"version":3,"file":"resources.js","names":["_playerStore","require","_interopRequireDefault","e","__esModule","default","getResourcesProps","options","store","state","slide","dispatch","resourceToPlay","getResourceToPlay","lessons","_pipe2","_getOr2","_map2","lesson","_omit2","onClick","selectResource","_id","onPlay","play","onResume","resume","onPause","pause","onEnded","ended","selected","_isEmpty2","_some2","_set2","_default","exports"],"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,IAAAA,YAAA,GAAAC,OAAA;AAOoC,SAAAC,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEpC,MAAMG,iBAAiB,GAAGA,CAACC,OAAO,EAAEC,KAAK,KAAK,CAACC,KAAK,EAAEC,KAAK,KAAK;EAC9D,MAAM;IAACC;EAAQ,CAAC,GAAGH,KAAK;EACxB,MAAMI,cAAc,GAAG,IAAAC,8BAAiB,EAACJ,KAAK,CAAC;EAE/C,MAAMK,OAAO,GAAG,IAAAC,MAAA,CAAAV,OAAA,EACd,IAAAW,OAAA,CAAAX,OAAA,EAAM,EAAE,EAAE,SAAS,CAAC,EACpB,IAAAY,KAAA,CAAAZ,OAAA,EAAIa,MAAM,KAAK;IACb,GAAG,IAAAC,MAAA,CAAAd,OAAA,EAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAEa,MAAM,CAAC;IAC9BE,OAAO,EAAEA,CAAA,KAAMT,QAAQ,CAAC,IAAAU,2BAAc,EAACH,MAAM,CAACI,GAAG,CAAC,CAAC;IACnDC,MAAM,EAAEA,CAAA,KAAMZ,QAAQ,CAAC,IAAAa,iBAAI,EAAC,CAAC,CAAC;IAC9BC,QAAQ,EAAEA,CAAA,KAAMd,QAAQ,CAAC,IAAAe,mBAAM,EAACR,MAAM,CAAC,CAAC;IACxCS,OAAO,EAAEA,CAAA,KAAMhB,QAAQ,CAAC,IAAAiB,kBAAK,EAACV,MAAM,CAAC,CAAC;IACtCW,OAAO,EAAEA,CAAA,KAAMlB,QAAQ,CAAC,IAAAmB,kBAAK,EAACZ,MAAM,CAAC,CAAC;IACtCa,QAAQ,EAAEb,MAAM,CAACI,GAAG,KAAKV;EAC3B,CAAC,CAAC,CACJ,CAAC,CAACF,KAAK,CAAC;EAER,IAAI,IAAAsB,SAAA,CAAA3B,OAAA,EAAQS,OAAO,CAAC,IAAI,IAAAmB,MAAA,CAAA5B,OAAA,EAAK;IAAC0B,QAAQ,EAAE;EAAI,CAAC,EAAEjB,OAAO,CAAC,EAAE;IACvD,OAAOA,OAAO;EAChB;;EAEA;EACA,OAAO,IAAAoB,KAAA,CAAA7B,OAAA,EAAI,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,EAAES,OAAO,CAAC;AAC5C,CAAC;AAAC,IAAAqB,QAAA,GAAAC,OAAA,CAAA/B,OAAA,GAEaC,iBAAiB","ignoreList":[]}
@@ -2,26 +2,17 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
-
6
5
  var _pipe2 = _interopRequireDefault(require("lodash/fp/pipe"));
7
-
8
6
  var _mapValues2 = _interopRequireDefault(require("lodash/fp/mapValues"));
9
-
10
7
  var _2 = _interopRequireDefault(require("lodash/fp/__"));
11
-
12
8
  var _player = _interopRequireDefault(require("./player"));
13
-
14
9
  var _errorPopin = _interopRequireDefault(require("./error-popin"));
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
11
  const playerProps = (options, dispatch) => {
19
12
  return (0, _pipe2.default)(state => mapStateToProps => mapStateToProps(state), (0, _mapValues2.default)(_2.default, {
20
13
  player: (0, _player.default)(options, dispatch),
21
14
  popin: (0, _errorPopin.default)(dispatch)
22
15
  }));
23
16
  };
24
-
25
- var _default = playerProps;
26
- exports.default = _default;
17
+ var _default = exports.default = playerProps;
27
18
  //# sourceMappingURL=slide.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slide.js","names":["playerProps","options","dispatch","state","mapStateToProps","player","createPlayerStateToProps","popin","mapStateToErrorPopinProps"],"sources":["../../src/map-state-to-props/slide.js"],"sourcesContent":["import {__, mapValues, pipe} from 'lodash/fp';\n\nimport createPlayerStateToProps from './player';\nimport mapStateToErrorPopinProps from './error-popin';\n\nconst playerProps = (options, dispatch) => {\n return pipe(\n state => mapStateToProps => mapStateToProps(state),\n mapValues(__, {\n player: createPlayerStateToProps(options, dispatch),\n popin: mapStateToErrorPopinProps(dispatch)\n })\n );\n};\n\nexport default playerProps;\n"],"mappings":";;;;;;;;;;;AAEA;;AACA;;;;AAEA,MAAMA,WAAW,GAAG,CAACC,OAAD,EAAUC,QAAV,KAAuB;EACzC,OAAO,oBACLC,KAAK,IAAIC,eAAe,IAAIA,eAAe,CAACD,KAAD,CADtC,EAEL,qCAAc;IACZE,MAAM,EAAE,IAAAC,eAAA,EAAyBL,OAAzB,EAAkCC,QAAlC,CADI;IAEZK,KAAK,EAAE,IAAAC,mBAAA,EAA0BN,QAA1B;EAFK,CAAd,CAFK,CAAP;AAOD,CARD;;eAUeF,W"}
1
+ {"version":3,"file":"slide.js","names":["_player","_interopRequireDefault","require","_errorPopin","e","__esModule","default","playerProps","options","dispatch","_pipe2","state","mapStateToProps","_mapValues2","_2","player","createPlayerStateToProps","popin","mapStateToErrorPopinProps","_default","exports"],"sources":["../../src/map-state-to-props/slide.js"],"sourcesContent":["import {__, mapValues, pipe} from 'lodash/fp';\n\nimport createPlayerStateToProps from './player';\nimport mapStateToErrorPopinProps from './error-popin';\n\nconst playerProps = (options, dispatch) => {\n return pipe(\n state => mapStateToProps => mapStateToProps(state),\n mapValues(__, {\n player: createPlayerStateToProps(options, dispatch),\n popin: mapStateToErrorPopinProps(dispatch)\n })\n );\n};\n\nexport default playerProps;\n"],"mappings":";;;;;;;AAEA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAsD,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEtD,MAAMG,WAAW,GAAGA,CAACC,OAAO,EAAEC,QAAQ,KAAK;EACzC,OAAO,IAAAC,MAAA,CAAAJ,OAAA,EACLK,KAAK,IAAIC,eAAe,IAAIA,eAAe,CAACD,KAAK,CAAC,EAClD,IAAAE,WAAA,CAAAP,OAAA,EAAAQ,EAAA,CAAAR,OAAA,EAAc;IACZS,MAAM,EAAE,IAAAC,eAAwB,EAACR,OAAO,EAAEC,QAAQ,CAAC;IACnDQ,KAAK,EAAE,IAAAC,mBAAyB,EAACT,QAAQ;EAC3C,CAAC,CACH,CAAC;AACH,CAAC;AAAC,IAAAU,QAAA,GAAAC,OAAA,CAAAd,OAAA,GAEaC,WAAW","ignoreList":[]}
@@ -1,39 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  var _pick2 = _interopRequireDefault(require("lodash/fp/pick"));
4
-
5
4
  var _map2 = _interopRequireDefault(require("lodash/fp/map"));
6
-
7
5
  var _pipe2 = _interopRequireDefault(require("lodash/fp/pipe"));
8
-
9
6
  var _sortBy2 = _interopRequireDefault(require("lodash/fp/sortBy"));
10
-
11
7
  var _identity2 = _interopRequireDefault(require("lodash/fp/identity"));
12
-
13
8
  var _isFunction2 = _interopRequireDefault(require("lodash/fp/isFunction"));
14
-
15
9
  var _omit2 = _interopRequireDefault(require("lodash/fp/omit"));
16
-
17
10
  var _ava = _interopRequireDefault(require("ava"));
18
-
19
11
  var _translate = require("@coorpacademy/translate");
20
-
21
12
  var _answer = require("../answer");
22
-
23
13
  var _basic = _interopRequireDefault(require("./fixtures/slides/basic"));
24
-
25
14
  var _qcm = _interopRequireDefault(require("./fixtures/slides/qcm"));
26
-
27
15
  var _qcmDrag = _interopRequireDefault(require("./fixtures/slides/qcm-drag"));
28
-
29
16
  var _qcmGraphic = _interopRequireDefault(require("./fixtures/slides/qcm-graphic"));
30
-
31
17
  var _template = _interopRequireDefault(require("./fixtures/slides/template"));
32
-
33
18
  var _slider = _interopRequireDefault(require("./fixtures/slides/slider"));
34
-
35
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
-
19
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
37
20
  const options = {
38
21
  translate: _translate.mockTranslate
39
22
  };
@@ -51,15 +34,12 @@ const getHelp = (0, _answer.createGetHelp)(options, store);
51
34
  }
52
35
  }
53
36
  };
54
-
55
37
  const _getAnswerProps = (0, _answer.createGetAnswerProps)(options, {
56
38
  dispatch: thunk => {
57
39
  t.true((0, _isFunction2.default)(thunk));
58
40
  }
59
41
  });
60
-
61
42
  const props = _getAnswerProps(state, _qcm.default);
62
-
63
43
  t.is(props.type, 'qcm');
64
44
  t.true(props.answers.every(answer => answer.selected === false));
65
45
  props.answers[0].onClick();
@@ -104,15 +84,12 @@ const getHelp = (0, _answer.createGetHelp)(options, store);
104
84
  }
105
85
  }
106
86
  };
107
-
108
87
  const _getAnswerProps = (0, _answer.createGetAnswerProps)(options, {
109
88
  dispatch: thunk => {
110
89
  t.true((0, _isFunction2.default)(thunk));
111
90
  }
112
91
  });
113
-
114
92
  const props = _getAnswerProps(state, _template.default);
115
-
116
93
  t.is(props.type, 'template');
117
94
  t.is(props.template, 'The answer is {{inp81438}} {{sel31191}}');
118
95
  t.true(Array.isArray(props.answers));
@@ -149,15 +126,12 @@ const getHelp = (0, _answer.createGetHelp)(options, store);
149
126
  }
150
127
  }
151
128
  };
152
-
153
129
  const _getAnswerProps = (0, _answer.createGetAnswerProps)(options, {
154
130
  dispatch: thunk => {
155
131
  t.true((0, _isFunction2.default)(thunk));
156
132
  }
157
133
  });
158
-
159
134
  const props = _getAnswerProps(state, _template.default);
160
-
161
135
  const selectOptions = props.answers[1].options;
162
136
  t.is(selectOptions.length, 3);
163
137
  t.is(selectOptions[0].name, '__Select an answer');
@@ -221,15 +195,12 @@ const getHelp = (0, _answer.createGetHelp)(options, store);
221
195
  }
222
196
  }
223
197
  };
224
-
225
198
  const _getAnswerProps = (0, _answer.createGetAnswerProps)(options, {
226
199
  dispatch: thunk => {
227
200
  t.true((0, _isFunction2.default)(thunk));
228
201
  }
229
202
  });
230
-
231
203
  const props = _getAnswerProps(state, _qcmGraphic.default);
232
-
233
204
  t.is(props.type, 'qcmGraphic');
234
205
  t.is(props.answers.length, 2);
235
206
  const answers = (0, _pipe2.default)((0, _map2.default)((0, _pick2.default)(['title', 'selected'])), (0, _sortBy2.default)('title'))(props.answers);
@@ -279,15 +250,12 @@ const getHelp = (0, _answer.createGetHelp)(options, store);
279
250
  }
280
251
  }
281
252
  };
282
-
283
253
  const _getAnswerProps = (0, _answer.createGetAnswerProps)(options, {
284
254
  dispatch: thunk => {
285
255
  t.true((0, _isFunction2.default)(thunk));
286
256
  }
287
257
  });
288
-
289
258
  const props = _getAnswerProps(state, _qcmDrag.default);
290
-
291
259
  t.is(props.type, 'qcmDrag');
292
260
  t.is(props.answers.length, 3);
293
261
  t.is(props.answers[0].title, "L'ordinateur");
@@ -313,11 +281,9 @@ const getHelp = (0, _answer.createGetHelp)(options, store);
313
281
  }
314
282
  }
315
283
  };
316
-
317
284
  const dispatch = action => {
318
285
  t.pass();
319
286
  };
320
-
321
287
  const props = (0, _answer.createGetAnswerProps)(options, {
322
288
  dispatch
323
289
  })(state, _slider.default);
@@ -340,11 +306,9 @@ const getHelp = (0, _answer.createGetHelp)(options, store);
340
306
  }
341
307
  }
342
308
  };
343
-
344
309
  const dispatch = action => {
345
310
  t.pass();
346
311
  };
347
-
348
312
  const props = (0, _answer.createGetAnswerProps)(options, {
349
313
  dispatch
350
314
  })(state, (0, _omit2.default)('question.content.step', _slider.default));