touchstudy-core 0.1.72 → 0.1.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Loading/LoadingComponent.d.ts +4 -2
- package/dist/containers/ExamResult/components/Charts/TimeOrderChart.d.ts +10 -0
- package/dist/containers/ExamResult/components/CompareGrass/index.d.ts +0 -1
- package/dist/containers/ExamResult/components/Dialog/PrintDialog.d.ts +6 -0
- package/dist/containers/ExamResult/components/GradesByTerritory/index.d.ts +3 -5
- package/dist/containers/ExamResult/components/LoadingDots.d.ts +6 -0
- package/dist/containers/ExamResult/components/MyAnswer/index.d.ts +1 -2
- package/dist/containers/ExamResult/components/ProtractedProblem/index.d.ts +4 -5
- package/dist/containers/ExamResult/components/TrickyProblem/index.d.ts +4 -5
- package/dist/containers/ExamResult/components/Vulnerable/index.d.ts +4 -5
- package/dist/containers/ExamResult/configs/functions.d.ts +1 -0
- package/dist/containers/ExamResult/configs/types.d.ts +13 -0
- package/dist/containers/ExamResult/hooks/useExamResult.d.ts +16 -6
- package/dist/containers/ExamResult/hooks/usePrintExamResult.d.ts +10 -0
- package/dist/containers/ExamResult/hooks/usePrintView.d.ts +8 -0
- package/dist/containers/ExamResult/views/ExamResultView.d.ts +11 -0
- package/dist/containers/ExamResult/views/PrintExamResult.d.ts +19 -0
- package/dist/containers/ExamResult/views/PrintExamResultView.d.ts +12 -0
- package/dist/containers/ExamResult/views/PrintPdfExamResult.d.ts +12 -0
- package/dist/containers/Exams/components/ArticleGroupView.d.ts +2 -0
- package/dist/containers/Exams/hooks/useExamDetailView.d.ts +2 -2
- package/dist/containers/Select/Category/hook/useCategorySelect.d.ts +2 -1
- package/dist/containers/Select/Subject/hook/useSubjectSelect.d.ts +6 -2
- package/dist/index.css +33 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +819 -924
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +816 -923
- package/dist/index.modern.js.map +1 -1
- package/dist/layouts/LayoutContext.d.ts +1 -0
- package/dist/utils/hooks/useLayoutContext.d.ts +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
@@ -17,7 +17,8 @@ require('moment/locale/ko.js');
|
|
17
17
|
require('moment/locale/en-au.js');
|
18
18
|
var Pusher = _interopDefault(require('pusher-js'));
|
19
19
|
var io5 = require('react-icons/io5');
|
20
|
-
var i18n =
|
20
|
+
var i18n = require('i18next');
|
21
|
+
var i18n__default = _interopDefault(i18n);
|
21
22
|
var Box = _interopDefault(require('@mui/material/Box'));
|
22
23
|
var Popover = _interopDefault(require('@mui/material/Popover'));
|
23
24
|
var MenuItem = _interopDefault(require('@mui/material/MenuItem'));
|
@@ -32,13 +33,12 @@ var io = require('react-icons/io');
|
|
32
33
|
var _ = _interopDefault(require('lodash'));
|
33
34
|
var fa6 = require('react-icons/fa6');
|
34
35
|
var CreatableSelect = _interopDefault(require('react-select/creatable'));
|
35
|
-
var html2canvas = _interopDefault(require('html2canvas'));
|
36
|
-
var jspdf = require('jspdf');
|
37
36
|
var Button = _interopDefault(require('@mui/material/Button'));
|
38
37
|
var DialogTitle = _interopDefault(require('@mui/material/DialogTitle'));
|
39
38
|
var DialogContent = _interopDefault(require('@mui/material/DialogContent'));
|
40
39
|
var DialogActions = _interopDefault(require('@mui/material/DialogActions'));
|
41
40
|
var Typography = _interopDefault(require('@mui/material/Typography'));
|
41
|
+
var html2pdf = _interopDefault(require('html2pdf.js'));
|
42
42
|
var Avatar = _interopDefault(require('@mui/material/Avatar'));
|
43
43
|
var TextField = _interopDefault(require('@mui/material/TextField'));
|
44
44
|
var Paper = _interopDefault(require('@mui/material/Paper'));
|
@@ -123,10 +123,6 @@ var RecentUserAction = {
|
|
123
123
|
AddedStudentToClass: "added_student_to_class",
|
124
124
|
RemovedStudentFromClass: "removed_student_from_class"
|
125
125
|
};
|
126
|
-
var PrintHeaderClassName = "print-header";
|
127
|
-
var PrintTitleClassName = "print-title";
|
128
|
-
var PrintContentClassName = "print-content";
|
129
|
-
var PrintContainerClassName = "print-container";
|
130
126
|
|
131
127
|
var utcToLocalTime = (function (time, FORMAT) {
|
132
128
|
if (time === DATE_MIN_VALUE || time === DATE_TIME_MIN_VALUE) return "";
|
@@ -176,194 +172,11 @@ function _taggedTemplateLiteralLoose(strings, raw) {
|
|
176
172
|
var styles = {"lighter":"#F0FFF6","light":"#89F0B2","less_dark":"#3DC674","dark":"#349056","darker":"#18442A","gray_50":"#FBFBF9","gray_100":"#EAEAE5","gray_300":"#D0D0C8","gray_500":"#9A9A98","gray_700":"#5D5D5B","gray_900":"#363634","btn-login-google":"_2HqmH","block-login":"_wWIyO","box-login":"_38Lo1","btn-primary":"_rd4Uy","dropdown-menu":"_1krbH","header-avatar":"_RQaHE","dropdown-menu-flag":"_XK8oS","dropdown-content":"_3ys4W","dropdown-change":"_ToOW_","item-address":"_3sQlR","item-logout":"_3bqSM","title-address":"_1jgSI","img-avatar":"_35Ttz","item-contact":"_1wc7o","content-text":"_3S4f2","dropdown-content-language":"_3ajui","dropdown-item-language":"_3Y_y4","dropdown-item-language-active":"_CzNMi","dropdown-academy":"_3CMVp","image-academy":"_2ibYC","academy-btn":"_1JMRU","switch-icon":"_N4FNf","dropdown-content-academy":"_31Dr0","dropdown-academy-item":"_3bjcz","noGutters":"_31ZQk","custom-col-2":"_3yXyK","custom-col-3":"_1RsJQ","custom-col-5":"_L42CP","custom-col-10":"_2u6eL","custom-row":"_8x7OP","custom-col":"_1JmTh","custom-col-4":"_3HO1e","custom-col-8":"_Oy31M","custom-col-12":"_3aUKo","custom-container":"_39LRs","form-label":"__Ut-u","form-control":"_2k4dX","btn-outline-primary":"_2PWdX","sort-icons":"_mQvLF","active":"_3oAH-","form-select":"_3W3aw","truncate":"_3NJzN","headers":"_3xnI5","logo-container":"_3YG70","tabBox":"_1CQPn","routerBox":"_3hx2T","tabText":"_3UyhW","router-link-active":"_1TGKA","router-link":"_1AqMh","userImg":"_2RI6G","disabled-link":"_3aVHg","line-clamp":"_3fpky"};
|
177
173
|
|
178
174
|
// A type of promise-like that resolves synchronously and supports only one observer
|
179
|
-
const _Pact = /*#__PURE__*/(function() {
|
180
|
-
function _Pact() {}
|
181
|
-
_Pact.prototype.then = function(onFulfilled, onRejected) {
|
182
|
-
const result = new _Pact();
|
183
|
-
const state = this.s;
|
184
|
-
if (state) {
|
185
|
-
const callback = state & 1 ? onFulfilled : onRejected;
|
186
|
-
if (callback) {
|
187
|
-
try {
|
188
|
-
_settle(result, 1, callback(this.v));
|
189
|
-
} catch (e) {
|
190
|
-
_settle(result, 2, e);
|
191
|
-
}
|
192
|
-
return result;
|
193
|
-
} else {
|
194
|
-
return this;
|
195
|
-
}
|
196
|
-
}
|
197
|
-
this.o = function(_this) {
|
198
|
-
try {
|
199
|
-
const value = _this.v;
|
200
|
-
if (_this.s & 1) {
|
201
|
-
_settle(result, 1, onFulfilled ? onFulfilled(value) : value);
|
202
|
-
} else if (onRejected) {
|
203
|
-
_settle(result, 1, onRejected(value));
|
204
|
-
} else {
|
205
|
-
_settle(result, 2, value);
|
206
|
-
}
|
207
|
-
} catch (e) {
|
208
|
-
_settle(result, 2, e);
|
209
|
-
}
|
210
|
-
};
|
211
|
-
return result;
|
212
|
-
};
|
213
|
-
return _Pact;
|
214
|
-
})();
|
215
|
-
|
216
|
-
// Settles a pact synchronously
|
217
|
-
function _settle(pact, state, value) {
|
218
|
-
if (!pact.s) {
|
219
|
-
if (value instanceof _Pact) {
|
220
|
-
if (value.s) {
|
221
|
-
if (state & 1) {
|
222
|
-
state = value.s;
|
223
|
-
}
|
224
|
-
value = value.v;
|
225
|
-
} else {
|
226
|
-
value.o = _settle.bind(null, pact, state);
|
227
|
-
return;
|
228
|
-
}
|
229
|
-
}
|
230
|
-
if (value && value.then) {
|
231
|
-
value.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));
|
232
|
-
return;
|
233
|
-
}
|
234
|
-
pact.s = state;
|
235
|
-
pact.v = value;
|
236
|
-
const observer = pact.o;
|
237
|
-
if (observer) {
|
238
|
-
observer(pact);
|
239
|
-
}
|
240
|
-
}
|
241
|
-
}
|
242
|
-
|
243
|
-
function _isSettledPact(thenable) {
|
244
|
-
return thenable instanceof _Pact && thenable.s & 1;
|
245
|
-
}
|
246
|
-
|
247
|
-
// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)
|
248
|
-
function _forTo(array, body, check) {
|
249
|
-
var i = -1, pact, reject;
|
250
|
-
function _cycle(result) {
|
251
|
-
try {
|
252
|
-
while (++i < array.length && (!check || !check())) {
|
253
|
-
result = body(i);
|
254
|
-
if (result && result.then) {
|
255
|
-
if (_isSettledPact(result)) {
|
256
|
-
result = result.v;
|
257
|
-
} else {
|
258
|
-
result.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));
|
259
|
-
return;
|
260
|
-
}
|
261
|
-
}
|
262
|
-
}
|
263
|
-
if (pact) {
|
264
|
-
_settle(pact, 1, result);
|
265
|
-
} else {
|
266
|
-
pact = result;
|
267
|
-
}
|
268
|
-
} catch (e) {
|
269
|
-
_settle(pact || (pact = new _Pact()), 2, e);
|
270
|
-
}
|
271
|
-
}
|
272
|
-
_cycle();
|
273
|
-
return pact;
|
274
|
-
}
|
275
175
|
|
276
176
|
const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator"))) : "@@iterator";
|
277
177
|
|
278
178
|
const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator"))) : "@@asyncIterator";
|
279
179
|
|
280
|
-
// Asynchronously implement a generic for loop
|
281
|
-
function _for(test, update, body) {
|
282
|
-
var stage;
|
283
|
-
for (;;) {
|
284
|
-
var shouldContinue = test();
|
285
|
-
if (_isSettledPact(shouldContinue)) {
|
286
|
-
shouldContinue = shouldContinue.v;
|
287
|
-
}
|
288
|
-
if (!shouldContinue) {
|
289
|
-
return result;
|
290
|
-
}
|
291
|
-
if (shouldContinue.then) {
|
292
|
-
stage = 0;
|
293
|
-
break;
|
294
|
-
}
|
295
|
-
var result = body();
|
296
|
-
if (result && result.then) {
|
297
|
-
if (_isSettledPact(result)) {
|
298
|
-
result = result.s;
|
299
|
-
} else {
|
300
|
-
stage = 1;
|
301
|
-
break;
|
302
|
-
}
|
303
|
-
}
|
304
|
-
if (update) {
|
305
|
-
var updateValue = update();
|
306
|
-
if (updateValue && updateValue.then && !_isSettledPact(updateValue)) {
|
307
|
-
stage = 2;
|
308
|
-
break;
|
309
|
-
}
|
310
|
-
}
|
311
|
-
}
|
312
|
-
var pact = new _Pact();
|
313
|
-
var reject = _settle.bind(null, pact, 2);
|
314
|
-
(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);
|
315
|
-
return pact;
|
316
|
-
function _resumeAfterBody(value) {
|
317
|
-
result = value;
|
318
|
-
do {
|
319
|
-
if (update) {
|
320
|
-
updateValue = update();
|
321
|
-
if (updateValue && updateValue.then && !_isSettledPact(updateValue)) {
|
322
|
-
updateValue.then(_resumeAfterUpdate).then(void 0, reject);
|
323
|
-
return;
|
324
|
-
}
|
325
|
-
}
|
326
|
-
shouldContinue = test();
|
327
|
-
if (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {
|
328
|
-
_settle(pact, 1, result);
|
329
|
-
return;
|
330
|
-
}
|
331
|
-
if (shouldContinue.then) {
|
332
|
-
shouldContinue.then(_resumeAfterTest).then(void 0, reject);
|
333
|
-
return;
|
334
|
-
}
|
335
|
-
result = body();
|
336
|
-
if (_isSettledPact(result)) {
|
337
|
-
result = result.v;
|
338
|
-
}
|
339
|
-
} while (!result || !result.then);
|
340
|
-
result.then(_resumeAfterBody).then(void 0, reject);
|
341
|
-
}
|
342
|
-
function _resumeAfterTest(shouldContinue) {
|
343
|
-
if (shouldContinue) {
|
344
|
-
result = body();
|
345
|
-
if (result && result.then) {
|
346
|
-
result.then(_resumeAfterBody).then(void 0, reject);
|
347
|
-
} else {
|
348
|
-
_resumeAfterBody(result);
|
349
|
-
}
|
350
|
-
} else {
|
351
|
-
_settle(pact, 1, result);
|
352
|
-
}
|
353
|
-
}
|
354
|
-
function _resumeAfterUpdate() {
|
355
|
-
if (shouldContinue = test()) {
|
356
|
-
if (shouldContinue.then) {
|
357
|
-
shouldContinue.then(_resumeAfterTest).then(void 0, reject);
|
358
|
-
} else {
|
359
|
-
_resumeAfterTest(shouldContinue);
|
360
|
-
}
|
361
|
-
} else {
|
362
|
-
_settle(pact, 1, result);
|
363
|
-
}
|
364
|
-
}
|
365
|
-
}
|
366
|
-
|
367
180
|
// Asynchronously call a function and send errors to recovery continuation
|
368
181
|
function _catch(body, recover) {
|
369
182
|
try {
|
@@ -1498,8 +1311,11 @@ var switchSuperAdminAcademy = function switchSuperAdminAcademy(academyId, role)
|
|
1498
1311
|
return api.post(SUPER_ADMIN_ACADEMY_URL + "/" + academyId + "/switch-academy/" + role);
|
1499
1312
|
};
|
1500
1313
|
|
1501
|
-
var useLayoutContext = function useLayoutContext(role, pusherRegisterUrls) {
|
1314
|
+
var useLayoutContext = function useLayoutContext(role, pusherRegisterUrls, showLoadingAcademy) {
|
1502
1315
|
var _currentPusher$connec2;
|
1316
|
+
if (showLoadingAcademy === void 0) {
|
1317
|
+
showLoadingAcademy = true;
|
1318
|
+
}
|
1503
1319
|
var _useGoogleSignOut = useGoogleSignOut({}),
|
1504
1320
|
handleSignOut = _useGoogleSignOut.handleSignOut;
|
1505
1321
|
var _useTranslation = reactI18next.useTranslation(),
|
@@ -1528,10 +1344,10 @@ var useLayoutContext = function useLayoutContext(role, pusherRegisterUrls) {
|
|
1528
1344
|
var handleGetAcademyDetail = function handleGetAcademyDetail() {
|
1529
1345
|
try {
|
1530
1346
|
var _temp2 = function _temp2() {
|
1531
|
-
dispatch(setLoading(false));
|
1347
|
+
showLoadingAcademy && dispatch(setLoading(false));
|
1532
1348
|
};
|
1533
1349
|
if (!academyDomain) return Promise.resolve();
|
1534
|
-
dispatch(setLoading(true));
|
1350
|
+
showLoadingAcademy && dispatch(setLoading(true));
|
1535
1351
|
var _temp = _catch(function () {
|
1536
1352
|
return Promise.resolve(getAcademyDetail()).then(function (info) {
|
1537
1353
|
if (info) {
|
@@ -1669,27 +1485,38 @@ var loadingStyle$1 = {
|
|
1669
1485
|
alignItems: "center"
|
1670
1486
|
};
|
1671
1487
|
var LoadingComponent = function LoadingComponent(_ref) {
|
1672
|
-
var isLoading = _ref.isLoading
|
1488
|
+
var isLoading = _ref.isLoading,
|
1489
|
+
children = _ref.children,
|
1490
|
+
_ref$spinClassName = _ref.spinClassName,
|
1491
|
+
spinClassName = _ref$spinClassName === void 0 ? "text-secondary" : _ref$spinClassName,
|
1492
|
+
_ref$className = _ref.className,
|
1493
|
+
className = _ref$className === void 0 ? "" : _ref$className;
|
1673
1494
|
return isLoading ? React__default.createElement("div", {
|
1674
1495
|
style: loadingStyle$1
|
1496
|
+
}, React__default.createElement(material.Stack, {
|
1497
|
+
direction: "column",
|
1498
|
+
justifyContent: "center",
|
1499
|
+
alignItems: "center",
|
1500
|
+
className: className
|
1675
1501
|
}, React__default.createElement("div", {
|
1676
|
-
className: "spinner-border
|
1502
|
+
className: "spinner-border " + spinClassName,
|
1677
1503
|
role: "status"
|
1678
1504
|
}, React__default.createElement("span", {
|
1679
1505
|
className: "sr-only"
|
1680
|
-
}))) : null;
|
1506
|
+
})), React__default.createElement("div", null, children))) : null;
|
1681
1507
|
};
|
1682
1508
|
|
1683
1509
|
var LayoutContext = function LayoutContext(_ref) {
|
1684
1510
|
var children = _ref.children,
|
1685
1511
|
role = _ref.role,
|
1686
1512
|
_ref$pusherRegisterUr = _ref.pusherRegisterUrls,
|
1687
|
-
pusherRegisterUrls = _ref$pusherRegisterUr === void 0 ? [] : _ref$pusherRegisterUr
|
1513
|
+
pusherRegisterUrls = _ref$pusherRegisterUr === void 0 ? [] : _ref$pusherRegisterUr,
|
1514
|
+
showLoadingAcademy = _ref.showLoadingAcademy;
|
1688
1515
|
var user = reactRedux.useSelector(function (state) {
|
1689
1516
|
var _state$common;
|
1690
1517
|
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
1691
1518
|
});
|
1692
|
-
useLayoutContext(role, pusherRegisterUrls);
|
1519
|
+
useLayoutContext(role, pusherRegisterUrls, showLoadingAcademy);
|
1693
1520
|
if (!(user !== null && user !== void 0 && user.email)) return React__default.createElement(LoadingComponent, {
|
1694
1521
|
isLoading: true
|
1695
1522
|
});else return React__default.createElement(React.Fragment, null, children);
|
@@ -1884,7 +1711,9 @@ var getSubjectListApi = function getSubjectListApi() {
|
|
1884
1711
|
}
|
1885
1712
|
};
|
1886
1713
|
|
1887
|
-
var useSubjectSelect = function useSubjectSelect() {
|
1714
|
+
var useSubjectSelect = function useSubjectSelect(_ref) {
|
1715
|
+
var onChangeExam = _ref.onChangeExam,
|
1716
|
+
exam = _ref.exam;
|
1888
1717
|
var firstLoad = true;
|
1889
1718
|
var dispatch = reactRedux.useDispatch();
|
1890
1719
|
var _useState = React.useState(),
|
@@ -1942,18 +1771,15 @@ var useSubjectSelect = function useSubjectSelect() {
|
|
1942
1771
|
var selectedSubject = subjectList === null || subjectList === void 0 ? void 0 : subjectList.find(function (subject) {
|
1943
1772
|
return subject.id === id;
|
1944
1773
|
});
|
1945
|
-
|
1946
|
-
|
1947
|
-
|
1948
|
-
if (!subject) return;
|
1949
|
-
setSelectedSubject(subject);
|
1774
|
+
onChangeExam(_extends({}, exam, {
|
1775
|
+
subjectId: (selectedSubject === null || selectedSubject === void 0 ? void 0 : selectedSubject.id) || 0
|
1776
|
+
}));
|
1950
1777
|
};
|
1951
1778
|
return {
|
1952
1779
|
subjectOptions: subjectOptions,
|
1953
1780
|
selectedSubject: selectedSubject,
|
1954
1781
|
subjectList: subjectList,
|
1955
|
-
handleChangeSubject: handleChangeSubject
|
1956
|
-
handleChangeSelectedSubject: handleChangeSelectedSubject
|
1782
|
+
handleChangeSubject: handleChangeSubject
|
1957
1783
|
};
|
1958
1784
|
};
|
1959
1785
|
|
@@ -2602,7 +2428,7 @@ var exam = "시험";
|
|
2602
2428
|
var me = "나";
|
2603
2429
|
var teacher_name = "선생님 성함";
|
2604
2430
|
var class_schedule = "수업 시간표";
|
2605
|
-
var summary = "
|
2431
|
+
var summary = "전체 현황";
|
2606
2432
|
var load_exam = "시험 로드";
|
2607
2433
|
var exam_name = "시험 이름";
|
2608
2434
|
var student_phone_number_header = "학생 전화번호";
|
@@ -2628,6 +2454,13 @@ var total_users = "총 사용자";
|
|
2628
2454
|
var added_date = "추가된 날짜";
|
2629
2455
|
var sync_exam_results = "시험 결과 동기화";
|
2630
2456
|
var update_data_fail = "데이터 업데이트 실패";
|
2457
|
+
var add_students_to_class = "수업에 학생 추가";
|
2458
|
+
var click_to_choose_file = "파일을 선택하려면 클릭하세요.";
|
2459
|
+
var exam_data = "시험 데이터";
|
2460
|
+
var questions_correct_rate = "질문 정답률";
|
2461
|
+
var question_management = "질문 관리";
|
2462
|
+
var student_data = "학생 데이터";
|
2463
|
+
var problem_number_question_chart = "문제 {{number}}번";
|
2631
2464
|
var are_you_sure_to_sync_exam_results_to_academy = "시험 결과를 아카데미 {{ academyName }}에 동기화하시겠습니까(백그라운드에서 실행되며 시간이 다소 소요됨)";
|
2632
2465
|
var messages = {
|
2633
2466
|
exam_sessions_are_being_synchronized: "{{ total }} 개의 시험 세션이 동기화되고 있습니다"
|
@@ -3371,6 +3204,13 @@ var lang_ko = {
|
|
3371
3204
|
added_date: added_date,
|
3372
3205
|
sync_exam_results: sync_exam_results,
|
3373
3206
|
update_data_fail: update_data_fail,
|
3207
|
+
add_students_to_class: add_students_to_class,
|
3208
|
+
click_to_choose_file: click_to_choose_file,
|
3209
|
+
exam_data: exam_data,
|
3210
|
+
questions_correct_rate: questions_correct_rate,
|
3211
|
+
question_management: question_management,
|
3212
|
+
student_data: student_data,
|
3213
|
+
problem_number_question_chart: problem_number_question_chart,
|
3374
3214
|
are_you_sure_to_sync_exam_results_to_academy: are_you_sure_to_sync_exam_results_to_academy,
|
3375
3215
|
messages: messages,
|
3376
3216
|
submit: submit,
|
@@ -3507,8 +3347,8 @@ var number_answer$1 = "No.{{number}}";
|
|
3507
3347
|
var answer_no$1 = "Ans.{{number}}";
|
3508
3348
|
var answer_rate$1 = "Answer rate";
|
3509
3349
|
var seconds$1 = "s";
|
3510
|
-
var search_placeholder$1 = "Search by
|
3511
|
-
var search_by_student$1 = "Search by
|
3350
|
+
var search_placeholder$1 = "Search by Exam Name";
|
3351
|
+
var search_by_student$1 = "Search by Student Name";
|
3512
3352
|
var study_touch$1 = "Study touch";
|
3513
3353
|
var exam_information$1 = "Exam information";
|
3514
3354
|
var issue_number$1 = "Issue number";
|
@@ -3584,8 +3424,8 @@ var update_exam$1 = "Update exam";
|
|
3584
3424
|
var create_exam$1 = "Create exam";
|
3585
3425
|
var back$1 = "Back";
|
3586
3426
|
var date_format_exam$1 = "MMMM YYYY";
|
3587
|
-
var date_format$1 = "MMM.D YYYY";
|
3588
|
-
var date_time_format$1 = "HH:mm MMM.D YYYY ";
|
3427
|
+
var date_format$1 = "MMM. D. YYYY";
|
3428
|
+
var date_time_format$1 = "HH:mm MMM. D YYYY ";
|
3589
3429
|
var date_time_format_12h$1 = "MM-DD-YYYY HH:mm A";
|
3590
3430
|
var full_date_time_format$1 = "MMM Do YYYY HH:mm:ss";
|
3591
3431
|
var total_questions$1 = "Total questions";
|
@@ -3658,8 +3498,9 @@ var problem_number_question$1 = "Question {{number}}";
|
|
3658
3498
|
var teacher_in_charge$1 = "Teacher In Charge";
|
3659
3499
|
var counselor$1 = "Counselor";
|
3660
3500
|
var new_question$1 = "New Question";
|
3661
|
-
var hour$1 = "
|
3662
|
-
var
|
3501
|
+
var hour$1 = "hr";
|
3502
|
+
var hours = "hrs";
|
3503
|
+
var minute$1 = "min";
|
3663
3504
|
var second$1 = "second";
|
3664
3505
|
var question_order$1 = "Number {{number}}";
|
3665
3506
|
var send_message$1 = "Send Message";
|
@@ -3688,7 +3529,7 @@ var check_attendance$1 = "Check attendance";
|
|
3688
3529
|
var attendance_check$1 = "Attendance check";
|
3689
3530
|
var class_date$1 = "Class date";
|
3690
3531
|
var class_time$1 = "Class time";
|
3691
|
-
var attendance$1 = "Attendance";
|
3532
|
+
var attendance$1 = "Attendance List";
|
3692
3533
|
var attendance_completed$1 = "Attendance completed";
|
3693
3534
|
var none_attendance$1 = "Non-attendance";
|
3694
3535
|
var academy_list$1 = "Academy list";
|
@@ -4118,6 +3959,13 @@ var total_users$1 = "Total users";
|
|
4118
3959
|
var added_date$1 = "Added date";
|
4119
3960
|
var sync_exam_results$1 = "Sync exam results";
|
4120
3961
|
var update_data_fail$1 = "Update data fail";
|
3962
|
+
var add_students_to_class$1 = "Add students to class";
|
3963
|
+
var click_to_choose_file$1 = "Click to choose file";
|
3964
|
+
var exam_data$1 = "Exam Data";
|
3965
|
+
var questions_correct_rate$1 = "Questions Correct Rate";
|
3966
|
+
var question_management$1 = "Question Management";
|
3967
|
+
var student_data$1 = "Student Data";
|
3968
|
+
var problem_number_question_chart$1 = "Q. {{number}}";
|
4121
3969
|
var are_you_sure_to_sync_exam_results_to_academy$1 = "Are you sure to sync exam results to academy \"{{ academyName }}\" (it will run in the background and take a while)";
|
4122
3970
|
var messages$1 = {
|
4123
3971
|
exam_sessions_are_being_synchronized: "{{ total }} exam sessions are being synchronized"
|
@@ -4406,6 +4254,7 @@ var lang_en = {
|
|
4406
4254
|
counselor: counselor$1,
|
4407
4255
|
new_question: new_question$1,
|
4408
4256
|
hour: hour$1,
|
4257
|
+
hours: hours,
|
4409
4258
|
minute: minute$1,
|
4410
4259
|
second: second$1,
|
4411
4260
|
question_order: question_order$1,
|
@@ -4860,6 +4709,13 @@ var lang_en = {
|
|
4860
4709
|
added_date: added_date$1,
|
4861
4710
|
sync_exam_results: sync_exam_results$1,
|
4862
4711
|
update_data_fail: update_data_fail$1,
|
4712
|
+
add_students_to_class: add_students_to_class$1,
|
4713
|
+
click_to_choose_file: click_to_choose_file$1,
|
4714
|
+
exam_data: exam_data$1,
|
4715
|
+
questions_correct_rate: questions_correct_rate$1,
|
4716
|
+
question_management: question_management$1,
|
4717
|
+
student_data: student_data$1,
|
4718
|
+
problem_number_question_chart: problem_number_question_chart$1,
|
4863
4719
|
are_you_sure_to_sync_exam_results_to_academy: are_you_sure_to_sync_exam_results_to_academy$1,
|
4864
4720
|
messages: messages$1,
|
4865
4721
|
submit: submit$1,
|
@@ -4942,7 +4798,7 @@ var lang_en = {
|
|
4942
4798
|
sent_at: sent_at$1
|
4943
4799
|
};
|
4944
4800
|
|
4945
|
-
|
4801
|
+
i18n__default.use(reactI18next.initReactI18next).init({
|
4946
4802
|
lng: "ko",
|
4947
4803
|
fallbackLng: "ko",
|
4948
4804
|
interpolation: {
|
@@ -5664,7 +5520,6 @@ var ContentTooltip = function ContentTooltip(_ref) {
|
|
5664
5520
|
var ChatRightItem = function ChatRightItem(_ref) {
|
5665
5521
|
var content = _ref.content,
|
5666
5522
|
createdAt = _ref.createdAt,
|
5667
|
-
sender = _ref.sender,
|
5668
5523
|
showTimestamp = _ref.showTimestamp,
|
5669
5524
|
isStudent = _ref.isStudent,
|
5670
5525
|
showName = _ref.showName,
|
@@ -5697,13 +5552,15 @@ var ChatRightItem = function ChatRightItem(_ref) {
|
|
5697
5552
|
alignItems: "center",
|
5698
5553
|
justifyContent: "end",
|
5699
5554
|
flexDirection: "row"
|
5700
|
-
}, React__default.createElement(iconPersonNoActive,
|
5555
|
+
}, React__default.createElement(iconPersonNoActive, {
|
5556
|
+
color: styles.gray_700
|
5557
|
+
}), React__default.createElement(material.Typography, {
|
5701
5558
|
fontWeight: 700,
|
5702
5559
|
fontSize: 14,
|
5703
5560
|
padding: "4px",
|
5704
5561
|
lineHeight: "16.71px",
|
5705
5562
|
color: styles.gray_700
|
5706
|
-
},
|
5563
|
+
}, t("me"))), React__default.createElement(material.Stack, {
|
5707
5564
|
display: "flex",
|
5708
5565
|
flexDirection: "row",
|
5709
5566
|
gap: "8px",
|
@@ -6591,7 +6448,7 @@ var ChatHeader = function ChatHeader(_ref) {
|
|
6591
6448
|
sx: {
|
6592
6449
|
color: styles.gray_500
|
6593
6450
|
}
|
6594
|
-
}, (!!filterDurationExam.hours() ? filterDurationExam.hours() + " " + t("hour") : "") + " " + (!!filterDurationExam.minutes() ? filterDurationExam.minutes() + " " + t("minute") : "") + " " + (!!filterDurationExam.seconds() ? filterDurationExam.seconds() + " " + t("second") : "")))), React__default.createElement(material.Box, {
|
6451
|
+
}, (!!filterDurationExam.hours() ? filterDurationExam.hours() + " " + (filterDurationExam.hours() > 1 ? t("hours") : t("hour")) : "") + " " + (!!filterDurationExam.minutes() ? filterDurationExam.minutes() + " " + t("minute") : "") + " " + (!!filterDurationExam.seconds() ? filterDurationExam.seconds() + " " + t("second") : "")))), React__default.createElement(material.Box, {
|
6595
6452
|
display: "flex",
|
6596
6453
|
alignItems: "end",
|
6597
6454
|
gap: "6px",
|
@@ -6612,16 +6469,12 @@ var ChatHeader = function ChatHeader(_ref) {
|
|
6612
6469
|
fontSize: "12px",
|
6613
6470
|
lineHeight: "14.32px",
|
6614
6471
|
color: styles.less_dark
|
6615
|
-
},
|
6616
|
-
number: score || 0
|
6617
|
-
})), React__default.createElement(material.Typography, {
|
6472
|
+
}, score || 0), React__default.createElement(material.Typography, {
|
6618
6473
|
fontWeight: 700,
|
6619
6474
|
fontSize: "12px",
|
6620
6475
|
lineHeight: "14.32px",
|
6621
6476
|
color: styles.gray_300
|
6622
|
-
}, "/",
|
6623
|
-
number: totalScore || 0
|
6624
|
-
}))), React__default.createElement(material.Typography, {
|
6477
|
+
}, "/", totalScore || 0)), React__default.createElement(material.Typography, {
|
6625
6478
|
fontWeight: 500,
|
6626
6479
|
fontSize: "12px",
|
6627
6480
|
lineHeight: "14.32px",
|
@@ -7572,45 +7425,11 @@ var QuestionView = function QuestionView(_ref2) {
|
|
7572
7425
|
}))));
|
7573
7426
|
};
|
7574
7427
|
|
7575
|
-
var ADMIN_CATEGORY_URL = SUPER_ADMIN_BASE_URL + "/api/category";
|
7576
|
-
var CATEGORY_URL = BASE_URL + "/api/examcategory";
|
7577
|
-
var getCategoryListAdminApi = function getCategoryListAdminApi(data) {
|
7578
|
-
try {
|
7579
|
-
return Promise.resolve(api.get("" + ADMIN_CATEGORY_URL, {
|
7580
|
-
params: data
|
7581
|
-
}));
|
7582
|
-
} catch (e) {
|
7583
|
-
return Promise.reject(e);
|
7584
|
-
}
|
7585
|
-
};
|
7586
|
-
var getCategoryListApi = function getCategoryListApi(data) {
|
7587
|
-
try {
|
7588
|
-
return Promise.resolve(api.get("" + CATEGORY_URL, {
|
7589
|
-
params: data
|
7590
|
-
}));
|
7591
|
-
} catch (e) {
|
7592
|
-
return Promise.reject(e);
|
7593
|
-
}
|
7594
|
-
};
|
7595
|
-
|
7596
7428
|
var useCategorySelect = function useCategorySelect(_ref) {
|
7597
|
-
var
|
7598
|
-
var firstLoad = true;
|
7599
|
-
var dispatch = reactRedux.useDispatch();
|
7429
|
+
var categoryList = _ref.categoryList;
|
7600
7430
|
var _useState = React.useState(),
|
7601
|
-
|
7602
|
-
|
7603
|
-
var _useState2 = React.useState(),
|
7604
|
-
selectedCategory = _useState2[0],
|
7605
|
-
setSelectedCategory = _useState2[1];
|
7606
|
-
var isDomain = reactRedux.useSelector(function (state) {
|
7607
|
-
var _state$common, _state$common$user;
|
7608
|
-
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : (_state$common$user = _state$common.user) === null || _state$common$user === void 0 ? void 0 : _state$common$user.academyDomain;
|
7609
|
-
});
|
7610
|
-
var isSuperAdmin = reactRedux.useSelector(function (state) {
|
7611
|
-
var _state$common2, _state$common2$user;
|
7612
|
-
return (state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : (_state$common2$user = _state$common2.user) === null || _state$common2$user === void 0 ? void 0 : _state$common2$user.roles) || [];
|
7613
|
-
}).includes(exports.Role.Admin) && !isDomain;
|
7431
|
+
selectedCategory = _useState[0],
|
7432
|
+
setSelectedCategory = _useState[1];
|
7614
7433
|
var categoryOptions = React.useMemo(function () {
|
7615
7434
|
return categoryList === null || categoryList === void 0 ? void 0 : categoryList.map(function (category) {
|
7616
7435
|
var _category$path;
|
@@ -7620,39 +7439,6 @@ var useCategorySelect = function useCategorySelect(_ref) {
|
|
7620
7439
|
};
|
7621
7440
|
});
|
7622
7441
|
}, [JSON.stringify(categoryList)]);
|
7623
|
-
var getCategoryList = function getCategoryList(isLoading) {
|
7624
|
-
if (isLoading === void 0) {
|
7625
|
-
isLoading = true;
|
7626
|
-
}
|
7627
|
-
try {
|
7628
|
-
var _temp2 = function _temp2() {
|
7629
|
-
isLoading && dispatch(setLoading(false));
|
7630
|
-
};
|
7631
|
-
if (!subjectId) return Promise.resolve();
|
7632
|
-
if (firstLoad) firstLoad = false;
|
7633
|
-
isLoading && dispatch(setLoading(true));
|
7634
|
-
var _temp = _catch(function () {
|
7635
|
-
return Promise.resolve(isSuperAdmin ? getCategoryListAdminApi({
|
7636
|
-
subjectId: subjectId
|
7637
|
-
}) : getCategoryListApi({
|
7638
|
-
subjectId: subjectId
|
7639
|
-
})).then(function (res) {
|
7640
|
-
var data = res.data.items;
|
7641
|
-
setCategoryList(data || []);
|
7642
|
-
setSelectedCategory(data[0]);
|
7643
|
-
});
|
7644
|
-
}, function (error) {
|
7645
|
-
setCategoryList([]);
|
7646
|
-
console.log(error);
|
7647
|
-
});
|
7648
|
-
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
7649
|
-
} catch (e) {
|
7650
|
-
return Promise.reject(e);
|
7651
|
-
}
|
7652
|
-
};
|
7653
|
-
React.useEffect(function () {
|
7654
|
-
getCategoryList();
|
7655
|
-
}, [subjectId]);
|
7656
7442
|
var handleChangeCategory = function handleChangeCategory(value) {
|
7657
7443
|
var id = value.value;
|
7658
7444
|
var selectedCategory = categoryList === null || categoryList === void 0 ? void 0 : categoryList.find(function (category) {
|
@@ -7745,7 +7531,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
|
|
7745
7531
|
questions = _ref.questions,
|
7746
7532
|
answerCount = _ref.answerCount,
|
7747
7533
|
questionCount = _ref.questionCount,
|
7748
|
-
|
7534
|
+
categoryList = _ref.categoryList,
|
7749
7535
|
categoryId = _ref.categoryId,
|
7750
7536
|
isActive = _ref.isActive,
|
7751
7537
|
isDisabled = _ref.isDisabled,
|
@@ -7760,7 +7546,7 @@ var ArticleGroupView = function ArticleGroupView(_ref) {
|
|
7760
7546
|
var _useTranslation = reactI18next.useTranslation(),
|
7761
7547
|
t = _useTranslation.t;
|
7762
7548
|
var _useCategorySelect = useCategorySelect({
|
7763
|
-
|
7549
|
+
categoryList: categoryList
|
7764
7550
|
}),
|
7765
7551
|
categoryOptions = _useCategorySelect.categoryOptions;
|
7766
7552
|
var theme = material.useTheme();
|
@@ -9625,12 +9411,45 @@ var DURATION_OPTIONS = Array.from({
|
|
9625
9411
|
});
|
9626
9412
|
var DEFAULT_ANSWER_COUNT$1 = 5;
|
9627
9413
|
|
9414
|
+
var ADMIN_CATEGORY_URL = SUPER_ADMIN_BASE_URL + "/api/category";
|
9415
|
+
var CATEGORY_URL = BASE_URL + "/api/examcategory";
|
9416
|
+
var getCategoryListAdminApi = function getCategoryListAdminApi(data) {
|
9417
|
+
try {
|
9418
|
+
return Promise.resolve(api.get("" + ADMIN_CATEGORY_URL, {
|
9419
|
+
params: data
|
9420
|
+
}));
|
9421
|
+
} catch (e) {
|
9422
|
+
return Promise.reject(e);
|
9423
|
+
}
|
9424
|
+
};
|
9425
|
+
var getCategoryListApi = function getCategoryListApi(data) {
|
9426
|
+
try {
|
9427
|
+
return Promise.resolve(api.get("" + CATEGORY_URL, {
|
9428
|
+
params: data
|
9429
|
+
}));
|
9430
|
+
} catch (e) {
|
9431
|
+
return Promise.reject(e);
|
9432
|
+
}
|
9433
|
+
};
|
9434
|
+
|
9628
9435
|
var useExamDetailView = function useExamDetailView(props) {
|
9629
9436
|
var exam = props.exam,
|
9630
|
-
selectedSubject = props.selectedSubject,
|
9631
9437
|
onChangeExam = props.onChangeExam;
|
9632
9438
|
var _useTranslation = reactI18next.useTranslation(),
|
9633
9439
|
t = _useTranslation.t;
|
9440
|
+
var firstLoad = true;
|
9441
|
+
var dispatch = reactRedux.useDispatch();
|
9442
|
+
var isDomain = reactRedux.useSelector(function (state) {
|
9443
|
+
var _state$common, _state$common$user;
|
9444
|
+
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : (_state$common$user = _state$common.user) === null || _state$common$user === void 0 ? void 0 : _state$common$user.academyDomain;
|
9445
|
+
});
|
9446
|
+
var isSuperAdmin = reactRedux.useSelector(function (state) {
|
9447
|
+
var _state$common2, _state$common2$user;
|
9448
|
+
return (state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : (_state$common2$user = _state$common2.user) === null || _state$common2$user === void 0 ? void 0 : _state$common2$user.roles) || [];
|
9449
|
+
}).includes(exports.Role.Admin) && !isDomain;
|
9450
|
+
var _useState = React.useState([]),
|
9451
|
+
categoryList = _useState[0],
|
9452
|
+
setCategoryList = _useState[1];
|
9634
9453
|
var handleChangeQuestionCount = function handleChangeQuestionCount(article, questionCount, answerCount) {
|
9635
9454
|
if (!exam) return;
|
9636
9455
|
var examQuestions = exam.questions;
|
@@ -9808,6 +9627,39 @@ var useExamDetailView = function useExamDetailView(props) {
|
|
9808
9627
|
}])
|
9809
9628
|
}));
|
9810
9629
|
};
|
9630
|
+
var getCategoryList = function getCategoryList(isLoading) {
|
9631
|
+
if (isLoading === void 0) {
|
9632
|
+
isLoading = true;
|
9633
|
+
}
|
9634
|
+
try {
|
9635
|
+
var _temp2 = function _temp2() {
|
9636
|
+
isLoading && dispatch(setLoading(false));
|
9637
|
+
};
|
9638
|
+
if (!exam.subjectId) return Promise.resolve();
|
9639
|
+
if (firstLoad) firstLoad = false;
|
9640
|
+
isLoading && dispatch(setLoading(true));
|
9641
|
+
var _temp = _catch(function () {
|
9642
|
+
return Promise.resolve(isSuperAdmin ? getCategoryListAdminApi({
|
9643
|
+
subjectId: exam.subjectId
|
9644
|
+
}) : getCategoryListApi({
|
9645
|
+
subjectId: exam.subjectId
|
9646
|
+
})).then(function (res) {
|
9647
|
+
var data = res.data.items;
|
9648
|
+
setCategoryList(data || []);
|
9649
|
+
});
|
9650
|
+
}, function (error) {
|
9651
|
+
setCategoryList([]);
|
9652
|
+
console.log(error);
|
9653
|
+
});
|
9654
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
9655
|
+
} catch (e) {
|
9656
|
+
return Promise.reject(e);
|
9657
|
+
}
|
9658
|
+
};
|
9659
|
+
React.useEffect(function () {
|
9660
|
+
if (categoryList !== null && categoryList !== void 0 && categoryList.length) return;
|
9661
|
+
getCategoryList();
|
9662
|
+
}, [exam.subjectId, JSON.stringify(categoryList)]);
|
9811
9663
|
var examGroupByArticle = React.useMemo(function () {
|
9812
9664
|
if (!exam) return [];
|
9813
9665
|
var articles = [];
|
@@ -9832,27 +9684,23 @@ var useExamDetailView = function useExamDetailView(props) {
|
|
9832
9684
|
var durationOptions = React.useMemo(function () {
|
9833
9685
|
var options = DURATION_OPTIONS.map(function (i) {
|
9834
9686
|
return {
|
9835
|
-
label: t(
|
9687
|
+
label: t("mins_mins", {
|
9836
9688
|
mins: i
|
9837
9689
|
}),
|
9838
9690
|
value: i
|
9839
9691
|
};
|
9840
9692
|
});
|
9841
9693
|
if (!!exam.duration && exam.duration > DURATION_OPTIONS[DURATION_OPTIONS.length - 1]) return [].concat(options, [{
|
9842
|
-
label: t(
|
9694
|
+
label: t("mins_mins", {
|
9843
9695
|
mins: exam.duration
|
9844
9696
|
}),
|
9845
9697
|
value: exam.duration
|
9846
9698
|
}]);
|
9847
9699
|
return options;
|
9848
9700
|
}, [exam.duration]);
|
9849
|
-
React.useEffect(function () {
|
9850
|
-
if ((selectedSubject === null || selectedSubject === void 0 ? void 0 : selectedSubject.id) !== exam.subjectId) onChangeExam(_extends({}, exam, {
|
9851
|
-
subjectId: (selectedSubject === null || selectedSubject === void 0 ? void 0 : selectedSubject.id) || 0
|
9852
|
-
}));
|
9853
|
-
}, [selectedSubject === null || selectedSubject === void 0 ? void 0 : selectedSubject.id, exam.subjectId]);
|
9854
9701
|
return {
|
9855
9702
|
t: t,
|
9703
|
+
categoryList: categoryList,
|
9856
9704
|
durationOptions: durationOptions,
|
9857
9705
|
examGroupByArticle: examGroupByArticle,
|
9858
9706
|
handleAddArticle: handleAddArticle,
|
@@ -9874,16 +9722,19 @@ var ExamDetailView = function ExamDetailView(_ref) {
|
|
9874
9722
|
isDisabled = _ref.isDisabled,
|
9875
9723
|
isEdit = _ref.isEdit,
|
9876
9724
|
onChangeExam = _ref.onChangeExam;
|
9877
|
-
var _useSubjectSelect = useSubjectSelect(
|
9725
|
+
var _useSubjectSelect = useSubjectSelect({
|
9726
|
+
onChangeExam: onChangeExam,
|
9727
|
+
exam: exam
|
9728
|
+
}),
|
9878
9729
|
subjectOptions = _useSubjectSelect.subjectOptions,
|
9879
9730
|
selectedSubject = _useSubjectSelect.selectedSubject,
|
9880
9731
|
handleChangeSubject = _useSubjectSelect.handleChangeSubject;
|
9881
9732
|
var _useExamDetailView = useExamDetailView({
|
9882
9733
|
exam: exam,
|
9883
|
-
onChangeExam: onChangeExam
|
9884
|
-
selectedSubject: selectedSubject
|
9734
|
+
onChangeExam: onChangeExam
|
9885
9735
|
}),
|
9886
9736
|
t = _useExamDetailView.t,
|
9737
|
+
categoryList = _useExamDetailView.categoryList,
|
9887
9738
|
durationOptions = _useExamDetailView.durationOptions,
|
9888
9739
|
examGroupByArticle = _useExamDetailView.examGroupByArticle,
|
9889
9740
|
handleAddArticle = _useExamDetailView.handleAddArticle,
|
@@ -9932,10 +9783,10 @@ var ExamDetailView = function ExamDetailView(_ref) {
|
|
9932
9783
|
className: 'mb-2'
|
9933
9784
|
}, React__default.createElement("label", {
|
9934
9785
|
className: styles["form-label"] + " " + styles$2["question-label"],
|
9935
|
-
htmlFor: "
|
9936
|
-
}, t("subject")
|
9786
|
+
htmlFor: "subject"
|
9787
|
+
}, t("subject")), React__default.createElement(CustomSelect, {
|
9937
9788
|
inputId: "subject",
|
9938
|
-
value:
|
9789
|
+
value: exam === null || exam === void 0 ? void 0 : exam.subjectId,
|
9939
9790
|
options: subjectOptions,
|
9940
9791
|
onChange: handleChangeSubject,
|
9941
9792
|
isDisabled: isDisabled || isEdit
|
@@ -9946,6 +9797,7 @@ var ExamDetailView = function ExamDetailView(_ref) {
|
|
9946
9797
|
xs: 12,
|
9947
9798
|
className: index === examGroupByArticle.length - 1 ? "mb-2" : ''
|
9948
9799
|
}, React__default.createElement(ArticleGroupView, Object.assign({}, i, {
|
9800
|
+
categoryList: categoryList,
|
9949
9801
|
isActive: index === examGroupByArticle.length - 1,
|
9950
9802
|
onChangeQuestionCount: handleChangeQuestionCount,
|
9951
9803
|
onChangeCategory: handleChangeCategory,
|
@@ -10830,18 +10682,6 @@ var createConversationApi = function createConversationApi(data) {
|
|
10830
10682
|
return api.post(BASE_URL + "/api/conversation", data);
|
10831
10683
|
};
|
10832
10684
|
|
10833
|
-
var toNumberOrder = function toNumberOrder(value) {
|
10834
|
-
return "The " + value + (value % 10 === 1 ? 'st' : value % 10 === 2 ? 'nd' : value % 10 === 3 ? 'rd' : 'th');
|
10835
|
-
};
|
10836
|
-
var formatDuration = function formatDuration(t, duration) {
|
10837
|
-
if (!duration) return "0" + t("seconds");
|
10838
|
-
var totalTime = Math.round(duration);
|
10839
|
-
return totalTime > 60 ? t("mins_mins_seconds_seconds", {
|
10840
|
-
mins: Math.floor(totalTime / 60),
|
10841
|
-
seconds: totalTime % 60
|
10842
|
-
}) : "" + Math.round(duration) + t("seconds");
|
10843
|
-
};
|
10844
|
-
|
10845
10685
|
var ORDER_NUMBERS = {
|
10846
10686
|
1: "the_first",
|
10847
10687
|
2: "the_second",
|
@@ -10896,6 +10736,7 @@ var EXAM_RESULT = {
|
|
10896
10736
|
parentPhoneNumber: "",
|
10897
10737
|
schoolName: "Academy",
|
10898
10738
|
className: "1",
|
10739
|
+
fullName: "Abc",
|
10899
10740
|
major: "",
|
10900
10741
|
roles: []
|
10901
10742
|
},
|
@@ -11628,6 +11469,18 @@ var defaultSeries = function defaultSeries(t) {
|
|
11628
11469
|
}];
|
11629
11470
|
};
|
11630
11471
|
|
11472
|
+
var formatDuration = function formatDuration(t, duration) {
|
11473
|
+
if (!duration) return "0" + t("seconds");
|
11474
|
+
var totalTime = Math.round(duration);
|
11475
|
+
return totalTime > 60 ? t("mins_mins_seconds_seconds", {
|
11476
|
+
mins: Math.floor(totalTime / 60),
|
11477
|
+
seconds: totalTime % 60
|
11478
|
+
}) : "" + Math.round(duration) + t("seconds");
|
11479
|
+
};
|
11480
|
+
var formatQuestionOrder = function formatQuestionOrder(index, t, language) {
|
11481
|
+
return language === exports.Language.en ? "" + (index + 1) + getOrdinalSuffix(index + 1, language) : t(ORDER_NUMBERS[index + 1]);
|
11482
|
+
};
|
11483
|
+
|
11631
11484
|
var RECENT_USER_URL = BASE_URL + "/api/recentUsers";
|
11632
11485
|
var getRecentUserActionListApi = function getRecentUserActionListApi(query) {
|
11633
11486
|
return api.get("" + RECENT_USER_URL, {
|
@@ -11650,19 +11503,18 @@ var createRecentUserActionListApi = function createRecentUserActionListApi(_ref)
|
|
11650
11503
|
});
|
11651
11504
|
};
|
11652
11505
|
|
11653
|
-
var useExamResult = function useExamResult(
|
11506
|
+
var useExamResult = function useExamResult(props) {
|
11654
11507
|
var _allSeries$dataChartI;
|
11655
|
-
|
11656
|
-
|
11657
|
-
|
11658
|
-
|
11659
|
-
|
11660
|
-
|
11661
|
-
|
11662
|
-
|
11663
|
-
|
11664
|
-
var query = new URLSearchParams(
|
11665
|
-
var dispatch = reactRedux.useDispatch();
|
11508
|
+
var searchParams = props.searchParams,
|
11509
|
+
history = props.history,
|
11510
|
+
examSessionId = props.examSessionId,
|
11511
|
+
studentId = props.studentId,
|
11512
|
+
_props$code = props.code,
|
11513
|
+
code = _props$code === void 0 ? "" : _props$code,
|
11514
|
+
handleChangeTab = props.handleChangeTab,
|
11515
|
+
selectedTab = props.selectedTab,
|
11516
|
+
isPrint = props.isPrint;
|
11517
|
+
var query = new URLSearchParams(searchParams);
|
11666
11518
|
var user = reactRedux.useSelector(function (state) {
|
11667
11519
|
var _state$common;
|
11668
11520
|
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
@@ -11674,7 +11526,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11674
11526
|
var _state$common2;
|
11675
11527
|
return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : _state$common2.language;
|
11676
11528
|
});
|
11677
|
-
var _useState = React.useState(
|
11529
|
+
var _useState = React.useState(),
|
11678
11530
|
isLoading = _useState[0],
|
11679
11531
|
setIsLoading = _useState[1];
|
11680
11532
|
var _useState2 = React.useState(),
|
@@ -11695,9 +11547,12 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11695
11547
|
var _useState7 = React.useState(0),
|
11696
11548
|
dataChartIndex = _useState7[0],
|
11697
11549
|
setDataChartIndex = _useState7[1];
|
11698
|
-
var _useState8 = React.useState(
|
11550
|
+
var _useState8 = React.useState(),
|
11699
11551
|
openProblem = _useState8[0],
|
11700
11552
|
setOpenProblem = _useState8[1];
|
11553
|
+
var _useState9 = React.useState(),
|
11554
|
+
errorMessage = _useState9[0],
|
11555
|
+
setErrorMessage = _useState9[1];
|
11701
11556
|
var _useTranslation = reactI18next.useTranslation(),
|
11702
11557
|
t = _useTranslation.t;
|
11703
11558
|
var getStudentData = function getStudentData(examCode) {
|
@@ -11710,7 +11565,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11710
11565
|
var _temp = _catch(function () {
|
11711
11566
|
return Promise.resolve(Promise.all([getResults(examCode), getResultsLongTimeSpend(examCode), getResultsEffectSize(examCode), getResultsTimeOrderQuestion(examCode), getResultsCategories(examCode)])).then(function (result) {
|
11712
11567
|
var _result$0$data, _result$1$data, _result$2$data, _result$3$data, _result$4$data;
|
11713
|
-
handleChangeTab(0);
|
11568
|
+
handleChangeTab === null || handleChangeTab === void 0 ? void 0 : handleChangeTab(0);
|
11714
11569
|
setDataChartIndex(0);
|
11715
11570
|
setResultData((_result$0$data = result[0].data) === null || _result$0$data === void 0 ? void 0 : _result$0$data.data);
|
11716
11571
|
setLongTimeSpend((_result$1$data = result[1].data) === null || _result$1$data === void 0 ? void 0 : _result$1$data.data);
|
@@ -11719,19 +11574,21 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11719
11574
|
setCategoryResponses(((_result$4$data = result[4].data) === null || _result$4$data === void 0 ? void 0 : _result$4$data.data) || []);
|
11720
11575
|
});
|
11721
11576
|
}, function (error) {
|
11722
|
-
|
11577
|
+
var message = getErrorMessage(t, error);
|
11578
|
+
!isPrint && reactToastify.toast.error(message);
|
11579
|
+
setErrorMessage(message);
|
11723
11580
|
});
|
11724
11581
|
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
11725
11582
|
} catch (e) {
|
11726
11583
|
return Promise.reject(e);
|
11727
11584
|
}
|
11728
11585
|
};
|
11729
|
-
var getStudentDataByTeacher = function getStudentDataByTeacher(
|
11586
|
+
var getStudentDataByTeacher = function getStudentDataByTeacher(examSessionId, studentId) {
|
11730
11587
|
try {
|
11731
11588
|
var _temp5 = function _temp5() {
|
11732
11589
|
setIsLoading(false);
|
11733
11590
|
};
|
11734
|
-
if (!
|
11591
|
+
if (!examSessionId || !studentId) return Promise.resolve();
|
11735
11592
|
setIsLoading(true);
|
11736
11593
|
var _temp4 = _catch(function () {
|
11737
11594
|
return Promise.resolve(Promise.all([getResultsTeacher(examSessionId, studentId), getResultsLongTimeSpendTeacher(examSessionId, studentId), getResultsEffectSizeTeacher(examSessionId, studentId), getResultsTimeOrderQuestionTeacher(examSessionId, studentId), getResultsCategoriesTeacher(examSessionId, studentId)])).then(function (result) {
|
@@ -11739,7 +11596,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11739
11596
|
function _temp3(_createRecentUserActi) {
|
11740
11597
|
_createRecentUserActi;
|
11741
11598
|
}
|
11742
|
-
handleChangeTab(0);
|
11599
|
+
handleChangeTab === null || handleChangeTab === void 0 ? void 0 : handleChangeTab(0);
|
11743
11600
|
setDataChartIndex(0);
|
11744
11601
|
setResultData((_result$0$data2 = result[0].data) === null || _result$0$data2 === void 0 ? void 0 : _result$0$data2.data);
|
11745
11602
|
setLongTimeSpend((_result$1$data2 = result[1].data) === null || _result$1$data2 === void 0 ? void 0 : _result$1$data2.data);
|
@@ -11759,7 +11616,9 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11759
11616
|
})).then(_temp3);
|
11760
11617
|
});
|
11761
11618
|
}, function (error) {
|
11762
|
-
|
11619
|
+
var message = getErrorMessage(t, error);
|
11620
|
+
!isPrint && reactToastify.toast.error(message);
|
11621
|
+
setErrorMessage(message);
|
11763
11622
|
});
|
11764
11623
|
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
|
11765
11624
|
} catch (e) {
|
@@ -11774,7 +11633,9 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11774
11633
|
setCategoryResponses(CATEGORY_RESPONSES);
|
11775
11634
|
};
|
11776
11635
|
var resetData = function resetData() {
|
11636
|
+
setIsLoading(undefined);
|
11777
11637
|
setResultData(undefined);
|
11638
|
+
setErrorMessage(undefined);
|
11778
11639
|
setLongTimeSpend([]);
|
11779
11640
|
setEffectSize([]);
|
11780
11641
|
setTimelyOrderQuestions([]);
|
@@ -11785,7 +11646,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11785
11646
|
resetData();
|
11786
11647
|
if (!(user !== null && user !== void 0 && user.email)) return;
|
11787
11648
|
isStudent && getStudentData(examCode);
|
11788
|
-
!isStudent && getStudentDataByTeacher(
|
11649
|
+
!isStudent && getStudentDataByTeacher(examSessionId, studentId);
|
11789
11650
|
};
|
11790
11651
|
examCode === "example-code" ? setExampleData() : getData();
|
11791
11652
|
}, [examCode, isStudent, code, examSessionId, studentId, user === null || user === void 0 ? void 0 : user.email]);
|
@@ -11825,7 +11686,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11825
11686
|
var dataPointIndex = _ref.dataPointIndex;
|
11826
11687
|
if (dataPointIndex > 0) {
|
11827
11688
|
var _questions;
|
11828
|
-
return val != null ? t("
|
11689
|
+
return val != null ? t("problem_number_question_chart", {
|
11829
11690
|
number: questions !== null ? (((_questions = questions[questionLength - val]) === null || _questions === void 0 ? void 0 : _questions.questionOrder) || 0) + 1 : val
|
11830
11691
|
}) : t("no_data");
|
11831
11692
|
}
|
@@ -11834,11 +11695,11 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11834
11695
|
}
|
11835
11696
|
}),
|
11836
11697
|
xaxis: _extends({}, DEFAULT_LINE_CHART_OPTIONS.xaxis, {
|
11837
|
-
categories: [""].concat(Array.from({
|
11698
|
+
categories: ["s"].concat(Array.from({
|
11838
11699
|
length: questionLength
|
11839
11700
|
}, function (_, i) {
|
11840
|
-
return
|
11841
|
-
}), [""]),
|
11701
|
+
return formatQuestionOrder(i, t, language);
|
11702
|
+
}), ["e"]),
|
11842
11703
|
tooltip: {
|
11843
11704
|
formatter: function formatter(val) {
|
11844
11705
|
if (val > 1) return t(ORDER_NUMBERS[val - 1]);
|
@@ -11910,7 +11771,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11910
11771
|
var dataPointIndex = _ref2.dataPointIndex;
|
11911
11772
|
if (dataPointIndex > 0) {
|
11912
11773
|
var _questions3;
|
11913
|
-
return val != null ? t("
|
11774
|
+
return val != null ? t("problem_number_question_chart", {
|
11914
11775
|
number: questions !== null ? (((_questions3 = questions[questionLength - val]) === null || _questions3 === void 0 ? void 0 : _questions3.questionOrder) || 0) + 1 : val
|
11915
11776
|
}) : t("no_data");
|
11916
11777
|
}
|
@@ -11920,11 +11781,11 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11920
11781
|
}),
|
11921
11782
|
colors: ['#3DC674', '#C3099A'],
|
11922
11783
|
xaxis: _extends({}, DEFAULT_LINE_CHART_OPTIONS.xaxis, {
|
11923
|
-
categories: [""].concat(Array.from({
|
11784
|
+
categories: ["s"].concat(Array.from({
|
11924
11785
|
length: questionLength
|
11925
11786
|
}, function (_, i) {
|
11926
|
-
return
|
11927
|
-
}), [""]),
|
11787
|
+
return formatQuestionOrder(i, t, language);
|
11788
|
+
}), ["e"]),
|
11928
11789
|
tooltip: {
|
11929
11790
|
formatter: function formatter(val) {
|
11930
11791
|
if (val > 1) return t(ORDER_NUMBERS[val - 1]);
|
@@ -11938,7 +11799,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11938
11799
|
labels: _extends({}, DEFAULT_LINE_CHART_OPTIONS.yaxis.labels, {
|
11939
11800
|
formatter: function formatter(val) {
|
11940
11801
|
var _questions4;
|
11941
|
-
return val != null ? t("
|
11802
|
+
return val != null ? t("problem_number_question_chart", {
|
11942
11803
|
number: questions !== null ? (((_questions4 = questions[questionLength - val]) === null || _questions4 === void 0 ? void 0 : _questions4.questionOrder) || 0) + 1 : val
|
11943
11804
|
}) : t("no_data");
|
11944
11805
|
}
|
@@ -11947,224 +11808,6 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
11947
11808
|
});
|
11948
11809
|
}, [JSON.stringify(allChartOptions), dataChartIndex, language]);
|
11949
11810
|
var series = (_allSeries$dataChartI = allSeries[dataChartIndex]) != null ? _allSeries$dataChartI : defaultSeries(t);
|
11950
|
-
var handleExportPdf = function handleExportPdf() {
|
11951
|
-
try {
|
11952
|
-
var _temp24 = function _temp24(_result) {
|
11953
|
-
if (_exit) return _result;
|
11954
|
-
dispatch(setLoading(false));
|
11955
|
-
};
|
11956
|
-
var _exit = false;
|
11957
|
-
dispatch(setLoading(true));
|
11958
|
-
var _temp23 = _catch(function () {
|
11959
|
-
var canvas = document.querySelector("#canvas");
|
11960
|
-
var headerCanvas = document.querySelector("#header-canvas");
|
11961
|
-
if (!canvas || !headerCanvas) {
|
11962
|
-
_exit = true;
|
11963
|
-
return;
|
11964
|
-
}
|
11965
|
-
var doc = new jspdf.jsPDF({
|
11966
|
-
orientation: "p",
|
11967
|
-
unit: "px",
|
11968
|
-
format: "a4"
|
11969
|
-
});
|
11970
|
-
var WIDTH_PAPER = doc.internal.pageSize.width;
|
11971
|
-
var HEIGHT_PAPER = doc.internal.pageSize.height;
|
11972
|
-
var line = 0;
|
11973
|
-
var breakPage = function breakPage() {
|
11974
|
-
doc.addPage();
|
11975
|
-
line = 20;
|
11976
|
-
};
|
11977
|
-
var imgWidth = WIDTH_PAPER;
|
11978
|
-
var chartWidth = WIDTH_PAPER - 20;
|
11979
|
-
return Promise.resolve(html2canvas(headerCanvas)).then(function (header) {
|
11980
|
-
function _temp22() {
|
11981
|
-
function _temp20(_createRecentUserActi2) {
|
11982
|
-
_createRecentUserActi2;
|
11983
|
-
}
|
11984
|
-
doc.save("download.pdf");
|
11985
|
-
return isStudent ? _temp20(!isStudent && createRecentUserActionListApi({
|
11986
|
-
userId: studentId,
|
11987
|
-
action: RecentUserAction$1.PrintedExamResult,
|
11988
|
-
data: "" + examSessionId,
|
11989
|
-
roles: [exports.Role.Teacher]
|
11990
|
-
})) : Promise.resolve(!isStudent && createRecentUserActionListApi({
|
11991
|
-
userId: studentId,
|
11992
|
-
action: RecentUserAction$1.PrintedExamResult,
|
11993
|
-
data: "" + examSessionId,
|
11994
|
-
roles: [exports.Role.Teacher]
|
11995
|
-
})).then(_temp20);
|
11996
|
-
}
|
11997
|
-
var imgHeaderHeight = header.height * imgWidth / header.width;
|
11998
|
-
var imgHeaderData = header.toDataURL('image/png');
|
11999
|
-
doc.addImage(imgHeaderData, 'PNG', 0, 0, imgWidth, imgHeaderHeight);
|
12000
|
-
line += imgHeaderHeight;
|
12001
|
-
if (line > HEIGHT_PAPER) breakPage();
|
12002
|
-
var _temp21 = function () {
|
12003
|
-
if (canvas && canvas.childElementCount > 0) {
|
12004
|
-
var _index = 0;
|
12005
|
-
var _temp19 = _for(function () {
|
12006
|
-
return _index < canvas.childElementCount;
|
12007
|
-
}, function () {
|
12008
|
-
return _index++;
|
12009
|
-
}, function () {
|
12010
|
-
function _temp18() {
|
12011
|
-
function _temp16() {
|
12012
|
-
line += 20;
|
12013
|
-
}
|
12014
|
-
var printChartTitle = function printChartTitle() {
|
12015
|
-
try {
|
12016
|
-
if (chartTitleData && chartTitleHeight) {
|
12017
|
-
if (line + chartTitleHeight + 10 > HEIGHT_PAPER) breakPage();else line + 10;
|
12018
|
-
doc.addImage(chartTitleData, 'PNG', 10, line, chartWidth, chartTitleHeight);
|
12019
|
-
line += chartTitleHeight;
|
12020
|
-
}
|
12021
|
-
return Promise.resolve();
|
12022
|
-
} catch (e) {
|
12023
|
-
return Promise.reject(e);
|
12024
|
-
}
|
12025
|
-
};
|
12026
|
-
var _temp15 = function () {
|
12027
|
-
if (printContainerEls.length) {
|
12028
|
-
var _temp14 = _forTo(printContainerEls, function (i) {
|
12029
|
-
function _temp13() {
|
12030
|
-
function _temp11() {
|
12031
|
-
var printTitle = function printTitle() {
|
12032
|
-
try {
|
12033
|
-
if (!printTitleHeight || !printTitleData) return Promise.resolve();
|
12034
|
-
doc.addImage(printTitleData, 'PNG', 0, line, chartWidth, printTitleHeight);
|
12035
|
-
line += printTitleHeight;
|
12036
|
-
return Promise.resolve();
|
12037
|
-
} catch (e) {
|
12038
|
-
return Promise.reject(e);
|
12039
|
-
}
|
12040
|
-
};
|
12041
|
-
var printHeader = function printHeader(top) {
|
12042
|
-
if (top === void 0) {
|
12043
|
-
top = 0;
|
12044
|
-
}
|
12045
|
-
try {
|
12046
|
-
if (!printHeaderData || !printHeaderHeight) return Promise.resolve();
|
12047
|
-
line += top;
|
12048
|
-
if (line + printHeaderHeight > HEIGHT_PAPER) breakPage();
|
12049
|
-
doc.addImage(printHeaderData, 'PNG', 10, line, chartWidth, printHeaderHeight);
|
12050
|
-
line += printHeaderHeight;
|
12051
|
-
return Promise.resolve();
|
12052
|
-
} catch (e) {
|
12053
|
-
return Promise.reject(e);
|
12054
|
-
}
|
12055
|
-
};
|
12056
|
-
var printContents = printContainerEl.querySelectorAll("." + PrintContentClassName);
|
12057
|
-
if (!printContents.length) return;
|
12058
|
-
printTitle();
|
12059
|
-
var _temp9 = _forTo(printContents, function (j) {
|
12060
|
-
var rowItem = printContents[j];
|
12061
|
-
return Promise.resolve(html2canvas(rowItem)).then(function (rowItemCanvas) {
|
12062
|
-
function _temp8() {
|
12063
|
-
doc.addImage(data, 'PNG', 10, line, chartWidth, height);
|
12064
|
-
line += height;
|
12065
|
-
}
|
12066
|
-
var height = rowItemCanvas.height * chartWidth / rowItemCanvas.width;
|
12067
|
-
var data = rowItemCanvas.toDataURL('image/png');
|
12068
|
-
if (i === 0 && j === 0 && line + height + (printHeaderHeight || 0) + ((chartTitleHeight || 0) + 10) + 20 > HEIGHT_PAPER) breakPage();
|
12069
|
-
i === 0 && j === 0 && printChartTitle();
|
12070
|
-
var _temp7 = function () {
|
12071
|
-
if (line + height + 20 > HEIGHT_PAPER) {
|
12072
|
-
breakPage();
|
12073
|
-
return Promise.resolve(printHeader()).then(function () {});
|
12074
|
-
} else {
|
12075
|
-
var _temp25 = function () {
|
12076
|
-
if (j === 0) {
|
12077
|
-
return Promise.resolve(printHeader(10)).then(function () {});
|
12078
|
-
}
|
12079
|
-
}();
|
12080
|
-
if (_temp25 && _temp25.then) return _temp25.then(function () {});
|
12081
|
-
}
|
12082
|
-
}();
|
12083
|
-
return _temp7 && _temp7.then ? _temp7.then(_temp8) : _temp8(_temp7);
|
12084
|
-
});
|
12085
|
-
});
|
12086
|
-
if (_temp9 && _temp9.then) return _temp9.then(function () {});
|
12087
|
-
}
|
12088
|
-
var _temp10 = function () {
|
12089
|
-
if (printHeaderEl) {
|
12090
|
-
return Promise.resolve(html2canvas(printHeaderEl)).then(function (_html2canvas3) {
|
12091
|
-
printHeaderCanvas = _html2canvas3;
|
12092
|
-
printHeaderHeight = printHeaderCanvas.height * chartWidth / printHeaderCanvas.width;
|
12093
|
-
printHeaderData = printHeaderCanvas.toDataURL('image/png');
|
12094
|
-
});
|
12095
|
-
}
|
12096
|
-
}();
|
12097
|
-
return _temp10 && _temp10.then ? _temp10.then(_temp11) : _temp11(_temp10);
|
12098
|
-
}
|
12099
|
-
var printContainerEl = printContainerEls[i];
|
12100
|
-
var printTitleEl = printContainerEl.querySelector("." + PrintTitleClassName);
|
12101
|
-
var printHeaderEl = printContainerEl.querySelector("." + PrintHeaderClassName);
|
12102
|
-
var printTitleCanvas = null;
|
12103
|
-
var printTitleHeight = null;
|
12104
|
-
var printTitleData = "";
|
12105
|
-
var printHeaderCanvas = null;
|
12106
|
-
var printHeaderHeight = null;
|
12107
|
-
var printHeaderData = "";
|
12108
|
-
var _temp12 = function () {
|
12109
|
-
if (printTitleEl) {
|
12110
|
-
return Promise.resolve(html2canvas(printTitleEl)).then(function (_html2canvas2) {
|
12111
|
-
printTitleCanvas = _html2canvas2;
|
12112
|
-
printTitleHeight = printTitleCanvas.height * chartWidth / printTitleCanvas.width;
|
12113
|
-
printTitleData = printTitleCanvas.toDataURL('image/png');
|
12114
|
-
});
|
12115
|
-
}
|
12116
|
-
}();
|
12117
|
-
return _temp12 && _temp12.then ? _temp12.then(_temp13) : _temp13(_temp12);
|
12118
|
-
});
|
12119
|
-
if (_temp14 && _temp14.then) return _temp14.then(function () {});
|
12120
|
-
} else {
|
12121
|
-
return Promise.resolve(html2canvas(chart)).then(function (chartCanvas) {
|
12122
|
-
var imgBodyHeight = chartCanvas.height * chartWidth / chartCanvas.width;
|
12123
|
-
var imgBodyData = chartCanvas.toDataURL('image/png');
|
12124
|
-
line += 10;
|
12125
|
-
if (line + imgBodyHeight + 20 + (chartTitleHeight || 0) > HEIGHT_PAPER) breakPage();
|
12126
|
-
printChartTitle();
|
12127
|
-
doc.addImage(imgBodyData, 'PNG', 10, line, chartWidth, imgBodyHeight);
|
12128
|
-
line += imgBodyHeight;
|
12129
|
-
});
|
12130
|
-
}
|
12131
|
-
}();
|
12132
|
-
return _temp15 && _temp15.then ? _temp15.then(_temp16) : _temp16(_temp15);
|
12133
|
-
}
|
12134
|
-
var chart = canvas.children.item(_index);
|
12135
|
-
if (chart.getAttribute("id") === "header-canvas") return;
|
12136
|
-
var chartTitle = chart.querySelector(".chart-title");
|
12137
|
-
var printContainerEls = chart.querySelectorAll("." + PrintContainerClassName);
|
12138
|
-
var printChartTitleCanvas = null;
|
12139
|
-
var chartTitleHeight = null;
|
12140
|
-
var chartTitleData = "";
|
12141
|
-
var _temp17 = function () {
|
12142
|
-
if (chartTitle && printContainerEls.length) {
|
12143
|
-
return Promise.resolve(html2canvas(chartTitle)).then(function (_html2canvas) {
|
12144
|
-
printChartTitleCanvas = _html2canvas;
|
12145
|
-
chartTitleHeight = printChartTitleCanvas.height * chartWidth / printChartTitleCanvas.width;
|
12146
|
-
chartTitleData = printChartTitleCanvas.toDataURL('image/png');
|
12147
|
-
});
|
12148
|
-
}
|
12149
|
-
}();
|
12150
|
-
return _temp17 && _temp17.then ? _temp17.then(_temp18) : _temp18(_temp17);
|
12151
|
-
});
|
12152
|
-
if (_temp19 && _temp19.then) return _temp19.then(function () {});
|
12153
|
-
}
|
12154
|
-
}();
|
12155
|
-
return _temp21 && _temp21.then ? _temp21.then(_temp22) : _temp22(_temp21);
|
12156
|
-
});
|
12157
|
-
}, function (error) {
|
12158
|
-
console.log({
|
12159
|
-
error: error
|
12160
|
-
});
|
12161
|
-
reactToastify.toast.error(getErrorMessage(t, error));
|
12162
|
-
});
|
12163
|
-
return Promise.resolve(_temp23 && _temp23.then ? _temp23.then(_temp24) : _temp24(_temp23));
|
12164
|
-
} catch (e) {
|
12165
|
-
return Promise.reject(e);
|
12166
|
-
}
|
12167
|
-
};
|
12168
11811
|
React.useEffect(function () {
|
12169
11812
|
setDataChartIndex(0);
|
12170
11813
|
}, [selectedTab]);
|
@@ -12187,11 +11830,11 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
|
|
12187
11830
|
timelyOrderQuestions: timelyOrderQuestions,
|
12188
11831
|
openProblem: openProblem,
|
12189
11832
|
categoryResponses: categoryResponses,
|
11833
|
+
errorMessage: errorMessage,
|
12190
11834
|
setOpenProblem: setOpenProblem,
|
12191
11835
|
handlePrevChart: handlePrevChart,
|
12192
11836
|
handleNextChart: handleNextChart,
|
12193
|
-
handleExit: handleExit
|
12194
|
-
handleExportPdf: handleExportPdf
|
11837
|
+
handleExit: handleExit
|
12195
11838
|
};
|
12196
11839
|
};
|
12197
11840
|
|
@@ -13308,7 +12951,7 @@ Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==t
|
|
13308
12951
|
|
13309
12952
|
var ReactApexChart = unwrapExports(reactApexcharts_min);
|
13310
12953
|
|
13311
|
-
var styles$4 = {"lighter":"#F0FFF6","light":"#89F0B2","less_dark":"#3DC674","dark":"#349056","darker":"#18442A","gray_50":"#FBFBF9","gray_100":"#EAEAE5","gray_300":"#D0D0C8","gray_500":"#9A9A98","gray_700":"#5D5D5B","gray_900":"#363634","titleBox":"_1dveO","title":"_mxRxf","point":"_2fD-F","buttonGroup":"_2DGl3","btnFeedback":"_xGW1x","btnTerminate":"_3mLu2","myanswer":"_eDBpS","titleMyAnswer1":"_2fMq3","titleMyAnswer2":"_3gEYh","contentMyAnswer":"_2K_sx","myAnswerItem":"_2qiLh","time":"_6TCOK","timeCol":"_hmseC","answer-response":"_3GfJt","answer-response-0":"_3ut64","answer-response-1":"_2VtpD","answer-response-2":"_58lQU","answer-response-3":"_1ucMY","answer-response-4":"_1qkxy","answerCorrect":"_2jIeT","answerIncorrect":"_to2v0","answerNograss":"_1JSte","answerEasy":"_2_uTU","answerDiscrimination":"_1DBoA","answerTrap":"_1q3tD","answerNoTime":"_3iItu","questionOrder":"_1fNkS","myTimeLabel":"_1Z_F3","myPoolTime":"_4KwG0","topTimeLabel":"_245H-","topTime":"_3tZqw","meanTimeLabel":"_PlPLY","meanTime":"_12a7R","compareChart":"_3MW16","prevChart":"_1fNkb","chart":"_3K4oY","nextChart":"_3YKBp","titleChart":"_13BVP","titleCompareGrass":"_o1txm","tableCompareGrass":"_bT5nf","thcolumn1":"_3Umg0","tdcolumn1":"_3dRMF","tdcolumn3":"_2tcBP","classification":"_1AFeb","wrapperProblem":"_oTqG7","titleProblem":"_35eIx","titleProblemClose":"_3t4HO","titleTrickyProblem":"_1-oxK","wrongQuestions":"_2dpMR","question":"_1lSOX","assignedQuestions":"_1ONUt","wrapperContent":"_nPoR0","content":"_2zmZn","contentColumn1":"_334SY","span1":"_3Lf-U","span2":"_ZpMot","contentColumn2":"_16P3l","duration":"_1kT28","topDuration":"_1fVRi","overallCorrectRate":"_3jLGe","answer":"_VsZ0K","contentVulnerable":"_QxKMy","wrappContentProblem":"_nnqpW","contentProblem":"_3Z1nV","labelProblem":"_36Xpx","name":"_3ZJQW","percent":"_2J3MK","slider":"_1MPdO","track":"_3CV_y","noData":"__g-ff","loading":"_3j485","table-responsive":"_2O6RX","form-label":"_1RYOQ","form-control":"_3VRVT","form-label-dialog":"_3oCSh","btn-cancel":"_3USKq","btn-register":"_3y_iD","pdfBtnBox":"_3xZHo","pdfBtn":"_1DtWq","form-select":"_1a_vw"};
|
12954
|
+
var styles$4 = {"lighter":"#F0FFF6","light":"#89F0B2","less_dark":"#3DC674","dark":"#349056","darker":"#18442A","gray_50":"#FBFBF9","gray_100":"#EAEAE5","gray_300":"#D0D0C8","gray_500":"#9A9A98","gray_700":"#5D5D5B","gray_900":"#363634","titleBox":"_1dveO","title":"_mxRxf","point":"_2fD-F","buttonGroup":"_2DGl3","btnFeedback":"_xGW1x","btnTerminate":"_3mLu2","myanswer":"_eDBpS","titleMyAnswer1":"_2fMq3","titleMyAnswer2":"_3gEYh","contentMyAnswer":"_2K_sx","myAnswerItem":"_2qiLh","time":"_6TCOK","timeCol":"_hmseC","answer-response":"_3GfJt","answer-response-0":"_3ut64","answer-response-1":"_2VtpD","answer-response-2":"_58lQU","answer-response-3":"_1ucMY","answer-response-4":"_1qkxy","answerCorrect":"_2jIeT","answerIncorrect":"_to2v0","answerNograss":"_1JSte","answerEasy":"_2_uTU","answerDiscrimination":"_1DBoA","answerTrap":"_1q3tD","answerNoTime":"_3iItu","questionOrder":"_1fNkS","myTimeLabel":"_1Z_F3","myPoolTime":"_4KwG0","topTimeLabel":"_245H-","topTime":"_3tZqw","meanTimeLabel":"_PlPLY","meanTime":"_12a7R","compareChart":"_3MW16","prevChart":"_1fNkb","chart":"_3K4oY","nextChart":"_3YKBp","titleChart":"_13BVP","titleCompareGrass":"_o1txm","tableCompareGrass":"_bT5nf","thcolumn1":"_3Umg0","tdcolumn1":"_3dRMF","tdcolumn3":"_2tcBP","classification":"_1AFeb","wrapperProblem":"_oTqG7","titleProblem":"_35eIx","titleProblemClose":"_3t4HO","titleTrickyProblem":"_1-oxK","wrongQuestions":"_2dpMR","question":"_1lSOX","assignedQuestions":"_1ONUt","wrapperContent":"_nPoR0","content":"_2zmZn","contentColumn1":"_334SY","span1":"_3Lf-U","span2":"_ZpMot","contentColumn2":"_16P3l","duration":"_1kT28","topDuration":"_1fVRi","overallCorrectRate":"_3jLGe","answer":"_VsZ0K","contentVulnerable":"_QxKMy","wrappContentProblem":"_nnqpW","contentProblem":"_3Z1nV","labelProblem":"_36Xpx","name":"_3ZJQW","percent":"_2J3MK","slider":"_1MPdO","track":"_3CV_y","noData":"__g-ff","loading":"_3j485","table-responsive":"_2O6RX","form-label":"_1RYOQ","form-control":"_3VRVT","form-label-dialog":"_3oCSh","btn-cancel":"_3USKq","btn-register":"_3y_iD","pdfBtnBox":"_3xZHo","pdfBtn":"_1DtWq","form-select":"_1a_vw","loader":"_2uC7T","dot":"_Xz-Mr","bounce":"_3THgz"};
|
13312
12955
|
|
13313
12956
|
var iconStarQuestion = function iconStarQuestion(_ref) {
|
13314
12957
|
var _ref$width = _ref.width,
|
@@ -13699,8 +13342,7 @@ function CreateNewQuestionDialog(_ref) {
|
|
13699
13342
|
function MyAnswer(_ref) {
|
13700
13343
|
var data = _ref.data,
|
13701
13344
|
categories = _ref.categories,
|
13702
|
-
isStudent = _ref.isStudent
|
13703
|
-
isPrint = _ref.isPrint;
|
13345
|
+
isStudent = _ref.isStudent;
|
13704
13346
|
var _useCreateQuestionDia = useCreateQuestionDialog({
|
13705
13347
|
questions: data.questions
|
13706
13348
|
}),
|
@@ -13720,6 +13362,13 @@ function MyAnswer(_ref) {
|
|
13720
13362
|
handleSelectQuestionOrder(id);
|
13721
13363
|
toggleCreateQuestion();
|
13722
13364
|
};
|
13365
|
+
var formatTimeDiff = function formatTimeDiff(my, top) {
|
13366
|
+
var diff = Math.round(my - top);
|
13367
|
+
var prefix = "";
|
13368
|
+
if (diff < 0) prefix = "-";
|
13369
|
+
if (diff > 0) prefix = "+";
|
13370
|
+
return "" + prefix + formatTimeSecond(Math.abs(diff), t);
|
13371
|
+
};
|
13723
13372
|
var renderQuestions = function renderQuestions(questions) {
|
13724
13373
|
return questions.map(function (question, index) {
|
13725
13374
|
return React__default.createElement("div", {
|
@@ -13782,7 +13431,7 @@ function MyAnswer(_ref) {
|
|
13782
13431
|
margin: 0
|
13783
13432
|
},
|
13784
13433
|
className: styles$4["answer-response"] + " " + styles$4["answer-response-" + question.answerResponseSignal]
|
13785
|
-
},
|
13434
|
+
}, formatTimeDiff(question.duration, question.topDuration)) : React__default.createElement("p", {
|
13786
13435
|
style: {
|
13787
13436
|
margin: 0,
|
13788
13437
|
textAlign: "center"
|
@@ -13821,24 +13470,12 @@ function MyAnswer(_ref) {
|
|
13821
13470
|
})))));
|
13822
13471
|
});
|
13823
13472
|
};
|
13824
|
-
var renderPrintQuestions = function renderPrintQuestions(questions) {
|
13825
|
-
var chunkedQuestions = _.chunk(questions, 10);
|
13826
|
-
return chunkedQuestions.map(function (i, index) {
|
13827
|
-
return React__default.createElement("div", {
|
13828
|
-
key: index,
|
13829
|
-
className: PrintContentClassName
|
13830
|
-
}, renderQuestions(i));
|
13831
|
-
});
|
13832
|
-
};
|
13833
13473
|
return React__default.createElement("div", {
|
13834
13474
|
className: styles$4["myanswer"]
|
13835
13475
|
}, formattedData && formattedData.length > 0 && formattedData.map(function (item) {
|
13836
13476
|
return React__default.createElement("div", {
|
13837
|
-
key: item.category.id
|
13838
|
-
|
13839
|
-
}, React__default.createElement("div", {
|
13840
|
-
className: isPrint ? PrintHeaderClassName : ""
|
13841
|
-
}, React__default.createElement(material.Stack, {
|
13477
|
+
key: item.category.id
|
13478
|
+
}, React__default.createElement("div", null, React__default.createElement(material.Stack, {
|
13842
13479
|
bgcolor: "#F9FAFB",
|
13843
13480
|
flexDirection: "row",
|
13844
13481
|
padding: "12px",
|
@@ -13850,6 +13487,7 @@ function MyAnswer(_ref) {
|
|
13850
13487
|
gap: "4px"
|
13851
13488
|
}
|
13852
13489
|
}, React__default.createElement(material.Typography, {
|
13490
|
+
paddingInline: "4px",
|
13853
13491
|
sx: {
|
13854
13492
|
fontSize: "13px",
|
13855
13493
|
fontWeight: 600,
|
@@ -13864,6 +13502,7 @@ function MyAnswer(_ref) {
|
|
13864
13502
|
gap: "4px"
|
13865
13503
|
}
|
13866
13504
|
}, React__default.createElement(material.Typography, {
|
13505
|
+
paddingInline: "4px",
|
13867
13506
|
sx: {
|
13868
13507
|
fontSize: "13px",
|
13869
13508
|
fontWeight: 600,
|
@@ -13878,6 +13517,7 @@ function MyAnswer(_ref) {
|
|
13878
13517
|
gap: "4px"
|
13879
13518
|
}
|
13880
13519
|
}, React__default.createElement(material.Typography, {
|
13520
|
+
paddingInline: "4px",
|
13881
13521
|
sx: {
|
13882
13522
|
fontSize: "13px",
|
13883
13523
|
fontWeight: 600,
|
@@ -13893,6 +13533,7 @@ function MyAnswer(_ref) {
|
|
13893
13533
|
gap: "4px"
|
13894
13534
|
}
|
13895
13535
|
}, React__default.createElement(material.Typography, {
|
13536
|
+
paddingInline: "4px",
|
13896
13537
|
sx: {
|
13897
13538
|
fontSize: "13px",
|
13898
13539
|
fontWeight: 600,
|
@@ -13908,6 +13549,7 @@ function MyAnswer(_ref) {
|
|
13908
13549
|
gap: "4px"
|
13909
13550
|
}
|
13910
13551
|
}, React__default.createElement(material.Typography, {
|
13552
|
+
paddingInline: "4px",
|
13911
13553
|
sx: {
|
13912
13554
|
fontSize: "13px",
|
13913
13555
|
fontWeight: 600,
|
@@ -13930,7 +13572,7 @@ function MyAnswer(_ref) {
|
|
13930
13572
|
}
|
13931
13573
|
}, item.category.name))), React__default.createElement("div", {
|
13932
13574
|
className: styles$4["contentMyAnswer"]
|
13933
|
-
},
|
13575
|
+
}, renderQuestions(item.questions)));
|
13934
13576
|
}), React__default.createElement(CreateNewQuestionDialog, {
|
13935
13577
|
questionOptions: questionOptions,
|
13936
13578
|
questionOrderSelected: questionOrderSelected,
|
@@ -13984,8 +13626,7 @@ var iconBtnNextChart = function iconBtnNextChart(_ref) {
|
|
13984
13626
|
};
|
13985
13627
|
|
13986
13628
|
var CompareGrass = function CompareGrass(_ref) {
|
13987
|
-
var effectSize = _ref.effectSize
|
13988
|
-
isPrint = _ref.isPrint;
|
13629
|
+
var effectSize = _ref.effectSize;
|
13989
13630
|
var _useTranslation = reactI18next.useTranslation(),
|
13990
13631
|
t = _useTranslation.t;
|
13991
13632
|
var renderTableBody = function renderTableBody(effectSize) {
|
@@ -14048,17 +13689,8 @@ var CompareGrass = function CompareGrass(_ref) {
|
|
14048
13689
|
}))));
|
14049
13690
|
});
|
14050
13691
|
};
|
14051
|
-
var renderPrintTableBody = function renderPrintTableBody(effectSize) {
|
14052
|
-
var chunkedEffectSizeQuestions = _.chunk(effectSize, 10);
|
14053
|
-
return chunkedEffectSizeQuestions.map(function (i, index) {
|
14054
|
-
return React__default.createElement("tbody", {
|
14055
|
-
key: index,
|
14056
|
-
className: PrintContentClassName
|
14057
|
-
}, renderTableBody(i));
|
14058
|
-
});
|
14059
|
-
};
|
14060
13692
|
return React__default.createElement("div", {
|
14061
|
-
className: styles$4["compareGrass"]
|
13693
|
+
className: "" + styles$4["compareGrass"]
|
14062
13694
|
}, React__default.createElement("div", {
|
14063
13695
|
className: styles$4["tableCompareGrass"]
|
14064
13696
|
}, React__default.createElement("div", {
|
@@ -14070,8 +13702,7 @@ var CompareGrass = function CompareGrass(_ref) {
|
|
14070
13702
|
}, React__default.createElement("thead", {
|
14071
13703
|
style: {
|
14072
13704
|
borderBottom: "1px solid #E4E7EC"
|
14073
|
-
}
|
14074
|
-
className: isPrint ? PrintHeaderClassName : ""
|
13705
|
+
}
|
14075
13706
|
}, React__default.createElement("tr", null, React__default.createElement("th", {
|
14076
13707
|
className: styles$4["thcolumn1"]
|
14077
13708
|
}, t("problem_number")), React__default.createElement("th", {
|
@@ -14090,7 +13721,7 @@ var CompareGrass = function CompareGrass(_ref) {
|
|
14090
13721
|
style: {
|
14091
13722
|
textAlign: "center"
|
14092
13723
|
}
|
14093
|
-
}, t("problem_classification")))),
|
13724
|
+
}, t("problem_classification")))), React__default.createElement("tbody", null, renderTableBody(effectSize))))));
|
14094
13725
|
};
|
14095
13726
|
|
14096
13727
|
var iconX = function iconX(_ref) {
|
@@ -14142,8 +13773,7 @@ var TrickyProblem = function TrickyProblem(_ref) {
|
|
14142
13773
|
var keyOpen = _ref.keyOpen,
|
14143
13774
|
data = _ref.data,
|
14144
13775
|
openProblem = _ref.openProblem,
|
14145
|
-
changeOpen = _ref.changeOpen
|
14146
|
-
isPrint = _ref.isPrint;
|
13776
|
+
changeOpen = _ref.changeOpen;
|
14147
13777
|
var _useTranslation = reactI18next.useTranslation(),
|
14148
13778
|
t = _useTranslation.t;
|
14149
13779
|
var isOpen = openProblem === keyOpen;
|
@@ -14182,45 +13812,12 @@ var TrickyProblem = function TrickyProblem(_ref) {
|
|
14182
13812
|
className: styles$4["noData"]
|
14183
13813
|
}, t("no_data"))));
|
14184
13814
|
};
|
14185
|
-
var renderPrintProblems = function renderPrintProblems() {
|
14186
|
-
return React__default.createElement(React.Fragment, null, React__default.createElement("div", {
|
14187
|
-
className: PrintContentClassName
|
14188
|
-
}, React__default.createElement("div", {
|
14189
|
-
className: styles$4["titleTrickyProblem"]
|
14190
|
-
}, React__default.createElement(iconX, null), React__default.createElement("span", null, t("incorrect_problem_among_the_starred_problems"))), React__default.createElement("div", {
|
14191
|
-
className: styles$4["wrongQuestions"]
|
14192
|
-
}, !!inCorrectQuestions.length && inCorrectQuestions.map(function (question) {
|
14193
|
-
return React__default.createElement("span", {
|
14194
|
-
key: question.id,
|
14195
|
-
className: styles$4["question"]
|
14196
|
-
}, t("number_question", {
|
14197
|
-
number: question.questionOrder + 1
|
14198
|
-
}));
|
14199
|
-
}), !data.questions.length && React__default.createElement("div", {
|
14200
|
-
className: styles$4["noData"]
|
14201
|
-
}, t("no_data")))), React__default.createElement("div", {
|
14202
|
-
className: PrintContentClassName
|
14203
|
-
}, React__default.createElement("div", {
|
14204
|
-
className: styles$4["titleTrickyProblem"]
|
14205
|
-
}, React__default.createElement(iconAssignedQuestions, null), React__default.createElement("span", null, t("correct_problem_among_the_starred_problems"))), React__default.createElement("div", {
|
14206
|
-
className: styles$4["assignedQuestions"]
|
14207
|
-
}, !!correctQuestions.length && correctQuestions.map(function (question) {
|
14208
|
-
return React__default.createElement("div", {
|
14209
|
-
key: question.id,
|
14210
|
-
className: styles$4["question"]
|
14211
|
-
}, t("number_question", {
|
14212
|
-
number: question.questionOrder + 1
|
14213
|
-
}));
|
14214
|
-
}), !data.questions.length && React__default.createElement("div", {
|
14215
|
-
className: styles$4["noData"]
|
14216
|
-
}, t("no_data")))));
|
14217
|
-
};
|
14218
13815
|
return React__default.createElement("div", {
|
14219
|
-
className: styles$4["wrapperProblem"]
|
13816
|
+
className: "" + styles$4["wrapperProblem"]
|
14220
13817
|
}, React__default.createElement("div", {
|
14221
|
-
className: (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"])
|
13818
|
+
className: "" + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
|
14222
13819
|
onClick: function onClick() {
|
14223
|
-
return changeOpen(isOpen ?
|
13820
|
+
return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
|
14224
13821
|
}
|
14225
13822
|
}, React__default.createElement(material.Typography, {
|
14226
13823
|
sx: {
|
@@ -14234,7 +13831,7 @@ var TrickyProblem = function TrickyProblem(_ref) {
|
|
14234
13831
|
}) : React__default.createElement(io5.IoChevronDown, {
|
14235
13832
|
size: 24,
|
14236
13833
|
color: styles$4.gray_300
|
14237
|
-
})), isOpen && React__default.createElement(React.Fragment, null,
|
13834
|
+
})), isOpen && React__default.createElement(React.Fragment, null, renderProblems()));
|
14238
13835
|
};
|
14239
13836
|
|
14240
13837
|
var ProtractedProblem = function ProtractedProblem(_ref) {
|
@@ -14242,7 +13839,6 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
|
|
14242
13839
|
data = _ref.data,
|
14243
13840
|
openProblem = _ref.openProblem,
|
14244
13841
|
changeOpen = _ref.changeOpen,
|
14245
|
-
isPrint = _ref.isPrint,
|
14246
13842
|
isMyStoryStudent = _ref.isMyStoryStudent;
|
14247
13843
|
var _useTranslation = reactI18next.useTranslation(),
|
14248
13844
|
t = _useTranslation.t;
|
@@ -14317,21 +13913,12 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
|
|
14317
13913
|
}, formatTimeSecond(item.topDuration, t)))));
|
14318
13914
|
});
|
14319
13915
|
};
|
14320
|
-
var renderPrintQuestions = function renderPrintQuestions() {
|
14321
|
-
var chunkedData = _.chunk(data, 5);
|
14322
|
-
return chunkedData.map(function (i, index) {
|
14323
|
-
return React__default.createElement("tbody", {
|
14324
|
-
key: index,
|
14325
|
-
className: PrintContentClassName
|
14326
|
-
}, isMyStoryStudent ? renderTableBody(i) : renderQuestions(i));
|
14327
|
-
});
|
14328
|
-
};
|
14329
13916
|
return React__default.createElement("div", {
|
14330
|
-
className: styles$4["wrapperProblem"]
|
13917
|
+
className: "" + styles$4["wrapperProblem"]
|
14331
13918
|
}, React__default.createElement("div", {
|
14332
|
-
className: (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"])
|
13919
|
+
className: "" + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
|
14333
13920
|
onClick: function onClick() {
|
14334
|
-
return changeOpen(isOpen ?
|
13921
|
+
return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
|
14335
13922
|
}
|
14336
13923
|
}, React__default.createElement(material.Stack, {
|
14337
13924
|
flexDirection: "row",
|
@@ -14367,8 +13954,7 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
|
|
14367
13954
|
}, isMyStoryStudent && React__default.createElement("thead", {
|
14368
13955
|
style: {
|
14369
13956
|
borderBottom: "1px solid #E4E7EC"
|
14370
|
-
}
|
14371
|
-
className: isPrint ? PrintHeaderClassName : ""
|
13957
|
+
}
|
14372
13958
|
}, React__default.createElement("tr", null, React__default.createElement("th", {
|
14373
13959
|
className: styles$4["thcolumn1"]
|
14374
13960
|
}, t("problem_number")), React__default.createElement("th", {
|
@@ -14383,8 +13969,8 @@ var ProtractedProblem = function ProtractedProblem(_ref) {
|
|
14383
13969
|
style: {
|
14384
13970
|
textAlign: "center"
|
14385
13971
|
}
|
14386
|
-
}, t("time_comparison")))),
|
14387
|
-
className: styles$4["noData"]
|
13972
|
+
}, t("time_comparison")))), React__default.createElement("tbody", null, isMyStoryStudent ? renderTableBody(data) : renderQuestions(data))))) : React__default.createElement("div", {
|
13973
|
+
className: "" + styles$4["noData"]
|
14388
13974
|
}, t("no_data"))));
|
14389
13975
|
};
|
14390
13976
|
|
@@ -14393,7 +13979,6 @@ var Vulnerable = function Vulnerable(_ref) {
|
|
14393
13979
|
keyOpen = _ref.keyOpen,
|
14394
13980
|
openProblem = _ref.openProblem,
|
14395
13981
|
changeOpen = _ref.changeOpen,
|
14396
|
-
isPrint = _ref.isPrint,
|
14397
13982
|
isMyStoryStudent = _ref.isMyStoryStudent;
|
14398
13983
|
var _useTranslation = reactI18next.useTranslation(),
|
14399
13984
|
t = _useTranslation.t;
|
@@ -14457,11 +14042,13 @@ var Vulnerable = function Vulnerable(_ref) {
|
|
14457
14042
|
return questions.map(function (question) {
|
14458
14043
|
return React__default.createElement(material.Grid, {
|
14459
14044
|
container: true,
|
14045
|
+
flexWrap: "nowrap",
|
14460
14046
|
className: styles$4["content"],
|
14461
14047
|
key: question.id
|
14462
14048
|
}, React__default.createElement(material.Grid, {
|
14463
14049
|
item: true,
|
14464
14050
|
xs: 1.5,
|
14051
|
+
minWidth: "120px",
|
14465
14052
|
className: styles$4["contentColumn1"]
|
14466
14053
|
}, React__default.createElement("div", null, React__default.createElement("span", {
|
14467
14054
|
className: styles$4["span1"]
|
@@ -14488,22 +14075,14 @@ var Vulnerable = function Vulnerable(_ref) {
|
|
14488
14075
|
}), ")"))));
|
14489
14076
|
});
|
14490
14077
|
};
|
14491
|
-
var
|
14492
|
-
|
14493
|
-
return chunkedQuestions.map(function (i, index) {
|
14494
|
-
return React__default.createElement("tbody", {
|
14495
|
-
key: index,
|
14496
|
-
className: PrintContentClassName
|
14497
|
-
}, isMyStoryStudent ? renderTableBody(i) : renderQuestions(i));
|
14498
|
-
});
|
14078
|
+
var handleToggle = function handleToggle() {
|
14079
|
+
changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : keyOpen);
|
14499
14080
|
};
|
14500
14081
|
return React__default.createElement("div", {
|
14501
|
-
className: styles$4["wrapperProblem"]
|
14082
|
+
className: "" + styles$4["wrapperProblem"]
|
14502
14083
|
}, React__default.createElement("div", {
|
14503
|
-
className: (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"])
|
14504
|
-
onClick:
|
14505
|
-
return changeOpen(isOpen ? "" : keyOpen);
|
14506
|
-
}
|
14084
|
+
className: "" + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
|
14085
|
+
onClick: handleToggle
|
14507
14086
|
}, React__default.createElement(material.Stack, {
|
14508
14087
|
flexDirection: "row",
|
14509
14088
|
gap: "24px",
|
@@ -14530,16 +14109,15 @@ var Vulnerable = function Vulnerable(_ref) {
|
|
14530
14109
|
className: styles$4["tableCompareGrass"]
|
14531
14110
|
}, React__default.createElement("div", {
|
14532
14111
|
className: styles$4["table-responsive"]
|
14533
|
-
}, React__default.createElement(material.Table, {
|
14112
|
+
}, isMyStoryStudent && React__default.createElement(material.Table, {
|
14534
14113
|
style: {
|
14535
14114
|
width: "100%",
|
14536
14115
|
marginBottom: isMyStoryStudent ? "120px" : 0
|
14537
14116
|
}
|
14538
|
-
},
|
14117
|
+
}, React__default.createElement("thead", {
|
14539
14118
|
style: {
|
14540
14119
|
borderBottom: "1px solid #E4E7EC"
|
14541
|
-
}
|
14542
|
-
className: isPrint ? PrintHeaderClassName : ""
|
14120
|
+
}
|
14543
14121
|
}, React__default.createElement("tr", null, React__default.createElement("th", {
|
14544
14122
|
className: styles$4["thcolumn1"]
|
14545
14123
|
}, t("problem_number")), React__default.createElement("th", {
|
@@ -14558,23 +14136,44 @@ var Vulnerable = function Vulnerable(_ref) {
|
|
14558
14136
|
style: {
|
14559
14137
|
textAlign: "center"
|
14560
14138
|
}
|
14561
|
-
}, t("_category")))),
|
14562
|
-
className: styles$4["noData"]
|
14139
|
+
}, t("_category")))), React__default.createElement("tbody", null, renderTableBody(incorrectQuestions))), !isMyStoryStudent && renderQuestions(incorrectQuestions))) : React__default.createElement("div", {
|
14140
|
+
className: "" + styles$4["noData"]
|
14563
14141
|
}, t("no_data"))));
|
14564
14142
|
};
|
14565
14143
|
|
14144
|
+
var AnswerResponseSignal;
|
14145
|
+
(function (AnswerResponseSignal) {
|
14146
|
+
AnswerResponseSignal[AnswerResponseSignal["Purple"] = 0] = "Purple";
|
14147
|
+
AnswerResponseSignal[AnswerResponseSignal["Red"] = 1] = "Red";
|
14148
|
+
AnswerResponseSignal[AnswerResponseSignal["Yellow"] = 2] = "Yellow";
|
14149
|
+
AnswerResponseSignal[AnswerResponseSignal["Green"] = 3] = "Green";
|
14150
|
+
AnswerResponseSignal[AnswerResponseSignal["Black"] = 4] = "Black";
|
14151
|
+
})(AnswerResponseSignal || (AnswerResponseSignal = {}));
|
14152
|
+
var ProblemKey;
|
14153
|
+
(function (ProblemKey) {
|
14154
|
+
ProblemKey[ProblemKey["TrickyProblem"] = 0] = "TrickyProblem";
|
14155
|
+
ProblemKey[ProblemKey["ProtractedProblem"] = 1] = "ProtractedProblem";
|
14156
|
+
ProblemKey[ProblemKey["GradesByTerritory"] = 2] = "GradesByTerritory";
|
14157
|
+
ProblemKey[ProblemKey["Vulnerable"] = 3] = "Vulnerable";
|
14158
|
+
})(ProblemKey || (ProblemKey = {}));
|
14159
|
+
var PrintState;
|
14160
|
+
(function (PrintState) {
|
14161
|
+
PrintState[PrintState["Default"] = 0] = "Default";
|
14162
|
+
PrintState[PrintState["Printing"] = 1] = "Printing";
|
14163
|
+
PrintState[PrintState["Pending"] = 2] = "Pending";
|
14164
|
+
PrintState[PrintState["Printed"] = 3] = "Printed";
|
14165
|
+
})(PrintState || (PrintState = {}));
|
14166
|
+
|
14566
14167
|
var GradesByTerritory = function GradesByTerritory(_ref) {
|
14567
|
-
var
|
14568
|
-
data = _ref.data,
|
14168
|
+
var data = _ref.data,
|
14569
14169
|
openProblem = _ref.openProblem,
|
14570
14170
|
changeOpen = _ref.changeOpen,
|
14571
|
-
isPrint = _ref.isPrint,
|
14572
14171
|
resultData = _ref.resultData,
|
14573
14172
|
isMyStoryStudent = _ref.isMyStoryStudent;
|
14574
14173
|
var _useTranslation = reactI18next.useTranslation(),
|
14575
14174
|
t = _useTranslation.t;
|
14576
14175
|
var formattedData = totalSolveTimeCategories(resultData, data);
|
14577
|
-
var isOpen = openProblem ===
|
14176
|
+
var isOpen = openProblem === ProblemKey.GradesByTerritory;
|
14578
14177
|
var renderTableBody = function renderTableBody(data) {
|
14579
14178
|
return data.map(function (item, index) {
|
14580
14179
|
return React__default.createElement("tr", {
|
@@ -14648,21 +14247,12 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
|
|
14648
14247
|
}))));
|
14649
14248
|
});
|
14650
14249
|
};
|
14651
|
-
var renderPrintCategories = function renderPrintCategories() {
|
14652
|
-
var chunkedCategories = _.chunk(formattedData, 10);
|
14653
|
-
return chunkedCategories.map(function (i, index) {
|
14654
|
-
return React__default.createElement("tbody", {
|
14655
|
-
key: index,
|
14656
|
-
className: PrintContentClassName
|
14657
|
-
}, isMyStoryStudent ? renderTableBody(i) : renderCategories(i));
|
14658
|
-
});
|
14659
|
-
};
|
14660
14250
|
return React__default.createElement("div", {
|
14661
|
-
className: styles$4["wrapperProblem"]
|
14251
|
+
className: "" + styles$4["wrapperProblem"]
|
14662
14252
|
}, React__default.createElement("div", {
|
14663
|
-
className: (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"])
|
14253
|
+
className: "" + (!isOpen ? styles$4["titleProblemClose"] : styles$4["titleProblem"]),
|
14664
14254
|
onClick: function onClick() {
|
14665
|
-
return changeOpen(isOpen ?
|
14255
|
+
return changeOpen === null || changeOpen === void 0 ? void 0 : changeOpen(isOpen ? undefined : ProblemKey.GradesByTerritory);
|
14666
14256
|
}
|
14667
14257
|
}, React__default.createElement(material.Typography, {
|
14668
14258
|
sx: {
|
@@ -14680,16 +14270,15 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
|
|
14680
14270
|
className: styles$4["tableCompareGrass"]
|
14681
14271
|
}, React__default.createElement("div", {
|
14682
14272
|
className: styles$4["table-responsive"]
|
14683
|
-
}, React__default.createElement(material.Table, {
|
14273
|
+
}, isMyStoryStudent && React__default.createElement(material.Table, {
|
14684
14274
|
style: {
|
14685
14275
|
width: "100%",
|
14686
14276
|
marginBottom: isMyStoryStudent ? "120px" : 0
|
14687
14277
|
}
|
14688
|
-
},
|
14278
|
+
}, React__default.createElement("thead", {
|
14689
14279
|
style: {
|
14690
14280
|
borderBottom: "1px solid #E4E7EC"
|
14691
|
-
}
|
14692
|
-
className: isPrint ? PrintHeaderClassName : ""
|
14281
|
+
}
|
14693
14282
|
}, React__default.createElement("tr", null, React__default.createElement("th", {
|
14694
14283
|
className: styles$4["thcolumn1"]
|
14695
14284
|
}, t("categories")), React__default.createElement("th", {
|
@@ -14708,8 +14297,8 @@ var GradesByTerritory = function GradesByTerritory(_ref) {
|
|
14708
14297
|
style: {
|
14709
14298
|
textAlign: "center"
|
14710
14299
|
}
|
14711
|
-
}, t("total_solve_time")))),
|
14712
|
-
className: styles$4["noData"]
|
14300
|
+
}, t("total_solve_time")))), React__default.createElement("tbody", null, renderTableBody(formattedData))), !isMyStoryStudent && renderCategories(formattedData))) : React__default.createElement("div", {
|
14301
|
+
className: "" + styles$4["noData"]
|
14713
14302
|
}, t("no_data"))));
|
14714
14303
|
};
|
14715
14304
|
|
@@ -14913,23 +14502,379 @@ var useTab = function useTab() {
|
|
14913
14502
|
};
|
14914
14503
|
};
|
14915
14504
|
|
14505
|
+
var usePrintExamResult = function usePrintExamResult(isDataFetching, fileName, totalChart, onSuccess, onError, autoPrint) {
|
14506
|
+
if (autoPrint === void 0) {
|
14507
|
+
autoPrint = false;
|
14508
|
+
}
|
14509
|
+
var contentRef = React.useRef(null);
|
14510
|
+
var _useState = React.useState([]),
|
14511
|
+
renderedCharts = _useState[0],
|
14512
|
+
setRenderedCharts = _useState[1];
|
14513
|
+
var _useTranslation = reactI18next.useTranslation(),
|
14514
|
+
t = _useTranslation.t;
|
14515
|
+
var _useState2 = React.useState(PrintState.Default),
|
14516
|
+
printState = _useState2[0],
|
14517
|
+
setPrintState = _useState2[1];
|
14518
|
+
var setRenderedChart = function setRenderedChart(chart) {
|
14519
|
+
setRenderedCharts(function (state) {
|
14520
|
+
return [].concat(state, [chart]);
|
14521
|
+
});
|
14522
|
+
};
|
14523
|
+
var reset = function reset() {
|
14524
|
+
setRenderedCharts([]);
|
14525
|
+
setPrintState(PrintState.Default);
|
14526
|
+
};
|
14527
|
+
var autoPrintPdf = function autoPrintPdf() {
|
14528
|
+
if (printState === PrintState.Printing) return;
|
14529
|
+
if (autoPrint && printState !== PrintState.Default) return;
|
14530
|
+
if (totalChart !== renderedCharts.length) {
|
14531
|
+
!autoPrint && setPrintState(PrintState.Pending);
|
14532
|
+
return;
|
14533
|
+
}
|
14534
|
+
var name = !fileName ? "Exam-Result_" + new Date().getTime() : fileName;
|
14535
|
+
if (contentRef.current && contentRef.current != null) {
|
14536
|
+
setPrintState(PrintState.Printing);
|
14537
|
+
setTimeout(function () {
|
14538
|
+
try {
|
14539
|
+
var _temp2 = function _temp2() {
|
14540
|
+
setPrintState(PrintState.Printed);
|
14541
|
+
};
|
14542
|
+
var _temp = _catch(function () {
|
14543
|
+
var element = contentRef.current;
|
14544
|
+
var options = {
|
14545
|
+
margin: 5,
|
14546
|
+
filename: name + ".pdf",
|
14547
|
+
html2canvas: {
|
14548
|
+
scale: 2
|
14549
|
+
},
|
14550
|
+
jsPDF: {
|
14551
|
+
format: 'a4',
|
14552
|
+
orientation: 'portrait'
|
14553
|
+
},
|
14554
|
+
pagebreak: {
|
14555
|
+
mode: ['avoid-all', 'css', 'legacy']
|
14556
|
+
}
|
14557
|
+
};
|
14558
|
+
return Promise.resolve(html2pdf().from(element).set(options).save()).then(function () {
|
14559
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
|
14560
|
+
});
|
14561
|
+
}, function (error) {
|
14562
|
+
!window.opener && reactToastify.toast.error(getErrorMessage(t, error));
|
14563
|
+
onError === null || onError === void 0 ? void 0 : onError(error === null || error === void 0 ? void 0 : error.message);
|
14564
|
+
});
|
14565
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
14566
|
+
} catch (e) {
|
14567
|
+
return Promise.reject(e);
|
14568
|
+
}
|
14569
|
+
}, 300);
|
14570
|
+
}
|
14571
|
+
};
|
14572
|
+
var handlePrintPdf = function handlePrintPdf() {
|
14573
|
+
autoPrintPdf();
|
14574
|
+
};
|
14575
|
+
React.useEffect(function () {
|
14576
|
+
(autoPrint || printState === PrintState.Pending) && isDataFetching === false && autoPrintPdf();
|
14577
|
+
}, [totalChart, renderedCharts.length, fileName, autoPrint, printState, isDataFetching]);
|
14578
|
+
React.useEffect(function () {
|
14579
|
+
isDataFetching && reset();
|
14580
|
+
}, [isDataFetching]);
|
14581
|
+
return {
|
14582
|
+
contentRef: contentRef,
|
14583
|
+
printState: printState,
|
14584
|
+
setRenderedChart: setRenderedChart,
|
14585
|
+
handlePrintPdf: handlePrintPdf,
|
14586
|
+
reset: reset
|
14587
|
+
};
|
14588
|
+
};
|
14589
|
+
|
14590
|
+
var printStyles = {"page-break":"_35kyG","print-exact-color":"_1PFgl","avoid-break-inside":"_3rPGh"};
|
14591
|
+
|
14592
|
+
var TimeOrderChart = function TimeOrderChart(_ref) {
|
14593
|
+
var timelyOrderQuestion = _ref.timelyOrderQuestion,
|
14594
|
+
options = _ref.options,
|
14595
|
+
series = _ref.series,
|
14596
|
+
setIsRendered = _ref.setIsRendered;
|
14597
|
+
var _useTranslation = reactI18next.useTranslation(),
|
14598
|
+
t = _useTranslation.t;
|
14599
|
+
var chartRef = React.useRef(null);
|
14600
|
+
var chartOptions = _extends({}, options, {
|
14601
|
+
chart: _extends({}, options.chart, {
|
14602
|
+
animations: {
|
14603
|
+
enabled: false
|
14604
|
+
}
|
14605
|
+
})
|
14606
|
+
});
|
14607
|
+
React.useEffect(function () {
|
14608
|
+
if (chartRef.current) {
|
14609
|
+
setIsRendered(timelyOrderQuestion.article);
|
14610
|
+
}
|
14611
|
+
}, [timelyOrderQuestion.article]);
|
14612
|
+
return React__default.createElement("div", {
|
14613
|
+
className: "" + printStyles["avoid-break-inside"]
|
14614
|
+
}, React__default.createElement(material.Typography, {
|
14615
|
+
className: "pb-2",
|
14616
|
+
sx: {
|
14617
|
+
fontSize: "14px",
|
14618
|
+
fontWeight: 700,
|
14619
|
+
color: "#414E62"
|
14620
|
+
}
|
14621
|
+
}, t("article_number"), " ", timelyOrderQuestion.article), React__default.createElement("div", {
|
14622
|
+
className: "" + styles$4["compareChart"]
|
14623
|
+
}, React__default.createElement("div", {
|
14624
|
+
className: "" + styles$4["prevChart"]
|
14625
|
+
}), React__default.createElement("div", {
|
14626
|
+
className: styles$4["chart"] + " sr-line-chart"
|
14627
|
+
}, React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
|
14628
|
+
ref: chartRef,
|
14629
|
+
height: 389,
|
14630
|
+
options: chartOptions,
|
14631
|
+
series: series
|
14632
|
+
}))), React__default.createElement("div", {
|
14633
|
+
className: "" + styles$4["nextChart"]
|
14634
|
+
})));
|
14635
|
+
};
|
14636
|
+
|
14637
|
+
var textStyle = {
|
14638
|
+
fontSize: "18px",
|
14639
|
+
fontWeight: 700,
|
14640
|
+
color: styles.gray_500
|
14641
|
+
};
|
14642
|
+
var courseNameStyle = {
|
14643
|
+
fontSize: "14px",
|
14644
|
+
fontWeight: 600,
|
14645
|
+
color: styles.less_dark
|
14646
|
+
};
|
14647
|
+
var examTitleStyle = {
|
14648
|
+
fontSize: "20px",
|
14649
|
+
fontWeight: 600,
|
14650
|
+
color: styles.darker
|
14651
|
+
};
|
14652
|
+
var studentNameStyle = {
|
14653
|
+
fontSize: "24px",
|
14654
|
+
fontWeight: 600,
|
14655
|
+
color: styles.darker,
|
14656
|
+
lineHeight: 1
|
14657
|
+
};
|
14658
|
+
var PrintExamResult = function PrintExamResult(_ref) {
|
14659
|
+
var resultData = _ref.resultData,
|
14660
|
+
examTime = _ref.examTime,
|
14661
|
+
isStudent = _ref.isStudent,
|
14662
|
+
categoryResponses = _ref.categoryResponses,
|
14663
|
+
timelyOrderQuestions = _ref.timelyOrderQuestions,
|
14664
|
+
allChartOptions = _ref.allChartOptions,
|
14665
|
+
allSeries = _ref.allSeries,
|
14666
|
+
effectSize = _ref.effectSize,
|
14667
|
+
isMyStoryStudent = _ref.isMyStoryStudent,
|
14668
|
+
longTimeSpend = _ref.longTimeSpend,
|
14669
|
+
contentRef = _ref.contentRef,
|
14670
|
+
setRenderedChart = _ref.setRenderedChart;
|
14671
|
+
var academy = reactRedux.useSelector(function (state) {
|
14672
|
+
var _state$common;
|
14673
|
+
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.academy;
|
14674
|
+
});
|
14675
|
+
return React__default.createElement(material.Box, {
|
14676
|
+
sx: {
|
14677
|
+
minWidth: "768px",
|
14678
|
+
width: "768px",
|
14679
|
+
maxWidth: "768px!important",
|
14680
|
+
background: "#FFF",
|
14681
|
+
padding: "24px",
|
14682
|
+
overflow: "auto"
|
14683
|
+
},
|
14684
|
+
id: "canvas",
|
14685
|
+
className: printStyles["print-exact-color"] + " " + printStyles["container"],
|
14686
|
+
ref: contentRef
|
14687
|
+
}, React__default.createElement(material.Grid, {
|
14688
|
+
container: true,
|
14689
|
+
marginBottom: "24px"
|
14690
|
+
}, React__default.createElement(material.Grid, {
|
14691
|
+
item: true,
|
14692
|
+
xs: 12
|
14693
|
+
}, React__default.createElement(material.Stack, {
|
14694
|
+
direction: "row",
|
14695
|
+
justifyContent: "space-between",
|
14696
|
+
flexWrap: "nowrap",
|
14697
|
+
spacing: 1,
|
14698
|
+
marginBottom: "12px"
|
14699
|
+
}, React__default.createElement(material.Stack, {
|
14700
|
+
direction: "column"
|
14701
|
+
}, React__default.createElement(material.Typography, {
|
14702
|
+
sx: studentNameStyle
|
14703
|
+
}, resultData.student.fullName), React__default.createElement(material.Typography, {
|
14704
|
+
sx: {
|
14705
|
+
fontSize: "16px",
|
14706
|
+
fontWeight: 600,
|
14707
|
+
color: styles.gray_500
|
14708
|
+
}
|
14709
|
+
}, resultData.student.email)), academy && React__default.createElement(material.Typography, {
|
14710
|
+
sx: _extends({}, studentNameStyle, {
|
14711
|
+
textAlign: "end"
|
14712
|
+
})
|
14713
|
+
}, academy.name)), resultData.courseName && React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
14714
|
+
sx: courseNameStyle
|
14715
|
+
}, resultData.courseName)), React__default.createElement(material.Box, {
|
14716
|
+
display: "flex",
|
14717
|
+
gap: "16px",
|
14718
|
+
flexDirection: "column"
|
14719
|
+
}, React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
14720
|
+
sx: examTitleStyle
|
14721
|
+
}, resultData.title)), React__default.createElement(material.Stack, {
|
14722
|
+
flexDirection: "row",
|
14723
|
+
gap: "16px"
|
14724
|
+
}, React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
14725
|
+
sx: {
|
14726
|
+
fontSize: "13px",
|
14727
|
+
fontWeight: 600,
|
14728
|
+
color: styles.gray_500
|
14729
|
+
}
|
14730
|
+
}, i18n.t("my_score")), React__default.createElement(material.Typography, {
|
14731
|
+
sx: {
|
14732
|
+
fontSize: "14px",
|
14733
|
+
fontWeight: 600,
|
14734
|
+
color: styles.darker
|
14735
|
+
}
|
14736
|
+
}, i18n.t("score_format", {
|
14737
|
+
score: resultData === null || resultData === void 0 ? void 0 : resultData.score
|
14738
|
+
}))), React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
14739
|
+
sx: {
|
14740
|
+
fontSize: "13px",
|
14741
|
+
fontWeight: 600,
|
14742
|
+
color: styles.gray_500
|
14743
|
+
}
|
14744
|
+
}, i18n.t("exam_date")), React__default.createElement(material.Typography, {
|
14745
|
+
sx: {
|
14746
|
+
fontSize: "14px",
|
14747
|
+
fontWeight: 600,
|
14748
|
+
color: styles.gray_700
|
14749
|
+
}
|
14750
|
+
}, utcToLocalTime(resultData === null || resultData === void 0 ? void 0 : resultData.startTime, i18n.t("date_format")))), React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
14751
|
+
sx: {
|
14752
|
+
fontSize: "13px",
|
14753
|
+
fontWeight: 600,
|
14754
|
+
color: styles.gray_500
|
14755
|
+
}
|
14756
|
+
}, i18n.t("exam_time")), React__default.createElement(material.Typography, {
|
14757
|
+
sx: {
|
14758
|
+
fontSize: "14px",
|
14759
|
+
fontWeight: 600,
|
14760
|
+
color: styles.gray_700
|
14761
|
+
}
|
14762
|
+
}, examTime)), React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
14763
|
+
sx: {
|
14764
|
+
fontSize: "13px",
|
14765
|
+
fontWeight: 600,
|
14766
|
+
color: styles.gray_500
|
14767
|
+
}
|
14768
|
+
}, i18n.t("total_students")), React__default.createElement(material.Typography, {
|
14769
|
+
sx: {
|
14770
|
+
fontSize: "14px",
|
14771
|
+
fontWeight: 600,
|
14772
|
+
color: styles.gray_700
|
14773
|
+
}
|
14774
|
+
}, i18n.t("number_people", {
|
14775
|
+
number: resultData === null || resultData === void 0 ? void 0 : resultData.totalStudent
|
14776
|
+
}))), React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
14777
|
+
sx: {
|
14778
|
+
fontSize: "13px",
|
14779
|
+
fontWeight: 600,
|
14780
|
+
color: styles.gray_500
|
14781
|
+
}
|
14782
|
+
}, i18n.t("teacher_in_charge")), React__default.createElement(material.Typography, {
|
14783
|
+
sx: {
|
14784
|
+
fontSize: "14px",
|
14785
|
+
fontWeight: 600,
|
14786
|
+
color: styles.gray_700
|
14787
|
+
}
|
14788
|
+
}, resultData === null || resultData === void 0 ? void 0 : resultData.teacherName)))))), React__default.createElement(material.Stack, {
|
14789
|
+
display: "flex",
|
14790
|
+
flexDirection: "column",
|
14791
|
+
gap: "12px"
|
14792
|
+
}, React__default.createElement(material.Typography, {
|
14793
|
+
sx: textStyle
|
14794
|
+
}, i18n.t(TabList[0].label)), React__default.createElement(MyAnswer, {
|
14795
|
+
data: resultData,
|
14796
|
+
categories: categoryResponses,
|
14797
|
+
isStudent: isStudent
|
14798
|
+
})), React__default.createElement(material.Stack, {
|
14799
|
+
display: "flex",
|
14800
|
+
flexDirection: "column",
|
14801
|
+
gap: "12px",
|
14802
|
+
marginTop: "24px"
|
14803
|
+
}, React__default.createElement(material.Typography, {
|
14804
|
+
sx: textStyle
|
14805
|
+
}, i18n.t(TabList[1].label)), timelyOrderQuestions.map(function (timelyOrderQuestion, index) {
|
14806
|
+
return React__default.createElement(TimeOrderChart, {
|
14807
|
+
key: index,
|
14808
|
+
timelyOrderQuestion: timelyOrderQuestion,
|
14809
|
+
options: allChartOptions[index],
|
14810
|
+
series: allSeries[index],
|
14811
|
+
setIsRendered: setRenderedChart
|
14812
|
+
});
|
14813
|
+
})), React__default.createElement(material.Stack, {
|
14814
|
+
display: "flex",
|
14815
|
+
flexDirection: "column",
|
14816
|
+
gap: "12px",
|
14817
|
+
marginTop: "24px"
|
14818
|
+
}, React__default.createElement(material.Typography, {
|
14819
|
+
sx: textStyle
|
14820
|
+
}, i18n.t(TabList[2].label)), React__default.createElement(CompareGrass, {
|
14821
|
+
effectSize: effectSize
|
14822
|
+
})), React__default.createElement(material.Stack, {
|
14823
|
+
display: "flex",
|
14824
|
+
flexDirection: "column",
|
14825
|
+
gap: "12px",
|
14826
|
+
marginTop: "24px"
|
14827
|
+
}, React__default.createElement(material.Typography, {
|
14828
|
+
sx: textStyle
|
14829
|
+
}, i18n.t(TabList[3].label)), React__default.createElement(TrickyProblem, {
|
14830
|
+
keyOpen: ProblemKey.TrickyProblem,
|
14831
|
+
data: resultData,
|
14832
|
+
openProblem: ProblemKey.TrickyProblem
|
14833
|
+
}), React__default.createElement(Vulnerable, {
|
14834
|
+
keyOpen: ProblemKey.Vulnerable,
|
14835
|
+
data: resultData,
|
14836
|
+
openProblem: ProblemKey.Vulnerable,
|
14837
|
+
isMyStoryStudent: isMyStoryStudent
|
14838
|
+
}), React__default.createElement(ProtractedProblem, {
|
14839
|
+
keyOpen: ProblemKey.ProtractedProblem,
|
14840
|
+
data: longTimeSpend,
|
14841
|
+
openProblem: ProblemKey.ProtractedProblem,
|
14842
|
+
isMyStoryStudent: isMyStoryStudent
|
14843
|
+
}), React__default.createElement(GradesByTerritory, {
|
14844
|
+
data: categoryResponses,
|
14845
|
+
resultData: resultData,
|
14846
|
+
openProblem: ProblemKey.GradesByTerritory,
|
14847
|
+
isMyStoryStudent: isMyStoryStudent
|
14848
|
+
})));
|
14849
|
+
};
|
14850
|
+
|
14916
14851
|
var ExamResultV2 = function ExamResultV2(_ref) {
|
14917
14852
|
var searchParams = _ref.searchParams,
|
14918
14853
|
history = _ref.history,
|
14919
|
-
examSessionId = _ref.examSessionId,
|
14920
|
-
|
14854
|
+
_ref$examSessionId = _ref.examSessionId,
|
14855
|
+
examSessionId = _ref$examSessionId === void 0 ? 0 : _ref$examSessionId,
|
14856
|
+
_ref$studentId = _ref.studentId,
|
14857
|
+
studentId = _ref$studentId === void 0 ? 0 : _ref$studentId,
|
14921
14858
|
code = _ref.code,
|
14922
14859
|
isMyStoryStudent = _ref.isMyStoryStudent;
|
14923
14860
|
var _useTab = useTab(),
|
14924
14861
|
selected = _useTab.selected,
|
14925
14862
|
handleChangeTab = _useTab.handleChangeTab;
|
14926
|
-
var _useExamResult = useExamResult(
|
14863
|
+
var _useExamResult = useExamResult({
|
14864
|
+
searchParams: searchParams,
|
14865
|
+
history: history,
|
14866
|
+
examSessionId: examSessionId,
|
14867
|
+
studentId: studentId,
|
14868
|
+
code: code,
|
14869
|
+
handleChangeTab: handleChangeTab,
|
14870
|
+
selectedTab: selected
|
14871
|
+
}),
|
14927
14872
|
isLoading = _useExamResult.isLoading,
|
14928
14873
|
examTime = _useExamResult.examTime,
|
14929
14874
|
series = _useExamResult.series,
|
14930
14875
|
allSeries = _useExamResult.allSeries,
|
14931
|
-
chartOptions = _useExamResult.chartOptions,
|
14932
14876
|
allChartOptions = _useExamResult.allChartOptions,
|
14877
|
+
chartOptions = _useExamResult.chartOptions,
|
14933
14878
|
dataChartIndex = _useExamResult.dataChartIndex,
|
14934
14879
|
timelyOrderQuestions = _useExamResult.timelyOrderQuestions,
|
14935
14880
|
isStudent = _useExamResult.isStudent,
|
@@ -14938,7 +14883,6 @@ var ExamResultV2 = function ExamResultV2(_ref) {
|
|
14938
14883
|
longTimeSpend = _useExamResult.longTimeSpend,
|
14939
14884
|
effectSize = _useExamResult.effectSize,
|
14940
14885
|
categoryResponses = _useExamResult.categoryResponses,
|
14941
|
-
handleExportPdf = _useExamResult.handleExportPdf,
|
14942
14886
|
setOpenProblem = _useExamResult.setOpenProblem,
|
14943
14887
|
handlePrevChart = _useExamResult.handlePrevChart,
|
14944
14888
|
handleNextChart = _useExamResult.handleNextChart;
|
@@ -14948,9 +14892,15 @@ var ExamResultV2 = function ExamResultV2(_ref) {
|
|
14948
14892
|
handleCreateQuestion = _useCreateQuestionDia.handleCreateQuestion,
|
14949
14893
|
openCreateQuestionDialog = _useCreateQuestionDia.openCreateQuestionDialog,
|
14950
14894
|
toggleCreateQuestion = _useCreateQuestionDia.toggleCreateQuestion;
|
14895
|
+
var fileName = !resultData ? "" : "Exam-Result_" + resultData.student.fullName + "_" + resultData.title + "_(" + utcToLocalTime(resultData.startTime, "MM-DD-YYYY HH:mm") + ")";
|
14896
|
+
var _usePrintExamResult = usePrintExamResult(isLoading, fileName, timelyOrderQuestions.length),
|
14897
|
+
contentRef = _usePrintExamResult.contentRef,
|
14898
|
+
printState = _usePrintExamResult.printState,
|
14899
|
+
handlePrintPdf = _usePrintExamResult.handlePrintPdf,
|
14900
|
+
setRenderedChart = _usePrintExamResult.setRenderedChart;
|
14951
14901
|
var isTabletUp = material.useMediaQuery('(min-width:900px)');
|
14952
14902
|
return React__default.createElement(React.Fragment, null, React__default.createElement(LoadingComponent, {
|
14953
|
-
isLoading: isLoading
|
14903
|
+
isLoading: !!isLoading
|
14954
14904
|
}), timelyOrderQuestions[dataChartIndex] && longTimeSpend && resultData && effectSize ? React__default.createElement("div", {
|
14955
14905
|
style: {
|
14956
14906
|
width: "100%"
|
@@ -15066,7 +15016,7 @@ var ExamResultV2 = function ExamResultV2(_ref) {
|
|
15066
15016
|
className: styles$4["pdfBtnBox"]
|
15067
15017
|
}, React__default.createElement("button", {
|
15068
15018
|
className: styles$4["pdfBtn"] + " " + styles["truncate"],
|
15069
|
-
onClick:
|
15019
|
+
onClick: handlePrintPdf
|
15070
15020
|
}, React__default.createElement(iconPrintFill, null), React__default.createElement("p", null, t("print_all"))))))), React__default.createElement(material.Grid, {
|
15071
15021
|
item: true,
|
15072
15022
|
xs: 12
|
@@ -15112,7 +15062,7 @@ var ExamResultV2 = function ExamResultV2(_ref) {
|
|
15112
15062
|
className: styles$4["pdfBtnBox"]
|
15113
15063
|
}, React__default.createElement("button", {
|
15114
15064
|
className: styles$4["pdfBtn"] + " " + styles["truncate"],
|
15115
|
-
onClick:
|
15065
|
+
onClick: handlePrintPdf
|
15116
15066
|
}, React__default.createElement(iconPrintFill, null), React__default.createElement("p", null, t("print"))))))), React__default.createElement(material.Grid, {
|
15117
15067
|
item: true,
|
15118
15068
|
xs: 12
|
@@ -15149,240 +15099,54 @@ var ExamResultV2 = function ExamResultV2(_ref) {
|
|
15149
15099
|
value: selected,
|
15150
15100
|
index: 3
|
15151
15101
|
}, React__default.createElement(TrickyProblem, {
|
15152
|
-
keyOpen:
|
15102
|
+
keyOpen: ProblemKey.TrickyProblem,
|
15153
15103
|
data: resultData,
|
15154
15104
|
openProblem: openProblem,
|
15155
15105
|
changeOpen: setOpenProblem
|
15156
15106
|
}), React__default.createElement(Vulnerable, {
|
15157
|
-
keyOpen:
|
15107
|
+
keyOpen: ProblemKey.Vulnerable,
|
15158
15108
|
data: resultData,
|
15159
15109
|
openProblem: openProblem,
|
15160
15110
|
changeOpen: setOpenProblem,
|
15161
15111
|
isMyStoryStudent: isMyStoryStudent
|
15162
15112
|
}), React__default.createElement(ProtractedProblem, {
|
15163
|
-
keyOpen:
|
15113
|
+
keyOpen: ProblemKey.ProtractedProblem,
|
15164
15114
|
data: longTimeSpend,
|
15165
15115
|
openProblem: openProblem,
|
15166
15116
|
changeOpen: setOpenProblem,
|
15167
15117
|
isMyStoryStudent: isMyStoryStudent
|
15168
15118
|
}), React__default.createElement(GradesByTerritory, {
|
15169
|
-
keyOpen: "GradesByTerritory",
|
15170
15119
|
data: categoryResponses,
|
15171
15120
|
resultData: resultData,
|
15172
15121
|
openProblem: openProblem,
|
15173
15122
|
isMyStoryStudent: isMyStoryStudent,
|
15174
15123
|
changeOpen: setOpenProblem
|
15175
|
-
}))), React__default.createElement(material.Grid, {
|
15176
|
-
item: true,
|
15177
|
-
xs: 12,
|
15178
|
-
className: "position-absolute",
|
15179
|
-
sx: {
|
15180
|
-
zIndex: -1,
|
15181
|
-
width: "1024px"
|
15182
|
-
},
|
15183
|
-
id: "canvas"
|
15184
|
-
}, React__default.createElement(material.Grid, {
|
15185
|
-
container: true,
|
15186
|
-
padding: "24px",
|
15187
|
-
id: "header-canvas"
|
15188
|
-
}, React__default.createElement(material.Grid, {
|
15189
|
-
item: true
|
15190
|
-
}, resultData.courseName && React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
15191
|
-
sx: {
|
15192
|
-
fontSize: "14px",
|
15193
|
-
fontWeight: 600,
|
15194
|
-
color: styles.less_dark
|
15195
|
-
}
|
15196
|
-
}, resultData.courseName)), React__default.createElement(material.Box, {
|
15197
|
-
display: "flex",
|
15198
|
-
gap: "16px",
|
15199
|
-
flexDirection: "column"
|
15200
|
-
}, React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
15201
|
-
sx: {
|
15202
|
-
fontSize: "20px",
|
15203
|
-
fontWeight: 600,
|
15204
|
-
color: styles.darker
|
15205
|
-
}
|
15206
|
-
}, resultData.title)), React__default.createElement(material.Stack, {
|
15207
|
-
flexDirection: "row",
|
15208
|
-
gap: "16px"
|
15209
|
-
}, React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
15210
|
-
sx: {
|
15211
|
-
fontSize: "13px",
|
15212
|
-
fontWeight: 600,
|
15213
|
-
color: styles.gray_500
|
15214
|
-
}
|
15215
|
-
}, t("my_score")), React__default.createElement(material.Typography, {
|
15216
|
-
sx: {
|
15217
|
-
fontSize: "14px",
|
15218
|
-
fontWeight: 600,
|
15219
|
-
color: styles.darker
|
15220
|
-
}
|
15221
|
-
}, t("score_format", {
|
15222
|
-
score: resultData === null || resultData === void 0 ? void 0 : resultData.score
|
15223
|
-
}))), React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
15224
|
-
sx: {
|
15225
|
-
fontSize: "13px",
|
15226
|
-
fontWeight: 600,
|
15227
|
-
color: styles.gray_500
|
15228
|
-
}
|
15229
|
-
}, t("exam_date")), React__default.createElement(material.Typography, {
|
15230
|
-
sx: {
|
15231
|
-
fontSize: "14px",
|
15232
|
-
fontWeight: 600,
|
15233
|
-
color: styles.gray_700
|
15234
|
-
}
|
15235
|
-
}, utcToLocalTime(resultData === null || resultData === void 0 ? void 0 : resultData.startTime, t("date_format")))), React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
15236
|
-
sx: {
|
15237
|
-
fontSize: "13px",
|
15238
|
-
fontWeight: 600,
|
15239
|
-
color: styles.gray_500
|
15240
|
-
}
|
15241
|
-
}, t("exam_time")), React__default.createElement(material.Typography, {
|
15242
|
-
sx: {
|
15243
|
-
fontSize: "14px",
|
15244
|
-
fontWeight: 600,
|
15245
|
-
color: styles.gray_700
|
15246
|
-
}
|
15247
|
-
}, examTime)), React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
15248
|
-
sx: {
|
15249
|
-
fontSize: "13px",
|
15250
|
-
fontWeight: 600,
|
15251
|
-
color: styles.gray_500
|
15252
|
-
}
|
15253
|
-
}, t("total_students")), React__default.createElement(material.Typography, {
|
15254
|
-
sx: {
|
15255
|
-
fontSize: "14px",
|
15256
|
-
fontWeight: 600,
|
15257
|
-
color: styles.gray_700
|
15258
|
-
}
|
15259
|
-
}, t("number_people", {
|
15260
|
-
number: resultData === null || resultData === void 0 ? void 0 : resultData.totalStudent
|
15261
|
-
}))), React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
|
15262
|
-
sx: {
|
15263
|
-
fontSize: "13px",
|
15264
|
-
fontWeight: 600,
|
15265
|
-
color: styles.gray_500
|
15266
|
-
}
|
15267
|
-
}, t("teacher_in_charge")), React__default.createElement(material.Typography, {
|
15268
|
-
sx: {
|
15269
|
-
fontSize: "14px",
|
15270
|
-
fontWeight: 600,
|
15271
|
-
color: styles.gray_700
|
15272
|
-
}
|
15273
|
-
}, resultData === null || resultData === void 0 ? void 0 : resultData.teacherName)))))), React__default.createElement(material.Stack, {
|
15274
|
-
display: "flex",
|
15275
|
-
flexDirection: "column",
|
15276
|
-
gap: "12px"
|
15277
|
-
}, React__default.createElement(material.Typography, {
|
15278
|
-
className: "chart-title",
|
15279
|
-
sx: {
|
15280
|
-
fontSize: "18px",
|
15281
|
-
fontWeight: 700,
|
15282
|
-
color: styles.gray_500
|
15283
|
-
}
|
15284
|
-
}, t(TabList[0].label)), React__default.createElement(MyAnswer, {
|
15285
|
-
data: resultData,
|
15286
|
-
categories: categoryResponses,
|
15287
|
-
isStudent: isStudent,
|
15288
|
-
isPrint: true
|
15289
|
-
})), React__default.createElement(material.Stack, {
|
15290
|
-
display: "flex",
|
15291
|
-
flexDirection: "column",
|
15292
|
-
gap: "12px",
|
15293
|
-
marginTop: "24px"
|
15294
|
-
}, React__default.createElement(material.Typography, {
|
15295
|
-
className: "chart-title",
|
15296
|
-
sx: {
|
15297
|
-
fontSize: "18px",
|
15298
|
-
fontWeight: 700,
|
15299
|
-
color: styles.gray_500
|
15300
|
-
}
|
15301
|
-
}, t(TabList[1].label)), timelyOrderQuestions.map(function (timelyOrderQuestion, index) {
|
15302
|
-
return React__default.createElement("div", {
|
15303
|
-
key: index,
|
15304
|
-
className: PrintContainerClassName
|
15305
|
-
}, React__default.createElement(material.Typography, {
|
15306
|
-
className: "pb-2 " + PrintHeaderClassName,
|
15307
|
-
sx: {
|
15308
|
-
fontSize: "14px",
|
15309
|
-
fontWeight: 700,
|
15310
|
-
color: "#414E62"
|
15311
|
-
}
|
15312
|
-
}, t("article_number"), " ", timelyOrderQuestion.article), React__default.createElement("div", {
|
15313
|
-
className: styles$4["compareChart"] + " " + PrintContentClassName
|
15314
|
-
}, React__default.createElement("div", {
|
15315
|
-
className: "" + styles$4["prevChart"]
|
15316
|
-
}), React__default.createElement("div", {
|
15317
|
-
className: styles$4["chart"] + " sr-line-chart"
|
15318
|
-
}, React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
|
15319
|
-
height: 389,
|
15320
|
-
options: allChartOptions[index],
|
15321
|
-
series: allSeries[index]
|
15322
|
-
}))), React__default.createElement("div", {
|
15323
|
-
className: "" + styles$4["nextChart"]
|
15324
|
-
})));
|
15325
|
-
})), React__default.createElement(material.Stack, {
|
15326
|
-
display: "flex",
|
15327
|
-
flexDirection: "column",
|
15328
|
-
gap: "12px",
|
15329
|
-
marginTop: "24px"
|
15330
|
-
}, React__default.createElement(material.Typography, {
|
15331
|
-
className: "chart-title",
|
15332
|
-
sx: {
|
15333
|
-
fontSize: "18px",
|
15334
|
-
fontWeight: 700,
|
15335
|
-
color: styles.gray_500
|
15336
|
-
}
|
15337
|
-
}, t(TabList[2].label)), React__default.createElement(CompareGrass, {
|
15338
|
-
effectSize: effectSize,
|
15339
|
-
isPrint: true
|
15340
|
-
})), React__default.createElement(material.Stack, {
|
15341
|
-
display: "flex",
|
15342
|
-
flexDirection: "column",
|
15343
|
-
gap: "12px",
|
15344
|
-
marginTop: "24px"
|
15345
|
-
}, React__default.createElement(material.Typography, {
|
15346
|
-
className: "chart-title",
|
15347
|
-
sx: {
|
15348
|
-
fontSize: "18px",
|
15349
|
-
fontWeight: 700,
|
15350
|
-
color: styles.gray_500
|
15351
|
-
}
|
15352
|
-
}, t(TabList[3].label)), React__default.createElement(TrickyProblem, {
|
15353
|
-
keyOpen: "TrickyProblem",
|
15354
|
-
data: resultData,
|
15355
|
-
openProblem: "TrickyProblem",
|
15356
|
-
changeOpen: setOpenProblem,
|
15357
|
-
isPrint: true
|
15358
|
-
}), React__default.createElement(Vulnerable, {
|
15359
|
-
keyOpen: "Vulnerable",
|
15360
|
-
data: resultData,
|
15361
|
-
openProblem: "Vulnerable",
|
15362
|
-
changeOpen: setOpenProblem,
|
15363
|
-
isMyStoryStudent: isMyStoryStudent,
|
15364
|
-
isPrint: true
|
15365
|
-
}), React__default.createElement(ProtractedProblem, {
|
15366
|
-
keyOpen: "ProtractedProblem",
|
15367
|
-
data: longTimeSpend,
|
15368
|
-
openProblem: "ProtractedProblem",
|
15369
|
-
changeOpen: setOpenProblem,
|
15370
|
-
isPrint: true,
|
15371
|
-
isMyStoryStudent: isMyStoryStudent
|
15372
|
-
}), React__default.createElement(GradesByTerritory, {
|
15373
|
-
keyOpen: "GradesByTerritory",
|
15374
|
-
data: categoryResponses,
|
15375
|
-
resultData: resultData,
|
15376
|
-
openProblem: "GradesByTerritory",
|
15377
|
-
changeOpen: setOpenProblem,
|
15378
|
-
isPrint: true,
|
15379
|
-
isMyStoryStudent: isMyStoryStudent
|
15380
15124
|
})))), React__default.createElement(CreateNewQuestionDialog$1, {
|
15381
15125
|
examSessionId: resultData === null || resultData === void 0 ? void 0 : resultData.examSessionId,
|
15382
15126
|
handleCreateQuestion: handleCreateQuestion,
|
15383
15127
|
openCreateQuestionDialog: openCreateQuestionDialog,
|
15384
15128
|
toggleCreateQuestion: toggleCreateQuestion
|
15385
|
-
})
|
15129
|
+
}), isLoading === false && React__default.createElement(material.Box, {
|
15130
|
+
width: 0,
|
15131
|
+
height: 0,
|
15132
|
+
overflow: "hidden"
|
15133
|
+
}, React__default.createElement(PrintExamResult, {
|
15134
|
+
contentRef: contentRef,
|
15135
|
+
allChartOptions: allChartOptions,
|
15136
|
+
allSeries: allSeries,
|
15137
|
+
categoryResponses: categoryResponses,
|
15138
|
+
effectSize: effectSize,
|
15139
|
+
examTime: examTime,
|
15140
|
+
isStudent: isStudent,
|
15141
|
+
longTimeSpend: longTimeSpend,
|
15142
|
+
resultData: resultData,
|
15143
|
+
timelyOrderQuestions: timelyOrderQuestions,
|
15144
|
+
isMyStoryStudent: isMyStoryStudent,
|
15145
|
+
fileName: fileName,
|
15146
|
+
setRenderedChart: setRenderedChart
|
15147
|
+
}))) : React__default.createElement(React.Fragment, null), React__default.createElement(LoadingComponent, {
|
15148
|
+
isLoading: printState === PrintState.Pending || printState === PrintState.Printing
|
15149
|
+
}));
|
15386
15150
|
};
|
15387
15151
|
|
15388
15152
|
var RecentUserActionSortBy;
|
@@ -16661,6 +16425,136 @@ var useVirtualizeList = function useVirtualizeList(totalItems, rowHeight, offset
|
|
16661
16425
|
};
|
16662
16426
|
};
|
16663
16427
|
|
16428
|
+
var usePrintView = function usePrintView(examSessionId, studentId, setNotFound, resultData, isLoading, errorMessage) {
|
16429
|
+
var _useState = React.useState(false),
|
16430
|
+
isDone = _useState[0],
|
16431
|
+
setDone = _useState[1];
|
16432
|
+
var handelPrintSuccess = function handelPrintSuccess() {
|
16433
|
+
var _window$opener$postMe, _window$opener;
|
16434
|
+
var data = {
|
16435
|
+
examSessionId: examSessionId,
|
16436
|
+
studentId: studentId,
|
16437
|
+
succeed: true
|
16438
|
+
};
|
16439
|
+
if (window.opener && !window.opener.closed) (_window$opener$postMe = (_window$opener = window.opener).postMessage) === null || _window$opener$postMe === void 0 ? void 0 : _window$opener$postMe.call(_window$opener, data, window.location.origin);
|
16440
|
+
setDone(true);
|
16441
|
+
};
|
16442
|
+
var handelPrintError = function handelPrintError(errorMessage) {
|
16443
|
+
var _window$opener$postMe2, _window$opener2;
|
16444
|
+
var data = {
|
16445
|
+
examSessionId: examSessionId,
|
16446
|
+
studentId: studentId,
|
16447
|
+
succeed: false,
|
16448
|
+
errorMessage: errorMessage
|
16449
|
+
};
|
16450
|
+
if (window.opener && !window.opener.closed) (_window$opener$postMe2 = (_window$opener2 = window.opener).postMessage) === null || _window$opener$postMe2 === void 0 ? void 0 : _window$opener$postMe2.call(_window$opener2, data, window.location.origin);
|
16451
|
+
setDone(true);
|
16452
|
+
};
|
16453
|
+
var fileName = !resultData ? "" : "Exam-Result_" + resultData.student.fullName + "_" + resultData.title + "_(" + utcToLocalTime(resultData.startTime, "MM-DD-YYYY HH:mm") + ")";
|
16454
|
+
React.useEffect(function () {
|
16455
|
+
setNotFound === null || setNotFound === void 0 ? void 0 : setNotFound(isLoading === false && !!errorMessage);
|
16456
|
+
if (isLoading === false && !!errorMessage) handelPrintError(errorMessage);
|
16457
|
+
}, [isLoading, errorMessage]);
|
16458
|
+
return {
|
16459
|
+
fileName: fileName,
|
16460
|
+
isDone: isDone,
|
16461
|
+
handelPrintSuccess: handelPrintSuccess,
|
16462
|
+
handelPrintError: handelPrintError
|
16463
|
+
};
|
16464
|
+
};
|
16465
|
+
|
16466
|
+
var LoadingDots = function LoadingDots(_ref) {
|
16467
|
+
var text = _ref.text;
|
16468
|
+
return React__default.createElement(material.Stack, {
|
16469
|
+
className: "mt-3",
|
16470
|
+
direction: "row",
|
16471
|
+
spacing: 0.5
|
16472
|
+
}, React__default.createElement(material.Typography, {
|
16473
|
+
color: "#FFF",
|
16474
|
+
fontSize: 20
|
16475
|
+
}, text), React__default.createElement("div", {
|
16476
|
+
className: styles$4["loader"]
|
16477
|
+
}, React__default.createElement("div", {
|
16478
|
+
className: styles$4["dot"]
|
16479
|
+
}), React__default.createElement("div", {
|
16480
|
+
className: styles$4["dot"]
|
16481
|
+
}), React__default.createElement("div", {
|
16482
|
+
className: styles$4["dot"]
|
16483
|
+
})));
|
16484
|
+
};
|
16485
|
+
|
16486
|
+
var PrintExamResultView = function PrintExamResultView(_ref) {
|
16487
|
+
var isMyStoryStudent = _ref.isMyStoryStudent,
|
16488
|
+
_ref$searchParams = _ref.searchParams,
|
16489
|
+
searchParams = _ref$searchParams === void 0 ? "" : _ref$searchParams,
|
16490
|
+
history = _ref.history,
|
16491
|
+
_ref$examSessionId = _ref.examSessionId,
|
16492
|
+
examSessionId = _ref$examSessionId === void 0 ? 0 : _ref$examSessionId,
|
16493
|
+
_ref$studentId = _ref.studentId,
|
16494
|
+
studentId = _ref$studentId === void 0 ? 0 : _ref$studentId,
|
16495
|
+
code = _ref.code,
|
16496
|
+
setNotFound = _ref.setNotFound;
|
16497
|
+
var _useExamResult = useExamResult({
|
16498
|
+
searchParams: searchParams,
|
16499
|
+
history: history,
|
16500
|
+
examSessionId: examSessionId,
|
16501
|
+
studentId: studentId,
|
16502
|
+
code: code,
|
16503
|
+
isPrint: true
|
16504
|
+
}),
|
16505
|
+
isLoading = _useExamResult.isLoading,
|
16506
|
+
examTime = _useExamResult.examTime,
|
16507
|
+
allSeries = _useExamResult.allSeries,
|
16508
|
+
allChartOptions = _useExamResult.allChartOptions,
|
16509
|
+
timelyOrderQuestions = _useExamResult.timelyOrderQuestions,
|
16510
|
+
isStudent = _useExamResult.isStudent,
|
16511
|
+
resultData = _useExamResult.resultData,
|
16512
|
+
longTimeSpend = _useExamResult.longTimeSpend,
|
16513
|
+
effectSize = _useExamResult.effectSize,
|
16514
|
+
categoryResponses = _useExamResult.categoryResponses,
|
16515
|
+
errorMessage = _useExamResult.errorMessage;
|
16516
|
+
var _usePrintView = usePrintView(examSessionId, studentId, setNotFound, resultData, isLoading, errorMessage),
|
16517
|
+
fileName = _usePrintView.fileName,
|
16518
|
+
isDone = _usePrintView.isDone,
|
16519
|
+
handelPrintSuccess = _usePrintView.handelPrintSuccess,
|
16520
|
+
handelPrintError = _usePrintView.handelPrintError;
|
16521
|
+
var _usePrintExamResult = usePrintExamResult(isLoading, fileName, timelyOrderQuestions.length, handelPrintSuccess, handelPrintError, true),
|
16522
|
+
contentRef = _usePrintExamResult.contentRef,
|
16523
|
+
setRenderedChart = _usePrintExamResult.setRenderedChart;
|
16524
|
+
var isTabletUp = material.useMediaQuery("(min-width:900px)");
|
16525
|
+
return React__default.createElement(material.Box, {
|
16526
|
+
sx: {
|
16527
|
+
display: "flex",
|
16528
|
+
justifyContent: "center"
|
16529
|
+
},
|
16530
|
+
displayPrint: "block"
|
16531
|
+
}, isLoading === false && resultData && effectSize ? React__default.createElement(PrintExamResult, {
|
16532
|
+
contentRef: contentRef,
|
16533
|
+
allChartOptions: allChartOptions,
|
16534
|
+
allSeries: allSeries,
|
16535
|
+
categoryResponses: categoryResponses,
|
16536
|
+
effectSize: effectSize,
|
16537
|
+
examTime: examTime,
|
16538
|
+
isStudent: isStudent,
|
16539
|
+
longTimeSpend: longTimeSpend,
|
16540
|
+
resultData: resultData,
|
16541
|
+
timelyOrderQuestions: timelyOrderQuestions,
|
16542
|
+
isMyStoryStudent: isMyStoryStudent,
|
16543
|
+
fileName: fileName,
|
16544
|
+
setRenderedChart: setRenderedChart
|
16545
|
+
}) : isLoading === undefined || isLoading === true ? React__default.createElement(LoadingComponent, {
|
16546
|
+
isLoading: !!isLoading,
|
16547
|
+
spinClassName: "text-white"
|
16548
|
+
}, isTabletUp && React__default.createElement(LoadingDots, {
|
16549
|
+
text: "Loading data"
|
16550
|
+
})) : React__default.createElement(NotFound, null), React__default.createElement(LoadingComponent, {
|
16551
|
+
isLoading: isDone !== true && isLoading === false && !!resultData,
|
16552
|
+
spinClassName: "text-white"
|
16553
|
+
}, isTabletUp && React__default.createElement(LoadingDots, {
|
16554
|
+
text: "Please wait for a while! Printing"
|
16555
|
+
})));
|
16556
|
+
};
|
16557
|
+
|
16664
16558
|
exports.moment = moment;
|
16665
16559
|
Object.defineProperty(exports, 'I18nextProvider', {
|
16666
16560
|
enumerable: true,
|
@@ -16724,6 +16618,7 @@ exports.LoginWithPassword = SignIn;
|
|
16724
16618
|
exports.NotFound = NotFound;
|
16725
16619
|
exports.PUSHER_CONFIG = PUSHER_CONFIG;
|
16726
16620
|
exports.PassCodeCheck = PassCodeCheck;
|
16621
|
+
exports.PrintExamResultView = PrintExamResultView;
|
16727
16622
|
exports.QuestionCountSelector = QuestionCountSelector;
|
16728
16623
|
exports.RecentUserAction = RecentUserAction;
|
16729
16624
|
exports.SUPER_ADMIN_BASE_URL = SUPER_ADMIN_BASE_URL;
|
@@ -16747,7 +16642,7 @@ exports.getAccessToken = getAccessToken;
|
|
16747
16642
|
exports.getErrorMessage = getErrorMessage;
|
16748
16643
|
exports.getOrdinalSuffix = getOrdinalSuffix;
|
16749
16644
|
exports.getRecentUserActionListApi = getRecentUserActionListApi;
|
16750
|
-
exports.i18n =
|
16645
|
+
exports.i18n = i18n__default;
|
16751
16646
|
exports.minutesToTimeSpan = minutesToTimeSpan;
|
16752
16647
|
exports.setAlert = setAlert;
|
16753
16648
|
exports.setLanguage = setLanguage;
|