touchstudy-core 0.1.38 → 0.1.40

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/index.js CHANGED
@@ -94,12 +94,15 @@ var encodeParams = function encodeParams(params) {
94
94
  return encodeURIComponent(key) + "=" + encodeURIComponent(params[key]);
95
95
  }).join('&');
96
96
  };
97
- var Roles;
98
- (function (Roles) {
99
- Roles["Student"] = "Student";
100
- Roles["Teacher"] = "Teacher";
101
- Roles["Admin"] = "Admin";
102
- })(Roles || (Roles = {}));
97
+ (function (Role) {
98
+ Role["Student"] = "Student";
99
+ Role["Teacher"] = "Teacher";
100
+ Role["Admin"] = "Admin";
101
+ Role["AcademyAdmin"] = "AcademyAdmin";
102
+ })(exports.Role || (exports.Role = {}));
103
+ var PrintHeaderClassName = "print-header";
104
+ var PrintContentClassName = "print-content";
105
+ var PrintContainerClassName = "print-container";
103
106
 
104
107
  var utcToLocalTime = (function (time, FORMAT) {
105
108
  if (time === DATE_MIN_VALUE || time === DATE_TIME_MIN_VALUE) return "";
@@ -141,24 +144,195 @@ function _objectWithoutPropertiesLoose(source, excluded) {
141
144
 
142
145
  var styles = {"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","image-academy--item":"_3RDWF","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"};
143
146
 
144
- var AuthenticationMessage;
145
- (function (AuthenticationMessage) {
146
- AuthenticationMessage["NotAllowedToRegister"] = "NotAllowedToRegister";
147
- AuthenticationMessage["InvalidGoogleToken"] = "InvalidGoogleToken";
148
- })(AuthenticationMessage || (AuthenticationMessage = {}));
149
- (function (Role) {
150
- Role["Student"] = "Student";
151
- Role["Teacher"] = "Teacher";
152
- Role["Admin"] = "Admin";
153
- Role["AcademyAdmin"] = "AcademyAdmin";
154
- })(exports.Role || (exports.Role = {}));
155
-
156
147
  // A type of promise-like that resolves synchronously and supports only one observer
148
+ const _Pact = /*#__PURE__*/(function() {
149
+ function _Pact() {}
150
+ _Pact.prototype.then = function(onFulfilled, onRejected) {
151
+ const result = new _Pact();
152
+ const state = this.s;
153
+ if (state) {
154
+ const callback = state & 1 ? onFulfilled : onRejected;
155
+ if (callback) {
156
+ try {
157
+ _settle(result, 1, callback(this.v));
158
+ } catch (e) {
159
+ _settle(result, 2, e);
160
+ }
161
+ return result;
162
+ } else {
163
+ return this;
164
+ }
165
+ }
166
+ this.o = function(_this) {
167
+ try {
168
+ const value = _this.v;
169
+ if (_this.s & 1) {
170
+ _settle(result, 1, onFulfilled ? onFulfilled(value) : value);
171
+ } else if (onRejected) {
172
+ _settle(result, 1, onRejected(value));
173
+ } else {
174
+ _settle(result, 2, value);
175
+ }
176
+ } catch (e) {
177
+ _settle(result, 2, e);
178
+ }
179
+ };
180
+ return result;
181
+ };
182
+ return _Pact;
183
+ })();
184
+
185
+ // Settles a pact synchronously
186
+ function _settle(pact, state, value) {
187
+ if (!pact.s) {
188
+ if (value instanceof _Pact) {
189
+ if (value.s) {
190
+ if (state & 1) {
191
+ state = value.s;
192
+ }
193
+ value = value.v;
194
+ } else {
195
+ value.o = _settle.bind(null, pact, state);
196
+ return;
197
+ }
198
+ }
199
+ if (value && value.then) {
200
+ value.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));
201
+ return;
202
+ }
203
+ pact.s = state;
204
+ pact.v = value;
205
+ const observer = pact.o;
206
+ if (observer) {
207
+ observer(pact);
208
+ }
209
+ }
210
+ }
211
+
212
+ function _isSettledPact(thenable) {
213
+ return thenable instanceof _Pact && thenable.s & 1;
214
+ }
215
+
216
+ // 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)
217
+ function _forTo(array, body, check) {
218
+ var i = -1, pact, reject;
219
+ function _cycle(result) {
220
+ try {
221
+ while (++i < array.length && (!check || !check())) {
222
+ result = body(i);
223
+ if (result && result.then) {
224
+ if (_isSettledPact(result)) {
225
+ result = result.v;
226
+ } else {
227
+ result.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));
228
+ return;
229
+ }
230
+ }
231
+ }
232
+ if (pact) {
233
+ _settle(pact, 1, result);
234
+ } else {
235
+ pact = result;
236
+ }
237
+ } catch (e) {
238
+ _settle(pact || (pact = new _Pact()), 2, e);
239
+ }
240
+ }
241
+ _cycle();
242
+ return pact;
243
+ }
157
244
 
158
245
  const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator"))) : "@@iterator";
159
246
 
160
247
  const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator"))) : "@@asyncIterator";
161
248
 
249
+ // Asynchronously implement a generic for loop
250
+ function _for(test, update, body) {
251
+ var stage;
252
+ for (;;) {
253
+ var shouldContinue = test();
254
+ if (_isSettledPact(shouldContinue)) {
255
+ shouldContinue = shouldContinue.v;
256
+ }
257
+ if (!shouldContinue) {
258
+ return result;
259
+ }
260
+ if (shouldContinue.then) {
261
+ stage = 0;
262
+ break;
263
+ }
264
+ var result = body();
265
+ if (result && result.then) {
266
+ if (_isSettledPact(result)) {
267
+ result = result.s;
268
+ } else {
269
+ stage = 1;
270
+ break;
271
+ }
272
+ }
273
+ if (update) {
274
+ var updateValue = update();
275
+ if (updateValue && updateValue.then && !_isSettledPact(updateValue)) {
276
+ stage = 2;
277
+ break;
278
+ }
279
+ }
280
+ }
281
+ var pact = new _Pact();
282
+ var reject = _settle.bind(null, pact, 2);
283
+ (stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);
284
+ return pact;
285
+ function _resumeAfterBody(value) {
286
+ result = value;
287
+ do {
288
+ if (update) {
289
+ updateValue = update();
290
+ if (updateValue && updateValue.then && !_isSettledPact(updateValue)) {
291
+ updateValue.then(_resumeAfterUpdate).then(void 0, reject);
292
+ return;
293
+ }
294
+ }
295
+ shouldContinue = test();
296
+ if (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {
297
+ _settle(pact, 1, result);
298
+ return;
299
+ }
300
+ if (shouldContinue.then) {
301
+ shouldContinue.then(_resumeAfterTest).then(void 0, reject);
302
+ return;
303
+ }
304
+ result = body();
305
+ if (_isSettledPact(result)) {
306
+ result = result.v;
307
+ }
308
+ } while (!result || !result.then);
309
+ result.then(_resumeAfterBody).then(void 0, reject);
310
+ }
311
+ function _resumeAfterTest(shouldContinue) {
312
+ if (shouldContinue) {
313
+ result = body();
314
+ if (result && result.then) {
315
+ result.then(_resumeAfterBody).then(void 0, reject);
316
+ } else {
317
+ _resumeAfterBody(result);
318
+ }
319
+ } else {
320
+ _settle(pact, 1, result);
321
+ }
322
+ }
323
+ function _resumeAfterUpdate() {
324
+ if (shouldContinue = test()) {
325
+ if (shouldContinue.then) {
326
+ shouldContinue.then(_resumeAfterTest).then(void 0, reject);
327
+ } else {
328
+ _resumeAfterTest(shouldContinue);
329
+ }
330
+ } else {
331
+ _settle(pact, 1, result);
332
+ }
333
+ }
334
+ }
335
+
162
336
  // Asynchronously call a function and send errors to recovery continuation
163
337
  function _catch(body, recover) {
164
338
  try {
@@ -1232,7 +1406,7 @@ var useSubjectSelect = function useSubjectSelect() {
1232
1406
  var isSuperAdmin = reactRedux.useSelector(function (state) {
1233
1407
  var _state$common2, _state$common2$user;
1234
1408
  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) || [];
1235
- }).includes(Roles.Admin) && !isDomain;
1409
+ }).includes(exports.Role.Admin) && !isDomain;
1236
1410
  var subjectOptions = React.useMemo(function () {
1237
1411
  return subjectList === null || subjectList === void 0 ? void 0 : subjectList.map(function (subject) {
1238
1412
  return {
@@ -3760,75 +3934,6 @@ var ChatItem = function ChatItem(props) {
3760
3934
  }));
3761
3935
  };
3762
3936
 
3763
- var MessageSortBy;
3764
- (function (MessageSortBy) {
3765
- MessageSortBy["CreatedAt"] = "CreatedAt";
3766
- })(MessageSortBy || (MessageSortBy = {}));
3767
- var OrderBy;
3768
- (function (OrderBy) {
3769
- OrderBy["ASC"] = "ASC";
3770
- OrderBy["DESC"] = "DESC";
3771
- })(OrderBy || (OrderBy = {}));
3772
- var StudentSortBy;
3773
- (function (StudentSortBy) {
3774
- StudentSortBy["CreatedAt"] = "CreatedAt";
3775
- StudentSortBy["FullName"] = "FullName";
3776
- })(StudentSortBy || (StudentSortBy = {}));
3777
- var StudentOrderBy;
3778
- (function (StudentOrderBy) {
3779
- StudentOrderBy["ASC"] = "ASC";
3780
- StudentOrderBy["DESC"] = "DESC";
3781
- })(StudentOrderBy || (StudentOrderBy = {}));
3782
- var MessageAction;
3783
- (function (MessageAction) {
3784
- MessageAction[MessageAction["Default"] = 0] = "Default";
3785
- MessageAction[MessageAction["Took"] = 1] = "Took";
3786
- })(MessageAction || (MessageAction = {}));
3787
- var MessageSourceType;
3788
- (function (MessageSourceType) {
3789
- MessageSourceType[MessageSourceType["Default"] = 0] = "Default";
3790
- MessageSourceType[MessageSourceType["Exam"] = 1] = "Exam";
3791
- MessageSourceType[MessageSourceType["Class"] = 2] = "Class";
3792
- })(MessageSourceType || (MessageSourceType = {}));
3793
- var MessageStatus;
3794
- (function (MessageStatus) {
3795
- MessageStatus["Default"] = "Sent";
3796
- MessageStatus["Sending"] = "Sending...";
3797
- MessageStatus["SentError"] = "Sent fail, Retry";
3798
- })(MessageStatus || (MessageStatus = {}));
3799
-
3800
- var types = {
3801
- __proto__: null,
3802
- get MessageSortBy () { return MessageSortBy; },
3803
- get OrderBy () { return OrderBy; },
3804
- get StudentSortBy () { return StudentSortBy; },
3805
- get StudentOrderBy () { return StudentOrderBy; },
3806
- get MessageAction () { return MessageAction; },
3807
- get MessageSourceType () { return MessageSourceType; },
3808
- get MessageStatus () { return MessageStatus; }
3809
- };
3810
-
3811
- var ExamStatus;
3812
- (function (ExamStatus) {
3813
- ExamStatus["Default"] = "Default";
3814
- ExamStatus["Pending"] = "Pending";
3815
- ExamStatus["Inprogress"] = "Inprogress";
3816
- ExamStatus["Completed"] = "Completed";
3817
- })(ExamStatus || (ExamStatus = {}));
3818
- var Roles$1;
3819
- (function (Roles) {
3820
- Roles["Student"] = "Student";
3821
- Roles["Teacher"] = "Teacher";
3822
- Roles["Admin"] = "Admin";
3823
- })(Roles$1 || (Roles$1 = {}));
3824
- var MESSAGE_DEFAULT_FILTER = {
3825
- currentPage: 1,
3826
- pageSize: 15,
3827
- textSearch: "",
3828
- sortColumnDirection: OrderBy.DESC,
3829
- sortColumnName: MessageSortBy.CreatedAt
3830
- };
3831
-
3832
3937
  var ChatList = function ChatList(_ref) {
3833
3938
  var _ref$messages = _ref.messages,
3834
3939
  messages = _ref$messages === void 0 ? [] : _ref$messages,
@@ -3853,7 +3958,7 @@ var ChatList = function ChatList(_ref) {
3853
3958
  });
3854
3959
  });
3855
3960
  }, [JSON.stringify(messages)]);
