touchstudy-core 0.1.183 → 0.1.184

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.
@@ -11701,10 +11701,10 @@ var isEqual$2 = function isEqual(prev, next) {
11701
11701
  };
11702
11702
  var QuestionBlock$1 = memo(QuestionBlock, isEqual$2);
11703
11703
 
11704
- var _excluded$7 = ["data", "path", "isMath", "open", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "categories", "questionTypes", "disabled", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
11704
+ var _excluded$7 = ["data", "path", "isMath", "open", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "categories", "questionTypes", "disabled", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu", "onQuestioStartOrderChange"];
11705
11705
  var _$3 = _$a;
11706
11706
  var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
11707
- var _data$articles$3, _data$articles$3$cate, _data$articles$4, _data$articles$4$cate;
11707
+ var _data$articles$3, _data$articles$3$cate, _data$articles$4, _data$articles$4$cate, _questions$2;
11708
11708
  var data = _ref.data,
11709
11709
  path = _ref.path,
11710
11710
  isMath = _ref.isMath,
@@ -11721,8 +11721,10 @@ var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
11721
11721
  onCloseCategoryMenu = _ref.onCloseCategoryMenu,
11722
11722
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
11723
11723
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
11724
+ onQuestioStartOrderChange = _ref.onQuestioStartOrderChange,
11724
11725
  formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$7);
11725
11726
  var errors = formikProps.errors;
11727
+ var startOrderRef = useRef(null);
11726
11728
  var articles = data.articles,
11727
11729
  questions = data.questions;
11728
11730
  var blockErrors = _$3.get(errors, path);
@@ -11730,6 +11732,22 @@ var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
11730
11732
  var _data$articles$, _data$articles$$categ, _data$articles$2, _data$articles$2$cate;
11731
11733
  onOpenQuestionTypeMenu(key, (_data$articles$ = data.articles[0]) === null || _data$articles$ === void 0 ? void 0 : (_data$articles$$categ = _data$articles$.categories) === null || _data$articles$$categ === void 0 ? void 0 : _data$articles$$categ[0], (_data$articles$2 = data.articles[0]) === null || _data$articles$2 === void 0 ? void 0 : (_data$articles$2$cate = _data$articles$2.categories) === null || _data$articles$2$cate === void 0 ? void 0 : _data$articles$2$cate[1]);
11732
11734
  }, [(_data$articles$3 = data.articles[0]) === null || _data$articles$3 === void 0 ? void 0 : (_data$articles$3$cate = _data$articles$3.categories) === null || _data$articles$3$cate === void 0 ? void 0 : _data$articles$3$cate[0], (_data$articles$4 = data.articles[0]) === null || _data$articles$4 === void 0 ? void 0 : (_data$articles$4$cate = _data$articles$4.categories) === null || _data$articles$4$cate === void 0 ? void 0 : _data$articles$4$cate[1]]);
