mario-education 2.4.3 → 2.4.5-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 (38) hide show
  1. package/dist/MarioFramework.Education/ClientApp/src/components/Select/InputSelector.d.ts +13 -0
  2. package/dist/MarioFramework.Education/ClientApp/src/components/Shapes/Circle/Circle.d.ts +11 -0
  3. package/dist/MarioFramework.Education/ClientApp/src/components/Shapes/Circle/ItemCircle.d.ts +7 -0
  4. package/dist/MarioFramework.Education/ClientApp/src/components/Shapes/Circle/utils.d.ts +5 -0
  5. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/CustomBarChart.d.ts +3 -0
  6. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/CustomChartCircle.d.ts +4 -0
  7. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/CustomLineChart.d.ts +3 -0
  8. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/ReadinessToLearn.d.ts +7 -0
  9. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/StudentByAge.d.ts +3 -0
  10. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/StudentByGender.d.ts +3 -0
  11. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/StudentByGrade.d.ts +3 -0
  12. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/StudentWithSpecialNeeds.d.ts +3 -0
  13. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/TopLearningStrategy.d.ts +3 -0
  14. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/TopSkill.d.ts +3 -0
  15. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/TotalCard.d.ts +4 -0
  16. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/configs/constants.d.ts +12 -0
  17. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/configs/types.d.ts +48 -0
  18. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/configs/utils.d.ts +23 -0
  19. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/hooks/useDashboard.d.ts +18 -7
  20. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/components/SwitchAssistantModal.d.ts +4 -0
  21. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/hooks/useSwitchAssistant.d.ts +17 -0
  22. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/utils/constants.d.ts +8 -0
  23. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/utils/type.interface.d.ts +36 -0
  24. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/views/SwitchAssistantList.d.ts +3 -0
  25. package/dist/MarioFramework.Education/ClientApp/src/containers/WelcomeEmailResend/hook/useGetUserList.d.ts +12 -0
  26. package/dist/MarioFramework.Education/ClientApp/src/containers/WelcomeEmailResend/hook/useResendMail.d.ts +5 -0
  27. package/dist/MarioFramework.Education/ClientApp/src/containers/WelcomeEmailResend/utils/constants.d.ts +25 -0
  28. package/dist/MarioFramework.Education/ClientApp/src/containers/WelcomeEmailResend/views/WelcomeEmailResend.d.ts +3 -0
  29. package/dist/MarioFramework.Education/ClientApp/src/services/dashboardService.d.ts +11 -0
  30. package/dist/MarioFramework.Education/ClientApp/src/services/userService.d.ts +5 -0
  31. package/dist/MarioFramework.Education/ClientApp/src/services/welcomeEmailResendService.d.ts +3 -0
  32. package/dist/MarioFramework.Education/ClientApp/src/utils/serviceType.interface.d.ts +8 -0
  33. package/dist/index.css +275 -0
  34. package/dist/index.js +1825 -332
  35. package/dist/index.js.map +1 -1
  36. package/dist/index.modern.js +1833 -340
  37. package/dist/index.modern.js.map +1 -1
  38. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -20,6 +20,10 @@ 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
22
  var ReactApexChart = _interopDefault(require('react-apexcharts'));
23
+ var io = require('react-icons/io');
24
+ var bi = require('react-icons/bi');
25
+ var md = require('react-icons/md');
26
+ var fi = require('react-icons/fi');
23
27
 
24
28
  // A type of promise-like that resolves synchronously and supports only one observer
25
29
 
