mario-education 2.4.4 → 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 +1807 -332
  35. package/dist/index.js.map +1 -1
  36. package/dist/index.modern.js +1815 -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();
@@ -13487,7 +14141,7 @@ var useAssignmentDetail = function useAssignmentDetail() {
13487
14141
  };
13488
14142
  };
13489
14143
 
13490
- var TITLE$k = "Assignment list";
14144
+ var TITLE$l = "Assignment list";
13491
14145
 
13492
14146
  var useAssignmentList = function useAssignmentList() {
13493
14147
  var assignmentList = reactRedux.useSelector(function (state) {
@@ -13584,7 +14238,7 @@ var useAssignmentList = function useAssignmentList() {
13584
14238
  dispatch(marioCore.setLoading(false));
13585
14239
  }, [filters]);
13586
14240
  React.useEffect(function () {
13587
- document.title = TITLE$k;
14241
+ document.title = TITLE$l;
13588
14242
  }, []);
13589
14243
  React.useEffect(function () {
13590
14244
  getData();
@@ -14034,7 +14688,7 @@ var getRandomQuestion = function getRandomQuestion(data) {
14034
14688
  return marioCore.api.post(QUESTION_URL$2 + "/random", data);
14035
14689
  };
14036
14690
 
14037
- var TITLE$l = "Session template list";
14691
+ var TITLE$m = "Session template list";
14038
14692
  var SESSION_TEMPLATE_URL$1 = "/admin/session-template-learning-support";
14039
14693
  var CREATE_TEMPLATE_URL = "/admin/create-session-template-learning-support";
14040
14694
 
@@ -14138,7 +14792,7 @@ var useSessionTemplateList = function useSessionTemplateList() {
14138
14792
  history.push(url);
14139
14793
  }, []);
14140
14794
  React.useEffect(function () {
14141
- document.title = TITLE$l;
14795
+ document.title = TITLE$m;
14142
14796
  }, []);
14143
14797
  React.useEffect(function () {
14144
14798
  getData();
@@ -14285,7 +14939,7 @@ var remove$j = function remove(id) {
14285
14939
  return marioCore.api["delete"](SESSION_TEMPLATE_GENERAL_CLASS_URL + "/" + id);
14286
14940
  };
14287
14941
 
14288
- var TITLE$m = "Session template general class list";
14942
+ var TITLE$n = "Session template general class list";
14289
14943
  var SESSION_TEMPLATE_GENERAL_CLASS_URL$1 = "/admin/session-template/general-class";
14290
14944
  var CREATE_TEMPLATE_GENERAL_CLASS_URL = "/admin/create-session-template-general-class";
14291
14945
 
@@ -14375,7 +15029,7 @@ var useSessionTemplateGeneralClassList = function useSessionTemplateGeneralClass
14375
15029
  history.push(url);
14376
15030
  }, []);
14377
15031
  React.useEffect(function () {
14378
- document.title = TITLE$m;
15032
+ document.title = TITLE$n;
14379
15033
  }, []);
14380
15034
  React.useEffect(function () {
14381
15035
  getData();
@@ -16364,7 +17018,7 @@ var useCustomAlertDetail = function useCustomAlertDetail() {
16364
17018
  };
16365
17019
  };
16366
17020
 
16367
- var TITLE$n = "Custom alert list";
17021
+ var TITLE$o = "Custom alert list";
16368
17022
 
16369
17023
  var useCustomAlertList = function useCustomAlertList() {
16370
17024
  var customAlertList = reactRedux.useSelector(function (state) {
@@ -16452,7 +17106,7 @@ var useCustomAlertList = function useCustomAlertList() {
16452
17106
  dispatch(marioCore.setLoading(false));
16453
17107
  }, [filters]);
16454
17108
  React.useEffect(function () {
16455
- document.title = TITLE$n;
17109
+ document.title = TITLE$o;
16456
17110
  }, []);
16457
17111
  React.useEffect(function () {
16458
17112
  getData();
@@ -16467,7 +17121,7 @@ var useCustomAlertList = function useCustomAlertList() {
16467
17121
  };
16468
17122
  };
16469
17123
 
16470
- var header$6 = "Custom alert";
17124
+ var header$7 = "Custom alert";
16471
17125
 
16472
17126
  var CustomAlertList = function CustomAlertList() {
16473
17127
  var modal = React.useRef();
@@ -16535,7 +17189,7 @@ var CustomAlertList = function CustomAlertList() {
16535
17189
  when: edited
16536
17190
  }), React__default.createElement("h5", {
16537
17191
  className: "mb-2"
16538
- }, header$6), React__default.createElement(reactstrap.Row, {
17192
+ }, header$7), React__default.createElement(reactstrap.Row, {
16539
17193
  className: "my-2"
16540
17194
  }, React__default.createElement(reactstrap.Col, {
16541
17195
  md: 4
@@ -17094,7 +17748,7 @@ var useCertificateDetail = function useCertificateDetail() {
17094
17748
  };
17095
17749
  };
17096
17750
 
17097
- var TITLE$o = "Certificate list";
17751
+ var TITLE$p = "Certificate list";
17098
17752
 
17099
17753
  var useCertificateList = function useCertificateList() {
17100
17754
  var certificateList = reactRedux.useSelector(function (state) {
@@ -17177,7 +17831,7 @@ var useCertificateList = function useCertificateList() {
17177
17831
  dispatch(marioCore.setLoading(false));
17178
17832
  }, [filters]);
17179
17833
  React.useEffect(function () {
17180
- document.title = TITLE$o;
17834
+ document.title = TITLE$p;
17181
17835
  }, []);
17182
17836
  React.useEffect(function () {
17183
17837
  getData();
@@ -17192,7 +17846,7 @@ var useCertificateList = function useCertificateList() {
17192
17846
  };
17193
17847
  };
17194
17848
 
17195
- var header$7 = "Certificate";
17849
+ var header$8 = "Certificate";
17196
17850
 
17197
17851
  var CertificateList = function CertificateList() {
17198
17852
  var modal = React.useRef();
@@ -17251,7 +17905,7 @@ var CertificateList = function CertificateList() {
17251
17905
  when: edited
17252
17906
  }), React__default.createElement("h5", {
17253
17907
  className: "mb-2"
17254
- }, header$7), React__default.createElement(reactstrap.Row, {
17908
+ }, header$8), React__default.createElement(reactstrap.Row, {
17255
17909
  className: "my-2"
17256
17910
  }, React__default.createElement(reactstrap.Col, {
17257
17911
  md: 4
@@ -17325,7 +17979,7 @@ var CertificateList = function CertificateList() {
17325
17979
  }))));
17326
17980
  };
17327
17981
 
17328
- var TITLE$p = "Certificate list";
17982
+ var TITLE$q = "Certificate list";
17329
17983
 
17330
17984
  var useCertificateList$1 = function useCertificateList() {
17331
17985
  var dispatch = reactRedux.useDispatch();
@@ -17413,7 +18067,7 @@ var useCertificateList$1 = function useCertificateList() {
17413
18067
  }
17414
18068
  }, [listWaiting]);
17415
18069
  React.useEffect(function () {
17416
- document.title = TITLE$p;
18070
+ document.title = TITLE$q;
17417
18071
  getListWaiting();
17418
18072
  getListApproved();
17419
18073
  }, []);
@@ -17757,60 +18411,159 @@ var CompareTeacher = function CompareTeacher() {
17757
18411
  className: "text-center"
17758
18412
  }, "No compare result."))));
17759
18413
  };
17760
-
17761
- var REPORT_URL = marioCore.BASE_URL + "/api/report";
17762
- var getQuantityReport = function getQuantityReport() {
17763
- 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
+ });
17764
18450
  };
17765
- var getLoginCountingReport = function getLoginCountingReport() {
17766
- 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
+ });
17767
18460
  };