11735
+ var debounceQuestionStartOrderChange = _$3.debounce(onQuestioStartOrderChange, 300);
11736
+ var handleChangeStartQuestionOrder = function handleChangeStartQuestionOrder(e) {
11737
+ var value = e.target.value.replace(/\D/g, '');
11738
+ var order = +value;
11739
+ if (Number.isNaN(order) || order === 0) {
11740
+ order = 1;
11741
+ if (order === 0 && startOrderRef.current) {
11742
+ startOrderRef.current.value = "1";
11743
+ }
11744
+ }
11745
+ debounceQuestionStartOrderChange(order - 1);
11746
+ };
11747
+ useEffect(function () {
11748
+ var _questions$;
11749
+ if (startOrderRef.current) startOrderRef.current.value = "" + ((((_questions$ = questions[0]) === null || _questions$ === void 0 ? void 0 : _questions$.questionOrder) || 0) + 1);
11750
+ }, [(_questions$2 = questions[0]) === null || _questions$2 === void 0 ? void 0 : _questions$2.questionOrder]);
11733
11751
  return React__default.createElement(FieldArray, {
11734
11752
  name: path + ".articles",
11735
11753
  render: function render(arrayHelpers) {
@@ -11782,7 +11800,26 @@ var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
11782
11800
  }, t$1(isMath ? "article" : "korean_article")))), React__default.createElement(Stack, {
11783
11801
  gap: 1,
11784
11802
  direction: "column"
11785
- }, React__default.createElement(ListView, {
11803
+ }, React__default.createElement(Box, null, React__default.createElement(FormControl, {
11804
+ sx: {
11805
+ display: "flex",
11806
+ flexDirection: "row",
11807
+ alignItems: "center",
11808
+ gap: 1
11809
+ }
11810
+ }, React__default.createElement(FormLabel, {
11811
+ sx: {
11812
+ fontWeight: 600
11813
+ },
11814
+ htmlFor: "start_order"
11815
+ }, t$1("start_order")), React__default.createElement(TextField, {
11816
+ id: "start_order",
11817
+ inputRef: startOrderRef,
11818
+ onChange: handleChangeStartQuestionOrder,
11819
+ type: "number",
11820
+ size: "small",
11821
+ disabled: disabled
11822
+ }))), React__default.createElement(ListView, {
11786
11823
  data: questions,
11787
11824
  render: function render(question, index) {
11788
11825
  return React__default.createElement(QuestionBlock$1, Object.assign({
@@ -11828,7 +11865,7 @@ var isEqual$3 = function isEqual(prev, next) {
11828
11865
  };
11829
11866
  var QuestionGroupBlockBody$1 = memo(QuestionGroupBlockBody, isEqual$3);
11830
11867
 
11831
- var _excluded$8 = ["expandedIndex", "open", "paths", "path", "isMath", "data", "categories", "isLoadingCategories", "isLoadingQuestionTypes", "questionTypes", "optionKey", "disabled", "onToggle", "onQuestionCountChange", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
11868
+ var _excluded$8 = ["expandedIndex", "open", "paths", "path", "isMath", "data", "categories", "isLoadingCategories", "isLoadingQuestionTypes", "questionTypes", "optionKey", "disabled", "isTextbook", "onToggle", "onQuestionCountChange", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
11832
11869
  var _$4 = _$a;
11833
11870
  var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
11834
11871
  var _data$articles$3, _data$articles$3$cate, _data$articles$3$cate2, _data$articles$4, _data$articles$4$cate, _data$articles$4$cate2;
@@ -11844,6 +11881,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
11844
11881
  questionTypes = _ref.questionTypes,
11845
11882
  optionKey = _ref.optionKey,
11846
11883
  disabled = _ref.disabled,
11884
+ isTextbook = _ref.isTextbook,
11847
11885
  onToggle = _ref.onToggle,
11848
11886
  onQuestionCountChange = _ref.onQuestionCountChange,
11849
11887
  onDelete = _ref.onDelete,
@@ -11876,6 +11914,16 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
11876
11914
  setFieldValue(path + ".questionCount", questionCount);
11877
11915
  onQuestionCountChange(questionCount, expandedIndex);
11878
11916
  };
11917
+ var handleChangeStartQuestionOrder = function handleChangeStartQuestionOrder(order) {
11918
+ var _questions$;
11919
+ var questions = data.questions;
11920
+ if (((_questions$ = questions[0]) === null || _questions$ === void 0 ? void 0 : _questions$.questionOrder) === order) return;
11921
+ setFieldValue(path + ".questions", questions.map(function (q, index) {
11922
+ return _extends({}, q, {
11923
+ questionOrder: order + index
11924
+ });
11925
+ }));
11926
+ };
11879
11927
  var handleChangeAnswerCount = function handleChangeAnswerCount(val) {
11880
11928
  var answerCount = (val === null || val === void 0 ? void 0 : val.value) || 1;
11881
11929
  setFieldValue(path + ".answerCount", answerCount);
@@ -11946,6 +11994,8 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
11946
11994
  }).join(",") : ""].filter(function (i) {
11947
11995
  return !!i;
11948
11996
  }).join(" / ");
11997
+ var pageFromError = _$4.get(errors, path + ".pageFrom");
11998
+ var pageToError = _$4.get(errors, path + ".pageTo");
11949
11999
  var categoryError = _$4.get(errors, path + ".articles[0].categories");
11950
12000
  var blockErrors = _$4.get(errors, path);
11951
12001
  return React__default.createElement(Accordion, {
@@ -12125,7 +12175,65 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
12125
12175
  isDisabled: disabled
12126
12176
  }));
12127
12177
  }
12128
- })))), isMath && React__default.createElement(Box, {
12178
+ }))), !isMath && isTextbook && React__default.createElement(Grid, {
12179
+ item: true,
12180
+ xs: 3
12181
+ }, React__default.createElement(FormGroup, {
12182
+ sx: {
12183
+ marginRight: 2
12184
+ }
12185
+ }, React__default.createElement(FormLabel, {
12186
+ htmlFor: "question_count",
12187
+ className: "form-label"
12188
+ }, t("page_from")), React__default.createElement(Field, {
12189
+ name: path + ".pageFrom",
12190
+ render: function render(_ref6) {
12191
+ var field = _ref6.field;
12192
+ return React__default.createElement(TextField, Object.assign({
12193
+ placeholder: t("page_from"),
12194
+ type: "number"
12195
+ }, field, {
12196
+ size: "small",
12197
+ onKeyDown: handleKeyDown,
12198
+ disabled: disabled
12199
+ }));
12200
+ }
12201
+ }), !!pageFromError && React__default.createElement(Typography, {
12202
+ fontWeight: 500,
12203
+ fontSize: "10px",
12204
+ lineHeight: "11.93px",
12205
+ mt: 1,
12206
+ color: !pageFromError ? "#97A1AF" : "#F34B4B"
12207
+ }, pageFromError))), !isMath && isTextbook && React__default.createElement(Grid, {
12208
+ item: true,
12209
+ xs: 3
12210
+ }, React__default.createElement(FormGroup, {
12211
+ sx: {
12212
+ marginRight: 2
12213
+ }
12214
+ }, React__default.createElement(FormLabel, {
12215
+ htmlFor: "question_count",
12216
+ className: "form-label"
12217
+ }, t("page_to")), React__default.createElement(Field, {
12218
+ name: path + ".pageTo",
12219
+ render: function render(_ref7) {
12220
+ var field = _ref7.field;
12221
+ return React__default.createElement(TextField, Object.assign({
12222
+ placeholder: t("page_to"),
12223
+ type: "number"
12224
+ }, field, {
12225
+ size: "small",
12226
+ onKeyDown: handleKeyDown,
12227
+ disabled: disabled
12228
+ }));
12229
+ }
12230
+ }), !!pageToError && React__default.createElement(Typography, {
12231
+ fontWeight: 500,
12232
+ fontSize: "10px",
12233
+ lineHeight: "11.93px",
12234
+ mt: 1,
12235
+ color: !pageToError ? "#97A1AF" : "#F34B4B"
12236
+ }, pageToError)))), isMath && React__default.createElement(Box, {
12129
12237
  sx: {
12130
12238
  display: "flex"
12131
12239
  }
@@ -12137,6 +12245,83 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
12137
12245
  sx: {
12138
12246
  whiteSpace: "nowrap"
12139
12247
  }
12248
+ }, t("category_copy")))), isMath && isTextbook && React__default.createElement(Stack, {
12249
+ direction: "row",
12250
+ flexWrap: "nowrap"
12251
+ }, React__default.createElement(Grid, {
12252
+ container: true,
12253
+ flexGrow: 1,
12254
+ direction: "row"
12255
+ }, React__default.createElement(Grid, {
12256
+ item: true,
12257
+ xs: 3
12258
+ }, React__default.createElement(FormGroup, {
12259
+ sx: {
12260
+ marginRight: 2
12261
+ }
12262
+ }, React__default.createElement(FormLabel, {
12263
+ htmlFor: "question_count",
12264
+ className: "form-label"
12265
+ }, t("page_from")), React__default.createElement(Field, {
12266
+ name: path + ".pageFrom",
12267
+ render: function render(_ref8) {
12268
+ var field = _ref8.field;
12269
+ return React__default.createElement(TextField, Object.assign({
12270
+ placeholder: t("page_from"),
12271
+ type: "number"
12272
+ }, field, {
12273
+ size: "small",
12274
+ onKeyDown: handleKeyDown,
12275
+ disabled: disabled
12276
+ }));
12277
+ }
12278
+ }), !!pageFromError && React__default.createElement(Typography, {
12279
+ fontWeight: 500,
12280
+ fontSize: "10px",
12281
+ lineHeight: "11.93px",
12282
+ mt: 1,
12283
+ color: !pageFromError ? "#97A1AF" : "#F34B4B"
12284
+ }, pageFromError))), React__default.createElement(Grid, {
12285
+ item: true,
12286
+ xs: 3
12287
+ }, React__default.createElement(FormGroup, {
12288
+ sx: {
12289
+ marginRight: 2
12290
+ }
12291
+ }, React__default.createElement(FormLabel, {
12292
+ htmlFor: "question_count",
12293
+ className: "form-label"
12294
+ }, t("page_to")), React__default.createElement(Field, {
12295
+ name: path + ".pageTo",
12296
+ render: function render(_ref9) {
12297
+ var field = _ref9.field;
12298
+ return React__default.createElement(TextField, Object.assign({
12299
+ placeholder: t("page_to"),
12300
+ type: "number"
12301
+ }, field, {
12302
+ size: "small",
12303
+ onKeyDown: handleKeyDown,
12304
+ disabled: disabled
12305
+ }));
12306
+ }
12307
+ }), !!pageToError && React__default.createElement(Typography, {
12308
+ fontWeight: 500,
12309
+ fontSize: "10px",
12310
+ lineHeight: "11.93px",
12311
+ mt: 1,
12312
+ color: !pageToError ? "#97A1AF" : "#F34B4B"
12313
+ }, pageToError)))), React__default.createElement(Box, {
12314
+ sx: {
12315
+ display: "flex",
12316
+ visibility: "hidden"
12317
+ }
12318
+ }, React__default.createElement(Button, {
12319
+ variant: "contained",
12320
+ color: "success",
12321
+ disabled: true,
12322
+ sx: {
12323
+ whiteSpace: "nowrap"
12324
+ }
12140
12325
  }, t("category_copy"))))) : React__default.createElement(Typography, {
12141
12326
  fontWeight: 600,
12142
12327
  sx: {
@@ -12159,6 +12344,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
12159
12344
  isLoadingQuestionTypes: isLoadingQuestionTypes,
12160
12345
  optionKey: optionKey,
12161
12346
  disabled: disabled,
12347
+ onQuestioStartOrderChange: handleChangeStartQuestionOrder,
12162
12348
  onDelete: onDelete,
12163
12349
  onOpenSubCategoryMenu: onOpenSubCategoryMenu,
12164
12350
  onOpenCategoryMenu: onOpenCategoryMenu,
@@ -16613,7 +16799,7 @@ var ActionsTooltip = function ActionsTooltip(_ref) {
16613
16799
  };
16614
16800
 
16615
16801
  var NoteItem = function NoteItem(_ref) {
16616
- var _user$roles;
16802
+ var _user$roles, _data$questionGroupIn;
16617
16803
  var data = _ref.data,
16618
16804
  openTooltip = _ref.openTooltip,
16619
16805
  actions = _ref.actions,
@@ -16668,7 +16854,7 @@ var NoteItem = function NoteItem(_ref) {
16668
16854
  direction: "row",
16669
16855
  alignItems: "center",
16670
16856
  gap: 1
16671
- }, React__default.createElement(Typography, Object.assign({}, NoteItemStyles.text.left), data.examSessionId ? t("article") + " " + data.articleNumber : "" + data.fullName), React__default.createElement(Typography, Object.assign({}, NoteItemStyles.text.middle), data.examSessionId ? "" + t("number_question", {
16857
+ }, React__default.createElement(Typography, Object.assign({}, NoteItemStyles.text.left), data.examSessionId ? t("article") + " " + (((_data$questionGroupIn = data.questionGroupIndex) != null ? _data$questionGroupIn : 0) + 1) : "" + data.fullName), React__default.createElement(Typography, Object.assign({}, NoteItemStyles.text.middle), data.examSessionId ? "" + t("number_question", {
16672
16858
  number: (data.questionOrder || 0) + 1
16673
16859
  }) : "" + utcToLocalTime(data.createdAt, t("date_format") + " HH:mm")), data.examSessionId && React__default.createElement(Typography, Object.assign({}, NoteItemStyles.text.right), data.categoryName)), React__default.createElement(Typography, Object.assign({
16674
16860
  className: "truncate"
@@ -19984,7 +20170,7 @@ var AnswerItem = function AnswerItem(_ref) {
19984
20170
  return React__default.createElement("div", {
19985
20171
  className: "" + printStyles["avoid-break-inside"],
19986
20172
  style: {
19987
- borderBottom: (data === null || data === void 0 ? void 0 : data.article) !== (nextData === null || nextData === void 0 ? void 0 : nextData.article) && !isFirst && !isLast ? "1px solid #E4E7EC" : ""
20173
+ borderBottom: (data === null || data === void 0 ? void 0 : data.questionGroupIndex) !== (nextData === null || nextData === void 0 ? void 0 : nextData.questionGroupIndex) && !isFirst && !isLast ? "1px solid #E4E7EC" : ""
19988
20174
  },
19989
20175
  key: data.id
19990
20176
  }, React__default.createElement("div", {
@@ -21173,9 +21359,9 @@ var TimeOrderChart = function TimeOrderChart(_ref) {
21173
21359
  });
21174
21360
  useEffect(function () {
21175
21361
  if (chartRef.current) {
21176
- setIsRendered(timelyOrderQuestion.article);
21362
+ setIsRendered(timelyOrderQuestion.questionGroupIndex);
21177
21363
  }
21178
- }, [timelyOrderQuestion.article]);
21364
+ }, [timelyOrderQuestion.questionGroupIndex]);
21179
21365
  return React__default.createElement("div", {
21180
21366
  className: "" + printStyles["avoid-break-inside"]
21181
21367
  }, React__default.createElement(Typography, {
@@ -21185,7 +21371,7 @@ var TimeOrderChart = function TimeOrderChart(_ref) {
21185
21371
  fontWeight: 700,
21186
21372
  color: "#414E62"
21187
21373
  }
21188
- }, t("article_number"), " ", timelyOrderQuestion.article), React__default.createElement("div", {
21374
+ }, t("article_number"), " ", timelyOrderQuestion.questionGroupIndex + 1), React__default.createElement("div", {
21189
21375
  className: styles$7["compareChart"] + " " + printStyles["avoid-break-inside"]
21190
21376
  }, React__default.createElement("div", {
21191
21377
  className: "" + styles$7["prevChart"]
@@ -21232,7 +21418,7 @@ var TextbookAnswerItem = function TextbookAnswerItem(_ref) {
21232
21418
  return React__default.createElement("div", {
21233
21419
  className: "" + printStyles["avoid-break-inside"],
21234
21420
  style: {
21235
- borderBottom: (data === null || data === void 0 ? void 0 : data.article) !== (nextData === null || nextData === void 0 ? void 0 : nextData.article) && !isFirst && !isLast ? "1px solid #E4E7EC" : ""
21421
+ borderBottom: (data === null || data === void 0 ? void 0 : data.questionGroupIndex) !== (nextData === null || nextData === void 0 ? void 0 : nextData.questionGroupIndex) && !isFirst && !isLast ? "1px solid #E4E7EC" : ""
21236
21422
  },
21237
21423
  key: data.id
21238
21424
  }, React__default.createElement("div", {
@@ -32396,7 +32582,8 @@ var ExamDetailForm = function ExamDetailForm(_ref) {
32396
32582
  onQuestionCountChange: handleChangeQuestionCount,
32397
32583
  onCopiedPrevQuestionGroup: handleCopiedPrevQuestionGroup,
32398
32584
  onDelete: handleOpenConfirmDelete,
32399
- isMath: isMath
32585
+ isMath: isMath,
32586
+ isTextbook: false
32400
32587
  }, formikProps));
32401
32588
  }
32402
32589
  }))), React__default.createElement(Grid, {
@@ -33508,255 +33695,6 @@ var ArticleDialog = function ArticleDialog(_ref) {
33508
33695
  }, t("add")))));
33509
33696
  };
33510
33697
 
33511
- var _ChapterBox = function ChapterBox(_ref) {
33512
- var parentChapterId = _ref.parentChapterId,
33513
- data = _ref.data,
33514
- subject = _ref.subject,
33515
- categoryOptions = _ref.categoryOptions,
33516
- isReadonly = _ref.isReadonly,
33517
- onClickAddSubchapter = _ref.onClickAddSubchapter,
33518
- onChangeName = _ref.onChangeName,
33519
- onChangePageFrom = _ref.onChangePageFrom,
33520
- onChangePageTo = _ref.onChangePageTo,
33521
- onAddArticle = _ref.onAddArticle,
33522
- onRemoveArticle = _ref.onRemoveArticle,
33523
- handleCheckArticle = _ref.handleCheckArticle,
33524
- onUpdateArticleQuestionCount = _ref.onUpdateArticleQuestionCount,
33525
- onUpdateArticleCategory = _ref.onUpdateArticleCategory,
33526
- onUpdateArticleQuestionAnswerCount = _ref.onUpdateArticleQuestionAnswerCount,
33527
- onUpdateArticleQuestion = _ref.onUpdateArticleQuestion,
33528
- onRemoveChapter = _ref.onRemoveChapter;
33529
- var _useTranslation = useTranslation(),
33530
- t = _useTranslation.t;
33531
- var _useState = useState(false),
33532
- isEditName = _useState[0],
33533
- setEditName = _useState[1];
33534
- var toggleEditName = function toggleEditName() {
33535
- if (isReadonly) {
33536
- setEditName(false);
33537
- return;
33538
- }
33539
- setEditName(!isEditName);
33540
- };
33541
- var handleKeyEnterName = function handleKeyEnterName(e) {
33542
- if (e.key === "Enter") {
33543
- handleSaveChapter(toggleEditName);
33544
- }
33545
- };
33546
- var handleSaveChapter = function handleSaveChapter(callback) {
33547
- callback();
33548
- };
33549
- var handleRemoveChapter = function handleRemoveChapter() {
33550
- onRemoveChapter === null || onRemoveChapter === void 0 ? void 0 : onRemoveChapter(data.name, data.id, parentChapterId);
33551
- };
33552
- var handleClickAddSubchapter = function handleClickAddSubchapter() {
33553
- onClickAddSubchapter === null || onClickAddSubchapter === void 0 ? void 0 : onClickAddSubchapter({
33554
- id: data.id,
33555
- name: data.name
33556
- });
33557
- };
33558
- var handleAddArticle = function handleAddArticle() {
33559
- onAddArticle === null || onAddArticle === void 0 ? void 0 : onAddArticle(data);
33560
- };
33561
- var theme = useTheme();
33562
- var isTabletUp = useMediaQuery(theme.breakpoints.up('lg'));
33563
- var handleChangeName = function handleChangeName(e) {
33564
- var text = e.target.value;
33565
- onChangeName === null || onChangeName === void 0 ? void 0 : onChangeName(text, data.id, parentChapterId);
33566
- };
33567
- var handleChangePageFrom = function handleChangePageFrom(e) {
33568
- var value = +e.target.value.replace(/[^0-9]/g, "");
33569
- e.target.value = value.toString();
33570
- onChangePageFrom === null || onChangePageFrom === void 0 ? void 0 : onChangePageFrom(value, data.id, parentChapterId);
33571
- };
33572
- var handleChangePageTo = function handleChangePageTo(e) {
33573
- var value = +e.target.value.replace(/[^0-9]/g, "");
33574
- e.target.value = value.toString();
33575
- onChangePageTo === null || onChangePageTo === void 0 ? void 0 : onChangePageTo(value, data.id, parentChapterId);
33576
- };
33577
- return React__default.createElement("div", {
33578
- className: "border-1 border-primary rounded-2"
33579
- }, React__default.createElement("div", {
33580
- className: "border-start-0 border-end-0 border-top-0 border-bottom-1 border-primary border p-2 position-relative"
33581
- }, !isEditName ? React__default.createElement("div", {
33582
- className: "text-center w-100 px-5 " + (isReadonly ? "" : "pointer"),
33583
- onClick: toggleEditName
33584
- }, React__default.createElement(Typography, {
33585
- className: "w-100 fs-5 fw-bold"
33586
- }, data.name)) : React__default.createElement(InputText, {
33587
- className: "w-100 px-5",
33588
- value: data.name,
33589
- inputProps: {
33590
- className: "text-center fs-5 fw-bold"
33591
- },
33592
- placeholder: t("chapter_name_placeholder"),
33593
- onBlur: toggleEditName,
33594
- onKeyDown: handleKeyEnterName,
33595
- onChange: handleChangeName
33596
- }), !isReadonly && React__default.createElement(IconButton, {
33597
- className: "position-absolute",
33598
- disabled: isReadonly,
33599
- style: {
33600
- right: 12,
33601
- top: "50%",
33602
- transform: "translateY(-50%)"
33603
- },
33604
- onClick: handleRemoveChapter
33605
- }, React__default.createElement(FaTrash, {
33606
- size: 16,
33607
- className: "text-danger"
33608
- }))), React__default.createElement("div", {
33609
- className: "p-3 d-flex justify-content-between"
33610
- }, React__default.createElement(Grid, {
33611
- container: true
33612
- }, React__default.createElement(Grid, {
33613
- item: true,
33614
- xs: 12
33615
- }, React__default.createElement(Grid, {
33616
- container: true,
33617
- spacing: 2
33618
- }, !isTabletUp && React__default.createElement(Grid, {
33619
- item: true,
33620
- xs: 12
33621
- }, React__default.createElement(Stack, {
33622
- direction: "row",
33623
- justifyContent: "end",
33624
- spacing: 2
33625
- }, !parentChapterId && !data.articles.length && React__default.createElement(Button, {
33626
- className: "mx-1",
33627
- variant: "contained",
33628
- color: "primary",
33629
- disabled: isReadonly,
33630
- startIcon: React__default.createElement(FaPlus, {
33631
- size: 12
33632
- }),
33633
- onClick: handleClickAddSubchapter
33634
- }, t("add_subchapter")), data.subChapters.length === 0 && React__default.createElement(Button, {
33635
- className: "mx-1",
33636
- variant: "contained",
33637
- color: "success",
33638
- disabled: isReadonly,
33639
- startIcon: React__default.createElement(FaPlus, {
33640
- size: 12
33641
- }),
33642
- onClick: handleAddArticle
33643
- }, t("add_article")))), React__default.createElement(Grid, {
33644
- item: true,
33645
- xs: 12,
33646
- lg: 4,
33647
- sx: {
33648
- display: "flex",
33649
- alignItems: "center",
33650
- width: "50%"
33651
- }
33652
- }, React__default.createElement("label", {
33653
- style: {
33654
- minWidth: "90px"
33655
- },
33656
- className: "fw-bold text-nowrap me-2"
33657
- }, t("page.from"), ":"), React__default.createElement(InputText, {
33658
- type: "number",
33659
- className: "w-100",
33660
- disabled: isReadonly,
33661
- value: data.pageFrom,
33662
- onChange: handleChangePageFrom,
33663
- placeholder: t("page.from_placeholder"),
33664
- error: data.pageFrom > data.pageTo || data.pageFrom < 0
33665
- })), React__default.createElement(Grid, {
33666
- item: true,
33667
- xs: 12,
33668
- lg: 4,
33669
- sx: {
33670
- display: "flex",
33671
- alignItems: "center",
33672
- width: "50%"
33673
- }
33674
- }, React__default.createElement("label", {
33675
- style: {
33676
- minWidth: "90px"
33677
- },
33678
- className: "fw-bold text-nowrap me-2"
33679
- }, t("page.to"), ":"), React__default.createElement(InputText, {
33680
- type: "number",
33681
- disabled: isReadonly,
33682
- className: "w-100",
33683
- value: data.pageTo,
33684
- onChange: handleChangePageTo,
33685
- placeholder: t("page.to_placeholder"),
33686
- error: data.pageTo < data.pageFrom
33687
- })), isTabletUp && React__default.createElement(Grid, {
33688
- item: true,
33689
- lg: 4
33690
- }, React__default.createElement(Stack, {
33691
- direction: "row",
33692
- justifyContent: "end",
33693
- spacing: 2
33694
- }, !parentChapterId && !data.articles.length && React__default.createElement(Button, {
33695
- className: "mx-1",
33696
- variant: "contained",
33697
- color: "primary",
33698
- disabled: isReadonly,
33699
- startIcon: React__default.createElement(FaPlus, {
33700
- size: 12
33701
- }),
33702
- onClick: handleClickAddSubchapter
33703
- }, t("add_subchapter")), data.subChapters.length === 0 && React__default.createElement(Button, {
33704
- className: "mx-1",
33705
- variant: "contained",
33706
- color: "success",
33707
- disabled: isReadonly,
33708
- startIcon: React__default.createElement(FaPlus, {
33709
- size: 12
33710
- }),
33711
- onClick: handleAddArticle
33712
- }, t("add_article")))))))), React__default.createElement("div", {
33713
- className: "p-3"
33714
- }, React__default.createElement(Stack, {
33715
- spacing: 2
33716
- }, data.subChapters.map(function (subchapter) {
33717
- return React__default.createElement(_ChapterBox, {
33718
- key: data.id + "-" + subchapter.id,
33719
- categoryOptions: categoryOptions,
33720
- subject: subject,
33721
- parentChapterId: data.id,
33722
- data: subchapter,
33723
- isReadonly: isReadonly,
33724
- onChangeName: onChangeName,
33725
- onChangePageFrom: onChangePageFrom,
33726
- onChangePageTo: onChangePageTo,
33727
- handleCheckArticle: handleCheckArticle,
33728
- onAddArticle: onAddArticle,
33729
- onRemoveArticle: onRemoveArticle,
33730
- onUpdateArticleQuestionCount: onUpdateArticleQuestionCount,
33731
- onUpdateArticleCategory: onUpdateArticleCategory,
33732
- onUpdateArticleQuestionAnswerCount: onUpdateArticleQuestionAnswerCount,
33733
- onUpdateArticleQuestion: onUpdateArticleQuestion,
33734
- onRemoveChapter: onRemoveChapter
33735
- });
33736
- }), data.subChapters.length === 0 && data.articles.map(function (article, index) {
33737
- return React__default.createElement(Stack, {
33738
- key: index
33739
- }, React__default.createElement(Stack, {
33740
- display: "flex",
33741
- flexDirection: "row",
33742
- gap: "8px",
33743
- alignItems: "center"
33744
- }, React__default.createElement(Checkbox, {
33745
- id: "textbook",
33746
- sx: {
33747
- display: "flex",
33748
- justifyContent: "start",
33749
- width: "fit-content"
33750
- },
33751
- onChange: function onChange(e) {
33752
- return handleCheckArticle(e, article);
33753
- }
33754
- }), React__default.createElement("label", {
33755
- htmlFor: "textbook"
33756
- }, t("select_article_create_exam"))));
33757
- }))));
33758
- };
33759
-
33760
33698
  var TextbookActionButtons = function TextbookActionButtons(_ref) {
33761
33699
  var isReadonly = _ref.isReadonly,
33762
33700
  textbook = _ref.textbook,
@@ -35041,7 +34979,8 @@ var ChapterBlockBody = function ChapterBlockBody(_ref) {
35041
34979
  onQuestionCountChange: handleChangeQuestionCount,
35042
34980
  onCopiedPrevQuestionGroup: onCopiedPrevQuestionGroup,
35043
34981
  onDelete: onDelete,
35044
- isMath: isMath
34982
+ isMath: isMath,
34983
+ isTextbook: true
35045
34984
  }, formikProps));
35046
34985
  }
35047
34986
  })), showAddQuestionGroup && React__default.createElement(Box, null, React__default.createElement(Button, {
@@ -38392,5 +38331,5 @@ var LayoutContext = function LayoutContext(_ref) {
38392
38331
  });else return React__default.createElement(Fragment$1, null, children);
38393
38332
  };
38394
38333
 
38395
- export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AcceptNoAcademy, ActionButtons, AnnouncementContainer, AnnouncementType, AnswerCountSelector, ArticleBlock$1 as ArticleBlock, ArticleCategorySelector, ArticleDialog, AttendanceFormDialog, BASE_URL, BRIEF_GRADE_OPTIONS, _ChapterBox as ChapterBox, ChatContainer, types as ChatTypes, ClassDetail, ClassList, ClassNoteDialog, ClassSelector, CommonCreateNewQuestionDialog, CommonDialog, CompareTypeOptions, ConfirmDeleteDialog, ConfirmDialog, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_ANSWER_COUNT, DEFAULT_ARTICLE, DEFAULT_MATH_QUESTION_GROUP, DEFAULT_NOTE_FILTER, DEFAULT_PAGING_RESPONSE, DEFAULT_QUESTION, DEFAULT_QUESTION_GROUP, DEFAULT_SCORE$1 as DEFAULT_SCORE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, ExamDetailView, ExamEditorType, ExamEvent, ExamNoteDialog, ExamResultV2, ExamSessionItem, ExamStatus, GOOGLE_CLIENT_ID, GOOGLE_RECAPTCHA_ID, GOOGLE_RECAPTCHA_KEY, GOOGLE_RECAPTCHA_SECRET, GRADE_OPTIONS, Header, InputText, LANGUAGE, LEARNING_SPACE, Language, LanguageHeaders, LayoutContext, LessonTooltip, ListView, Loading, LoadingComponent, Login, LoginQRCode, LoginWithEmail, SignIn as LoginWithPassword, MathJaxContainer, MathTinyEditor, MonthGroupedExamSessionItem, NewNoteButton, NoAcademyHeaders, NotFound, NoteDrawer, NoteTabs, NoteType, NotesContainer, NotificationDetail, NotificationList, OrderBy, OrderType, PRE_REDIRECT_URL, PUSHER_CONFIG, PassCodeCheck, PassCodeDialog, PreparedItem, PreparedTextbookList, PreparedTextbookView, PreparedType, PrintContainerClassName, PrintContentClassName, PrintExamResultView, PrintExamView2, PrintHeaderClassName, PrintTitleClassName, QRCodeConfirmation, QuestionAnswerType, QuestionBlock$1 as QuestionBlock, QuestionCompareType, QuestionCountSelector, QuestionGroupBlock, QuestionGroupBlockBody$1 as QuestionGroupBlockBody, QuestionOrderName, QuestionShortInput$1 as QuestionShortInput, REDIRECT_URL, RELEASE_DATE, RecentUserAction, RecentUserActionNames, RecentUserActionSortBy, ReleaseAlert, Role, SUPER_ADMIN_BASE_URL, SchoolType, ScoreSelector, SearchInput, ShareToTeacherDialog, StudentInfoDrawer, StudentSelector, SubjectSelector, TextbookActionButtons, TextbookDrawer, TextbookEditorType, TextbookList, TheAcademyDropdown, TheLanguageDropdown, TinyEditor, UserList, UserSortColumn, VirtualListView, VirtualTableView, api, apiUpload, canAccess as canAccessRoute, cleanRichText, convertHHMMSStoSeconds, createRecentUserActionListApi, diffFromNow, ellipsisText, encodeParams, formatDataMyAnswer, formatDateTime, formatPhoneNumber, formatRole, formatTextbookDataMyAnswer, formatTime, formatTimeSecond, generateNewQuestionGroup, getAcademyDomain, getAccessToken, getErrorMessage, getLanguage, getLearningSpace, getLocalDayOfWeek, getOrdinalSuffix, getPreviousQuestinGroupCategory, getQuestionGroupsAfterQuestionCountChanged, getRecentUserActionListApi, getRedirectUrl, getRemainTime, getRole, getUtcDayOfWeek, groupMonth, handleKeyDown, i18n, includePathname, isLocalHost, isSequentialQuestionGroups, isTextType, labelStyle, minutesToTimeSpan, pushTo, _reduceToMathArticles as reduceToMathArticles, reset, _resetAllCategoriesAndQuestionTypesBySubject as resetAllCategoriesAndQuestionTypesBySubject, setAcademies, setAcademy, setAlert, setConcurrentConnectionPusher, setLanguage, setLoading, setReFetchUserAcademies, setTotalUnreadMessages, setUser, store, timAgo, timeSpanToLocalMoment, toISOString, toLocalTime, totalSolveTimeCategories, totalTextbookSolveTimeCategories, useAutoAcademyDomain, useChatContainer, useCountDownTimer, useGoogleSignOut, useKeyboardVisible, useLanguage, useList, useLoadMore, useLogin, useNotes, usePusherConversation, useSwitchAcademy, useVirtualizeList, utcToLocalTime };
38334
+ export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AcceptNoAcademy, ActionButtons, AnnouncementContainer, AnnouncementType, AnswerCountSelector, ArticleBlock$1 as ArticleBlock, ArticleCategorySelector, ArticleDialog, AttendanceFormDialog, BASE_URL, BRIEF_GRADE_OPTIONS, ChatContainer, types as ChatTypes, ClassDetail, ClassList, ClassNoteDialog, ClassSelector, CommonCreateNewQuestionDialog, CommonDialog, CompareTypeOptions, ConfirmDeleteDialog, ConfirmDialog, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_ANSWER_COUNT, DEFAULT_ARTICLE, DEFAULT_MATH_QUESTION_GROUP, DEFAULT_NOTE_FILTER, DEFAULT_PAGING_RESPONSE, DEFAULT_QUESTION, DEFAULT_QUESTION_GROUP, DEFAULT_SCORE$1 as DEFAULT_SCORE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, ExamDetailView, ExamEditorType, ExamEvent, ExamNoteDialog, ExamResultV2, ExamSessionItem, ExamStatus, GOOGLE_CLIENT_ID, GOOGLE_RECAPTCHA_ID, GOOGLE_RECAPTCHA_KEY, GOOGLE_RECAPTCHA_SECRET, GRADE_OPTIONS, Header, InputText, LANGUAGE, LEARNING_SPACE, Language, LanguageHeaders, LayoutContext, LessonTooltip, ListView, Loading, LoadingComponent, Login, LoginQRCode, LoginWithEmail, SignIn as LoginWithPassword, MathJaxContainer, MathTinyEditor, MonthGroupedExamSessionItem, NewNoteButton, NoAcademyHeaders, NotFound, NoteDrawer, NoteTabs, NoteType, NotesContainer, NotificationDetail, NotificationList, OrderBy, OrderType, PRE_REDIRECT_URL, PUSHER_CONFIG, PassCodeCheck, PassCodeDialog, PreparedItem, PreparedTextbookList, PreparedTextbookView, PreparedType, PrintContainerClassName, PrintContentClassName, PrintExamResultView, PrintExamView2, PrintHeaderClassName, PrintTitleClassName, QRCodeConfirmation, QuestionAnswerType, QuestionBlock$1 as QuestionBlock, QuestionCompareType, QuestionCountSelector, QuestionGroupBlock, QuestionGroupBlockBody$1 as QuestionGroupBlockBody, QuestionOrderName, QuestionShortInput$1 as QuestionShortInput, REDIRECT_URL, RELEASE_DATE, RecentUserAction, RecentUserActionNames, RecentUserActionSortBy, ReleaseAlert, Role, SUPER_ADMIN_BASE_URL, SchoolType, ScoreSelector, SearchInput, ShareToTeacherDialog, StudentInfoDrawer, StudentSelector, SubjectSelector, TextbookActionButtons, TextbookDrawer, TextbookEditorType, TextbookList, TheAcademyDropdown, TheLanguageDropdown, TinyEditor, UserList, UserSortColumn, VirtualListView, VirtualTableView, api, apiUpload, canAccess as canAccessRoute, cleanRichText, convertHHMMSStoSeconds, createRecentUserActionListApi, diffFromNow, ellipsisText, encodeParams, formatDataMyAnswer, formatDateTime, formatPhoneNumber, formatRole, formatTextbookDataMyAnswer, formatTime, formatTimeSecond, generateNewQuestionGroup, getAcademyDomain, getAccessToken, getErrorMessage, getLanguage, getLearningSpace, getLocalDayOfWeek, getOrdinalSuffix, getPreviousQuestinGroupCategory, getQuestionGroupsAfterQuestionCountChanged, getRecentUserActionListApi, getRedirectUrl, getRemainTime, getRole, getUtcDayOfWeek, groupMonth, handleKeyDown, i18n, includePathname, isLocalHost, isSequentialQuestionGroups, isTextType, labelStyle, minutesToTimeSpan, pushTo, _reduceToMathArticles as reduceToMathArticles, reset, _resetAllCategoriesAndQuestionTypesBySubject as resetAllCategoriesAndQuestionTypesBySubject, setAcademies, setAcademy, setAlert, setConcurrentConnectionPusher, setLanguage, setLoading, setReFetchUserAcademies, setTotalUnreadMessages, setUser, store, timAgo, timeSpanToLocalMoment, toISOString, toLocalTime, totalSolveTimeCategories, totalTextbookSolveTimeCategories, useAutoAcademyDomain, useChatContainer, useCountDownTimer, useGoogleSignOut, useKeyboardVisible, useLanguage, useList, useLoadMore, useLogin, useNotes, usePusherConversation, useSwitchAcademy, useVirtualizeList, utcToLocalTime };
38396
38335
  //# sourceMappingURL=index.modern.js.map