3856
- var isStudent = roles === null || roles === void 0 ? void 0 : roles.includes(Roles$1.Student);
3961
+ var isStudent = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Student);
3857
3962
  return React__default.createElement("ul", {
3858
3963
  ref: listItemRef,
3859
3964
  className: styles$1["list"] + " " + styles$1["padding-content"] + " d-flex h-100 flex-column mb-0 " + (!(filterMessage !== null && filterMessage !== void 0 && filterMessage.length) ? 'justify-content-center' : '')
@@ -4097,7 +4202,7 @@ var ChatHeader = function ChatHeader(_ref) {
4097
4202
  t = _useTranslation.t;
4098
4203
  var theme = material.useTheme();
4099
4204
  var isTabletUp = material.useMediaQuery(theme.breakpoints.up('lg'));
4100
- var isStudent = roles === null || roles === void 0 ? void 0 : roles.includes(Roles$1.Student);
4205
+ var isStudent = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Student);
4101
4206
  var filterDurationExam = React.useMemo(function () {
4102
4207
  if (!durationExam) return;
4103
4208
  return moment.duration(durationExam);
@@ -4411,6 +4516,75 @@ var ChatContainer = function ChatContainer(_ref) {
4411
4516
  })));
4412
4517
  };
4413
4518
 
4519
+ var MessageSortBy;
4520
+ (function (MessageSortBy) {
4521
+ MessageSortBy["CreatedAt"] = "CreatedAt";
4522
+ })(MessageSortBy || (MessageSortBy = {}));
4523
+ var OrderBy;
4524
+ (function (OrderBy) {
4525
+ OrderBy["ASC"] = "ASC";
4526
+ OrderBy["DESC"] = "DESC";
4527
+ })(OrderBy || (OrderBy = {}));
4528
+ var StudentSortBy;
4529
+ (function (StudentSortBy) {
4530
+ StudentSortBy["CreatedAt"] = "CreatedAt";
4531
+ StudentSortBy["FullName"] = "FullName";
4532
+ })(StudentSortBy || (StudentSortBy = {}));
4533
+ var StudentOrderBy;
4534
+ (function (StudentOrderBy) {
4535
+ StudentOrderBy["ASC"] = "ASC";
4536
+ StudentOrderBy["DESC"] = "DESC";
4537
+ })(StudentOrderBy || (StudentOrderBy = {}));
4538
+ var MessageAction;
4539
+ (function (MessageAction) {
4540
+ MessageAction[MessageAction["Default"] = 0] = "Default";
4541
+ MessageAction[MessageAction["Took"] = 1] = "Took";
4542
+ })(MessageAction || (MessageAction = {}));
4543
+ var MessageSourceType;
4544
+ (function (MessageSourceType) {
4545
+ MessageSourceType[MessageSourceType["Default"] = 0] = "Default";
4546
+ MessageSourceType[MessageSourceType["Exam"] = 1] = "Exam";
4547
+ MessageSourceType[MessageSourceType["Class"] = 2] = "Class";
4548
+ })(MessageSourceType || (MessageSourceType = {}));
4549
+ var MessageStatus;
4550
+ (function (MessageStatus) {
4551
+ MessageStatus["Default"] = "Sent";
4552
+ MessageStatus["Sending"] = "Sending...";
4553
+ MessageStatus["SentError"] = "Sent fail, Retry";
4554
+ })(MessageStatus || (MessageStatus = {}));
4555
+
4556
+ var types = {
4557
+ __proto__: null,
4558
+ get MessageSortBy () { return MessageSortBy; },
4559
+ get OrderBy () { return OrderBy; },
4560
+ get StudentSortBy () { return StudentSortBy; },
4561
+ get StudentOrderBy () { return StudentOrderBy; },
4562
+ get MessageAction () { return MessageAction; },
4563
+ get MessageSourceType () { return MessageSourceType; },
4564
+ get MessageStatus () { return MessageStatus; }
4565
+ };
4566
+
4567
+ var ExamStatus;
4568
+ (function (ExamStatus) {
4569
+ ExamStatus["Default"] = "Default";
4570
+ ExamStatus["Pending"] = "Pending";
4571
+ ExamStatus["Inprogress"] = "Inprogress";
4572
+ ExamStatus["Completed"] = "Completed";
4573
+ })(ExamStatus || (ExamStatus = {}));
4574
+ var Roles;
4575
+ (function (Roles) {
4576
+ Roles["Student"] = "Student";
4577
+ Roles["Teacher"] = "Teacher";
4578
+ Roles["Admin"] = "Admin";
4579
+ })(Roles || (Roles = {}));
4580
+ var MESSAGE_DEFAULT_FILTER = {
4581
+ currentPage: 1,
4582
+ pageSize: 15,
4583
+ textSearch: "",
4584
+ sortColumnDirection: OrderBy.DESC,
4585
+ sortColumnName: MessageSortBy.CreatedAt
4586
+ };
4587
+
4414
4588
  var useMessageList = function useMessageList() {
4415
4589
  var _useState = React.useState([]),
4416
4590
  messages = _useState[0],
@@ -5046,7 +5220,7 @@ var useCategorySelect = function useCategorySelect(_ref) {
5046
5220
  var isSuperAdmin = reactRedux.useSelector(function (state) {
5047
5221
  var _state$common2, _state$common2$user;
5048
5222
  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) || [];
5049
- }).includes(Roles.Admin) && !isDomain;
5223
+ }).includes(exports.Role.Admin) && !isDomain;
5050
5224
  var categoryOptions = React.useMemo(function () {
5051
5225
  return categoryList === null || categoryList === void 0 ? void 0 : categoryList.map(function (category) {
5052
5226
  var _category$path;
@@ -5786,7 +5960,7 @@ var useExam = function useExam(props) {
5786
5960
  setExamRequest = _useState2[1];
5787
5961
  var isTeacher = reactRedux.useSelector(function (state) {
5788
5962
  var _state$common, _state$common$user;
5789
- 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.roles.includes(Roles.Teacher);
5963
+ 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.roles.includes(exports.Role.Teacher);
5790
5964
  });
5791
5965
  var _useTranslation = reactI18next.useTranslation(),
5792
5966
  t = _useTranslation.t;
@@ -8250,12 +8424,12 @@ var TabList = [{
8250
8424
  label: "problem_analysis",
8251
8425
  value: 3
8252
8426
  }];
8253
- var Roles$2;
8427
+ var Roles$1;
8254
8428
  (function (Roles) {
8255
8429
  Roles["Student"] = "Student";
8256
8430
  Roles["Teacher"] = "Teacher";
8257
8431
  Roles["Admin"] = "Admin";
8258
- })(Roles$2 || (Roles$2 = {}));
8432
+ })(Roles$1 || (Roles$1 = {}));
8259
8433
  var EXAM_RESULT = {
8260
8434
  "id": 6047,
8261
8435
  "teacherId": 1,
@@ -8947,7 +9121,7 @@ var useExamResult = function useExamResult(searchParam, navigate, examSessionId,
8947
9121
  var _state$common, _state$common$user;
8948
9122
  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.roles) || [];
8949
9123
  });
8950
- var isStudent = roles === null || roles === void 0 ? void 0 : roles.includes(Roles$2.Student);
9124
+ var isStudent = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Student);
8951
9125
  var examCode = query.get("examCode") || "";
8952
9126
  var language = reactRedux.useSelector(function (state) {
8953
9127
  var _state$common2;
@@ -9232,23 +9406,154 @@ var useExamResult = function useExamResult(searchParam, navigate, examSessionId,
9232
9406
  }, [JSON.stringify(timelyOrderQuestion), dataChartIndex, language]);
9233
9407
  var handleExportPdf = function handleExportPdf() {
9234
9408
  try {
9235
- var canvas = document.querySelector("#canvas");
9236
- var headerCanvas = document.querySelector("#header-canvas");
9237
- if (!canvas || !headerCanvas) return Promise.resolve();
9238
- var doc = new jspdf.jsPDF();
9239
- var imgWidth = 208;
9240
- var bodyWidth = 202;
9241
- return Promise.resolve(html2canvas(headerCanvas)).then(function (header) {
9242
- var imgHeaderHeight = header.height * imgWidth / header.width;
9243
- var imgHeaderData = header.toDataURL('image/png');
9244
- doc.addImage(imgHeaderData, 'PNG', 0, 0, imgWidth, imgHeaderHeight);
9245
- return Promise.resolve(html2canvas(canvas)).then(function (body) {
9246
- var imgBodyHeight = body.height * bodyWidth / body.width;
9247
- var imgBodyData = body.toDataURL('image/png');
9248
- doc.addImage(imgBodyData, 'PNG', 4, imgHeaderHeight, bodyWidth, imgBodyHeight);
9249
- doc.save("download.pdf");
9409
+ var _temp23 = function _temp23(_result) {
9410
+ if (_exit) return _result;
9411
+ dispatch(setLoading(false));
9412
+ };
9413
+ var _exit = false;
9414
+ dispatch(setLoading(true));
9415
+ var _temp22 = _catch(function () {
9416
+ var canvas = document.querySelector("#canvas");
9417
+ var headerCanvas = document.querySelector("#header-canvas");
9418
+ if (!canvas || !headerCanvas) {
9419
+ _exit = true;
9420
+ return;
9421
+ }
9422
+ var doc = new jspdf.jsPDF({
9423
+ orientation: "p",
9424
+ unit: "px",
9425
+ format: "a4"
9426
+ });
9427
+ var WIDTH_PAPER = doc.internal.pageSize.width;
9428
+ var HEIGHT_PAPER = doc.internal.pageSize.height;
9429
+ var line = 0;
9430
+ var breakPage = function breakPage() {
9431
+ doc.addPage();
9432
+ line = 20;
9433
+ };
9434
+ var imgWidth = WIDTH_PAPER;
9435
+ var chartWidth = WIDTH_PAPER - 20;
9436
+ return Promise.resolve(html2canvas(headerCanvas)).then(function (header) {
9437
+ function _temp21() {
9438
+ doc.save("download.pdf");
9439
+ }
9440
+ var imgHeaderHeight = header.height * imgWidth / header.width;
9441
+ var imgHeaderData = header.toDataURL('image/png');
9442
+ doc.addImage(imgHeaderData, 'PNG', 0, 0, imgWidth, imgHeaderHeight);
9443
+ line += imgHeaderHeight;
9444
+ if (line > HEIGHT_PAPER) breakPage();
9445
+ var _temp20 = function () {
9446
+ if (canvas && canvas.childElementCount > 0) {
9447
+ var _index = 0;
9448
+ var _temp19 = _for(function () {
9449
+ return _index < canvas.childElementCount;
9450
+ }, function () {
9451
+ return _index++;
9452
+ }, function () {
9453
+ function _temp18() {
9454
+ function _temp16() {
9455
+ line += 20;
9456
+ }
9457
+ var _temp15 = function () {
9458
+ if (printContainerEls.length) {
9459
+ var _temp14 = _forTo(printContainerEls, function (i) {
9460
+ function _temp13() {
9461
+ var printHeader = function printHeader(top) {
9462
+ if (top === void 0) {
9463
+ top = 0;
9464
+ }
9465
+ try {
9466
+ if (!printHeaderCanvas) return Promise.resolve();
9467
+ var _height = printHeaderCanvas.height * chartWidth / printHeaderCanvas.width;
9468
+ var _data = printHeaderCanvas.toDataURL('image/png');
9469
+ line += top;
9470
+ if (line + _height > HEIGHT_PAPER) breakPage();
9471
+ doc.addImage(_data, 'PNG', 10, line, chartWidth, _height);
9472
+ line += _height;
9473
+ return Promise.resolve();
9474
+ } catch (e) {
9475
+ return Promise.reject(e);
9476
+ }
9477
+ };
9478
+ return Promise.resolve(printHeader(10)).then(function () {
9479
+ var printContents = printContainerEl.querySelectorAll("." + PrintContentClassName);
9480
+ if (!printContents.length) return;
9481
+ var _temp11 = _forTo(printContents, function (j) {
9482
+ var rowItem = printContents[j];
9483
+ return Promise.resolve(html2canvas(rowItem)).then(function (rowItemCanvas) {
9484
+ function _temp10() {
9485
+ doc.addImage(data, 'PNG', 10, line, chartWidth, height);
9486
+ line += height;
9487
+ }
9488
+ var height = rowItemCanvas.height * chartWidth / rowItemCanvas.width;
9489
+ var data = rowItemCanvas.toDataURL('image/png');
9490
+ var _temp9 = function () {
9491
+ if (line + height > HEIGHT_PAPER) {
9492
+ breakPage();
9493
+ return Promise.resolve(printHeader()).then(function () {});
9494
+ }
9495
+ }();
9496
+ return _temp9 && _temp9.then ? _temp9.then(_temp10) : _temp10(_temp9);
9497
+ });
9498
+ });
9499
+ if (_temp11 && _temp11.then) return _temp11.then(function () {});
9500
+ });
9501
+ }
9502
+ var printContainerEl = printContainerEls[i];
9503
+ var printHeaderEl = printContainerEl.querySelector("." + PrintHeaderClassName);
9504
+ var printHeaderCanvas = null;
9505
+ var _temp12 = function () {
9506
+ if (printHeaderEl) {
9507
+ return Promise.resolve(html2canvas(printHeaderEl)).then(function (_html2canvas) {
9508
+ printHeaderCanvas = _html2canvas;
9509
+ });
9510
+ }
9511
+ }();
9512
+ return _temp12 && _temp12.then ? _temp12.then(_temp13) : _temp13(_temp12);
9513
+ });
9514
+ if (_temp14 && _temp14.then) return _temp14.then(function () {});
9515
+ } else {
9516
+ return Promise.resolve(html2canvas(chart)).then(function (chartCanvas) {
9517
+ var imgBodyHeight = chartCanvas.height * chartWidth / chartCanvas.width;
9518
+ var imgBodyData = chartCanvas.toDataURL('image/png');
9519
+ line += 10;
9520
+ if (line + imgBodyHeight > HEIGHT_PAPER) breakPage();
9521
+ doc.addImage(imgBodyData, 'PNG', 10, line, chartWidth, imgBodyHeight);
9522
+ line += imgBodyHeight;
9523
+ });
9524
+ }
9525
+ }();
9526
+ return _temp15 && _temp15.then ? _temp15.then(_temp16) : _temp16(_temp15);
9527
+ }
9528
+ var chart = canvas.children.item(_index);
9529
+ if (chart.getAttribute("id") === "header-canvas") return;
9530
+ var chartTitle = chart.querySelector(".chart-title");
9531
+ var printContainerEls = chart.querySelectorAll("." + PrintContainerClassName);
9532
+ var _temp17 = function () {
9533
+ if (chartTitle && printContainerEls.length) {
9534
+ return Promise.resolve(html2canvas(chartTitle)).then(function (printChartTitleCanvas) {
9535
+ var height = printChartTitleCanvas.height * chartWidth / printChartTitleCanvas.width;
9536
+ var data = printChartTitleCanvas.toDataURL('image/png');
9537
+ if (line + height + 10 > HEIGHT_PAPER) breakPage();else line + 10;
9538
+ doc.addImage(data, 'PNG', 10, line, chartWidth, height);
9539
+ line += height;
9540
+ });
9541
+ }
9542
+ }();
9543
+ return _temp17 && _temp17.then ? _temp17.then(_temp18) : _temp18(_temp17);
9544
+ });
9545
+ if (_temp19 && _temp19.then) return _temp19.then(function () {});
9546
+ }
9547
+ }();
9548
+ return _temp20 && _temp20.then ? _temp20.then(_temp21) : _temp21(_temp20);
9549
+ });
9550
+ }, function (error) {
9551
+ console.log({
9552
+ error: error
9250
9553
  });
9554
+ reactToastify.toast.error("Print pdf failure!");
9251
9555
  });
9556
+ return Promise.resolve(_temp22 && _temp22.then ? _temp22.then(_temp23) : _temp23(_temp22));
9252
9557
  } catch (e) {
9253
9558
  return Promise.reject(e);
9254
9559
  }
@@ -10751,7 +11056,8 @@ function CreateNewQuestionDialog(_ref) {
10751
11056
  function MyAnswer(_ref) {
10752
11057
  var data = _ref.data,
10753
11058
  categories = _ref.categories,
10754
- isStudent = _ref.isStudent;
11059
+ isStudent = _ref.isStudent,
11060
+ isPrint = _ref.isPrint;
10755
11061
  var _useCreateQuestionDia = useCreateQuestionDialog(),
10756
11062
  handleCreateQuestion = _useCreateQuestionDia.handleCreateQuestion,
10757
11063
  openCreateQuestionDialog = _useCreateQuestionDia.openCreateQuestionDialog,
@@ -10768,94 +11074,8 @@ function MyAnswer(_ref) {
10768
11074
  handleSelectQuestionOrder(id);
10769
11075
  toggleCreateQuestion();
10770
11076
  };
10771
- return React__default.createElement("div", {
10772
- className: styles$4["myanswer"]
10773
- }, formattedData && formattedData.length > 0 && formattedData.map(function (item) {
10774
- return React__default.createElement("div", {
10775
- key: item.category.id
10776
- }, React__default.createElement(material.Stack, {
10777
- bgcolor: "#F9FAFB",
10778
- flexDirection: "row",
10779
- padding: "12px",
10780
- className: styles$4["myAnswerItem"] + " " + styles["noGutters"]
10781
- }, React__default.createElement("div", {
10782
- className: styles["custom-col-2"],
10783
- style: {
10784
- display: "flex",
10785
- gap: "4px"
10786
- }
10787
- }, React__default.createElement(material.Typography, {
10788
- sx: {
10789
- fontSize: "13px",
10790
- fontWeight: 600,
10791
- color: "#97A1AF"
10792
- }
10793
- }, "\uBB38\uC81C \uBC88\uD638")), React__default.createElement("div", {
10794
- className: styles["custom-col-2"],
10795
- style: {
10796
- display: "flex",
10797
- gap: "4px"
10798
- }
10799
- }, React__default.createElement(material.Typography, {
10800
- sx: {
10801
- fontSize: "13px",
10802
- fontWeight: 600,
10803
- color: "#97A1AF"
10804
- }
10805
- }, "\uC815\uB2F5")), React__default.createElement("div", {
10806
- className: styles["custom-col-2"],
10807
- style: {
10808
- display: "flex",
10809
- gap: "4px"
10810
- }
10811
- }, React__default.createElement(material.Typography, {
10812
- sx: {
10813
- fontSize: "13px",
10814
- fontWeight: 600,
10815
- color: "#97A1AF"
10816
- }
10817
- }, "\uD480\uC774 \uC2DC\uAC04")), React__default.createElement("div", {
10818
- className: styles["custom-col-2"],
10819
- style: {
10820
- display: "flex",
10821
- alignItems: "center",
10822
- gap: "4px"
10823
- }
10824
- }, React__default.createElement(material.Typography, {
10825
- sx: {
10826
- fontSize: "13px",
10827
- fontWeight: 600,
10828
- color: "#97A1AF"
10829
- }
10830
- }, "\uC0C1\uC704\uAD8C \uBE44\uAD50")), React__default.createElement("div", {
10831
- className: styles["custom-col-2"],
10832
- style: {
10833
- display: "flex",
10834
- alignItems: "center",
10835
- gap: "4px"
10836
- }
10837
- }, React__default.createElement(material.Typography, {
10838
- sx: {
10839
- fontSize: "13px",
10840
- fontWeight: 600,
10841
- color: "#97A1AF"
10842
- }
10843
- }, "\uC804\uCCB4 \uC815\uB2F5\uB960"))), React__default.createElement("div", {
10844
- className: styles$4["titleMyAnswer2"]
10845
- }, React__default.createElement(material.Typography, {
10846
- sx: {
10847
- color: "#97A1AF",
10848
- fontSize: "12px"
10849
- }
10850
- }, "\uCE74\uD14C\uACE0\uB9AC"), React__default.createElement(material.Typography, {
10851
- sx: {
10852
- color: "#414E62",
10853
- fontSize: "12px",
10854
- fontWeight: 700
10855
- }
10856
- }, item.category.name)), React__default.createElement("div", {
10857
- className: styles$4["contentMyAnswer"]
10858
- }, item.questions.map(function (question, index) {
11077
+ var renderQuestions = function renderQuestions(questions) {
11078
+ return questions.map(function (question, index) {
10859
11079
  return React__default.createElement("div", {
10860
11080
  style: isOpenTime[question.id] ? {
10861
11081
  borderTop: index !== 0 ? "1px solid #E4E7EC" : "",
@@ -10950,7 +11170,108 @@ function MyAnswer(_ref) {
10950
11170
  }, React__default.createElement(iconChat, {
10951
11171
  color: "#5458D5"
10952
11172
  })))));
10953
- })));
11173
+ });
11174
+ };
11175
+ var renderPrintQuestions = function renderPrintQuestions(questions) {
11176
+ var chunkedQuestions = _.chunk(questions, 5);
11177
+ return chunkedQuestions.map(function (i, index) {
11178
+ return React__default.createElement("div", {
11179
+ key: index,
11180
+ className: PrintContentClassName
11181
+ }, renderQuestions(i));
11182
+ });
11183
+ };
11184
+ return React__default.createElement("div", {
11185
+ className: styles$4["myanswer"]
11186
+ }, formattedData && formattedData.length > 0 && formattedData.map(function (item) {
11187
+ return React__default.createElement("div", {
11188
+ key: item.category.id,
11189
+ className: isPrint ? PrintContainerClassName : ""
11190
+ }, React__default.createElement("div", {
11191
+ className: isPrint ? PrintHeaderClassName : ""
11192
+ }, React__default.createElement(material.Stack, {
11193
+ bgcolor: "#F9FAFB",
11194
+ flexDirection: "row",
11195
+ padding: "12px",
11196
+ className: styles$4["myAnswerItem"] + " " + styles["noGutters"]
11197
+ }, React__default.createElement("div", {
11198
+ className: styles["custom-col-2"],
11199
+ style: {
11200
+ display: "flex",
11201
+ gap: "4px"
11202
+ }
11203
+ }, React__default.createElement(material.Typography, {
11204
+ sx: {
11205
+ fontSize: "13px",
11206
+ fontWeight: 600,
11207
+ color: "#97A1AF"
11208
+ }
11209
+ }, "\uBB38\uC81C \uBC88\uD638")), React__default.createElement("div", {
11210
+ className: styles["custom-col-2"],
11211
+ style: {
11212
+ display: "flex",
11213
+ gap: "4px"
11214
+ }
11215
+ }, React__default.createElement(material.Typography, {
11216
+ sx: {
11217
+ fontSize: "13px",
11218
+ fontWeight: 600,
11219
+ color: "#97A1AF"
11220
+ }
11221
+ }, "\uC815\uB2F5")), React__default.createElement("div", {
11222
+ className: styles["custom-col-2"],
11223
+ style: {
11224
+ display: "flex",
11225
+ gap: "4px"
11226
+ }
11227
+ }, React__default.createElement(material.Typography, {
11228
+ sx: {
11229
+ fontSize: "13px",
11230
+ fontWeight: 600,
11231
+ color: "#97A1AF"
11232
+ }
11233
+ }, "\uD480\uC774 \uC2DC\uAC04")), React__default.createElement("div", {
11234
+ className: styles["custom-col-2"],
11235
+ style: {
11236
+ display: "flex",
11237
+ alignItems: "center",
11238
+ gap: "4px"
11239
+ }
11240
+ }, React__default.createElement(material.Typography, {
11241
+ sx: {
11242
+ fontSize: "13px",
11243
+ fontWeight: 600,
11244
+ color: "#97A1AF"
11245
+ }
11246
+ }, "\uC0C1\uC704\uAD8C \uBE44\uAD50")), React__default.createElement("div", {
11247
+ className: styles["custom-col-2"],
11248
+ style: {
11249
+ display: "flex",
11250
+ alignItems: "center",
11251
+ gap: "4px"
11252
+ }
11253
+ }, React__default.createElement(material.Typography, {
11254
+ sx: {
11255
+ fontSize: "13px",
11256
+ fontWeight: 600,
11257
+ color: "#97A1AF"
11258
+ }
11259
+ }, "\uC804\uCCB4 \uC815\uB2F5\uB960"))), React__default.createElement("div", {
11260
+ className: styles$4["titleMyAnswer2"]
11261
+ }, React__default.createElement(material.Typography, {
11262
+ sx: {
11263
+ color: "#97A1AF",
11264
+ fontSize: "12px"
11265
+ }
11266
+ }, "\uCE74\uD14C\uACE0\uB9AC"), React__default.createElement(material.Typography, {
11267
+ sx: {
11268
+ color: "#414E62",
11269
+ fontSize: "12px",
11270
+ fontWeight: 700
11271
+ }
11272
+ }, item.category.name))), React__default.createElement("div", {
11273
+ className: styles$4["contentMyAnswer"]
11274
+ }, isPrint ? renderPrintQuestions(item.questions) : renderQuestions(item.questions)));
10954
11275
  }), React__default.createElement(CreateNewQuestionDialog, {
10955
11276
  questions: data === null || data === void 0 ? void 0 : data.questions,
10956
11277
  questionOrderSelected: questionOrderSelected,
@@ -11003,10 +11324,74 @@ var iconBtnNextChart = function iconBtnNextChart(_ref) {
11003
11324
  }));
11004
11325
  };
11005
11326
 
11006
- function CompareGrass(_ref) {
11007
- var effectSize = _ref.effectSize;
11327
+ var CompareGrass = function CompareGrass(_ref) {
11328
+ var effectSize = _ref.effectSize,
11329
+ isPrint = _ref.isPrint;
11330
+ var renderTableBody = function renderTableBody(effectSize) {
11331
+ return effectSize.map(function (item, index) {
11332
+ return React__default.createElement("tr", {
11333
+ id: "print-item",
11334
+ key: item.id,
11335
+ style: index < effectSize.length - 1 ? {
11336
+ borderBottom: "1px solid #e4e7ec"
11337
+ } : {}
11338
+ }, React__default.createElement("td", {
11339
+ className: styles$4["tdcolumn1"]
11340
+ }, "\uBB38\uC81C ", item.questionOrder + 1), React__default.createElement("td", {
11341
+ style: {
11342
+ textAlign: "center",
11343
+ color: "#202B37"
11344
+ }
11345
+ }, item.correctAnswers, "\uBC88"), React__default.createElement("td", {
11346
+ className: styles$4["tdcolumn3"],
11347
+ style: {
11348
+ color: item.isCorrect ? "#1EE288" : "#F34B4B"
11349
+ }
11350
+ }, item.selectedAnswers ? item.selectedAnswers + "\uBC88" : ""), React__default.createElement("td", {
11351
+ style: {
11352
+ textAlign: "center",
11353
+ color: "#414E62"
11354
+ }
11355
+ }, item.mostSelectedAnswers ? item.mostSelectedAnswers + "\uBC88" : ""), React__default.createElement("td", null, React__default.createElement("div", {
11356
+ className: styles$4["classification"]
11357
+ }, item.problemCategories.map(function (problem, index) {
11358
+ return React__default.createElement("div", {
11359
+ key: index
11360
+ }, problem === 1 && React__default.createElement("span", {
11361
+ style: {
11362
+ border: "1px solid #1EE288"
11363
+ }
11364
+ }, "\uC26C\uC6B4 \uBB38\uC81C"), problem === 3 && React__default.createElement("span", {
11365
+ style: {
11366
+ border: "1px solid #FDDB64"
11367
+ }
11368
+ }, "\uD568\uC815 \uBB38\uC81C"), problem === 2 && React__default.createElement("span", {
11369
+ style: {
11370
+ border: "1px solid #F34B4B"
11371
+ }
11372
+ }, "\uBCC0\uBCC4\uB825 \uBB38\uC81C"), problem === 0 && React__default.createElement("span", {
11373
+ style: {
11374
+ border: "1px solid #DDDDDD"
11375
+ }
11376
+ }, "\uC77C\uBC18\uC801\uC778 \uBB38\uC81C"), problem === 4 && React__default.createElement("span", {
11377
+ style: {
11378
+ border: "1px solid #FF0000"
11379
+ }
11380
+ }, "\uC5B4\uB824\uC6B4 \uBB38\uC81C"));
11381
+ }))));
11382
+ });
11383
+ };
11384
+ var renderPrintTableBody = function renderPrintTableBody(effectSize) {
11385
+ var chunkedEffectSizeQuestions = _.chunk(effectSize, 5);
11386
+ return chunkedEffectSizeQuestions.map(function (i, index) {
11387
+ return React__default.createElement("tbody", {
11388
+ key: index,
11389
+ className: PrintContentClassName
11390
+ }, renderTableBody(i));
11391
+ });
11392
+ };
11008
11393
  return React__default.createElement("div", {
11009
- className: styles$4["compareGrass"]
11394
+ className: styles$4["compareGrass"] + " " + (isPrint ? PrintContainerClassName : "")
11010
11395
  }, React__default.createElement("div", {
11011
11396
  className: styles$4["tableCompareGrass"]
11012
11397
  }, React__default.createElement("div", {
@@ -11018,7 +11403,8 @@ function CompareGrass(_ref) {
11018
11403
  }, React__default.createElement("thead", {
11019
11404
  style: {
11020
11405
  borderBottom: "1px solid #E4E7EC"
11021
- }
11406
+ },
11407
+ className: isPrint ? PrintHeaderClassName : ""
11022
11408
  }, React__default.createElement("tr", null, React__default.createElement("th", {
11023
11409
  className: styles$4["thcolumn1"]
11024
11410
  }, "\uBB38\uC81C \uBC88\uD638"), React__default.createElement("th", {
@@ -11037,58 +11423,8 @@ function CompareGrass(_ref) {
11037
11423
  style: {
11038
11424
  textAlign: "center"
11039
11425
  }
11040
- }, "\uBB38\uC81C \uBD84\uB958"))), React__default.createElement("tbody", null, effectSize.map(function (item, index) {
11041
- return React__default.createElement("tr", {
11042
- key: item.id,
11043
- style: index < effectSize.length - 1 ? {
11044
- borderBottom: "1px solid #e4e7ec"
11045
- } : {}
11046
- }, React__default.createElement("td", {
11047
- className: styles$4["tdcolumn1"]
11048
- }, "\uBB38\uC81C ", item.questionOrder + 1), React__default.createElement("td", {
11049
- style: {
11050
- textAlign: "center",
11051
- color: "#202B37"
11052
- }
11053
- }, item.correctAnswers, "\uBC88"), React__default.createElement("td", {
11054
- className: styles$4["tdcolumn3"],
11055
- style: {
11056
- color: item.isCorrect ? "#1EE288" : "#F34B4B"
11057
- }
11058
- }, item.selectedAnswers ? item.selectedAnswers + "\uBC88" : ""), React__default.createElement("td", {
11059
- style: {
11060
- textAlign: "center",
11061
- color: "#414E62"
11062
- }
11063
- }, item.mostSelectedAnswers ? item.mostSelectedAnswers + "\uBC88" : ""), React__default.createElement("td", null, React__default.createElement("div", {
11064
- className: styles$4["classification"]
11065
- }, item.problemCategories.map(function (problem, index) {
11066
- return React__default.createElement("div", {
11067
- key: index
11068
- }, problem === 1 && React__default.createElement("span", {
11069
- style: {
11070
- border: "1px solid #1EE288"
11071
- }
11072
- }, "\uC26C\uC6B4 \uBB38\uC81C"), problem === 3 && React__default.createElement("span", {
11073
- style: {
11074
- border: "1px solid #FDDB64"
11075
- }
11076
- }, "\uD568\uC815 \uBB38\uC81C"), problem === 2 && React__default.createElement("span", {
11077
- style: {
11078
- border: "1px solid #F34B4B"
11079
- }
11080
- }, "\uBCC0\uBCC4\uB825 \uBB38\uC81C"), problem === 0 && React__default.createElement("span", {
11081
- style: {
11082
- border: "1px solid #DDDDDD"
11083
- }
11084
- }, "\uC77C\uBC18\uC801\uC778 \uBB38\uC81C"), problem === 4 && React__default.createElement("span", {
11085
- style: {
11086
- border: "1px solid #FF0000"
11087
- }
11088
- }, "\uC5B4\uB824\uC6B4 \uBB38\uC81C"));
11089
- }))));
11090
- }))))));
11091
- }
11426
+ }, "\uBB38\uC81C \uBD84\uB958"))), isPrint ? renderPrintTableBody(effectSize) : React__default.createElement("tbody", null, renderTableBody(effectSize))))));
11427
+ };
11092
11428
 
11093
11429
  var iconUpArrow = function iconUpArrow(_ref) {
11094
11430
  var _ref$width = _ref.width,
@@ -11177,20 +11513,75 @@ var iconAssignedQuestions = function iconAssignedQuestions(_ref) {
11177
11513
  }));
11178
11514
  };
11179
11515
 
11180
- function TrickyProblem(_ref) {
11516
+ var TrickyProblem = function TrickyProblem(_ref) {
11181
11517
  var data = _ref.data,
11182
11518
  openProblem = _ref.openProblem,
11183
- changeOpen = _ref.changeOpen;
11519
+ changeOpen = _ref.changeOpen,
11520
+ isPrint = _ref.isPrint;
11184
11521
  var inCorrectQuestions = data.questions.filter(function (i) {
11185
11522
  return i.isStar && !i.isCorrect;
11186
11523
  });
11187
11524
  var correctQuestions = data.questions.filter(function (i) {
11188
11525
  return i.isStar && i.isCorrect;
11189
11526
  });
11527
+ var renderProblems = function renderProblems() {
11528
+ return React__default.createElement(React.Fragment, null, React__default.createElement("div", {
11529
+ className: styles$4["titleTrickyProblem"]
11530
+ }, React__default.createElement(iconX, null), React__default.createElement("span", null, "\uBCC4\uD45C \uCE5C \uBB38\uC81C \uC911 \uD2C0\uB9B0 \uBB38\uC81C")), React__default.createElement("div", {
11531
+ className: styles$4["wrongQuestions"]
11532
+ }, !!inCorrectQuestions.length && inCorrectQuestions.map(function (question) {
11533
+ return React__default.createElement("span", {
11534
+ key: question.id,
11535
+ className: styles$4["question"]
11536
+ }, question.questionOrder + 1, "\uBC88");
11537
+ }), !data.questions.length && React__default.createElement("div", {
11538
+ className: styles$4["noData"]
11539
+ }, "\uB370\uC774\uD130 \uC5C6\uC74C")), React__default.createElement("div", {
11540
+ className: styles$4["titleTrickyProblem"]
11541
+ }, React__default.createElement(iconAssignedQuestions, null), React__default.createElement("span", null, "\uBCC4\uD45C \uCE5C \uBB38\uC81C \uC911 \uB9DE\uCD98 \uBB38\uC81C")), React__default.createElement("div", {
11542
+ className: styles$4["assignedQuestions"]
11543
+ }, !!correctQuestions.length && correctQuestions.map(function (question) {
11544
+ return React__default.createElement("div", {
11545
+ key: question.id,
11546
+ className: styles$4["question"]
11547
+ }, question.questionOrder + 1, "\uBC88");
11548
+ }), !data.questions.length && React__default.createElement("div", {
11549
+ className: styles$4["noData"]
11550
+ }, "\uB370\uC774\uD130 \uC5C6\uC74C")));
11551
+ };
11552
+ var renderPrintProblems = function renderPrintProblems() {
11553
+ return React__default.createElement(React.Fragment, null, React__default.createElement("div", {
11554
+ className: PrintContentClassName
11555
+ }, React__default.createElement("div", {
11556
+ className: styles$4["titleTrickyProblem"]
11557
+ }, React__default.createElement(iconX, null), React__default.createElement("span", null, "\uBCC4\uD45C \uCE5C \uBB38\uC81C \uC911 \uD2C0\uB9B0 \uBB38\uC81C")), React__default.createElement("div", {
11558
+ className: styles$4["wrongQuestions"]
11559
+ }, !!inCorrectQuestions.length && inCorrectQuestions.map(function (question) {
11560
+ return React__default.createElement("span", {
11561
+ key: question.id,
11562
+ className: styles$4["question"]
11563
+ }, question.questionOrder + 1, "\uBC88");
11564
+ }), !data.questions.length && React__default.createElement("div", {
11565
+ className: styles$4["noData"]
11566
+ }, "\uB370\uC774\uD130 \uC5C6\uC74C"))), React__default.createElement("div", {
11567
+ className: PrintContentClassName
11568
+ }, React__default.createElement("div", {
11569
+ className: styles$4["titleTrickyProblem"]
11570
+ }, React__default.createElement(iconAssignedQuestions, null), React__default.createElement("span", null, "\uBCC4\uD45C \uCE5C \uBB38\uC81C \uC911 \uB9DE\uCD98 \uBB38\uC81C")), React__default.createElement("div", {
11571
+ className: styles$4["assignedQuestions"]
11572
+ }, !!correctQuestions.length && correctQuestions.map(function (question) {
11573
+ return React__default.createElement("div", {
11574
+ key: question.id,
11575
+ className: styles$4["question"]
11576
+ }, question.questionOrder + 1, "\uBC88");
11577
+ }), !data.questions.length && React__default.createElement("div", {
11578
+ className: styles$4["noData"]
11579
+ }, "\uB370\uC774\uD130 \uC5C6\uC74C"))));
11580
+ };
11190
11581
  return React__default.createElement("div", {
11191
- className: styles$4["wrapperProblem"]
11582
+ className: styles$4["wrapperProblem"] + " " + (isPrint ? PrintContainerClassName : "")
11192
11583
  }, React__default.createElement("div", {
11193
- className: !openProblem.problem1 ? styles$4["titleProblemClose"] : styles$4["titleProblem"],
11584
+ className: (!openProblem.problem1 ? styles$4["titleProblemClose"] : styles$4["titleProblem"]) + " " + (isPrint ? PrintHeaderClassName : ""),
11194
11585
  onClick: function onClick() {
11195
11586
  return changeOpen(_extends({}, openProblem, {
11196
11587
  problem1: !openProblem.problem1
@@ -11202,41 +11593,53 @@ function TrickyProblem(_ref) {
11202
11593
  fontSize: "14px",
11203
11594
  fontWeight: 700
11204
11595
  }
11205
- }, "\uAE4C\uB2E4\uB85C\uC6E0\uB358 \uBB38\uC81C"), openProblem.problem1 ? React__default.createElement(iconUpArrow, null) : React__default.createElement(iconDownArrow, null)), openProblem.problem1 && React__default.createElement(React.Fragment, null, React__default.createElement("div", {
11206
- className: styles$4["titleTrickyProblem"]
11207
- }, React__default.createElement(iconX, null), React__default.createElement("span", null, "\uBCC4\uD45C \uCE5C \uBB38\uC81C \uC911 \uD2C0\uB9B0 \uBB38\uC81C")), React__default.createElement("div", {
11208
- className: styles$4["wrongQuestions"]
11209
- }, !!inCorrectQuestions.length && inCorrectQuestions.map(function (question) {
11210
- return React__default.createElement("span", {
11211
- key: question.id,
11212
- className: styles$4["question"]
11213
- }, question.questionOrder + 1, "\uBC88");
11214
- }), !data.questions.length && React__default.createElement("div", {
11215
- className: styles$4["noData"]
11216
- }, "\uB370\uC774\uD130 \uC5C6\uC74C")), React__default.createElement("div", {
11217
- className: styles$4["titleTrickyProblem"]
11218
- }, React__default.createElement(iconAssignedQuestions, null), React__default.createElement("span", null, "\uBCC4\uD45C \uCE5C \uBB38\uC81C \uC911 \uB9DE\uCD98 \uBB38\uC81C")), React__default.createElement("div", {
11219
- className: styles$4["assignedQuestions"]
11220
- }, !!correctQuestions.length && correctQuestions.map(function (question) {
11221
- return React__default.createElement("div", {
11222
- key: question.id,
11223
- className: styles$4["question"]
11224
- }, question.questionOrder + 1, "\uBC88");
11225
- }), !data.questions.length && React__default.createElement("div", {
11226
- className: styles$4["noData"]
11227
- }, "\uB370\uC774\uD130 \uC5C6\uC74C"))));
11228
- }
11596
+ }, "\uAE4C\uB2E4\uB85C\uC6E0\uB358 \uBB38\uC81C"), openProblem.problem1 ? React__default.createElement(iconUpArrow, null) : React__default.createElement(iconDownArrow, null)), openProblem.problem1 && React__default.createElement(React.Fragment, null, isPrint ? renderPrintProblems() : renderProblems()));
11597
+ };
11229
11598
 