17768
- var getGoalProgressReport = function getGoalProgressReport() {
17769
- 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
+ });
17770
18465
  };
17771
- var getHighImpactLearningStrategyReport = function getHighImpactLearningStrategyReport() {
17772
- return marioCore.api.get(REPORT_URL + "/highimpactlearningstrategy");
18466
+ var getGrades = function getGrades() {
18467
+ return marioCore.api.get(REPORT_URL + "/grade-levels");
17773
18468
  };
17774
- var getPerceivedImpactReport = function getPerceivedImpactReport() {
17775
- 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
17776
18482
  };
17777
- var getGradeReport = function getGradeReport() {
17778
- return marioCore.api.get(REPORT_URL + "/grade");
18483
+ var INITIAL_ACTIVITY_FRIENDS = {
18484
+ like: 0,
18485
+ love: 0,
18486
+ interested: 0,
18487
+ curious: 0
17779
18488
  };
17780
18489
 
17781
- var TITLE$q = "Dashboard";
18490
+ var TITLE$r = "Dashboard";
17782
18491
 
17783
18492
  var useDashboard = function useDashboard() {
17784
18493
  var dispatch = reactRedux.useDispatch();
18494
+ var now = new Date();
17785
18495
 
17786
- var _useState = React.useState(null),
17787
- loginCounting = _useState[0],
17788
- 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];
17789
18504
 
17790
- var _useState2 = React.useState(null),
17791
- quantity = _useState2[0],
17792
- setQuantity = _useState2[1];
18505
+ var _useState2 = React.useState(),
18506
+ listTotalTime = _useState2[0],
18507
+ setListTotalTime = _useState2[1];
17793
18508
 
17794
- var _useState3 = React.useState(null),
17795
- goalProgress = _useState3[0],
17796
- setGoalProgress = _useState3[1];
18509
+ var _useState3 = React.useState(),
18510
+ readinessToLearning = _useState3[0],
18511
+ setReadinessToLearning = _useState3[1];
17797
18512
 
17798
- var _useState4 = React.useState(null),
17799
- highImpact = _useState4[0],
17800
- setHighImpact = _useState4[1];
18513
+ var _useState4 = React.useState(),
18514
+ topLearningStrategies = _useState4[0],
18515
+ setTopLearningStrategies = _useState4[1];
17801
18516
 
17802
- var _useState5 = React.useState(null),
17803
- perceivedImpact = _useState5[0],
17804
- 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];
17805
18524
 
17806
- var _useState6 = React.useState(null),
17807
- grade = _useState6[0],
17808
- setGrade = _useState6[1];
18525
+ var _useState7 = React.useState(),
18526
+ chartClassReflection = _useState7[0],
18527
+ setChartClassReflection = _useState7[1];
17809
18528
 
17810
- 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) {
17811
18562
  try {
17812
18563
  var _temp2 = _catch(function () {
17813
- return Promise.resolve(apiCaller()).then(function (res) {
18564
+ return Promise.resolve(type ? apiCaller(_extends({}, filter, {
18565
+ type: type
18566
+ })) : apiCaller(filter)).then(function (res) {
17814
18567
  setData(res.data);
17815
18568
  });
17816
18569
  }, function (err) {
@@ -17827,45 +18580,166 @@ var useDashboard = function useDashboard() {
17827
18580
  } catch (e) {
17828
18581
  return Promise.reject(e);
17829
18582
  }
17830
- }, []);
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
+
17831
18613
  var getData = React.useCallback(function () {
17832
18614
  try {
17833
- document.title = TITLE$q;
18615
+ document.title = TITLE$r;
17834
18616
  dispatch(marioCore.setLoading(true));
17835
- 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 () {
17836
18618
  dispatch(marioCore.setLoading(false));
17837
18619
  });
17838
18620
  } catch (e) {
17839
18621
  return Promise.reject(e);
17840
18622
  }
17841
- }, []);
18623
+ }, [filter]);
17842
18624
  React.useEffect(function () {
17843
18625
  getData();
18626
+ }, [filter]);
18627
+ React.useEffect(function () {
18628
+ callApiNoFilter(getGrades, setGrades, []);
17844
18629
  }, []);
17845
18630
  return {
17846
- loginCounting: loginCounting,
17847
- quantity: quantity,
17848
- goalProgress: goalProgress,
17849
- highImpact: highImpact,
17850
- perceivedImpact: perceivedImpact,
17851
- 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
17852
18647
  };
17853
18648
  };
