@elice/material-quiz 1.231212.0 → 1.231228.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/cjs/components/eb-sortable/EbDraggable.js +32 -39
- package/cjs/components/eb-sortable/EbDroppable.js +19 -24
- package/cjs/components/material-quiz/MaterialQuiz.i18n.js +4 -6
- package/cjs/components/material-quiz/MaterialQuiz.js +57 -78
- package/cjs/components/material-quiz/MaterialQuizAnswerExplanation.js +14 -18
- package/cjs/components/material-quiz/MaterialQuizInfo.js +17 -21
- package/cjs/components/material-quiz/MaterialQuizSelectMultiple.js +86 -130
- package/cjs/components/material-quiz/MaterialQuizSelectMultipleOrder.js +168 -233
- package/cjs/components/material-quiz/MaterialQuizSelectOne.js +85 -127
- package/cjs/components/material-quiz/MaterialQuizShimmer.js +18 -23
- package/cjs/components/material-quiz/MaterialQuizText.js +82 -123
- package/cjs/components/material-quiz/QuizResultBadge.js +9 -14
- package/cjs/components/material-quiz/QuizSubmitStatusText.js +7 -10
- package/cjs/components/material-quiz/context/MaterialQuizContext.js +72 -112
- package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroup.js +130 -222
- package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroupDesktop.js +60 -77
- package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroupMobile.js +67 -84
- package/cjs/components/material-quiz/material-quiz-group/MaterialQuizGroupOptionItem.js +40 -49
- package/cjs/components/material-quiz/material-quiz-group/context/context.js +2 -6
- package/cjs/components/material-quiz/material-quiz-group/index.js +1 -1
- package/cjs/components/material-quiz-edit/MaterialQuizEdit.js +33 -39
- package/cjs/components/material-quiz-edit/MaterialQuizEditContent.js +148 -163
- package/cjs/components/material-quiz-edit/context.js +3 -9
- package/cjs/components/material-quiz-edit/locales.js +2 -4
- package/cjs/components/material-quiz-edit/options/OptionEditor.js +28 -38
- package/cjs/components/material-quiz-edit/options/OptionSelectMultiple.js +96 -106
- package/cjs/components/material-quiz-edit/options/OptionSelectMultipleOrder.js +99 -109
- package/cjs/components/material-quiz-edit/options/OptionSelectOne.js +93 -96
- package/cjs/components/material-quiz-edit/options/OptionText.js +32 -36
- package/cjs/components/material-quiz-edit/options/options-group/OptionGroup.js +5 -9
- package/cjs/components/material-quiz-edit/options/options-group/OptionGroupAnswerInfo.js +64 -89
- package/cjs/components/material-quiz-edit/options/options-group/OptionGroupAnswerListItem.js +136 -195
- package/cjs/components/material-quiz-edit/options/options-group/OptionGroupGroupInfo.js +46 -53
- package/cjs/components/material-quiz-edit/options/options-group/OptionGroupGroupListItem.js +49 -55
- package/cjs/components/material-quiz-edit/utils/checkTwoDimensionArray.js +1 -7
- package/cjs/components/material-quiz-edit/utils/editValue.js +12 -23
- package/cjs/components/material-quiz-edit/utils/randomId.js +0 -2
- package/cjs/components/shared/QuestionBox.js +59 -60
- package/cjs/components/shared/QuizDraggbleDroppedOption.js +10 -14
- package/cjs/components/shared/QuizDraggbleDummyOption.js +11 -15
- package/cjs/components/shared/QuizDraggbleOption.js +49 -48
- package/cjs/components/shared/StyledMarkdown.js +2 -6
- package/cjs/components/shared/question-checkbox/QuestionCheckbox.js +7 -10
- package/cjs/components/shared/question-checkbox/QuestionCheckboxContext.js +15 -22
- package/cjs/components/shared/question-checkbox/QuestionCheckboxOption.js +59 -47
- package/cjs/components/shared/question-radio/QuestionRadio.js +7 -10
- package/cjs/components/shared/question-radio/QuestionRadioContext.js +15 -22
- package/cjs/components/shared/question-radio/QuestionRadioOption.js +50 -40
- package/cjs/components/shared/utils/getQuestionStatusStyle.js +9 -9
- package/cjs/helpers/index.js +10 -10
- package/cjs/index.js +10 -12
- package/es/components/eb-sortable/EbDraggable.js +30 -32
- package/es/components/eb-sortable/EbDroppable.js +17 -17
- package/es/components/material-quiz/MaterialQuiz.i18n.js +4 -4
- package/es/components/material-quiz/MaterialQuiz.js +44 -60
- package/es/components/material-quiz/MaterialQuizAnswerExplanation.js +8 -7
- package/es/components/material-quiz/MaterialQuizInfo.js +5 -4
- package/es/components/material-quiz/MaterialQuizSelectMultiple.js +79 -119
- package/es/components/material-quiz/MaterialQuizSelectMultipleOrder.js +152 -212
- package/es/components/material-quiz/MaterialQuizSelectOne.js +78 -116
- package/es/components/material-quiz/MaterialQuizShimmer.js +9 -9
- package/es/components/material-quiz/MaterialQuizText.js +72 -108
- package/es/components/material-quiz/QuizResultBadge.js +5 -6
- package/es/components/material-quiz/QuizSubmitStatusText.js +4 -3
- package/es/components/material-quiz/context/MaterialQuizContext.js +71 -105
- package/es/components/material-quiz/material-quiz-group/MaterialQuizGroup.js +117 -203
- package/es/components/material-quiz/material-quiz-group/MaterialQuizGroupDesktop.js +48 -60
- package/es/components/material-quiz/material-quiz-group/MaterialQuizGroupMobile.js +57 -69
- package/es/components/material-quiz/material-quiz-group/MaterialQuizGroupOptionItem.js +33 -37
- package/es/components/material-quiz/material-quiz-group/context/context.js +1 -1
- package/es/components/material-quiz-edit/MaterialQuizEdit.js +28 -30
- package/es/components/material-quiz-edit/MaterialQuizEditContent.js +102 -111
- package/es/components/material-quiz-edit/context.js +2 -4
- package/es/components/material-quiz-edit/locales.js +2 -2
- package/es/components/material-quiz-edit/options/OptionEditor.js +19 -23
- package/es/components/material-quiz-edit/options/OptionSelectMultiple.js +87 -92
- package/es/components/material-quiz-edit/options/OptionSelectMultipleOrder.js +90 -95
- package/es/components/material-quiz-edit/options/OptionSelectOne.js +84 -82
- package/es/components/material-quiz-edit/options/OptionText.js +27 -27
- package/es/components/material-quiz-edit/options/options-group/OptionGroup.js +1 -1
- package/es/components/material-quiz-edit/options/options-group/OptionGroupAnswerInfo.js +47 -66
- package/es/components/material-quiz-edit/options/options-group/OptionGroupAnswerListItem.js +119 -171
- package/es/components/material-quiz-edit/options/options-group/OptionGroupGroupInfo.js +39 -40
- package/es/components/material-quiz-edit/options/options-group/OptionGroupGroupListItem.js +37 -37
- package/es/components/material-quiz-edit/utils/checkTwoDimensionArray.js +1 -5
- package/es/components/material-quiz-edit/utils/editValue.js +12 -17
- package/es/components/shared/QuestionBox.js +53 -49
- package/es/components/shared/QuizDraggbleDroppedOption.js +8 -8
- package/es/components/shared/QuizDraggbleDummyOption.js +7 -6
- package/es/components/shared/QuizDraggbleOption.js +43 -37
- package/es/components/shared/StyledMarkdown.js +1 -1
- package/es/components/shared/question-checkbox/QuestionCheckbox.js +5 -3
- package/es/components/shared/question-checkbox/QuestionCheckboxContext.js +14 -15
- package/es/components/shared/question-checkbox/QuestionCheckboxOption.js +55 -38
- package/es/components/shared/question-radio/QuestionRadio.js +5 -3
- package/es/components/shared/question-radio/QuestionRadioContext.js +14 -15
- package/es/components/shared/question-radio/QuestionRadioOption.js +46 -31
- package/es/components/shared/utils/getQuestionStatusStyle.js +9 -7
- package/es/helpers/index.js +10 -8
- package/package.json +7 -7
- package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -404
- package/es/_virtual/_rollupPluginBabelHelpers.js +0 -389
|
@@ -6,101 +6,94 @@ var React = require('react');
|
|
|
6
6
|
var $ = require('jquery');
|
|
7
7
|
require('jquery-ui/ui/widgets/draggable');
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
className = _ref.className,
|
|
24
|
-
onStart = _ref.onStart,
|
|
25
|
-
onStop = _ref.onStop,
|
|
26
|
-
onDrag = _ref.onDrag,
|
|
27
|
-
onCreate = _ref.onCreate;
|
|
28
|
-
var rootEl = React__default["default"].useRef(null);
|
|
29
|
-
var onStartCallback = React__default["default"].useCallback(function (event, ui) {
|
|
9
|
+
const EbDraggable = ({
|
|
10
|
+
children,
|
|
11
|
+
id,
|
|
12
|
+
disabled = false,
|
|
13
|
+
revert = true,
|
|
14
|
+
clone = false,
|
|
15
|
+
className,
|
|
16
|
+
onStart,
|
|
17
|
+
onStop,
|
|
18
|
+
onDrag,
|
|
19
|
+
onCreate
|
|
20
|
+
}) => {
|
|
21
|
+
const rootEl = React.useRef(null);
|
|
22
|
+
const onStartCallback = React.useCallback((event, ui) => {
|
|
30
23
|
if (onStart) {
|
|
31
24
|
return onStart(event, ui);
|
|
32
25
|
} else {
|
|
33
|
-
return
|
|
26
|
+
return () => {
|
|
34
27
|
return;
|
|
35
28
|
};
|
|
36
29
|
}
|
|
37
30
|
}, [onStart]);
|
|
38
|
-
|
|
31
|
+
const onStopCallback = React.useCallback((event, ui) => {
|
|
39
32
|
if (onStop) {
|
|
40
33
|
return onStop(event, ui);
|
|
41
34
|
} else {
|
|
42
|
-
return
|
|
35
|
+
return () => {
|
|
43
36
|
return;
|
|
44
37
|
};
|
|
45
38
|
}
|
|
46
39
|
}, [onStop]);
|
|
47
|
-
|
|
40
|
+
const onDragCallback = React.useCallback((event, ui) => {
|
|
48
41
|
if (onDrag) {
|
|
49
42
|
return onDrag(event, ui);
|
|
50
43
|
} else {
|
|
51
|
-
return
|
|
44
|
+
return () => {
|
|
52
45
|
return;
|
|
53
46
|
};
|
|
54
47
|
}
|
|
55
48
|
}, [onDrag]);
|
|
56
|
-
|
|
49
|
+
const onCreateCallback = React.useCallback((event, ui) => {
|
|
57
50
|
if (onCreate) {
|
|
58
51
|
return onCreate(event, ui);
|
|
59
52
|
} else {
|
|
60
|
-
return
|
|
53
|
+
return () => {
|
|
61
54
|
return;
|
|
62
55
|
};
|
|
63
56
|
}
|
|
64
57
|
}, [onCreate]);
|
|
65
|
-
|
|
58
|
+
React.useEffect(() => {
|
|
66
59
|
if (!rootEl.current) {
|
|
67
60
|
return;
|
|
68
61
|
}
|
|
69
|
-
|
|
62
|
+
const draggableEl = $(rootEl.current);
|
|
70
63
|
draggableEl.draggable(Object.assign(Object.assign(Object.assign(Object.assign({}, disabled ? {
|
|
71
|
-
disabled
|
|
64
|
+
disabled
|
|
72
65
|
} : null), revert ? {
|
|
73
|
-
revert
|
|
66
|
+
revert
|
|
74
67
|
} : null), clone ? {
|
|
75
68
|
helper: 'clone'
|
|
76
69
|
} : null), {
|
|
77
70
|
zIndex: 200,
|
|
78
71
|
revertDuration: 0,
|
|
79
|
-
start:
|
|
72
|
+
start: (event, ui) => {
|
|
80
73
|
if (!onStartCallback) {
|
|
81
74
|
return;
|
|
82
75
|
}
|
|
83
76
|
onStartCallback(event, ui);
|
|
84
77
|
},
|
|
85
|
-
stop:
|
|
78
|
+
stop: (event, ui) => {
|
|
86
79
|
if (!onStopCallback) {
|
|
87
80
|
return;
|
|
88
81
|
}
|
|
89
82
|
// draggableEl.draggable('cancel');
|
|
90
83
|
onStopCallback(event, ui);
|
|
91
84
|
},
|
|
92
|
-
drag:
|
|
85
|
+
drag: (event, ui) => {
|
|
93
86
|
onDragCallback(event, ui);
|
|
94
87
|
},
|
|
95
|
-
create:
|
|
88
|
+
create: (event, ui) => {
|
|
96
89
|
onCreateCallback(event, ui);
|
|
97
90
|
}
|
|
98
91
|
}));
|
|
99
|
-
return
|
|
92
|
+
return () => {
|
|
100
93
|
draggableEl.draggable('destroy');
|
|
101
94
|
};
|
|
102
95
|
}, [clone, disabled, onCreateCallback, onDragCallback, onStartCallback, onStopCallback, revert]);
|
|
103
|
-
return
|
|
96
|
+
return React.createElement("div", {
|
|
104
97
|
ref: rootEl,
|
|
105
98
|
id: id,
|
|
106
99
|
className: className,
|
|
@@ -110,4 +103,4 @@ var EbDraggable = function EbDraggable(_ref) {
|
|
|
110
103
|
}, children);
|
|
111
104
|
};
|
|
112
105
|
|
|
113
|
-
exports
|
|
106
|
+
exports.default = EbDraggable;
|
|
@@ -6,55 +6,50 @@ var React = require('react');
|
|
|
6
6
|
var $ = require('jquery');
|
|
7
7
|
require('jquery-ui/ui/widgets/droppable');
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
accept = _ref.accept,
|
|
20
|
-
className = _ref.className,
|
|
21
|
-
onDrop = _ref.onDrop;
|
|
22
|
-
var rootEl = React__default["default"].useRef(null);
|
|
23
|
-
var onDropCallback = React__default["default"].useCallback(function (event, ui) {
|
|
9
|
+
const EbDroppable = ({
|
|
10
|
+
children,
|
|
11
|
+
id,
|
|
12
|
+
disabled = false,
|
|
13
|
+
accept,
|
|
14
|
+
className,
|
|
15
|
+
onDrop
|
|
16
|
+
}) => {
|
|
17
|
+
const rootEl = React.useRef(null);
|
|
18
|
+
const onDropCallback = React.useCallback((event, ui) => {
|
|
24
19
|
if (onDrop) {
|
|
25
20
|
return onDrop(event, ui);
|
|
26
21
|
} else {
|
|
27
|
-
return
|
|
22
|
+
return () => {
|
|
28
23
|
return;
|
|
29
24
|
};
|
|
30
25
|
}
|
|
31
26
|
}, [onDrop]);
|
|
32
|
-
|
|
27
|
+
React.useEffect(() => {
|
|
33
28
|
if (!rootEl.current) {
|
|
34
29
|
return;
|
|
35
30
|
}
|
|
36
|
-
|
|
31
|
+
const draggableEl = $(rootEl.current);
|
|
37
32
|
draggableEl.droppable(Object.assign(Object.assign(Object.assign({}, disabled ? {
|
|
38
|
-
disabled
|
|
33
|
+
disabled
|
|
39
34
|
} : null), accept ? {
|
|
40
|
-
accept
|
|
35
|
+
accept
|
|
41
36
|
} : null), {
|
|
42
|
-
drop:
|
|
37
|
+
drop: (event, ui) => {
|
|
43
38
|
if (!onDropCallback) {
|
|
44
39
|
return;
|
|
45
40
|
}
|
|
46
41
|
onDropCallback(event, ui);
|
|
47
42
|
}
|
|
48
43
|
}));
|
|
49
|
-
return
|
|
44
|
+
return () => {
|
|
50
45
|
draggableEl.droppable('destroy');
|
|
51
46
|
};
|
|
52
47
|
}, [accept, disabled, onDropCallback]);
|
|
53
|
-
return
|
|
48
|
+
return React.createElement("div", {
|
|
54
49
|
ref: rootEl,
|
|
55
50
|
id: id,
|
|
56
51
|
className: className
|
|
57
52
|
}, children);
|
|
58
53
|
};
|
|
59
54
|
|
|
60
|
-
exports
|
|
55
|
+
exports.default = EbDroppable;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var en = {
|
|
3
|
+
const en = {
|
|
6
4
|
'materialQuiz.error': 'Failed to fetch quiz',
|
|
7
5
|
'materialQuiz.submit': 'Submit',
|
|
8
6
|
'materialQuiz.submittedAnswer': 'Submitted Answer',
|
|
@@ -25,8 +23,8 @@ var en = {
|
|
|
25
23
|
'materialQuiz.explanation.show': 'show quiz explanations',
|
|
26
24
|
'materialQuiz.explanation.empty': 'no explanations',
|
|
27
25
|
'materialQuiz.text.placeholder': 'please fill the answer',
|
|
28
|
-
'materialQuiz.text.correct':
|
|
29
|
-
'materialQuiz.text.wrong':
|
|
26
|
+
'materialQuiz.text.correct': `that's correct!`,
|
|
27
|
+
'materialQuiz.text.wrong': `that's wrong. try it again!`,
|
|
30
28
|
'materialQuiz.order.answerEmpty': 'You could move the options back here',
|
|
31
29
|
'materialQuiz.bottomSheet.title': 'Options',
|
|
32
30
|
'materialQuiz.bottomSheet.optionEmpty': 'All views have been placed in the group.',
|
|
@@ -35,7 +33,7 @@ var en = {
|
|
|
35
33
|
'materialQuiz.dropzone.optionEmpty': 'Option',
|
|
36
34
|
'materialQuiz.dropzone.optionReset': 'Answer Reset'
|
|
37
35
|
};
|
|
38
|
-
|
|
36
|
+
const ko = {
|
|
39
37
|
'materialQuiz.error': '퀴즈를 불러오는데 실패했습니다.\n잠시 후 다시 시도해주세요.',
|
|
40
38
|
'materialQuiz.submit': '제출',
|
|
41
39
|
'materialQuiz.submittedAnswer': '제출한 답',
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
5
|
var React = require('react');
|
|
7
6
|
var reactIntl = require('react-intl');
|
|
8
7
|
var reactUse = require('react-use');
|
|
@@ -14,113 +13,93 @@ var MaterialQuizShimmer = require('./MaterialQuizShimmer.js');
|
|
|
14
13
|
var MaterialQuizInfo = require('./MaterialQuizInfo.js');
|
|
15
14
|
var MaterialQuiz_i18n = require('./MaterialQuiz.i18n.js');
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return Promise.resolve().then(function () { return require('./MaterialQuizSelectMultiple.js'); });
|
|
24
|
-
});
|
|
25
|
-
var AsyncMaterialQuizSelectMultipleOrder = React__default["default"].lazy(function () {
|
|
26
|
-
return Promise.resolve().then(function () { return require('./MaterialQuizSelectMultipleOrder.js'); });
|
|
27
|
-
});
|
|
28
|
-
var AsyncMaterialQuizText = React__default["default"].lazy(function () {
|
|
29
|
-
return Promise.resolve().then(function () { return require('./MaterialQuizText.js'); });
|
|
30
|
-
});
|
|
31
|
-
var AsyncMaterialQuizSelectOne = React__default["default"].lazy(function () {
|
|
32
|
-
return Promise.resolve().then(function () { return require('./MaterialQuizSelectOne.js'); });
|
|
33
|
-
});
|
|
34
|
-
var AsyncMaterialQuizGroup = React__default["default"].lazy(function () {
|
|
35
|
-
return Promise.resolve().then(function () { return require('./material-quiz-group/index.js'); });
|
|
36
|
-
});
|
|
37
|
-
var StyledMaterialQuizInfo = styled__default["default"].div.withConfig({
|
|
16
|
+
const AsyncMaterialQuizSelectMultiple = React.lazy(() => Promise.resolve().then(function () { return require('./MaterialQuizSelectMultiple.js'); }));
|
|
17
|
+
const AsyncMaterialQuizSelectMultipleOrder = React.lazy(() => Promise.resolve().then(function () { return require('./MaterialQuizSelectMultipleOrder.js'); }));
|
|
18
|
+
const AsyncMaterialQuizText = React.lazy(() => Promise.resolve().then(function () { return require('./MaterialQuizText.js'); }));
|
|
19
|
+
const AsyncMaterialQuizSelectOne = React.lazy(() => Promise.resolve().then(function () { return require('./MaterialQuizSelectOne.js'); }));
|
|
20
|
+
const AsyncMaterialQuizGroup = React.lazy(() => Promise.resolve().then(function () { return require('./material-quiz-group/index.js'); }));
|
|
21
|
+
const StyledMaterialQuizInfo = styled.div.withConfig({
|
|
38
22
|
componentId: "sc-1eyn8fb-0"
|
|
39
23
|
})([""]);
|
|
40
|
-
|
|
24
|
+
const StyledMaterialQuizContent = styled.div.withConfig({
|
|
41
25
|
componentId: "sc-1eyn8fb-1"
|
|
42
26
|
})(["min-width:0;"]);
|
|
43
|
-
|
|
27
|
+
const StyledMaterialQuizWrapper = styled.div.withConfig({
|
|
44
28
|
componentId: "sc-1eyn8fb-2"
|
|
45
|
-
})(["-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;width:100%;height:100%;flex-direction:", ";& > *{flex:", ";}& > *:first-child{margin-right:", ";margin-bottom:", ";}", "{height:", ";overflow-y:", ";}"],
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
},
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
_useMeasure2 = _rollupPluginBabelHelpers.slicedToArray(_useMeasure, 2),
|
|
73
|
-
ref = _useMeasure2[0],
|
|
74
|
-
width = _useMeasure2[1].width;
|
|
75
|
-
var isQuizGroupType = Boolean((materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.optionType) === types.enums.QuizOptionType.Group);
|
|
76
|
-
React__default["default"].useEffect(function () {
|
|
29
|
+
})(["-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;width:100%;height:100%;flex-direction:", ";& > *{flex:", ";}& > *:first-child{margin-right:", ";margin-bottom:", ";}", "{height:", ";overflow-y:", ";}"], ({
|
|
30
|
+
vertical
|
|
31
|
+
}) => vertical ? 'column' : 'row', ({
|
|
32
|
+
vertical
|
|
33
|
+
}) => vertical ? 'auto' : '1 0 calc(50% - 1rem);', ({
|
|
34
|
+
vertical
|
|
35
|
+
}) => vertical ? '0' : '1rem', ({
|
|
36
|
+
vertical
|
|
37
|
+
}) => vertical ? '1rem' : '0', StyledMaterialQuizInfo, ({
|
|
38
|
+
vertical
|
|
39
|
+
}) => vertical ? 'auto' : '100%', ({
|
|
40
|
+
vertical
|
|
41
|
+
}) => vertical ? 'intial' : 'auto');
|
|
42
|
+
const MaterialQuiz = () => {
|
|
43
|
+
const {
|
|
44
|
+
materialQuiz,
|
|
45
|
+
vertical,
|
|
46
|
+
course
|
|
47
|
+
} = MaterialQuizContext.useMaterialQuizState();
|
|
48
|
+
const {
|
|
49
|
+
setVertical
|
|
50
|
+
} = MaterialQuizContext.useMaterialQuizDispatch();
|
|
51
|
+
const [ref, {
|
|
52
|
+
width
|
|
53
|
+
}] = reactUse.useMeasure();
|
|
54
|
+
const isQuizGroupType = Boolean((materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.optionType) === types.enums.QuizOptionType.Group);
|
|
55
|
+
React.useEffect(() => {
|
|
77
56
|
if (width > 0) {
|
|
78
57
|
setVertical(width <= designTokens.base.screen.medium);
|
|
79
58
|
}
|
|
80
59
|
}, [width, setVertical]);
|
|
81
|
-
|
|
60
|
+
const renderQuestionOption = () => {
|
|
82
61
|
if (!materialQuiz || !course) {
|
|
83
|
-
return
|
|
62
|
+
return React.createElement(MaterialQuizShimmer.default, null);
|
|
84
63
|
}
|
|
85
64
|
switch (materialQuiz.optionType) {
|
|
86
65
|
case types.enums.QuizOptionType.SelectOne:
|
|
87
|
-
return
|
|
66
|
+
return React.createElement(AsyncMaterialQuizSelectOne, null);
|
|
88
67
|
case types.enums.QuizOptionType.SelectMultiple:
|
|
89
|
-
return
|
|
68
|
+
return React.createElement(AsyncMaterialQuizSelectMultiple, null);
|
|
90
69
|
case types.enums.QuizOptionType.Text:
|
|
91
|
-
return
|
|
70
|
+
return React.createElement(AsyncMaterialQuizText, null);
|
|
92
71
|
case types.enums.QuizOptionType.SelectMultipleOrder:
|
|
93
|
-
return
|
|
72
|
+
return React.createElement(AsyncMaterialQuizSelectMultipleOrder, null);
|
|
94
73
|
case types.enums.QuizOptionType.Group:
|
|
95
|
-
return
|
|
74
|
+
return React.createElement(AsyncMaterialQuizGroup, null);
|
|
96
75
|
}
|
|
97
76
|
};
|
|
98
|
-
return
|
|
77
|
+
return React.createElement(React.Suspense, {
|
|
99
78
|
fallback: null
|
|
100
|
-
},
|
|
79
|
+
}, React.createElement(StyledMaterialQuizWrapper, {
|
|
101
80
|
ref: ref,
|
|
102
81
|
vertical: vertical
|
|
103
|
-
}, isQuizGroupType ? null :
|
|
82
|
+
}, isQuizGroupType ? null : React.createElement(StyledMaterialQuizInfo, null, React.createElement(MaterialQuizInfo.default, null)), React.createElement(StyledMaterialQuizContent, null, renderQuestionOption())));
|
|
104
83
|
};
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return
|
|
84
|
+
const MaterialQuizContainer = ({
|
|
85
|
+
materialQuizId,
|
|
86
|
+
userId,
|
|
87
|
+
locale = 'en',
|
|
88
|
+
onDirty,
|
|
89
|
+
onSubmit,
|
|
90
|
+
onNext
|
|
91
|
+
}) => {
|
|
92
|
+
return React.createElement(reactIntl.IntlProvider, {
|
|
114
93
|
locale: locale,
|
|
115
94
|
defaultLocale: "en",
|
|
116
95
|
messages: locale in MaterialQuiz_i18n ? MaterialQuiz_i18n[locale] : MaterialQuiz_i18n.en
|
|
117
|
-
},
|
|
96
|
+
}, React.createElement(MaterialQuizContext.MaterialQuizProvider, {
|
|
118
97
|
materialQuizId: materialQuizId,
|
|
119
98
|
userId: userId,
|
|
120
99
|
onDirty: onDirty,
|
|
121
100
|
onSubmit: onSubmit,
|
|
122
101
|
onNext: onNext
|
|
123
|
-
},
|
|
102
|
+
}, React.createElement(MaterialQuiz, null)));
|
|
124
103
|
};
|
|
125
104
|
|
|
126
|
-
exports
|
|
105
|
+
exports.default = MaterialQuizContainer;
|
|
@@ -11,40 +11,36 @@ var types = require('@elice/types');
|
|
|
11
11
|
var styled = require('styled-components');
|
|
12
12
|
var MaterialQuizContext = require('./context/MaterialQuizContext.js');
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
17
|
-
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
18
|
-
|
|
19
|
-
var StyledMarkdownSSR = styled__default["default"](markdown.MarkdownSSR).withConfig({
|
|
14
|
+
const StyledMarkdownSSR = styled(markdown.MarkdownSSR).withConfig({
|
|
20
15
|
componentId: "sc-18kg5i5-0"
|
|
21
16
|
})(["p{margin:0 !important;}"]);
|
|
22
|
-
|
|
17
|
+
const StyledAccordion = styled(blocks.Accordion).withConfig({
|
|
23
18
|
componentId: "sc-18kg5i5-1"
|
|
24
19
|
})(["border-radius:8px;overflow:hidden;background-color:", " !important;border-radius:8px;overflow:hidden;& > *:first-child{background-color:", " !important;}& > *:last-child{background-color:", " !important;}"], designTokens.base.color.navy5, designTokens.base.color.navy7, designTokens.base.color.navy7);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
lecture
|
|
28
|
-
materialQuiz
|
|
29
|
-
|
|
20
|
+
const MaterialQuizAnswerExplanation = () => {
|
|
21
|
+
const {
|
|
22
|
+
lecture,
|
|
23
|
+
materialQuiz
|
|
24
|
+
} = MaterialQuizContext.useMaterialQuizState();
|
|
25
|
+
const intl = reactIntl.useIntl();
|
|
30
26
|
if (!materialQuiz || !materialQuiz.explanationInfo.isEnabled || !materialQuiz.isResponded || (lecture === null || lecture === void 0 ? void 0 : lecture.lectureType) === types.enums.LectureType.Test && (lecture === null || lecture === void 0 ? void 0 : lecture.testUserStatus) !== types.enums.LectureTestUserStatus.Completed) {
|
|
31
27
|
return null;
|
|
32
28
|
}
|
|
33
|
-
return
|
|
29
|
+
return React.createElement(blocks.Flex, {
|
|
34
30
|
column: true,
|
|
35
31
|
margintop: "1rem"
|
|
36
|
-
},
|
|
32
|
+
}, React.createElement(StyledAccordion, {
|
|
37
33
|
dark: true,
|
|
38
|
-
header:
|
|
34
|
+
header: React.createElement(blocks.Text, {
|
|
39
35
|
bold: true,
|
|
40
36
|
role: "navy0"
|
|
41
37
|
}, intl.formatMessage({
|
|
42
38
|
id: 'materialQuiz.explanation.show'
|
|
43
39
|
}))
|
|
44
|
-
}, materialQuiz.explanationInfo.isEnabled ?
|
|
40
|
+
}, materialQuiz.explanationInfo.isEnabled ? React.createElement(StyledMarkdownSSR, {
|
|
45
41
|
dark: true,
|
|
46
42
|
children: materialQuiz.explanationInfo.value
|
|
47
|
-
}) :
|
|
43
|
+
}) : React.createElement(blocks.Text, {
|
|
48
44
|
role: "info",
|
|
49
45
|
lineHeight: 1.4,
|
|
50
46
|
userSelect: "none"
|
|
@@ -53,4 +49,4 @@ var MaterialQuizAnswerExplanation = function MaterialQuizAnswerExplanation() {
|
|
|
53
49
|
}))));
|
|
54
50
|
};
|
|
55
51
|
|
|
56
|
-
exports
|
|
52
|
+
exports.default = MaterialQuizAnswerExplanation;
|
|
@@ -10,60 +10,56 @@ var QuestionBox = require('../shared/QuestionBox.js');
|
|
|
10
10
|
var MaterialQuizContext = require('./context/MaterialQuizContext.js');
|
|
11
11
|
var MaterialQuizAnswerExplanation = require('./MaterialQuizAnswerExplanation.js');
|
|
12
12
|
|
|
13
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
|
-
|
|
15
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
16
|
-
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
17
|
-
|
|
18
13
|
//
|
|
19
14
|
//
|
|
20
15
|
//
|
|
21
|
-
|
|
16
|
+
const StyledMarkdownSSR = styled(markdown.MarkdownSSR).withConfig({
|
|
22
17
|
componentId: "sc-1s7jbf9-0"
|
|
23
18
|
})([".elicemd--theme-dark{pre{border:0;}table td,table th{border-bottom-color:rgba(255,255,255,0.16);}}"]);
|
|
24
19
|
//
|
|
25
20
|
//
|
|
26
21
|
//
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
materialQuiz
|
|
30
|
-
|
|
22
|
+
const MaterialQuizInfo = () => {
|
|
23
|
+
const {
|
|
24
|
+
materialQuiz
|
|
25
|
+
} = MaterialQuizContext.useMaterialQuizState();
|
|
26
|
+
return React.createElement(QuestionBox.default, {
|
|
31
27
|
title: materialQuiz === null || materialQuiz === void 0 ? void 0 : materialQuiz.questionTitle,
|
|
32
28
|
titlePrefix: "Q."
|
|
33
|
-
}, materialQuiz ?
|
|
29
|
+
}, materialQuiz ? React.createElement(StyledMarkdownSSR, {
|
|
34
30
|
children: materialQuiz.questionDescription,
|
|
35
31
|
dark: true,
|
|
36
32
|
paddingx: 0,
|
|
37
33
|
paddingy: 0
|
|
38
|
-
}) :
|
|
34
|
+
}) : React.createElement(React.Fragment, null, React.createElement(blocks.Vspace, {
|
|
39
35
|
height: 1
|
|
40
|
-
}),
|
|
36
|
+
}), React.createElement(blocks.Shimmer, {
|
|
41
37
|
dark: true,
|
|
42
38
|
borderRadius: '4px',
|
|
43
39
|
width: "80%",
|
|
44
40
|
height: '40px'
|
|
45
|
-
}),
|
|
41
|
+
}), React.createElement(blocks.Vspace, {
|
|
46
42
|
height: 1
|
|
47
|
-
}),
|
|
43
|
+
}), React.createElement(blocks.Shimmer, {
|
|
48
44
|
dark: true,
|
|
49
45
|
borderRadius: '4px',
|
|
50
46
|
width: "100%",
|
|
51
47
|
height: '40px'
|
|
52
|
-
}),
|
|
48
|
+
}), React.createElement(blocks.Vspace, {
|
|
53
49
|
height: 1
|
|
54
|
-
}),
|
|
50
|
+
}), React.createElement(blocks.Shimmer, {
|
|
55
51
|
dark: true,
|
|
56
52
|
borderRadius: '4px',
|
|
57
53
|
width: "100%",
|
|
58
54
|
height: '40px'
|
|
59
|
-
}),
|
|
55
|
+
}), React.createElement(blocks.Vspace, {
|
|
60
56
|
height: 1
|
|
61
|
-
}),
|
|
57
|
+
}), React.createElement(blocks.Shimmer, {
|
|
62
58
|
dark: true,
|
|
63
59
|
borderRadius: '4px',
|
|
64
60
|
width: "100%",
|
|
65
61
|
height: '40px'
|
|
66
|
-
})),
|
|
62
|
+
})), React.createElement(MaterialQuizAnswerExplanation.default, null));
|
|
67
63
|
};
|
|
68
64
|
|
|
69
|
-
exports
|
|
65
|
+
exports.default = MaterialQuizInfo;
|