@gamelearn/arcade-components 0.22.7 → 0.22.9
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/dist/components/chained-image-click-puzzle-component/components/CurrentImagePuzzle.js +41 -9
- package/dist/components/chained-image-click-puzzle-component/mocks/mockForStory.js +264 -3
- package/dist/components/conversational-pro-component/components/Message.js +1 -3
- package/dist/components/frame-click-puzzle-component/components/CurrentFramePuzzle.js +46 -11
- package/dist/components/frame-click-puzzle-component/components/FrameClickPuzzleComponent.js +8 -1
- package/dist/components/frame-click-puzzle-component/mocks/mockForStory.js +417 -6
- package/dist/components/image-click-puzzle-component/mocks/mockForStory.js +1 -1
- package/dist/components/image-click-wrapper-component/components/ImageClickWrapperComponent.js +120 -83
- package/dist/components/image-click-wrapper-component/mocks/mockForStory.js +77 -2
- package/dist/components/konva-components/Area/index.js +1 -1
- package/dist/components/konva-components/KonvaMapper.js +1 -1
- package/dist/components/text-click-puzzle-component/components/TextClickPuzzleComponent.js +19 -9
- package/dist/components/text-click-puzzle-component/mocks/mockForStory.js +245 -6
- package/package.json +1 -1
package/dist/components/chained-image-click-puzzle-component/components/CurrentImagePuzzle.js
CHANGED
|
@@ -58,6 +58,7 @@ var CurrentImageClickPuzzle = function CurrentImageClickPuzzle(_ref) {
|
|
|
58
58
|
selected = _ref.selected,
|
|
59
59
|
setShowPoints = _ref.setShowPoints;
|
|
60
60
|
var accRewards = (0, _react.useRef)([]);
|
|
61
|
+
var correctClicked = (0, _react.useRef)(0);
|
|
61
62
|
|
|
62
63
|
var _useState = (0, _react.useState)(0),
|
|
63
64
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -89,7 +90,8 @@ var CurrentImageClickPuzzle = function CurrentImageClickPuzzle(_ref) {
|
|
|
89
90
|
setShowPoints([].concat(_toConsumableArray(accRewards.current), _toConsumableArray(rewards)));
|
|
90
91
|
}, [playSound, emitEvent, setShowPoints]);
|
|
91
92
|
var currentImageProps = list[index];
|
|
92
|
-
var info = currentImageProps.info
|
|
93
|
+
var info = currentImageProps.info,
|
|
94
|
+
specificFeedbacks = currentImageProps.specificFeedbacks;
|
|
93
95
|
info.description = description;
|
|
94
96
|
var handleResolve = (0, _react.useCallback)(function () {
|
|
95
97
|
emitEvent({
|
|
@@ -101,18 +103,47 @@ var CurrentImageClickPuzzle = function CurrentImageClickPuzzle(_ref) {
|
|
|
101
103
|
}
|
|
102
104
|
});
|
|
103
105
|
}, [emitEvent, puzzleId, info.resolve.rewards]);
|
|
106
|
+
(0, _react.useEffect)(function () {
|
|
107
|
+
correctClicked.current = 0;
|
|
108
|
+
}, [index]);
|
|
104
109
|
var onComplete = (0, _react.useCallback)(function (rw) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
110
|
+
var correct = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
111
|
+
|
|
112
|
+
if (correct) {
|
|
113
|
+
var _specificFeedbacks$co;
|
|
114
|
+
|
|
115
|
+
if ((_specificFeedbacks$co = specificFeedbacks.correctFeedbacks) !== null && _specificFeedbacks$co !== void 0 && _specificFeedbacks$co.length) {
|
|
116
|
+
correctClicked.current += 1;
|
|
117
|
+
setSelected(selected + 1);
|
|
118
|
+
} else {
|
|
119
|
+
correctClicked.current += currentImageProps.areas.length;
|
|
120
|
+
setSelected(selected + currentImageProps.areas.length);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (correctClicked.current === currentImageProps.areas.length) {
|
|
124
|
+
if (index + 1 >= list.length) {
|
|
125
|
+
handleFinish(rw);
|
|
126
|
+
} else {
|
|
127
|
+
setIndex(index + 1);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
108
131
|
setRewards(rw);
|
|
109
|
-
|
|
132
|
+
} else {
|
|
133
|
+
emitEvent({
|
|
134
|
+
type: 'addPoints',
|
|
135
|
+
payload: rw,
|
|
136
|
+
finish: false
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
if (currentImageProps.hasClickOrder) {
|
|
140
|
+
setSelected(selected - correctClicked.current);
|
|
141
|
+
correctClicked.current = 0;
|
|
142
|
+
}
|
|
110
143
|
}
|
|
144
|
+
}, [index, list.length, currentImageProps.hasClickOrder, currentImageProps.areas.length, handleFinish, specificFeedbacks, setSelected, selected, emitEvent]);
|
|
111
145
|
|
|
112
|
-
|
|
113
|
-
}, [index, list.length, selected, currentImageProps.areas.length, handleFinish, setSelected]);
|
|
114
|
-
|
|
115
|
-
var onResolve = function onResolve(resolve) {
|
|
146
|
+
var onResolve = function onResolve() {
|
|
116
147
|
playSound('score');
|
|
117
148
|
setTimeout(function () {
|
|
118
149
|
handleResolve();
|
|
@@ -146,6 +177,7 @@ var CurrentImageClickPuzzle = function CurrentImageClickPuzzle(_ref) {
|
|
|
146
177
|
name: puzzleId,
|
|
147
178
|
component: 'chained-image-click-puzzle'
|
|
148
179
|
},
|
|
180
|
+
specificFeedbacks: specificFeedbacks,
|
|
149
181
|
emitFinish: onComplete,
|
|
150
182
|
emitError: setRewards,
|
|
151
183
|
emitResolve: onResolve,
|
|
@@ -3,10 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.mockProps = void 0;
|
|
6
|
+
exports.mockProps2 = exports.mockProps = void 0;
|
|
7
7
|
|
|
8
|
-
var emitEvent = function emitEvent(
|
|
8
|
+
var emitEvent = function emitEvent(_ref) {
|
|
9
|
+
var type = _ref.type,
|
|
10
|
+
payload = _ref.payload;
|
|
9
11
|
console.log('Emit event called', type);
|
|
12
|
+
|
|
13
|
+
if (type === 'translate') {
|
|
14
|
+
return payload;
|
|
15
|
+
}
|
|
10
16
|
};
|
|
11
17
|
|
|
12
18
|
var soundActions = [function (sound) {
|
|
@@ -17,6 +23,7 @@ var mockProps = {
|
|
|
17
23
|
description: 'Dale al arma',
|
|
18
24
|
showFrames: true,
|
|
19
25
|
setInfo: function setInfo() {},
|
|
26
|
+
setShowPoints: function setShowPoints() {},
|
|
20
27
|
emitEvent: emitEvent,
|
|
21
28
|
soundActions: soundActions,
|
|
22
29
|
disableExit: function disableExit() {},
|
|
@@ -62,6 +69,7 @@ var mockProps = {
|
|
|
62
69
|
height: 1097
|
|
63
70
|
},
|
|
64
71
|
areas: [{
|
|
72
|
+
id: 'Uno',
|
|
65
73
|
name: 'Uno',
|
|
66
74
|
x: 0,
|
|
67
75
|
y: 0,
|
|
@@ -126,6 +134,7 @@ var mockProps = {
|
|
|
126
134
|
height: 1099
|
|
127
135
|
},
|
|
128
136
|
areas: [{
|
|
137
|
+
id: 'Dos',
|
|
129
138
|
name: 'Uno',
|
|
130
139
|
x: 0,
|
|
131
140
|
y: 0,
|
|
@@ -135,6 +144,7 @@ var mockProps = {
|
|
|
135
144
|
stroke: 'rgb(101,154,93)',
|
|
136
145
|
closed: true
|
|
137
146
|
}, {
|
|
147
|
+
id: 'Tres',
|
|
138
148
|
name: 'Dos',
|
|
139
149
|
x: 0,
|
|
140
150
|
y: 0,
|
|
@@ -160,4 +170,255 @@ var mockProps = {
|
|
|
160
170
|
hasHighlights: true
|
|
161
171
|
}]
|
|
162
172
|
};
|
|
163
|
-
exports.mockProps = mockProps;
|
|
173
|
+
exports.mockProps = mockProps;
|
|
174
|
+
var mockProps2 = {
|
|
175
|
+
nodeId: 'xxas',
|
|
176
|
+
description: 'Dale al arma',
|
|
177
|
+
showFrames: true,
|
|
178
|
+
setInfo: function setInfo() {},
|
|
179
|
+
emitEvent: emitEvent,
|
|
180
|
+
soundActions: soundActions,
|
|
181
|
+
disableExit: function disableExit() {},
|
|
182
|
+
setResolveAction: function setResolveAction() {},
|
|
183
|
+
setShowPoints: function setShowPoints() {},
|
|
184
|
+
list: [{
|
|
185
|
+
info: {
|
|
186
|
+
hint: {
|
|
187
|
+
active: true,
|
|
188
|
+
desc: 'hint',
|
|
189
|
+
rewards: []
|
|
190
|
+
},
|
|
191
|
+
resolve: {
|
|
192
|
+
rewards: []
|
|
193
|
+
},
|
|
194
|
+
solution: {
|
|
195
|
+
right: {
|
|
196
|
+
desc: 'Estupendo',
|
|
197
|
+
desc_labelId: 'alfalfa01',
|
|
198
|
+
rewards: []
|
|
199
|
+
},
|
|
200
|
+
wrong: {
|
|
201
|
+
desc: 'BUUUU',
|
|
202
|
+
desc_labelId: 'fabada01',
|
|
203
|
+
rewards: [{
|
|
204
|
+
id: 'grade',
|
|
205
|
+
name: 'grade',
|
|
206
|
+
points: -17,
|
|
207
|
+
type: 'grade'
|
|
208
|
+
}]
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
instructions: 'instructions'
|
|
212
|
+
},
|
|
213
|
+
itemOrder: 1,
|
|
214
|
+
image: {
|
|
215
|
+
imgName: 'Paz-Vizla-Concept.png',
|
|
216
|
+
img: {
|
|
217
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/609a9b30901f3e001247c031/Paz-Vizla-Concept.png',
|
|
218
|
+
imgName: 'Paz-Vizla-Concept.png',
|
|
219
|
+
resourceId: '609a9b30901f3e001247c031'
|
|
220
|
+
},
|
|
221
|
+
width: 1920,
|
|
222
|
+
height: 1097
|
|
223
|
+
},
|
|
224
|
+
areas: [{
|
|
225
|
+
id: 'Uno',
|
|
226
|
+
name: 'Uno',
|
|
227
|
+
x: 0,
|
|
228
|
+
y: 0,
|
|
229
|
+
fill: 'rgba(255, 255, 255, 0.1)',
|
|
230
|
+
draggable: true,
|
|
231
|
+
points: [1150.0742574257429, 217.48228650990103, 1570.95297029703, 65.42288056930694, 1704.0049504950498, 195.7595142326733, 1576.383663366337, 421.13327660891093, 1247.8267326732675, 510.73971225247533],
|
|
232
|
+
stroke: 'rgb(101,154,93)',
|
|
233
|
+
closed: true
|
|
234
|
+
}],
|
|
235
|
+
badAreas: [{
|
|
236
|
+
id: 'AllArea',
|
|
237
|
+
name: 'BadArea',
|
|
238
|
+
x: 0,
|
|
239
|
+
y: 0,
|
|
240
|
+
fill: 'rgba(255, 255, 255, 0.1)',
|
|
241
|
+
draggable: true,
|
|
242
|
+
points: [0, 0, 1920, 0, 1920, 1097, 0, 1097, 0, 0],
|
|
243
|
+
stroke: '#ff634d',
|
|
244
|
+
strokeWidth: 2,
|
|
245
|
+
closed: true
|
|
246
|
+
}],
|
|
247
|
+
hasClickOrder: false,
|
|
248
|
+
hasHighlights: true,
|
|
249
|
+
specificFeedbacks: {
|
|
250
|
+
correctFeedbacks: [{
|
|
251
|
+
id: 'Uno',
|
|
252
|
+
desc: 'specificFeedbacks 1 correcto',
|
|
253
|
+
rewards: [{
|
|
254
|
+
id: 'k2koxnkq',
|
|
255
|
+
name: 'Power',
|
|
256
|
+
points: 10,
|
|
257
|
+
type: 'score'
|
|
258
|
+
}]
|
|
259
|
+
}, {
|
|
260
|
+
id: 'Dos',
|
|
261
|
+
desc: 'specificFeedbacks 2 correcto',
|
|
262
|
+
rewards: [{
|
|
263
|
+
id: 'k2koxnkq',
|
|
264
|
+
name: 'Power',
|
|
265
|
+
points: 10,
|
|
266
|
+
type: 'score'
|
|
267
|
+
}]
|
|
268
|
+
}, {
|
|
269
|
+
id: 'Tres',
|
|
270
|
+
desc: 'specificFeedbacks 3 correcto',
|
|
271
|
+
rewards: [{
|
|
272
|
+
id: 'k2koxnkq',
|
|
273
|
+
name: 'Power',
|
|
274
|
+
points: 10,
|
|
275
|
+
type: 'score'
|
|
276
|
+
}]
|
|
277
|
+
}],
|
|
278
|
+
wrongFeedbacks: [{
|
|
279
|
+
id: 'Uno_bad',
|
|
280
|
+
desc: 'specificFeedbacks 1 incorrecto',
|
|
281
|
+
rewards: [{
|
|
282
|
+
id: 'k2koxnkq',
|
|
283
|
+
name: 'Power',
|
|
284
|
+
points: -10,
|
|
285
|
+
type: 'score'
|
|
286
|
+
}]
|
|
287
|
+
}, {
|
|
288
|
+
id: 'Dos_bad',
|
|
289
|
+
desc: 'specificFeedbacks 2 incorrecto',
|
|
290
|
+
rewards: [{
|
|
291
|
+
id: 'k2koxnkq',
|
|
292
|
+
name: 'Power',
|
|
293
|
+
points: -10,
|
|
294
|
+
type: 'score'
|
|
295
|
+
}]
|
|
296
|
+
}]
|
|
297
|
+
}
|
|
298
|
+
}, {
|
|
299
|
+
info: {
|
|
300
|
+
hint: {
|
|
301
|
+
active: true,
|
|
302
|
+
desc: 'hint',
|
|
303
|
+
rewards: []
|
|
304
|
+
},
|
|
305
|
+
resolve: {
|
|
306
|
+
rewards: []
|
|
307
|
+
},
|
|
308
|
+
solution: {
|
|
309
|
+
right: {
|
|
310
|
+
desc: 'Estupendo',
|
|
311
|
+
desc_labelId: 'alfalfa01',
|
|
312
|
+
rewards: []
|
|
313
|
+
},
|
|
314
|
+
wrong: {
|
|
315
|
+
desc: 'BUUUU',
|
|
316
|
+
desc_labelId: 'fabada01',
|
|
317
|
+
rewards: [{
|
|
318
|
+
id: 'grade',
|
|
319
|
+
name: 'grade',
|
|
320
|
+
points: -17,
|
|
321
|
+
type: 'grade'
|
|
322
|
+
}]
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
instructions: 'instructions'
|
|
326
|
+
},
|
|
327
|
+
itemOrder: 2,
|
|
328
|
+
image: {
|
|
329
|
+
imgName: 'pablo-carpio-slave2.jpeg',
|
|
330
|
+
img: {
|
|
331
|
+
url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/609e3d358782ea00116a7eee/pablo-carpio-slave2.jpeg',
|
|
332
|
+
imgName: 'Paz-Vizla-Concept.png',
|
|
333
|
+
resourceId: '609e3d358782ea00116a7eee'
|
|
334
|
+
},
|
|
335
|
+
width: 1920,
|
|
336
|
+
height: 1099
|
|
337
|
+
},
|
|
338
|
+
areas: [{
|
|
339
|
+
id: 'Dos',
|
|
340
|
+
name: 'Uno',
|
|
341
|
+
x: 0,
|
|
342
|
+
y: 0,
|
|
343
|
+
fill: 'rgba(68, 215, 171, 0.56)',
|
|
344
|
+
draggable: true,
|
|
345
|
+
points: [1305.4777227722775, 606.8812654702971, 1455.094059405941, 593.2797803217823, 1463.2549504950498, 941.4778001237626, 1346.282178217822, 1012.2055228960397, 1275.5544554455448, 906.1139387376239],
|
|
346
|
+
stroke: 'rgb(101,154,93)',
|
|
347
|
+
closed: true
|
|
348
|
+
}, {
|
|
349
|
+
id: 'Tres',
|
|
350
|
+
name: 'Dos',
|
|
351
|
+
x: 0,
|
|
352
|
+
y: 0,
|
|
353
|
+
fill: 'rgba(68, 215, 171, 0.56)',
|
|
354
|
+
draggable: true,
|
|
355
|
+
points: [171.1138613861387, 506.23027537128723, 312.5693069306932, 519.8317605198021, 304.4084158415843, 593.2797803217823, 157.51237623762387, 585.1188892326734],
|
|
356
|
+
stroke: 'rgb(101,154,93)',
|
|
357
|
+
closed: true
|
|
358
|
+
}],
|
|
359
|
+
badAreas: [{
|
|
360
|
+
id: 'AllArea',
|
|
361
|
+
name: 'BadArea',
|
|
362
|
+
x: 0,
|
|
363
|
+
y: 0,
|
|
364
|
+
fill: 'rgba(255, 255, 255, 0.1)',
|
|
365
|
+
draggable: true,
|
|
366
|
+
points: [0, 0, 1920, 0, 1920, 1099, 0, 1099, 0, 0],
|
|
367
|
+
stroke: '#ff634d',
|
|
368
|
+
strokeWidth: 2,
|
|
369
|
+
closed: true
|
|
370
|
+
}],
|
|
371
|
+
hasClickOrder: true,
|
|
372
|
+
hasHighlights: true,
|
|
373
|
+
specificFeedbacks: {
|
|
374
|
+
correctFeedbacks: [{
|
|
375
|
+
id: 'Uno',
|
|
376
|
+
desc: 'specificFeedbacks 1 correcto',
|
|
377
|
+
rewards: [{
|
|
378
|
+
id: 'k2koxnkq',
|
|
379
|
+
name: 'Power',
|
|
380
|
+
points: 10,
|
|
381
|
+
type: 'score'
|
|
382
|
+
}]
|
|
383
|
+
}, {
|
|
384
|
+
id: 'Dos',
|
|
385
|
+
desc: 'specificFeedbacks 2 correcto',
|
|
386
|
+
rewards: [{
|
|
387
|
+
id: 'k2koxnkq',
|
|
388
|
+
name: 'Power',
|
|
389
|
+
points: 10,
|
|
390
|
+
type: 'score'
|
|
391
|
+
}]
|
|
392
|
+
}, {
|
|
393
|
+
id: 'Tres',
|
|
394
|
+
desc: 'specificFeedbacks 3 correcto',
|
|
395
|
+
rewards: [{
|
|
396
|
+
id: 'k2koxnkq',
|
|
397
|
+
name: 'Power',
|
|
398
|
+
points: 10,
|
|
399
|
+
type: 'score'
|
|
400
|
+
}]
|
|
401
|
+
}],
|
|
402
|
+
wrongFeedbacks: [{
|
|
403
|
+
id: 'Uno_bad',
|
|
404
|
+
desc: 'specificFeedbacks 1 incorrecto',
|
|
405
|
+
rewards: [{
|
|
406
|
+
id: 'k2koxnkq',
|
|
407
|
+
name: 'Power',
|
|
408
|
+
points: -10,
|
|
409
|
+
type: 'score'
|
|
410
|
+
}]
|
|
411
|
+
}, {
|
|
412
|
+
id: 'Dos_bad',
|
|
413
|
+
desc: 'specificFeedbacks 2 incorrecto',
|
|
414
|
+
rewards: [{
|
|
415
|
+
id: 'k2koxnkq',
|
|
416
|
+
name: 'Power',
|
|
417
|
+
points: -10,
|
|
418
|
+
type: 'score'
|
|
419
|
+
}]
|
|
420
|
+
}]
|
|
421
|
+
}
|
|
422
|
+
}]
|
|
423
|
+
};
|
|
424
|
+
exports.mockProps2 = mockProps2;
|
|
@@ -19,9 +19,7 @@ var Message = function Message(_ref) {
|
|
|
19
19
|
className: "conversation--message ".concat(voiceOver ? 'voice--over' : '')
|
|
20
20
|
}, voiceOver ? /*#__PURE__*/_react.default.createElement("div", {
|
|
21
21
|
className: "conversation--voice__over"
|
|
22
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
23
|
-
className: "icon-voice-over"
|
|
24
|
-
}), /*#__PURE__*/_react.default.createElement("span", null, current.name ? current.name : 'Voice-Over')) : /*#__PURE__*/_react.default.createElement("div", null), /*#__PURE__*/_react.default.createElement("span", {
|
|
22
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, current.name ? current.name : 'Voice-Over')) : /*#__PURE__*/_react.default.createElement("div", null), /*#__PURE__*/_react.default.createElement("span", {
|
|
25
23
|
className: "conversation--main__text"
|
|
26
24
|
}, currentText));
|
|
27
25
|
};
|
|
@@ -44,7 +44,6 @@ var CurrentFramePuzzle = function CurrentFramePuzzle(_ref) {
|
|
|
44
44
|
framesCompleted = _ref.framesCompleted,
|
|
45
45
|
handleFinish = _ref.handleFinish,
|
|
46
46
|
setRewards = _ref.setRewards,
|
|
47
|
-
accRewards = _ref.accRewards,
|
|
48
47
|
setIndex = _ref.setIndex,
|
|
49
48
|
setFramesCompleted = _ref.setFramesCompleted,
|
|
50
49
|
loadPuzzleStatus = _ref.loadPuzzleStatus,
|
|
@@ -55,14 +54,18 @@ var CurrentFramePuzzle = function CurrentFramePuzzle(_ref) {
|
|
|
55
54
|
translateFromParent = _ref.translateFromParent,
|
|
56
55
|
setInfo = _ref.setInfo,
|
|
57
56
|
emitEvent = _ref.emitEvent,
|
|
58
|
-
nodeId = _ref.nodeId
|
|
57
|
+
nodeId = _ref.nodeId,
|
|
58
|
+
setSelected = _ref.setSelected,
|
|
59
|
+
selected = _ref.selected;
|
|
59
60
|
|
|
60
61
|
var _soundActions = _slicedToArray(soundActions, 1),
|
|
61
62
|
playSound = _soundActions[0];
|
|
62
63
|
|
|
63
64
|
var props = list[index];
|
|
64
|
-
var info = props.info
|
|
65
|
+
var info = props.info,
|
|
66
|
+
specificFeedbacks = props.specificFeedbacks;
|
|
65
67
|
info.description = description;
|
|
68
|
+
var correctClicked = (0, _react.useRef)(0);
|
|
66
69
|
var puzzleId = "frame-image-click-puzzle_".concat(index, "_").concat(nodeId);
|
|
67
70
|
(0, _react.useEffect)(function () {
|
|
68
71
|
puzzlesCompiledRef.current += 1;
|
|
@@ -72,18 +75,49 @@ var CurrentFramePuzzle = function CurrentFramePuzzle(_ref) {
|
|
|
72
75
|
hintId: puzzleId
|
|
73
76
|
}));
|
|
74
77
|
}, [setInfo, info, puzzleId]);
|
|
78
|
+
(0, _react.useEffect)(function () {
|
|
79
|
+
correctClicked.current = 0;
|
|
80
|
+
}, [index]);
|
|
75
81
|
var onComplete = (0, _react.useCallback)(function (rw) {
|
|
76
|
-
var
|
|
82
|
+
var correct = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
83
|
+
|
|
84
|
+
var updatedCompleted = _objectSpread({}, framesCompleted);
|
|
85
|
+
|
|
86
|
+
if (correct) {
|
|
87
|
+
var _specificFeedbacks$co;
|
|
88
|
+
|
|
89
|
+
if ((_specificFeedbacks$co = specificFeedbacks.correctFeedbacks) !== null && _specificFeedbacks$co !== void 0 && _specificFeedbacks$co.length) {
|
|
90
|
+
correctClicked.current += 1;
|
|
91
|
+
setSelected(selected + 1);
|
|
92
|
+
} else {
|
|
93
|
+
correctClicked.current += props.areas.length;
|
|
94
|
+
setSelected(selected + props.areas.length);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if (correctClicked.current === props.areas.length) {
|
|
98
|
+
if (index + 1 >= list.length) {
|
|
99
|
+
handleFinish(rw);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
updatedCompleted = _objectSpread(_objectSpread({}, updatedCompleted), {}, _defineProperty({}, index, true));
|
|
103
|
+
setFramesCompleted(updatedCompleted);
|
|
104
|
+
setIndex(index + 1 > list.length - 1 ? 0 : index + 1);
|
|
105
|
+
}
|
|
77
106
|
|
|
78
|
-
if (Object.keys(updatedCompleted).length === list.length) {
|
|
79
|
-
handleFinish(rw);
|
|
80
|
-
} else {
|
|
81
107
|
setRewards(rw);
|
|
82
|
-
|
|
108
|
+
} else {
|
|
109
|
+
emitEvent({
|
|
110
|
+
type: 'addPoints',
|
|
111
|
+
payload: rw,
|
|
112
|
+
finish: false
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
if (props.hasClickOrder) {
|
|
116
|
+
setSelected(selected - correctClicked.current);
|
|
117
|
+
correctClicked.current = 0;
|
|
118
|
+
}
|
|
83
119
|
}
|
|
84
|
-
|
|
85
|
-
setFramesCompleted(updatedCompleted);
|
|
86
|
-
}, [framesCompleted, handleFinish, index, list.length, setFramesCompleted, setIndex, setRewards]);
|
|
120
|
+
}, [emitEvent, specificFeedbacks, framesCompleted, props.hasClickOrder, props.areas.length, list.length, selected, setSelected, setRewards, index, setFramesCompleted, setIndex, handleFinish]);
|
|
87
121
|
var handleResolve = (0, _react.useCallback)(function () {
|
|
88
122
|
playSound('score');
|
|
89
123
|
emitEvent({
|
|
@@ -114,6 +148,7 @@ var CurrentFramePuzzle = function CurrentFramePuzzle(_ref) {
|
|
|
114
148
|
name: "",
|
|
115
149
|
component: 'frame-click-puzzle'
|
|
116
150
|
},
|
|
151
|
+
specificFeedbacks: specificFeedbacks,
|
|
117
152
|
emitFinish: onComplete,
|
|
118
153
|
emitResolve: handleResolve,
|
|
119
154
|
hideContinue: true,
|
package/dist/components/frame-click-puzzle-component/components/FrameClickPuzzleComponent.js
CHANGED
|
@@ -63,6 +63,11 @@ var FrameImageClickComponent = function FrameImageClickComponent(_ref) {
|
|
|
63
63
|
framesCompleted = _useState4[0],
|
|
64
64
|
setFramesCompleted = _useState4[1];
|
|
65
65
|
|
|
66
|
+
var _useState5 = (0, _react.useState)(0),
|
|
67
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
68
|
+
selected = _useState6[0],
|
|
69
|
+
setSelected = _useState6[1];
|
|
70
|
+
|
|
66
71
|
var puzzlesCompiledRef = (0, _react.useRef)(0);
|
|
67
72
|
var hideTooltipRef = (0, _react.useRef)(false);
|
|
68
73
|
|
|
@@ -125,6 +130,8 @@ var FrameImageClickComponent = function FrameImageClickComponent(_ref) {
|
|
|
125
130
|
handleFinish: handleFinish,
|
|
126
131
|
setRewards: setRewards,
|
|
127
132
|
accRewards: accRewards,
|
|
133
|
+
setSelected: setSelected,
|
|
134
|
+
selected: selected,
|
|
128
135
|
setIndex: setIndex,
|
|
129
136
|
setFramesCompleted: setFramesCompleted,
|
|
130
137
|
loadPuzzleStatus: loadPuzzleStatus,
|
|
@@ -165,7 +172,7 @@ var FrameImageClickComponent = function FrameImageClickComponent(_ref) {
|
|
|
165
172
|
}))), showFrames ? /*#__PURE__*/_react.default.createElement("div", {
|
|
166
173
|
className: "puzzle-frame__info"
|
|
167
174
|
}, /*#__PURE__*/_react.default.createElement(_Counter.default, {
|
|
168
|
-
current:
|
|
175
|
+
current: selected,
|
|
169
176
|
total: totalCorrects,
|
|
170
177
|
tooltip: !hideTooltipRef.current,
|
|
171
178
|
emitEvent: emitEvent
|