17854
18649
 
17855
- 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"};
17856
18651
 
17857
18652
  var DashboardCard = function DashboardCard(_ref) {
17858
18653
  var label = _ref.label,
17859
18654
  children = _ref.children;
17860
18655
  return React__default.createElement("div", {
17861
18656
  className: styles$1["dashboard-card"]
18657
+ }, React__default.createElement("div", {
18658
+ className: "d-flex align-items-center justify-content-between"
17862
18659
  }, React__default.createElement("h5", {
17863
18660
  className: "mb-2"
17864
- }, label), React__default.createElement("div", {
18661
+ }, label)), React__default.createElement("div", {
17865
18662
  className: "flex-grow-1 d-flex flex-column justify-content-center"
17866
18663
  }, children));
17867
18664
  };
17868
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
+
17869
18743
  var Loading = function Loading() {
17870
18744
  return React__default.createElement("div", {
17871
18745
  className: "d-flex align-items-center justify-content-center"
@@ -17887,354 +18761,955 @@ var Loading = function Loading() {
17887
18761
  }, "Loading...")));
17888
18762
  };
17889
18763
 
17890
- 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"];
17891
18765
 
17892
- var getColors = function getColors(length) {
17893
- if (colors.length >= length) return colors;
17894
- var newColors = [].concat(colors);
18766
+ var TopLearningStrategy = function TopLearningStrategy(_ref) {
18767
+ var _data$learningStrateg, _data$learningStrateg2;
17895
18768
 
17896
- while (newColors.length < length) {
17897
- newColors = [].concat(newColors, colors);
17898
- }
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
+ };
17899
18810
 
17900
- 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)));
17901
18826
  };