@@ -8371,6 +8375,648 @@ 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
+
8725
+ var USER_URL$2 = marioCore.BASE_URL + "/api/user";
8726
+ var ACCOUNT_URL = marioCore.BASE_URL + "/api/account";
8727
+ var getUserList = function getUserList(filter) {
8728
+ return marioCore.api.get("" + USER_URL$2, {
8729
+ params: filter
8730
+ });
8731
+ };
8732
+ var postRequestResendMail = function postRequestResendMail(data) {
8733
+ return marioCore.api.post(ACCOUNT_URL + "/re-send-welcome-mail", data);
8734
+ };
8735
+
8736
+ var DEFAULT_PAGE_SIZE = {
8737
+ label: "10",
8738
+ value: 10
8739
+ };
8740
+ var DEFAULT_FILTER = {
8741
+ searchString: "",
8742
+ currentPage: 1,
8743
+ pageSize: DEFAULT_PAGE_SIZE.value,
8744
+ sortBy: "",
8745
+ sortOrder: "ASC",
8746
+ name: ""
8747
+ };
8748
+ var MediaType;
8749
+
8750
+ (function (MediaType) {
8751
+ MediaType[MediaType["IMAGE"] = 0] = "IMAGE";
8752
+ MediaType[MediaType["VIDEO"] = 1] = "VIDEO";
8753
+ MediaType[MediaType["AUDIO"] = 2] = "AUDIO";
8754
+ MediaType[MediaType["DOC"] = 3] = "DOC";
8755
+ MediaType[MediaType["UNKNOW"] = 4] = "UNKNOW";
8756
+ })(MediaType || (MediaType = {}));
8757
+
8758
+ var useGetUserList = function useGetUserList() {
8759
+ var dispatch = reactRedux.useDispatch();
8760
+
8761
+ var _useState = React.useState([]),
8762
+ userList = _useState[0],
8763
+ setUserList = _useState[1];
8764
+
8765
+ var _useState2 = React.useState(DEFAULT_FILTER),
8766
+ filters = _useState2[0],
8767
+ setFilters = _useState2[1];
8768
+
8769
+ var _useState3 = React.useState(0),
8770
+ totalItem = _useState3[0],
8771
+ setTotalItem = _useState3[1];
8772
+
8773
+ var _useState4 = React.useState(false),
8774
+ isCheckAll = _useState4[0],
8775
+ setIsCheckAll = _useState4[1];
8776
+
8777
+ var _useState5 = React.useState([]),
8778
+ isCheck = _useState5[0],
8779
+ setIsCheck = _useState5[1];
8780
+
8781
+ var changeFilters = function changeFilters(updatedFilters) {
8782
+ var newFilters = _extends({}, filters, updatedFilters);
8783
+
8784
+ if (!!newFilters.searchString && !!updatedFilters.searchString && updatedFilters.searchString != filters.searchString) {
8785
+ newFilters.currentPage = 1;
8786
+ }
8787
+
8788
+ setFilters(newFilters);
8789
+ };
8790
+
8791
+ var getDataUserList = function getDataUserList() {
8792
+ try {
8793
+ var _temp3 = function _temp3() {
8794
+ dispatch(marioCore.setLoading(false));
8795
+ };
8796
+
8797
+ dispatch(marioCore.setLoading(true));
8798
+
8799
+ var _temp4 = _catch(function () {
8800
+ return Promise.resolve(getUserList(filters)).then(function (res) {
8801
+ var _res$data, _res$data2;
8802
+
8803
+ setUserList(res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.items);
8804
+ setTotalItem(res === null || res === void 0 ? void 0 : (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.totalItems);
8805
+ });
8806
+ }, function (err) {
8807
+ var _err$response, _err$response$data;
8808
+
8809
+ dispatch(marioCore.setAlert({
8810
+ type: "danger",
8811
+ 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
8812
+ }));
8813
+ });
8814
+
8815
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
8816
+ } catch (e) {
8817
+ return Promise.reject(e);
8818
+ }
8819
+ };
8820
+
8821
+ var handleSelectAll = function handleSelectAll() {
8822
+ setIsCheckAll(!isCheckAll);
8823
+ setIsCheck(userList.map(function (i) {
8824
+ return i.id;
8825
+ }));
8826
+
8827
+ if (isCheckAll) {
8828
+ setIsCheck([]);
8829
+ }
8830
+ };
8831
+
8832
+ var handleClickCheck = function handleClickCheck(e) {
8833
+ var _e$target = e.target,
8834
+ id = _e$target.id,
8835
+ checked = _e$target.checked;
8836
+ setIsCheck([].concat(isCheck, [id]));
8837
+
8838
+ if (!checked) {
8839
+ setIsCheck(isCheck.filter(function (item) {
8840
+ return item !== id;
8841
+ }));
8842
+ }
8843
+ };
8844
+
8845
+ React.useEffect(function () {
8846
+ getDataUserList();
8847
+ }, [filters]);
8848
+ return {
8849
+ totalItem: totalItem,
8850
+ userList: userList,
8851
+ filters: filters,
8852
+ changeFilters: changeFilters,
8853
+ handleSelectAll: handleSelectAll,
8854
+ handleClickCheck: handleClickCheck,
8855
+ isCheckAll: isCheckAll,
8856
+ isCheck: isCheck
8857
+ };
8858
+ };
8859
+
8860
+ var useResendMail = function useResendMail() {
8861
+ var dispatch = reactRedux.useDispatch();
8862
+
8863
+ var postDataResendMail = function postDataResendMail(data) {
8864
+ try {
8865
+ var _temp3 = function _temp3() {
8866
+ dispatch(marioCore.setLoading(false));
8867
+ };
8868
+
8869
+ dispatch(marioCore.setLoading(true));
8870
+
8871
+ var _temp4 = _catch(function () {
8872
+ return Promise.resolve(postRequestResendMail(data)).then(function () {
8873
+ dispatch(marioCore.setAlert({
8874
+ type: "success",
8875
+ message: "Send Successfully"
8876
+ }));
8877
+ });
8878
+ }, function (err) {
8879
+ var _err$response, _err$response$data;
8880
+
8881
+ dispatch(marioCore.setAlert({
8882
+ type: "danger",
8883
+ 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
8884
+ }));
8885
+ });
8886
+
8887
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
8888
+ } catch (e) {
8889
+ return Promise.reject(e);
8890
+ }
8891
+ };
8892
+
8893
+ var handleSendMultiUsers = function handleSendMultiUsers(listUserIds) {
8894
+ postDataResendMail({
8895
+ userIds: [].concat(listUserIds)
8896
+ });
8897
+ };
8898
+
8899
+ var handleSendSingleUser = function handleSendSingleUser(userId) {
8900
+ postDataResendMail({
8901
+ userIds: [userId]
8902
+ });
8903
+ };
8904
+
8905
+ return {
8906
+ handleSendMultiUsers: handleSendMultiUsers,
8907
+ handleSendSingleUser: handleSendSingleUser
8908
+ };
8909
+ };
8910
+
8911
+ var WelcomeEmailResend = function WelcomeEmailResend() {
8912
+ var _useGetUserList = useGetUserList(),
8913
+ userList = _useGetUserList.userList,
8914
+ totalItem = _useGetUserList.totalItem,
8915
+ changeFilters = _useGetUserList.changeFilters,
8916
+ filters = _useGetUserList.filters,
8917
+ handleSelectAll = _useGetUserList.handleSelectAll,
8918
+ handleClickCheck = _useGetUserList.handleClickCheck,
8919
+ isCheckAll = _useGetUserList.isCheckAll,
8920
+ isCheck = _useGetUserList.isCheck;
8921
+
8922
+ var _useResendMail = useResendMail(),
8923
+ handleSendMultiUsers = _useResendMail.handleSendMultiUsers,
8924
+ handleSendSingleUser = _useResendMail.handleSendSingleUser;
8925
+
8926
+ return React__default.createElement("div", {
8927
+ className: "fadeIn animated"
8928
+ }, React__default.createElement("h5", {
8929
+ className: "mt-4 mb-2"
8930
+ }, "Welcome Email Re-send"), React__default.createElement(reactstrap.Row, {
8931
+ className: "my-2"
8932
+ }, React__default.createElement(reactstrap.Col, {
8933
+ md: 8
8934
+ }, React__default.createElement(marioCore.SearchBox, {
8935
+ initValue: filters === null || filters === void 0 ? void 0 : filters.searchString,
8936
+ onSearch: function onSearch(searchString) {
8937
+ return changeFilters({
8938
+ searchString: searchString
8939
+ });
8940
+ },
8941
+ placeholder: "Type something to search by user name"
8942
+ })), React__default.createElement(reactstrap.Col, {
8943
+ md: 4,
8944
+ className: "d-flex justify-content-end align-items-center"
8945
+ }, "Total of users: ", totalItem)), React__default.createElement(reactstrap.Row, {
8946
+ className: "mb-2"
8947
+ }, React__default.createElement(reactstrap.Col, null, React__default.createElement(reactstrap.Button, {
8948
+ onClick: function onClick() {
8949
+ return handleSendMultiUsers(isCheck);
8950
+ },
8951
+ color: "primary"
8952
+ }, "Send for selected users"))), React__default.createElement(reactstrap.Row, {
8953
+ className: "mb-2"
8954
+ }, React__default.createElement(reactstrap.Col, {
8955
+ md: 12
8956
+ }, !!userList && userList.length > 0 ? React__default.createElement("div", null, React__default.createElement(reactstrap.Table, {
8957
+ bordered: true,
8958
+ hover: true,
8959
+ striped: true,
8960
+ responsive: true,
8961
+ size: "sm"
8962
+ }, React__default.createElement("thead", null, React__default.createElement("tr", null, React__default.createElement("th", {
8963
+ className: "align-middle"
8964
+ }, React__default.createElement("input", {
8965
+ type: "checkbox",
8966
+ onChange: handleSelectAll,
8967
+ checked: isCheckAll
8968
+ })), React__default.createElement("th", {
8969
+ className: "align-top"
8970
+ }, "User Name"), React__default.createElement("th", {
8971
+ className: "align-top"
8972
+ }, "User Email"), React__default.createElement("th", {
8973
+ className: "align-top"
8974
+ }, "Role"), React__default.createElement("th", {
8975
+ className: "align-top"
8976
+ }, "Action"))), React__default.createElement("tbody", null, userList.map(function (item) {
8977
+ return React__default.createElement("tr", {
8978
+ key: item.id
8979
+ }, React__default.createElement("td", {
8980
+ className: "align-middle"
8981
+ }, React__default.createElement("input", {
8982
+ id: item.id,
8983
+ type: "checkbox",
8984
+ onChange: handleClickCheck,
8985
+ checked: isCheck.includes(item.id)
8986
+ })), React__default.createElement("td", {
8987
+ className: "align-middle"
8988
+ }, item.fullName), React__default.createElement("td", {
8989
+ className: "align-middle"
8990
+ }, item.email), React__default.createElement("td", {
8991
+ className: "align-middle"
8992
+ }, !!item.roles && item.roles.join(", ")), React__default.createElement("td", {
8993
+ className: "align-middle"
8994
+ }, React__default.createElement(marioCore.LinkEditButton, {
8995
+ label: "Send",
8996
+ onClick: function onClick() {
8997
+ return handleSendSingleUser(item.id);
8998
+ }
8999
+ })));
9000
+ })))) : React__default.createElement(marioCore.EmptyDataAlert, {
9001
+ label: "user"
9002
+ })), React__default.createElement(reactstrap.Col, {
9003
+ md: 12
9004
+ }, React__default.createElement(marioCore.CustomPagination, {
9005
+ filters: filters,
9006
+ totalRecordCount: totalItem,
9007
+ changePageSize: function changePageSize(pageSize) {
9008
+ return changeFilters({
9009
+ pageSize: pageSize
9010
+ });
9011
+ },
9012
+ changePage: function changePage(currentPage) {
9013
+ return changeFilters({
9014
+ currentPage: currentPage
9015
+ });
9016
+ }
9017
+ }))));
9018
+ };
9019
+
8374
9020
  var tabs = [{
8375
9021
  path: "/admin/set-up/skill",
8376
9022
  title: "Skills",
@@ -8423,6 +9069,14 @@ var tabs = [{
8423
9069
  path: "/admin/set-up/switch-teacher",
8424
9070
  title: "Switch Teacher",
8425
9071
  component: SwitchTeacherList
9072
+ }, {
9073
+ path: "/admin/set-up/switch-assistant",
9074
+ title: "Switch assistant",
9075
+ component: SwitchAssistantList
9076
+ }, {
9077
+ path: "/admin/set-up/welcome-email-re-send",
9078
+ title: "Welcome Email Re-send",
9079
+ component: WelcomeEmailResend
8426
9080
  }];
8427
9081
  var title$1 = "Set up";
8428
9082
 
@@ -8616,7 +9270,7 @@ var renderType = function renderType(params) {
8616
9270
 
8617
9271
  var QUESTION_URL$1 = "/admin/question-bank";
8618
9272
  var CREATE_QUESTION_URL = "/admin/create-question";
8619
- var TITLE$d = "Question list";
9273
+ var TITLE$e = "Question list";
8620
9274
 
8621
9275
  var useQuestionList = function useQuestionList(isDefaultQuestion, isDefaultQuestionGeneralClass) {
8622
9276
  var history = reactRouterDom.useHistory();
@@ -8771,7 +9425,7 @@ var useQuestionList = function useQuestionList(isDefaultQuestion, isDefaultQuest
8771
9425
  history.push(url);
8772
9426
  }, []);
8773
9427
  React.useEffect(function () {
8774
- document.title = TITLE$d;
9428
+ document.title = TITLE$e;
8775
9429
  }, []);
8776
9430
  React.useEffect(function () {
8777
9431
  getData();
@@ -9403,7 +10057,7 @@ var useReflectionFormDetail = function useReflectionFormDetail() {
9403
10057
  };
9404
10058
  };
9405
10059
 
9406
- var TITLE$e = "Reflection form list";
10060
+ var TITLE$f = "Reflection form list";
9407
10061
 
9408
10062
  var useReflectionFormList = function useReflectionFormList() {
9409
10063
  var reflectionList = reactRedux.useSelector(function (state) {
@@ -9493,7 +10147,7 @@ var useReflectionFormList = function useReflectionFormList() {
9493
10147
  }
9494
10148
  }, [dispatch]);
9495
10149
  React.useEffect(function () {
9496
- document.title = TITLE$e;
10150
+ document.title = TITLE$f;
9497
10151
  }, []);
9498
10152
  React.useEffect(function () {
9499
10153
  getData();
@@ -10556,7 +11210,7 @@ var initValue$e = {
10556
11210
  isMandatory: false,
10557
11211
  isBeforeSession: false
10558
11212
  };
10559
- var TITLE$f = "Question detail";
11213
+ var TITLE$g = "Question detail";
10560
11214
 
10561
11215
  var useQuestionDetail = function useQuestionDetail(id) {
10562
11216
  var editorRef;
@@ -10582,7 +11236,7 @@ var useQuestionDetail = function useQuestionDetail(id) {
10582
11236
  };
10583
11237
 
10584
11238
  React.useEffect(function () {
10585
- document.title = TITLE$f;
11239
+ document.title = TITLE$g;
10586
11240
  setEdited(false);
10587
11241
  if (!!localStorage.getItem(window.location.href)) localStorage.removeItem(window.location.href);
10588
11242
  }, []);
@@ -11246,7 +11900,7 @@ var useAssessmentDetail = function useAssessmentDetail() {
11246
11900
  };
11247
11901
  };
11248
11902
 
11249
- var TITLE$g = "Assessment list";
11903
+ var TITLE$h = "Assessment list";
11250
11904
 
11251
11905
  var useAssessmentList = function useAssessmentList() {
11252
11906
  var assessmentList = reactRedux.useSelector(function (state) {
@@ -11329,7 +11983,7 @@ var useAssessmentList = function useAssessmentList() {
11329
11983
  dispatch(marioCore.setLoading(false));
11330
11984
  }, [filters]);
11331
11985
  React.useEffect(function () {
11332
- document.title = TITLE$g;
11986
+ document.title = TITLE$h;
11333
11987
  }, []);
11334
11988
  React.useEffect(function () {
11335
11989
  getData();
@@ -11781,7 +12435,7 @@ var useFeedbackDetail = function useFeedbackDetail() {
11781
12435
  };
11782
12436
  };
11783
12437
 
11784
- var TITLE$h = "Feedback list";
12438
+ var TITLE$i = "Feedback list";
11785
12439
 
11786
12440
  var useFeedbackList = function useFeedbackList() {
11787
12441
  var feedbackList = reactRedux.useSelector(function (state) {
@@ -11833,7 +12487,7 @@ var useFeedbackList = function useFeedbackList() {
11833
12487
  }
11834
12488
  }, [dispatch, filters]);
11835
12489
  React.useEffect(function () {
11836
- document.title = TITLE$h;
12490
+ document.title = TITLE$i;
11837
12491
  }, []);
11838
12492
  React.useEffect(function () {
11839
12493
  getData();
@@ -11847,7 +12501,7 @@ var useFeedbackList = function useFeedbackList() {
11847
12501
  };
11848
12502
  };
11849
12503
 
11850
- var header$5 = "Feedback";
12504
+ var header$6 = "Feedback";
11851
12505
 
11852
12506
  var FeedbackList = function FeedbackList() {
11853
12507
  var history = reactRouterDom.useHistory();
@@ -11876,7 +12530,7 @@ var FeedbackList = function FeedbackList() {
11876
12530
  feedbackDetail: feedbackDetail
11877
12531
  }), React__default.createElement("h5", {
11878
12532
  className: "mb-2"
11879
- }, header$5), React__default.createElement(reactstrap.Row, {
12533
+ }, header$6), React__default.createElement(reactstrap.Row, {
11880
12534
  className: "my-2"
11881
12535
  }, React__default.createElement(reactstrap.Col, {
11882
12536
  md: 8,
@@ -12174,7 +12828,7 @@ var useTutorialScreenDetail = function useTutorialScreenDetail(typeRole) {
12174
12828
  };
12175
12829
  };
12176
12830
 
12177
- var TITLE$i = "Tutorial screen list";
12831
+ var TITLE$j = "Tutorial screen list";
12178
12832
 
12179
12833
  var useTutorialScreenList = function useTutorialScreenList(typeRole) {
12180
12834
  var tutorialScreenList = reactRedux.useSelector(function (state) {
@@ -12259,7 +12913,7 @@ var useTutorialScreenList = function useTutorialScreenList(typeRole) {
12259
12913
  dispatch(marioCore.setLoading(false));
12260
12914
  }, [filters]);
12261
12915
  React.useEffect(function () {
12262
- document.title = TITLE$i;
12916
+ document.title = TITLE$j;
12263
12917
  }, []);
12264
12918
  React.useEffect(function () {
12265
12919
  getData();
@@ -12635,7 +13289,7 @@ var useQuestionCateDetail = function useQuestionCateDetail() {
12635
13289
  };
12636
13290
  };
12637
13291
 
12638
- var TITLE$j = "Question category list";
13292
+ var TITLE$k = "Question category list";
12639
13293
 
12640
13294
  var useQuestionCateList = function useQuestionCateList() {
12641
13295
  var questionCateList = reactRedux.useSelector(function (state) {
@@ -12718,7 +13372,7 @@ var useQuestionCateList = function useQuestionCateList() {
12718
13372
  dispatch(marioCore.setLoading(false));
12719
13373
  }, [filters]);
12720
13374
  React.useEffect(function () {
12721
- document.title = TITLE$j;
13375
+ document.title = TITLE$k;
12722
13376
  }, []);
12723
13377
  React.useEffect(function () {
12724
13378
  getData();
@@ -12862,6 +13516,24 @@ var tabs$3 = [{
12862
13516
  path: "/admin/question/question-list",
12863
13517
  title: "Question list",
12864
13518
  component: QuestionBankList
13519
+ }, {
13520
+ path: "/admin/question/default-question-list",
13521
+ title: "Default question list",
13522
+ component: function component() {
13523
+ return React__default.createElement(QuestionBankList, {
13524
+ isDefaultQuestion: true,
13525
+ isDefaultQuestionGeneral: false
13526
+ });
13527
+ }
13528
+ }, {
13529
+ path: "/admin/question/default-question-general-list",
13530
+ title: "Default question general class list",
13531
+ component: function component() {
13532
+ return React__default.createElement(QuestionBankList, {
13533
+ isDefaultQuestion: false,
13534
+ isDefaultQuestionGeneral: true
13535
+ });
13536
+ }
12865
13537
  }, {
12866
13538
  path: "/admin/question/question-category",
12867
13539
  title: "Question category",
@@ -13469,7 +14141,7 @@ var useAssignmentDetail = function useAssignmentDetail() {
13469
14141
  };
13470
14142
  };
13471
14143
 
13472
- var TITLE$k = "Assignment list";
14144
+ var TITLE$l = "Assignment list";
13473
14145
 
13474
14146
  var useAssignmentList = function useAssignmentList() {
13475
14147
  var assignmentList = reactRedux.useSelector(function (state) {
@@ -13566,7 +14238,7 @@ var useAssignmentList = function useAssignmentList() {
13566
14238
  dispatch(marioCore.setLoading(false));
13567
14239
  }, [filters]);
13568
14240
  React.useEffect(function () {
13569
- document.title = TITLE$k;
14241
+ document.title = TITLE$l;
13570
14242
  }, []);
13571
14243
  React.useEffect(function () {
13572
14244
  getData();
@@ -14016,7 +14688,7 @@ var getRandomQuestion = function getRandomQuestion(data) {
14016
14688
  return marioCore.api.post(QUESTION_URL$2 + "/random", data);
14017
14689
  };
14018
14690
 
14019
- var TITLE$l = "Session template list";
14691
+ var TITLE$m = "Session template list";
14020
14692
  var SESSION_TEMPLATE_URL$1 = "/admin/session-template-learning-support";
14021
14693
  var CREATE_TEMPLATE_URL = "/admin/create-session-template-learning-support";
14022
14694
 
@@ -14120,7 +14792,7 @@ var useSessionTemplateList = function useSessionTemplateList() {
14120
14792
  history.push(url);
14121
14793
  }, []);
14122
14794
  React.useEffect(function () {
14123
- document.title = TITLE$l;
14795
+ document.title = TITLE$m;
14124
14796
  }, []);
14125
14797
  React.useEffect(function () {
14126
14798
  getData();
@@ -14267,7 +14939,7 @@ var remove$j = function remove(id) {
14267
14939
  return marioCore.api["delete"](SESSION_TEMPLATE_GENERAL_CLASS_URL + "/" + id);
14268
14940
  };
14269
14941
 
14270
- var TITLE$m = "Session template general class list";
14942
+ var TITLE$n = "Session template general class list";
14271
14943
  var SESSION_TEMPLATE_GENERAL_CLASS_URL$1 = "/admin/session-template/general-class";
14272
14944
  var CREATE_TEMPLATE_GENERAL_CLASS_URL = "/admin/create-session-template-general-class";
14273
14945
 
@@ -14357,7 +15029,7 @@ var useSessionTemplateGeneralClassList = function useSessionTemplateGeneralClass
14357
15029
  history.push(url);
14358
15030
  }, []);
14359
15031
  React.useEffect(function () {
14360
- document.title = TITLE$m;
15032
+ document.title = TITLE$n;
14361
15033
  }, []);
14362
15034
  React.useEffect(function () {
14363
15035
  getData();
@@ -16346,7 +17018,7 @@ var useCustomAlertDetail = function useCustomAlertDetail() {
16346
17018
  };
16347
17019
  };
16348
17020
 
16349
- var TITLE$n = "Custom alert list";
17021
+ var TITLE$o = "Custom alert list";
16350
17022
 
16351
17023
  var useCustomAlertList = function useCustomAlertList() {
16352
17024
  var customAlertList = reactRedux.useSelector(function (state) {
@@ -16434,7 +17106,7 @@ var useCustomAlertList = function useCustomAlertList() {
16434
17106
  dispatch(marioCore.setLoading(false));
16435
17107
  }, [filters]);
16436
17108
  React.useEffect(function () {
16437
- document.title = TITLE$n;
17109
+ document.title = TITLE$o;
16438
17110
  }, []);
16439
17111
  React.useEffect(function () {
16440
17112
  getData();
@@ -16449,7 +17121,7 @@ var useCustomAlertList = function useCustomAlertList() {
16449
17121
  };
16450
17122
  };
16451
17123
 
16452
- var header$6 = "Custom alert";
17124
+ var header$7 = "Custom alert";
16453
17125
 
16454
17126
  var CustomAlertList = function CustomAlertList() {
16455
17127
  var modal = React.useRef();
@@ -16517,7 +17189,7 @@ var CustomAlertList = function CustomAlertList() {
16517
17189
  when: edited
16518
17190
  }), React__default.createElement("h5", {
16519
17191
  className: "mb-2"
16520
- }, header$6), React__default.createElement(reactstrap.Row, {
17192
+ }, header$7), React__default.createElement(reactstrap.Row, {
16521
17193
  className: "my-2"
16522
17194
  }, React__default.createElement(reactstrap.Col, {
16523
17195
  md: 4
@@ -17076,7 +17748,7 @@ var useCertificateDetail = function useCertificateDetail() {
17076
17748
  };
17077
17749
  };
17078
17750
 
17079
- var TITLE$o = "Certificate list";
17751
+ var TITLE$p = "Certificate list";
17080
17752
 
17081
17753
  var useCertificateList = function useCertificateList() {
17082
17754
  var certificateList = reactRedux.useSelector(function (state) {
@@ -17159,7 +17831,7 @@ var useCertificateList = function useCertificateList() {
17159
17831
  dispatch(marioCore.setLoading(false));
17160
17832
  }, [filters]);
17161
17833
  React.useEffect(function () {
17162
- document.title = TITLE$o;
17834
+ document.title = TITLE$p;
17163
17835
  }, []);
17164
17836
  React.useEffect(function () {
17165
17837
  getData();
@@ -17174,7 +17846,7 @@ var useCertificateList = function useCertificateList() {
17174
17846
  };
17175
17847
  };
17176
17848
 
17177
- var header$7 = "Certificate";
17849
+ var header$8 = "Certificate";
17178
17850
 
17179
17851
  var CertificateList = function CertificateList() {
17180
17852
  var modal = React.useRef();
@@ -17233,7 +17905,7 @@ var CertificateList = function CertificateList() {
17233
17905
  when: edited
17234
17906
  }), React__default.createElement("h5", {
17235
17907
  className: "mb-2"
17236
- }, header$7), React__default.createElement(reactstrap.Row, {
17908
+ }, header$8), React__default.createElement(reactstrap.Row, {
17237
17909
  className: "my-2"
17238
17910
  }, React__default.createElement(reactstrap.Col, {
17239
17911
  md: 4
@@ -17307,7 +17979,7 @@ var CertificateList = function CertificateList() {
17307
17979
  }))));
17308
17980
  };
17309
17981
 
17310
- var TITLE$p = "Certificate list";
17982
+ var TITLE$q = "Certificate list";
17311
17983
 
17312
17984
  var useCertificateList$1 = function useCertificateList() {
17313
17985
  var dispatch = reactRedux.useDispatch();
@@ -17395,7 +18067,7 @@ var useCertificateList$1 = function useCertificateList() {
17395
18067
  }
17396
18068
  }, [listWaiting]);
17397
18069
  React.useEffect(function () {
17398
- document.title = TITLE$p;
18070
+ document.title = TITLE$q;
17399
18071
  getListWaiting();
17400
18072
  getListApproved();
17401
18073
  }, []);
@@ -17739,60 +18411,159 @@ var CompareTeacher = function CompareTeacher() {
17739
18411
  className: "text-center"
17740
18412
  }, "No compare result."))));
17741
18413
  };
17742
-
17743
- var REPORT_URL = marioCore.BASE_URL + "/api/report";
17744
- var getQuantityReport = function getQuantityReport() {
17745
- return marioCore.api.get(REPORT_URL + "/quantity");
18414
+
18415
+ var REPORT_URL = marioCore.BASE_URL + "/api/report";
18416
+ var getAllTotalTime = function getAllTotalTime(filter) {
18417
+ return marioCore.api.get(REPORT_URL + "/dashboard-total-student", {
18418
+ params: filter
18419
+ });
18420
+ };
18421
+ var getReadinessToLearning = function getReadinessToLearning(filter) {
18422
+ return marioCore.api.get(REPORT_URL + "/top-readiness-learn", {
18423
+ params: filter
18424
+ });
18425
+ };
18426
+ var getTopLearningStrategies = function getTopLearningStrategies(filter) {
18427
+ return marioCore.api.get(REPORT_URL + "/top-learning-strategies", {
18428
+ params: filter
18429
+ });
18430
+ };
18431
+ var getStudentByGrade = function getStudentByGrade(filter) {
18432
+ return marioCore.api.get(REPORT_URL + "/student-by-grade", {
18433
+ params: filter
18434
+ });
18435
+ };
18436
+ var getOverviewQuestionChart = function getOverviewQuestionChart(filter) {
18437
+ return marioCore.api.get(REPORT_URL + "/overview-chart", {
18438
+ params: filter
18439
+ });
18440
+ };
18441
+ var getFriendCircleItems = function getFriendCircleItems(filter) {
18442
+ return marioCore.api.get(REPORT_URL + "/friend-circles", {
18443
+ params: filter
18444
+ });
18445
+ };
18446
+ var getActivityCircleItems = function getActivityCircleItems(filter) {
18447
+ return marioCore.api.get(REPORT_URL + "/activity-circles", {
18448
+ params: filter
18449
+ });
17746
18450
  };
17747
- var getLoginCountingReport = function getLoginCountingReport() {
17748
- return marioCore.api.get(REPORT_URL + "/logincouting");
18451
+ var getStudentBySpecialNeed = function getStudentBySpecialNeed(filter) {
18452
+ return marioCore.api.get(REPORT_URL + "/student-by-special-needs", {
18453
+ params: filter
18454
+ });
18455
+ };
18456
+ var getStudentByAge = function getStudentByAge(filter) {
18457
+ return marioCore.api.get(REPORT_URL + "/student-by-age", {
18458
+ params: filter
18459
+ });
17749
18460
  };
17750
- var getGoalProgressReport = function getGoalProgressReport() {
17751
- return marioCore.api.get(REPORT_URL + "/goalprogress");
18461
+ var getStudentByGender = function getStudentByGender(filter) {
18462
+ return marioCore.api.get(REPORT_URL + "/student-by-gender", {
18463
+ params: filter
18464
+ });
17752
18465
  };
17753
- var getHighImpactLearningStrategyReport = function getHighImpactLearningStrategyReport() {
17754
- return marioCore.api.get(REPORT_URL + "/highimpactlearningstrategy");
18466
+ var getGrades = function getGrades() {
18467
+ return marioCore.api.get(REPORT_URL + "/grade-levels");
17755
18468
  };
17756
- var getPerceivedImpactReport = function getPerceivedImpactReport() {
17757
- return marioCore.api.get(REPORT_URL + "/perceivedimpact");
18469
+
18470
+ var LegalGenderType;
18471
+
18472
+ (function (LegalGenderType) {
18473
+ LegalGenderType[LegalGenderType["Male"] = 0] = "Male";
18474
+ LegalGenderType[LegalGenderType["Female"] = 1] = "Female";
18475
+ })(LegalGenderType || (LegalGenderType = {}));
18476
+
18477
+ var INITIAL_BEST_FRIENDS = {
18478
+ friends: 0,
18479
+ couldBeFriends: 0,
18480
+ supportive: 0,
18481
+ notSpeakingAtTheMoment: 0
17758
18482
  };
17759
- var getGradeReport = function getGradeReport() {
17760
- return marioCore.api.get(REPORT_URL + "/grade");
18483
+ var INITIAL_ACTIVITY_FRIENDS = {
18484
+ like: 0,
18485
+ love: 0,
18486
+ interested: 0,
18487
+ curious: 0
17761
18488
  };
17762
18489
 
17763
- var TITLE$q = "Dashboard";
18490
+ var TITLE$r = "Dashboard";
17764
18491
 
17765
18492
  var useDashboard = function useDashboard() {
17766
18493
  var dispatch = reactRedux.useDispatch();
18494
+ var now = new Date();
17767
18495
 
17768
- var _useState = React.useState(null),
17769
- loginCounting = _useState[0],
17770
- setLoginCounting = _useState[1];
18496
+ var _useState = React.useState({
18497
+ startDate: new Date(now.getFullYear(), now.getMonth(), 1).getTime(),
18498
+ endDate: new Date(now.getFullYear(), now.getMonth() + 1, 0).getTime(),
18499
+ studentIds: [],
18500
+ gender: [LegalGenderType.Male, LegalGenderType.Female]
18501
+ }),
18502
+ filter = _useState[0],
18503
+ setFilter = _useState[1];
17771
18504
 
17772
- var _useState2 = React.useState(null),
17773
- quantity = _useState2[0],
17774
- setQuantity = _useState2[1];
18505
+ var _useState2 = React.useState(),
18506
+ listTotalTime = _useState2[0],
18507
+ setListTotalTime = _useState2[1];
17775
18508
 
17776
- var _useState3 = React.useState(null),
17777
- goalProgress = _useState3[0],
17778
- setGoalProgress = _useState3[1];
18509
+ var _useState3 = React.useState(),
18510
+ readinessToLearning = _useState3[0],
18511
+ setReadinessToLearning = _useState3[1];
17779
18512
 
17780
- var _useState4 = React.useState(null),
17781
- highImpact = _useState4[0],
17782
- setHighImpact = _useState4[1];
18513
+ var _useState4 = React.useState(),
18514
+ topLearningStrategies = _useState4[0],
18515
+ setTopLearningStrategies = _useState4[1];
17783
18516
 
17784
- var _useState5 = React.useState(null),
17785
- perceivedImpact = _useState5[0],
17786
- setPerceivedImpact = _useState5[1];
18517
+ var _useState5 = React.useState(),
18518
+ studentByGrade = _useState5[0],
18519
+ setStudentByGrade = _useState5[1];
18520
+
18521
+ var _useState6 = React.useState(),
18522
+ chartOneToOneData = _useState6[0],
18523
+ setChartOneToOneData = _useState6[1];
17787
18524
 
17788
- var _useState6 = React.useState(null),
17789
- grade = _useState6[0],
17790
- setGrade = _useState6[1];
18525
+ var _useState7 = React.useState(),
18526
+ chartClassReflection = _useState7[0],
18527
+ setChartClassReflection = _useState7[1];
17791
18528
 
17792
- var callApi = React.useCallback(function (apiCaller, setData, defaultData) {
18529
+ var _useState8 = React.useState(),
18530
+ chartConference = _useState8[0],
18531
+ setChartConference = _useState8[1];
18532
+
18533
+ var _useState9 = React.useState(),
18534
+ learningProgress = _useState9[0],
18535
+ setLearningProgress = _useState9[1];
18536
+
18537
+ var _useState10 = React.useState(),
18538
+ friendCircles = _useState10[0],
18539
+ setFriendCircles = _useState10[1];
18540
+
18541
+ var _useState11 = React.useState(),
18542
+ activityCircles = _useState11[0],
18543
+ setActivityCircles = _useState11[1];
18544
+
18545
+ var _useState12 = React.useState(),
18546
+ studentBySpecialNeed = _useState12[0],
18547
+ setStudentBySpecialNeed = _useState12[1];
18548
+
18549
+ var _useState13 = React.useState(),
18550
+ studentByAge = _useState13[0],
18551
+ setStudentByAge = _useState13[1];
18552
+
18553
+ var _useState14 = React.useState(),
18554
+ studentByGender = _useState14[0],
18555
+ setStudentByGender = _useState14[1];
18556
+
18557
+ var _useState15 = React.useState([]),
18558
+ grades = _useState15[0],
18559
+ setGrades = _useState15[1];
18560
+
18561
+ var callApi = React.useCallback(function (apiCaller, setData, defaultData, type) {
17793
18562
  try {
17794
18563
  var _temp2 = _catch(function () {
17795
- return Promise.resolve(apiCaller()).then(function (res) {
18564
+ return Promise.resolve(type ? apiCaller(_extends({}, filter, {
18565
+ type: type
18566
+ })) : apiCaller(filter)).then(function (res) {
17796
18567
  setData(res.data);
17797
18568
  });
17798
18569
  }, function (err) {
@@ -17809,45 +18580,166 @@ var useDashboard = function useDashboard() {
17809
18580
  } catch (e) {
17810
18581
  return Promise.reject(e);
17811
18582
  }
17812
- }, []);
18583
+ }, [filter]);
18584
+
18585
+ var callApiNoFilter = function callApiNoFilter(apiCaller, setData, defaultData) {
18586
+ try {
18587
+ var _temp5 = function _temp5() {
18588
+ dispatch(marioCore.setLoading(false));
18589
+ };
18590
+
18591
+ dispatch(marioCore.setLoading(true));
18592
+
18593
+ var _temp6 = _catch(function () {
18594
+ return Promise.resolve(apiCaller()).then(function (res) {
18595
+ res && setData(res.data);
18596
+ });
18597
+ }, function (err) {
18598
+ var _err$response2, _err$response2$data;
18599
+
18600
+ dispatch(marioCore.setAlert({
18601
+ type: "danger",
18602
+ 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
18603
+ }));
18604
+ setData(defaultData);
18605
+ });
18606
+
18607
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(_temp5) : _temp5(_temp6));
18608
+ } catch (e) {
18609
+ return Promise.reject(e);
18610
+ }
18611
+ };
18612
+
17813
18613
  var getData = React.useCallback(function () {
17814
18614
  try {
17815
- document.title = TITLE$q;
18615
+ document.title = TITLE$r;
17816
18616
  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 () {
18617
+ 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"), callApi(getFriendCircleItems, setFriendCircles, INITIAL_BEST_FRIENDS), callApi(getActivityCircleItems, setActivityCircles, INITIAL_ACTIVITY_FRIENDS), callApi(getStudentBySpecialNeed, setStudentBySpecialNeed, []), callApi(getStudentByAge, setStudentByAge, []), callApi(getStudentByGender, setStudentByGender, [])])).then(function () {
17818
18618
  dispatch(marioCore.setLoading(false));
17819
18619
  });
17820
18620
  } catch (e) {
17821
18621
  return Promise.reject(e);
17822
18622
  }
17823
- }, []);
18623
+ }, [filter]);
17824
18624
  React.useEffect(function () {
17825
18625
  getData();
18626
+ }, [filter]);
18627
+ React.useEffect(function () {
18628
+ callApiNoFilter(getGrades, setGrades, []);
17826
18629
  }, []);
17827
18630
  return {
17828
- loginCounting: loginCounting,
17829
- quantity: quantity,
17830
- goalProgress: goalProgress,
17831
- highImpact: highImpact,
17832
- perceivedImpact: perceivedImpact,
17833
- grade: grade
18631
+ setFilter: setFilter,
18632
+ filter: filter,
18633
+ listTotalTime: listTotalTime,
18634
+ readinessToLearning: readinessToLearning,
18635
+ topLearningStrategies: topLearningStrategies,
18636
+ studentByGrade: studentByGrade,
18637
+ chartOneToOneData: chartOneToOneData,
18638
+ chartClassReflection: chartClassReflection,
18639
+ chartConference: chartConference,
18640
+ learningProgress: learningProgress,
18641
+ friendCircles: friendCircles,
18642
+ activityCircles: activityCircles,
18643
+ studentBySpecialNeed: studentBySpecialNeed,
18644
+ studentByAge: studentByAge,
18645
+ studentByGender: studentByGender,
18646
+ grades: grades
17834
18647
  };
17835
18648
  };
17836
18649
 
17837
- var styles$1 = {"dashboard-card":"_1Jgr2","quantity-table":"_3Thdy"};
18650
+ 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","form-filter-gender":"_31VDE","form-filter-grade":"_1Pm1w"};
17838
18651
 
17839
18652
  var DashboardCard = function DashboardCard(_ref) {
17840
18653
  var label = _ref.label,
17841
18654
  children = _ref.children;
17842
18655
  return React__default.createElement("div", {
17843
18656
  className: styles$1["dashboard-card"]
18657
+ }, React__default.createElement("div", {
18658
+ className: "d-flex align-items-center justify-content-between"
17844
18659
  }, React__default.createElement("h5", {
17845
18660
  className: "mb-2"
17846
- }, label), React__default.createElement("div", {
18661
+ }, label)), React__default.createElement("div", {
17847
18662
  className: "flex-grow-1 d-flex flex-column justify-content-center"
17848
18663
  }, children));
17849
18664
  };
17850
18665
 
18666
+ var ReadinessToLearn = function ReadinessToLearn(_ref) {
18667
+ var data = _ref.data;
18668
+ var categories = React.useMemo(function () {
18669
+ if (!data) return [];
18670
+
18671
+ try {
18672
+ return data === null || data === void 0 ? void 0 : data.map(function (item) {
18673
+ return item.createdAt;
18674
+ });
18675
+ } catch (_unused) {
18676
+ return [];
18677
+ }
18678
+ }, [data]);
18679
+ if (!data) return React__default.createElement(marioCore.Loading, null);
18680
+ var options = {
18681
+ chart: {
18682
+ type: "radialBar",
18683
+ height: 350,
18684
+ stacked: true,
18685
+ stackType: "100%",
18686
+ toolbar: {
18687
+ show: false
18688
+ }
18689
+ },
18690
+ noData: {
18691
+ text: "NO DATA",
18692
+ align: "center",
18693
+ verticalAlign: "middle",
18694
+ offsetX: 0,
18695
+ offsetY: 0,
18696
+ style: {
18697
+ color: undefined,
18698
+ fontSize: "14px",
18699
+ fontFamily: undefined
18700
+ }
18701
+ },
18702
+ plotOptions: {
18703
+ bar: {
18704
+ horizontal: false,
18705
+ columnWidth: "80%"
18706
+ }
18707
+ },
18708
+ colors: ["#FFB04F", "#78B6E2", "#F08281", "#40D2CC"],
18709
+ stroke: {
18710
+ lineCap: "round"
18711
+ },
18712
+ labels: (data === null || data === void 0 ? void 0 : data.map(function (i) {
18713
+ return i.questionText;
18714
+ })) || [],
18715
+ xaxis: {
18716
+ categories: categories
18717
+ },
18718
+ fill: {
18719
+ opacity: 1
18720
+ },
18721
+ legend: {
18722
+ position: "bottom",
18723
+ show: true,
18724
+ fontSize: "16px",
18725
+ onItemClick: {
18726
+ toggleDataSeries: true
18727
+ },
18728
+ onItemHover: {
18729
+ highlightDataSeries: false
18730
+ }
18731
+ }
18732
+ };
18733
+ return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18734
+ options: options,
18735
+ series: (data === null || data === void 0 ? void 0 : data.map(function (i) {
18736
+ return i.percentQuestion.toFixed(2);
18737
+ })) || [],
18738
+ type: "radialBar",
18739
+ height: 350
18740
+ }));
18741
+ };
18742
+
17851
18743
  var Loading = function Loading() {
17852
18744
  return React__default.createElement("div", {
17853
18745
  className: "d-flex align-items-center justify-content-center"
@@ -17869,354 +18761,955 @@ var Loading = function Loading() {
17869
18761
  }, "Loading...")));
17870
18762
  };
17871
18763
 
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)"];
18764
+ var colors = ["#40D2CC", "#1D74C5", "#78B6E2", "#FFC783", "#0D9994"];
17873
18765
 
17874
- var getColors = function getColors(length) {
17875
- if (colors.length >= length) return colors;
17876
- var newColors = [].concat(colors);
18766
+ var TopLearningStrategy = function TopLearningStrategy(_ref) {
18767
+ var _data$learningStrateg, _data$learningStrateg2;
17877
18768
 
17878
- while (newColors.length < length) {
17879
- newColors = [].concat(newColors, colors);
17880
- }
18769
+ var data = _ref.data;
18770
+ if (!data) return React__default.createElement(Loading, null);
18771
+ var options = {
18772
+ chart: {
18773
+ width: 350,
18774
+ type: "pie"
18775
+ },
18776
+ noData: {
18777
+ text: "NO DATA",
18778
+ align: "center",
18779
+ verticalAlign: "middle",
18780
+ offsetX: 0,
18781
+ offsetY: 0,
18782
+ style: {
18783
+ color: undefined,
18784
+ fontSize: "14px",
18785
+ fontFamily: undefined
18786
+ }
18787
+ },
18788
+ labels: (data === null || data === void 0 ? void 0 : (_data$learningStrateg = data.learningStrategies) === null || _data$learningStrateg === void 0 ? void 0 : _data$learningStrateg.map(function (i) {
18789
+ return i.learningStrategyName;
18790
+ })) || [],
18791
+ colors: colors,
18792
+ legend: {
18793
+ show: true,
18794
+ position: "bottom"
18795
+ }
18796
+ };
18797
+ return React__default.createElement("div", {
18798
+ className: "d-flex h-100 justify-content-center"
18799
+ }, React__default.createElement("div", {
18800
+ className: "d-flex align-items-end justify-content-center"
18801
+ }, React__default.createElement(ReactApexChart, {
18802
+ options: options,
18803
+ series: (data === null || data === void 0 ? void 0 : (_data$learningStrateg2 = data.learningStrategies) === null || _data$learningStrateg2 === void 0 ? void 0 : _data$learningStrateg2.map(function (i) {
18804
+ return i.usageCount;
18805
+ })) || [],
18806
+ type: "pie",
18807
+ height: 350
18808
+ })));
18809
+ };
17881
18810
 
17882
- return newColors;
18811
+ var TotalCard = function TotalCard(_ref) {
18812
+ var icon = _ref.icon,
18813
+ title = _ref.title,
18814
+ value = _ref.value;
18815
+ return React__default.createElement("div", {
18816
+ className: "border p-3 rounded mr-3 mb-3"
18817
+ }, React__default.createElement("div", {
18818
+ className: "d-flex align-items-center"
18819
+ }, icon, React__default.createElement("p", {
18820
+ className: styles$1["title-card"] + " m-0 mx-2"
18821
+ }, title)), React__default.createElement("div", {
18822
+ className: "d-flex align-items-center justify-content-center mt-3"
18823
+ }, React__default.createElement("p", {
18824
+ className: "" + styles$1["value-card"]
18825
+ }, value)));
17883
18826
  };
17884
18827
 
17885
- var HighImpact = function HighImpact(_ref) {
18828
+ var CustomBarChart = function CustomBarChart(_ref) {
17886
18829
  var data = _ref.data;
17887
- var colors = React.useMemo(function () {
17888
- var _Object$keys;
17889
18830
 
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 [];
18831
+ var _useState = React.useState(600),
18832
+ widthChartOne = _useState[0],
18833
+ setWidthChart = _useState[1];
18834
+
18835
+ var _useState2 = React.useState(400),
18836
+ heightChartOne = _useState2[0],
18837
+ setHeightChart = _useState2[1];
18838
+
18839
+ var wellbeing = [];
18840
+ var growth = [];
18841
+ var relations = [];
18842
+ var productiviy = [];
18843
+ var academic = [];
18844
+ var selfEfficacy = [];
18845
+ var focus = [];
18846
+ var energy = [];
18847
+ var hapiness = [];
18848
+ var mood = [];
18849
+ var learningProgress = [];
18850
+ var chatMonth = [];
18851
+
18852
+ var _useState3 = React.useState({
18853
+ chart: {
18854
+ type: "line",
18855
+ toolbar: {
18856
+ show: false
18857
+ },
18858
+ height: heightChartOne,
18859
+ zoom: {
18860
+ enabled: false
18861
+ }
18862
+ },
18863
+ dataLabels: {
18864
+ enabled: false
18865
+ },
18866
+ legend: {
18867
+ position: "top",
18868
+ horizontalAlign: "center",
18869
+ width: 3 * widthChartOne / 5,
18870
+ offsetX: 20,
18871
+ markers: {
18872
+ width: 12,
18873
+ radius: 0
18874
+ }
18875
+ },
18876
+ stroke: {
18877
+ width: 2
18878
+ },
18879
+ markers: {
18880
+ size: 5
18881
+ },
18882
+ colors: ["#082FA2", "#1A55AE", "#3C65E0", "#6D88E8", "#1E80B9", "#1C77AC", "#4992BD", "#77ADCD", "#3DCBCB", "#1DBAB4", "#61CBCB"],
18883
+ xaxis: {
18884
+ categories: chatMonth
18885
+ },
18886
+ yaxis: {
18887
+ title: {
18888
+ text: "High",
18889
+ rotate: 0,
18890
+ offsetX: -20,
18891
+ offsetY: -265
18892
+ },
18893
+ labels: {
18894
+ offsetX: 10,
18895
+ show: false
18896
+ }
18897
+ }
18898
+ }),
18899
+ optionsOne = _useState3[0],
18900
+ setOptions = _useState3[1];
18901
+
18902
+ var _useState4 = React.useState([{
18903
+ name: "Wellbeing",
18904
+ data: [0]
18905
+ }, {
18906
+ name: "Growth",
18907
+ data: [0]
18908
+ }, {
18909
+ name: "Relations",
18910
+ data: [0]
18911
+ }, {
18912
+ name: "Productivity",
18913
+ data: [0]
18914
+ }, {
18915
+ name: "Academic",
18916
+ data: [0]
18917
+ }, {
18918
+ name: "Self-Efficacy",
18919
+ data: [0]
18920
+ }, {
18921
+ name: "Focus",
18922
+ data: [0]
18923
+ }, {
18924
+ name: "Energy",
18925
+ data: [0]
18926
+ }, {
18927
+ name: "Hapiness",
18928
+ data: [0]
18929
+ }, {
18930
+ name: "Mood",
18931
+ data: [0]
18932
+ }, {
18933
+ name: "Learning Progress",
18934
+ data: [0]
18935
+ }]),
18936
+ series = _useState4[0],
18937
+ setSeries = _useState4[1];
17899
18938
 
18939
+ var screenWidthMe = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
18940
+ React.useEffect(function () {
18941
+ if (screenWidthMe > 1400) {
18942
+ setWidthChart(932);
18943
+ setHeightChart(680);
18944
+ }
18945
+ }, []);
18946
+
18947
+ var getData = function getData() {
17900
18948
  try {
17901
- var results = Object.keys(data).map(function (key, index) {
17902
- return {
17903
- name: key,
17904
- color: colors[index]
17905
- };
18949
+ !!data && data.overviewQuestionChoice.map(function (element) {
18950
+ chatMonth.push(element.month);
18951
+ element.resultQuestion.map(function (data, index) {
18952
+ if (data.questionText == "") {
18953
+ mood.push(null);
18954
+ learningProgress.push(null);
18955
+ wellbeing.push(null);
18956
+ growth.push(null);
18957
+ academic.push(null);
18958
+ selfEfficacy.push(null);
18959
+ energy.push(null);
18960
+ focus.push(null), hapiness.push(null);
18961
+ relations.push(null);
18962
+ productiviy.push(null);
18963
+ return;
18964
+ } else {
18965
+ var result = data.avgOfStudentChoice.toFixed(2);
18966
+
18967
+ if (index == 0) {
18968
+ wellbeing.push(result);
18969
+ mood.push(0);
18970
+ learningProgress.push(0);
18971
+ } else if (index == 1) {
18972
+ growth.push(result);
18973
+ } else if (index == 2) {
18974
+ relations.push(result);
18975
+ } else if (index == 3) {
18976
+ productiviy.push(result);
18977
+ } else if (index == 4) {
18978
+ academic.push(result);
18979
+ } else if (index == 5) {
18980
+ selfEfficacy.push(result);
18981
+ } else if (index == 6) {
18982
+ energy.push(result);
18983
+ } else if (index == 7) {
18984
+ focus.push(result);
18985
+ } else if (index == 8) {
18986
+ hapiness.push(result);
18987
+ }
18988
+ }
18989
+ });
17906
18990
  });
17907
- return results;
17908
- } catch (_unused) {
17909
- return [];
18991
+ setOptions({
18992
+ chart: {
18993
+ type: "line",
18994
+ toolbar: {
18995
+ show: false
18996
+ },
18997
+ height: heightChartOne,
18998
+ zoom: {
18999
+ enabled: false
19000
+ }
19001
+ },
19002
+ dataLabels: {
19003
+ enabled: false
19004
+ },
19005
+ legend: {
19006
+ position: "top",
19007
+ horizontalAlign: "center",
19008
+ width: 4 * widthChartOne / 5,
19009
+ offsetX: 20,
19010
+ markers: {
19011
+ width: 12,
19012
+ radius: 0
19013
+ }
19014
+ },
19015
+ markers: {
19016
+ size: 5
19017
+ },
19018
+ colors: ["#082FA2", "#1A55AE", "#3C65E0", "#6D88E8", "#1E80B9", "#1C77AC", "#4992BD", "#77ADCD", "#3DCBCB", "#1DBAB4", "#61CBCB"],
19019
+ xaxis: {
19020
+ categories: chatMonth
19021
+ },
19022
+ yaxis: {
19023
+ labels: {
19024
+ offsetX: 0,
19025
+ show: false
19026
+ }
19027
+ }
19028
+ });
19029
+ setSeries([{
19030
+ name: "Wellbeing",
19031
+ data: wellbeing
19032
+ }, {
19033
+ name: "Growth",
19034
+ data: growth
19035
+ }, {
19036
+ name: "Relations",
19037
+ data: relations
19038
+ }, {
19039
+ name: "Productivity",
19040
+ data: productiviy
19041
+ }, {
19042
+ name: "Academic",
19043
+ data: academic
19044
+ }, {
19045
+ name: "Self-Efficacy",
19046
+ data: selfEfficacy
19047
+ }, {
19048
+ name: "Focus",
19049
+ data: focus
19050
+ }, {
19051
+ name: "Energy",
19052
+ data: energy
19053
+ }, {
19054
+ name: "Hapiness",
19055
+ data: hapiness
19056
+ }, {
19057
+ name: "Mood",
19058
+ data: mood
19059
+ }, {
19060
+ name: "Learning Progress",
19061
+ data: learningProgress
19062
+ }]);
19063
+ return Promise.resolve();
19064
+ } catch (e) {
19065
+ return Promise.reject(e);
17910
19066
  }
19067
+ };
19068
+
19069
+ React.useEffect(function () {
19070
+ getData();
17911
19071
  }, [data]);
17912
- if (!data) return React__default.createElement(Loading, null);
17913
- var series = [{
17914
- name: "",
17915
- data: ratings
17916
- }];
19072
+ var optionOneToOne = optionsOne;
19073
+ return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
19074
+ options: optionOneToOne,
19075
+ series: series,
19076
+ type: "line",
19077
+ width: "100%",
19078
+ height: 350
19079
+ }));
19080
+ };
19081
+
19082
+ var StudentByGrade = function StudentByGrade(_ref) {
19083
+ var data = _ref.data;
17917
19084
  var options = {
17918
19085
  chart: {
17919
- height: 350,
17920
- type: "bar",
17921
- toolbar: {
17922
- show: false
17923
- }
19086
+ height: 350
17924
19087
  },
17925
- colors: colors,
17926
19088
  plotOptions: {
17927
19089
  bar: {
17928
- columnWidth: "45%",
17929
- distributed: true
19090
+ borderRadius: 4,
19091
+ horizontal: true
17930
19092
  }
17931
19093
  },
17932
19094
  dataLabels: {
17933
19095
  enabled: false
17934
19096
  },
19097
+ grid: {
19098
+ show: false
19099
+ },
19100
+ colors: ["#1D74C5", "#4B92CE", "#78B6E2", "#A4D1F0", "#4B92CE"]
19101
+ };
19102
+ var series = [{
19103
+ data: (data === null || data === void 0 ? void 0 : data.map(function (i) {
19104
+ return i.quantity;
19105
+ })) || []
19106
+ }];
19107
+ return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
19108
+ options: options,
19109
+ series: series,
19110
+ type: "bar",
19111
+ width: "100%",
19112
+ height: 350
19113
+ }));
19114
+ };
19115
+
19116
+ var StudentByGender = function StudentByGender(_ref) {
19117
+ var data = _ref.data;
19118
+ var series = !!data ? [data.male, data.female] : [];
19119
+ var options = {
19120
+ labels: ["Female", "Male"],
19121
+ colors: ["#A4D1F0", "#40D2CC"],
17935
19122
  legend: {
17936
19123
  show: false
17937
- },
17938
- xaxis: {
17939
- categories: learningStrategies.map(function (item) {
17940
- return item.name.substring(0, 15) + "...";
17941
- })
17942
- },
17943
- yaxis: {
17944
- labels: {
17945
- formatter: function formatter(val) {
17946
- return "" + val.toFixed(0);
17947
- }
17948
- }
17949
19124
  }
17950
19125
  };
17951
- return React__default.createElement("div", null, React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
19126
+ return React__default.createElement("div", {
19127
+ className: "d-flex h-100 justify-content-center"
19128
+ }, React__default.createElement("div", {
19129
+ className: "d-flex align-items-end justify-content-center"
19130
+ }, React__default.createElement(ReactApexChart, {
17952
19131
  options: options,
17953
19132
  series: series,
17954
- type: "bar",
17955
- 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));
19133
+ type: "pie",
19134
+ height: 350,
19135
+ width: "100%"
17968
19136
  })));
17969
19137
  };
17970
19138
 
17971
- var colors$1 = ["#1abc9c", "#c0392b"];
17972
-
17973
- var LoginCouting = function LoginCouting(_ref) {
19139
+ var StudentWithSpecialNeeds = function StudentWithSpecialNeeds(_ref) {
17974
19140
  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
19141
  var options = {
17995
- chart: {
17996
- height: 350,
17997
- type: "area",
17998
- toolbar: {
17999
- show: false
18000
- }
18001
- },
18002
- stroke: {
18003
- width: 2,
18004
- curve: "straight"
18005
- },
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
18024
- }
18025
- },
19142
+ colors: ["#CEF7F5", "#0D9994", "#1CB7B1", "#40D2CC", "#80E7E2"],
18026
19143
  legend: {
18027
19144
  show: false
18028
19145
  },
18029
- xaxis: {
18030
- categories: categories
18031
- }
19146
+ labels: (data === null || data === void 0 ? void 0 : data.map(function (i) {
19147
+ return i.nameSpecial;
19148
+ })) || []
18032
19149
  };
18033
19150
  return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18034
19151
  options: options,
18035
- series: series,
18036
- type: "line",
19152
+ series: (data === null || data === void 0 ? void 0 : data.map(function (i) {
19153
+ return i.numberSpecial;
19154
+ })) || [],
19155
+ type: "donut",
19156
+ width: "100%",
18037
19157
  height: 350
18038
19158
  }));
18039
19159
  };
18040
19160
 
18041
- var colors$2 = ["#00cec9", "#00b894"];
18042
-
18043
- var PerceivedImpact = function PerceivedImpact(_ref) {
19161
+ var StudentByAge = function StudentByAge(_ref) {
18044
19162
  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
19163
  var options = {
18056
19164
  chart: {
18057
- type: "bar",
18058
- height: 350,
18059
- toolbar: {
18060
- show: false
18061
- }
19165
+ height: 350
18062
19166
  },
18063
- colors: colors$2,
18064
19167
  plotOptions: {
18065
19168
  bar: {
18066
- horizontal: false,
18067
- columnWidth: "55%"
19169
+ columnWidth: "45%",
19170
+ distributed: true
18068
19171
  }
18069
19172
  },
18070
19173
  dataLabels: {
18071
19174
  enabled: false
18072
19175
  },
18073
- stroke: {
18074
- show: true,
18075
- width: 2,
18076
- colors: ["transparent"]
18077
- },
18078
- xaxis: {
18079
- categories: categories
19176
+ legend: {
19177
+ show: false
18080
19178
  },
18081
- fill: {
18082
- opacity: 1
19179
+ noData: {
19180
+ text: "NO DATA",
19181
+ offsetX: 0,
19182
+ offsetY: 0
18083
19183
  },
18084
- legend: {
18085
- onItemClick: {
18086
- toggleDataSeries: false
18087
- },
18088
- onItemHover: {
18089
- highlightDataSeries: false
18090
- }
19184
+ colors: ["#40D2CC", "#1CB7B1", "#0D9994", "#80E7E2", "#40D2CC"],
19185
+ xaxis: {
19186
+ categories: ["3-5", "6-8", "9-12", "13-15", "16-18"]
18091
19187
  }
18092
19188
  };
19189
+ var series = [{
19190
+ data: !!data ? [data === null || data === void 0 ? void 0 : data.threeToFive, data === null || data === void 0 ? void 0 : data.sixToEight, data === null || data === void 0 ? void 0 : data.nineToTwelve, data === null || data === void 0 ? void 0 : data.thirteenToFifteen, data === null || data === void 0 ? void 0 : data.sixteenToEighteen] : []
19191
+ }];
18093
19192
  return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18094
19193
  options: options,
18095
19194
  series: series,
18096
19195
  type: "bar",
19196
+ width: "100%",
18097
19197
  height: 350
18098
19198
  }));
18099
19199
  };
18100
19200
 
18101
- var colors$3 = ["#00b894", "#00cec9", "#0984e3"];
19201
+ var styles$2 = {"block-circle":"_2Q9xO","block-item-3":"_3r61v","item-circle":"_2b1Cw","block-item-4":"_2Nlax"};
18102
19202
 
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
- });
18115
- var options = {
18116
- chart: {
18117
- width: 380,
18118
- type: "pie"
18119
- },
18120
- labels: ["Teachers", "Students", "Assistants"],
18121
- colors: colors$3,
18122
- legend: {
18123
- show: false
18124
- },
18125
- responsive: [{
18126
- breakpoint: 480,
18127
- options: {
18128
- chart: {
18129
- width: 200
18130
- }
18131
- }
18132
- }]
19203
+ var cssConfig = function cssConfig(width, height, background) {
19204
+ return {
19205
+ width: width,
19206
+ height: height,
19207
+ background: background
18133
19208
  };
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
- }];
19209
+ };
19210
+
19211
+ var Circle = function Circle(_ref) {
19212
+ var title = _ref.title,
19213
+ quality = _ref.quality,
19214
+ width = _ref.width,
19215
+ height = _ref.height,
19216
+ background = _ref.background,
19217
+ key = _ref.key;
18147
19218
  return React__default.createElement("div", {
18148
- className: "d-flex h-100"
19219
+ className: styles$2["block-circle"] + " " + styles$2["block-item-" + key],
19220
+ style: cssConfig(width, height, background)
18149
19221
  }, React__default.createElement("div", {
18150
- className: "d-flex justify-content-center align-items-end flex-grow-1"
19222
+ className: styles$2["item-circle"]
19223
+ }, React__default.createElement("h2", {
19224
+ className: styles$2["title-circle"]
19225
+ }, title), React__default.createElement("p", {
19226
+ className: styles$2["number-circle"]
19227
+ }, quality)));
19228
+ };
19229
+
19230
+ var ItemCircle = function ItemCircle(_ref) {
19231
+ var background = _ref.background,
19232
+ title = _ref.title;
19233
+ var cssBackground = {
19234
+ background: background,
19235
+ width: "16px",
19236
+ height: "16px",
19237
+ borderRadius: "4px",
19238
+ display: "inline-block",
19239
+ marginRight: "10px"
19240
+ };
19241
+ var cssLabel = {
19242
+ color: "#000",
19243
+ fontSize: "16px",
19244
+ display: "inline-block",
19245
+ marginBottom: "0px"
19246
+ };
19247
+ return React__default.createElement("div", {
19248
+ className: "" + styles$2["item-circle"],
19249
+ style: {
19250
+ display: 'flex',
19251
+ alignItems: 'center'
19252
+ }
19253
+ }, React__default.createElement("span", {
19254
+ className: styles$2["round-title"],
19255
+ style: cssBackground
19256
+ }), React__default.createElement("h2", {
19257
+ style: cssLabel
19258
+ }, title));
19259
+ };
19260
+
19261
+ var styles$3 = {"block-chart-circle":"_3DImv","block-view":"_1iPJ6","button-view":"_3lxsP","block-item-chart-circle-1":"_30j_l","block-item-chart-circle-2":"_34Snf","block-item-chart-circle-3":"_2WBPR","block-item-chart-circle-4":"_35giW","list-item-note":"_LR7-A","item-note-1":"_dVojB","item-note-2":"_1ALLM","item-note-3":"_3OII4","item-note-4":"_1t4JS","list-item-note-mobile":"_3Rj17","button-view-mobile":"_3Yvnm","chart-narrow":"_3UN7n"};
19262
+
19263
+ var CircleChart = function CircleChart(_ref) {
19264
+ var circleChartItems = _ref.circleChartItems;
19265
+ var isSidebarShow = !!reactRedux.useSelector(function (state) {
19266
+ var _state$common;
19267
+
19268
+ return (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.sidebarShow;
19269
+ });
19270
+ return React__default.createElement("div", {
19271
+ className: styles$3["block-chart-circle"] + " " + (isSidebarShow && styles$3["chart-narrow"])
18151
19272
  }, 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
- className: "d-flex align-items-end"
18171
- }, React__default.createElement(ReactApexChart, {
18172
- options: options,
18173
- series: series,
18174
- type: "pie",
18175
- width: 380
19273
+ className: styles$3["item-chart-circle"]
19274
+ }, !!circleChartItems && circleChartItems.map(function (record) {
19275
+ return React__default.createElement("div", {
19276
+ className: styles$3["block-item-chart-circle-" + record.id],
19277
+ key: record.id
19278
+ }, React__default.createElement(Circle, {
19279
+ title: record.name,
19280
+ quality: record.number,
19281
+ background: record.background,
19282
+ width: record.width,
19283
+ height: record.height,
19284
+ key: record.id
19285
+ }));
19286
+ })), React__default.createElement("div", {
19287
+ className: "" + styles$3["list-item-note"]
19288
+ }, !!circleChartItems && circleChartItems.map(function (record) {
19289
+ return React__default.createElement("div", {
19290
+ className: styles$3["item-note-" + record.id],
19291
+ key: record.id
19292
+ }, React__default.createElement(ItemCircle, {
19293
+ title: record.name,
19294
+ background: record.background
19295
+ }));
18176
19296
  })));
18177
19297
  };
18178
19298
 
19299
+ var friendCircleItems = function friendCircleItems(_ref) {
19300
+ var _ref$bestFriends = _ref.bestFriends,
19301
+ bestFriends = _ref$bestFriends === void 0 ? 0 : _ref$bestFriends,
19302
+ _ref$friends = _ref.friends,
19303
+ friends = _ref$friends === void 0 ? 0 : _ref$friends,
19304
+ _ref$couldBeFriends = _ref.couldBeFriends,
19305
+ couldBeFriends = _ref$couldBeFriends === void 0 ? 0 : _ref$couldBeFriends,
19306
+ _ref$supportive = _ref.supportive,
19307
+ supportive = _ref$supportive === void 0 ? 0 : _ref$supportive;
19308
+ return [{
19309
+ id: 1,
19310
+ name: "Best Friends",
19311
+ number: bestFriends,
19312
+ background: "#9DECF9",
19313
+ width: 207,
19314
+ height: 207
19315
+ }, {
19316
+ id: 2,
19317
+ name: "Friend",
19318
+ number: friends,
19319
+ background: "#B2F5EA",
19320
+ width: 145,
19321
+ height: 145
19322
+ }, {
19323
+ id: 3,
19324
+ name: "Supportive",
19325
+ number: supportive,
19326
+ background: "#CEEDFF",
19327
+ width: 140,
19328
+ height: 140
19329
+ }, {
19330
+ id: 4,
19331
+ name: "Could be Friend",
19332
+ number: couldBeFriends,
19333
+ background: "#E2E8F0",
19334
+ width: 150,
19335
+ height: 150
19336
+ }];
19337
+ };
19338
+ var activityCircleItems = function activityCircleItems(_ref2) {
19339
+ var _ref2$like = _ref2.like,
19340
+ like = _ref2$like === void 0 ? 0 : _ref2$like,
19341
+ _ref2$love = _ref2.love,
19342
+ love = _ref2$love === void 0 ? 0 : _ref2$love,
19343
+ _ref2$interested = _ref2.interested,
19344
+ interested = _ref2$interested === void 0 ? 0 : _ref2$interested,
19345
+ _ref2$curious = _ref2.curious,
19346
+ curious = _ref2$curious === void 0 ? 0 : _ref2$curious;
19347
+ return [{
19348
+ id: 1,
19349
+ name: "Like",
19350
+ number: like,
19351
+ background: "#9DECF9",
19352
+ width: 207,
19353
+ height: 207
19354
+ }, {
19355
+ id: 2,
19356
+ name: "Love",
19357
+ number: love,
19358
+ background: "#B2F5EA",
19359
+ width: 145,
19360
+ height: 145
19361
+ }, {
19362
+ id: 3,
19363
+ name: "Interested",
19364
+ number: interested,
19365
+ background: "#CEEDFF",
19366
+ width: 148,
19367
+ height: 148
19368
+ }, {
19369
+ id: 4,
19370
+ name: "Curious",
19371
+ number: curious,
19372
+ background: "#E2E8F0",
19373
+ width: 150,
19374
+ height: 150
19375
+ }];
19376
+ };
19377
+ var gradeOptions = function gradeOptions(grades) {
19378
+ return grades.map(function (grade, index) {
19379
+ return {
19380
+ label: grade,
19381
+ value: index
19382
+ };
19383
+ });
19384
+ };
19385
+ var genderOptions = [{
19386
+ value: LegalGenderType.Male,
19387
+ label: "Male"
19388
+ }, {
19389
+ value: LegalGenderType.Female,
19390
+ label: "Female"
19391
+ }];
19392
+
19393
+ var InputSelector = function InputSelector(_ref) {
19394
+ var onChange = _ref.onChange,
19395
+ placeholder = _ref.placeholder,
19396
+ options = _ref.options,
19397
+ _ref$isMultiSelect = _ref.isMultiSelect,
19398
+ isMultiSelect = _ref$isMultiSelect === void 0 ? false : _ref$isMultiSelect;
19399
+
19400
+ var _useState = React.useState(""),
19401
+ searchString = _useState[0],
19402
+ setSearchString = _useState[1];
19403
+
19404
+ var _useState2 = React.useState(),
19405
+ value = _useState2[0],
19406
+ setValue = _useState2[1];
19407
+
19408
+ var handleChange = function handleChange(option) {
19409
+ onChange(option);
19410
+ setValue(option);
19411
+ };
19412
+
19413
+ var customSelector = {
19414
+ menu: function menu(provided) {
19415
+ return _extends({}, provided, {
19416
+ zIndex: 9
19417
+ });
19418
+ }
19419
+ };
19420
+ return React__default.createElement(marioCore.CustomSelector, {
19421
+ isClearable: true,
19422
+ options: options,
19423
+ inputValue: searchString,
19424
+ onInputChange: function onInputChange(inputValue) {
19425
+ return setSearchString(inputValue);
19426
+ },
19427
+ isLoading: false,
19428
+ placeholder: placeholder,
19429
+ isMulti: isMultiSelect,
19430
+ value: value,
19431
+ onChange: handleChange,
19432
+ styles: customSelector
19433
+ });
19434
+ };
19435
+
18179
19436
  var Dashboard = function Dashboard() {
18180
19437
  var _useDashboard = useDashboard(),
18181
- loginCounting = _useDashboard.loginCounting,
18182
- quantity = _useDashboard.quantity,
18183
- highImpact = _useDashboard.highImpact,
18184
- perceivedImpact = _useDashboard.perceivedImpact;
19438
+ listTotalTime = _useDashboard.listTotalTime,
19439
+ readinessToLearning = _useDashboard.readinessToLearning,
19440
+ topLearningStrategies = _useDashboard.topLearningStrategies,
19441
+ setFilter = _useDashboard.setFilter,
19442
+ filter = _useDashboard.filter,
19443
+ studentByGrade = _useDashboard.studentByGrade,
19444
+ chartOneToOneData = _useDashboard.chartOneToOneData,
19445
+ chartClassReflection = _useDashboard.chartClassReflection,
19446
+ chartConference = _useDashboard.chartConference,
19447
+ learningProgress = _useDashboard.learningProgress,
19448
+ friendCircles = _useDashboard.friendCircles,
19449
+ activityCircles = _useDashboard.activityCircles,
19450
+ studentBySpecialNeed = _useDashboard.studentBySpecialNeed,
19451
+ studentByAge = _useDashboard.studentByAge,
19452
+ studentByGender = _useDashboard.studentByGender,
19453
+ grades = _useDashboard.grades;
18185
19454
 
19455
+ var user = reactRedux.useSelector(function (state) {
19456
+ return state.common.user;
19457
+ });
18186
19458
  var cards = [{
18187
- label: "High-impact learning strategies of current school year",
18188
- children: React__default.createElement(HighImpact, {
18189
- data: highImpact
19459
+ label: "Top learning strategies",
19460
+ children: React__default.createElement(TopLearningStrategy, {
19461
+ data: topLearningStrategies
19462
+ })
19463
+ }, {
19464
+ label: "Readiness to learn",
19465
+ children: React__default.createElement(ReadinessToLearn, {
19466
+ data: readinessToLearning
19467
+ })
19468
+ }];
19469
+ var listChartLeft = [{
19470
+ label: "1-to-1",
19471
+ children: React__default.createElement(CustomBarChart, {
19472
+ data: chartOneToOneData
18190
19473
  })
18191
19474
  }, {
18192
- label: "Learning strategies perceived impact",
18193
- children: React__default.createElement(PerceivedImpact, {
18194
- data: perceivedImpact
19475
+ label: "Class Reflection",
19476
+ children: React__default.createElement(CustomBarChart, {
19477
+ data: chartClassReflection
18195
19478
  })
18196
19479
  }, {
18197
- label: "Students & teachers logins per day",
18198
- children: React__default.createElement(LoginCouting, {
18199
- data: loginCounting
19480
+ label: "Conferences",
19481
+ children: React__default.createElement(CustomBarChart, {
19482
+ data: chartConference
18200
19483
  })
18201
19484
  }, {
18202
- label: "Number of students, teachers, assistants",
18203
- children: React__default.createElement(Quantity, {
18204
- data: quantity
19485
+ label: "Learning Progress",
19486
+ children: React__default.createElement(CustomBarChart, {
19487
+ data: learningProgress
18205
19488
  })
18206
19489
  }];
18207
- return React__default.createElement("div", null, React__default.createElement("h4", {
18208
- className: "mb-5"
18209
- }, "DASHBOARD"), React__default.createElement(reactstrap.Row, {
18210
- className: "mb-2"
19490
+ var listChartRight = [{
19491
+ label: "Students by Gender",
19492
+ children: React__default.createElement(StudentByGender, {
19493
+ data: studentByGender
19494
+ })
19495
+ }, {
19496
+ label: "Students with Special Needs",
19497
+ children: React__default.createElement(StudentWithSpecialNeeds, {
19498
+ data: studentBySpecialNeed
19499
+ })
19500
+ }, {
19501
+ label: "Students by Grade",
19502
+ children: React__default.createElement(StudentByGrade, {
19503
+ data: studentByGrade
19504
+ })
19505
+ }, {
19506
+ label: "Students by Age",
19507
+ children: React__default.createElement(StudentByAge, {
19508
+ data: studentByAge
19509
+ })
19510
+ }];
19511
+ var listChartBottom = [{
19512
+ label: "Friend Circle",
19513
+ children: friendCircles && React__default.createElement(CircleChart, {
19514
+ circleChartItems: friendCircleItems(friendCircles)
19515
+ })
19516
+ }, {
19517
+ label: "Activity Circle",
19518
+ children: activityCircles && React__default.createElement(CircleChart, {
19519
+ circleChartItems: activityCircleItems(activityCircles)
19520
+ })
19521
+ }];
19522
+ var totalCardData = [{
19523
+ icon: React__default.createElement(bi.BiMessageRoundedDetail, {
19524
+ className: styles$1["size-icon"]
19525
+ }),
19526
+ title: "Total 1-to-1",
19527
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.totalOneToOne,
19528
+ isUp: true,
19529
+ deviant: "2",
19530
+ filter: "this week"
19531
+ }, {
19532
+ icon: React__default.createElement(io.IoMdStopwatch, {
19533
+ className: styles$1["size-icon"]
19534
+ }),
19535
+ title: "Total time 1-to-1",
19536
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.totalTimeOneToOne,
19537
+ isUp: true,
19538
+ deviant: "17 min",
19539
+ filter: "this week"
19540
+ }, {
19541
+ icon: React__default.createElement(bi.BiMessageRoundedDetail, {
19542
+ className: styles$1["size-icon"]
19543
+ }),
19544
+ title: "Total conferences",
19545
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.totalConference,
19546
+ isUp: false,
19547
+ deviant: "-4",
19548
+ filter: "this week"
19549
+ }, {
19550
+ icon: React__default.createElement(md.MdScreenShare, {
19551
+ className: styles$1["size-icon"]
19552
+ }),
19553
+ title: "Total time conferences",
19554
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.totalTimeConference,
19555
+ isUp: true,
19556
+ deviant: "8 min",
19557
+ filter: "this week"
19558
+ }, {
19559
+ icon: React__default.createElement(ai.AiOutlineFileDone, {
19560
+ className: styles$1["size-icon"]
19561
+ }),
19562
+ title: "AVS checkin class reflections",
19563
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.avgClassReflection,
19564
+ isUp: false,
19565
+ deviant: "-15%",
19566
+ filter: "this week"
19567
+ }];
19568
+
19569
+ var handleChangeStartTime = function handleChangeStartTime(date) {
19570
+ setFilter(_extends({}, filter, {
19571
+ startDate: new Date(date).getTime()
19572
+ }));
19573
+ };
19574
+
19575
+ var handleChangeEndTime = function handleChangeEndTime(date) {
19576
+ setFilter(_extends({}, filter, {
19577
+ endDate: new Date(date).getTime()
19578
+ }));
19579
+ };
19580
+
19581
+ var handleFormatDate = function handleFormatDate(date) {
19582
+ var dateTime = new Date(date).toISOString().slice(0, 10);
19583
+ return dateTime;
19584
+ };
19585
+
19586
+ var handleFilterGender = function handleFilterGender(option) {
19587
+ setFilter(_extends({}, filter, {
19588
+ gender: option ? [option.value] : genderOptions.map(function (i) {
19589
+ return i.value;
19590
+ })
19591
+ }));
19592
+ };
19593
+
19594
+ var handleFilterGrades = function handleFilterGrades(options) {
19595
+ setFilter(_extends({}, filter, {
19596
+ grade: options.map(function (i) {
19597
+ return i.label;
19598
+ })
19599
+ }));
19600
+ };
19601
+
19602
+ return React__default.createElement("div", {
19603
+ className: "" + styles$1["block-dashboard"]
19604
+ }, React__default.createElement("div", {
19605
+ className: "d-flex align-items-center justify-content-between"
19606
+ }, React__default.createElement("h4", null, "Hey ", user.lastName), React__default.createElement("div", {
19607
+ className: "text-center"
19608
+ }, React__default.createElement("button", {
19609
+ id: "toggler",
19610
+ onClick: function noRefCheck() {},
19611
+ className: styles$1["btn-filter"] + " d-flex align-items-center cursor-pointer"
19612
+ }, React__default.createElement(fi.FiFilter, {
19613
+ className: "" + styles$1["color-filter"]
19614
+ }), React__default.createElement("p", {
19615
+ className: styles$1["color-filter"] + " my-0 mx-2"
19616
+ }, "Filter")))), React__default.createElement("div", {
19617
+ className: "d-flex justify-content-end py-4"
19618
+ }, React__default.createElement(reactstrap.UncontrolledCollapse, {
19619
+ toggler: "#toggler",
19620
+ className: "" + styles$1["block-collapse"]
19621
+ }, React__default.createElement("div", {
19622
+ className: "" + styles$1["bock-filter-left"]
19623
+ }, React__default.createElement("input", {
19624
+ type: "date",
19625
+ className: "" + styles$1["form-date-picker"],
19626
+ onChange: function onChange(e) {
19627
+ return handleChangeStartTime(e.target.value);
19628
+ },
19629
+ value: handleFormatDate(filter.startDate)
19630
+ }), React__default.createElement("input", {
19631
+ type: "date",
19632
+ className: "" + styles$1["form-date-picker"],
19633
+ onChange: function onChange(e) {
19634
+ return handleChangeEndTime(e.target.value);
19635
+ },
19636
+ value: handleFormatDate(filter.endDate)
19637
+ })), React__default.createElement("div", {
19638
+ className: "" + styles$1["bock-filter-right"]
19639
+ }, React__default.createElement("div", {
19640
+ className: "" + styles$1["form-filter-gender"]
19641
+ }, React__default.createElement(InputSelector, {
19642
+ options: genderOptions,
19643
+ onChange: handleFilterGender,
19644
+ placeholder: "All Gender"
19645
+ })), React__default.createElement("div", {
19646
+ className: "" + styles$1["form-filter-grade"]
19647
+ }, React__default.createElement(InputSelector, {
19648
+ options: gradeOptions(grades),
19649
+ onChange: handleFilterGrades,
19650
+ placeholder: "All Grade",
19651
+ isMultiSelect: true
19652
+ }))))), React__default.createElement("div", {
19653
+ className: "d-flex align-items-center flex-wrap py-2 px-3"
19654
+ }, totalCardData.map(function (item) {
19655
+ return React__default.createElement(TotalCard, {
19656
+ icon: item.icon,
19657
+ title: item.title,
19658
+ value: item.value,
19659
+ isUp: item.isUp,
19660
+ deviant: item.deviant,
19661
+ filter: item.filter
19662
+ });
19663
+ })), React__default.createElement(reactstrap.Row, {
19664
+ className: "mb-2 px-3"
18211
19665
  }, cards.map(function (card) {
18212
19666
  return React__default.createElement(reactstrap.Col, {
18213
19667
  key: card.label,
19668
+ xs: 12,
18214
19669
  md: 6,
18215
19670
  className: "mb-4"
18216
19671
  }, React__default.createElement(DashboardCard, {
18217
19672
  label: card.label,
18218
19673
  children: card.children
18219
19674
  }));
19675
+ })), React__default.createElement(reactstrap.Row, {
19676
+ className: "my-2"
19677
+ }, React__default.createElement(reactstrap.Col, {
19678
+ xs: 12,
19679
+ xl: 7
19680
+ }, listChartLeft.map(function (i) {
19681
+ return React__default.createElement(reactstrap.Col, {
19682
+ key: i.label,
19683
+ className: "mb-4"
19684
+ }, React__default.createElement(DashboardCard, {
19685
+ label: i.label,
19686
+ children: i.children
19687
+ }));
19688
+ })), React__default.createElement(reactstrap.Col, {
19689
+ xs: 12,
19690
+ xl: 5
19691
+ }, listChartRight.map(function (i) {
19692
+ return React__default.createElement(reactstrap.Col, {
19693
+ key: i.label,
19694
+ className: "mb-4"
19695
+ }, React__default.createElement(DashboardCard, {
19696
+ label: i.label,
19697
+ children: i.children
19698
+ }));
19699
+ }))), React__default.createElement(reactstrap.Row, {
19700
+ className: "my-2"
19701
+ }, listChartBottom.map(function (i, index) {
19702
+ return React__default.createElement(reactstrap.Col, {
19703
+ xs: 12,
19704
+ xl: index % 2 === 0 ? 7 : 5,
19705
+ key: index
19706
+ }, React__default.createElement(reactstrap.Col, {
19707
+ key: i.label,
19708
+ className: "mb-4"
19709
+ }, React__default.createElement(DashboardCard, {
19710
+ label: i.label,
19711
+ children: i.children
19712
+ })));
18220
19713
  })));
18221
19714
  };
18222
19715