@coorpacademy/player-web 4.29.18 → 4.29.20
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 +3 -0
- package/es/index.js.map +1 -1
- package/es/map-state-to-props/header.js +23 -3
- package/es/map-state-to-props/header.js.map +1 -1
- package/es/map-state-to-props/slide.js +149 -7
- package/es/map-state-to-props/slide.js.map +1 -1
- package/es/map-state-to-props/test/header.js +160 -1
- package/es/map-state-to-props/test/header.js.map +1 -1
- package/es/map-state-to-props/test/popin-error.js +12 -8
- package/es/map-state-to-props/test/popin-error.js.map +1 -1
- package/es/map-state-to-props/test/slide.js +224 -0
- package/es/map-state-to-props/test/slide.js.map +1 -0
- package/es/map-state-to-props/test/tourguide-sync.js +243 -0
- package/es/map-state-to-props/test/tourguide-sync.js.map +1 -0
- package/es/store.js +3 -2
- package/es/store.js.map +1 -1
- package/es/test/init-reducers.js +10 -1
- package/es/test/init-reducers.js.map +1 -1
- package/es/test/store.js +3 -5
- package/es/test/store.js.map +1 -1
- package/es/tourguide-sync.js +24 -0
- package/es/tourguide-sync.js.map +1 -0
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/map-state-to-props/header.js +22 -2
- package/lib/map-state-to-props/header.js.map +1 -1
- package/lib/map-state-to-props/slide.js +149 -7
- package/lib/map-state-to-props/slide.js.map +1 -1
- package/lib/map-state-to-props/test/header.js +160 -1
- package/lib/map-state-to-props/test/header.js.map +1 -1
- package/lib/map-state-to-props/test/popin-error.js +12 -8
- package/lib/map-state-to-props/test/popin-error.js.map +1 -1
- package/lib/map-state-to-props/test/slide.js +227 -0
- package/lib/map-state-to-props/test/slide.js.map +1 -0
- package/lib/map-state-to-props/test/tourguide-sync.js +246 -0
- package/lib/map-state-to-props/test/tourguide-sync.js.map +1 -0
- package/lib/store.js +3 -2
- package/lib/store.js.map +1 -1
- package/lib/test/init-reducers.js +10 -1
- package/lib/test/init-reducers.js.map +1 -1
- package/lib/test/store.js +3 -5
- package/lib/test/store.js.map +1 -1
- package/lib/tourguide-sync.js +29 -0
- package/lib/tourguide-sync.js.map +1 -0
- package/locales/bs/player.json +19 -1
- package/locales/cs/player.json +19 -1
- package/locales/de/player.json +19 -1
- package/locales/en/player.json +19 -1
- package/locales/es/player.json +19 -1
- package/locales/et/player.json +19 -1
- package/locales/fi/player.json +19 -1
- package/locales/fr/player.json +19 -1
- package/locales/hr/player.json +19 -1
- package/locales/hu/player.json +19 -1
- package/locales/hy/player.json +19 -1
- package/locales/it/player.json +19 -1
- package/locales/ja/player.json +19 -1
- package/locales/ko/player.json +19 -1
- package/locales/lt/player.json +19 -1
- package/locales/nl/player.json +19 -1
- package/locales/pl/player.json +19 -1
- package/locales/pt/player.json +19 -1
- package/locales/ro/player.json +19 -1
- package/locales/ru/player.json +19 -1
- package/locales/sk/player.json +19 -1
- package/locales/sl/player.json +19 -1
- package/locales/sv/player.json +19 -1
- package/locales/tl/player.json +19 -1
- package/locales/tr/player.json +19 -1
- package/locales/uk/player.json +19 -1
- package/locales/vi/player.json +19 -1
- package/locales/zh/player.json +19 -1
- package/locales/zh_TW/player.json +19 -1
- package/package.json +4 -4
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _ava = _interopRequireDefault(require("ava"));
|
|
4
|
+
var _translate = require("@coorpacademy/translate");
|
|
5
|
+
var _playerStore = require("@coorpacademy/player-store");
|
|
6
|
+
var _slide = _interopRequireDefault(require("../slide"));
|
|
7
|
+
var _basic = _interopRequireDefault(require("./fixtures/slides/basic"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
(0, _ava.default)('tourguide callbacks dispatch step change and hide', t => {
|
|
10
|
+
const actions = [];
|
|
11
|
+
const dispatch = action => {
|
|
12
|
+
actions.push(action);
|
|
13
|
+
return action;
|
|
14
|
+
};
|
|
15
|
+
const options = {
|
|
16
|
+
translate: _translate.mockTranslate
|
|
17
|
+
};
|
|
18
|
+
const state = {
|
|
19
|
+
data: {
|
|
20
|
+
contents: {
|
|
21
|
+
chapter: {
|
|
22
|
+
entities: {
|
|
23
|
+
'1.B2': {
|
|
24
|
+
_id: '1.B2',
|
|
25
|
+
isConditional: false
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
slide: {
|
|
30
|
+
entities: {
|
|
31
|
+
[_basic.default._id]: {
|
|
32
|
+
..._basic.default,
|
|
33
|
+
chapter_id: '1.B2'
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
progressions: {
|
|
39
|
+
entities: {
|
|
40
|
+
basic: {
|
|
41
|
+
engine: {
|
|
42
|
+
ref: 'microlearning',
|
|
43
|
+
version: '1'
|
|
44
|
+
},
|
|
45
|
+
content: {
|
|
46
|
+
ref: '1.B2',
|
|
47
|
+
type: 'chapter'
|
|
48
|
+
},
|
|
49
|
+
state: {
|
|
50
|
+
nextContent: {
|
|
51
|
+
ref: _basic.default._id,
|
|
52
|
+
type: 'slide'
|
|
53
|
+
},
|
|
54
|
+
step: {
|
|
55
|
+
current: 1
|
|
56
|
+
},
|
|
57
|
+
lives: 1,
|
|
58
|
+
livesDisabled: false,
|
|
59
|
+
viewedResources: []
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
ui: {
|
|
66
|
+
current: {
|
|
67
|
+
progressionId: 'basic'
|
|
68
|
+
},
|
|
69
|
+
route: {
|
|
70
|
+
basic: 'answer'
|
|
71
|
+
},
|
|
72
|
+
tourguide: {
|
|
73
|
+
visible: true,
|
|
74
|
+
step: 1
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
const props = (0, _slide.default)(options, {
|
|
79
|
+
dispatch
|
|
80
|
+
})(state);
|
|
81
|
+
t.truthy(props.tourguide);
|
|
82
|
+
props.tourguide.onStart();
|
|
83
|
+
props.tourguide.onStepChange(2);
|
|
84
|
+
props.tourguide.onFinish();
|
|
85
|
+
props.tourguide.onExit();
|
|
86
|
+
t.is(actions.length, 6);
|
|
87
|
+
t.is(actions[0].type, 'ui/tourguide/track-started');
|
|
88
|
+
t.deepEqual(actions[0].payload, {
|
|
89
|
+
group: 'app-player-question-tour-guide',
|
|
90
|
+
stepRef: 'slide',
|
|
91
|
+
stepNumber: 2,
|
|
92
|
+
totalSteps: 4
|
|
93
|
+
});
|
|
94
|
+
t.is(actions[1].type, 'ui/tourguide/track-step-viewed');
|
|
95
|
+
t.deepEqual(actions[1].payload, {
|
|
96
|
+
group: 'app-player-question-tour-guide',
|
|
97
|
+
stepRef: 'media',
|
|
98
|
+
stepNumber: 3,
|
|
99
|
+
totalSteps: 4
|
|
100
|
+
});
|
|
101
|
+
t.is(actions[2].type, _playerStore.SET_TOURGUIDE_STEP);
|
|
102
|
+
t.deepEqual(actions[2].payload, {
|
|
103
|
+
step: 2
|
|
104
|
+
});
|
|
105
|
+
t.is(actions[3].type, 'ui/tourguide/track-completed');
|
|
106
|
+
t.deepEqual(actions[3].payload, {
|
|
107
|
+
group: 'app-player-question-tour-guide',
|
|
108
|
+
stepRef: 'slide',
|
|
109
|
+
stepNumber: 2,
|
|
110
|
+
totalSteps: 4
|
|
111
|
+
});
|
|
112
|
+
t.is(actions[4].type, 'ui/tourguide/track-dismissed');
|
|
113
|
+
t.deepEqual(actions[4].payload, {
|
|
114
|
+
group: 'app-player-question-tour-guide',
|
|
115
|
+
stepRef: 'slide',
|
|
116
|
+
stepNumber: 2,
|
|
117
|
+
totalSteps: 4
|
|
118
|
+
});
|
|
119
|
+
t.is(actions[5].type, _playerStore.HIDE_TOURGUIDE);
|
|
120
|
+
});
|
|
121
|
+
(0, _ava.default)('tourguide tracking uses null stepRef when index is out of bounds', t => {
|
|
122
|
+
const actions = [];
|
|
123
|
+
const dispatch = action => {
|
|
124
|
+
actions.push(action);
|
|
125
|
+
return action;
|
|
126
|
+
};
|
|
127
|
+
const options = {
|
|
128
|
+
translate: _translate.mockTranslate
|
|
129
|
+
};
|
|
130
|
+
const state = {
|
|
131
|
+
data: {
|
|
132
|
+
contents: {
|
|
133
|
+
chapter: {
|
|
134
|
+
entities: {
|
|
135
|
+
'1.B2': {
|
|
136
|
+
_id: '1.B2',
|
|
137
|
+
isConditional: false
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
slide: {
|
|
142
|
+
entities: {
|
|
143
|
+
[_basic.default._id]: {
|
|
144
|
+
..._basic.default,
|
|
145
|
+
chapter_id: '1.B2'
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
progressions: {
|
|
151
|
+
entities: {
|
|
152
|
+
basic: {
|
|
153
|
+
engine: {
|
|
154
|
+
ref: 'microlearning',
|
|
155
|
+
version: '1'
|
|
156
|
+
},
|
|
157
|
+
content: {
|
|
158
|
+
ref: '1.B2',
|
|
159
|
+
type: 'chapter'
|
|
160
|
+
},
|
|
161
|
+
state: {
|
|
162
|
+
nextContent: {
|
|
163
|
+
ref: _basic.default._id,
|
|
164
|
+
type: 'slide'
|
|
165
|
+
},
|
|
166
|
+
step: {
|
|
167
|
+
current: 1
|
|
168
|
+
},
|
|
169
|
+
lives: 1,
|
|
170
|
+
livesDisabled: false,
|
|
171
|
+
viewedResources: []
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
ui: {
|
|
178
|
+
current: {
|
|
179
|
+
progressionId: 'basic'
|
|
180
|
+
},
|
|
181
|
+
route: {
|
|
182
|
+
basic: 'answer'
|
|
183
|
+
},
|
|
184
|
+
tourguide: {
|
|
185
|
+
visible: true,
|
|
186
|
+
step: 99
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
const props = (0, _slide.default)(options, {
|
|
191
|
+
dispatch
|
|
192
|
+
})(state);
|
|
193
|
+
t.truthy(props.tourguide);
|
|
194
|
+
props.tourguide.onStart();
|
|
195
|
+
props.tourguide.onStepChange(99);
|
|
196
|
+
props.tourguide.onFinish();
|
|
197
|
+
props.tourguide.onExit();
|
|
198
|
+
t.is(actions[0].type, 'ui/tourguide/track-started');
|
|
199
|
+
t.deepEqual(actions[0].payload, {
|
|
200
|
+
group: 'app-player-question-tour-guide',
|
|
201
|
+
stepRef: null,
|
|
202
|
+
stepNumber: null,
|
|
203
|
+
totalSteps: 4
|
|
204
|
+
});
|
|
205
|
+
t.is(actions[1].type, 'ui/tourguide/track-step-viewed');
|
|
206
|
+
t.deepEqual(actions[1].payload, {
|
|
207
|
+
group: 'app-player-question-tour-guide',
|
|
208
|
+
stepRef: null,
|
|
209
|
+
stepNumber: null,
|
|
210
|
+
totalSteps: 4
|
|
211
|
+
});
|
|
212
|
+
t.is(actions[3].type, 'ui/tourguide/track-completed');
|
|
213
|
+
t.deepEqual(actions[3].payload, {
|
|
214
|
+
group: 'app-player-question-tour-guide',
|
|
215
|
+
stepRef: null,
|
|
216
|
+
stepNumber: null,
|
|
217
|
+
totalSteps: 4
|
|
218
|
+
});
|
|
219
|
+
t.is(actions[4].type, 'ui/tourguide/track-dismissed');
|
|
220
|
+
t.deepEqual(actions[4].payload, {
|
|
221
|
+
group: 'app-player-question-tour-guide',
|
|
222
|
+
stepRef: null,
|
|
223
|
+
stepNumber: null,
|
|
224
|
+
totalSteps: 4
|
|
225
|
+
});
|
|
226
|
+
});
|
|
227
|
+
//# sourceMappingURL=slide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slide.js","names":["_ava","_interopRequireDefault","require","_translate","_playerStore","_slide","_basic","e","__esModule","default","test","t","actions","dispatch","action","push","options","translate","mockTranslate","state","data","contents","chapter","entities","_id","isConditional","slide","basicSlide","chapter_id","progressions","basic","engine","ref","version","content","type","nextContent","step","current","lives","livesDisabled","viewedResources","ui","progressionId","route","tourguide","visible","props","createSlideStateToProps","truthy","onStart","onStepChange","onFinish","onExit","is","length","deepEqual","payload","group","stepRef","stepNumber","totalSteps","SET_TOURGUIDE_STEP","HIDE_TOURGUIDE"],"sources":["../../../src/map-state-to-props/test/slide.js"],"sourcesContent":["import test from 'ava';\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {HIDE_TOURGUIDE, SET_TOURGUIDE_STEP} from '@coorpacademy/player-store';\nimport createSlideStateToProps from '../slide';\nimport basicSlide from './fixtures/slides/basic';\n\ntest('tourguide callbacks dispatch step change and hide', t => {\n const actions = [];\n const dispatch = action => {\n actions.push(action);\n return action;\n };\n const options = {translate: mockTranslate};\n const state = {\n data: {\n contents: {\n chapter: {\n entities: {\n '1.B2': {_id: '1.B2', isConditional: false}\n }\n },\n slide: {\n entities: {\n [basicSlide._id]: {...basicSlide, chapter_id: '1.B2'}\n }\n }\n },\n progressions: {\n entities: {\n basic: {\n engine: {ref: 'microlearning', version: '1'},\n content: {ref: '1.B2', type: 'chapter'},\n state: {\n nextContent: {ref: basicSlide._id, type: 'slide'},\n step: {current: 1},\n lives: 1,\n livesDisabled: false,\n viewedResources: []\n }\n }\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {basic: 'answer'},\n tourguide: {visible: true, step: 1}\n }\n };\n\n const props = createSlideStateToProps(options, {dispatch})(state);\n\n t.truthy(props.tourguide);\n props.tourguide.onStart();\n props.tourguide.onStepChange(2);\n props.tourguide.onFinish();\n props.tourguide.onExit();\n\n t.is(actions.length, 6);\n t.is(actions[0].type, 'ui/tourguide/track-started');\n t.deepEqual(actions[0].payload, {\n group: 'app-player-question-tour-guide',\n stepRef: 'slide',\n stepNumber: 2,\n totalSteps: 4\n });\n t.is(actions[1].type, 'ui/tourguide/track-step-viewed');\n t.deepEqual(actions[1].payload, {\n group: 'app-player-question-tour-guide',\n stepRef: 'media',\n stepNumber: 3,\n totalSteps: 4\n });\n t.is(actions[2].type, SET_TOURGUIDE_STEP);\n t.deepEqual(actions[2].payload, {step: 2});\n t.is(actions[3].type, 'ui/tourguide/track-completed');\n t.deepEqual(actions[3].payload, {\n group: 'app-player-question-tour-guide',\n stepRef: 'slide',\n stepNumber: 2,\n totalSteps: 4\n });\n t.is(actions[4].type, 'ui/tourguide/track-dismissed');\n t.deepEqual(actions[4].payload, {\n group: 'app-player-question-tour-guide',\n stepRef: 'slide',\n stepNumber: 2,\n totalSteps: 4\n });\n t.is(actions[5].type, HIDE_TOURGUIDE);\n});\n\ntest('tourguide tracking uses null stepRef when index is out of bounds', t => {\n const actions = [];\n const dispatch = action => {\n actions.push(action);\n return action;\n };\n const options = {translate: mockTranslate};\n const state = {\n data: {\n contents: {\n chapter: {\n entities: {\n '1.B2': {_id: '1.B2', isConditional: false}\n }\n },\n slide: {\n entities: {\n [basicSlide._id]: {...basicSlide, chapter_id: '1.B2'}\n }\n }\n },\n progressions: {\n entities: {\n basic: {\n engine: {ref: 'microlearning', version: '1'},\n content: {ref: '1.B2', type: 'chapter'},\n state: {\n nextContent: {ref: basicSlide._id, type: 'slide'},\n step: {current: 1},\n lives: 1,\n livesDisabled: false,\n viewedResources: []\n }\n }\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {basic: 'answer'},\n tourguide: {visible: true, step: 99}\n }\n };\n\n const props = createSlideStateToProps(options, {dispatch})(state);\n\n t.truthy(props.tourguide);\n props.tourguide.onStart();\n props.tourguide.onStepChange(99);\n props.tourguide.onFinish();\n props.tourguide.onExit();\n\n t.is(actions[0].type, 'ui/tourguide/track-started');\n t.deepEqual(actions[0].payload, {\n group: 'app-player-question-tour-guide',\n stepRef: null,\n stepNumber: null,\n totalSteps: 4\n });\n t.is(actions[1].type, 'ui/tourguide/track-step-viewed');\n t.deepEqual(actions[1].payload, {\n group: 'app-player-question-tour-guide',\n stepRef: null,\n stepNumber: null,\n totalSteps: 4\n });\n t.is(actions[3].type, 'ui/tourguide/track-completed');\n t.deepEqual(actions[3].payload, {\n group: 'app-player-question-tour-guide',\n stepRef: null,\n stepNumber: null,\n totalSteps: 4\n });\n t.is(actions[4].type, 'ui/tourguide/track-dismissed');\n t.deepEqual(actions[4].payload, {\n group: 'app-player-question-tour-guide',\n stepRef: null,\n stepNumber: null,\n totalSteps: 4\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _ava = _interopRequireDefault(require("ava"));
|
|
4
|
+
var _playerStore = require("@coorpacademy/player-store");
|
|
5
|
+
var _tourguideSync = _interopRequireDefault(require("../../tourguide-sync"));
|
|
6
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
const noop = () => {};
|
|
8
|
+
(0, _ava.default)('tourguide sync dispatches show only when auto-show conditions are met', t => {
|
|
9
|
+
const state = {
|
|
10
|
+
data: {
|
|
11
|
+
contents: {
|
|
12
|
+
chapter: {
|
|
13
|
+
entities: {
|
|
14
|
+
'1.B2': {
|
|
15
|
+
_id: '1.B2',
|
|
16
|
+
isConditional: false,
|
|
17
|
+
nbSlides: 5
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
slide: {
|
|
22
|
+
entities: {
|
|
23
|
+
sli_1: {
|
|
24
|
+
chapter_id: '1.B2'
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
progressions: {
|
|
30
|
+
entities: {
|
|
31
|
+
basic: {
|
|
32
|
+
engine: {
|
|
33
|
+
ref: 'microlearning',
|
|
34
|
+
version: '1'
|
|
35
|
+
},
|
|
36
|
+
content: {
|
|
37
|
+
ref: '1.B2',
|
|
38
|
+
type: 'chapter'
|
|
39
|
+
},
|
|
40
|
+
state: {
|
|
41
|
+
nextContent: {
|
|
42
|
+
ref: 'sli_1',
|
|
43
|
+
type: 'slide'
|
|
44
|
+
},
|
|
45
|
+
step: {
|
|
46
|
+
current: 1
|
|
47
|
+
},
|
|
48
|
+
lives: 3,
|
|
49
|
+
livesDisabled: false,
|
|
50
|
+
viewedResources: []
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
ui: {
|
|
57
|
+
current: {
|
|
58
|
+
progressionId: 'basic'
|
|
59
|
+
},
|
|
60
|
+
route: {
|
|
61
|
+
basic: 'answer'
|
|
62
|
+
},
|
|
63
|
+
tourguide: {
|
|
64
|
+
visible: false,
|
|
65
|
+
step: 0,
|
|
66
|
+
hasTourGuideBeenShown: false
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
const actions = [];
|
|
71
|
+
const getState = () => state;
|
|
72
|
+
const dispatch = action => {
|
|
73
|
+
actions.push(action);
|
|
74
|
+
return action;
|
|
75
|
+
};
|
|
76
|
+
const subscribe = () => noop;
|
|
77
|
+
const store = {
|
|
78
|
+
getState,
|
|
79
|
+
dispatch,
|
|
80
|
+
subscribe
|
|
81
|
+
};
|
|
82
|
+
(0, _tourguideSync.default)({
|
|
83
|
+
mode: 'scorm'
|
|
84
|
+
}, store);
|
|
85
|
+
t.is(actions.length, 1);
|
|
86
|
+
t.is(actions[0].type, _playerStore.SHOW_TOURGUIDE);
|
|
87
|
+
});
|
|
88
|
+
(0, _ava.default)('tourguide sync does not dispatch again when auto-show state is unchanged', t => {
|
|
89
|
+
const state = {
|
|
90
|
+
data: {
|
|
91
|
+
contents: {
|
|
92
|
+
chapter: {
|
|
93
|
+
entities: {
|
|
94
|
+
'1.B2': {
|
|
95
|
+
_id: '1.B2',
|
|
96
|
+
isConditional: false,
|
|
97
|
+
nbSlides: 5
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
slide: {
|
|
102
|
+
entities: {
|
|
103
|
+
sli_1: {
|
|
104
|
+
chapter_id: '1.B2'
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
progressions: {
|
|
110
|
+
entities: {
|
|
111
|
+
basic: {
|
|
112
|
+
engine: {
|
|
113
|
+
ref: 'microlearning',
|
|
114
|
+
version: '1'
|
|
115
|
+
},
|
|
116
|
+
content: {
|
|
117
|
+
ref: '1.B2',
|
|
118
|
+
type: 'chapter'
|
|
119
|
+
},
|
|
120
|
+
state: {
|
|
121
|
+
nextContent: {
|
|
122
|
+
ref: 'sli_1',
|
|
123
|
+
type: 'slide'
|
|
124
|
+
},
|
|
125
|
+
step: {
|
|
126
|
+
current: 1
|
|
127
|
+
},
|
|
128
|
+
lives: 3,
|
|
129
|
+
livesDisabled: false,
|
|
130
|
+
viewedResources: []
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
ui: {
|
|
137
|
+
current: {
|
|
138
|
+
progressionId: 'basic'
|
|
139
|
+
},
|
|
140
|
+
route: {
|
|
141
|
+
basic: 'answer'
|
|
142
|
+
},
|
|
143
|
+
tourguide: {
|
|
144
|
+
visible: false,
|
|
145
|
+
step: 0,
|
|
146
|
+
hasTourGuideBeenShown: false
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
const actions = [];
|
|
151
|
+
const getState = () => state;
|
|
152
|
+
const dispatch = action => {
|
|
153
|
+
actions.push(action);
|
|
154
|
+
return action;
|
|
155
|
+
};
|
|
156
|
+
const subscribe = listener => {
|
|
157
|
+
listener();
|
|
158
|
+
return noop;
|
|
159
|
+
};
|
|
160
|
+
const store = {
|
|
161
|
+
getState,
|
|
162
|
+
dispatch,
|
|
163
|
+
subscribe
|
|
164
|
+
};
|
|
165
|
+
(0, _tourguideSync.default)({
|
|
166
|
+
mode: 'scorm'
|
|
167
|
+
}, store);
|
|
168
|
+
t.is(actions.length, 1);
|
|
169
|
+
t.is(actions[0].type, _playerStore.SHOW_TOURGUIDE);
|
|
170
|
+
});
|
|
171
|
+
(0, _ava.default)('tourguide sync uses empty tourguide state when missing', t => {
|
|
172
|
+
const state = {
|
|
173
|
+
data: {
|
|
174
|
+
contents: {
|
|
175
|
+
chapter: {
|
|
176
|
+
entities: {
|
|
177
|
+
'1.B2': {
|
|
178
|
+
_id: '1.B2',
|
|
179
|
+
isConditional: false,
|
|
180
|
+
nbSlides: 5
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
slide: {
|
|
185
|
+
entities: {
|
|
186
|
+
sli_1: {
|
|
187
|
+
chapter_id: '1.B2'
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
progressions: {
|
|
193
|
+
entities: {
|
|
194
|
+
basic: {
|
|
195
|
+
engine: {
|
|
196
|
+
ref: 'microlearning',
|
|
197
|
+
version: '1'
|
|
198
|
+
},
|
|
199
|
+
content: {
|
|
200
|
+
ref: '1.B2',
|
|
201
|
+
type: 'chapter'
|
|
202
|
+
},
|
|
203
|
+
state: {
|
|
204
|
+
nextContent: {
|
|
205
|
+
ref: 'sli_1',
|
|
206
|
+
type: 'slide'
|
|
207
|
+
},
|
|
208
|
+
step: {
|
|
209
|
+
current: 1
|
|
210
|
+
},
|
|
211
|
+
lives: 3,
|
|
212
|
+
livesDisabled: false,
|
|
213
|
+
viewedResources: []
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
ui: {
|
|
220
|
+
current: {
|
|
221
|
+
progressionId: 'basic'
|
|
222
|
+
},
|
|
223
|
+
route: {
|
|
224
|
+
basic: 'answer'
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
const actions = [];
|
|
229
|
+
const getState = () => state;
|
|
230
|
+
const dispatch = action => {
|
|
231
|
+
actions.push(action);
|
|
232
|
+
return action;
|
|
233
|
+
};
|
|
234
|
+
const subscribe = () => noop;
|
|
235
|
+
const store = {
|
|
236
|
+
getState,
|
|
237
|
+
dispatch,
|
|
238
|
+
subscribe
|
|
239
|
+
};
|
|
240
|
+
(0, _tourguideSync.default)({
|
|
241
|
+
mode: 'scorm'
|
|
242
|
+
}, store);
|
|
243
|
+
t.is(actions.length, 1);
|
|
244
|
+
t.is(actions[0].type, _playerStore.SHOW_TOURGUIDE);
|
|
245
|
+
});
|
|
246
|
+
//# sourceMappingURL=tourguide-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tourguide-sync.js","names":["_ava","_interopRequireDefault","require","_playerStore","_tourguideSync","e","__esModule","default","noop","test","t","state","data","contents","chapter","entities","_id","isConditional","nbSlides","slide","sli_1","chapter_id","progressions","basic","engine","ref","version","content","type","nextContent","step","current","lives","livesDisabled","viewedResources","ui","progressionId","route","tourguide","visible","hasTourGuideBeenShown","actions","getState","dispatch","action","push","subscribe","store","createTourguideSync","mode","is","length","SHOW_TOURGUIDE","listener"],"sources":["../../../src/map-state-to-props/test/tourguide-sync.js"],"sourcesContent":["import test from 'ava';\nimport {SHOW_TOURGUIDE} from '@coorpacademy/player-store';\nimport createTourguideSync from '../../tourguide-sync';\n\nconst noop = () => {};\n\ntest('tourguide sync dispatches show only when auto-show conditions are met', t => {\n const state = {\n data: {\n contents: {\n chapter: {\n entities: {\n '1.B2': {_id: '1.B2', isConditional: false, nbSlides: 5}\n }\n },\n slide: {\n entities: {\n sli_1: {chapter_id: '1.B2'}\n }\n }\n },\n progressions: {\n entities: {\n basic: {\n engine: {ref: 'microlearning', version: '1'},\n content: {ref: '1.B2', type: 'chapter'},\n state: {\n nextContent: {ref: 'sli_1', type: 'slide'},\n step: {current: 1},\n lives: 3,\n livesDisabled: false,\n viewedResources: []\n }\n }\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {basic: 'answer'},\n tourguide: {visible: false, step: 0, hasTourGuideBeenShown: false}\n }\n };\n\n const actions = [];\n const getState = () => state;\n const dispatch = action => {\n actions.push(action);\n return action;\n };\n const subscribe = () => noop;\n const store = {getState, dispatch, subscribe};\n\n createTourguideSync({mode: 'scorm'}, store);\n\n t.is(actions.length, 1);\n t.is(actions[0].type, SHOW_TOURGUIDE);\n});\n\ntest('tourguide sync does not dispatch again when auto-show state is unchanged', t => {\n const state = {\n data: {\n contents: {\n chapter: {\n entities: {\n '1.B2': {_id: '1.B2', isConditional: false, nbSlides: 5}\n }\n },\n slide: {\n entities: {\n sli_1: {chapter_id: '1.B2'}\n }\n }\n },\n progressions: {\n entities: {\n basic: {\n engine: {ref: 'microlearning', version: '1'},\n content: {ref: '1.B2', type: 'chapter'},\n state: {\n nextContent: {ref: 'sli_1', type: 'slide'},\n step: {current: 1},\n lives: 3,\n livesDisabled: false,\n viewedResources: []\n }\n }\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {basic: 'answer'},\n tourguide: {visible: false, step: 0, hasTourGuideBeenShown: false}\n }\n };\n\n const actions = [];\n const getState = () => state;\n const dispatch = action => {\n actions.push(action);\n return action;\n };\n const subscribe = listener => {\n listener();\n return noop;\n };\n const store = {getState, dispatch, subscribe};\n\n createTourguideSync({mode: 'scorm'}, store);\n\n t.is(actions.length, 1);\n t.is(actions[0].type, SHOW_TOURGUIDE);\n});\n\ntest('tourguide sync uses empty tourguide state when missing', t => {\n const state = {\n data: {\n contents: {\n chapter: {\n entities: {\n '1.B2': {_id: '1.B2', isConditional: false, nbSlides: 5}\n }\n },\n slide: {\n entities: {\n sli_1: {chapter_id: '1.B2'}\n }\n }\n },\n progressions: {\n entities: {\n basic: {\n engine: {ref: 'microlearning', version: '1'},\n content: {ref: '1.B2', type: 'chapter'},\n state: {\n nextContent: {ref: 'sli_1', type: 'slide'},\n step: {current: 1},\n lives: 3,\n livesDisabled: false,\n viewedResources: []\n }\n }\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {basic: 'answer'}\n }\n };\n\n const actions = [];\n const getState = () => state;\n const dispatch = action => {\n actions.push(action);\n return action;\n };\n const subscribe = () => noop;\n const store = {getState, dispatch, subscribe};\n\n createTourguideSync({mode: 'scorm'}, store);\n\n t.is(actions.length, 1);\n t.is(actions[0].type, SHOW_TOURGUIDE);\n});\n"],"mappings":"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","ignoreList":[]}
|
package/lib/store.js
CHANGED
|
@@ -6,7 +6,8 @@ var _redux = require("redux");
|
|
|
6
6
|
var _playerStore = require("@coorpacademy/player-store");
|
|
7
7
|
const {
|
|
8
8
|
ErrorLogger,
|
|
9
|
-
ReduxThunkMemoized
|
|
9
|
+
ReduxThunkMemoized,
|
|
10
|
+
TourguideTrackingLogger
|
|
10
11
|
} = _playerStore.middlewares;
|
|
11
12
|
const {
|
|
12
13
|
data,
|
|
@@ -18,7 +19,7 @@ const createReducers = () => (0, _redux.combineReducers)({
|
|
|
18
19
|
});
|
|
19
20
|
exports.createReducers = createReducers;
|
|
20
21
|
const createMiddlewares = options => {
|
|
21
|
-
return (0, _redux.compose)((0, _redux.applyMiddleware)(ReduxThunkMemoized(options), ErrorLogger(options)), typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__() : f => f);
|
|
22
|
+
return (0, _redux.compose)((0, _redux.applyMiddleware)(ReduxThunkMemoized(options), ErrorLogger(options), TourguideTrackingLogger(options)), typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__() : f => f);
|
|
22
23
|
};
|
|
23
24
|
exports.createMiddlewares = createMiddlewares;
|
|
24
25
|
const create = options => (0, _redux.createStore)(createReducers(), {}, createMiddlewares(options));
|
package/lib/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","names":["_redux","require","_playerStore","ErrorLogger","ReduxThunkMemoized","middlewares","data","ui","reducers","createReducers","combineReducers","exports","createMiddlewares","options","compose","applyMiddleware","window","__REDUX_DEVTOOLS_EXTENSION__","f","create","createStore","_default","default"],"sources":["../src/store.js"],"sourcesContent":["import {applyMiddleware, combineReducers, compose, createStore} from 'redux';\nimport {middlewares, reducers} from '@coorpacademy/player-store';\n\nconst {ErrorLogger, ReduxThunkMemoized} = middlewares;\nconst {data, ui} = reducers;\n\nconst createReducers = () =>\n combineReducers({\n data,\n ui\n });\n\nconst createMiddlewares = options => {\n return compose(\n applyMiddleware(ReduxThunkMemoized(options)
|
|
1
|
+
{"version":3,"file":"store.js","names":["_redux","require","_playerStore","ErrorLogger","ReduxThunkMemoized","TourguideTrackingLogger","middlewares","data","ui","reducers","createReducers","combineReducers","exports","createMiddlewares","options","compose","applyMiddleware","window","__REDUX_DEVTOOLS_EXTENSION__","f","create","createStore","_default","default"],"sources":["../src/store.js"],"sourcesContent":["import {applyMiddleware, combineReducers, compose, createStore} from 'redux';\nimport {middlewares, reducers} from '@coorpacademy/player-store';\n\nconst {ErrorLogger, ReduxThunkMemoized, TourguideTrackingLogger} = middlewares;\nconst {data, ui} = reducers;\n\nconst createReducers = () =>\n combineReducers({\n data,\n ui\n });\n\nconst createMiddlewares = options => {\n return compose(\n applyMiddleware(\n ReduxThunkMemoized(options),\n ErrorLogger(options),\n TourguideTrackingLogger(options)\n ),\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__\n ? window.__REDUX_DEVTOOLS_EXTENSION__()\n : f => f\n );\n};\n\nconst create = options => createStore(createReducers(), {}, createMiddlewares(options));\nexport {createMiddlewares, createReducers};\nexport default create;\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,MAAM;EAACE,WAAW;EAAEC,kBAAkB;EAAEC;AAAuB,CAAC,GAAGC,wBAAW;AAC9E,MAAM;EAACC,IAAI;EAAEC;AAAE,CAAC,GAAGC,qBAAQ;AAE3B,MAAMC,cAAc,GAAGA,CAAA,KACrB,IAAAC,sBAAe,EAAC;EACdJ,IAAI;EACJC;AACF,CAAC,CAAC;AAACI,OAAA,CAAAF,cAAA,GAAAA,cAAA;AAEL,MAAMG,iBAAiB,GAAGC,OAAO,IAAI;EACnC,OAAO,IAAAC,cAAO,EACZ,IAAAC,sBAAe,EACbZ,kBAAkB,CAACU,OAAO,CAAC,EAC3BX,WAAW,CAACW,OAAO,CAAC,EACpBT,uBAAuB,CAACS,OAAO,CACjC,CAAC,EACD,OAAOG,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,4BAA4B,GAChED,MAAM,CAACC,4BAA4B,CAAC,CAAC,GACrCC,CAAC,IAAIA,CACX,CAAC;AACH,CAAC;AAACP,OAAA,CAAAC,iBAAA,GAAAA,iBAAA;AAEF,MAAMO,MAAM,GAAGN,OAAO,IAAI,IAAAO,kBAAW,EAACX,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEG,iBAAiB,CAACC,OAAO,CAAC,CAAC;AAAC,IAAAQ,QAAA,GAAAV,OAAA,CAAAW,OAAA,GAEzEH,MAAM","ignoreList":[]}
|
|
@@ -47,7 +47,16 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
47
47
|
progressionId: null
|
|
48
48
|
},
|
|
49
49
|
location: {},
|
|
50
|
-
route: {}
|
|
50
|
+
route: {},
|
|
51
|
+
tourguide: {
|
|
52
|
+
visible: false,
|
|
53
|
+
step: 0,
|
|
54
|
+
hasTourGuideBeenShown: false,
|
|
55
|
+
forceStart: false
|
|
56
|
+
},
|
|
57
|
+
tourguideTracking: {
|
|
58
|
+
lastEvent: null
|
|
59
|
+
}
|
|
51
60
|
}
|
|
52
61
|
});
|
|
53
62
|
//# sourceMappingURL=init-reducers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-reducers.js","names":["_ava","_interopRequireDefault","require","_store","_macro","e","__esModule","default","test","macro","createReducers","undefined","data","answers","entities","comments","configs","contents","clues","exitNodes","progressions","rank","nextContent","recommendations","videos","ui","coaches","availableCoaches","text","corrections","current","progressionId","location","route"],"sources":["../../src/test/init-reducers.js"],"sourcesContent":["import test from 'ava';\nimport {createReducers} from '../store';\nimport macro from './helpers/macro';\n\ntest(\n 'should have initial value',\n macro,\n createReducers(),\n undefined,\n {},\n {\n data: {\n answers: {entities: {}},\n comments: {entities: {}},\n configs: {},\n contents: {},\n clues: {entities: {}},\n exitNodes: {entities: {}},\n progressions: {entities: {}},\n rank: {},\n nextContent: {entities: {}},\n recommendations: {entities: {}},\n videos: {entities: {}}\n },\n ui: {\n answers: {},\n coaches: {\n availableCoaches: 0\n },\n comments: {\n text: null\n },\n corrections: {},\n current: {\n progressionId: null\n },\n location: {},\n route: {}\n }\n }\n);\n"],"mappings":";;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEpC,IAAAG,YAAI,EACF,2BAA2B,EAC3BC,cAAK,EACL,IAAAC,qBAAc,EAAC,CAAC,EAChBC,SAAS,EACT,CAAC,CAAC,EACF;EACEC,IAAI,EAAE;IACJC,OAAO,EAAE;MAACC,QAAQ,EAAE,CAAC;IAAC,CAAC;IACvBC,QAAQ,EAAE;MAACD,QAAQ,EAAE,CAAC;IAAC,CAAC;IACxBE,OAAO,EAAE,CAAC,CAAC;IACXC,QAAQ,EAAE,CAAC,CAAC;IACZC,KAAK,EAAE;MAACJ,QAAQ,EAAE,CAAC;IAAC,CAAC;IACrBK,SAAS,EAAE;MAACL,QAAQ,EAAE,CAAC;IAAC,CAAC;IACzBM,YAAY,EAAE;MAACN,QAAQ,EAAE,CAAC;IAAC,CAAC;IAC5BO,IAAI,EAAE,CAAC,CAAC;IACRC,WAAW,EAAE;MAACR,QAAQ,EAAE,CAAC;IAAC,CAAC;IAC3BS,eAAe,EAAE;MAACT,QAAQ,EAAE,CAAC;IAAC,CAAC;IAC/BU,MAAM,EAAE;MAACV,QAAQ,EAAE,CAAC;IAAC;EACvB,CAAC;EACDW,EAAE,EAAE;IACFZ,OAAO,EAAE,CAAC,CAAC;IACXa,OAAO,EAAE;MACPC,gBAAgB,EAAE;IACpB,CAAC;IACDZ,QAAQ,EAAE;MACRa,IAAI,EAAE;IACR,CAAC;IACDC,WAAW,EAAE,CAAC,CAAC;IACfC,OAAO,EAAE;MACPC,aAAa,EAAE;IACjB,CAAC;IACDC,QAAQ,EAAE,CAAC,CAAC;IACZC,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"init-reducers.js","names":["_ava","_interopRequireDefault","require","_store","_macro","e","__esModule","default","test","macro","createReducers","undefined","data","answers","entities","comments","configs","contents","clues","exitNodes","progressions","rank","nextContent","recommendations","videos","ui","coaches","availableCoaches","text","corrections","current","progressionId","location","route","tourguide","visible","step","hasTourGuideBeenShown","forceStart","tourguideTracking","lastEvent"],"sources":["../../src/test/init-reducers.js"],"sourcesContent":["import test from 'ava';\nimport {createReducers} from '../store';\nimport macro from './helpers/macro';\n\ntest(\n 'should have initial value',\n macro,\n createReducers(),\n undefined,\n {},\n {\n data: {\n answers: {entities: {}},\n comments: {entities: {}},\n configs: {},\n contents: {},\n clues: {entities: {}},\n exitNodes: {entities: {}},\n progressions: {entities: {}},\n rank: {},\n nextContent: {entities: {}},\n recommendations: {entities: {}},\n videos: {entities: {}}\n },\n ui: {\n answers: {},\n coaches: {\n availableCoaches: 0\n },\n comments: {\n text: null\n },\n corrections: {},\n current: {\n progressionId: null\n },\n location: {},\n route: {},\n tourguide: {\n visible: false,\n step: 0,\n hasTourGuideBeenShown: false,\n forceStart: false\n },\n tourguideTracking: {\n lastEvent: null\n }\n }\n }\n);\n"],"mappings":";;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEpC,IAAAG,YAAI,EACF,2BAA2B,EAC3BC,cAAK,EACL,IAAAC,qBAAc,EAAC,CAAC,EAChBC,SAAS,EACT,CAAC,CAAC,EACF;EACEC,IAAI,EAAE;IACJC,OAAO,EAAE;MAACC,QAAQ,EAAE,CAAC;IAAC,CAAC;IACvBC,QAAQ,EAAE;MAACD,QAAQ,EAAE,CAAC;IAAC,CAAC;IACxBE,OAAO,EAAE,CAAC,CAAC;IACXC,QAAQ,EAAE,CAAC,CAAC;IACZC,KAAK,EAAE;MAACJ,QAAQ,EAAE,CAAC;IAAC,CAAC;IACrBK,SAAS,EAAE;MAACL,QAAQ,EAAE,CAAC;IAAC,CAAC;IACzBM,YAAY,EAAE;MAACN,QAAQ,EAAE,CAAC;IAAC,CAAC;IAC5BO,IAAI,EAAE,CAAC,CAAC;IACRC,WAAW,EAAE;MAACR,QAAQ,EAAE,CAAC;IAAC,CAAC;IAC3BS,eAAe,EAAE;MAACT,QAAQ,EAAE,CAAC;IAAC,CAAC;IAC/BU,MAAM,EAAE;MAACV,QAAQ,EAAE,CAAC;IAAC;EACvB,CAAC;EACDW,EAAE,EAAE;IACFZ,OAAO,EAAE,CAAC,CAAC;IACXa,OAAO,EAAE;MACPC,gBAAgB,EAAE;IACpB,CAAC;IACDZ,QAAQ,EAAE;MACRa,IAAI,EAAE;IACR,CAAC;IACDC,WAAW,EAAE,CAAC,CAAC;IACfC,OAAO,EAAE;MACPC,aAAa,EAAE;IACjB,CAAC;IACDC,QAAQ,EAAE,CAAC,CAAC;IACZC,KAAK,EAAE,CAAC,CAAC;IACTC,SAAS,EAAE;MACTC,OAAO,EAAE,KAAK;MACdC,IAAI,EAAE,CAAC;MACPC,qBAAqB,EAAE,KAAK;MAC5BC,UAAU,EAAE;IACd,CAAC;IACDC,iBAAiB,EAAE;MACjBC,SAAS,EAAE;IACb;EACF;AACF,CACF,CAAC","ignoreList":[]}
|
package/lib/test/store.js
CHANGED
|
@@ -30,11 +30,9 @@ const appOptions = {
|
|
|
30
30
|
});
|
|
31
31
|
(0, _ava.default)('should enable devtools', t => {
|
|
32
32
|
t.plan(1);
|
|
33
|
-
global.window = {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return f => f;
|
|
37
|
-
}
|
|
33
|
+
global.window.__REDUX_DEVTOOLS_EXTENSION__ = () => {
|
|
34
|
+
t.pass();
|
|
35
|
+
return f => f;
|
|
38
36
|
};
|
|
39
37
|
(0, _redux.createStore)(state => state, 'state', (0, _store.createMiddlewares)(appOptions));
|
|
40
38
|
});
|
package/lib/test/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","names":["_ava","_interopRequireDefault","require","_redux","_store","e","__esModule","default","appOptions","services","error","Error","test","t","plan","store","createStore","state","pass","createMiddlewares","dispatch","type","getState","options","is","global","window","__REDUX_DEVTOOLS_EXTENSION__","f"],"sources":["../../src/test/store.js"],"sourcesContent":["import test from 'ava';\nimport {createStore} from 'redux';\nimport {createMiddlewares} from '../store';\n\nconst appOptions = {\n services: {\n error: () => {\n throw new Error('error logger should not have been called');\n }\n }\n};\n\ntest('should apply redux-thunk', async t => {\n t.plan(5);\n\n const store = createStore(\n state => {\n t.pass();\n return state;\n },\n 'state',\n createMiddlewares(appOptions)\n );\n\n await store.dispatch({type: 1});\n return store.dispatch((dispatch, getState, options) => {\n t.is(options, appOptions);\n t.is(getState(), 'state');\n return dispatch({\n type: 2\n });\n });\n});\n\ntest('should enable devtools', t => {\n t.plan(1);\n global.window =
|
|
1
|
+
{"version":3,"file":"store.js","names":["_ava","_interopRequireDefault","require","_redux","_store","e","__esModule","default","appOptions","services","error","Error","test","t","plan","store","createStore","state","pass","createMiddlewares","dispatch","type","getState","options","is","global","window","__REDUX_DEVTOOLS_EXTENSION__","f"],"sources":["../../src/test/store.js"],"sourcesContent":["import test from 'ava';\nimport {createStore} from 'redux';\nimport {createMiddlewares} from '../store';\n\nconst appOptions = {\n services: {\n error: () => {\n throw new Error('error logger should not have been called');\n }\n }\n};\n\ntest('should apply redux-thunk', async t => {\n t.plan(5);\n\n const store = createStore(\n state => {\n t.pass();\n return state;\n },\n 'state',\n createMiddlewares(appOptions)\n );\n\n await store.dispatch({type: 1});\n return store.dispatch((dispatch, getState, options) => {\n t.is(options, appOptions);\n t.is(getState(), 'state');\n return dispatch({\n type: 2\n });\n });\n});\n\ntest('should enable devtools', t => {\n t.plan(1);\n global.window.__REDUX_DEVTOOLS_EXTENSION__ = () => {\n t.pass();\n return f => f;\n };\n\n createStore(state => state, 'state', createMiddlewares(appOptions));\n});\n"],"mappings":";;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAA2C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3C,MAAMG,UAAU,GAAG;EACjBC,QAAQ,EAAE;IACRC,KAAK,EAAEA,CAAA,KAAM;MACX,MAAM,IAAIC,KAAK,CAAC,0CAA0C,CAAC;IAC7D;EACF;AACF,CAAC;AAED,IAAAC,YAAI,EAAC,0BAA0B,EAAE,MAAMC,CAAC,IAAI;EAC1CA,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;EAET,MAAMC,KAAK,GAAG,IAAAC,kBAAW,EACvBC,KAAK,IAAI;IACPJ,CAAC,CAACK,IAAI,CAAC,CAAC;IACR,OAAOD,KAAK;EACd,CAAC,EACD,OAAO,EACP,IAAAE,wBAAiB,EAACX,UAAU,CAC9B,CAAC;EAED,MAAMO,KAAK,CAACK,QAAQ,CAAC;IAACC,IAAI,EAAE;EAAC,CAAC,CAAC;EAC/B,OAAON,KAAK,CAACK,QAAQ,CAAC,CAACA,QAAQ,EAAEE,QAAQ,EAAEC,OAAO,KAAK;IACrDV,CAAC,CAACW,EAAE,CAACD,OAAO,EAAEf,UAAU,CAAC;IACzBK,CAAC,CAACW,EAAE,CAACF,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IACzB,OAAOF,QAAQ,CAAC;MACdC,IAAI,EAAE;IACR,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,IAAAT,YAAI,EAAC,wBAAwB,EAAEC,CAAC,IAAI;EAClCA,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;EACTW,MAAM,CAACC,MAAM,CAACC,4BAA4B,GAAG,MAAM;IACjDd,CAAC,CAACK,IAAI,CAAC,CAAC;IACR,OAAOU,CAAC,IAAIA,CAAC;EACf,CAAC;EAED,IAAAZ,kBAAW,EAACC,KAAK,IAAIA,KAAK,EAAE,OAAO,EAAE,IAAAE,wBAAiB,EAACX,UAAU,CAAC,CAAC;AACrE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _get2 = _interopRequireDefault(require("lodash/fp/get"));
|
|
6
|
+
var _playerStore = require("@coorpacademy/player-store");
|
|
7
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
+
const getTourguideState = state => (0, _get2.default)('ui.tourguide', state) || {};
|
|
9
|
+
const createTourguideSync = (options, store) => {
|
|
10
|
+
let lastShouldEnable = null;
|
|
11
|
+
const sync = () => {
|
|
12
|
+
const state = store.getState();
|
|
13
|
+
const {
|
|
14
|
+
visible
|
|
15
|
+
} = getTourguideState(state);
|
|
16
|
+
const shouldAutoShow = (0, _playerStore.shouldAutoShowTourguide)(state, options, getTourguideState(state));
|
|
17
|
+
if (shouldAutoShow === lastShouldEnable) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
lastShouldEnable = shouldAutoShow;
|
|
21
|
+
if (shouldAutoShow && !visible) {
|
|
22
|
+
store.dispatch((0, _playerStore.showTourguide)());
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
sync();
|
|
26
|
+
return store.subscribe(sync);
|
|
27
|
+
};
|
|
28
|
+
var _default = exports.default = createTourguideSync;
|
|
29
|
+
//# sourceMappingURL=tourguide-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tourguide-sync.js","names":["_playerStore","require","_interopRequireDefault","e","__esModule","default","getTourguideState","state","_get2","createTourguideSync","options","store","lastShouldEnable","sync","getState","visible","shouldAutoShow","shouldAutoShowTourguide","dispatch","showTourguide","subscribe","_default","exports"],"sources":["../src/tourguide-sync.js"],"sourcesContent":["import {get} from 'lodash/fp';\nimport {showTourguide, shouldAutoShowTourguide} from '@coorpacademy/player-store';\n\nconst getTourguideState = state => get('ui.tourguide', state) || {};\n\nconst createTourguideSync = (options, store) => {\n let lastShouldEnable = null;\n\n const sync = () => {\n const state = store.getState();\n const {visible} = getTourguideState(state);\n const shouldAutoShow = shouldAutoShowTourguide(state, options, getTourguideState(state));\n\n if (shouldAutoShow === lastShouldEnable) {\n return;\n }\n\n lastShouldEnable = shouldAutoShow;\n\n if (shouldAutoShow && !visible) {\n store.dispatch(showTourguide());\n }\n };\n\n sync();\n return store.subscribe(sync);\n};\n\nexport default createTourguideSync;\n"],"mappings":";;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAkF,SAAAC,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElF,MAAMG,iBAAiB,GAAGC,KAAK,IAAI,IAAAC,KAAA,CAAAH,OAAA,EAAI,cAAc,EAAEE,KAAK,CAAC,IAAI,CAAC,CAAC;AAEnE,MAAME,mBAAmB,GAAGA,CAACC,OAAO,EAAEC,KAAK,KAAK;EAC9C,IAAIC,gBAAgB,GAAG,IAAI;EAE3B,MAAMC,IAAI,GAAGA,CAAA,KAAM;IACjB,MAAMN,KAAK,GAAGI,KAAK,CAACG,QAAQ,CAAC,CAAC;IAC9B,MAAM;MAACC;IAAO,CAAC,GAAGT,iBAAiB,CAACC,KAAK,CAAC;IAC1C,MAAMS,cAAc,GAAG,IAAAC,oCAAuB,EAACV,KAAK,EAAEG,OAAO,EAAEJ,iBAAiB,CAACC,KAAK,CAAC,CAAC;IAExF,IAAIS,cAAc,KAAKJ,gBAAgB,EAAE;MACvC;IACF;IAEAA,gBAAgB,GAAGI,cAAc;IAEjC,IAAIA,cAAc,IAAI,CAACD,OAAO,EAAE;MAC9BJ,KAAK,CAACO,QAAQ,CAAC,IAAAC,0BAAa,EAAC,CAAC,CAAC;IACjC;EACF,CAAC;EAEDN,IAAI,CAAC,CAAC;EACN,OAAOF,KAAK,CAACS,SAAS,CAACP,IAAI,CAAC;AAC9B,CAAC;AAAC,IAAAQ,QAAA,GAAAC,OAAA,CAAAjB,OAAA,GAEaI,mBAAmB","ignoreList":[]}
|