17902
18827
 
17903
- var HighImpact = function HighImpact(_ref) {
18828
+ var CustomBarChart = function CustomBarChart(_ref) {
17904
18829
  var data = _ref.data;
17905
- var colors = React.useMemo(function () {
17906
- var _Object$keys;
17907
18830
 
17908
- if (!data) return [];
17909
- return getColors(((_Object$keys = Object.keys(data)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length) || 0);
17910
- }, [data]);
17911
- var ratings = React.useMemo(function () {
17912
- if (!data) return [];
17913
- return Object.values(data);
17914
- }, [data]);
17915
- var learningStrategies = React.useMemo(function () {
17916
- 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];
17917
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() {
17918
18948
  try {
17919
- var results = Object.keys(data).map(function (key, index) {
17920
- return {
17921
- name: key,
17922
- color: colors[index]
17923
- };
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
+ });
17924
18990
  });
17925
- return results;
17926
- } catch (_unused) {
17927
- 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);
17928
19066
  }
19067
+ };
19068
+
19069
+ React.useEffect(function () {
19070
+ getData();
17929
19071
  }, [data]);
17930
- if (!data) return React__default.createElement(Loading, null);
17931
- var series = [{
17932
- name: "",
17933
- data: ratings
17934
- }];
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;
17935
19084
  var options = {
17936
19085
  chart: {
17937
- height: 350,
17938
- type: "bar",
17939
- toolbar: {
17940
- show: false
17941
- }
19086
+ height: 350
17942
19087
  },
17943
- colors: colors,
17944
19088
  plotOptions: {
17945
19089
  bar: {
17946
- columnWidth: "45%",
17947
- distributed: true
19090
+ borderRadius: 4,
19091
+ horizontal: true
17948
19092
  }
17949
19093
  },
17950
19094
  dataLabels: {
17951
19095
  enabled: false
17952
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"],
17953
19122
  legend: {
17954
19123
  show: false
17955
- },
17956
- xaxis: {
17957
- categories: learningStrategies.map(function (item) {
17958
- return item.name.substring(0, 15) + "...";
17959
- })
17960
- },
17961
- yaxis: {
17962
- labels: {
17963
- formatter: function formatter(val) {
17964
- return "" + val.toFixed(0);
17965
- }
17966
- }
17967
19124
  }
17968
19125
  };
17969
- 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, {
17970
19131
  options: options,
17971
19132
  series: series,
17972
- type: "bar",
17973
- height: 350
17974
- })), React__default.createElement("div", {
17975
- className: "d-flex flex-wrap"
17976
- }, learningStrategies.map(function (item) {
17977
- return React__default.createElement("div", {
17978
- key: item.name,
17979
- className: "d-flex align-items-center mb-2 mr-3"
17980
- }, React__default.createElement("span", {
17981
- className: "plain-color-square mr-2",
17982
- style: {
17983
- backgroundColor: item.color
17984
- }
17985
- }), React__default.createElement("span", null, item.name));
19133
+ type: "pie",
19134
+ height: 350,
19135
+ width: "100%"
17986
19136
  })));
