@gamelearn/arcade-components 2.41.0 → 3.0.1
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/README.md +8 -5
- package/dist/arcade-components.cjs +91984 -0
- package/dist/arcade-components.js +91968 -0
- package/package.json +74 -73
- package/dist/components/animation-component/components/AnimationComponent.js +0 -98
- package/dist/components/animation-component/index.js +0 -10
- package/dist/components/animation-component/mocks/mockForStory.js +0 -26
- package/dist/components/auto-evaluation-component/components/AutoEvaluation.js +0 -215
- package/dist/components/auto-evaluation-component/components/EndScreen.js +0 -43
- package/dist/components/auto-evaluation-component/components/StartScreen.js +0 -32
- package/dist/components/auto-evaluation-component/index.js +0 -10
- package/dist/components/auto-evaluation-component/mocks/mockForStory.js +0 -38
- package/dist/components/cards-selector-puzzle-component/components/Board/index.js +0 -159
- package/dist/components/cards-selector-puzzle-component/components/Card/index.js +0 -115
- package/dist/components/cards-selector-puzzle-component/components/CardsSelectorPuzzleComponent.js +0 -289
- package/dist/components/cards-selector-puzzle-component/index.js +0 -10
- package/dist/components/cards-selector-puzzle-component/mocks/mockForStory.js +0 -446
- package/dist/components/cartel-component/components/CartelComponent.js +0 -124
- package/dist/components/cartel-component/index.js +0 -10
- package/dist/components/chained-image-click-puzzle-component/components/ChainedImageClickPuzzleComponent.js +0 -80
- package/dist/components/chained-image-click-puzzle-component/components/CurrentImagePuzzle.js +0 -182
- package/dist/components/chained-image-click-puzzle-component/index.js +0 -10
- package/dist/components/chained-image-click-puzzle-component/mocks/mockForStory.js +0 -413
- package/dist/components/comic-component/components/ComicComponent.js +0 -201
- package/dist/components/comic-component/components/Slide.js +0 -31
- package/dist/components/comic-component/components/Vignette.js +0 -70
- package/dist/components/comic-component/index.js +0 -10
- package/dist/components/comic-component/mocks/mockForStory.js +0 -314
- package/dist/components/conversational-component/components/ConversationalComponent.js +0 -101
- package/dist/components/conversational-component/index.js +0 -10
- package/dist/components/conversational-pro-component/components/ConversationalProComponent.js +0 -543
- package/dist/components/conversational-pro-component/components/Message.js +0 -37
- package/dist/components/conversational-pro-component/components/Slot.js +0 -92
- package/dist/components/conversational-pro-component/components/SlotList.js +0 -162
- package/dist/components/conversational-pro-component/components/scene/Panel.js +0 -179
- package/dist/components/conversational-pro-component/components/scene/Panels.js +0 -46
- package/dist/components/conversational-pro-component/components/scene/index.js +0 -77
- package/dist/components/conversational-pro-component/index.js +0 -10
- package/dist/components/conversational-pro-component/mocks/mockForStory.js +0 -1529
- package/dist/components/cracker-puzzle-component/components/CrackerPuzzleComponent.js +0 -261
- package/dist/components/cracker-puzzle-component/components/DrawGrid/index.js +0 -33
- package/dist/components/cracker-puzzle-component/components/DrawItem/index.js +0 -48
- package/dist/components/cracker-puzzle-component/components/DrawRow/index.js +0 -43
- package/dist/components/cracker-puzzle-component/components/colors.js +0 -12
- package/dist/components/cracker-puzzle-component/components/helpers.js +0 -133
- package/dist/components/cracker-puzzle-component/index.js +0 -10
- package/dist/components/cracker-puzzle-component/mocks/mockForStory.js +0 -277
- package/dist/components/decision-component/components/DecisionBody.js +0 -116
- package/dist/components/decision-component/components/DecisionComponent.js +0 -248
- package/dist/components/decision-component/components/Feedback.js +0 -40
- package/dist/components/decision-component/components/Options.js +0 -74
- package/dist/components/decision-component/index.js +0 -10
- package/dist/components/decision-component/mocks/mockForStory.js +0 -166
- package/dist/components/dialog-component/components/BubbleWrapper.js +0 -39
- package/dist/components/dialog-component/components/DialogComponent.js +0 -779
- package/dist/components/dialog-component/components/DialogDecision.js +0 -44
- package/dist/components/dialog-component/components/SpeechBubbleComponent.js +0 -66
- package/dist/components/dialog-component/index.js +0 -10
- package/dist/components/dialog-component/mocks/mockForStory.js +0 -550
- package/dist/components/drag-item-puzzle-component/components/DragItemPuzzleComponent.js +0 -359
- package/dist/components/drag-item-puzzle-component/index.js +0 -10
- package/dist/components/drag-item-puzzle-component/mocks/mockForStory.js +0 -74
- package/dist/components/feedback-component/components/FeedbackComponent.js +0 -126
- package/dist/components/feedback-component/index.js +0 -10
- package/dist/components/feedback-component/mocks/mockForStory.js +0 -52
- package/dist/components/frame-click-puzzle-component/components/Counter/index.js +0 -24
- package/dist/components/frame-click-puzzle-component/components/CurrentFramePuzzle.js +0 -196
- package/dist/components/frame-click-puzzle-component/components/FrameClickPuzzleComponent.js +0 -178
- package/dist/components/frame-click-puzzle-component/components/Tooltip/index.js +0 -23
- package/dist/components/frame-click-puzzle-component/index.js +0 -10
- package/dist/components/frame-click-puzzle-component/mocks/mockForStory.js +0 -717
- package/dist/components/hacker-puzzle-component/components/HackerPuzzleComponent.js +0 -255
- package/dist/components/hacker-puzzle-component/components/languages.js +0 -13
- package/dist/components/hacker-puzzle-component/index.js +0 -10
- package/dist/components/hacker-puzzle-component/mocks/mockForStory.js +0 -103
- package/dist/components/hanged-puzzle-component/components/HangedPuzzleComponent.js +0 -488
- package/dist/components/hanged-puzzle-component/index.js +0 -10
- package/dist/components/hanged-puzzle-component/mocks/mockForStory.js +0 -61
- package/dist/components/hanged-puzzle-component/utils.js +0 -64
- package/dist/components/image-click-puzzle-component/components/ImageClickPuzzleComponent.js +0 -40
- package/dist/components/image-click-puzzle-component/index.js +0 -10
- package/dist/components/image-click-puzzle-component/mocks/mockForStory.js +0 -427
- package/dist/components/image-click-wrapper-component/components/CountDown/index.js +0 -18
- package/dist/components/image-click-wrapper-component/components/ImageClickWrapperComponent.js +0 -472
- package/dist/components/image-click-wrapper-component/components/TimerDialog/index.js +0 -26
- package/dist/components/image-click-wrapper-component/index.js +0 -10
- package/dist/components/image-click-wrapper-component/mocks/mockForStory.js +0 -432
- package/dist/components/image-component/components/ImageComponent.js +0 -83
- package/dist/components/image-component/index.js +0 -10
- package/dist/components/image-component/mocks/mockForStory.js +0 -52
- package/dist/components/index.js +0 -260
- package/dist/components/inventory-item/components/InventoryItem.js +0 -120
- package/dist/components/inventory-item/index.js +0 -10
- package/dist/components/inventory-item/mocks/mockForStory.js +0 -29
- package/dist/components/keyboard-puzzle-component/components/KeyboardPuzzleComponent.js +0 -275
- package/dist/components/keyboard-puzzle-component/index.js +0 -10
- package/dist/components/keyboard-puzzle-component/mocks/mockForStory.js +0 -40
- package/dist/components/konva-components/Area/index.js +0 -170
- package/dist/components/konva-components/KonvaMapper.js +0 -185
- package/dist/components/lectures-component/components/LectureButtons.js +0 -40
- package/dist/components/lectures-component/components/LecturesComponent.js +0 -157
- package/dist/components/lectures-component/index.js +0 -10
- package/dist/components/lectures-component/mocks/mockForStory.js +0 -39
- package/dist/components/login-puzzle-component/components/LoginPuzzleComponent.js +0 -243
- package/dist/components/login-puzzle-component/index.js +0 -10
- package/dist/components/login-puzzle-component/mocks/mockForStory.js +0 -38
- package/dist/components/notice-component/components/NoticeComponent.js +0 -96
- package/dist/components/notice-component/index.js +0 -10
- package/dist/components/notice-component/mocks/mockForStory.js +0 -20
- package/dist/components/pattern-component/components/PatternComponent.js +0 -78
- package/dist/components/pattern-component/index.js +0 -10
- package/dist/components/pattern-component/mocks/mockForStory.js +0 -35
- package/dist/components/pdf-component/components/PdfComponent.js +0 -122
- package/dist/components/pdf-component/components/PdfVisor.js +0 -187
- package/dist/components/pdf-component/index.js +0 -20
- package/dist/components/pdf-component/mocks/mockForProps.js +0 -38
- package/dist/components/referral-component/components/EmailPill.js +0 -26
- package/dist/components/referral-component/components/ReferralComponent.js +0 -115
- package/dist/components/referral-component/components/StepOne.js +0 -170
- package/dist/components/referral-component/components/StepTwo.js +0 -57
- package/dist/components/referral-component/index.js +0 -10
- package/dist/components/referral-component/mocks/mockForStory.js +0 -40
- package/dist/components/survey-component/components/ApplicableBox.js +0 -49
- package/dist/components/survey-component/components/OpinionBox.js +0 -45
- package/dist/components/survey-component/components/SurveyComponent.js +0 -150
- package/dist/components/survey-component/components/TextBox.js +0 -40
- package/dist/components/survey-component/index.js +0 -10
- package/dist/components/survey-component/mocks/mockForStory.js +0 -14
- package/dist/components/terminal-puzzle-component/components/FilesGroup/Item.js +0 -28
- package/dist/components/terminal-puzzle-component/components/FilesGroup/index.js +0 -76
- package/dist/components/terminal-puzzle-component/components/Image/index.js +0 -22
- package/dist/components/terminal-puzzle-component/components/TerminalPuzzleComponent.js +0 -216
- package/dist/components/terminal-puzzle-component/components/Visor/index.js +0 -129
- package/dist/components/terminal-puzzle-component/components/utils/index.js +0 -26
- package/dist/components/terminal-puzzle-component/index.js +0 -10
- package/dist/components/terminal-puzzle-component/mocks/mockForStory.js +0 -188
- package/dist/components/test-component/components/Container.js +0 -211
- package/dist/components/test-component/components/Feedbacks.js +0 -48
- package/dist/components/test-component/components/Questions.js +0 -145
- package/dist/components/test-component/components/Results.js +0 -208
- package/dist/components/test-component/components/TestComponent.js +0 -302
- package/dist/components/test-component/index.js +0 -10
- package/dist/components/test-component/mocks/mockForStory.js +0 -113
- package/dist/components/text-click-puzzle-component/components/TextClickPuzzleComponent.js +0 -387
- package/dist/components/text-click-puzzle-component/index.js +0 -10
- package/dist/components/text-click-puzzle-component/mocks/mockForStory.js +0 -485
- package/dist/components/text-click-puzzle-component/utils/index.js +0 -76
- package/dist/components/url-component/components/UrlComponent.js +0 -88
- package/dist/components/url-component/index.js +0 -10
- package/dist/components/url-component/mocks/mockForProps.js +0 -20
- package/dist/components/video-component/components/VideoComponent.js +0 -73
- package/dist/components/video-component/index.js +0 -10
- package/dist/components/video-component/mocks/mockForStory.js +0 -94
- package/dist/components/video-visor/components/VideoControllers/BufferBar.js +0 -108
- package/dist/components/video-visor/components/VideoControllers/ControlButtons.js +0 -31
- package/dist/components/video-visor/components/VideoControllers/FinishedVideoButtons.js +0 -32
- package/dist/components/video-visor/components/VideoControllers/PlayInitButton.js +0 -37
- package/dist/components/video-visor/components/VideoControllers/SkipButton.js +0 -37
- package/dist/components/video-visor/components/VideoControllers/Timer.js +0 -37
- package/dist/components/video-visor/components/VideoControllers/VolumeBar.js +0 -92
- package/dist/components/video-visor/components/VideoControllers/index.js +0 -122
- package/dist/components/video-visor/components/VideoVisor.js +0 -271
- package/dist/components/video-visor/index.js +0 -10
- package/dist/components/video-visor/mocks/mockForStory.js +0 -42
- package/dist/components/web-builder-puzzle-component/Popups/PopupColorComponent/index.js +0 -87
- package/dist/components/web-builder-puzzle-component/Popups/PopupImageComponent/index.js +0 -94
- package/dist/components/web-builder-puzzle-component/Popups/PopupTextComponent/index.js +0 -114
- package/dist/components/web-builder-puzzle-component/Popups/index.js +0 -27
- package/dist/components/web-builder-puzzle-component/Templates/Bank.js +0 -98
- package/dist/components/web-builder-puzzle-component/Templates/Facebook.js +0 -37
- package/dist/components/web-builder-puzzle-component/Templates/resourcePath.js +0 -9
- package/dist/components/web-builder-puzzle-component/components/EditButton/index.js +0 -28
- package/dist/components/web-builder-puzzle-component/components/Feedback/index.js +0 -41
- package/dist/components/web-builder-puzzle-component/components/PublishButton/index.js +0 -29
- package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/BankBody.js +0 -118
- package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/FacebookBody.js +0 -149
- package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/index.js +0 -25
- package/dist/components/web-builder-puzzle-component/components/WebBuilderFront/index.js +0 -89
- package/dist/components/web-builder-puzzle-component/components/WebBuilderHeader/BankHeader.js +0 -84
- package/dist/components/web-builder-puzzle-component/components/WebBuilderHeader/FacebookHeader.js +0 -38
- package/dist/components/web-builder-puzzle-component/components/WebBuilderHeader/index.js +0 -40
- package/dist/components/web-builder-puzzle-component/components/WebBuilderPuzzleComponent.js +0 -302
- package/dist/components/web-builder-puzzle-component/components/WebBuilderTopBar/index.js +0 -30
- package/dist/components/web-builder-puzzle-component/index.js +0 -10
- package/dist/components/web-builder-puzzle-component/mocks/mockForStory.js +0 -27
- package/dist/components/writer-puzzle-component/components/ElectionComponent.js +0 -69
- package/dist/components/writer-puzzle-component/components/FeedbackComponent.js +0 -97
- package/dist/components/writer-puzzle-component/components/FeedbackElement.js +0 -32
- package/dist/components/writer-puzzle-component/components/FinishedTextComponent.js +0 -25
- package/dist/components/writer-puzzle-component/components/FixedComponent.js +0 -120
- package/dist/components/writer-puzzle-component/components/SingleElection.js +0 -85
- package/dist/components/writer-puzzle-component/components/WriterPuzzleComponent.js +0 -450
- package/dist/components/writer-puzzle-component/index.js +0 -10
- package/dist/components/writer-puzzle-component/mocks/mockForStory.js +0 -1194
- package/dist/components/zoom-test/components/ZoomTest.js +0 -73
- package/dist/components/zoom-test/index.js +0 -10
- package/dist/components/zoom-test/mocks/mockForStory.js +0 -21
- package/dist/helpers/LangIsRtl.js +0 -16
- package/dist/helpers/LightSet.js +0 -35
- package/dist/helpers/LodController.js +0 -28
- package/dist/helpers/deviceDetection.js +0 -21
- package/dist/helpers/drawLOD.js +0 -310
- package/dist/helpers/index.js +0 -268
- package/dist/helpers/lodStats.js +0 -55
- package/dist/helpers/mocker.js +0 -116
- package/dist/helpers/useEkho.js +0 -172
- package/dist/helpers/useGLB.js +0 -57
- package/dist/helpers/useStateMachine.js +0 -277
- package/dist/helpers/useTimeout.js +0 -32
- package/dist/helpers/useWindowSize.js +0 -44
- package/dist/index.js +0 -16
- package/dist/test/testSceneWrapper.js +0 -31
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
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
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _Questions = _interopRequireDefault(require("./Questions"));
|
|
10
|
-
var _Feedbacks = _interopRequireDefault(require("./Feedbacks"));
|
|
11
|
-
var _LangIsRtl = _interopRequireDefault(require("../../../helpers/LangIsRtl"));
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
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); }
|
|
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
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
16
|
-
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."); }
|
|
17
|
-
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); }
|
|
18
|
-
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; }
|
|
19
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
20
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
21
|
-
var Container = function Container(_ref) {
|
|
22
|
-
var questions = _ref.questions,
|
|
23
|
-
setTime = _ref.setTime,
|
|
24
|
-
saveInterval = _ref.saveInterval,
|
|
25
|
-
result = _ref.result,
|
|
26
|
-
setTries = _ref.setTries,
|
|
27
|
-
tries = _ref.tries,
|
|
28
|
-
time = _ref.time,
|
|
29
|
-
showResults = _ref.showResults,
|
|
30
|
-
answered = _ref.answered,
|
|
31
|
-
answerPage = _ref.answerPage,
|
|
32
|
-
updateForm = _ref.updateForm,
|
|
33
|
-
disabled = _ref.disabled,
|
|
34
|
-
translate = _ref.translate,
|
|
35
|
-
soundActions = _ref.soundActions,
|
|
36
|
-
paused = _ref.paused,
|
|
37
|
-
view = _ref.view,
|
|
38
|
-
correctQuestions = _ref.correctQuestions,
|
|
39
|
-
feedbacksOnlyWhenReview = _ref.feedbacksOnlyWhenReview;
|
|
40
|
-
var layerToBeScrolled = document.querySelector(".test--container");
|
|
41
|
-
var _useState = (0, _react.useState)(0),
|
|
42
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
43
|
-
currentQuestionId = _useState2[0],
|
|
44
|
-
setNextQuestion = _useState2[1];
|
|
45
|
-
var _useState3 = (0, _react.useState)(),
|
|
46
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
47
|
-
feedback = _useState4[0],
|
|
48
|
-
setFeedback = _useState4[1];
|
|
49
|
-
var qid = questions[currentQuestionId].id;
|
|
50
|
-
var _soundActions = _slicedToArray(soundActions, 1),
|
|
51
|
-
play = _soundActions[0];
|
|
52
|
-
(0, _react.useEffect)(function () {
|
|
53
|
-
if (time >= 0 && !disabled && !paused) {
|
|
54
|
-
var timeout = setInterval(function () {
|
|
55
|
-
if (!feedback) {
|
|
56
|
-
setTime(function (t) {
|
|
57
|
-
return t - 1;
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}, 1000);
|
|
61
|
-
saveInterval(timeout);
|
|
62
|
-
return function () {
|
|
63
|
-
clearInterval(timeout);
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
return undefined;
|
|
67
|
-
}, [disabled, feedback, paused, saveInterval, setTime, time]);
|
|
68
|
-
var nextPage = function nextPage() {
|
|
69
|
-
layerToBeScrolled.scrollTo(0, 0);
|
|
70
|
-
play('click-ui');
|
|
71
|
-
if (answered) {
|
|
72
|
-
if (result[qid][0].feedback && !disabled && !feedbacksOnlyWhenReview) {
|
|
73
|
-
setFeedback(true);
|
|
74
|
-
} else {
|
|
75
|
-
answerPage(false);
|
|
76
|
-
setNextQuestion(currentQuestionId + 1);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
var previousPage = function previousPage() {
|
|
81
|
-
play('click-ui');
|
|
82
|
-
setNextQuestion(currentQuestionId - 1);
|
|
83
|
-
};
|
|
84
|
-
var nextPageFeedback = function nextPageFeedback() {
|
|
85
|
-
layerToBeScrolled.scrollTo(0, 0);
|
|
86
|
-
if (questions[currentQuestionId + 1]) {
|
|
87
|
-
setFeedback(false);
|
|
88
|
-
answerPage(false);
|
|
89
|
-
setNextQuestion(currentQuestionId + 1);
|
|
90
|
-
} else {
|
|
91
|
-
showResults();
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
var finishTest = function finishTest() {
|
|
95
|
-
layerToBeScrolled.scrollTo(0, 0);
|
|
96
|
-
setTries(tries + 1);
|
|
97
|
-
if (result[qid][0].feedback && !disabled && !feedbacksOnlyWhenReview) {
|
|
98
|
-
setFeedback(true);
|
|
99
|
-
} else {
|
|
100
|
-
showResults();
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
var minutes = Math.floor(time / 60);
|
|
104
|
-
var seconds = time % 60;
|
|
105
|
-
(0, _react.useEffect)(function () {
|
|
106
|
-
// move scroll to checkbox in review mode
|
|
107
|
-
if (view === 'review') {
|
|
108
|
-
var idSelected = result["q".concat(currentQuestionId)][0].id;
|
|
109
|
-
var inputSelected = document.querySelector("#".concat(idSelected));
|
|
110
|
-
layerToBeScrolled.scrollTo(0, inputSelected.offsetTop);
|
|
111
|
-
}
|
|
112
|
-
}, [currentQuestionId, layerToBeScrolled, result, view]);
|
|
113
|
-
var questionAnsweredCorrectly = function questionAnsweredCorrectly() {
|
|
114
|
-
if (answered) {
|
|
115
|
-
var correctAnswers = correctQuestions[questions[currentQuestionId].id.substring(1)].answers;
|
|
116
|
-
var selectedAnswers = result[qid];
|
|
117
|
-
var thereAreWrongAnswersSelected = selectedAnswers.find(function (el) {
|
|
118
|
-
return el.isCorrect === false;
|
|
119
|
-
});
|
|
120
|
-
var fixedAnswers = 0;
|
|
121
|
-
selectedAnswers.forEach(function (el) {
|
|
122
|
-
if (correctAnswers.includes(el.id)) {
|
|
123
|
-
fixedAnswers += 1;
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
return !thereAreWrongAnswersSelected && fixedAnswers === correctAnswers.length;
|
|
127
|
-
}
|
|
128
|
-
return false;
|
|
129
|
-
};
|
|
130
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, view === 'review' || feedback ? /*#__PURE__*/_react.default.createElement("div", {
|
|
131
|
-
className: "test-feedback-header ".concat(questionAnsweredCorrectly() ? 'success' : 'failed')
|
|
132
|
-
}, /*#__PURE__*/_react.default.createElement("h2", null, /*#__PURE__*/_react.default.createElement("span", {
|
|
133
|
-
className: "".concat(questionAnsweredCorrectly() ? 'icon-correct-thumb' : 'icon-incorrect-thumb')
|
|
134
|
-
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
135
|
-
className: "test-feedback-header__title"
|
|
136
|
-
}, questionAnsweredCorrectly() ? translate('tests.resolvedQuestion') : translate('tests.notResolvedQuestion')))) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
137
|
-
className: "test--questions"
|
|
138
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
139
|
-
className: "test--questions__container"
|
|
140
|
-
}, feedback ? /*#__PURE__*/_react.default.createElement(_Feedbacks.default, {
|
|
141
|
-
selectedAnswers: result[qid],
|
|
142
|
-
correctQuestions: correctQuestions[questions[currentQuestionId].id.substring(1)].answers,
|
|
143
|
-
question: questions[currentQuestionId].text,
|
|
144
|
-
translate: translate
|
|
145
|
-
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
146
|
-
className: "test--questions__intertitle"
|
|
147
|
-
}, /*#__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", {
|
|
148
|
-
dir: "ltr",
|
|
149
|
-
className: "count-down ".concat(time < 10 ? 'count-down--finalseconds' : '')
|
|
150
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
151
|
-
id: "test-time"
|
|
152
|
-
}, minutes < 10 ? "0".concat(minutes) : minutes, " : ", seconds < 10 ? "0".concat(seconds) : seconds)) : null), /*#__PURE__*/_react.default.createElement(_Questions.default, {
|
|
153
|
-
key: questions[currentQuestionId].id,
|
|
154
|
-
result: result,
|
|
155
|
-
disabled: disabled,
|
|
156
|
-
answered: answered,
|
|
157
|
-
updateForm: updateForm,
|
|
158
|
-
question: questions[currentQuestionId],
|
|
159
|
-
correctQuestions: disabled ? correctQuestions[questions[currentQuestionId].id.substring(1)].answers : [],
|
|
160
|
-
translate: translate
|
|
161
|
-
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
162
|
-
className: "test--buttons ".concat(view === 'review' ? 'reviewmode' : 'next')
|
|
163
|
-
}, view === 'review' ? /*#__PURE__*/_react.default.createElement("button", {
|
|
164
|
-
disabled: currentQuestionId === 0,
|
|
165
|
-
id: "back-button",
|
|
166
|
-
onClick: function onClick() {
|
|
167
|
-
return previousPage();
|
|
168
|
-
},
|
|
169
|
-
type: "button",
|
|
170
|
-
className: "gat--btn__navigation ".concat(currentQuestionId === 0 ? 'disabled' : ''),
|
|
171
|
-
"aria-label": (0, _LangIsRtl.default)() ? translate('survey.next') : translate('survey.previous')
|
|
172
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
173
|
-
className: (0, _LangIsRtl.default)() ? 'icon-next' : 'icon-back'
|
|
174
|
-
})) : null, !feedback && questions[currentQuestionId + 1] ? /*#__PURE__*/_react.default.createElement("button", {
|
|
175
|
-
disabled: !answered,
|
|
176
|
-
id: "next-button",
|
|
177
|
-
onClick: function onClick() {
|
|
178
|
-
return nextPage();
|
|
179
|
-
},
|
|
180
|
-
type: "button",
|
|
181
|
-
className: "gat--btn__navigation ".concat(!answered ? 'disabled' : ''),
|
|
182
|
-
"aria-label": (0, _LangIsRtl.default)() ? translate('survey.previous') : translate('survey.next')
|
|
183
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
184
|
-
className: (0, _LangIsRtl.default)() ? 'icon-back' : 'icon-next'
|
|
185
|
-
})) : null, feedback ? /*#__PURE__*/_react.default.createElement("button", {
|
|
186
|
-
id: "next-button",
|
|
187
|
-
onClick: function onClick() {
|
|
188
|
-
return nextPageFeedback();
|
|
189
|
-
},
|
|
190
|
-
type: "button",
|
|
191
|
-
className: "gat--btn__navigation"
|
|
192
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
193
|
-
className: (0, _LangIsRtl.default)() ? 'icon-back' : 'icon-next'
|
|
194
|
-
})) : null, !feedback && questions[currentQuestionId].id.substring(1) === (questions.length - 1).toString() ? /*#__PURE__*/_react.default.createElement("button", {
|
|
195
|
-
disabled: !answered,
|
|
196
|
-
id: "finish-button",
|
|
197
|
-
onClick: function onClick() {
|
|
198
|
-
play('click-ui');
|
|
199
|
-
if (answered) {
|
|
200
|
-
finishTest();
|
|
201
|
-
}
|
|
202
|
-
},
|
|
203
|
-
type: "button",
|
|
204
|
-
className: "gat--btn__navigation ".concat(!answered ? 'disabled' : ''),
|
|
205
|
-
"aria-label": (0, _LangIsRtl.default)() ? translate('survey.previous') : translate('survey.next')
|
|
206
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
207
|
-
className: (0, _LangIsRtl.default)() ? 'icon-back' : 'icon-next'
|
|
208
|
-
})) : null)));
|
|
209
|
-
};
|
|
210
|
-
var _default = Container;
|
|
211
|
-
exports.default = _default;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
var LABELS_INDEX = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'];
|
|
10
|
-
var FeedbackItem = function FeedbackItem(_ref) {
|
|
11
|
-
var selectedAnswers = _ref.selectedAnswers,
|
|
12
|
-
correctQuestions = _ref.correctQuestions,
|
|
13
|
-
question = _ref.question,
|
|
14
|
-
translate = _ref.translate;
|
|
15
|
-
var questionAnsweredCorrectly = function questionAnsweredCorrectly(optionSelected) {
|
|
16
|
-
return correctQuestions.includes(optionSelected);
|
|
17
|
-
};
|
|
18
|
-
var compare = function compare(a, b) {
|
|
19
|
-
if (a.index < b.index) {
|
|
20
|
-
return -1;
|
|
21
|
-
}
|
|
22
|
-
if (a.index > b.index) {
|
|
23
|
-
return 1;
|
|
24
|
-
}
|
|
25
|
-
return 0;
|
|
26
|
-
};
|
|
27
|
-
var selectedAnswersOrderedAlphabetically = selectedAnswers.sort(compare);
|
|
28
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
29
|
-
className: "test--questions__item"
|
|
30
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, question)), selectedAnswersOrderedAlphabetically.map(function (answer) {
|
|
31
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
32
|
-
key: answer.text,
|
|
33
|
-
className: "test--response__itemwrap"
|
|
34
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
35
|
-
className: "test--response__item ".concat(questionAnsweredCorrectly(answer.id) ? 'success' : 'failed')
|
|
36
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
37
|
-
className: "test--response__index"
|
|
38
|
-
}, LABELS_INDEX[answer.index]), /*#__PURE__*/_react.default.createElement("div", {
|
|
39
|
-
className: "test--response__text"
|
|
40
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, answer.text)), /*#__PURE__*/_react.default.createElement("div", {
|
|
41
|
-
className: "test--response__icon ".concat(questionAnsweredCorrectly(answer.id) ? 'icon-check-circle-black color--success' : 'icon-error-circle-black color--error')
|
|
42
|
-
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
43
|
-
className: "test--feedback"
|
|
44
|
-
}, /*#__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)));
|
|
45
|
-
}));
|
|
46
|
-
};
|
|
47
|
-
var _default = FeedbackItem;
|
|
48
|
-
exports.default = _default;
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
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
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
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); }
|
|
10
|
-
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; }
|
|
11
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
12
|
-
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."); }
|
|
13
|
-
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); }
|
|
14
|
-
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; }
|
|
15
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
16
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
17
|
-
var LABELS_INDEX = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'];
|
|
18
|
-
var Questions = function Questions(_ref) {
|
|
19
|
-
var disabled = _ref.disabled,
|
|
20
|
-
answered = _ref.answered,
|
|
21
|
-
question = _ref.question,
|
|
22
|
-
updateForm = _ref.updateForm,
|
|
23
|
-
result = _ref.result,
|
|
24
|
-
correctQuestions = _ref.correctQuestions,
|
|
25
|
-
translate = _ref.translate;
|
|
26
|
-
var _useState = (0, _react.useState)(false),
|
|
27
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
28
|
-
isMultiAnswers = _useState2[0],
|
|
29
|
-
setIsMultiAnswers = _useState2[1];
|
|
30
|
-
var filteredAnswers = question.answers.filter(function (answer) {
|
|
31
|
-
return answer.text;
|
|
32
|
-
});
|
|
33
|
-
var checkIfCheckboxIsChecked = function checkIfCheckboxIsChecked(id) {
|
|
34
|
-
var isChecked = false;
|
|
35
|
-
if (result[question.id].find(function (element) {
|
|
36
|
-
return element.id === id;
|
|
37
|
-
})) {
|
|
38
|
-
isChecked = true;
|
|
39
|
-
}
|
|
40
|
-
return isChecked;
|
|
41
|
-
};
|
|
42
|
-
var getInputStatus = function getInputStatus(answer) {
|
|
43
|
-
var status = '';
|
|
44
|
-
if (isMultiAnswers) {
|
|
45
|
-
if (answered && checkIfCheckboxIsChecked(answer.id)) {
|
|
46
|
-
status = 'selected';
|
|
47
|
-
}
|
|
48
|
-
if (disabled && checkIfCheckboxIsChecked(answer.id) && correctQuestions.includes(answer.id)) {
|
|
49
|
-
status = 'success';
|
|
50
|
-
}
|
|
51
|
-
if (disabled && checkIfCheckboxIsChecked(answer.id) && !correctQuestions.includes(answer.id)) {
|
|
52
|
-
status = 'failed';
|
|
53
|
-
}
|
|
54
|
-
} else {
|
|
55
|
-
if (answered && answer.id === result[question.id][0].id) {
|
|
56
|
-
status = 'selected';
|
|
57
|
-
}
|
|
58
|
-
if (disabled && answer.id === result[question.id][0].id) {
|
|
59
|
-
status = result[question.id][0].isCorrect ? 'success' : 'failed';
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return status;
|
|
63
|
-
};
|
|
64
|
-
var getIconStatus = function getIconStatus(answer) {
|
|
65
|
-
var status = getInputStatus(answer);
|
|
66
|
-
if (status === 'selected') {
|
|
67
|
-
return 'icon-check-circle-black color--selected';
|
|
68
|
-
}
|
|
69
|
-
if (status === 'success') {
|
|
70
|
-
return 'icon-check-circle-black color--success';
|
|
71
|
-
}
|
|
72
|
-
if (status === 'failed') {
|
|
73
|
-
return 'icon-error-circle-black color--error';
|
|
74
|
-
}
|
|
75
|
-
return '';
|
|
76
|
-
};
|
|
77
|
-
var showTooltip = function showTooltip(answer) {
|
|
78
|
-
return disabled && answer.feedback && (isMultiAnswers && checkIfCheckboxIsChecked(answer.id) || answer.id === result[question.id][0].id);
|
|
79
|
-
};
|
|
80
|
-
var tooltipPosition = function tooltipPosition(answers, answerIndex) {
|
|
81
|
-
if (answerIndex === 0) {
|
|
82
|
-
return 'tooltip--right__top';
|
|
83
|
-
}
|
|
84
|
-
if (answerIndex === answers.length - 1) {
|
|
85
|
-
return 'tooltip--right__bottom';
|
|
86
|
-
}
|
|
87
|
-
return 'tooltip--center__right';
|
|
88
|
-
};
|
|
89
|
-
var checkIfIsMultiAnswer = question.answers.filter(function (a) {
|
|
90
|
-
return a.isCorrect;
|
|
91
|
-
});
|
|
92
|
-
(0, _react.useEffect)(function () {
|
|
93
|
-
if (checkIfIsMultiAnswer.length === 1) {
|
|
94
|
-
setIsMultiAnswers(false);
|
|
95
|
-
} else {
|
|
96
|
-
setIsMultiAnswers(true);
|
|
97
|
-
}
|
|
98
|
-
}, [checkIfIsMultiAnswer.length, isMultiAnswers, question.answers]);
|
|
99
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
100
|
-
className: "test--questions__item"
|
|
101
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, question.text)), isMultiAnswers && !disabled ? /*#__PURE__*/_react.default.createElement("div", {
|
|
102
|
-
className: "test--questions__intertitle test--questions__intertitle--multiresponse"
|
|
103
|
-
}, translate('tests.chooseMoreOneAnswer')) : null, filteredAnswers.map(function (answer, index) {
|
|
104
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
105
|
-
className: "test--response__fakeinput",
|
|
106
|
-
key: answer.text
|
|
107
|
-
}, isMultiAnswers ? /*#__PURE__*/_react.default.createElement("input", {
|
|
108
|
-
checked: answered && checkIfCheckboxIsChecked(answer.id),
|
|
109
|
-
disabled: disabled && !checkIfCheckboxIsChecked(answer.id),
|
|
110
|
-
readOnly: disabled,
|
|
111
|
-
type: "checkbox",
|
|
112
|
-
id: answer.id,
|
|
113
|
-
onChange: function onChange() {
|
|
114
|
-
return !disabled ? updateForm(answer, question.id, index, 'isCheckbox', answer.id) : null;
|
|
115
|
-
}
|
|
116
|
-
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("input", {
|
|
117
|
-
checked: answered && answer.id === result[question.id][0].id,
|
|
118
|
-
disabled: disabled && !getInputStatus(answer),
|
|
119
|
-
type: "radio",
|
|
120
|
-
name: "name",
|
|
121
|
-
id: answer.id,
|
|
122
|
-
onChange: function onChange() {
|
|
123
|
-
return !disabled ? updateForm(answer, question.id, index, 'isRadio') : null;
|
|
124
|
-
}
|
|
125
|
-
})), /*#__PURE__*/_react.default.createElement("label", {
|
|
126
|
-
htmlFor: answer.id,
|
|
127
|
-
className: "test--response__item ".concat(getInputStatus(answer))
|
|
128
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
129
|
-
className: "test--response__index"
|
|
130
|
-
}, LABELS_INDEX[index]), /*#__PURE__*/_react.default.createElement("div", {
|
|
131
|
-
className: "test--response__text"
|
|
132
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, answer.text)), /*#__PURE__*/_react.default.createElement("div", {
|
|
133
|
-
className: "test--response__icon ".concat(getIconStatus(answer))
|
|
134
|
-
})), disabled ? /*#__PURE__*/_react.default.createElement("div", {
|
|
135
|
-
className: "test--feedback__info ".concat(!showTooltip(answer) ? 'test--feedback__info--hidden' : '')
|
|
136
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
137
|
-
className: "icon-info2 ".concat(getInputStatus(answer) === 'success' ? 'color--success' : 'color--error')
|
|
138
|
-
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
139
|
-
id: "tooltipFeedback-".concat(index),
|
|
140
|
-
className: "tooltip ".concat(tooltipPosition(filteredAnswers, index))
|
|
141
|
-
}, /*#__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);
|
|
142
|
-
}));
|
|
143
|
-
};
|
|
144
|
-
var _default = Questions;
|
|
145
|
-
exports.default = _default;
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
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
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
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); }
|
|
10
|
-
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; }
|
|
11
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
12
|
-
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."); }
|
|
13
|
-
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); }
|
|
14
|
-
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; }
|
|
15
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
16
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
17
|
-
var ResultsComponent = function ResultsComponent(_ref) {
|
|
18
|
-
var result = _ref.result,
|
|
19
|
-
time = _ref.time,
|
|
20
|
-
mandatory = _ref.mandatory,
|
|
21
|
-
correctQuestions = _ref.correctQuestions,
|
|
22
|
-
isFirst = _ref.isFirst,
|
|
23
|
-
reviewTest = _ref.reviewTest,
|
|
24
|
-
finishTest = _ref.finishTest,
|
|
25
|
-
restartTest = _ref.restartTest,
|
|
26
|
-
timeOver = _ref.timeOver,
|
|
27
|
-
timeOverText = _ref.timeOverText,
|
|
28
|
-
emitEvent = _ref.emitEvent,
|
|
29
|
-
minimumPercentage = _ref.minimumPercentage;
|
|
30
|
-
var _useState = (0, _react.useState)(0),
|
|
31
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
32
|
-
points = _useState2[0],
|
|
33
|
-
setPoints = _useState2[1];
|
|
34
|
-
var _useState3 = (0, _react.useState)(),
|
|
35
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
36
|
-
interval = _useState4[0],
|
|
37
|
-
saveInterval = _useState4[1];
|
|
38
|
-
var _useState5 = (0, _react.useState)([]),
|
|
39
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
40
|
-
allCorrectAnswers = _useState6[0],
|
|
41
|
-
setAllCorrectAnswers = _useState6[1];
|
|
42
|
-
var _useState7 = (0, _react.useState)([]),
|
|
43
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
44
|
-
allSelectedCorrectAnswers = _useState8[0],
|
|
45
|
-
setAllSelectedCorrectAnswers = _useState8[1];
|
|
46
|
-
var _useState9 = (0, _react.useState)([]),
|
|
47
|
-
_useState10 = _slicedToArray(_useState9, 2),
|
|
48
|
-
numberOfQuestionsCorrectlyAnswered = _useState10[0],
|
|
49
|
-
setNumberOfQuestionsCorrectlyAnswered = _useState10[1];
|
|
50
|
-
var getAllAnswersCorrectFromEditor = (0, _react.useCallback)(function () {
|
|
51
|
-
var valueToReturn = [];
|
|
52
|
-
correctQuestions.forEach(function (el) {
|
|
53
|
-
return valueToReturn.push(el.answers);
|
|
54
|
-
});
|
|
55
|
-
return valueToReturn;
|
|
56
|
-
}, [correctQuestions]);
|
|
57
|
-
var getAllSelectedCorrectAnswers = (0, _react.useCallback)(function () {
|
|
58
|
-
var valueToReturn = [];
|
|
59
|
-
Object.values(result).forEach(function (answers) {
|
|
60
|
-
if (answers.length > 1) {
|
|
61
|
-
var thereAreWrongAnswersSelected = answers.find(function (el) {
|
|
62
|
-
return el.isCorrect === false;
|
|
63
|
-
});
|
|
64
|
-
var multiAnswersPerQuestions = [];
|
|
65
|
-
if (thereAreWrongAnswersSelected) {
|
|
66
|
-
valueToReturn.push([]);
|
|
67
|
-
} else {
|
|
68
|
-
answers.forEach(function (answer) {
|
|
69
|
-
if (answer.isCorrect) {
|
|
70
|
-
multiAnswersPerQuestions.push(answer.id);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
valueToReturn.push(multiAnswersPerQuestions);
|
|
74
|
-
}
|
|
75
|
-
} else if (answers[0].isCorrect) {
|
|
76
|
-
valueToReturn.push([answers[0].id]);
|
|
77
|
-
} else if (answers[0].isCorrect === false) {
|
|
78
|
-
valueToReturn.push('');
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
return valueToReturn;
|
|
82
|
-
}, [result]);
|
|
83
|
-
var getNumberOfQuestionsCorrectlyAnswered = (0, _react.useCallback)(function () {
|
|
84
|
-
var valueToReturn = 0;
|
|
85
|
-
if (allSelectedCorrectAnswers.length > 0) {
|
|
86
|
-
allCorrectAnswers.forEach(function (question, index) {
|
|
87
|
-
if (question.length > 1) {
|
|
88
|
-
if (question.every(function (answer) {
|
|
89
|
-
return allSelectedCorrectAnswers[index].includes(answer);
|
|
90
|
-
})) {
|
|
91
|
-
valueToReturn += 1;
|
|
92
|
-
}
|
|
93
|
-
} else if (question.length === 1) {
|
|
94
|
-
if (!!allSelectedCorrectAnswers[index] && question[0] === allSelectedCorrectAnswers[index][0]) {
|
|
95
|
-
valueToReturn += 1;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
return valueToReturn;
|
|
100
|
-
}
|
|
101
|
-
return valueToReturn;
|
|
102
|
-
}, [allCorrectAnswers, allSelectedCorrectAnswers]);
|
|
103
|
-
(0, _react.useEffect)(function () {
|
|
104
|
-
setAllCorrectAnswers(getAllAnswersCorrectFromEditor);
|
|
105
|
-
setAllSelectedCorrectAnswers(getAllSelectedCorrectAnswers);
|
|
106
|
-
setNumberOfQuestionsCorrectlyAnswered(getNumberOfQuestionsCorrectlyAnswered);
|
|
107
|
-
}, [getAllAnswersCorrectFromEditor, getAllSelectedCorrectAnswers, getNumberOfQuestionsCorrectlyAnswered]);
|
|
108
|
-
var totalCorrectAnswers = correctQuestions.length;
|
|
109
|
-
var allIsCorrect = getNumberOfQuestionsCorrectlyAnswered() === totalCorrectAnswers;
|
|
110
|
-
var minimumPercentageNotExceeded = numberOfQuestionsCorrectlyAnswered < minimumPercentage;
|
|
111
|
-
var minimumPercentageExceeded = numberOfQuestionsCorrectlyAnswered >= minimumPercentage;
|
|
112
|
-
var showFinishButton = !mandatory || minimumPercentageExceeded;
|
|
113
|
-
var bar = Math.trunc(points / totalCorrectAnswers * 100);
|
|
114
|
-
var translate = function translate(id, values) {
|
|
115
|
-
return emitEvent({
|
|
116
|
-
type: 'translate',
|
|
117
|
-
payload: id,
|
|
118
|
-
values: values
|
|
119
|
-
});
|
|
120
|
-
};
|
|
121
|
-
var failedColor = {
|
|
122
|
-
'--chart-color': "var(--color-error)"
|
|
123
|
-
};
|
|
124
|
-
(0, _react.useEffect)(function () {
|
|
125
|
-
if (points < numberOfQuestionsCorrectlyAnswered) {
|
|
126
|
-
var timeout = setInterval(function () {
|
|
127
|
-
setPoints(function (t) {
|
|
128
|
-
return t + 1;
|
|
129
|
-
});
|
|
130
|
-
}, 100);
|
|
131
|
-
saveInterval(timeout);
|
|
132
|
-
return function () {
|
|
133
|
-
clearInterval(timeout);
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
return undefined;
|
|
137
|
-
}, [numberOfQuestionsCorrectlyAnswered, points]);
|
|
138
|
-
(0, _react.useEffect)(function () {
|
|
139
|
-
if (points >= numberOfQuestionsCorrectlyAnswered) {
|
|
140
|
-
clearInterval(interval);
|
|
141
|
-
}
|
|
142
|
-
}, [numberOfQuestionsCorrectlyAnswered, interval, points]);
|
|
143
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
144
|
-
className: "test--results ".concat(minimumPercentageNotExceeded || timeOver ? 'test--results--failed' : '')
|
|
145
|
-
}, isFirst && allIsCorrect ? /*#__PURE__*/_react.default.createElement("div", {
|
|
146
|
-
className: "fireworks"
|
|
147
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
148
|
-
className: "before"
|
|
149
|
-
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
150
|
-
className: "after"
|
|
151
|
-
})) : null, !timeOver && minimumPercentageNotExceeded ? /*#__PURE__*/_react.default.createElement("div", {
|
|
152
|
-
className: "test--results__title"
|
|
153
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, translate('tests.NotFinishedSuccessfully'))) : null, !timeOver && minimumPercentageExceeded || allIsCorrect ? /*#__PURE__*/_react.default.createElement("div", {
|
|
154
|
-
className: "test--results__title"
|
|
155
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, translate('tests.finishedSuccessfully'))) : null, timeOver ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
156
|
-
className: "test--results__title"
|
|
157
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, timeOverText)), /*#__PURE__*/_react.default.createElement("div", {
|
|
158
|
-
className: "test--results__time",
|
|
159
|
-
id: "results-time"
|
|
160
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, translate('tests.time', time)))) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
161
|
-
className: "chart center chart".concat(bar)
|
|
162
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
163
|
-
className: "chart-slice"
|
|
164
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
165
|
-
className: "chart-bar",
|
|
166
|
-
style: minimumPercentageNotExceeded || timeOver ? failedColor : {}
|
|
167
|
-
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
168
|
-
className: "chart-fill",
|
|
169
|
-
style: minimumPercentageNotExceeded || timeOver ? failedColor : {}
|
|
170
|
-
})), /*#__PURE__*/_react.default.createElement("span", {
|
|
171
|
-
className: "chart-value"
|
|
172
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
173
|
-
className: "test--results__chart"
|
|
174
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, points), /*#__PURE__*/_react.default.createElement("span", null, "/", totalCorrectAnswers)), /*#__PURE__*/_react.default.createElement("div", {
|
|
175
|
-
className: "test--results__chart--label"
|
|
176
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, translate('tests.success'))))), /*#__PURE__*/_react.default.createElement("div", {
|
|
177
|
-
className: "test--results__minimum"
|
|
178
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
179
|
-
className: "icon-bell"
|
|
180
|
-
}), /*#__PURE__*/_react.default.createElement("div", null, translate('tests.minimumQuestionsMessage', {
|
|
181
|
-
minimumPercentage: minimumPercentage
|
|
182
|
-
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
183
|
-
className: "test--results__buttons"
|
|
184
|
-
}, !timeOver ? /*#__PURE__*/_react.default.createElement("button", {
|
|
185
|
-
className: "gat--btn gat--btn__secondary",
|
|
186
|
-
id: "review-button",
|
|
187
|
-
onClick: function onClick() {
|
|
188
|
-
return reviewTest();
|
|
189
|
-
},
|
|
190
|
-
type: "button"
|
|
191
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, translate('tests.review'))) : null, !showFinishButton ? /*#__PURE__*/_react.default.createElement("button", {
|
|
192
|
-
className: "gat--btn gat--btn__primary",
|
|
193
|
-
id: "restart-button",
|
|
194
|
-
onClick: function onClick() {
|
|
195
|
-
return restartTest();
|
|
196
|
-
},
|
|
197
|
-
type: "button"
|
|
198
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, translate('tests.restart'))) : null, showFinishButton ? /*#__PURE__*/_react.default.createElement("button", {
|
|
199
|
-
className: "gat--btn gat--btn__primary",
|
|
200
|
-
id: "finish-button",
|
|
201
|
-
onClick: function onClick() {
|
|
202
|
-
return finishTest();
|
|
203
|
-
},
|
|
204
|
-
type: "button"
|
|
205
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, translate('tests.continue'))) : null));
|
|
206
|
-
};
|
|
207
|
-
var _default = ResultsComponent;
|
|
208
|
-
exports.default = _default;
|