mario-education 2.4.3 → 2.4.4-beta

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.
Files changed (26) hide show
  1. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/CustomBarChart.d.ts +3 -0
  2. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/CustomLineChart.d.ts +3 -0
  3. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/ReadinessToLearn.d.ts +7 -0
  4. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/StudentByAge.d.ts +3 -0
  5. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/StudentByGender.d.ts +3 -0
  6. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/StudentByGrade.d.ts +3 -0
  7. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/StudentWithSpecialNeeds.d.ts +3 -0
  8. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/TopLearningStrategy.d.ts +3 -0
  9. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/TopSkill.d.ts +3 -0
  10. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/TotalCard.d.ts +4 -0
  11. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/configs/types.d.ts +13 -0
  12. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/hooks/useDashboard.d.ts +12 -7
  13. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/components/SwitchAssistantModal.d.ts +4 -0
  14. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/hooks/useSwitchAssistant.d.ts +17 -0
  15. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/utils/constants.d.ts +8 -0
  16. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/utils/type.interface.d.ts +36 -0
  17. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/views/SwitchAssistantList.d.ts +3 -0
  18. package/dist/MarioFramework.Education/ClientApp/src/services/dashboardService.d.ts +5 -0
  19. package/dist/MarioFramework.Education/ClientApp/src/services/userService.d.ts +5 -0
  20. package/dist/MarioFramework.Education/ClientApp/src/utils/serviceType.interface.d.ts +8 -0
  21. package/dist/index.css +106 -0
  22. package/dist/index.js +1131 -336
  23. package/dist/index.js.map +1 -1
  24. package/dist/index.modern.js +1134 -339
  25. package/dist/index.modern.js.map +1 -1
  26. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -19,7 +19,11 @@ var masterDetail = require('@ag-grid-enterprise/master-detail');
19
19
  var clientSideRowModel = require('@ag-grid-community/client-side-row-model');
20
20
  var fa = require('react-icons/fa');
21
21
  var tinymceReact = require('@tinymce/tinymce-react');
22
+ var fi = require('react-icons/fi');
22
23
  var ReactApexChart = _interopDefault(require('react-apexcharts'));
24
+ var io = require('react-icons/io');
25
+ var bi = require('react-icons/bi');
26
+ var md = require('react-icons/md');
23
27
 
24
28
  // A type of promise-like that resolves synchronously and supports only one observer
25
29
 
@@ -8371,6 +8375,353 @@ var SwitchTeacherList = function SwitchTeacherList() {
8371
8375
  }));
8372
8376
  };
8373
8377
 