17987
19137
  };
17988
19138
 
17989
- var colors$1 = ["#1abc9c", "#c0392b"];
17990
-
17991
- var LoginCouting = function LoginCouting(_ref) {
19139
+ var StudentWithSpecialNeeds = function StudentWithSpecialNeeds(_ref) {
17992
19140
  var data = _ref.data;
17993
- if (!data) return React__default.createElement(Loading, null);
17994
- var categories = data.map(function (item) {
17995
- return format(new Date(item.date), marioCore.DATE_FORMAT);
17996
- });
17997
- var teacherCount = data.map(function (item) {
17998
- return item.teacherLoginCount;
17999
- });
18000
- var studentCount = data.map(function (item) {
18001
- return item.studentLoginCount;
18002
- });
18003
- var series = [{
18004
- name: "Teacher",
18005
- data: teacherCount,
18006
- color: colors$1[0]
18007
- }, {
18008
- name: "Student",
18009
- data: studentCount,
18010
- color: colors$1[1]
18011
- }];
18012
19141
  var options = {
18013
- chart: {
18014
- height: 350,
18015
- type: "area",
18016
- toolbar: {
18017
- show: false
18018
- }
18019
- },
18020
- stroke: {
18021
- width: 2,
18022
- curve: "straight"
18023
- },
18024
- markers: {
18025
- size: 4,
18026
- colors: ["#fff"],
18027
- strokeColors: colors$1,
18028
- strokeWidth: 2,
18029
- strokeOpacity: 0.9,
18030
- strokeDashArray: 0,
18031
- fillOpacity: 1,
18032
- shape: "circle",
18033
- radius: 2,
18034
- offsetX: 0,
18035
- offsetY: 0,
18036
- onClick: undefined,
18037
- onDblClick: undefined,
18038
- showNullDataPoints: true,
18039
- hover: {
18040
- size: undefined,
18041
- sizeOffset: 3
18042
- }
18043
- },
19142
+ colors: ["#CEF7F5", "#0D9994", "#1CB7B1", "#40D2CC", "#80E7E2"],
18044
19143
  legend: {
18045
19144
  show: false
18046
19145
  },
18047
- xaxis: {
18048
- categories: categories
18049
- }
19146
+ labels: (data === null || data === void 0 ? void 0 : data.map(function (i) {
19147
+ return i.nameSpecial;
19148
+ })) || []
18050
19149
  };
18051
19150
  return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18052
19151
  options: options,
18053
- series: series,
18054
- 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%",
18055
19157
  height: 350
18056
19158
  }));
18057
19159
  };
18058
19160
 
