@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.
- package/es/index.js +1 -8
- package/es/index.js.map +1 -1
- package/es/map-state-to-props/answer.js +0 -35
- package/es/map-state-to-props/answer.js.map +1 -1
- package/es/map-state-to-props/error-popin.js +0 -4
- package/es/map-state-to-props/error-popin.js.map +1 -1
- package/es/map-state-to-props/header.js +3 -14
- package/es/map-state-to-props/header.js.map +1 -1
- package/es/map-state-to-props/index.js +0 -6
- package/es/map-state-to-props/index.js.map +1 -1
- package/es/map-state-to-props/loading.js +0 -1
- package/es/map-state-to-props/loading.js.map +1 -1
- package/es/map-state-to-props/player.js +0 -13
- package/es/map-state-to-props/player.js.map +1 -1
- package/es/map-state-to-props/popin-correction.js +0 -25
- package/es/map-state-to-props/popin-correction.js.map +1 -1
- package/es/map-state-to-props/popin-end.js +6 -35
- package/es/map-state-to-props/popin-end.js.map +1 -1
- package/es/map-state-to-props/resources.js +4 -10
- package/es/map-state-to-props/resources.js.map +1 -1
- package/es/map-state-to-props/slide.js +0 -2
- package/es/map-state-to-props/slide.js.map +1 -1
- package/es/map-state-to-props/test/answer.js +0 -21
- package/es/map-state-to-props/test/answer.js.map +1 -1
- package/es/map-state-to-props/test/header.js +0 -2
- package/es/map-state-to-props/test/header.js.map +1 -1
- package/es/map-state-to-props/test/index.js +22 -29
- package/es/map-state-to-props/test/index.js.map +1 -1
- package/es/map-state-to-props/test/player.js +6 -19
- package/es/map-state-to-props/test/player.js.map +1 -1
- package/es/map-state-to-props/test/popin-correction.create-header-cta.js +0 -15
- package/es/map-state-to-props/test/popin-correction.create-header-cta.js.map +1 -1
- package/es/map-state-to-props/test/popin-correction.js +0 -8
- package/es/map-state-to-props/test/popin-correction.js.map +1 -1
- package/es/map-state-to-props/test/popin-end.js +0 -13
- package/es/map-state-to-props/test/popin-end.js.map +1 -1
- package/es/map-state-to-props/test/popin-error.js.map +1 -1
- package/es/map-state-to-props/test/resources.js +0 -2
- package/es/map-state-to-props/test/resources.js.map +1 -1
- package/es/run-app.js +0 -2
- package/es/run-app.js.map +1 -1
- package/es/store.js +0 -4
- package/es/store.js.map +1 -1
- package/es/test/add-timeout.js.map +1 -1
- package/es/test/helpers/css-register.js.map +1 -1
- package/es/test/helpers/macro.js +0 -1
- package/es/test/helpers/macro.js.map +1 -1
- package/es/test/index.js.map +1 -1
- package/es/test/init-reducers.js.map +1 -1
- package/es/test/locales.js.map +1 -1
- package/es/test/run-app.js.map +1 -1
- package/es/test/store.js.map +1 -1
- package/es/views/index.js.map +1 -1
- package/es/views/test/helpers/render.js +0 -2
- package/es/views/test/helpers/render.js.map +1 -1
- package/es/views/test/helpers/state-to-vnode.js +0 -2
- package/es/views/test/helpers/state-to-vnode.js.map +1 -1
- package/es/views/test/loading.js.map +1 -1
- package/es/views/test/popin-correction.js +0 -6
- package/es/views/test/popin-correction.js.map +1 -1
- package/es/views/test/popin-end.js.map +1 -1
- package/es/views/test/router.js.map +1 -1
- package/es/views/test/slide.js +0 -1
- package/es/views/test/slide.js.map +1 -1
- package/lib/index.js +2 -18
- package/lib/index.js.map +1 -1
- package/lib/map-state-to-props/answer.js +1 -47
- package/lib/map-state-to-props/answer.js.map +1 -1
- package/lib/map-state-to-props/error-popin.js +2 -10
- package/lib/map-state-to-props/error-popin.js.map +1 -1
- package/lib/map-state-to-props/header.js +5 -19
- package/lib/map-state-to-props/header.js.map +1 -1
- package/lib/map-state-to-props/index.js +1 -19
- package/lib/map-state-to-props/index.js.map +1 -1
- package/lib/map-state-to-props/loading.js +1 -4
- package/lib/map-state-to-props/loading.js.map +1 -1
- package/lib/map-state-to-props/player.js +2 -22
- package/lib/map-state-to-props/player.js.map +1 -1
- package/lib/map-state-to-props/popin-correction.js +1 -32
- package/lib/map-state-to-props/popin-correction.js.map +1 -1
- package/lib/map-state-to-props/popin-end.js +8 -47
- package/lib/map-state-to-props/popin-end.js.map +1 -1
- package/lib/map-state-to-props/resources.js +6 -20
- package/lib/map-state-to-props/resources.js.map +1 -1
- package/lib/map-state-to-props/slide.js +2 -11
- package/lib/map-state-to-props/slide.js.map +1 -1
- package/lib/map-state-to-props/test/answer.js +1 -37
- package/lib/map-state-to-props/test/answer.js.map +1 -1
- package/lib/map-state-to-props/test/header.js +1 -12
- package/lib/map-state-to-props/test/header.js.map +1 -1
- package/lib/map-state-to-props/test/index.js +23 -20
- package/lib/map-state-to-props/test/index.js.map +1 -1
- package/lib/map-state-to-props/test/player.js +12 -52
- package/lib/map-state-to-props/test/player.js.map +1 -1
- package/lib/map-state-to-props/test/popin-correction.create-header-cta.js +1 -27
- package/lib/map-state-to-props/test/popin-correction.create-header-cta.js.map +1 -1
- package/lib/map-state-to-props/test/popin-correction.js +1 -11
- package/lib/map-state-to-props/test/popin-correction.js.map +1 -1
- package/lib/map-state-to-props/test/popin-end.js +1 -26
- package/lib/map-state-to-props/test/popin-end.js.map +1 -1
- package/lib/map-state-to-props/test/popin-error.js +1 -6
- package/lib/map-state-to-props/test/popin-error.js.map +1 -1
- package/lib/map-state-to-props/test/resources.js +1 -11
- package/lib/map-state-to-props/test/resources.js.map +1 -1
- package/lib/run-app.js +1 -5
- package/lib/run-app.js.map +1 -1
- package/lib/store.js +1 -11
- package/lib/store.js.map +1 -1
- package/lib/test/add-timeout.js +1 -4
- package/lib/test/add-timeout.js.map +1 -1
- package/lib/test/helpers/css-register.js +1 -3
- package/lib/test/helpers/css-register.js.map +1 -1
- package/lib/test/helpers/macro.js +1 -4
- package/lib/test/helpers/macro.js.map +1 -1
- package/lib/test/index.js +3 -12
- package/lib/test/index.js.map +1 -1
- package/lib/test/init-reducers.js +1 -5
- package/lib/test/init-reducers.js.map +1 -1
- package/lib/test/locales.js +1 -8
- package/lib/test/locales.js.map +1 -1
- package/lib/test/run-app.js +1 -5
- package/lib/test/run-app.js.map +1 -1
- package/lib/test/store.js +1 -5
- package/lib/test/store.js.map +1 -1
- package/lib/views/index.js +2 -9
- package/lib/views/index.js.map +1 -1
- package/lib/views/test/helpers/render.js +2 -10
- package/lib/views/test/helpers/render.js.map +1 -1
- package/lib/views/test/helpers/state-to-vnode.js +1 -6
- package/lib/views/test/helpers/state-to-vnode.js.map +1 -1
- package/lib/views/test/loading.js +1 -5
- package/lib/views/test/loading.js.map +1 -1
- package/lib/views/test/popin-correction.js +1 -18
- package/lib/views/test/popin-correction.js.map +1 -1
- package/lib/views/test/popin-end.js +1 -10
- package/lib/views/test/popin-end.js.map +1 -1
- package/lib/views/test/router.js +1 -8
- package/lib/views/test/router.js.map +1 -1
- package/lib/views/test/slide.js +3 -23
- package/lib/views/test/slide.js.map +1 -1
- 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
|
-
|
|
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
|
|
156
|
+
return {
|
|
191
157
|
type: 'nextCourse',
|
|
192
158
|
description: translate('Check out the next chapter in this course!'),
|
|
193
|
-
prefix: translate('Next chapter_')
|
|
194
|
-
|
|
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 =>
|
|
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
|
-
}
|
|
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":"
|
|
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":"
|
|
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));
|