@gamelearn/arcade-components 2.23.10 → 2.24.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/dist/components/auto-evaluation-component/components/AutoEvaluation.js +2 -3
- package/dist/components/decision-component/components/Options.js +2 -1
- package/dist/components/index.js +0 -8
- package/dist/components/survey-component/components/ApplicableBox.js +16 -12
- package/dist/components/survey-component/components/SurveyComponent.js +3 -3
- package/dist/components/test-component/components/Container.js +87 -22
- package/dist/components/test-component/components/Feedbacks.js +44 -0
- package/dist/components/test-component/components/Questions.js +119 -25
- package/dist/components/test-component/components/Results.js +113 -22
- package/dist/components/test-component/components/TestComponent.js +94 -40
- package/package.json +2 -2
- package/dist/components/media-visor/components/MediaVisor.js +0 -143
- package/dist/components/media-visor/index.js +0 -13
- package/dist/components/media-visor/mocks/mockForStory.js +0 -31
- package/dist/components/rewards-component/components/RewardItem.js +0 -88
- package/dist/components/rewards-component/components/RewardsComponent.js +0 -196
- package/dist/components/rewards-component/index.js +0 -13
- package/dist/components/rewards-component/mocks/mockForStory.js +0 -204
- package/dist/components/test-component/components/Feedback.js +0 -53
|
@@ -183,9 +183,8 @@ var AutoEvaluation = function AutoEvaluation(_ref) {
|
|
|
183
183
|
className: "survey--questions__container",
|
|
184
184
|
"aria-label": "survey questions container"
|
|
185
185
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
186
|
-
className: "survey--
|
|
187
|
-
|
|
188
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, translate('auto-evaluation.question'), "\xA0", currentQuestion + 1, " ", translate('storylines.misc.of'), " ", questions.length), /*#__PURE__*/_react.default.createElement("span", null, translate('auto-evaluation.allQuestionsMandatory'))), /*#__PURE__*/_react.default.createElement("div", {
|
|
186
|
+
className: "survey--questions__intertitle"
|
|
187
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("span", null, translate('auto-evaluation.question'), "\xA0", currentQuestion + 1, " ", translate('storylines.misc.of'), " ", questions.length)), /*#__PURE__*/_react.default.createElement("div", null, translate('auto-evaluation.allQuestionsMandatory'))), /*#__PURE__*/_react.default.createElement("div", {
|
|
189
188
|
key: "".concat(questions[currentQuestion])
|
|
190
189
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
191
190
|
className: "survey--questions__item",
|
|
@@ -71,11 +71,12 @@ var Options = function Options(_ref) {
|
|
|
71
71
|
}).map(function (option) {
|
|
72
72
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
73
73
|
key: option.id,
|
|
74
|
-
className: "".concat(inherited ? 'conversation--question' : 'radio', "\n ").concat(neutralDecisionVisualEffect === option.id ? 'radio-text-clicked' : '')
|
|
74
|
+
className: "".concat(inherited ? 'conversation--question custom-radio' : 'custom-radio', "\n ").concat(neutralDecisionVisualEffect === option.id ? 'radio-text-clicked' : '')
|
|
75
75
|
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
76
76
|
onChange: function onChange() {
|
|
77
77
|
whenSelectOption(option);
|
|
78
78
|
},
|
|
79
|
+
className: "radio",
|
|
79
80
|
type: "radio",
|
|
80
81
|
id: option.text,
|
|
81
82
|
name: option.id,
|
package/dist/components/index.js
CHANGED
|
@@ -131,12 +131,6 @@ Object.defineProperty(exports, "LoginPuzzleComponent", {
|
|
|
131
131
|
return _loginPuzzleComponent.default;
|
|
132
132
|
}
|
|
133
133
|
});
|
|
134
|
-
Object.defineProperty(exports, "MediaVisor", {
|
|
135
|
-
enumerable: true,
|
|
136
|
-
get: function get() {
|
|
137
|
-
return _mediaVisor.default;
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
134
|
Object.defineProperty(exports, "NoticeComponent", {
|
|
141
135
|
enumerable: true,
|
|
142
136
|
get: function get() {
|
|
@@ -284,8 +278,6 @@ var _testComponent = _interopRequireDefault(require("./test-component"));
|
|
|
284
278
|
|
|
285
279
|
var _surveyComponent = _interopRequireDefault(require("./survey-component"));
|
|
286
280
|
|
|
287
|
-
var _mediaVisor = _interopRequireDefault(require("./media-visor"));
|
|
288
|
-
|
|
289
281
|
var _autoEvaluationComponent = _interopRequireDefault(require("./auto-evaluation-component"));
|
|
290
282
|
|
|
291
283
|
var _patternComponent = _interopRequireDefault(require("./pattern-component"));
|
|
@@ -33,18 +33,22 @@ var ApplicableBox = function ApplicableBox(_ref) {
|
|
|
33
33
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
34
34
|
className: "survey--page__item"
|
|
35
35
|
}, OPTIONS.map(function (option, i) {
|
|
36
|
-
return
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
36
|
+
return (
|
|
37
|
+
/*#__PURE__*/
|
|
38
|
+
// TODO: convert this buttons to radiobutton and not agilize this question in order to A11y
|
|
39
|
+
_react.default.createElement("button", {
|
|
40
|
+
type: "button",
|
|
41
|
+
key: option,
|
|
42
|
+
onClick: function onClick() {
|
|
43
|
+
return select(option);
|
|
44
|
+
},
|
|
45
|
+
className: "unset-button survey--response__item ".concat(survey[id] === option ? 'selected' : '')
|
|
46
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
47
|
+
className: "survey--response__index"
|
|
48
|
+
}, LETTERS[i]), /*#__PURE__*/_react.default.createElement("div", {
|
|
49
|
+
className: "survey--response__text"
|
|
50
|
+
}, translate("survey.".concat(option))))
|
|
51
|
+
);
|
|
48
52
|
}));
|
|
49
53
|
};
|
|
50
54
|
|
|
@@ -112,11 +112,11 @@ var SurveyComponent = function SurveyComponent(_ref) {
|
|
|
112
112
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
113
113
|
className: "survey--questions__container"
|
|
114
114
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
115
|
-
className: "survey--
|
|
116
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, translate('survey.numQuestion', {
|
|
115
|
+
className: "survey--questions__intertitle"
|
|
116
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("span", null, translate('survey.numQuestion', {
|
|
117
117
|
init: page + 1,
|
|
118
118
|
page: PAGES.length
|
|
119
|
-
})), /*#__PURE__*/_react.default.createElement("
|
|
119
|
+
}))), /*#__PURE__*/_react.default.createElement("div", null, translate('auto-evaluation.allQuestionsMandatory'))), /*#__PURE__*/_react.default.createElement("label", {
|
|
120
120
|
className: "survey--questions__item",
|
|
121
121
|
htmlFor: translate("survey.question".concat(page + 1), {
|
|
122
122
|
ordinal: page + 1
|
|
@@ -11,7 +11,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _Questions = _interopRequireDefault(require("./Questions"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _Feedbacks = _interopRequireDefault(require("./Feedbacks"));
|
|
15
15
|
|
|
16
16
|
var _LangIsRtl = _interopRequireDefault(require("../../../helpers/LangIsRtl"));
|
|
17
17
|
|
|
@@ -48,7 +48,10 @@ var Container = function Container(_ref) {
|
|
|
48
48
|
disabled = _ref.disabled,
|
|
49
49
|
translate = _ref.translate,
|
|
50
50
|
soundActions = _ref.soundActions,
|
|
51
|
-
paused = _ref.paused
|
|
51
|
+
paused = _ref.paused,
|
|
52
|
+
view = _ref.view,
|
|
53
|
+
correctQuestions = _ref.correctQuestions;
|
|
54
|
+
var layerToBeScrolled = document.querySelector(".test--container");
|
|
52
55
|
|
|
53
56
|
var _useState = (0, _react.useState)(0),
|
|
54
57
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -84,10 +87,11 @@ var Container = function Container(_ref) {
|
|
|
84
87
|
}, [disabled, feedback, paused, saveInterval, setTime, time]);
|
|
85
88
|
|
|
86
89
|
var nextPage = function nextPage() {
|
|
90
|
+
layerToBeScrolled.scrollTo(0, 0);
|
|
87
91
|
play('click-ui');
|
|
88
92
|
|
|
89
93
|
if (answered) {
|
|
90
|
-
if (result[qid].feedback && !disabled) {
|
|
94
|
+
if (result[qid][0].feedback && !disabled) {
|
|
91
95
|
setFeedback(true);
|
|
92
96
|
} else {
|
|
93
97
|
answerPage(false);
|
|
@@ -96,7 +100,14 @@ var Container = function Container(_ref) {
|
|
|
96
100
|
}
|
|
97
101
|
};
|
|
98
102
|
|
|
103
|
+
var previousPage = function previousPage() {
|
|
104
|
+
play('click-ui');
|
|
105
|
+
setNextQuestion(currentQuestionId - 1);
|
|
106
|
+
};
|
|
107
|
+
|
|
99
108
|
var nextPageFeedback = function nextPageFeedback() {
|
|
109
|
+
layerToBeScrolled.scrollTo(0, 0);
|
|
110
|
+
|
|
100
111
|
if (questions[currentQuestionId + 1]) {
|
|
101
112
|
setFeedback(false);
|
|
102
113
|
answerPage(false);
|
|
@@ -107,9 +118,10 @@ var Container = function Container(_ref) {
|
|
|
107
118
|
};
|
|
108
119
|
|
|
109
120
|
var finishTest = function finishTest() {
|
|
121
|
+
layerToBeScrolled.scrollTo(0, 0);
|
|
110
122
|
setTries(tries + 1);
|
|
111
123
|
|
|
112
|
-
if (result[qid].feedback && !disabled) {
|
|
124
|
+
if (result[qid][0].feedback && !disabled) {
|
|
113
125
|
setFeedback(true);
|
|
114
126
|
} else {
|
|
115
127
|
showResults();
|
|
@@ -118,22 +130,52 @@ var Container = function Container(_ref) {
|
|
|
118
130
|
|
|
119
131
|
var minutes = Math.floor(time / 60);
|
|
120
132
|
var seconds = time % 60;
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}
|
|
133
|
+
(0, _react.useEffect)(function () {
|
|
134
|
+
// move scroll to checkbox in review mode
|
|
135
|
+
if (view === 'review') {
|
|
136
|
+
var idSelected = result["q".concat(currentQuestionId)][0].id;
|
|
137
|
+
var inputSelected = document.querySelector("#".concat(idSelected));
|
|
138
|
+
layerToBeScrolled.scrollTo(0, inputSelected.offsetTop);
|
|
139
|
+
}
|
|
140
|
+
}, [currentQuestionId, layerToBeScrolled, result, view]);
|
|
141
|
+
|
|
142
|
+
var questionAnsweredCorrectly = function questionAnsweredCorrectly() {
|
|
143
|
+
if (answered) {
|
|
144
|
+
var correctAnswers = correctQuestions[questions[currentQuestionId].id.substring(1)].answers;
|
|
145
|
+
var selectedAnswers = result[qid];
|
|
146
|
+
var thereAreWrongAnswersSelected = selectedAnswers.find(function (el) {
|
|
147
|
+
return el.isCorrect === false;
|
|
148
|
+
});
|
|
149
|
+
var fixedAnswers = 0;
|
|
150
|
+
selectedAnswers.forEach(function (el) {
|
|
151
|
+
if (correctAnswers.includes(el.id)) {
|
|
152
|
+
fixedAnswers += 1;
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
return !thereAreWrongAnswersSelected && fixedAnswers === correctAnswers.length;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
return false;
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, view === 'review' || feedback ? /*#__PURE__*/_react.default.createElement("div", {
|
|
162
|
+
className: "test-feedback-header ".concat(questionAnsweredCorrectly() ? 'success' : 'failed')
|
|
163
|
+
}, /*#__PURE__*/_react.default.createElement("h2", null, /*#__PURE__*/_react.default.createElement("span", {
|
|
164
|
+
className: "".concat(questionAnsweredCorrectly() ? 'icon-correct-thumb' : 'icon-incorrect-thumb')
|
|
165
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
166
|
+
className: "test-feedback-header__title"
|
|
167
|
+
}, questionAnsweredCorrectly() ? translate('tests.resolvedQuestion') : translate('tests.notResolvedQuestion')))) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
129
168
|
className: "test--questions"
|
|
130
169
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
131
170
|
className: "test--questions__container"
|
|
132
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
171
|
+
}, feedback ? /*#__PURE__*/_react.default.createElement(_Feedbacks.default, {
|
|
172
|
+
selectedAnswers: result[qid],
|
|
173
|
+
correctQuestions: correctQuestions[questions[currentQuestionId].id.substring(1)].answers,
|
|
174
|
+
question: questions[currentQuestionId].text,
|
|
175
|
+
translate: translate
|
|
176
|
+
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
177
|
+
className: "test--questions__intertitle"
|
|
178
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, (0, _LangIsRtl.default)() ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, currentQuestionId + 1, "/", questions.length, " ", /*#__PURE__*/_react.default.createElement("span", null, translate('tests.question'))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", null, translate('tests.question')), " ", currentQuestionId + 1, "/", questions.length)), view !== 'review' && time >= 0 ? /*#__PURE__*/_react.default.createElement("div", {
|
|
137
179
|
dir: "ltr",
|
|
138
180
|
className: "count-down ".concat(time < 10 ? 'count-down--finalseconds' : '')
|
|
139
181
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -145,10 +187,23 @@ var Container = function Container(_ref) {
|
|
|
145
187
|
answered: answered,
|
|
146
188
|
updateForm: updateForm,
|
|
147
189
|
question: questions[currentQuestionId],
|
|
190
|
+
correctQuestions: disabled ? correctQuestions[questions[currentQuestionId].id.substring(1)].answers : [],
|
|
148
191
|
translate: translate
|
|
149
|
-
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
150
|
-
className: "test--buttons next
|
|
151
|
-
},
|
|
192
|
+
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
193
|
+
className: "test--buttons ".concat(view === 'review' ? 'reviewmode' : 'next')
|
|
194
|
+
}, view === 'review' ? /*#__PURE__*/_react.default.createElement("button", {
|
|
195
|
+
disabled: currentQuestionId === 0,
|
|
196
|
+
id: "back-button",
|
|
197
|
+
onClick: function onClick() {
|
|
198
|
+
return previousPage();
|
|
199
|
+
},
|
|
200
|
+
type: "button",
|
|
201
|
+
className: "gat--btn__navigation ".concat(currentQuestionId === 0 ? 'disabled' : ''),
|
|
202
|
+
"aria-label": (0, _LangIsRtl.default)() ? translate('survey.next') : translate('survey.previous')
|
|
203
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
204
|
+
className: (0, _LangIsRtl.default)() ? 'icon-next' : 'icon-back'
|
|
205
|
+
})) : null, !feedback && questions[currentQuestionId + 1] ? /*#__PURE__*/_react.default.createElement("button", {
|
|
206
|
+
disabled: !answered,
|
|
152
207
|
id: "next-button",
|
|
153
208
|
onClick: function onClick() {
|
|
154
209
|
return nextPage();
|
|
@@ -158,7 +213,17 @@ var Container = function Container(_ref) {
|
|
|
158
213
|
"aria-label": (0, _LangIsRtl.default)() ? translate('survey.previous') : translate('survey.next')
|
|
159
214
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
160
215
|
className: (0, _LangIsRtl.default)() ? 'icon-back' : 'icon-next'
|
|
161
|
-
})) : /*#__PURE__*/_react.default.createElement("button", {
|
|
216
|
+
})) : null, feedback ? /*#__PURE__*/_react.default.createElement("button", {
|
|
217
|
+
id: "next-button",
|
|
218
|
+
onClick: function onClick() {
|
|
219
|
+
return nextPageFeedback();
|
|
220
|
+
},
|
|
221
|
+
type: "button",
|
|
222
|
+
className: "gat--btn__navigation"
|
|
223
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
224
|
+
className: (0, _LangIsRtl.default)() ? 'icon-back' : 'icon-next'
|
|
225
|
+
})) : null, !feedback && questions[currentQuestionId].id.substring(1) === (questions.length - 1).toString() ? /*#__PURE__*/_react.default.createElement("button", {
|
|
226
|
+
disabled: !answered,
|
|
162
227
|
id: "finish-button",
|
|
163
228
|
onClick: function onClick() {
|
|
164
229
|
play('click-ui');
|
|
@@ -172,7 +237,7 @@ var Container = function Container(_ref) {
|
|
|
172
237
|
"aria-label": (0, _LangIsRtl.default)() ? translate('survey.previous') : translate('survey.next')
|
|
173
238
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
174
239
|
className: (0, _LangIsRtl.default)() ? 'icon-back' : 'icon-next'
|
|
175
|
-
})))));
|
|
240
|
+
})) : null)));
|
|
176
241
|
};
|
|
177
242
|
|
|
178
243
|
var _default = Container;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
var LABELS_INDEX = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'];
|
|
13
|
+
|
|
14
|
+
var FeedbackItem = function FeedbackItem(_ref) {
|
|
15
|
+
var selectedAnswers = _ref.selectedAnswers,
|
|
16
|
+
correctQuestions = _ref.correctQuestions,
|
|
17
|
+
question = _ref.question,
|
|
18
|
+
translate = _ref.translate;
|
|
19
|
+
|
|
20
|
+
var questionAnsweredCorrectly = function questionAnsweredCorrectly(optionSelected) {
|
|
21
|
+
return correctQuestions.includes(optionSelected);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
25
|
+
className: "test--questions__item"
|
|
26
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, question)), selectedAnswers.map(function (answer) {
|
|
27
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
28
|
+
key: answer.text
|
|
29
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
30
|
+
className: "test--response__item ".concat(questionAnsweredCorrectly(answer.id) ? 'success' : 'failed')
|
|
31
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
32
|
+
className: "test--response__index"
|
|
33
|
+
}, LABELS_INDEX[answer.index]), /*#__PURE__*/_react.default.createElement("div", {
|
|
34
|
+
className: "test--response__text"
|
|
35
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, answer.text)), /*#__PURE__*/_react.default.createElement("div", {
|
|
36
|
+
className: "test--response__icon ".concat(questionAnsweredCorrectly(answer.id) ? 'icon-check-circle-black color--success' : 'icon-error-circle-black color--error')
|
|
37
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
38
|
+
className: "test--feedback"
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("b", null, /*#__PURE__*/_react.default.createElement("span", null, translate('test.feedback'), " ", selectedAnswers.length > 1 ? LABELS_INDEX[answer.index] : ''))), /*#__PURE__*/_react.default.createElement("span", null, answer.feedback)));
|
|
40
|
+
}));
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
var _default = FeedbackItem;
|
|
44
|
+
exports.default = _default;
|
|
@@ -1,13 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports.default = void 0;
|
|
7
9
|
|
|
8
|
-
var _react =
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
|
|
14
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
|
+
|
|
16
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
|
+
|
|
18
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
+
|
|
20
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
9
21
|
|
|
10
|
-
function
|
|
22
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
23
|
+
|
|
24
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
25
|
+
|
|
26
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
27
|
|
|
12
28
|
var LABELS_INDEX = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'];
|
|
13
29
|
|
|
@@ -17,31 +33,78 @@ var Questions = function Questions(_ref) {
|
|
|
17
33
|
question = _ref.question,
|
|
18
34
|
updateForm = _ref.updateForm,
|
|
19
35
|
result = _ref.result,
|
|
36
|
+
correctQuestions = _ref.correctQuestions,
|
|
20
37
|
translate = _ref.translate;
|
|
38
|
+
|
|
39
|
+
var _useState = (0, _react.useState)(false),
|
|
40
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
41
|
+
isMultiAnswers = _useState2[0],
|
|
42
|
+
setIsMultiAnswers = _useState2[1];
|
|
43
|
+
|
|
21
44
|
var filteredAnswers = question.answers.filter(function (answer) {
|
|
22
45
|
return answer.text;
|
|
23
46
|
});
|
|
24
47
|
|
|
25
|
-
var
|
|
26
|
-
var
|
|
48
|
+
var checkIfCheckboxIsChecked = function checkIfCheckboxIsChecked(id) {
|
|
49
|
+
var isChecked = false;
|
|
27
50
|
|
|
28
|
-
if (
|
|
29
|
-
|
|
51
|
+
if (result[question.id].find(function (element) {
|
|
52
|
+
return element.id === id;
|
|
53
|
+
})) {
|
|
54
|
+
isChecked = true;
|
|
30
55
|
}
|
|
31
56
|
|
|
32
|
-
|
|
33
|
-
|
|
57
|
+
return isChecked;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
var getInputStatus = function getInputStatus(answer) {
|
|
61
|
+
var status = '';
|
|
62
|
+
|
|
63
|
+
if (isMultiAnswers) {
|
|
64
|
+
if (answered && checkIfCheckboxIsChecked(answer.id)) {
|
|
65
|
+
status = 'selected';
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (disabled && checkIfCheckboxIsChecked(answer.id) && correctQuestions.includes(answer.id)) {
|
|
69
|
+
status = 'success';
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (disabled && checkIfCheckboxIsChecked(answer.id) && !correctQuestions.includes(answer.id)) {
|
|
73
|
+
status = 'failed';
|
|
74
|
+
}
|
|
75
|
+
} else {
|
|
76
|
+
if (answered && answer.id === result[question.id][0].id) {
|
|
77
|
+
status = 'selected';
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if (disabled && answer.id === result[question.id][0].id) {
|
|
81
|
+
status = result[question.id][0].isCorrect ? 'success' : 'failed';
|
|
82
|
+
}
|
|
34
83
|
}
|
|
35
84
|
|
|
36
|
-
return
|
|
85
|
+
return status;
|
|
37
86
|
};
|
|
38
87
|
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
88
|
+
var getIconStatus = function getIconStatus(answer) {
|
|
89
|
+
var status = getInputStatus(answer);
|
|
90
|
+
|
|
91
|
+
if (status === 'selected') {
|
|
92
|
+
return 'icon-check-circle-black color--selected';
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (status === 'success') {
|
|
96
|
+
return 'icon-check-circle-black color--success';
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (status === 'failed') {
|
|
100
|
+
return 'icon-error-circle-black color--error';
|
|
42
101
|
}
|
|
43
102
|
|
|
44
|
-
return
|
|
103
|
+
return '';
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
var showTooltip = function showTooltip(answer) {
|
|
107
|
+
return disabled && answer.feedback && (isMultiAnswers && checkIfCheckboxIsChecked(answer.id) || answer.id === result[question.id][0].id);
|
|
45
108
|
};
|
|
46
109
|
|
|
47
110
|
var tooltipPosition = function tooltipPosition(answers, answerIndex) {
|
|
@@ -56,26 +119,57 @@ var Questions = function Questions(_ref) {
|
|
|
56
119
|
return 'tooltip--center__right';
|
|
57
120
|
};
|
|
58
121
|
|
|
122
|
+
var checkIfIsMultiAnswer = question.answers.filter(function (a) {
|
|
123
|
+
return a.isCorrect;
|
|
124
|
+
});
|
|
125
|
+
(0, _react.useEffect)(function () {
|
|
126
|
+
if (checkIfIsMultiAnswer.length === 1) {
|
|
127
|
+
setIsMultiAnswers(false);
|
|
128
|
+
} else {
|
|
129
|
+
setIsMultiAnswers(true);
|
|
130
|
+
}
|
|
131
|
+
}, [checkIfIsMultiAnswer.length, isMultiAnswers, question.answers]);
|
|
59
132
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
60
133
|
className: "test--questions__item"
|
|
61
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, question.text)),
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
disabled: disabled && !
|
|
134
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, question.text)), isMultiAnswers && !disabled ? /*#__PURE__*/_react.default.createElement("div", {
|
|
135
|
+
className: "test--questions__intertitle test--questions__intertitle--multiresponse"
|
|
136
|
+
}, translate('tests.chooseMoreOneAnswer')) : null, filteredAnswers.map(function (answer, index) {
|
|
137
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
138
|
+
className: "test--response__fakeinput",
|
|
139
|
+
key: answer.text
|
|
140
|
+
}, isMultiAnswers ? /*#__PURE__*/_react.default.createElement("input", {
|
|
141
|
+
checked: answered && checkIfCheckboxIsChecked(answer.id),
|
|
142
|
+
disabled: disabled && !checkIfCheckboxIsChecked(answer.id),
|
|
143
|
+
readOnly: disabled,
|
|
144
|
+
type: "checkbox",
|
|
145
|
+
id: answer.id,
|
|
146
|
+
onChange: function onChange() {
|
|
147
|
+
return !disabled ? updateForm(answer, question.id, index, 'isCheckbox', answer.id) : null;
|
|
148
|
+
}
|
|
149
|
+
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("input", {
|
|
150
|
+
checked: answered && answer.id === result[question.id][0].id,
|
|
151
|
+
disabled: disabled && !getInputStatus(answer),
|
|
152
|
+
type: "radio",
|
|
153
|
+
name: "name",
|
|
154
|
+
id: answer.id,
|
|
155
|
+
onChange: function onChange() {
|
|
156
|
+
return !disabled ? updateForm(answer, question.id, index, 'isRadio') : null;
|
|
157
|
+
}
|
|
158
|
+
})), /*#__PURE__*/_react.default.createElement("label", {
|
|
159
|
+
htmlFor: answer.id,
|
|
160
|
+
className: "test--response__item ".concat(getInputStatus(answer))
|
|
70
161
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
71
162
|
className: "test--response__index"
|
|
72
163
|
}, LABELS_INDEX[index]), /*#__PURE__*/_react.default.createElement("div", {
|
|
73
164
|
className: "test--response__text"
|
|
74
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, answer.text)),
|
|
75
|
-
className: "test--
|
|
165
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, answer.text)), /*#__PURE__*/_react.default.createElement("div", {
|
|
166
|
+
className: "test--response__icon ".concat(getIconStatus(answer))
|
|
167
|
+
})), disabled ? /*#__PURE__*/_react.default.createElement("div", {
|
|
168
|
+
className: "test--feedback__info ".concat(!showTooltip(answer) ? 'test--feedback__info--hidden' : '')
|
|
76
169
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
77
|
-
className: "icon-info2"
|
|
170
|
+
className: "icon-info2 ".concat(getInputStatus(answer) === 'success' ? 'color--success' : 'color--error')
|
|
78
171
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
172
|
+
id: "tooltipFeedback-".concat(index),
|
|
79
173
|
className: "tooltip ".concat(tooltipPosition(filteredAnswers, index))
|
|
80
174
|
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("b", null, /*#__PURE__*/_react.default.createElement("span", null, translate('test.feedback')))), /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement("span", null, answer.feedback)))) : null);
|
|
81
175
|
}));
|