18059
- var colors$2 = ["#00cec9", "#00b894"];
18060
-
18061
- var PerceivedImpact = function PerceivedImpact(_ref) {
19161
+ var StudentByAge = function StudentByAge(_ref) {
18062
19162
  var data = _ref.data;
18063
- if (!data) return React__default.createElement(Loading, null);
18064
- var series = [{
18065
- name: "Student",
18066
- data: data.map(function (item) {
18067
- return item.studentRating;
18068
- })
18069
- }];
18070
- var categories = data.map(function (item) {
18071
- return item.learningStrategyName.substring(0, 15) + "...";
18072
- });
18073
19163
  var options = {
18074
19164
  chart: {
18075
- type: "bar",
18076
- height: 350,
18077
- toolbar: {
18078
- show: false
18079
- }
19165
+ height: 350
18080
19166
  },
18081
- colors: colors$2,
18082
19167
  plotOptions: {
18083
19168
  bar: {
18084
- horizontal: false,
18085
- columnWidth: "55%"
19169
+ columnWidth: "45%",
19170
+ distributed: true
18086
19171
  }
18087
19172
  },
18088
19173
  dataLabels: {
18089
19174
  enabled: false
18090
19175
  },
18091
- stroke: {
18092
- show: true,
18093
- width: 2,
18094
- colors: ["transparent"]
18095
- },
18096
- xaxis: {
18097
- categories: categories
19176
+ legend: {
19177
+ show: false
18098
19178
  },
18099
- fill: {
18100
- opacity: 1
19179
+ noData: {
19180
+ text: "NO DATA",
19181
+ offsetX: 0,
19182
+ offsetY: 0
18101
19183
  },
18102
- legend: {
18103
- onItemClick: {
18104
- toggleDataSeries: false
18105
- },
18106
- onItemHover: {
18107
- highlightDataSeries: false
18108
- }
19184
+ colors: ["#40D2CC", "#1CB7B1", "#0D9994", "#80E7E2", "#40D2CC"],
19185
+ xaxis: {
19186
+ categories: ["3-5", "6-8", "9-12", "13-15", "16-18"]
18109
19187
  }
18110
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
+ }];
18111
19192
  return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18112
19193
  options: options,
18113
19194
  series: series,
18114
19195
  type: "bar",
19196
+ width: "100%",
18115
19197
  height: 350
18116
19198
  }));
18117
19199
  };
18118
19200
 
18119
- var colors$3 = ["#00b894", "#00cec9", "#0984e3"];
19201
+ var styles$2 = {"block-circle":"_2Q9xO","block-item-3":"_3r61v","item-circle":"_2b1Cw","block-item-4":"_2Nlax"};
18120
19202
 