11230
- function ProtractedProblem(_ref) {
11599
+ var ProtractedProblem = function ProtractedProblem(_ref) {
11231
11600
  var data = _ref.data,
11232
11601
  openProblem = _ref.openProblem,
11233
- changeOpen = _ref.changeOpen;
11602
+ changeOpen = _ref.changeOpen,
11603
+ isPrint = _ref.isPrint;
11234
11604
  var _useTranslation = reactI18next.useTranslation(),
11235
11605
  t = _useTranslation.t;
11606
+ var renderQuestions = function renderQuestions(data) {
11607
+ return data.map(function (item) {
11608
+ return React__default.createElement("div", {
11609
+ className: styles$4["content"],
11610
+ key: item.id
11611
+ }, React__default.createElement("div", {
11612
+ className: styles$4["contentColumn1"]
11613
+ }, React__default.createElement("div", null, React__default.createElement("span", {
11614
+ className: styles$4["span1"]
11615
+ }, "\uBB38\uC81C"), React__default.createElement("span", {
11616
+ className: styles$4["span2"]
11617
+ }, item.questionOrder + 1, "\uBC88"))), React__default.createElement("div", {
11618
+ className: styles$4["contentColumn2"]
11619
+ }, React__default.createElement("div", null, React__default.createElement("span", {
11620
+ className: styles$4["span1"]
11621
+ }, "\uB098\uC758 \uC2DC\uAC04"), React__default.createElement("span", {
11622
+ className: styles$4["span2"]
11623
+ }, "\uC0C1\uC704\uAD8C \uC2DC\uAC04")), React__default.createElement("div", null, React__default.createElement("span", {
11624
+ className: styles$4["duration"]
11625
+ }, formatTimeSecond(item.duration, t)), React__default.createElement("span", {
11626
+ className: styles$4["topDuration"]
11627
+ }, formatTimeSecond(item.topDuration, t)))));
11628
+ });
11629
+ };
11630
+ var renderPrintQuestions = function renderPrintQuestions() {
11631
+ var chunkedData = _.chunk(data, 5);
11632
+ return chunkedData.map(function (i, index) {
11633
+ return React__default.createElement("div", {
11634
+ key: index,
11635
+ className: PrintContentClassName
11636
+ }, renderQuestions(i));
11637
+ });
11638
+ };
11236
11639
  return React__default.createElement("div", {
11237
- className: styles$4["wrapperProblem"]
11640
+ className: styles$4["wrapperProblem"] + " " + (isPrint ? PrintContainerClassName : "")
11238
11641
  }, React__default.createElement("div", {
11239
- className: !openProblem.problem2 ? styles$4["titleProblemClose"] : styles$4["titleProblem"],
11642
+ className: (!openProblem.problem2 ? styles$4["titleProblemClose"] : styles$4["titleProblem"]) + " " + (isPrint ? PrintHeaderClassName : ""),
11240
11643
  onClick: function onClick() {
11241
11644
  return changeOpen(_extends({}, openProblem, {
11242
11645
  problem2: !openProblem.problem2
@@ -11250,45 +11653,58 @@ function ProtractedProblem(_ref) {
11250
11653
  }
11251
11654
  }, "\uC2DC\uAC04\uC774 \uC624\uB798 \uAC78\uB9B0 \uBB38\uC81C"), openProblem.problem2 ? React__default.createElement(iconUpArrow, null) : React__default.createElement(iconDownArrow, null)), openProblem.problem2 && React__default.createElement(React.Fragment, null, React__default.createElement("div", {
11252
11655
  className: styles$4["wrapperContent"]
11253
- }, data.length ? data.map(function (item) {
11254
- return React__default.createElement("div", {
11255
- className: styles$4["content"],
11256
- key: item.id
11257
- }, React__default.createElement("div", {
11258
- className: styles$4["contentColumn1"]
11259
- }, React__default.createElement("div", null, React__default.createElement("span", {
11260
- className: styles$4["span1"]
11261
- }, "\uBB38\uC81C"), React__default.createElement("span", {
11262
- className: styles$4["span2"]
11263
- }, item.questionOrder + 1, "\uBC88"))), React__default.createElement("div", {
11264
- className: styles$4["contentColumn2"]
11265
- }, React__default.createElement("div", null, React__default.createElement("span", {
11266
- className: styles$4["span1"]
11267
- }, "\uB098\uC758 \uC2DC\uAC04"), React__default.createElement("span", {
11268
- className: styles$4["span2"]
11269
- }, "\uC0C1\uC704\uAD8C \uC2DC\uAC04")), React__default.createElement("div", null, React__default.createElement("span", {
11270
- className: styles$4["duration"]
11271
- }, formatTimeSecond(item.duration, t)), React__default.createElement("span", {
11272
- className: styles$4["topDuration"]
11273
- }, formatTimeSecond(item.topDuration, t)))));
11274
- }) : React__default.createElement("div", {
11275
- className: styles$4["noData"]
11656
+ }, data.length ? isPrint ? renderPrintQuestions() : renderQuestions(data) : React__default.createElement("div", {
11657
+ className: styles$4["noData"] + " " + (isPrint ? PrintContentClassName : "")
11276
11658
  }, "\uB370\uC774\uD130 \uC5C6\uC74C"))));
11277
- }
11659
+ };
11278
11660
 
11279
- function Vulnerable(_ref) {
11661
+ var Vulnerable = function Vulnerable(_ref) {
11280
11662
  var data = _ref.data,
11281
11663
  openProblem = _ref.openProblem,
11282
- changeOpen = _ref.changeOpen;
11664
+ changeOpen = _ref.changeOpen,
11665
+ isPrint = _ref.isPrint;
11283
11666
  var incorrectQuestions = data.questions.filter(function (i) {
11284
11667
  return i.selectedAnswers !== "" && i.isCorrect === false;
11285
11668
  }).sort(function (q1, q2) {
11286
11669
  return q2.overallCorrectRate === q1.overallCorrectRate ? q1.questionOrder - q2.questionOrder : q2.overallCorrectRate - q1.overallCorrectRate;
11287
11670
  });
11671
+ var renderQuestions = function renderQuestions(questions) {
11672
+ return questions.map(function (question) {
11673
+ return React__default.createElement("div", {
11674
+ className: styles$4["content"],
11675
+ key: question.id
11676
+ }, React__default.createElement("div", {
11677
+ className: styles$4["contentColumn1"]
11678
+ }, React__default.createElement("div", null, React__default.createElement("span", {
11679
+ className: styles$4["span1"]
11680
+ }, "\uBB38\uC81C"), React__default.createElement("span", {
11681
+ className: styles$4["span2"]
11682
+ }, question.questionOrder + 1, "\uBC88"))), React__default.createElement("div", {
11683
+ className: styles$4["contentColumn2"]
11684
+ }, React__default.createElement("div", null, React__default.createElement("span", {
11685
+ className: styles$4["span1"]
11686
+ }, "\uC804\uCCB4 \uC815\uB2F5\uB960"), React__default.createElement("span", {
11687
+ className: styles$4["span2"]
11688
+ }, "\uB098\uC758 \uC624\uB2F5")), React__default.createElement("div", null, React__default.createElement("span", {
11689
+ className: styles$4["overallCorrectRate"]
11690
+ }, question.overallCorrectRate.toFixed(2), "%"), React__default.createElement("span", {
11691
+ className: styles$4["answer"]
11692
+ }, question.selectedAnswers, "\uBC88 (\uC815\uB2F5", " ", question.correctAnswers, "\uBC88)"))));
11693
+ });
11694
+ };
11695
+ var renderPrintQuestions = function renderPrintQuestions(questions) {
11696
+ var chunkedQuestions = _.chunk(questions, 5);
11697
+ return chunkedQuestions.map(function (i, index) {
11698
+ return React__default.createElement("div", {
11699
+ key: index,
11700
+ className: PrintContentClassName
11701
+ }, renderQuestions(i));
11702
+ });
11703
+ };
11288
11704
  return React__default.createElement("div", {
11289
- className: styles$4["wrapperProblem"]
11705
+ className: styles$4["wrapperProblem"] + " " + PrintContainerClassName
11290
11706
  }, React__default.createElement("div", {
11291
- className: !openProblem.problem3 ? styles$4["titleProblemClose"] : styles$4["titleProblem"],
11707
+ className: (!openProblem.problem3 ? styles$4["titleProblemClose"] : styles$4["titleProblem"]) + " " + (isPrint ? PrintHeaderClassName : ""),
11292
11708
  onClick: function onClick() {
11293
11709
  return changeOpen(_extends({}, openProblem, {
11294
11710
  problem3: !openProblem.problem3
@@ -11302,40 +11718,51 @@ function Vulnerable(_ref) {
11302
11718
  }
11303
11719
  }, "\uB0B4\uAC00 \uCDE8\uC57D\uD55C \uBB38\uC81C"), openProblem.problem3 ? React__default.createElement(iconUpArrow, null) : React__default.createElement(iconDownArrow, null)), openProblem.problem3 && React__default.createElement(React.Fragment, null, React__default.createElement("div", {
11304
11720
  className: styles$4["wrapperContent"]
11305
- }, incorrectQuestions.length ? React__default.createElement(React.Fragment, null, incorrectQuestions.map(function (question) {
11306
- return React__default.createElement("div", {
11307
- className: styles$4["content"],
11308
- key: question.id
11309
- }, React__default.createElement("div", {
11310
- className: styles$4["contentColumn1"]
11311
- }, React__default.createElement("div", null, React__default.createElement("span", {
11312
- className: styles$4["span1"]
11313
- }, "\uBB38\uC81C"), React__default.createElement("span", {
11314
- className: styles$4["span2"]
11315
- }, question.questionOrder + 1, "\uBC88"))), React__default.createElement("div", {
11316
- className: styles$4["contentColumn2"]
11317
- }, React__default.createElement("div", null, React__default.createElement("span", {
11318
- className: styles$4["span1"]
11319
- }, "\uC804\uCCB4 \uC815\uB2F5\uB960"), React__default.createElement("span", {
11320
- className: styles$4["span2"]
11321
- }, "\uB098\uC758 \uC624\uB2F5")), React__default.createElement("div", null, React__default.createElement("span", {
11322
- className: styles$4["overallCorrectRate"]
11323
- }, question.overallCorrectRate.toFixed(2), "%"), React__default.createElement("span", {
11324
- className: styles$4["answer"]
11325
- }, question.selectedAnswers, "\uBC88 (\uC815\uB2F5", " ", question.correctAnswers, "\uBC88)"))));
11326
- })) : React__default.createElement("div", {
11327
- className: styles$4["noData"]
11721
+ }, isPrint ? renderPrintQuestions(incorrectQuestions) : renderQuestions(incorrectQuestions), !incorrectQuestions.length && React__default.createElement("div", {
11722
+ className: styles$4["noData"] + " " + (isPrint ? PrintContentClassName : "")
11328
11723
  }, "\uB370\uC774\uD130 \uC5C6\uC74C"))));
11329
- }
11724
+ };
11330
11725
 
11331
- function GradesByTerritory(_ref) {
11726
+ var GradesByTerritory = function GradesByTerritory(_ref) {
11332
11727
  var data = _ref.data,
11333
11728
  openProblem = _ref.openProblem,
11334
- changeOpen = _ref.changeOpen;
11729
+ changeOpen = _ref.changeOpen,
11730
+ isPrint = _ref.isPrint;
11731
+ var renderCategories = function renderCategories(data) {
11732
+ return data.map(function (item) {
11733
+ var trackStyle = {
11734
+ left: item.percentageAmongStudents + "%"
11735
+ };
11736
+ return React__default.createElement("div", {
11737
+ className: styles$4["contentProblem"],
11738
+ key: item.id
11739
+ }, React__default.createElement("div", {
11740
+ className: styles$4["labelProblem"]
11741
+ }, React__default.createElement("span", {
11742
+ className: styles$4["name"]
11743
+ }, item.name), React__default.createElement("div", {
11744
+ className: styles$4["percent"]
11745
+ }, React__default.createElement("span", null, item.percentageAmongStudents.toFixed(2), "%"), React__default.createElement("span", null, item.totalCorrectQuestions, "/", item.totalQuestions, "\uBB38\uC81C"))), React__default.createElement("div", {
11746
+ className: styles$4["slider"]
11747
+ }, React__default.createElement("div", null, React__default.createElement("span", {
11748
+ className: styles$4["track"],
11749
+ style: trackStyle
11750
+ }))));
11751
+ });
11752
+ };
11753
+ var renderPrintCategories = function renderPrintCategories() {
11754
+ var chunkedCategories = _.chunk(data, 5);
11755
+ return chunkedCategories.map(function (i, index) {
11756
+ return React__default.createElement("div", {
11757
+ key: index,
11758
+ className: PrintContentClassName
11759
+ }, renderCategories(i));
11760
+ });
11761
+ };
11335
11762
  return React__default.createElement("div", {
11336
- className: styles$4["wrapperProblem"]
11763
+ className: styles$4["wrapperProblem"] + " " + (isPrint ? PrintContainerClassName : "")
11337
11764
  }, React__default.createElement("div", {
11338
- className: !openProblem.problem4 ? styles$4["titleProblemClose"] : styles$4["titleProblem"],
11765
+ className: (!openProblem.problem4 ? styles$4["titleProblemClose"] : styles$4["titleProblem"]) + " " + (isPrint ? PrintHeaderClassName : ""),
11339
11766
  onClick: function onClick() {
11340
11767
  return changeOpen(_extends({}, openProblem, {
11341
11768
  problem4: !openProblem.problem4
@@ -11349,28 +11776,10 @@ function GradesByTerritory(_ref) {
11349
11776
  }
11350
11777
  }, "\uC601\uC5ED\uBCC4 \uC131\uC801"), openProblem.problem4 ? React__default.createElement(iconUpArrow, null) : React__default.createElement(iconDownArrow, null)), openProblem.problem4 && React__default.createElement("div", {
11351
11778
  className: styles$4["wrappContentProblem"]
11352
- }, data.length && data.map(function (item) {
11353
- return React__default.createElement("div", {
11354
- className: styles$4["contentProblem"],
11355
- key: item.id
11356
- }, React__default.createElement("div", {
11357
- className: styles$4["labelProblem"]
11358
- }, React__default.createElement("span", {
11359
- className: styles$4["name"]
11360
- }, item.name), React__default.createElement("div", {
11361
- className: styles$4["percent"]
11362
- }, React__default.createElement("span", null, item.percentageAmongStudents.toFixed(2), "%"), React__default.createElement("span", null, item.totalCorrectQuestions, "/", item.totalQuestions, "\uBB38\uC81C"))), React__default.createElement("div", {
11363
- className: styles$4["slider"]
11364
- }, React__default.createElement("span", {
11365
- className: styles$4["track"],
11366
- style: {
11367
- left: item.percentageAmongStudents + "%"
11368
- }
11369
- })));
11370
- }), openProblem.problem4 && !data.length && React__default.createElement("div", {
11371
- className: styles$4["noData"]
11779
+ }, isPrint ? renderPrintCategories() : renderCategories(data), openProblem.problem4 && !data.length && React__default.createElement("div", {
11780
+ className: styles$4["noData"] + " " + (isPrint ? PrintContentClassName : "")
11372
11781
  }, "\uB370\uC774\uD130 \uC5C6\uC74C")));
11373
- }
11782
+ };
11374
11783
 
11375
11784
  var useCreateQuestionDialog$1 = function useCreateQuestionDialog() {
11376
11785
  var _useState = React.useState(false),
@@ -11599,8 +12008,7 @@ var ExamResultV2 = function ExamResultV2(_ref) {
11599
12008
  }
11600
12009
  }, React__default.createElement(material.Grid, {
11601
12010
  container: true,
11602
- padding: "24px",
11603
- id: "header-canvas"
12011
+ padding: "24px"
11604
12012
  }, React__default.createElement(material.Grid, {
11605
12013
  item: true
11606
12014
  }, resultDatas.courseName && React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
@@ -11810,14 +12218,104 @@ var ExamResultV2 = function ExamResultV2(_ref) {
11810
12218
  className: "position-absolute",
11811
12219
  sx: {
11812
12220
  zIndex: -1,
11813
- width: "100%"
12221
+ width: "1024px"
11814
12222
  },
11815
12223
  id: "canvas"
11816
- }, React__default.createElement(material.Stack, {
12224
+ }, React__default.createElement(material.Grid, {
12225
+ container: true,
12226
+ padding: "24px",
12227
+ id: "header-canvas"
12228
+ }, React__default.createElement(material.Grid, {
12229
+ item: true
12230
+ }, resultDatas.courseName && React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
12231
+ sx: {
12232
+ fontSize: "14px",
12233
+ fontWeight: 600,
12234
+ color: "#C3C5FE"
12235
+ }
12236
+ }, resultDatas.courseName)), React__default.createElement(material.Box, {
12237
+ display: "flex",
12238
+ gap: "16px",
12239
+ flexDirection: "column"
12240
+ }, React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
12241
+ sx: {
12242
+ fontSize: "20px",
12243
+ fontWeight: 600,
12244
+ color: "#5458D5"
12245
+ }
12246
+ }, resultDatas.title)), React__default.createElement(material.Stack, {
12247
+ flexDirection: "row",
12248
+ gap: "16px"
12249
+ }, React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
12250
+ sx: {
12251
+ fontSize: "13px",
12252
+ fontWeight: 600,
12253
+ color: "#97A1AF"
12254
+ }
12255
+ }, t("my_score")), React__default.createElement(material.Typography, {
12256
+ sx: {
12257
+ fontSize: "14px",
12258
+ fontWeight: 600,
12259
+ color: "#5458D5"
12260
+ }
12261
+ }, t("score_format", {
12262
+ score: resultDatas === null || resultDatas === void 0 ? void 0 : resultDatas.score
12263
+ }))), React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
12264
+ sx: {
12265
+ fontSize: "13px",
12266
+ fontWeight: 600,
12267
+ color: "#97A1AF"
12268
+ }
12269
+ }, t("exam_date")), React__default.createElement(material.Typography, {
12270
+ sx: {
12271
+ fontSize: "14px",
12272
+ fontWeight: 600,
12273
+ color: "#414E62"
12274
+ }
12275
+ }, utcToLocalTime(resultDatas === null || resultDatas === void 0 ? void 0 : resultDatas.startTime, t("date_format")))), React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
12276
+ sx: {
12277
+ fontSize: "13px",
12278
+ fontWeight: 600,
12279
+ color: "#97A1AF"
12280
+ }
12281
+ }, t("exam_time")), React__default.createElement(material.Typography, {
12282
+ sx: {
12283
+ fontSize: "14px",
12284
+ fontWeight: 600,
12285
+ color: "#414E62"
12286
+ }
12287
+ }, moment(resultDatas === null || resultDatas === void 0 ? void 0 : resultDatas.startTime, "HH:mm").format("hh:mm") + " ~ " + moment(resultDatas === null || resultDatas === void 0 ? void 0 : resultDatas.finishTime, "HH:mm").format("hh:mm"))), React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
12288
+ sx: {
12289
+ fontSize: "13px",
12290
+ fontWeight: 600,
12291
+ color: "#97A1AF"
12292
+ }
12293
+ }, t("total_students")), React__default.createElement(material.Typography, {
12294
+ sx: {
12295
+ fontSize: "14px",
12296
+ fontWeight: 600,
12297
+ color: "#414E62"
12298
+ }
12299
+ }, t("number_people", {
12300
+ number: resultDatas === null || resultDatas === void 0 ? void 0 : resultDatas.totalStudent
12301
+ }))), React__default.createElement(material.Stack, null, React__default.createElement(material.Typography, {
12302
+ sx: {
12303
+ fontSize: "13px",
12304
+ fontWeight: 600,
12305
+ color: "#97A1AF"
12306
+ }
12307
+ }, t("teacher_in_charge")), React__default.createElement(material.Typography, {
12308
+ sx: {
12309
+ fontSize: "14px",
12310
+ fontWeight: 600,
12311
+ color: "#414E62"
12312
+ }
12313
+ }, resultDatas === null || resultDatas === void 0 ? void 0 : resultDatas.teacherName)))))), React__default.createElement(material.Stack, {
11817
12314
  display: "flex",
11818
12315
  flexDirection: "column",
11819
12316
  gap: "12px"
11820
12317
  }, React__default.createElement(material.Typography, {
12318
+ className: "chart-title",
11821
12319
  sx: {
11822
12320
  fontSize: "16px",
11823
12321
  fontWeight: 700,
@@ -11826,7 +12324,8 @@ var ExamResultV2 = function ExamResultV2(_ref) {
11826
12324
  }, t(TabList[0].label)), React__default.createElement(MyAnswer, {
11827
12325
  data: resultDatas,
11828
12326
  categories: categoryResponses,
11829
- isStudent: isStudent
12327
+ isStudent: isStudent,
12328
+ isPrint: true
11830
12329
  })), React__default.createElement(material.Stack, {
11831
12330
  display: "flex",
11832
12331
  flexDirection: "column",
@@ -11858,19 +12357,22 @@ var ExamResultV2 = function ExamResultV2(_ref) {
11858
12357
  gap: "12px",
11859
12358
  marginTop: "24px"
11860
12359
  }, React__default.createElement(material.Typography, {
12360
+ className: "chart-title",
11861
12361
  sx: {
11862
12362
  fontSize: "16px",
11863
12363
  fontWeight: 700,
11864
12364
  color: "#414E62"
11865
12365
  }
11866
12366
  }, t(TabList[2].label)), React__default.createElement(CompareGrass, {
11867
- effectSize: effectSize
12367
+ effectSize: effectSize,
12368
+ isPrint: true
11868
12369
  })), React__default.createElement(material.Stack, {
11869
12370
  display: "flex",
11870
12371
  flexDirection: "column",
11871
12372
  gap: "12px",
11872
12373
  marginTop: "24px"
11873
12374
  }, React__default.createElement(material.Typography, {
12375
+ className: "chart-title",
11874
12376
  sx: {
11875
12377
  fontSize: "16px",
11876
12378
  fontWeight: 700,
@@ -11881,25 +12383,29 @@ var ExamResultV2 = function ExamResultV2(_ref) {
11881
12383
  openProblem: _extends({}, openProblem, {
11882
12384
  problem1: true
11883
12385
  }),
11884
- changeOpen: setOpenProblem
12386
+ changeOpen: setOpenProblem,
12387
+ isPrint: true
11885
12388
  }), React__default.createElement(Vulnerable, {
11886
12389
  data: resultDatas,
11887
12390
  openProblem: _extends({}, openProblem, {
11888
12391
  problem3: true
11889
12392
  }),
11890
- changeOpen: setOpenProblem
12393
+ changeOpen: setOpenProblem,
12394
+ isPrint: true
11891
12395
  }), React__default.createElement(ProtractedProblem, {
11892
12396
  data: longTimeSpend,
11893
12397
  openProblem: _extends({}, openProblem, {
11894
12398
  problem2: true
11895
12399
  }),
11896
- changeOpen: setOpenProblem
12400
+ changeOpen: setOpenProblem,
12401
+ isPrint: true
11897
12402
  }), React__default.createElement(GradesByTerritory, {
11898
12403
  data: categoryResponses,
11899
12404
  openProblem: _extends({}, openProblem, {
11900
12405
  problem4: true
11901
12406
  }),
11902
- changeOpen: setOpenProblem
12407
+ changeOpen: setOpenProblem,
12408
+ isPrint: true
11903
12409
  })))), React__default.createElement(CreateNewQuestionDialog$1, {
11904
12410
  examSessionId: resultDatas === null || resultDatas === void 0 ? void 0 : resultDatas.examSessionId,
11905
12411
  handleCreateQuestion: handleCreateQuestion,