@elice/material-video-assessment 1.260526.0-addvideoassessmentmaterial.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/README.md +3 -0
- package/cjs/_virtual/_rollupPluginBabelHelpers.js +206 -0
- package/cjs/components/material-video-assessment/MaterialVideoAssessment.d.ts +40 -0
- package/cjs/components/material-video-assessment/MaterialVideoAssessment.js +74 -0
- package/cjs/components/material-video-assessment/MaterialVideoAssessmentContent.d.ts +14 -0
- package/cjs/components/material-video-assessment/MaterialVideoAssessmentContent.js +184 -0
- package/cjs/components/material-video-assessment/MaterialVideoAssessmentProvider.d.ts +8 -0
- package/cjs/components/material-video-assessment/MaterialVideoAssessmentProvider.js +49 -0
- package/cjs/components/material-video-assessment/adapters/context.d.ts +3 -0
- package/cjs/components/material-video-assessment/adapters/context.js +21 -0
- package/cjs/components/material-video-assessment/adapters/index.d.ts +2 -0
- package/cjs/components/material-video-assessment/adapters/index.js +8 -0
- package/cjs/components/material-video-assessment/adapters/interfaces/adapters.d.ts +4 -0
- package/cjs/components/material-video-assessment/adapters/interfaces/file.d.ts +15 -0
- package/cjs/components/material-video-assessment/adapters/interfaces/index.d.ts +2 -0
- package/cjs/components/material-video-assessment/admin/MaterialVideoAssessmentAdminContent.d.ts +12 -0
- package/cjs/components/material-video-assessment/admin/MaterialVideoAssessmentAdminContent.js +129 -0
- package/cjs/components/material-video-assessment/admin/MaterialVideoAssessmentAdminContentSkeleton.d.ts +6 -0
- package/cjs/components/material-video-assessment/admin/MaterialVideoAssessmentAdminContentSkeleton.js +111 -0
- package/cjs/components/material-video-assessment/admin/grade-button/GradeButton.d.ts +10 -0
- package/cjs/components/material-video-assessment/admin/grade-button/GradeButton.js +96 -0
- package/cjs/components/material-video-assessment/admin/grade-button/GradeDialog.d.ts +11 -0
- package/cjs/components/material-video-assessment/admin/grade-button/GradeDialog.js +173 -0
- package/cjs/components/material-video-assessment/admin/grade-button/index.d.ts +2 -0
- package/cjs/components/material-video-assessment/admin/grade-button/index.js +7 -0
- package/cjs/components/material-video-assessment/admin/grade-button/schema.d.ts +19 -0
- package/cjs/components/material-video-assessment/admin/grade-button/schema.js +50 -0
- package/cjs/components/material-video-assessment/admin/index.d.ts +2 -0
- package/cjs/components/material-video-assessment/admin/index.js +7 -0
- package/cjs/components/material-video-assessment/admin/response-detail-table/ResponseDetailTable.d.ts +8 -0
- package/cjs/components/material-video-assessment/admin/response-detail-table/ResponseDetailTable.js +107 -0
- package/cjs/components/material-video-assessment/admin/response-detail-table/ResponseDetailTableRow.d.ts +7 -0
- package/cjs/components/material-video-assessment/admin/response-detail-table/ResponseDetailTableRow.js +47 -0
- package/cjs/components/material-video-assessment/admin/response-detail-table/ResponseDetailTableScore.d.ts +6 -0
- package/cjs/components/material-video-assessment/admin/response-detail-table/ResponseDetailTableScore.js +39 -0
- package/cjs/components/material-video-assessment/admin/response-detail-table/index.d.ts +2 -0
- package/cjs/components/material-video-assessment/admin/response-detail-table/index.js +7 -0
- package/cjs/components/material-video-assessment/context/MaterialVideoAssessmentContext.d.ts +10 -0
- package/cjs/components/material-video-assessment/context/MaterialVideoAssessmentContext.js +24 -0
- package/cjs/components/material-video-assessment/context/index.d.ts +2 -0
- package/cjs/components/material-video-assessment/context/index.js +8 -0
- package/cjs/components/material-video-assessment/hooks/index.d.ts +4 -0
- package/cjs/components/material-video-assessment/hooks/index.js +11 -0
- package/cjs/components/material-video-assessment/hooks/useFunnel.d.ts +1 -0
- package/cjs/components/material-video-assessment/hooks/useFunnel.js +56 -0
- package/cjs/components/material-video-assessment/hooks/useMediaStreamAutoRequestService.d.ts +14 -0
- package/cjs/components/material-video-assessment/hooks/useMediaStreamAutoRequestService.js +41 -0
- package/cjs/components/material-video-assessment/hooks/useVideoAssessmentTimer.d.ts +49 -0
- package/cjs/components/material-video-assessment/hooks/useVideoAssessmentTimer.js +78 -0
- package/cjs/components/material-video-assessment/index.d.ts +3 -0
- package/cjs/components/material-video-assessment/index.js +7 -0
- package/cjs/components/material-video-assessment/locales/en.json.js +7 -0
- package/cjs/components/material-video-assessment/locales/index.d.ts +4 -0
- package/cjs/components/material-video-assessment/locales/index.js +13 -0
- package/cjs/components/material-video-assessment/locales/ja.json.js +7 -0
- package/cjs/components/material-video-assessment/locales/ko.json.js +7 -0
- package/cjs/components/material-video-assessment/locales/th.json.js +7 -0
- package/cjs/components/material-video-assessment/step/index.d.ts +4 -0
- package/cjs/components/material-video-assessment/step/index.js +13 -0
- package/cjs/components/material-video-assessment/step/loading/StepLoading.d.ts +12 -0
- package/cjs/components/material-video-assessment/step/loading/StepLoading.js +98 -0
- package/cjs/components/material-video-assessment/step/loading/index.d.ts +1 -0
- package/cjs/components/material-video-assessment/step/loading/index.js +7 -0
- package/cjs/components/material-video-assessment/step/preparation/StepPreparation.d.ts +6 -0
- package/cjs/components/material-video-assessment/step/preparation/StepPreparation.js +176 -0
- package/cjs/components/material-video-assessment/step/preparation/index.d.ts +1 -0
- package/cjs/components/material-video-assessment/step/preparation/index.js +7 -0
- package/cjs/components/material-video-assessment/step/recording/StepRecording.d.ts +8 -0
- package/cjs/components/material-video-assessment/step/recording/StepRecording.js +232 -0
- package/cjs/components/material-video-assessment/step/recording/index.d.ts +1 -0
- package/cjs/components/material-video-assessment/step/recording/index.js +7 -0
- package/cjs/components/material-video-assessment/step/submitted/StepSubmitted.d.ts +9 -0
- package/cjs/components/material-video-assessment/step/submitted/StepSubmitted.js +188 -0
- package/cjs/components/material-video-assessment/step/submitted/StepSubmittedDetailRow.d.ts +7 -0
- package/cjs/components/material-video-assessment/step/submitted/StepSubmittedDetailRow.js +47 -0
- package/cjs/components/material-video-assessment/step/submitted/StepSubmittedScore.d.ts +9 -0
- package/cjs/components/material-video-assessment/step/submitted/StepSubmittedScore.js +68 -0
- package/cjs/components/material-video-assessment/step/submitted/index.d.ts +1 -0
- package/cjs/components/material-video-assessment/step/submitted/index.js +7 -0
- package/cjs/components/material-video-assessment-edit/MaterialVideoAssessmentEdit.d.ts +26 -0
- package/cjs/components/material-video-assessment-edit/MaterialVideoAssessmentEdit.js +110 -0
- package/cjs/components/material-video-assessment-edit/MaterialVideoAssessmentEditContent.d.ts +3 -0
- package/cjs/components/material-video-assessment-edit/MaterialVideoAssessmentEditContent.js +257 -0
- package/cjs/components/material-video-assessment-edit/context.d.ts +6 -0
- package/cjs/components/material-video-assessment-edit/context.js +23 -0
- package/cjs/components/material-video-assessment-edit/index.d.ts +2 -0
- package/cjs/components/material-video-assessment-edit/index.js +7 -0
- package/cjs/components/material-video-assessment-edit/locales/en.json.js +7 -0
- package/cjs/components/material-video-assessment-edit/locales/index.d.ts +4 -0
- package/cjs/components/material-video-assessment-edit/locales/index.js +13 -0
- package/cjs/components/material-video-assessment-edit/locales/ja.json.js +7 -0
- package/cjs/components/material-video-assessment-edit/locales/ko.json.js +7 -0
- package/cjs/components/material-video-assessment-edit/locales/th.json.js +7 -0
- package/cjs/hooks/index.d.ts +2 -0
- package/cjs/hooks/index.js +10 -0
- package/cjs/hooks/useMaterialVideoAssessmentLastResponse.d.ts +38 -0
- package/cjs/hooks/useMaterialVideoAssessmentLastResponse.js +43 -0
- package/cjs/hooks/useMaterialVideoAssessmentManualScoreEdit.d.ts +12 -0
- package/cjs/hooks/useMaterialVideoAssessmentManualScoreEdit.js +55 -0
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +9 -0
- package/es/_virtual/_rollupPluginBabelHelpers.js +192 -0
- package/es/components/material-video-assessment/MaterialVideoAssessment.d.ts +40 -0
- package/es/components/material-video-assessment/MaterialVideoAssessment.js +66 -0
- package/es/components/material-video-assessment/MaterialVideoAssessmentContent.d.ts +14 -0
- package/es/components/material-video-assessment/MaterialVideoAssessmentContent.js +176 -0
- package/es/components/material-video-assessment/MaterialVideoAssessmentProvider.d.ts +8 -0
- package/es/components/material-video-assessment/MaterialVideoAssessmentProvider.js +41 -0
- package/es/components/material-video-assessment/adapters/context.d.ts +3 -0
- package/es/components/material-video-assessment/adapters/context.js +18 -0
- package/es/components/material-video-assessment/adapters/index.d.ts +2 -0
- package/es/components/material-video-assessment/adapters/index.js +1 -0
- package/es/components/material-video-assessment/adapters/interfaces/adapters.d.ts +4 -0
- package/es/components/material-video-assessment/adapters/interfaces/file.d.ts +15 -0
- package/es/components/material-video-assessment/adapters/interfaces/index.d.ts +2 -0
- package/es/components/material-video-assessment/admin/MaterialVideoAssessmentAdminContent.d.ts +12 -0
- package/es/components/material-video-assessment/admin/MaterialVideoAssessmentAdminContent.js +125 -0
- package/es/components/material-video-assessment/admin/MaterialVideoAssessmentAdminContentSkeleton.d.ts +6 -0
- package/es/components/material-video-assessment/admin/MaterialVideoAssessmentAdminContentSkeleton.js +107 -0
- package/es/components/material-video-assessment/admin/grade-button/GradeButton.d.ts +10 -0
- package/es/components/material-video-assessment/admin/grade-button/GradeButton.js +88 -0
- package/es/components/material-video-assessment/admin/grade-button/GradeDialog.d.ts +11 -0
- package/es/components/material-video-assessment/admin/grade-button/GradeDialog.js +165 -0
- package/es/components/material-video-assessment/admin/grade-button/index.d.ts +2 -0
- package/es/components/material-video-assessment/admin/grade-button/index.js +1 -0
- package/es/components/material-video-assessment/admin/grade-button/schema.d.ts +19 -0
- package/es/components/material-video-assessment/admin/grade-button/schema.js +45 -0
- package/es/components/material-video-assessment/admin/index.d.ts +2 -0
- package/es/components/material-video-assessment/admin/index.js +1 -0
- package/es/components/material-video-assessment/admin/response-detail-table/ResponseDetailTable.d.ts +8 -0
- package/es/components/material-video-assessment/admin/response-detail-table/ResponseDetailTable.js +99 -0
- package/es/components/material-video-assessment/admin/response-detail-table/ResponseDetailTableRow.d.ts +7 -0
- package/es/components/material-video-assessment/admin/response-detail-table/ResponseDetailTableRow.js +43 -0
- package/es/components/material-video-assessment/admin/response-detail-table/ResponseDetailTableScore.d.ts +6 -0
- package/es/components/material-video-assessment/admin/response-detail-table/ResponseDetailTableScore.js +35 -0
- package/es/components/material-video-assessment/admin/response-detail-table/index.d.ts +2 -0
- package/es/components/material-video-assessment/admin/response-detail-table/index.js +1 -0
- package/es/components/material-video-assessment/context/MaterialVideoAssessmentContext.d.ts +10 -0
- package/es/components/material-video-assessment/context/MaterialVideoAssessmentContext.js +17 -0
- package/es/components/material-video-assessment/context/index.d.ts +2 -0
- package/es/components/material-video-assessment/context/index.js +1 -0
- package/es/components/material-video-assessment/hooks/index.d.ts +4 -0
- package/es/components/material-video-assessment/hooks/index.js +3 -0
- package/es/components/material-video-assessment/hooks/useFunnel.d.ts +1 -0
- package/es/components/material-video-assessment/hooks/useFunnel.js +50 -0
- package/es/components/material-video-assessment/hooks/useMediaStreamAutoRequestService.d.ts +14 -0
- package/es/components/material-video-assessment/hooks/useMediaStreamAutoRequestService.js +35 -0
- package/es/components/material-video-assessment/hooks/useVideoAssessmentTimer.d.ts +49 -0
- package/es/components/material-video-assessment/hooks/useVideoAssessmentTimer.js +72 -0
- package/es/components/material-video-assessment/index.d.ts +3 -0
- package/es/components/material-video-assessment/index.js +1 -0
- package/es/components/material-video-assessment/locales/en.json.js +3 -0
- package/es/components/material-video-assessment/locales/index.d.ts +4 -0
- package/es/components/material-video-assessment/locales/index.js +4 -0
- package/es/components/material-video-assessment/locales/ja.json.js +3 -0
- package/es/components/material-video-assessment/locales/ko.json.js +3 -0
- package/es/components/material-video-assessment/locales/th.json.js +3 -0
- package/es/components/material-video-assessment/step/index.d.ts +4 -0
- package/es/components/material-video-assessment/step/index.js +4 -0
- package/es/components/material-video-assessment/step/loading/StepLoading.d.ts +12 -0
- package/es/components/material-video-assessment/step/loading/StepLoading.js +90 -0
- package/es/components/material-video-assessment/step/loading/index.d.ts +1 -0
- package/es/components/material-video-assessment/step/loading/index.js +1 -0
- package/es/components/material-video-assessment/step/preparation/StepPreparation.d.ts +6 -0
- package/es/components/material-video-assessment/step/preparation/StepPreparation.js +168 -0
- package/es/components/material-video-assessment/step/preparation/index.d.ts +1 -0
- package/es/components/material-video-assessment/step/preparation/index.js +1 -0
- package/es/components/material-video-assessment/step/recording/StepRecording.d.ts +8 -0
- package/es/components/material-video-assessment/step/recording/StepRecording.js +224 -0
- package/es/components/material-video-assessment/step/recording/index.d.ts +1 -0
- package/es/components/material-video-assessment/step/recording/index.js +1 -0
- package/es/components/material-video-assessment/step/submitted/StepSubmitted.d.ts +9 -0
- package/es/components/material-video-assessment/step/submitted/StepSubmitted.js +180 -0
- package/es/components/material-video-assessment/step/submitted/StepSubmittedDetailRow.d.ts +7 -0
- package/es/components/material-video-assessment/step/submitted/StepSubmittedDetailRow.js +43 -0
- package/es/components/material-video-assessment/step/submitted/StepSubmittedScore.d.ts +9 -0
- package/es/components/material-video-assessment/step/submitted/StepSubmittedScore.js +64 -0
- package/es/components/material-video-assessment/step/submitted/index.d.ts +1 -0
- package/es/components/material-video-assessment/step/submitted/index.js +1 -0
- package/es/components/material-video-assessment-edit/MaterialVideoAssessmentEdit.d.ts +26 -0
- package/es/components/material-video-assessment-edit/MaterialVideoAssessmentEdit.js +102 -0
- package/es/components/material-video-assessment-edit/MaterialVideoAssessmentEditContent.d.ts +3 -0
- package/es/components/material-video-assessment-edit/MaterialVideoAssessmentEditContent.js +248 -0
- package/es/components/material-video-assessment-edit/context.d.ts +6 -0
- package/es/components/material-video-assessment-edit/context.js +14 -0
- package/es/components/material-video-assessment-edit/index.d.ts +2 -0
- package/es/components/material-video-assessment-edit/index.js +1 -0
- package/es/components/material-video-assessment-edit/locales/en.json.js +3 -0
- package/es/components/material-video-assessment-edit/locales/index.d.ts +4 -0
- package/es/components/material-video-assessment-edit/locales/index.js +4 -0
- package/es/components/material-video-assessment-edit/locales/ja.json.js +3 -0
- package/es/components/material-video-assessment-edit/locales/ko.json.js +3 -0
- package/es/components/material-video-assessment-edit/locales/th.json.js +3 -0
- package/es/hooks/index.d.ts +2 -0
- package/es/hooks/index.js +2 -0
- package/es/hooks/useMaterialVideoAssessmentLastResponse.d.ts +38 -0
- package/es/hooks/useMaterialVideoAssessmentLastResponse.js +40 -0
- package/es/hooks/useMaterialVideoAssessmentManualScoreEdit.d.ts +12 -0
- package/es/hooks/useMaterialVideoAssessmentManualScoreEdit.js +53 -0
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -0
- package/package.json +94 -0
package/README.md
ADDED
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function _arrayLikeToArray(r, a) {
|
|
4
|
+
(null == a || a > r.length) && (a = r.length);
|
|
5
|
+
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
6
|
+
return n;
|
|
7
|
+
}
|
|
8
|
+
function _arrayWithHoles(r) {
|
|
9
|
+
if (Array.isArray(r)) return r;
|
|
10
|
+
}
|
|
11
|
+
function _arrayWithoutHoles(r) {
|
|
12
|
+
if (Array.isArray(r)) return _arrayLikeToArray(r);
|
|
13
|
+
}
|
|
14
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) {
|
|
15
|
+
try {
|
|
16
|
+
var i = n[a](c),
|
|
17
|
+
u = i.value;
|
|
18
|
+
} catch (n) {
|
|
19
|
+
return void e(n);
|
|
20
|
+
}
|
|
21
|
+
i.done ? t(u) : Promise.resolve(u).then(r, o);
|
|
22
|
+
}
|
|
23
|
+
function _asyncToGenerator(n) {
|
|
24
|
+
return function () {
|
|
25
|
+
var t = this,
|
|
26
|
+
e = arguments;
|
|
27
|
+
return new Promise(function (r, o) {
|
|
28
|
+
var a = n.apply(t, e);
|
|
29
|
+
function _next(n) {
|
|
30
|
+
asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
|
|
31
|
+
}
|
|
32
|
+
function _throw(n) {
|
|
33
|
+
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
|
|
34
|
+
}
|
|
35
|
+
_next(void 0);
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function _iterableToArray(r) {
|
|
40
|
+
if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
|
|
41
|
+
}
|
|
42
|
+
function _iterableToArrayLimit(r, l) {
|
|
43
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
44
|
+
if (null != t) {
|
|
45
|
+
var e,
|
|
46
|
+
n,
|
|
47
|
+
i,
|
|
48
|
+
u,
|
|
49
|
+
a = [],
|
|
50
|
+
f = true,
|
|
51
|
+
o = false;
|
|
52
|
+
try {
|
|
53
|
+
if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
54
|
+
} catch (r) {
|
|
55
|
+
o = true, n = r;
|
|
56
|
+
} finally {
|
|
57
|
+
try {
|
|
58
|
+
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
|
|
59
|
+
} finally {
|
|
60
|
+
if (o) throw n;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return a;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function _nonIterableRest() {
|
|
67
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
68
|
+
}
|
|
69
|
+
function _nonIterableSpread() {
|
|
70
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
71
|
+
}
|
|
72
|
+
function _regenerator() {
|
|
73
|
+
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
74
|
+
var e,
|
|
75
|
+
t,
|
|
76
|
+
r = "function" == typeof Symbol ? Symbol : {},
|
|
77
|
+
n = r.iterator || "@@iterator",
|
|
78
|
+
o = r.toStringTag || "@@toStringTag";
|
|
79
|
+
function i(r, n, o, i) {
|
|
80
|
+
var c = n && n.prototype instanceof Generator ? n : Generator,
|
|
81
|
+
u = Object.create(c.prototype);
|
|
82
|
+
return _regeneratorDefine(u, "_invoke", function (r, n, o) {
|
|
83
|
+
var i,
|
|
84
|
+
c,
|
|
85
|
+
u,
|
|
86
|
+
f = 0,
|
|
87
|
+
p = o || [],
|
|
88
|
+
y = false,
|
|
89
|
+
G = {
|
|
90
|
+
p: 0,
|
|
91
|
+
n: 0,
|
|
92
|
+
v: e,
|
|
93
|
+
a: d,
|
|
94
|
+
f: d.bind(e, 4),
|
|
95
|
+
d: function (t, r) {
|
|
96
|
+
return i = t, c = 0, u = e, G.n = r, a;
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
function d(r, n) {
|
|
100
|
+
for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
|
|
101
|
+
var o,
|
|
102
|
+
i = p[t],
|
|
103
|
+
d = G.p,
|
|
104
|
+
l = i[2];
|
|
105
|
+
r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
|
|
106
|
+
}
|
|
107
|
+
if (o || r > 1) return a;
|
|
108
|
+
throw y = true, n;
|
|
109
|
+
}
|
|
110
|
+
return function (o, p, l) {
|
|
111
|
+
if (f > 1) throw TypeError("Generator is already running");
|
|
112
|
+
for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
|
|
113
|
+
i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
|
|
114
|
+
try {
|
|
115
|
+
if (f = 2, i) {
|
|
116
|
+
if (c || (o = "next"), t = i[o]) {
|
|
117
|
+
if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
|
|
118
|
+
if (!t.done) return t;
|
|
119
|
+
u = t.value, c < 2 && (c = 0);
|
|
120
|
+
} else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
|
|
121
|
+
i = e;
|
|
122
|
+
} else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
|
|
123
|
+
} catch (t) {
|
|
124
|
+
i = e, c = 1, u = t;
|
|
125
|
+
} finally {
|
|
126
|
+
f = 1;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
value: t,
|
|
131
|
+
done: y
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
}(r, o, i), true), u;
|
|
135
|
+
}
|
|
136
|
+
var a = {};
|
|
137
|
+
function Generator() {}
|
|
138
|
+
function GeneratorFunction() {}
|
|
139
|
+
function GeneratorFunctionPrototype() {}
|
|
140
|
+
t = Object.getPrototypeOf;
|
|
141
|
+
var c = [][n] ? t(t([][n]())) : (_regeneratorDefine(t = {}, n, function () {
|
|
142
|
+
return this;
|
|
143
|
+
}), t),
|
|
144
|
+
u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
|
|
145
|
+
function f(e) {
|
|
146
|
+
return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
|
|
147
|
+
}
|
|
148
|
+
return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine(u), _regeneratorDefine(u, o, "Generator"), _regeneratorDefine(u, n, function () {
|
|
149
|
+
return this;
|
|
150
|
+
}), _regeneratorDefine(u, "toString", function () {
|
|
151
|
+
return "[object Generator]";
|
|
152
|
+
}), (_regenerator = function () {
|
|
153
|
+
return {
|
|
154
|
+
w: i,
|
|
155
|
+
m: f
|
|
156
|
+
};
|
|
157
|
+
})();
|
|
158
|
+
}
|
|
159
|
+
function _regeneratorDefine(e, r, n, t) {
|
|
160
|
+
var i = Object.defineProperty;
|
|
161
|
+
try {
|
|
162
|
+
i({}, "", {});
|
|
163
|
+
} catch (e) {
|
|
164
|
+
i = 0;
|
|
165
|
+
}
|
|
166
|
+
_regeneratorDefine = function (e, r, n, t) {
|
|
167
|
+
function o(r, n) {
|
|
168
|
+
_regeneratorDefine(e, r, function (e) {
|
|
169
|
+
return this._invoke(r, n, e);
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
r ? i ? i(e, r, {
|
|
173
|
+
value: n,
|
|
174
|
+
enumerable: !t,
|
|
175
|
+
configurable: !t,
|
|
176
|
+
writable: !t
|
|
177
|
+
}) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
|
|
178
|
+
}, _regeneratorDefine(e, r, n, t);
|
|
179
|
+
}
|
|
180
|
+
function _slicedToArray(r, e) {
|
|
181
|
+
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
|
|
182
|
+
}
|
|
183
|
+
function _toConsumableArray(r) {
|
|
184
|
+
return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
|
|
185
|
+
}
|
|
186
|
+
function _unsupportedIterableToArray(r, a) {
|
|
187
|
+
if (r) {
|
|
188
|
+
if ("string" == typeof r) return _arrayLikeToArray(r, a);
|
|
189
|
+
var t = {}.toString.call(r).slice(8, -1);
|
|
190
|
+
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
exports.arrayLikeToArray = _arrayLikeToArray;
|
|
195
|
+
exports.arrayWithHoles = _arrayWithHoles;
|
|
196
|
+
exports.arrayWithoutHoles = _arrayWithoutHoles;
|
|
197
|
+
exports.asyncToGenerator = _asyncToGenerator;
|
|
198
|
+
exports.iterableToArray = _iterableToArray;
|
|
199
|
+
exports.iterableToArrayLimit = _iterableToArrayLimit;
|
|
200
|
+
exports.nonIterableRest = _nonIterableRest;
|
|
201
|
+
exports.nonIterableSpread = _nonIterableSpread;
|
|
202
|
+
exports.regenerator = _regenerator;
|
|
203
|
+
exports.regeneratorDefine = _regeneratorDefine;
|
|
204
|
+
exports.slicedToArray = _slicedToArray;
|
|
205
|
+
exports.toConsumableArray = _toConsumableArray;
|
|
206
|
+
exports.unsupportedIterableToArray = _unsupportedIterableToArray;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { MaterialVideoAssessmentAdapters } from './adapters';
|
|
3
|
+
import type { MaterialVideoAssessmentAdminContentProps } from './admin';
|
|
4
|
+
interface BaseProps {
|
|
5
|
+
className?: string;
|
|
6
|
+
materialVideoAssessmentId: number;
|
|
7
|
+
}
|
|
8
|
+
export interface MaterialVideoAssessmentViewProps extends BaseProps {
|
|
9
|
+
isTutoring?: false;
|
|
10
|
+
/** Student ID — the user recording the response. */
|
|
11
|
+
userId: number;
|
|
12
|
+
/**
|
|
13
|
+
* External feature adapters injected by the host application.
|
|
14
|
+
* Currently exposes `file.upload` so the host owns file storage credentials/SDK choice.
|
|
15
|
+
*/
|
|
16
|
+
adapters?: MaterialVideoAssessmentAdapters;
|
|
17
|
+
/**
|
|
18
|
+
* When true, the submitted view hides the score and feedback rows.
|
|
19
|
+
* Defaults to `false`. Hosts that show responses without grading context
|
|
20
|
+
* (e.g. elice-testroom during a test) should set this to `true`.
|
|
21
|
+
*/
|
|
22
|
+
hideScore?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Fires once when the submit chain (upload → POST /response/add/) resolves.
|
|
25
|
+
* @param isSucceeded `true` if BE returned a `videoAssessmentResponseId`, `false` on failure.
|
|
26
|
+
*/
|
|
27
|
+
onSubmit?: (isSucceeded: boolean) => void;
|
|
28
|
+
}
|
|
29
|
+
export interface MaterialVideoAssessmentAdminProps extends BaseProps {
|
|
30
|
+
isTutoring: true;
|
|
31
|
+
/** Student ID — the user whose response is being graded. */
|
|
32
|
+
studentUserId: number;
|
|
33
|
+
/**
|
|
34
|
+
* Fires once after the manual-score edit mutation resolves successfully.
|
|
35
|
+
*/
|
|
36
|
+
onScoreEdited?: MaterialVideoAssessmentAdminContentProps['onScoreEdited'];
|
|
37
|
+
}
|
|
38
|
+
export type MaterialVideoAssessmentProps = MaterialVideoAssessmentViewProps | MaterialVideoAssessmentAdminProps;
|
|
39
|
+
declare const _default: React.ComponentType<MaterialVideoAssessmentProps>;
|
|
40
|
+
export default _default;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var apiClient = require('@elice/api-client');
|
|
7
|
+
var intl = require('@elice/intl');
|
|
8
|
+
var materialSharedUtils = require('@elice/material-shared-utils');
|
|
9
|
+
var muiSystem = require('@elice/mui-system');
|
|
10
|
+
var material = require('@mui/material');
|
|
11
|
+
var classnames = require('classnames');
|
|
12
|
+
var MaterialVideoAssessmentContent = require('./MaterialVideoAssessmentContent.js');
|
|
13
|
+
var MaterialVideoAssessmentProvider = require('./MaterialVideoAssessmentProvider.js');
|
|
14
|
+
var en = require('./locales/en.json.js');
|
|
15
|
+
var ko = require('./locales/ko.json.js');
|
|
16
|
+
var MaterialVideoAssessmentAdminContent = require('./admin/MaterialVideoAssessmentAdminContent.js');
|
|
17
|
+
var context = require('./adapters/context.js');
|
|
18
|
+
|
|
19
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
20
|
+
|
|
21
|
+
var classnames__default = /*#__PURE__*/_interopDefaultCompat(classnames);
|
|
22
|
+
|
|
23
|
+
//
|
|
24
|
+
//
|
|
25
|
+
//
|
|
26
|
+
var eliceTheme = muiSystem.createEliceTheme({
|
|
27
|
+
paletteMode: 'dark',
|
|
28
|
+
paletteName: 'purple'
|
|
29
|
+
});
|
|
30
|
+
//
|
|
31
|
+
//
|
|
32
|
+
//
|
|
33
|
+
var MaterialVideoAssessment = function MaterialVideoAssessment(rawProps) {
|
|
34
|
+
var _a;
|
|
35
|
+
// `WithIntlComponentBuilderProps` wraps the user props in `Omit<P, ...>`, which
|
|
36
|
+
// collapses discriminated unions to their shared shape. Cast back to recover
|
|
37
|
+
// discriminant narrowing on `isTutoring`.
|
|
38
|
+
var props = rawProps;
|
|
39
|
+
return jsxRuntime.jsx(intl.RawEliceIntlProvider, {
|
|
40
|
+
value: props.__intl,
|
|
41
|
+
children: jsxRuntime.jsx(material.ThemeProvider, {
|
|
42
|
+
theme: eliceTheme,
|
|
43
|
+
children: jsxRuntime.jsx(material.Box, {
|
|
44
|
+
className: classnames__default.default('em-material-video-assessment', props.className),
|
|
45
|
+
sx: {
|
|
46
|
+
color: 'text.primary',
|
|
47
|
+
width: '100%',
|
|
48
|
+
maxWidth: '48rem'
|
|
49
|
+
},
|
|
50
|
+
children: props.isTutoring ? jsxRuntime.jsx(MaterialVideoAssessmentProvider.default, {
|
|
51
|
+
materialVideoAssessmentId: props.materialVideoAssessmentId,
|
|
52
|
+
children: jsxRuntime.jsx(MaterialVideoAssessmentAdminContent.default, {
|
|
53
|
+
userId: props.studentUserId,
|
|
54
|
+
onScoreEdited: props.onScoreEdited
|
|
55
|
+
})
|
|
56
|
+
}) : jsxRuntime.jsx(context.MaterialVideoAssessmentAdaptersContext.Provider, {
|
|
57
|
+
value: (_a = props.adapters) !== null && _a !== void 0 ? _a : null,
|
|
58
|
+
children: jsxRuntime.jsx(MaterialVideoAssessmentProvider.default, {
|
|
59
|
+
materialVideoAssessmentId: props.materialVideoAssessmentId,
|
|
60
|
+
hideScore: props.hideScore,
|
|
61
|
+
children: jsxRuntime.jsx(MaterialVideoAssessmentContent.default, {
|
|
62
|
+
materialVideoAssessmentId: props.materialVideoAssessmentId,
|
|
63
|
+
userId: props.userId,
|
|
64
|
+
onSubmit: props.onSubmit
|
|
65
|
+
})
|
|
66
|
+
})
|
|
67
|
+
})
|
|
68
|
+
})
|
|
69
|
+
})
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
var MaterialVideoAssessment_default = materialSharedUtils.withMaterial(new intl.IntlComponentBuilder(MaterialVideoAssessment).add('en', en.default).add('ko', ko.default).addAsync('th', Promise.resolve().then(function () { return require('./locales/th.json.js'); })).addAsync('ja', Promise.resolve().then(function () { return require('./locales/ja.json.js'); })).build(), apiClient.config.init);
|
|
73
|
+
|
|
74
|
+
exports.default = MaterialVideoAssessment_default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type VideoAssessmentFunnelStepMap = {
|
|
3
|
+
loading: Record<string, never>;
|
|
4
|
+
preparation: Record<string, never>;
|
|
5
|
+
recording: Record<string, never>;
|
|
6
|
+
submitted: Record<string, never>;
|
|
7
|
+
};
|
|
8
|
+
export interface MaterialVideoAssessmentContentProps {
|
|
9
|
+
materialVideoAssessmentId: number;
|
|
10
|
+
userId: number;
|
|
11
|
+
onSubmit?: (isSucceeded: boolean) => void;
|
|
12
|
+
}
|
|
13
|
+
declare const MaterialVideoAssessmentContent: React.FC<MaterialVideoAssessmentContentProps>;
|
|
14
|
+
export default MaterialVideoAssessmentContent;
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
var React = require('react');
|
|
8
|
+
var apiClient = require('@elice/api-client');
|
|
9
|
+
var mediaKit = require('@elice/media-kit');
|
|
10
|
+
var reactQuery = require('@tanstack/react-query');
|
|
11
|
+
var MaterialVideoAssessmentContext = require('./context/MaterialVideoAssessmentContext.js');
|
|
12
|
+
var context = require('./adapters/context.js');
|
|
13
|
+
var useFunnel = require('./hooks/useFunnel.js');
|
|
14
|
+
var useVideoAssessmentTimer = require('./hooks/useVideoAssessmentTimer.js');
|
|
15
|
+
var useMediaStreamAutoRequestService = require('./hooks/useMediaStreamAutoRequestService.js');
|
|
16
|
+
var StepSubmitted = require('./step/submitted/StepSubmitted.js');
|
|
17
|
+
var StepRecording = require('./step/recording/StepRecording.js');
|
|
18
|
+
var StepPreparation = require('./step/preparation/StepPreparation.js');
|
|
19
|
+
var StepLoading = require('./step/loading/StepLoading.js');
|
|
20
|
+
var useMaterialVideoAssessmentLastResponse = require('../../hooks/useMaterialVideoAssessmentLastResponse.js');
|
|
21
|
+
|
|
22
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
23
|
+
|
|
24
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
25
|
+
|
|
26
|
+
//
|
|
27
|
+
//
|
|
28
|
+
//
|
|
29
|
+
var MaterialVideoAssessmentContent = function MaterialVideoAssessmentContent(_ref) {
|
|
30
|
+
var materialVideoAssessmentId = _ref.materialVideoAssessmentId,
|
|
31
|
+
userId = _ref.userId,
|
|
32
|
+
onSubmit = _ref.onSubmit;
|
|
33
|
+
var _a, _b, _c, _d;
|
|
34
|
+
var queryClient = reactQuery.useQueryClient();
|
|
35
|
+
var _useMaterialVideoAsse = MaterialVideoAssessmentContext.useMaterialVideoAssessmentState(),
|
|
36
|
+
materialVideoAssessment = _useMaterialVideoAsse.materialVideoAssessment;
|
|
37
|
+
var _useMaterialVideoAsse2 = context.useMaterialVideoAssessmentAdapters(),
|
|
38
|
+
fileAdapter = _useMaterialVideoAsse2.file;
|
|
39
|
+
var _useMediaStream = mediaKit.useMediaStream('webcam'),
|
|
40
|
+
webcamStatus = _useMediaStream.status;
|
|
41
|
+
var _useMediaStream2 = mediaKit.useMediaStream('mic'),
|
|
42
|
+
micStatus = _useMediaStream2.status;
|
|
43
|
+
var funnel = useFunnel.useFunnel({
|
|
44
|
+
id: 'material-video-assessment',
|
|
45
|
+
initial: {
|
|
46
|
+
step: 'loading',
|
|
47
|
+
context: {}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
var recorder = mediaKit.useMediaRecorder(['webcam', 'mic']);
|
|
51
|
+
var timer = useVideoAssessmentTimer.useVideoAssessmentTimer({
|
|
52
|
+
running: funnel.step === 'recording',
|
|
53
|
+
mode: (_b = (_a = materialVideoAssessment === null || materialVideoAssessment === void 0 ? void 0 : materialVideoAssessment.timeLimit) === null || _a === void 0 ? void 0 : _a.mode) !== null && _b !== void 0 ? _b : 'recommended',
|
|
54
|
+
limitSec: (_d = (_c = materialVideoAssessment === null || materialVideoAssessment === void 0 ? void 0 : materialVideoAssessment.timeLimit) === null || _c === void 0 ? void 0 : _c.seconds) !== null && _d !== void 0 ? _d : 0,
|
|
55
|
+
onLimitReached: function onLimitReached() {
|
|
56
|
+
void handleVideoSubmit();
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
useMediaStreamAutoRequestService.useMediaStreamAutoRequestService({
|
|
60
|
+
streamType: 'webcam',
|
|
61
|
+
deviceKind: 'videoinput'
|
|
62
|
+
});
|
|
63
|
+
useMediaStreamAutoRequestService.useMediaStreamAutoRequestService({
|
|
64
|
+
streamType: 'mic',
|
|
65
|
+
deviceKind: 'audioinput'
|
|
66
|
+
});
|
|
67
|
+
//
|
|
68
|
+
// in `recording` step, if there is nothing fore webcam and mic,
|
|
69
|
+
// go to `preparation` step.
|
|
70
|
+
//
|
|
71
|
+
React__default.default.useEffect(function () {
|
|
72
|
+
if (funnel.step !== 'recording') {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
if (webcamStatus !== 'active' || micStatus !== 'active') {
|
|
76
|
+
void funnel.history.replace('preparation', {});
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
81
|
+
[funnel.step, webcamStatus, micStatus]);
|
|
82
|
+
/**
|
|
83
|
+
*
|
|
84
|
+
*/
|
|
85
|
+
var handleRecordingStart = function handleRecordingStart() {
|
|
86
|
+
recorder.start();
|
|
87
|
+
void funnel.history.push('recording', {});
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
*
|
|
91
|
+
*/
|
|
92
|
+
var handleVideoSubmit = /*#__PURE__*/function () {
|
|
93
|
+
var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee() {
|
|
94
|
+
var blob, uploaded;
|
|
95
|
+
return _rollupPluginBabelHelpers.regenerator().w(function (_context) {
|
|
96
|
+
while (1) switch (_context.p = _context.n) {
|
|
97
|
+
case 0:
|
|
98
|
+
if (fileAdapter) {
|
|
99
|
+
_context.n = 1;
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
return _context.a(2);
|
|
103
|
+
case 1:
|
|
104
|
+
_context.p = 1;
|
|
105
|
+
_context.n = 2;
|
|
106
|
+
return recorder.stop();
|
|
107
|
+
case 2:
|
|
108
|
+
blob = _context.v;
|
|
109
|
+
if (blob) {
|
|
110
|
+
_context.n = 3;
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
throw new Error('no blob');
|
|
114
|
+
case 3:
|
|
115
|
+
_context.n = 4;
|
|
116
|
+
return fileAdapter.upload(blob);
|
|
117
|
+
case 4:
|
|
118
|
+
uploaded = _context.v;
|
|
119
|
+
if (!(uploaded.status === 'incomplete')) {
|
|
120
|
+
_context.n = 5;
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
throw new Error('upload failed');
|
|
124
|
+
case 5:
|
|
125
|
+
_context.n = 6;
|
|
126
|
+
return apiClient.postOrgMaterialVideoAssessmentResponseAdd({
|
|
127
|
+
materialVideoAssessmentId: materialVideoAssessmentId,
|
|
128
|
+
resourceId: uploaded.resourceId,
|
|
129
|
+
durationSeconds: Math.round(recorder.durationMs / 1000)
|
|
130
|
+
});
|
|
131
|
+
case 6:
|
|
132
|
+
_context.n = 7;
|
|
133
|
+
return queryClient.invalidateQueries(useMaterialVideoAssessmentLastResponse.getOrgMaterialVideoAssessmentLastResponseQueryOptions({
|
|
134
|
+
materialVideoAssessmentId: materialVideoAssessmentId,
|
|
135
|
+
userId: userId
|
|
136
|
+
}));
|
|
137
|
+
case 7:
|
|
138
|
+
void funnel.history.push('submitted', {});
|
|
139
|
+
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(true);
|
|
140
|
+
_context.n = 9;
|
|
141
|
+
break;
|
|
142
|
+
case 8:
|
|
143
|
+
_context.p = 8;
|
|
144
|
+
_context.v;
|
|
145
|
+
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(false);
|
|
146
|
+
case 9:
|
|
147
|
+
return _context.a(2);
|
|
148
|
+
}
|
|
149
|
+
}, _callee, null, [[1, 8]]);
|
|
150
|
+
}));
|
|
151
|
+
return function handleVideoSubmit() {
|
|
152
|
+
return _ref2.apply(this, arguments);
|
|
153
|
+
};
|
|
154
|
+
}();
|
|
155
|
+
//
|
|
156
|
+
//
|
|
157
|
+
//
|
|
158
|
+
switch (funnel.step) {
|
|
159
|
+
case 'loading':
|
|
160
|
+
return jsxRuntime.jsx(StepLoading.default, {
|
|
161
|
+
userId: userId,
|
|
162
|
+
onStep: funnel.history.push
|
|
163
|
+
});
|
|
164
|
+
case 'preparation':
|
|
165
|
+
return jsxRuntime.jsx(StepPreparation.default, {
|
|
166
|
+
onNext: handleRecordingStart
|
|
167
|
+
});
|
|
168
|
+
case 'recording':
|
|
169
|
+
return jsxRuntime.jsx(StepRecording.default, {
|
|
170
|
+
timer: timer,
|
|
171
|
+
onNext: handleVideoSubmit
|
|
172
|
+
});
|
|
173
|
+
case 'submitted':
|
|
174
|
+
return jsxRuntime.jsx(StepSubmitted.default, {
|
|
175
|
+
userId: userId,
|
|
176
|
+
onReset: function onReset() {
|
|
177
|
+
recorder.reset();
|
|
178
|
+
void funnel.history.push('preparation', {});
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
exports.default = MaterialVideoAssessmentContent;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface MaterialVideoAssessmentProviderProps {
|
|
3
|
+
materialVideoAssessmentId: number;
|
|
4
|
+
hideScore?: boolean;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
declare const MaterialVideoAssessmentProvider: React.FC<MaterialVideoAssessmentProviderProps>;
|
|
8
|
+
export default MaterialVideoAssessmentProvider;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var apiClient = require('@elice/api-client');
|
|
8
|
+
var materialSharedUtils = require('@elice/material-shared-utils');
|
|
9
|
+
var types = require('@elice/types');
|
|
10
|
+
var MaterialVideoAssessmentContext = require('./context/MaterialVideoAssessmentContext.js');
|
|
11
|
+
|
|
12
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
13
|
+
|
|
14
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
15
|
+
|
|
16
|
+
//
|
|
17
|
+
//
|
|
18
|
+
//
|
|
19
|
+
var MaterialVideoAssessmentProvider = function MaterialVideoAssessmentProvider(_ref) {
|
|
20
|
+
var materialVideoAssessmentId = _ref.materialVideoAssessmentId,
|
|
21
|
+
hideScore = _ref.hideScore,
|
|
22
|
+
children = _ref.children;
|
|
23
|
+
var canInit = materialSharedUtils.useMaterialConfigApiClientUpdate(apiClient.config.init);
|
|
24
|
+
var _useMaterialFetchRaw = materialSharedUtils.useMaterialFetchRaw(types.enums.LectureMaterialType.VideoAssessment, React__default.default.useCallback(function (signal) {
|
|
25
|
+
return apiClient.getOrgMaterialVideoAssessmentGet({
|
|
26
|
+
materialVideoAssessmentId: materialVideoAssessmentId
|
|
27
|
+
}, {
|
|
28
|
+
signal: signal
|
|
29
|
+
});
|
|
30
|
+
}, [materialVideoAssessmentId]), canInit),
|
|
31
|
+
materialVideoAssessment = _useMaterialFetchRaw.materialVideoAssessment,
|
|
32
|
+
initStatus = _useMaterialFetchRaw.status;
|
|
33
|
+
var value = React__default.default.useMemo(function () {
|
|
34
|
+
return {
|
|
35
|
+
initStatus: initStatus,
|
|
36
|
+
materialVideoAssessment: materialVideoAssessment !== null && materialVideoAssessment !== void 0 ? materialVideoAssessment : undefined,
|
|
37
|
+
hideScore: hideScore !== null && hideScore !== void 0 ? hideScore : false
|
|
38
|
+
};
|
|
39
|
+
}, [materialVideoAssessment, initStatus, hideScore]);
|
|
40
|
+
//
|
|
41
|
+
//
|
|
42
|
+
//
|
|
43
|
+
return jsxRuntime.jsx(MaterialVideoAssessmentContext.MaterialVideoAssessmentStateContextProvider, {
|
|
44
|
+
value: value,
|
|
45
|
+
children: children
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
exports.default = MaterialVideoAssessmentProvider;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { MaterialVideoAssessmentAdapters } from './interfaces';
|
|
2
|
+
export declare const MaterialVideoAssessmentAdaptersContext: import("react").Context<MaterialVideoAssessmentAdapters | null>;
|
|
3
|
+
export declare const useMaterialVideoAssessmentAdapters: () => MaterialVideoAssessmentAdapters;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
|
|
5
|
+
//
|
|
6
|
+
//
|
|
7
|
+
//
|
|
8
|
+
var MaterialVideoAssessmentAdaptersContext = React.createContext(null);
|
|
9
|
+
//
|
|
10
|
+
//
|
|
11
|
+
//
|
|
12
|
+
var useMaterialVideoAssessmentAdapters = function useMaterialVideoAssessmentAdapters() {
|
|
13
|
+
var context = React.useContext(MaterialVideoAssessmentAdaptersContext);
|
|
14
|
+
if (!context) {
|
|
15
|
+
throw new Error('useMaterialVideoAssessmentAdapters should be within MaterialVideoAssessmentAdaptersContext.Provider');
|
|
16
|
+
}
|
|
17
|
+
return context;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
exports.MaterialVideoAssessmentAdaptersContext = MaterialVideoAssessmentAdaptersContext;
|
|
21
|
+
exports.useMaterialVideoAssessmentAdapters = useMaterialVideoAssessmentAdapters;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type HandlerReturnFactory<T extends MaterialVideoAssessmentAdapterFileUploadFnReturnStatus, P extends Record<string, unknown>> = P & {
|
|
2
|
+
status: T;
|
|
3
|
+
};
|
|
4
|
+
export type MaterialVideoAssessmentAdapterFileUploadFn = (file: Blob, signal?: AbortSignal) => Promise<MaterialVideoAssessmentAdapterFileUploadFnReturn>;
|
|
5
|
+
type MaterialVideoAssessmentAdapterFileUploadFnReturnStatus = 'complete' | 'incomplete';
|
|
6
|
+
type MaterialVideoAssessmentAdapterFileUploadFnReturn = HandlerReturnFactory<'complete', {
|
|
7
|
+
resourceId: string;
|
|
8
|
+
url?: string;
|
|
9
|
+
}> | HandlerReturnFactory<'incomplete', {
|
|
10
|
+
reason: string;
|
|
11
|
+
}>;
|
|
12
|
+
export interface MaterialVideoAssessmentAdapterFile {
|
|
13
|
+
upload: MaterialVideoAssessmentAdapterFileUploadFn;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
package/cjs/components/material-video-assessment/admin/MaterialVideoAssessmentAdminContent.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
export interface MaterialVideoAssessmentAdminContentProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
userId: number;
|
|
5
|
+
onScoreEdited?: (event: {
|
|
6
|
+
userId: number;
|
|
7
|
+
manualScore: number;
|
|
8
|
+
feedback: string;
|
|
9
|
+
}) => void;
|
|
10
|
+
}
|
|
11
|
+
declare const MaterialVideoAssessmentAdminContent: React.FC<MaterialVideoAssessmentAdminContentProps>;
|
|
12
|
+
export default MaterialVideoAssessmentAdminContent;
|