18121
- var Quantity = function Quantity(_ref) {
18122
- var data = _ref.data;
18123
- if (!data) return React__default.createElement(Loading, null);
18124
- var teacherPercentage = data.teacherPercentage,
18125
- studentPercentage = data.studentPercentage,
18126
- assistantPercentage = data.assistantPercentage,
18127
- numberOfTeachers = data.numberOfTeachers,
18128
- numberOfStudents = data.numberOfStudents,
18129
- numberOfAssistants = data.numberOfAssistants;
18130
- var series = [teacherPercentage, studentPercentage, assistantPercentage].map(function (number) {
18131
- return Number(number.toFixed(2));
18132
- });
18133
- var options = {
18134
- chart: {
18135
- width: 380,
18136
- type: "pie"
18137
- },
18138
- labels: ["Teachers", "Students", "Assistants"],
18139
- colors: colors$3,
18140
- legend: {
18141
- show: false
18142
- },
18143
- responsive: [{
18144
- breakpoint: 480,
18145
- options: {
18146
- chart: {
18147
- width: 200
18148
- }
18149
- }
18150
- }]
19203
+ var cssConfig = function cssConfig(width, height, background) {
19204
+ return {
19205
+ width: width,
19206
+ height: height,
19207
+ background: background
18151
19208
  };
18152
- var details = [{
18153
- label: "Teachers",
18154
- color: colors$3[0],
18155
- value: numberOfTeachers
18156
- }, {
18157
- label: "Students",
18158
- color: colors$3[1],
18159
- value: numberOfStudents
18160
- }, {
18161
- label: "Assistants",
18162
- color: colors$3[2],
18163
- value: numberOfAssistants
18164
- }];
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;
18165
19218
  return React__default.createElement("div", {
18166
- className: "d-flex h-100"
19219
+ className: styles$2["block-circle"] + " " + styles$2["block-item-" + key],
19220
+ style: cssConfig(width, height, background)
18167
19221
  }, React__default.createElement("div", {
18168
- 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"])
18169
19272
  }, React__default.createElement("div", {
18170
- className: styles$1["quantity-table"]
18171
- }, React__default.createElement(reactstrap.Table, {
18172
- responsive: true,
18173
- hover: true,
18174
- bordered: true,
18175
- size: "sm"
18176
- }, React__default.createElement("tbody", null, details.map(function (item) {
18177
- return React__default.createElement("tr", {
18178
- key: item.label
18179
- }, React__default.createElement("td", null, item.label), React__default.createElement("td", {
18180
- className: "text-center"
18181
- }, React__default.createElement("div", {
18182
- className: "custom-checkbox-square",
18183
- style: {
18184
- backgroundColor: item.color
18185
- }
18186
- })), React__default.createElement("td", null, item.value));
18187
- }))), React__default.createElement("p", null, "The number of user for each role"))), React__default.createElement("div", {
18188
- className: "d-flex align-items-end"
18189
- }, React__default.createElement(ReactApexChart, {
18190
- options: options,
18191
- series: series,
18192
- type: "pie",
18193
- 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
+ }));
18194
19296
  })));
18195
19297
  };
18196
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
+
18197
19436
  var Dashboard = function Dashboard() {
18198
19437
  var _useDashboard = useDashboard(),
18199
- loginCounting = _useDashboard.loginCounting,
18200
- quantity = _useDashboard.quantity,
18201
- highImpact = _useDashboard.highImpact,
18202
- 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;
18203
19454
 
19455
+ var user = reactRedux.useSelector(function (state) {
19456
+ return state.common.user;
19457
+ });
18204
19458
  var cards = [{
18205
- label: "High-impact learning strategies of current school year",
18206
- children: React__default.createElement(HighImpact, {
18207
- 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
18208
19473
  })
18209
19474
  }, {
18210
- label: "Learning strategies perceived impact",
18211
- children: React__default.createElement(PerceivedImpact, {
18212
- data: perceivedImpact
19475
+ label: "Class Reflection",
19476
+ children: React__default.createElement(CustomBarChart, {
19477
+ data: chartClassReflection
18213
19478
  })
18214
19479
  }, {
18215
- label: "Students & teachers logins per day",
18216
- children: React__default.createElement(LoginCouting, {
18217
- data: loginCounting
19480
+ label: "Conferences",
19481
+ children: React__default.createElement(CustomBarChart, {
19482
+ data: chartConference
18218
19483
  })
18219
19484
  }, {
18220
- label: "Number of students, teachers, assistants",
18221
- children: React__default.createElement(Quantity, {
18222
- data: quantity
19485
+ label: "Learning Progress",
19486
+ children: React__default.createElement(CustomBarChart, {
19487
+ data: learningProgress
18223
19488
  })
18224
19489
  }];
18225
- return React__default.createElement("div", null, React__default.createElement("h4", {
18226
- className: "mb-5"
18227
- }, "DASHBOARD"), React__default.createElement(reactstrap.Row, {
18228
- 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"
18229
19665
  }, cards.map(function (card) {
18230
19666
  return React__default.createElement(reactstrap.Col, {
18231
19667
  key: card.label,
19668
+ xs: 12,
18232
19669
  md: 6,
18233
19670
  className: "mb-4"
18234
19671
  }, React__default.createElement(DashboardCard, {
18235
19672
  label: card.label,
18236
19673
  children: card.children
18237
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
+ })));
18238
19713
  })));
18239
19714
  };
18240
19715