8378
+ var USER_URL$1 = marioCore.BASE_URL + "/api/User";
8379
+ var getStudentAssistant = function getStudentAssistant(data) {
8380
+ return marioCore.api.get(USER_URL$1 + "/studentAssistant/", {
8381
+ params: data
8382
+ });
8383
+ };
8384
+ var getAssistant = function getAssistant() {
8385
+ return marioCore.api.get(USER_URL$1 + "/assistants");
8386
+ };
8387
+ var changeAssistantOfStudent = function changeAssistantOfStudent(id, assistantUserId) {
8388
+ return marioCore.api.put(USER_URL$1 + "/change-assistant/" + id, {
8389
+ assistantUserId: assistantUserId
8390
+ });
8391
+ };
8392
+
8393
+ var INITIAL_USER_CHOICE = {
8394
+ id: 0,
8395
+ emailStudent: "",
8396
+ studentName: "",
8397
+ assistantId: "",
8398
+ emailAssistant: "",
8399
+ assistantName: ""
8400
+ };
8401
+
8402
+ var TITLE$d = "Switch assistant list";
8403
+
8404
+ var useSwitchAssistant = function useSwitchAssistant() {
8405
+ var modal = React.useRef();
8406
+ var dispatch = reactRedux.useDispatch();
8407
+
8408
+ var _useState = React.useState([]),
8409
+ assistantList = _useState[0],
8410
+ setAssistantList = _useState[1];
8411
+
8412
+ var _useState2 = React.useState([]),
8413
+ userList = _useState2[0],
8414
+ setUserList = _useState2[1];
8415
+
8416
+ var _useState3 = React.useState(0),
8417
+ totalItems = _useState3[0],
8418
+ setTotalItems = _useState3[1];
8419
+
8420
+ var _useFilters = marioCore.useFilters(),
8421
+ filters = _useFilters.filters,
8422
+ changeFilters = _useFilters.changeFilters;
8423
+
8424
+ var _useState4 = React.useState(INITIAL_USER_CHOICE),
8425
+ userChoiced = _useState4[0],
8426
+ setUserChoiced = _useState4[1];
8427
+
8428
+ var _useState5 = React.useState(""),
8429
+ assistantChangeId = _useState5[0],
8430
+ setAssistantChangeId = _useState5[1];
8431
+
8432
+ var getStudentAssistantData = React.useCallback(function () {
8433
+ try {
8434
+ var _temp3 = function _temp3() {
8435
+ dispatch(marioCore.setLoading(false));
8436
+ };
8437
+
8438
+ dispatch(marioCore.setLoading(true));
8439
+ console.log(filters);
8440
+
8441
+ var _temp4 = _catch(function () {
8442
+ return Promise.resolve(getStudentAssistant(filters)).then(function (res) {
8443
+ var _res$data = res.data,
8444
+ items = _res$data.items,
8445
+ totalItems = _res$data.totalItems;
8446
+ setUserList(items);
8447
+ setTotalItems(totalItems);
8448
+ });
8449
+ }, function (err) {
8450
+ var _err$response, _err$response$data;
8451
+
8452
+ dispatch(marioCore.setAlert({
8453
+ type: "danger",
8454
+ message: ((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.title) || err.message
8455
+ }));
8456
+ });
8457
+
8458
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
8459
+ } catch (e) {
8460
+ return Promise.reject(e);
8461
+ }
8462
+ }, [dispatch, filters]);
8463
+
8464
+ var getAllAssistant = function getAllAssistant() {
8465
+ try {
8466
+ var _temp6 = _catch(function () {
8467
+ return Promise.resolve(getAssistant()).then(function (res) {
8468
+ setAssistantList(res.data);
8469
+ });
8470
+ }, function (err) {
8471
+ var _err$response2, _err$response2$data;
8472
+
8473
+ dispatch(marioCore.setAlert({
8474
+ type: "danger",
8475
+ message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
8476
+ }));
8477
+ });
8478
+
8479
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
8480
+ } catch (e) {
8481
+ return Promise.reject(e);
8482
+ }
8483
+ };
8484
+
8485
+ var options = React.useMemo(function () {
8486
+ return assistantList.map(function (record) {
8487
+ return {
8488
+ label: record.name + " - " + record.email,
8489
+ value: record.id
8490
+ };
8491
+ });
8492
+ }, [assistantList]);
8493
+
8494
+ var openModal = function openModal() {
8495
+ modal && modal.current && modal.current.toggle();
8496
+ };
8497
+
8498
+ var resetData = function resetData() {
8499
+ setAssistantChangeId("");
8500
+ setUserChoiced(INITIAL_USER_CHOICE);
8501
+ };
8502
+
8503
+ var choiceUser = function choiceUser(userChoiced) {
8504
+ !!userChoiced && setUserChoiced(userChoiced);
8505
+ setAssistantChangeId(userChoiced.assistantId);
8506
+ openModal();
8507
+ };
8508
+
8509
+ var removeData = function removeData(teacherUserId, studentId) {
8510
+ try {
8511
+ dispatch(marioCore.setModal({
8512
+ isOpen: true,
8513
+ type: "warning",
8514
+ message: "Do you want to change assistant?",
8515
+ onConfirm: function () {
8516
+ try {
8517
+ var _temp9 = function _temp9() {
8518
+ dispatch(marioCore.setLoading(false));
8519
+ };
8520
+
8521
+ dispatch(marioCore.setLoading(true));
8522
+
8523
+ var _temp10 = _catch(function () {
8524
+ return Promise.resolve(changeAssistantOfStudent(studentId, teacherUserId)).then(function () {
8525
+ dispatch(marioCore.setAlert({
8526
+ type: "success",
8527
+ message: "Change assistant successfully"
8528
+ }));
8529
+ openModal();
8530
+ resetData();
8531
+ changeFilters({
8532
+ currentPage: 1
8533
+ });
8534
+ });
8535
+ }, function (err) {
8536
+ var _err$response3, _err$response3$data;
8537
+
8538
+ dispatch(marioCore.setAlert({
8539
+ type: "danger",
8540
+ message: ((_err$response3 = err.response) === null || _err$response3 === void 0 ? void 0 : (_err$response3$data = _err$response3.data) === null || _err$response3$data === void 0 ? void 0 : _err$response3$data.title) || err.message
8541
+ }));
8542
+ });
8543
+
8544
+ return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
8545
+ } catch (e) {
8546
+ return Promise.reject(e);
8547
+ }
8548
+ }
8549
+ }));
8550
+ return Promise.resolve();
8551
+ } catch (e) {
8552
+ return Promise.reject(e);
8553
+ }
8554
+ };
8555
+
8556
+ React.useEffect(function () {
8557
+ document.title = TITLE$d;
8558
+ }, []);
8559
+ React.useEffect(function () {
8560
+ getAllAssistant();
8561
+ }, [modal]);
8562
+ React.useEffect(function () {
8563
+ getStudentAssistantData();
8564
+ }, [filters]);
8565
+ return {
8566
+ userList: userList,
8567
+ totalItems: totalItems,
8568
+ filters: filters,
8569
+ changeFilters: changeFilters,
8570
+ modal: modal,
8571
+ userChoiced: userChoiced,
8572
+ options: options,
8573
+ setAssistantChangeId: setAssistantChangeId,
8574
+ assistantChangeId: assistantChangeId,
8575
+ removeData: removeData,
8576
+ resetData: resetData,
8577
+ choiceUser: choiceUser
8578
+ };
8579
+ };
8580
+
8581
+ var SwitchAssistantModal = function SwitchAssistantModal(_ref, ref) {
8582
+ var header = _ref.header,
8583
+ removeData = _ref.removeData,
8584
+ resetData = _ref.resetData,
8585
+ userChoiced = _ref.userChoiced,
8586
+ options = _ref.options,
8587
+ assistantChangeId = _ref.assistantChangeId,
8588
+ setAssistantChangeId = _ref.setAssistantChangeId;
8589
+ var valueDefault = options === null || options === void 0 ? void 0 : options.find(function (item) {
8590
+ return item.value == assistantChangeId;
8591
+ });
8592
+ return React__default.createElement(marioCore.CommonModal, {
8593
+ header: header,
8594
+ ref: ref,
8595
+ confirmText: "Change Save",
8596
+ onConfirm: function onConfirm() {
8597
+ return removeData(assistantChangeId, userChoiced.id);
8598
+ },
8599
+ onCancel: function onCancel() {
8600
+ resetData();
8601
+ }
8602
+ }, React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
8603
+ md: 12,
8604
+ className: "mb-2"
8605
+ }, React__default.createElement("p", {
8606
+ className: "font-weight-bold"
8607
+ }, "Student Name"), React__default.createElement("p", null, userChoiced.studentName, " "), React__default.createElement("p", {
8608
+ className: "font-weight-bold"
8609
+ }, "Student Email"), React__default.createElement("p", null, userChoiced.emailStudent), React__default.createElement("p", {
8610
+ className: "font-weight-bold"
8611
+ }, "Current Assistant Name"), React__default.createElement("p", null, userChoiced.assistantName), React__default.createElement("p", {
8612
+ className: "font-weight-bold"
8613
+ }, "Current Assistant Email"), React__default.createElement("p", null, userChoiced.emailAssistant), !!userChoiced && React__default.createElement(marioCore.CustomSelector, {
8614
+ options: options,
8615
+ value: valueDefault,
8616
+ placeholder: "Select Assistant change",
8617
+ onChange: function onChange(e) {
8618
+ return setAssistantChangeId(e.value);
8619
+ }
8620
+ }))));
8621
+ };
8622
+
8623
+ var SwitchAssistantModal$1 = React.forwardRef(SwitchAssistantModal);
8624
+
8625
+ var header$5 = "List Students";
8626
+
8627
+ var SwitchAssistantList = function SwitchAssistantList() {
8628
+ var _useSwitchTeacher = useSwitchAssistant(),
8629
+ userList = _useSwitchTeacher.userList,
8630
+ totalItems = _useSwitchTeacher.totalItems,
8631
+ filters = _useSwitchTeacher.filters,
8632
+ changeFilters = _useSwitchTeacher.changeFilters,
8633
+ modal = _useSwitchTeacher.modal,
8634
+ userChoiced = _useSwitchTeacher.userChoiced,
8635
+ options = _useSwitchTeacher.options,
8636
+ setAssistantChangeId = _useSwitchTeacher.setAssistantChangeId,
8637
+ assistantChangeId = _useSwitchTeacher.assistantChangeId,
8638
+ removeData = _useSwitchTeacher.removeData,
8639
+ resetData = _useSwitchTeacher.resetData,
8640
+ choiceUser = _useSwitchTeacher.choiceUser;
8641
+
8642
+ return React__default.createElement("div", {
8643
+ className: "fadeIn animated"
8644
+ }, React__default.createElement("h5", {
8645
+ className: "mt-4 mb-2"
8646
+ }, header$5), React__default.createElement(reactstrap.Row, {
8647
+ className: "my-2"
8648
+ }, React__default.createElement(reactstrap.Col, {
8649
+ md: 8
8650
+ }, React__default.createElement(marioCore.SearchBox, {
8651
+ initValue: filters.searchString,
8652
+ onSearch: function onSearch(searchString) {
8653
+ return changeFilters({
8654
+ searchString: searchString
8655
+ });
8656
+ },
8657
+ placeholder: "Type something to search reflection result"
8658
+ })), React__default.createElement(reactstrap.Col, {
8659
+ md: 4,
8660
+ className: "d-flex justify-content-end align-items-center"
8661
+ }, "Total of users: ", totalItems)), React__default.createElement(reactstrap.Row, {
8662
+ className: "mb-2"
8663
+ }, React__default.createElement(reactstrap.Col, {
8664
+ md: 12
8665
+ }, userList && userList.length > 0 ? React__default.createElement("div", null, React__default.createElement(reactstrap.Table, {
8666
+ bordered: true,
8667
+ hover: true,
8668
+ striped: true,
8669
+ responsive: true,
8670
+ size: "sm"
8671
+ }, React__default.createElement("thead", null, React__default.createElement("tr", null, React__default.createElement("th", {
8672
+ className: "align-top"
8673
+ }, "Student Name"), React__default.createElement("th", {
8674
+ className: "align-top"
8675
+ }, "Student Email"), React__default.createElement("th", {
8676
+ className: "align-top"
8677
+ }, "Current Assistant Name"), React__default.createElement("th", {
8678
+ className: "align-top"
8679
+ }, "Current Assistant Email"))), React__default.createElement("tbody", null, !!userList && userList.length > 0 && userList.map(function (record) {
8680
+ return React__default.createElement("tr", {
8681
+ key: record.id
8682
+ }, React__default.createElement("td", {
8683
+ className: "align-middle"
8684
+ }, React__default.createElement(marioCore.LinkEditButton, {
8685
+ label: "" + record.studentName,
8686
+ onClick: function onClick() {
8687
+ return choiceUser(record);
8688
+ }
8689
+ })), React__default.createElement("td", {
8690
+ className: "align-middle"
8691
+ }, record.emailStudent), React__default.createElement("td", {
8692
+ className: "align-middle"
8693
+ }, record.assistantName), React__default.createElement("td", {
8694
+ className: "align-middle"
8695
+ }, record.emailAssistant));
8696
+ })))) : React__default.createElement(marioCore.EmptyDataAlert, {
8697
+ label: "user"
8698
+ })), React__default.createElement(reactstrap.Col, {
8699
+ md: 12
8700
+ }, React__default.createElement(marioCore.CustomPagination, {
8701
+ filters: filters,
8702
+ totalRecordCount: totalItems,
8703
+ changePageSize: function changePageSize(pageSize) {
8704
+ return changeFilters({
8705
+ pageSize: pageSize
8706
+ });
8707
+ },
8708
+ changePage: function changePage(currentPage) {
8709
+ return changeFilters({
8710
+ currentPage: currentPage
8711
+ });
8712
+ }
8713
+ }))), React__default.createElement(SwitchAssistantModal$1, {
8714
+ ref: modal,
8715
+ header: "Switch Assistant",
8716
+ userChoiced: userChoiced,
8717
+ removeData: removeData,
8718
+ options: options,
8719
+ assistantChangeId: assistantChangeId,
8720
+ setAssistantChangeId: setAssistantChangeId,
8721
+ resetData: resetData
8722
+ }));
8723
+ };
8724
+
8374
8725
  var tabs = [{
8375
8726
  path: "/admin/set-up/skill",
8376
8727
  title: "Skills",
@@ -8423,6 +8774,10 @@ var tabs = [{
8423
8774
  path: "/admin/set-up/switch-teacher",
8424
8775
  title: "Switch Teacher",
8425
8776
  component: SwitchTeacherList
8777
+ }, {
8778
+ path: "/admin/set-up/switch-assistant",
8779
+ title: "Switch assistant",
8780
+ component: SwitchAssistantList
8426
8781
  }];
8427
8782
  var title$1 = "Set up";
8428
8783
 
@@ -8616,7 +8971,7 @@ var renderType = function renderType(params) {
8616
8971
 
8617
8972
  var QUESTION_URL$1 = "/admin/question-bank";
8618
8973
  var CREATE_QUESTION_URL = "/admin/create-question";
8619
- var TITLE$d = "Question list";
8974
+ var TITLE$e = "Question list";
8620
8975
 
8621
8976
  var useQuestionList = function useQuestionList(isDefaultQuestion, isDefaultQuestionGeneralClass) {
8622
8977
  var history = reactRouterDom.useHistory();
@@ -8771,7 +9126,7 @@ var useQuestionList = function useQuestionList(isDefaultQuestion, isDefaultQuest
8771
9126
  history.push(url);
8772
9127
  }, []);
8773
9128
  React.useEffect(function () {
8774
- document.title = TITLE$d;
9129
+ document.title = TITLE$e;
8775
9130
  }, []);
8776
9131
  React.useEffect(function () {
8777
9132
  getData();
@@ -9403,7 +9758,7 @@ var useReflectionFormDetail = function useReflectionFormDetail() {
9403
9758
  };
9404
9759
  };
9405
9760
 
9406
- var TITLE$e = "Reflection form list";
9761
+ var TITLE$f = "Reflection form list";
9407
9762
 
9408
9763
  var useReflectionFormList = function useReflectionFormList() {
9409
9764
  var reflectionList = reactRedux.useSelector(function (state) {
@@ -9493,7 +9848,7 @@ var useReflectionFormList = function useReflectionFormList() {
9493
9848
  }
9494
9849
  }, [dispatch]);
9495
9850
  React.useEffect(function () {
9496
- document.title = TITLE$e;
9851
+ document.title = TITLE$f;
9497
9852
  }, []);
9498
9853
  React.useEffect(function () {
9499
9854
  getData();
@@ -10556,7 +10911,7 @@ var initValue$e = {
10556
10911
  isMandatory: false,
10557
10912
  isBeforeSession: false
10558
10913
  };
10559
- var TITLE$f = "Question detail";
10914
+ var TITLE$g = "Question detail";
10560
10915
 
10561
10916
  var useQuestionDetail = function useQuestionDetail(id) {
10562
10917
  var editorRef;
@@ -10582,7 +10937,7 @@ var useQuestionDetail = function useQuestionDetail(id) {
10582
10937
  };
10583
10938
 
10584
10939
  React.useEffect(function () {
10585
- document.title = TITLE$f;
10940
+ document.title = TITLE$g;
10586
10941
  setEdited(false);
10587
10942
  if (!!localStorage.getItem(window.location.href)) localStorage.removeItem(window.location.href);
10588
10943
  }, []);
@@ -11246,7 +11601,7 @@ var useAssessmentDetail = function useAssessmentDetail() {
11246
11601
  };
11247
11602
  };
11248
11603
 
11249
- var TITLE$g = "Assessment list";
11604
+ var TITLE$h = "Assessment list";
11250
11605
 
11251
11606
  var useAssessmentList = function useAssessmentList() {
11252
11607
  var assessmentList = reactRedux.useSelector(function (state) {
@@ -11329,7 +11684,7 @@ var useAssessmentList = function useAssessmentList() {
11329
11684
  dispatch(marioCore.setLoading(false));
11330
11685
  }, [filters]);
11331
11686
  React.useEffect(function () {
11332
- document.title = TITLE$g;
11687
+ document.title = TITLE$h;
11333
11688
  }, []);
11334
11689
  React.useEffect(function () {
11335
11690
  getData();
@@ -11781,7 +12136,7 @@ var useFeedbackDetail = function useFeedbackDetail() {
11781
12136
  };
11782
12137
  };
11783
12138
 
11784
- var TITLE$h = "Feedback list";
12139
+ var TITLE$i = "Feedback list";
11785
12140
 
11786
12141
  var useFeedbackList = function useFeedbackList() {
11787
12142
  var feedbackList = reactRedux.useSelector(function (state) {
@@ -11833,7 +12188,7 @@ var useFeedbackList = function useFeedbackList() {
11833
12188
  }
11834
12189
  }, [dispatch, filters]);
11835
12190
  React.useEffect(function () {
11836
- document.title = TITLE$h;
12191
+ document.title = TITLE$i;
11837
12192
  }, []);
11838
12193
  React.useEffect(function () {
11839
12194
  getData();
@@ -11847,7 +12202,7 @@ var useFeedbackList = function useFeedbackList() {
11847
12202
  };
11848
12203
  };
11849
12204
 
11850
- var header$5 = "Feedback";
12205
+ var header$6 = "Feedback";
11851
12206
 
11852
12207
  var FeedbackList = function FeedbackList() {
11853
12208
  var history = reactRouterDom.useHistory();
@@ -11876,7 +12231,7 @@ var FeedbackList = function FeedbackList() {
11876
12231
  feedbackDetail: feedbackDetail
11877
12232
  }), React__default.createElement("h5", {
11878
12233
  className: "mb-2"
11879
- }, header$5), React__default.createElement(reactstrap.Row, {
12234
+ }, header$6), React__default.createElement(reactstrap.Row, {
11880
12235
  className: "my-2"
11881
12236
  }, React__default.createElement(reactstrap.Col, {
11882
12237
  md: 8,
@@ -12174,7 +12529,7 @@ var useTutorialScreenDetail = function useTutorialScreenDetail(typeRole) {
12174
12529
  };
12175
12530
  };
12176
12531
 
12177
- var TITLE$i = "Tutorial screen list";
12532
+ var TITLE$j = "Tutorial screen list";
12178
12533
 
12179
12534
  var useTutorialScreenList = function useTutorialScreenList(typeRole) {
12180
12535
  var tutorialScreenList = reactRedux.useSelector(function (state) {
@@ -12259,7 +12614,7 @@ var useTutorialScreenList = function useTutorialScreenList(typeRole) {
12259
12614
  dispatch(marioCore.setLoading(false));
12260
12615
  }, [filters]);
12261
12616
  React.useEffect(function () {
12262
- document.title = TITLE$i;
12617
+ document.title = TITLE$j;
12263
12618
  }, []);
12264
12619
  React.useEffect(function () {
12265
12620
  getData();
@@ -12635,7 +12990,7 @@ var useQuestionCateDetail = function useQuestionCateDetail() {
12635
12990
  };
12636
12991
  };
12637
12992
 
12638
- var TITLE$j = "Question category list";
12993
+ var TITLE$k = "Question category list";
12639
12994
 
12640
12995
  var useQuestionCateList = function useQuestionCateList() {
12641
12996
  var questionCateList = reactRedux.useSelector(function (state) {
@@ -12718,7 +13073,7 @@ var useQuestionCateList = function useQuestionCateList() {
12718
13073
  dispatch(marioCore.setLoading(false));
12719
13074
  }, [filters]);
12720
13075
  React.useEffect(function () {
12721
- document.title = TITLE$j;
13076
+ document.title = TITLE$k;
12722
13077
  }, []);
12723
13078
  React.useEffect(function () {
12724
13079
  getData();
@@ -12862,6 +13217,24 @@ var tabs$3 = [{
12862
13217
  path: "/admin/question/question-list",
12863
13218
  title: "Question list",
12864
13219
  component: QuestionBankList
13220
+ }, {
13221
+ path: "/admin/question/default-question-list",
13222
+ title: "Default question list",
13223
+ component: function component() {
13224
+ return React__default.createElement(QuestionBankList, {
13225
+ isDefaultQuestion: true,
13226
+ isDefaultQuestionGeneral: false
13227
+ });
13228
+ }
13229
+ }, {
13230
+ path: "/admin/question/default-question-general-list",
13231
+ title: "Default question general class list",
13232
+ component: function component() {
13233
+ return React__default.createElement(QuestionBankList, {
13234
+ isDefaultQuestion: false,
13235
+ isDefaultQuestionGeneral: true
13236
+ });
13237
+ }
12865
13238
  }, {
12866
13239
  path: "/admin/question/question-category",
12867
13240
  title: "Question category",
@@ -13469,7 +13842,7 @@ var useAssignmentDetail = function useAssignmentDetail() {
13469
13842
  };
13470
13843
  };
13471
13844
 
13472
- var TITLE$k = "Assignment list";
13845
+ var TITLE$l = "Assignment list";
13473
13846
 
13474
13847
  var useAssignmentList = function useAssignmentList() {
13475
13848
  var assignmentList = reactRedux.useSelector(function (state) {
@@ -13566,7 +13939,7 @@ var useAssignmentList = function useAssignmentList() {
13566
13939
  dispatch(marioCore.setLoading(false));
13567
13940
  }, [filters]);
13568
13941
  React.useEffect(function () {
13569
- document.title = TITLE$k;
13942
+ document.title = TITLE$l;
13570
13943
  }, []);
13571
13944
  React.useEffect(function () {
13572
13945
  getData();
@@ -14016,7 +14389,7 @@ var getRandomQuestion = function getRandomQuestion(data) {
14016
14389
  return marioCore.api.post(QUESTION_URL$2 + "/random", data);
14017
14390
  };
14018
14391
 
14019
- var TITLE$l = "Session template list";
14392
+ var TITLE$m = "Session template list";
14020
14393
  var SESSION_TEMPLATE_URL$1 = "/admin/session-template-learning-support";
14021
14394
  var CREATE_TEMPLATE_URL = "/admin/create-session-template-learning-support";
14022
14395
 
@@ -14120,7 +14493,7 @@ var useSessionTemplateList = function useSessionTemplateList() {
14120
14493
  history.push(url);
14121
14494
  }, []);
14122
14495
  React.useEffect(function () {
14123
- document.title = TITLE$l;
14496
+ document.title = TITLE$m;
14124
14497
  }, []);
14125
14498
  React.useEffect(function () {
14126
14499
  getData();
@@ -14267,7 +14640,7 @@ var remove$j = function remove(id) {
14267
14640
  return marioCore.api["delete"](SESSION_TEMPLATE_GENERAL_CLASS_URL + "/" + id);
14268
14641
  };
14269
14642
 
14270
- var TITLE$m = "Session template general class list";
14643
+ var TITLE$n = "Session template general class list";
14271
14644
  var SESSION_TEMPLATE_GENERAL_CLASS_URL$1 = "/admin/session-template/general-class";
14272
14645
  var CREATE_TEMPLATE_GENERAL_CLASS_URL = "/admin/create-session-template-general-class";
14273
14646
 
@@ -14357,7 +14730,7 @@ var useSessionTemplateGeneralClassList = function useSessionTemplateGeneralClass
14357
14730
  history.push(url);
14358
14731
  }, []);
14359
14732
  React.useEffect(function () {
14360
- document.title = TITLE$m;
14733
+ document.title = TITLE$n;
14361
14734
  }, []);
14362
14735
  React.useEffect(function () {
14363
14736
  getData();
@@ -16346,7 +16719,7 @@ var useCustomAlertDetail = function useCustomAlertDetail() {
16346
16719
  };
16347
16720
  };
16348
16721
 
16349
- var TITLE$n = "Custom alert list";
16722
+ var TITLE$o = "Custom alert list";
16350
16723
 
16351
16724
  var useCustomAlertList = function useCustomAlertList() {
16352
16725
  var customAlertList = reactRedux.useSelector(function (state) {
@@ -16434,7 +16807,7 @@ var useCustomAlertList = function useCustomAlertList() {
16434
16807
  dispatch(marioCore.setLoading(false));
16435
16808
  }, [filters]);
16436
16809
  React.useEffect(function () {
16437
- document.title = TITLE$n;
16810
+ document.title = TITLE$o;
16438
16811
  }, []);
16439
16812
  React.useEffect(function () {
16440
16813
  getData();
@@ -16449,7 +16822,7 @@ var useCustomAlertList = function useCustomAlertList() {
16449
16822
  };
16450
16823
  };
16451
16824
 
16452
- var header$6 = "Custom alert";
16825
+ var header$7 = "Custom alert";
16453
16826
 
16454
16827
  var CustomAlertList = function CustomAlertList() {
16455
16828
  var modal = React.useRef();
@@ -16517,7 +16890,7 @@ var CustomAlertList = function CustomAlertList() {
16517
16890
  when: edited
16518
16891
  }), React__default.createElement("h5", {
16519
16892
  className: "mb-2"
16520
- }, header$6), React__default.createElement(reactstrap.Row, {
16893
+ }, header$7), React__default.createElement(reactstrap.Row, {
16521
16894
  className: "my-2"
16522
16895
  }, React__default.createElement(reactstrap.Col, {
16523
16896
  md: 4
@@ -17076,7 +17449,7 @@ var useCertificateDetail = function useCertificateDetail() {
17076
17449
  };
17077
17450
  };
17078
17451
 
17079
- var TITLE$o = "Certificate list";
17452
+ var TITLE$p = "Certificate list";
17080
17453
 
17081
17454
  var useCertificateList = function useCertificateList() {
17082
17455
  var certificateList = reactRedux.useSelector(function (state) {
@@ -17159,7 +17532,7 @@ var useCertificateList = function useCertificateList() {
17159
17532
  dispatch(marioCore.setLoading(false));
17160
17533
  }, [filters]);
17161
17534
  React.useEffect(function () {
17162
- document.title = TITLE$o;
17535
+ document.title = TITLE$p;
17163
17536
  }, []);
17164
17537
  React.useEffect(function () {
17165
17538
  getData();
@@ -17174,7 +17547,7 @@ var useCertificateList = function useCertificateList() {
17174
17547
  };
17175
17548
  };
17176
17549
 
17177
- var header$7 = "Certificate";
17550
+ var header$8 = "Certificate";
17178
17551
 
17179
17552
  var CertificateList = function CertificateList() {
17180
17553
  var modal = React.useRef();
@@ -17233,7 +17606,7 @@ var CertificateList = function CertificateList() {
17233
17606
  when: edited
17234
17607
  }), React__default.createElement("h5", {
17235
17608
  className: "mb-2"
17236
- }, header$7), React__default.createElement(reactstrap.Row, {
17609
+ }, header$8), React__default.createElement(reactstrap.Row, {
17237
17610
  className: "my-2"
17238
17611
  }, React__default.createElement(reactstrap.Col, {
17239
17612
  md: 4
@@ -17307,7 +17680,7 @@ var CertificateList = function CertificateList() {
17307
17680
  }))));
17308
17681
  };
17309
17682
 
17310
- var TITLE$p = "Certificate list";
17683
+ var TITLE$q = "Certificate list";
17311
17684
 
17312
17685
  var useCertificateList$1 = function useCertificateList() {
17313
17686
  var dispatch = reactRedux.useDispatch();
@@ -17395,7 +17768,7 @@ var useCertificateList$1 = function useCertificateList() {
17395
17768
  }
17396
17769
  }, [listWaiting]);
17397
17770
  React.useEffect(function () {
17398
- document.title = TITLE$p;
17771
+ document.title = TITLE$q;
17399
17772
  getListWaiting();
17400
17773
  getListApproved();
17401
17774
  }, []);
@@ -17741,58 +18114,84 @@ var CompareTeacher = function CompareTeacher() {
17741
18114
  };
17742
18115
 
17743
18116
  var REPORT_URL = marioCore.BASE_URL + "/api/report";
17744
- var getQuantityReport = function getQuantityReport() {
17745
- return marioCore.api.get(REPORT_URL + "/quantity");
17746
- };
17747
- var getLoginCountingReport = function getLoginCountingReport() {
17748
- return marioCore.api.get(REPORT_URL + "/logincouting");
18117
+ var getAllTotalTime = function getAllTotalTime(filter) {
18118
+ return marioCore.api.get(REPORT_URL + "/dashboard-total-student", {
18119
+ params: filter
18120
+ });
17749
18121
  };
17750
- var getGoalProgressReport = function getGoalProgressReport() {
17751
- return marioCore.api.get(REPORT_URL + "/goalprogress");
18122
+ var getReadinessToLearning = function getReadinessToLearning(filter) {
18123
+ return marioCore.api.get(REPORT_URL + "/top-readiness-learn", {
18124
+ params: filter
18125
+ });
17752
18126
  };
17753
- var getHighImpactLearningStrategyReport = function getHighImpactLearningStrategyReport() {
17754
- return marioCore.api.get(REPORT_URL + "/highimpactlearningstrategy");
18127
+ var getTopLearningStrategies = function getTopLearningStrategies(filter) {
18128
+ return marioCore.api.get(REPORT_URL + "/top-learning-strategies", {
18129
+ params: filter
18130
+ });
17755
18131
  };
17756
- var getPerceivedImpactReport = function getPerceivedImpactReport() {
17757
- return marioCore.api.get(REPORT_URL + "/perceivedimpact");
18132
+ var getStudentByGrade = function getStudentByGrade(filter) {
18133
+ return marioCore.api.get(REPORT_URL + "/student-by-grade", {
18134
+ params: filter
18135
+ });
17758
18136
  };
17759
- var getGradeReport = function getGradeReport() {
17760
- return marioCore.api.get(REPORT_URL + "/grade");
18137
+ var getOverviewQuestionChart = function getOverviewQuestionChart(filter) {
18138
+ return marioCore.api.get(REPORT_URL + "/overview-chart", {
18139
+ params: filter
18140
+ });
17761
18141
  };
17762
18142
 
17763
- var TITLE$q = "Dashboard";
18143
+ var TITLE$r = "Dashboard";
17764
18144
 
17765
18145
  var useDashboard = function useDashboard() {
17766
18146
  var dispatch = reactRedux.useDispatch();
18147
+ var now = new Date();
17767
18148
 
17768
- var _useState = React.useState(null),
17769
- loginCounting = _useState[0],
17770
- setLoginCounting = _useState[1];
18149
+ var _useState = React.useState({
18150
+ startDate: new Date(now.getFullYear(), now.getMonth(), 1).getTime(),
18151
+ endDate: new Date(now.getFullYear(), now.getMonth() + 1, 0).getTime(),
18152
+ studentIds: []
18153
+ }),
18154
+ filter = _useState[0],
18155
+ setFilter = _useState[1];
17771
18156
 
17772
- var _useState2 = React.useState(null),
17773
- quantity = _useState2[0],
17774
- setQuantity = _useState2[1];
18157
+ var _useState2 = React.useState(),
18158
+ listTotalTime = _useState2[0],
18159
+ setListTotalTime = _useState2[1];
17775
18160
 
17776
- var _useState3 = React.useState(null),
17777
- goalProgress = _useState3[0],
17778
- setGoalProgress = _useState3[1];
18161
+ var _useState3 = React.useState(),
18162
+ readinessToLearning = _useState3[0],
18163
+ setReadinessToLearning = _useState3[1];
17779
18164
 
17780
- var _useState4 = React.useState(null),
17781
- highImpact = _useState4[0],
17782
- setHighImpact = _useState4[1];
18165
+ var _useState4 = React.useState(),
18166
+ topLearningStrategies = _useState4[0],
18167
+ setTopLearningStrategies = _useState4[1];
17783
18168
 
17784
- var _useState5 = React.useState(null),
17785
- perceivedImpact = _useState5[0],
17786
- setPerceivedImpact = _useState5[1];
18169
+ var _useState5 = React.useState(),
18170
+ studentByGrade = _useState5[0],
18171
+ setStudentByGrade = _useState5[1];
18172
+
18173
+ var _useState6 = React.useState(),
18174
+ chartOneToOneData = _useState6[0],
18175
+ setChartOneToOneData = _useState6[1];
17787
18176
 
17788
- var _useState6 = React.useState(null),
17789
- grade = _useState6[0],
17790
- setGrade = _useState6[1];
18177
+ var _useState7 = React.useState(),
18178
+ chartClassReflection = _useState7[0],
18179
+ setChartClassReflection = _useState7[1];
17791
18180
 
17792
- var callApi = React.useCallback(function (apiCaller, setData, defaultData) {
18181
+ var _useState8 = React.useState(),
18182
+ chartConference = _useState8[0],
18183
+ setChartConference = _useState8[1];
18184
+
18185
+ var _useState9 = React.useState(),
18186
+ learningProgress = _useState9[0],
18187
+ setLearningProgress = _useState9[1];
18188
+
18189
+ var callApi = React.useCallback(function (apiCaller, setData, defaultData, type) {
17793
18190
  try {
17794
18191
  var _temp2 = _catch(function () {
17795
- return Promise.resolve(apiCaller()).then(function (res) {
18192
+ return Promise.resolve(type ? apiCaller(_extends({}, filter, {
18193
+ type: type
18194
+ })) : apiCaller(filter)).then(function (res) {
17796
18195
  setData(res.data);
17797
18196
  });
17798
18197
  }, function (err) {
@@ -17809,45 +18208,130 @@ var useDashboard = function useDashboard() {
17809
18208
  } catch (e) {
17810
18209
  return Promise.reject(e);
17811
18210
  }
17812
- }, []);
18211
+ }, [filter]);
17813
18212
  var getData = React.useCallback(function () {
17814
18213
  try {
17815
- document.title = TITLE$q;
18214
+ document.title = TITLE$r;
17816
18215
  dispatch(marioCore.setLoading(true));
17817
- return Promise.resolve(Promise.any([callApi(getLoginCountingReport, setLoginCounting, []), callApi(getQuantityReport, setQuantity, {}), callApi(getGoalProgressReport, setGoalProgress, []), callApi(getHighImpactLearningStrategyReport, setHighImpact, {}), callApi(getPerceivedImpactReport, setPerceivedImpact, []), callApi(getGradeReport, setGrade, {})])).then(function () {
18216
+ return Promise.resolve(Promise.any([callApi(getAllTotalTime, setListTotalTime, []), callApi(getReadinessToLearning, setReadinessToLearning, []), callApi(getTopLearningStrategies, setTopLearningStrategies, []), callApi(getStudentByGrade, setStudentByGrade, []), callApi(getOverviewQuestionChart, setChartOneToOneData, [], "OneToOne"), callApi(getOverviewQuestionChart, setChartClassReflection, [], "ClassReflection"), callApi(getOverviewQuestionChart, setChartConference, [], "Conference"), callApi(getOverviewQuestionChart, setLearningProgress, [], "LearningProgress")])).then(function () {
17818
18217
  dispatch(marioCore.setLoading(false));
17819
18218
  });
17820
18219
  } catch (e) {
17821
18220
  return Promise.reject(e);
17822
18221
  }
17823
- }, []);
18222
+ }, [filter]);
17824
18223
  React.useEffect(function () {
17825
18224
  getData();
17826
- }, []);
18225
+ }, [filter]);
17827
18226
  return {
17828
- loginCounting: loginCounting,
17829
- quantity: quantity,
17830
- goalProgress: goalProgress,
17831
- highImpact: highImpact,
17832
- perceivedImpact: perceivedImpact,
17833
- grade: grade
18227
+ setFilter: setFilter,
18228
+ filter: filter,
18229
+ listTotalTime: listTotalTime,
18230
+ readinessToLearning: readinessToLearning,
18231
+ topLearningStrategies: topLearningStrategies,
18232
+ studentByGrade: studentByGrade,
18233
+ chartOneToOneData: chartOneToOneData,
18234
+ chartClassReflection: chartClassReflection,
18235
+ chartConference: chartConference,
18236
+ learningProgress: learningProgress
17834
18237
  };
17835
18238
  };
17836
18239
 
17837
- var styles$1 = {"dashboard-card":"_1Jgr2","quantity-table":"_3Thdy"};
18240
+ var styles$1 = {"dashboard-card":"_1Jgr2","quantity-table":"_3Thdy","size-icon":"_1WLBo","block-dashboard":"_10Pgm","size-arrow":"_3jPb_","color-down":"_1c43y","color-up":"_F1afY","box-filter":"_1kqUQ","title-card":"_10hbz","value-card":"_2rmw_","deviant-card":"_1tdQu","filter-card":"_2BvFN","box-skill-item":"_2TBTW","numerical-order":"_3XXJp","backoround-top-skill":"_LCuWQ","color-filter":"_3x9D7","btn-filter":"_2In63","block-collapse":"_1Vhg_","form-date-picker":"_6yLxd","bock-filter-left":"_h74SO","bock-filter-right":"_3e2pi"};
17838
18241
 
17839
18242
  var DashboardCard = function DashboardCard(_ref) {
17840
18243
  var label = _ref.label,
17841
18244
  children = _ref.children;
17842
18245
  return React__default.createElement("div", {
17843
18246
  className: styles$1["dashboard-card"]
18247
+ }, React__default.createElement("div", {
18248
+ className: "d-flex align-items-center justify-content-between"
17844
18249
  }, React__default.createElement("h5", {
17845
18250
  className: "mb-2"
17846
- }, label), React__default.createElement("div", {
18251
+ }, label), React__default.createElement(fi.FiMoreVertical, {
18252
+ className: "cursor-pointer"
18253
+ })), React__default.createElement("div", {
17847
18254
  className: "flex-grow-1 d-flex flex-column justify-content-center"
17848
18255
  }, children));
17849
18256
  };
17850
18257
 
18258
+ var ReadinessToLearn = function ReadinessToLearn(_ref) {
18259
+ var data = _ref.data;
18260
+ var categories = React.useMemo(function () {
18261
+ if (!data) return [];
18262
+
18263
+ try {
18264
+ return data.map(function (item) {
18265
+ return item.createdAt;
18266
+ });
18267
+ } catch (_unused) {
18268
+ return [];
18269
+ }
18270
+ }, [data]);
18271
+ if (!data) return React__default.createElement(marioCore.Loading, null);
18272
+ var options = {
18273
+ chart: {
18274
+ type: "radialBar",
18275
+ height: 350,
18276
+ stacked: true,
18277
+ stackType: "100%",
18278
+ toolbar: {
18279
+ show: false
18280
+ }
18281
+ },
18282
+ noData: {
18283
+ text: "NO DATA",
18284
+ align: "center",
18285
+ verticalAlign: "middle",
18286
+ offsetX: 0,
18287
+ offsetY: 0,
18288
+ style: {
18289
+ color: undefined,
18290
+ fontSize: "14px",
18291
+ fontFamily: undefined
18292
+ }
18293
+ },
18294
+ plotOptions: {
18295
+ bar: {
18296
+ horizontal: false,
18297
+ columnWidth: "80%"
18298
+ }
18299
+ },
18300
+ colors: ["#FFB04F", "#78B6E2", "#F08281", "#40D2CC"],
18301
+ stroke: {
18302
+ lineCap: "round"
18303
+ },
18304
+ labels: (data === null || data === void 0 ? void 0 : data.map(function (i) {
18305
+ return i.questionText;
18306
+ })) || [],
18307
+ xaxis: {
18308
+ categories: categories
18309
+ },
18310
+ fill: {
18311
+ opacity: 1
18312
+ },
18313
+ legend: {
18314
+ position: "bottom",
18315
+ show: true,
18316
+ fontSize: "16px",
18317
+ onItemClick: {
18318
+ toggleDataSeries: true
18319
+ },
18320
+ onItemHover: {
18321
+ highlightDataSeries: false
18322
+ }
18323
+ }
18324
+ };
18325
+ return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18326
+ options: options,
18327
+ series: (data === null || data === void 0 ? void 0 : data.map(function (i) {
18328
+ return i.percentQuestion.toFixed(2);
18329
+ })) || [],
18330
+ type: "radialBar",
18331
+ height: 350
18332
+ }));
18333
+ };
18334
+
17851
18335
  var Loading = function Loading() {
17852
18336
  return React__default.createElement("div", {
17853
18337
  className: "d-flex align-items-center justify-content-center"
@@ -17869,355 +18353,666 @@ var Loading = function Loading() {
17869
18353
  }, "Loading...")));
17870
18354
  };
17871
18355
 
17872
- var colors = ["rgba(129, 236, 236, 0.8)", "rgba(116, 185, 255, 0.8)", "rgba(250, 177, 160, 0.8)", "rgba(255, 234, 167, 0.8)", "rgba(178, 190, 195, 0.8)", "rgba(85, 239, 196, 0.8)", "rgba(120, 111, 166, 0.8)", "rgba(243, 166, 131, 0.8)"];
17873
-
17874
- var getColors = function getColors(length) {
17875
- if (colors.length >= length) return colors;
17876
- var newColors = [].concat(colors);
18356
+ var colors = ["#40D2CC", "#1D74C5", "#78B6E2", "#FFC783", "#0D9994"];
17877
18357
 
17878
- while (newColors.length < length) {
17879
- newColors = [].concat(newColors, colors);
17880
- }
18358
+ var TopLearningStrategy = function TopLearningStrategy(_ref) {
18359
+ var _data$learningStrateg, _data$learningStrateg2;
17881
18360
 
17882
- return newColors;
17883
- };
17884
-
17885
- var HighImpact = function HighImpact(_ref) {
17886
18361
  var data = _ref.data;
17887
- var colors = React.useMemo(function () {
17888
- var _Object$keys;
17889
-
17890
- if (!data) return [];
17891
- return getColors(((_Object$keys = Object.keys(data)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length) || 0);
17892
- }, [data]);
17893
- var ratings = React.useMemo(function () {
17894
- if (!data) return [];
17895
- return Object.values(data);
17896
- }, [data]);
17897
- var learningStrategies = React.useMemo(function () {
17898
- if (!data) return [];
17899
-
17900
- try {
17901
- var results = Object.keys(data).map(function (key, index) {
17902
- return {
17903
- name: key,
17904
- color: colors[index]
17905
- };
17906
- });
17907
- return results;
17908
- } catch (_unused) {
17909
- return [];
17910
- }
17911
- }, [data]);
17912
18362
  if (!data) return React__default.createElement(Loading, null);
17913
- var series = [{
17914
- name: "",
17915
- data: ratings
17916
- }];
17917
18363
  var options = {
17918
18364
  chart: {
17919
- height: 350,
17920
- type: "bar",
17921
- toolbar: {
17922
- show: false
17923
- }
17924
- },
17925
- colors: colors,
17926
- plotOptions: {
17927
- bar: {
17928
- columnWidth: "45%",
17929
- distributed: true
17930
- }
17931
- },
17932
- dataLabels: {
17933
- enabled: false
17934
- },
17935
- legend: {
17936
- show: false
17937
- },
17938
- xaxis: {
17939
- categories: learningStrategies.map(function (item) {
17940
- return item.name.substring(0, 15) + "...";
17941
- })
18365
+ width: 350,
18366
+ type: "pie"
17942
18367
  },
17943
- yaxis: {
17944
- labels: {
17945
- formatter: function formatter(val) {
17946
- return "" + val.toFixed(0);
17947
- }
18368
+ noData: {
18369
+ text: "NO DATA",
18370
+ align: "center",
18371
+ verticalAlign: "middle",
18372
+ offsetX: 0,
18373
+ offsetY: 0,
18374
+ style: {
18375
+ color: undefined,
18376
+ fontSize: "14px",
18377
+ fontFamily: undefined
17948
18378
  }
18379
+ },
18380
+ labels: (data === null || data === void 0 ? void 0 : (_data$learningStrateg = data.learningStrategies) === null || _data$learningStrateg === void 0 ? void 0 : _data$learningStrateg.map(function (i) {
18381
+ return i.learningStrategyName;
18382
+ })) || [],
18383
+ colors: colors,
18384
+ legend: {
18385
+ show: true,
18386
+ position: "bottom"
17949
18387
  }
17950
18388
  };
17951
- return React__default.createElement("div", null, React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18389
+ return React__default.createElement("div", {
18390
+ className: "d-flex h-100"
18391
+ }, React__default.createElement("div", {
18392
+ className: "d-flex align-items-end"
18393
+ }, React__default.createElement(ReactApexChart, {
17952
18394
  options: options,
17953
- series: series,
17954
- type: "bar",
18395
+ series: (data === null || data === void 0 ? void 0 : (_data$learningStrateg2 = data.learningStrategies) === null || _data$learningStrateg2 === void 0 ? void 0 : _data$learningStrateg2.map(function (i) {
18396
+ return i.usageCount;
18397
+ })) || [],
18398
+ type: "pie",
17955
18399
  height: 350
17956
- })), React__default.createElement("div", {
17957
- className: "d-flex flex-wrap"
17958
- }, learningStrategies.map(function (item) {
17959
- return React__default.createElement("div", {
17960
- key: item.name,
17961
- className: "d-flex align-items-center mb-2 mr-3"
17962
- }, React__default.createElement("span", {
17963
- className: "plain-color-square mr-2",
17964
- style: {
17965
- backgroundColor: item.color
17966
- }
17967
- }), React__default.createElement("span", null, item.name));
17968
18400
  })));
17969
18401
  };
17970
18402
 
17971
- var colors$1 = ["#1abc9c", "#c0392b"];
17972
-
17973
- var LoginCouting = function LoginCouting(_ref) {
18403
+ var TotalCard = function TotalCard(_ref) {
18404
+ var icon = _ref.icon,
18405
+ title = _ref.title,
18406
+ value = _ref.value,
18407
+ isUp = _ref.isUp,
18408
+ deviant = _ref.deviant,
18409
+ filter = _ref.filter;
18410
+ return React__default.createElement("div", {
18411
+ className: "border p-3 rounded mr-3 mb-3"
18412
+ }, React__default.createElement("div", {
18413
+ className: "d-flex align-items-center"
18414
+ }, icon, React__default.createElement("p", {
18415
+ className: styles$1["title-card"] + " m-0 mx-2"
18416
+ }, title)), React__default.createElement("div", {
18417
+ className: "d-flex align-items-center justify-content-center mt-3"
18418
+ }, React__default.createElement("p", {
18419
+ className: "" + styles$1["value-card"]
18420
+ }, value), React__default.createElement("div", {
18421
+ className: styles$1["box-filter"] + " mx-2 d-flex align-items-center p-2 rounded"
18422
+ }, isUp ? React__default.createElement(ai.AiOutlineArrowUp, {
18423
+ className: styles$1["size-arrow"] + " " + styles$1["color-up"]
18424
+ }) : React__default.createElement(ai.AiOutlineArrowDown, {
18425
+ className: styles$1["size-arrow"] + " " + styles$1["color-down"]
18426
+ }), React__default.createElement("div", null, React__default.createElement("p", {
18427
+ className: styles$1[isUp ? "color-up" : "color-down"] + " " + styles$1["deviant-card"] + " m-0 h6"
18428
+ }, deviant), React__default.createElement("p", {
18429
+ className: styles$1["filter-card"] + " my-0"
18430
+ }, filter)))));
18431
+ };
18432
+
18433
+ var CustomBarChart = function CustomBarChart(_ref) {
17974
18434
  var data = _ref.data;
17975
- if (!data) return React__default.createElement(Loading, null);
17976
- var categories = data.map(function (item) {
17977
- return format(new Date(item.date), marioCore.DATE_FORMAT);
17978
- });
17979
- var teacherCount = data.map(function (item) {
17980
- return item.teacherLoginCount;
17981
- });
17982
- var studentCount = data.map(function (item) {
17983
- return item.studentLoginCount;
17984
- });
17985
- var series = [{
17986
- name: "Teacher",
17987
- data: teacherCount,
17988
- color: colors$1[0]
17989
- }, {
17990
- name: "Student",
17991
- data: studentCount,
17992
- color: colors$1[1]
17993
- }];
17994
- var options = {
18435
+
18436
+ var _useState = React.useState(600),
18437
+ widthChartOne = _useState[0],
18438
+ setWidthChart = _useState[1];
18439
+
18440
+ var _useState2 = React.useState(400),
18441
+ heightChartOne = _useState2[0],
18442
+ setHeightChart = _useState2[1];
18443
+
18444
+ var wellbeing = [];
18445
+ var growth = [];
18446
+ var relations = [];
18447
+ var productiviy = [];
18448
+ var academic = [];
18449
+ var selfEfficacy = [];
18450
+ var focus = [];
18451
+ var energy = [];
18452
+ var hapiness = [];
18453
+ var mood = [];
18454
+ var learningProgress = [];
18455
+ var chatMonth = [];
18456
+
18457
+ var _useState3 = React.useState({
17995
18458
  chart: {
17996
- height: 350,
17997
- type: "area",
18459
+ type: "line",
17998
18460
  toolbar: {
17999
18461
  show: false
18462
+ },
18463
+ height: heightChartOne,
18464
+ zoom: {
18465
+ enabled: false
18000
18466
  }
18001
18467
  },
18002
- stroke: {
18003
- width: 2,
18004
- curve: "straight"
18468
+ dataLabels: {
18469
+ enabled: false
18005
18470
  },
18006
- markers: {
18007
- size: 4,
18008
- colors: ["#fff"],
18009
- strokeColors: colors$1,
18010
- strokeWidth: 2,
18011
- strokeOpacity: 0.9,
18012
- strokeDashArray: 0,
18013
- fillOpacity: 1,
18014
- shape: "circle",
18015
- radius: 2,
18016
- offsetX: 0,
18017
- offsetY: 0,
18018
- onClick: undefined,
18019
- onDblClick: undefined,
18020
- showNullDataPoints: true,
18021
- hover: {
18022
- size: undefined,
18023
- sizeOffset: 3
18471
+ legend: {
18472
+ position: "top",
18473
+ horizontalAlign: "center",
18474
+ width: 3 * widthChartOne / 5,
18475
+ offsetX: 170,
18476
+ markers: {
18477
+ width: 12,
18478
+ radius: 0
18024
18479
  }
18025
18480
  },
18026
- legend: {
18027
- show: false
18481
+ stroke: {
18482
+ width: 2
18483
+ },
18484
+ markers: {
18485
+ size: 5
18028
18486
  },
18487
+ colors: ["#082FA2", "#1A55AE", "#3C65E0", "#6D88E8", "#1E80B9", "#1C77AC", "#4992BD", "#77ADCD", "#3DCBCB", "#1DBAB4", "#61CBCB"],
18029
18488
  xaxis: {
18030
- categories: categories
18489
+ categories: chatMonth
18490
+ },
18491
+ yaxis: {
18492
+ title: {
18493
+ text: "High",
18494
+ rotate: 0,
18495
+ offsetX: -20,
18496
+ offsetY: -265
18497
+ },
18498
+ labels: {
18499
+ offsetX: 10,
18500
+ show: false
18501
+ }
18502
+ }
18503
+ }),
18504
+ optionsOne = _useState3[0],
18505
+ setOptions = _useState3[1];
18506
+
18507
+ var _useState4 = React.useState([{
18508
+ name: "Wellbeing",
18509
+ data: [0]
18510
+ }, {
18511
+ name: "Growth",
18512
+ data: [0]
18513
+ }, {
18514
+ name: "Relations",
18515
+ data: [0]
18516
+ }, {
18517
+ name: "Productivity",
18518
+ data: [0]
18519
+ }, {
18520
+ name: "Academic",
18521
+ data: [0]
18522
+ }, {
18523
+ name: "Self-Efficacy",
18524
+ data: [0]
18525
+ }, {
18526
+ name: "Focus",
18527
+ data: [0]
18528
+ }, {
18529
+ name: "Energy",
18530
+ data: [0]
18531
+ }, {
18532
+ name: "Hapiness",
18533
+ data: [0]
18534
+ }, {
18535
+ name: "Mood",
18536
+ data: [0]
18537
+ }, {
18538
+ name: "Learning Progress",
18539
+ data: [0]
18540
+ }]),
18541
+ series = _useState4[0],
18542
+ setSeries = _useState4[1];
18543
+
18544
+ var screenWidthMe = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
18545
+ React.useEffect(function () {
18546
+ if (screenWidthMe > 1400) {
18547
+ setWidthChart(932);
18548
+ setHeightChart(680);
18549
+ }
18550
+ }, []);
18551
+
18552
+ var getData = function getData() {
18553
+ try {
18554
+ !!data && data.overviewQuestionChoice.map(function (element) {
18555
+ chatMonth.push(element.month);
18556
+ element.resultQuestion.map(function (data, index) {
18557
+ if (data.questionText == "") {
18558
+ mood.push(null);
18559
+ learningProgress.push(null);
18560
+ wellbeing.push(null);
18561
+ growth.push(null);
18562
+ academic.push(null);
18563
+ selfEfficacy.push(null);
18564
+ energy.push(null);
18565
+ focus.push(null), hapiness.push(null);
18566
+ relations.push(null);
18567
+ productiviy.push(null);
18568
+ return;
18569
+ } else {
18570
+ var result = data.avgOfStudentChoice.toFixed(2);
18571
+
18572
+ if (index == 0) {
18573
+ wellbeing.push(result);
18574
+ mood.push(0);
18575
+ learningProgress.push(0);
18576
+ } else if (index == 1) {
18577
+ growth.push(result);
18578
+ } else if (index == 2) {
18579
+ relations.push(result);
18580
+ } else if (index == 3) {
18581
+ productiviy.push(result);
18582
+ } else if (index == 4) {
18583
+ academic.push(result);
18584
+ } else if (index == 5) {
18585
+ selfEfficacy.push(result);
18586
+ } else if (index == 6) {
18587
+ energy.push(result);
18588
+ } else if (index == 7) {
18589
+ focus.push(result);
18590
+ } else if (index == 8) {
18591
+ hapiness.push(result);
18592
+ }
18593
+ }
18594
+ });
18595
+ });
18596
+ setOptions({
18597
+ chart: {
18598
+ type: "line",
18599
+ toolbar: {
18600
+ show: false
18601
+ },
18602
+ height: heightChartOne,
18603
+ zoom: {
18604
+ enabled: false
18605
+ }
18606
+ },
18607
+ dataLabels: {
18608
+ enabled: false
18609
+ },
18610
+ legend: {
18611
+ position: "top",
18612
+ horizontalAlign: "center",
18613
+ width: 4 * widthChartOne / 5,
18614
+ offsetX: 100,
18615
+ markers: {
18616
+ width: 12,
18617
+ radius: 0
18618
+ }
18619
+ },
18620
+ markers: {
18621
+ size: 5
18622
+ },
18623
+ colors: ["#082FA2", "#1A55AE", "#3C65E0", "#6D88E8", "#1E80B9", "#1C77AC", "#4992BD", "#77ADCD", "#3DCBCB", "#1DBAB4", "#61CBCB"],
18624
+ xaxis: {
18625
+ categories: chatMonth
18626
+ },
18627
+ yaxis: {
18628
+ labels: {
18629
+ offsetX: 0,
18630
+ show: false
18631
+ }
18632
+ }
18633
+ });
18634
+ setSeries([{
18635
+ name: "Wellbeing",
18636
+ data: wellbeing
18637
+ }, {
18638
+ name: "Growth",
18639
+ data: growth
18640
+ }, {
18641
+ name: "Relations",
18642
+ data: relations
18643
+ }, {
18644
+ name: "Productivity",
18645
+ data: productiviy
18646
+ }, {
18647
+ name: "Academic",
18648
+ data: academic
18649
+ }, {
18650
+ name: "Self-Efficacy",
18651
+ data: selfEfficacy
18652
+ }, {
18653
+ name: "Focus",
18654
+ data: focus
18655
+ }, {
18656
+ name: "Energy",
18657
+ data: energy
18658
+ }, {
18659
+ name: "Hapiness",
18660
+ data: hapiness
18661
+ }, {
18662
+ name: "Mood",
18663
+ data: mood
18664
+ }, {
18665
+ name: "Learning Progress",
18666
+ data: learningProgress
18667
+ }]);
18668
+ return Promise.resolve();
18669
+ } catch (e) {
18670
+ return Promise.reject(e);
18031
18671
  }
18032
18672
  };
18673
+
18674
+ React.useEffect(function () {
18675
+ getData();
18676
+ }, [data]);
18677
+ var optionOneToOne = optionsOne;
18033
18678
  return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18034
- options: options,
18679
+ options: optionOneToOne,
18035
18680
  series: series,
18036
18681
  type: "line",
18682
+ width: "100%",
18037
18683
  height: 350
18038
18684
  }));
18039
18685
  };
18040
18686
 
18041
- var colors$2 = ["#00cec9", "#00b894"];
18042
-
18043
- var PerceivedImpact = function PerceivedImpact(_ref) {
18687
+ var StudentByGrade = function StudentByGrade(_ref) {
18044
18688
  var data = _ref.data;
18045
- if (!data) return React__default.createElement(Loading, null);
18046
- var series = [{
18047
- name: "Student",
18048
- data: data.map(function (item) {
18049
- return item.studentRating;
18050
- })
18051
- }];
18052
- var categories = data.map(function (item) {
18053
- return item.learningStrategyName.substring(0, 15) + "...";
18054
- });
18055
18689
  var options = {
18056
18690
  chart: {
18057
- type: "bar",
18058
- height: 350,
18059
- toolbar: {
18060
- show: false
18061
- }
18691
+ height: 350
18062
18692
  },
18063
- colors: colors$2,
18064
18693
  plotOptions: {
18065
18694
  bar: {
18066
- horizontal: false,
18067
- columnWidth: "55%"
18695
+ borderRadius: 4,
18696
+ horizontal: true
18068
18697
  }
18069
18698
  },
18070
18699
  dataLabels: {
18071
18700
  enabled: false
18072
- },
18073
- stroke: {
18074
- show: true,
18075
- width: 2,
18076
- colors: ["transparent"]
18077
- },
18078
- xaxis: {
18079
- categories: categories
18080
- },
18081
- fill: {
18082
- opacity: 1
18083
- },
18084
- legend: {
18085
- onItemClick: {
18086
- toggleDataSeries: false
18087
- },
18088
- onItemHover: {
18089
- highlightDataSeries: false
18090
- }
18091
18701
  }
18092
18702
  };
18703
+ var series = [{
18704
+ data: (data === null || data === void 0 ? void 0 : data.map(function (i) {
18705
+ return i.quantity;
18706
+ })) || []
18707
+ }];
18093
18708
  return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18094
18709
  options: options,
18095
18710
  series: series,
18096
18711
  type: "bar",
18712
+ width: "100%",
18097
18713
  height: 350
18098
18714
  }));
18099
18715
  };
18100
18716
 
18101
- var colors$3 = ["#00b894", "#00cec9", "#0984e3"];
18102
-
18103
- var Quantity = function Quantity(_ref) {
18104
- var data = _ref.data;
18105
- if (!data) return React__default.createElement(Loading, null);
18106
- var teacherPercentage = data.teacherPercentage,
18107
- studentPercentage = data.studentPercentage,
18108
- assistantPercentage = data.assistantPercentage,
18109
- numberOfTeachers = data.numberOfTeachers,
18110
- numberOfStudents = data.numberOfStudents,
18111
- numberOfAssistants = data.numberOfAssistants;
18112
- var series = [teacherPercentage, studentPercentage, assistantPercentage].map(function (number) {
18113
- return Number(number.toFixed(2));
18114
- });
18717
+ var StudentByGender = function StudentByGender() {
18718
+ var series = [45, 55];
18115
18719
  var options = {
18116
- chart: {
18117
- width: 380,
18118
- type: "pie"
18119
- },
18120
- labels: ["Teachers", "Students", "Assistants"],
18121
- colors: colors$3,
18720
+ labels: ["Female", "Male"],
18721
+ colors: ["#A4D1F0", "#40D2CC"],
18122
18722
  legend: {
18123
18723
  show: false
18124
- },
18125
- responsive: [{
18126
- breakpoint: 480,
18127
- options: {
18128
- chart: {
18129
- width: 200
18130
- }
18131
- }
18132
- }]
18724
+ }
18133
18725
  };
18134
- var details = [{
18135
- label: "Teachers",
18136
- color: colors$3[0],
18137
- value: numberOfTeachers
18138
- }, {
18139
- label: "Students",
18140
- color: colors$3[1],
18141
- value: numberOfStudents
18142
- }, {
18143
- label: "Assistants",
18144
- color: colors$3[2],
18145
- value: numberOfAssistants
18146
- }];
18147
18726
  return React__default.createElement("div", {
18148
18727
  className: "d-flex h-100"
18149
18728
  }, React__default.createElement("div", {
18150
- className: "d-flex justify-content-center align-items-end flex-grow-1"
18151
- }, React__default.createElement("div", {
18152
- className: styles$1["quantity-table"]
18153
- }, React__default.createElement(reactstrap.Table, {
18154
- responsive: true,
18155
- hover: true,
18156
- bordered: true,
18157
- size: "sm"
18158
- }, React__default.createElement("tbody", null, details.map(function (item) {
18159
- return React__default.createElement("tr", {
18160
- key: item.label
18161
- }, React__default.createElement("td", null, item.label), React__default.createElement("td", {
18162
- className: "text-center"
18163
- }, React__default.createElement("div", {
18164
- className: "custom-checkbox-square",
18165
- style: {
18166
- backgroundColor: item.color
18167
- }
18168
- })), React__default.createElement("td", null, item.value));
18169
- }))), React__default.createElement("p", null, "The number of user for each role"))), React__default.createElement("div", {
18170
18729
  className: "d-flex align-items-end"
18171
18730
  }, React__default.createElement(ReactApexChart, {
18172
18731
  options: options,
18173
18732
  series: series,
18174
18733
  type: "pie",
18175
- width: 380
18734
+ height: 350,
18735
+ width: "100%"
18176
18736
  })));
18177
18737
  };
18178
18738
 
18739
+ var StudentWithSpecialNeeds = function StudentWithSpecialNeeds() {
18740
+ var options = {
18741
+ colors: ["#CEF7F5", "#0D9994", "#1CB7B1", "#40D2CC", "#80E7E2"],
18742
+ legend: {
18743
+ show: false
18744
+ }
18745
+ };
18746
+ var series = [44, 55, 41, 17, 15];
18747
+ return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18748
+ options: options,
18749
+ series: series,
18750
+ type: "donut",
18751
+ width: "100%",
18752
+ height: 350
18753
+ }));
18754
+ };
18755
+
18756
+ var StudentByAge = function StudentByAge() {
18757
+ var options = {
18758
+ chart: {
18759
+ height: 350
18760
+ },
18761
+ plotOptions: {
18762
+ bar: {
18763
+ columnWidth: "45%",
18764
+ distributed: true
18765
+ }
18766
+ },
18767
+ dataLabels: {
18768
+ enabled: false
18769
+ },
18770
+ legend: {
18771
+ show: false
18772
+ },
18773
+ noData: {
18774
+ text: "NO DATA",
18775
+ offsetX: 0,
18776
+ offsetY: 0
18777
+ }
18778
+ };
18779
+ var series = [{
18780
+ data: []
18781
+ }];
18782
+ return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18783
+ options: options,
18784
+ series: series,
18785
+ type: "bar",
18786
+ width: "100%",
18787
+ height: 350
18788
+ }));
18789
+ };
18790
+
18179
18791
  var Dashboard = function Dashboard() {
18180
18792
  var _useDashboard = useDashboard(),
18181
- loginCounting = _useDashboard.loginCounting,
18182
- quantity = _useDashboard.quantity,
18183
- highImpact = _useDashboard.highImpact,
18184
- perceivedImpact = _useDashboard.perceivedImpact;
18793
+ listTotalTime = _useDashboard.listTotalTime,
18794
+ readinessToLearning = _useDashboard.readinessToLearning,
18795
+ topLearningStrategies = _useDashboard.topLearningStrategies,
18796
+ setFilter = _useDashboard.setFilter,
18797
+ filter = _useDashboard.filter,
18798
+ studentByGrade = _useDashboard.studentByGrade,
18799
+ chartOneToOneData = _useDashboard.chartOneToOneData,
18800
+ chartClassReflection = _useDashboard.chartClassReflection,
18801
+ chartConference = _useDashboard.chartConference,
18802
+ learningProgress = _useDashboard.learningProgress;
18185
18803
 
18804
+ var user = reactRedux.useSelector(function (state) {
18805
+ return state.common.user;
18806
+ });
18186
18807
  var cards = [{
18187
- label: "High-impact learning strategies of current school year",
18188
- children: React__default.createElement(HighImpact, {
18189
- data: highImpact
18808
+ label: "Top learning strategies",
18809
+ children: React__default.createElement(TopLearningStrategy, {
18810
+ data: topLearningStrategies
18190
18811
  })
18191
18812
  }, {
18192
- label: "Learning strategies perceived impact",
18193
- children: React__default.createElement(PerceivedImpact, {
18194
- data: perceivedImpact
18813
+ label: "Readiness to learn",
18814
+ children: React__default.createElement(ReadinessToLearn, {
18815
+ data: readinessToLearning
18816
+ })
18817
+ }];
18818
+ var listChartLeft = [{
18819
+ label: "1-to-1",
18820
+ children: React__default.createElement(CustomBarChart, {
18821
+ data: chartOneToOneData
18822
+ })
18823
+ }, {
18824
+ label: "Class Reflection",
18825
+ children: React__default.createElement(CustomBarChart, {
18826
+ data: chartClassReflection
18195
18827
  })
18196
18828
  }, {
18197
- label: "Students & teachers logins per day",
18198
- children: React__default.createElement(LoginCouting, {
18199
- data: loginCounting
18829
+ label: "Conferences",
18830
+ children: React__default.createElement(CustomBarChart, {
18831
+ data: chartConference
18200
18832
  })
18201
18833
  }, {
18202
- label: "Number of students, teachers, assistants",
18203
- children: React__default.createElement(Quantity, {
18204
- data: quantity
18834
+ label: "Learning Progress",
18835
+ children: React__default.createElement(CustomBarChart, {
18836
+ data: learningProgress
18837
+ })
18838
+ }];
18839
+ var listChartRight = [{
18840
+ label: "Students by Gender",
18841
+ children: React__default.createElement(StudentByGender, null)
18842
+ }, {
18843
+ label: "Students with Special Needs",
18844
+ children: React__default.createElement(StudentWithSpecialNeeds, null)
18845
+ }, {
18846
+ label: "Students by Grade",
18847
+ children: React__default.createElement(StudentByGrade, {
18848
+ data: studentByGrade
18205
18849
  })
18850
+ }, {
18851
+ label: "Safety",
18852
+ children: React__default.createElement(StudentByAge, null)
18853
+ }];
18854
+ var totalCardData = [{
18855
+ icon: React__default.createElement(bi.BiMessageRoundedDetail, {
18856
+ className: styles$1["size-icon"]
18857
+ }),
18858
+ title: "Total 1-to-1",
18859
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.totalOneToOne,
18860
+ isUp: true,
18861
+ deviant: "2",
18862
+ filter: "this week"
18863
+ }, {
18864
+ icon: React__default.createElement(io.IoMdStopwatch, {
18865
+ className: styles$1["size-icon"]
18866
+ }),
18867
+ title: "Total time 1-to-1",
18868
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.totalTimeOneToOne,
18869
+ isUp: true,
18870
+ deviant: "17 min",
18871
+ filter: "this week"
18872
+ }, {
18873
+ icon: React__default.createElement(bi.BiMessageRoundedDetail, {
18874
+ className: styles$1["size-icon"]
18875
+ }),
18876
+ title: "Total conferences",
18877
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.totalConference,
18878
+ isUp: false,
18879
+ deviant: "-4",
18880
+ filter: "this week"
18881
+ }, {
18882
+ icon: React__default.createElement(md.MdScreenShare, {
18883
+ className: styles$1["size-icon"]
18884
+ }),
18885
+ title: "Total time conferences",
18886
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.totalTimeConference,
18887
+ isUp: true,
18888
+ deviant: "8 min",
18889
+ filter: "this week"
18890
+ }, {
18891
+ icon: React__default.createElement(ai.AiOutlineFileDone, {
18892
+ className: styles$1["size-icon"]
18893
+ }),
18894
+ title: "AVS checkin class reflections",
18895
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.avgClassReflection,
18896
+ isUp: false,
18897
+ deviant: "-15%",
18898
+ filter: "this week"
18206
18899
  }];
18207
- return React__default.createElement("div", null, React__default.createElement("h4", {
18208
- className: "mb-5"
18209
- }, "DASHBOARD"), React__default.createElement(reactstrap.Row, {
18900
+
18901
+ var handleChangeStartTime = function handleChangeStartTime(date) {
18902
+ setFilter(_extends({}, filter, {
18903
+ startDate: new Date(date).getTime()
18904
+ }));
18905
+ };
18906
+
18907
+ var handleChangeEndTime = function handleChangeEndTime(date) {
18908
+ setFilter(_extends({}, filter, {
18909
+ endDate: new Date(date).getTime()
18910
+ }));
18911
+ };
18912
+
18913
+ var handleChangeStudentIds = function handleChangeStudentIds(students) {
18914
+ var listStudentId = students.length > 0 && students.map(function (i) {
18915
+ return i.studentId;
18916
+ }) || [];
18917
+ setFilter(_extends({}, filter, {
18918
+ studentIds: listStudentId
18919
+ }));
18920
+ };
18921
+
18922
+ var handleFormatDate = function handleFormatDate(date) {
18923
+ var dateTime = new Date(date).toISOString().slice(0, 10);
18924
+ return dateTime;
18925
+ };
18926
+
18927
+ return React__default.createElement("div", {
18928
+ className: "" + styles$1["block-dashboard"]
18929
+ }, React__default.createElement("div", {
18930
+ className: "d-flex align-items-center justify-content-between"
18931
+ }, React__default.createElement("h4", null, "Hey ", user.lastName), React__default.createElement("div", {
18932
+ className: "text-center"
18933
+ }, React__default.createElement("button", {
18934
+ id: "toggler",
18935
+ onClick: function noRefCheck() {},
18936
+ className: styles$1["btn-filter"] + " d-flex align-items-center cursor-pointer"
18937
+ }, React__default.createElement(fi.FiFilter, {
18938
+ className: "" + styles$1["color-filter"]
18939
+ }), React__default.createElement("p", {
18940
+ className: styles$1["color-filter"] + " my-0 mx-2"
18941
+ }, "Filter")))), React__default.createElement("div", {
18942
+ className: "d-flex justify-content-end py-4"
18943
+ }, React__default.createElement(reactstrap.UncontrolledCollapse, {
18944
+ toggler: "#toggler",
18945
+ className: "" + styles$1["block-collapse"]
18946
+ }, React__default.createElement("div", {
18947
+ className: "" + styles$1["bock-filter-left"]
18948
+ }, React__default.createElement("input", {
18949
+ type: "date",
18950
+ className: "" + styles$1["form-date-picker"],
18951
+ onChange: function onChange(e) {
18952
+ return handleChangeStartTime(e.target.value);
18953
+ },
18954
+ value: handleFormatDate(filter.startDate)
18955
+ }), React__default.createElement("input", {
18956
+ type: "date",
18957
+ className: "" + styles$1["form-date-picker"],
18958
+ onChange: function onChange(e) {
18959
+ return handleChangeEndTime(e.target.value);
18960
+ },
18961
+ value: handleFormatDate(filter.endDate)
18962
+ })), React__default.createElement("div", {
18963
+ className: "" + styles$1["bock-filter-right"]
18964
+ }, React__default.createElement(StudentSelector, {
18965
+ onChange: function onChange(e) {
18966
+ handleChangeStudentIds(e);
18967
+ }
18968
+ })))), React__default.createElement("div", {
18969
+ className: "d-flex align-items-center flex-wrap py-2"
18970
+ }, totalCardData.map(function (item) {
18971
+ return React__default.createElement(TotalCard, {
18972
+ icon: item.icon,
18973
+ title: item.title,
18974
+ value: item.value,
18975
+ isUp: item.isUp,
18976
+ deviant: item.deviant,
18977
+ filter: item.filter
18978
+ });
18979
+ })), React__default.createElement(reactstrap.Row, {
18210
18980
  className: "mb-2"
18211
18981
  }, cards.map(function (card) {
18212
18982
  return React__default.createElement(reactstrap.Col, {
18213
18983
  key: card.label,
18984
+ xs: 12,
18214
18985
  md: 6,
18215
18986
  className: "mb-4"
18216
18987
  }, React__default.createElement(DashboardCard, {
18217
18988
  label: card.label,
18218
18989
  children: card.children
18219
18990
  }));
18220
- })));
18991
+ })), React__default.createElement(reactstrap.Row, {
18992
+ className: "my-2"
18993
+ }, React__default.createElement(reactstrap.Col, {
18994
+ xs: 12,
18995
+ xl: 7
18996
+ }, listChartLeft.map(function (i) {
18997
+ return React__default.createElement(reactstrap.Col, {
18998
+ key: i.label,
18999
+ className: "mb-4"
19000
+ }, React__default.createElement(DashboardCard, {
19001
+ label: i.label,
19002
+ children: i.children
19003
+ }));
19004
+ })), React__default.createElement(reactstrap.Col, {
19005
+ xs: 12,
19006
+ xl: 5
19007
+ }, listChartRight.map(function (i) {
19008
+ return React__default.createElement(reactstrap.Col, {
19009
+ key: i.label,
19010
+ className: "mb-4"
19011
+ }, React__default.createElement(DashboardCard, {
19012
+ label: i.label,
19013
+ children: i.children
19014
+ }));
19015
+ }))));
18221
19016
  };
18222
19017
 
18223
19018
  core.LicenseManager.setLicenseKey(marioCore.LICENSE_AGGRID);