mario-education 2.4.2 → 2.4.4-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/CustomBarChart.d.ts +3 -0
  2. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/CustomLineChart.d.ts +3 -0
  3. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/ReadinessToLearn.d.ts +7 -0
  4. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/StudentByAge.d.ts +3 -0
  5. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/StudentByGender.d.ts +3 -0
  6. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/StudentByGrade.d.ts +3 -0
  7. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/StudentWithSpecialNeeds.d.ts +3 -0
  8. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/TopLearningStrategy.d.ts +3 -0
  9. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/TopSkill.d.ts +3 -0
  10. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/TotalCard.d.ts +4 -0
  11. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/configs/types.d.ts +13 -0
  12. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/hooks/useDashboard.d.ts +12 -7
  13. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/components/SwitchAssistantModal.d.ts +4 -0
  14. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/hooks/useSwitchAssistant.d.ts +17 -0
  15. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/utils/constants.d.ts +8 -0
  16. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/utils/type.interface.d.ts +36 -0
  17. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/views/SwitchAssistantList.d.ts +3 -0
  18. package/dist/MarioFramework.Education/ClientApp/src/services/dashboardService.d.ts +5 -0
  19. package/dist/MarioFramework.Education/ClientApp/src/services/userService.d.ts +5 -0
  20. package/dist/MarioFramework.Education/ClientApp/src/utils/serviceType.interface.d.ts +8 -0
  21. package/dist/index.css +106 -0
  22. package/dist/index.js +1352 -549
  23. package/dist/index.js.map +1 -1
  24. package/dist/index.modern.js +1355 -552
  25. package/dist/index.modern.js.map +1 -1
  26. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -19,7 +19,11 @@ var masterDetail = require('@ag-grid-enterprise/master-detail');
19
19
  var clientSideRowModel = require('@ag-grid-community/client-side-row-model');
20
20
  var fa = require('react-icons/fa');
21
21
  var tinymceReact = require('@tinymce/tinymce-react');
22
+ var fi = require('react-icons/fi');
22
23
  var ReactApexChart = _interopDefault(require('react-apexcharts'));
24
+ var io = require('react-icons/io');
25
+ var bi = require('react-icons/bi');
26
+ var md = require('react-icons/md');
23
27
 
24
28
  // A type of promise-like that resolves synchronously and supports only one observer
25
29
 
@@ -8243,7 +8247,15 @@ var SwitchTeacherModal = function SwitchTeacherModal(props, ref) {
8243
8247
  }, React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
8244
8248
  md: 12,
8245
8249
  className: "mb-2"
8246
- }, React__default.createElement("p", null, "Student Name"), React__default.createElement("p", null, userChoiced.studentName, " "), React__default.createElement("p", null, "Student Email"), React__default.createElement("p", null, userChoiced.emailStudent, " "), React__default.createElement("p", null, "Current Teacher Name"), React__default.createElement("p", null, userChoiced.teacherName, " "), React__default.createElement("p", null, "Current Teacher Email"), React__default.createElement("p", null, userChoiced.emailTeacher, " "), !!userChoiced && React__default.createElement(marioCore.CustomSelector, {
8250
+ }, React__default.createElement("p", {
8251
+ className: "font-weight-bold"
8252
+ }, "Student Name"), React__default.createElement("p", null, userChoiced.studentName, " "), React__default.createElement("p", {
8253
+ className: "font-weight-bold"
8254
+ }, "Student Email"), React__default.createElement("p", null, userChoiced.emailStudent, " "), React__default.createElement("p", {
8255
+ className: "font-weight-bold"
8256
+ }, "Current Teacher Name"), React__default.createElement("p", null, userChoiced.teacherName, " "), React__default.createElement("p", {
8257
+ className: "font-weight-bold"
8258
+ }, "Current Teacher Email"), React__default.createElement("p", null, userChoiced.emailTeacher, " "), !!userChoiced && React__default.createElement(marioCore.CustomSelector, {
8247
8259
  options: options,
8248
8260
  value: valueDefault,
8249
8261
  placeholder: "Select teacher change",
@@ -8363,237 +8375,588 @@ var SwitchTeacherList = function SwitchTeacherList() {
8363
8375
  }));
8364
8376
  };
8365
8377
 
8366
- var tabs = [{
8367
- path: "/admin/set-up/skill",
8368
- title: "Skills",
8369
- component: marioCore.SkillList
8370
- }, {
8371
- path: "/admin/set-up/subject",
8372
- title: "Subjects",
8373
- component: SubjectList
8374
- }, {
8375
- path: "/admin/set-up/learning-support-category",
8376
- title: "Learning support categories",
8377
- component: LearningSupportCategoryList
8378
- }, {
8379
- path: "/admin/set-up/learning-strategy",
8380
- title: "Learning strategies",
8381
- component: LearningStrategyList
8382
- }, {
8383
- path: "/admin/set-up/goal-example",
8384
- title: "Goal examples",
8385
- component: GoalExampleList
8386
- }, {
8387
- path: "/admin/set-up/student-badge",
8388
- title: "Student badges",
8389
- component: BadgeList
8390
- }, {
8391
- path: "/admin/set-up/semester",
8392
- title: "Semester",
8393
- component: SemesterList
8394
- }, {
8395
- path: "/admin/set-up/blank-days",
8396
- title: "Blank days",
8397
- component: SchoolBlankDayList
8398
- }, {
8399
- path: "/admin/set-up/csv-import",
8400
- title: "CSV Import",
8401
- component: CSVImport
8402
- }, {
8403
- path: "/admin/set-up/band-score",
8404
- title: "Band scores",
8405
- component: BandScoreList
8406
- }, {
8407
- path: "/admin/set-up/current-license",
8408
- title: "License",
8409
- component: CurrentLicense
8410
- }, {
8411
- path: "/admin/set-up/userDeleted",
8412
- title: "User deleted",
8413
- component: UserList
8414
- }, {
8415
- path: "/admin/set-up/switch-teacher",
8416
- title: "Switch Teacher",
8417
- component: SwitchTeacherList
8418
- }];
8419
- var title$1 = "Set up";
8420
-
8421
- var SetupContainer = function SetupContainer() {
8422
- return React__default.createElement(marioCore.CustomTab, {
8423
- title: title$1,
8424
- tabs: tabs
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
8425
8382
  });
8426
8383
  };
8427
-
8428
- var options$1 = [{
8429
- value: false,
8430
- label: "Student default questions"
8431
- }, {
8432
- value: true,
8433
- label: "Teacher default questions"
8434
- }];
8435
- var optionGenerals = [{
8436
- value: false,
8437
- label: "Student default general class questions"
8438
- }, {
8439
- value: true,
8440
- label: "Teacher default general class questions"
8441
- }];
8442
-
8443
- var DefaultQuestionStudentTeacherFilter = function DefaultQuestionStudentTeacherFilter(_ref) {
8444
- var isDefaultQuestionTeacher = _ref.isDefaultQuestionTeacher,
8445
- onChange = _ref.onChange,
8446
- placeholder = _ref.placeholder,
8447
- isDefaultGeneralClass = _ref.isDefaultGeneralClass;
8448
- var value = options$1.find(function (option) {
8449
- return option.value === isDefaultQuestionTeacher;
8450
- });
8451
-
8452
- if (isDefaultGeneralClass) {
8453
- value = optionGenerals.find(function (optionGeneral) {
8454
- return optionGeneral.value === isDefaultQuestionTeacher;
8455
- });
8456
- }
8457
-
8458
- var customSelector = {
8459
- menu: function menu(provided) {
8460
- return _extends({}, provided, {
8461
- zIndex: 9
8462
- });
8463
- }
8464
- };
8465
- return React__default.createElement(marioCore.CustomSelector, {
8466
- isClearable: true,
8467
- options: isDefaultGeneralClass ? optionGenerals : options$1,
8468
- placeholder: placeholder,
8469
- value: value,
8470
- onChange: onChange,
8471
- styles: customSelector
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
8472
8390
  });
8473
8391
  };
8474
8392
 
8475
- DefaultQuestionStudentTeacherFilter.defaultProps = {
8476
- placeholder: "Default question filter"
8393
+ var INITIAL_USER_CHOICE = {
8394
+ id: 0,
8395
+ emailStudent: "",
8396
+ studentName: "",
8397
+ assistantId: "",
8398
+ emailAssistant: "",
8399
+ assistantName: ""
8477
8400
  };
8478
8401
 
8479
- var subgridStyle = {
8480
- overflowY: "auto",
8481
- overflowX: "hidden",
8482
- maxHeight: "300px"
8483
- };
8402
+ var TITLE$d = "Switch assistant list";
8484
8403
 
8485
- var QuestionPreview = function QuestionPreview(props) {
8486
- var _props$data = props.data,
8487
- numberOfStars = _props$data.numberOfStars,
8488
- fromLabel = _props$data.fromLabel,
8489
- toLabel = _props$data.toLabel,
8490
- answers = _props$data.answers,
8491
- type = _props$data.type,
8492
- isSurvey = _props$data.isSurvey,
8493
- isDefaultQuestion = _props$data.isDefaultQuestion;
8404
+ var useSwitchAssistant = function useSwitchAssistant() {
8405
+ var modal = React.useRef();
8406
+ var dispatch = reactRedux.useDispatch();
8494
8407
 
8495
- var render = function render() {
8496
- var isEmotional = marioCore.QUESTION_TYPES.EMOTIONAL === type;
8497
- if ([marioCore.QUESTION_TYPES.SINGLE_CHOICE, marioCore.QUESTION_TYPES.MULTIPLE_CHOICE, marioCore.QUESTION_TYPES.EMOTIONAL, marioCore.QUESTION_TYPES.LEARNING_STRATEGY].includes(type)) return React__default.createElement(React.Fragment, null, React__default.createElement(reactstrap.Row, {
8498
- className: "mb-2 pb-2"
8499
- }, React__default.createElement(reactstrap.Col, {
8500
- md: 8
8501
- }, isSurvey == true && React__default.createElement("h6", {
8502
- className: "text-danger"
8503
- }, "This question is a survey"), React__default.createElement(reactstrap.Table, {
8504
- responsive: true,
8505
- hover: true,
8506
- bordered: true,
8507
- striped: true,
8508
- size: "sm"
8509
- }, React__default.createElement("thead", null, React__default.createElement("tr", null, isEmotional && React__default.createElement("th", {
8510
- className: "align-top"
8511
- }, "Emotion icon"), React__default.createElement("th", {
8512
- className: "align-top"
8513
- }, "Answer"), !isSurvey && !isDefaultQuestion && !isEmotional && React__default.createElement(React__default.Fragment, null, React__default.createElement("th", {
8514
- className: "text-center"
8515
- }, "Mark"), React__default.createElement("th", {
8516
- className: "text-center"
8517
- }, "Is correct answer")))), React__default.createElement("tbody", null, answers.map(function (answer, index) {
8518
- return React__default.createElement("tr", {
8519
- key: answer.id
8520
- }, isEmotional && React__default.createElement("td", {
8521
- className: "align-middle"
8522
- }, marioCore.EMOTIONS[index]), React__default.createElement("td", {
8523
- className: "align-middle"
8524
- }, React__default.createElement("div", {
8525
- dangerouslySetInnerHTML: {
8526
- __html: answer.text
8527
- }
8528
- })), !isSurvey && !isDefaultQuestion && !isEmotional && React__default.createElement(React__default.Fragment, null, React__default.createElement("td", {
8529
- className: "text-center align-middle"
8530
- }, answer.mark), React__default.createElement("td", {
8531
- className: "text-center align-middle"
8532
- }, answer.isCorrectAnswer ? React__default.createElement(fa.FaCheck, {
8533
- className: "text-success"
8534
- }) : React__default.createElement(fa.FaTimes, {
8535
- className: "text-danger"
8536
- }))));
8537
- }))))));
8408
+ var _useState = React.useState([]),
8409
+ assistantList = _useState[0],
8410
+ setAssistantList = _useState[1];
8538
8411
 
8539
- if ([marioCore.QUESTION_TYPES.SLIDER, marioCore.QUESTION_TYPES.RATING].includes(type)) {
8540
- return React__default.createElement("span", null, "From ", React__default.createElement("span", {
8541
- className: "font-weight-bold"
8542
- }, fromLabel), " ", "to ", React__default.createElement("span", {
8543
- className: "font-weight-bold"
8544
- }, toLabel));
8545
- }
8412
+ var _useState2 = React.useState([]),
8413
+ userList = _useState2[0],
8414
+ setUserList = _useState2[1];
8546
8415
 
8547
- if (marioCore.QUESTION_TYPES.STAR_RATING === type) {
8548
- return React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
8549
- md: 8
8550
- }, React__default.createElement(reactstrap.Alert, {
8551
- color: "primary"
8552
- }, "Number of stars: ", numberOfStars)));
8553
- }
8416
+ var _useState3 = React.useState(0),
8417
+ totalItems = _useState3[0],
8418
+ setTotalItems = _useState3[1];
8554
8419
 
8555
- return React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
8556
- md: 8
8557
- }, React__default.createElement(reactstrap.Alert, {
8558
- color: "secondary"
8559
- }, "No preview")));
8560
- };
8420
+ var _useFilters = marioCore.useFilters(),
8421
+ filters = _useFilters.filters,
8422
+ changeFilters = _useFilters.changeFilters;
8561
8423
 
8562
- return React__default.createElement("div", {
8563
- className: "animated fadeIn p-2",
8564
- style: subgridStyle
8565
- }, render());
8566
- };
8424
+ var _useState4 = React.useState(INITIAL_USER_CHOICE),
8425
+ userChoiced = _useState4[0],
8426
+ setUserChoiced = _useState4[1];
8567
8427
 
8568
- var renderQuestionText = function renderQuestionText(params) {
8569
- var _params$data;
8428
+ var _useState5 = React.useState(""),
8429
+ assistantChangeId = _useState5[0],
8430
+ setAssistantChangeId = _useState5[1];
8570
8431
 
8571
- return React__default.createElement("div", null, marioCore.getTextFromHTML(params === null || params === void 0 ? void 0 : (_params$data = params.data) === null || _params$data === void 0 ? void 0 : _params$data.text) || "No text");
8572
- };
8573
- var renderActions = function renderActions(_ref) {
8574
- var _params$data3, _params$data4, _params$data5, _params$data6;
8432
+ var getStudentAssistantData = React.useCallback(function () {
8433
+ try {
8434
+ var _temp3 = function _temp3() {
8435
+ dispatch(marioCore.setLoading(false));
8436
+ };
8575
8437
 
8576
- var params = _ref.params,
8577
- edit = _ref.edit,
8578
- remove = _ref.remove;
8579
- return React__default.createElement("div", null, React__default.createElement(marioCore.EditButtonIcon, {
8580
- onClick: function onClick() {
8581
- var _params$data2;
8438
+ dispatch(marioCore.setLoading(true));
8439
+ console.log(filters);
8582
8440
 
8583
- return edit(params === null || params === void 0 ? void 0 : (_params$data2 = params.data) === null || _params$data2 === void 0 ? void 0 : _params$data2.id);
8584
- }
8585
- }), !(params !== null && params !== void 0 && (_params$data3 = params.data) !== null && _params$data3 !== void 0 && _params$data3.isDefaultQuestion || params !== null && params !== void 0 && (_params$data4 = params.data) !== null && _params$data4 !== void 0 && _params$data4.isDefaultQuestionGeneralClass) && React__default.createElement("span", {
8586
- className: "mx-2"
8587
- }), !(params !== null && params !== void 0 && (_params$data5 = params.data) !== null && _params$data5 !== void 0 && _params$data5.isDefaultQuestion || params !== null && params !== void 0 && (_params$data6 = params.data) !== null && _params$data6 !== void 0 && _params$data6.isDefaultQuestionGeneralClass) && React__default.createElement(marioCore.DeleteButtonIcon, {
8588
- onClick: function onClick() {
8589
- var _params$data7;
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;
8590
8451
 
8591
- return remove(params === null || params === void 0 ? void 0 : (_params$data7 = params.data) === null || _params$data7 === void 0 ? void 0 : _params$data7.id);
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);
8592
8461
  }
8593
- }));
8594
- };
8595
- var renderCategory = function renderCategory(params) {
8596
- var _params$data8, _params$data8$categor;
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 tabs = [{
8726
+ path: "/admin/set-up/skill",
8727
+ title: "Skills",
8728
+ component: marioCore.SkillList
8729
+ }, {
8730
+ path: "/admin/set-up/subject",
8731
+ title: "Subjects",
8732
+ component: SubjectList
8733
+ }, {
8734
+ path: "/admin/set-up/learning-support-category",
8735
+ title: "Learning support categories",
8736
+ component: LearningSupportCategoryList
8737
+ }, {
8738
+ path: "/admin/set-up/learning-strategy",
8739
+ title: "Learning strategies",
8740
+ component: LearningStrategyList
8741
+ }, {
8742
+ path: "/admin/set-up/goal-example",
8743
+ title: "Goal examples",
8744
+ component: GoalExampleList
8745
+ }, {
8746
+ path: "/admin/set-up/student-badge",
8747
+ title: "Student badges",
8748
+ component: BadgeList
8749
+ }, {
8750
+ path: "/admin/set-up/semester",
8751
+ title: "Semester",
8752
+ component: SemesterList
8753
+ }, {
8754
+ path: "/admin/set-up/blank-days",
8755
+ title: "Blank days",
8756
+ component: SchoolBlankDayList
8757
+ }, {
8758
+ path: "/admin/set-up/csv-import",
8759
+ title: "CSV Import",
8760
+ component: CSVImport
8761
+ }, {
8762
+ path: "/admin/set-up/band-score",
8763
+ title: "Band scores",
8764
+ component: BandScoreList
8765
+ }, {
8766
+ path: "/admin/set-up/current-license",
8767
+ title: "License",
8768
+ component: CurrentLicense
8769
+ }, {
8770
+ path: "/admin/set-up/userDeleted",
8771
+ title: "User deleted",
8772
+ component: UserList
8773
+ }, {
8774
+ path: "/admin/set-up/switch-teacher",
8775
+ title: "Switch Teacher",
8776
+ component: SwitchTeacherList
8777
+ }, {
8778
+ path: "/admin/set-up/switch-assistant",
8779
+ title: "Switch assistant",
8780
+ component: SwitchAssistantList
8781
+ }];
8782
+ var title$1 = "Set up";
8783
+
8784
+ var SetupContainer = function SetupContainer() {
8785
+ return React__default.createElement(marioCore.CustomTab, {
8786
+ title: title$1,
8787
+ tabs: tabs
8788
+ });
8789
+ };
8790
+
8791
+ var options$1 = [{
8792
+ value: false,
8793
+ label: "Student default questions"
8794
+ }, {
8795
+ value: true,
8796
+ label: "Teacher default questions"
8797
+ }];
8798
+ var optionGenerals = [{
8799
+ value: false,
8800
+ label: "Student default general class questions"
8801
+ }, {
8802
+ value: true,
8803
+ label: "Teacher default general class questions"
8804
+ }];
8805
+
8806
+ var DefaultQuestionStudentTeacherFilter = function DefaultQuestionStudentTeacherFilter(_ref) {
8807
+ var isDefaultQuestionTeacher = _ref.isDefaultQuestionTeacher,
8808
+ onChange = _ref.onChange,
8809
+ placeholder = _ref.placeholder,
8810
+ isDefaultGeneralClass = _ref.isDefaultGeneralClass;
8811
+ var value = options$1.find(function (option) {
8812
+ return option.value === isDefaultQuestionTeacher;
8813
+ });
8814
+
8815
+ if (isDefaultGeneralClass) {
8816
+ value = optionGenerals.find(function (optionGeneral) {
8817
+ return optionGeneral.value === isDefaultQuestionTeacher;
8818
+ });
8819
+ }
8820
+
8821
+ var customSelector = {
8822
+ menu: function menu(provided) {
8823
+ return _extends({}, provided, {
8824
+ zIndex: 9
8825
+ });
8826
+ }
8827
+ };
8828
+ return React__default.createElement(marioCore.CustomSelector, {
8829
+ isClearable: true,
8830
+ options: isDefaultGeneralClass ? optionGenerals : options$1,
8831
+ placeholder: placeholder,
8832
+ value: value,
8833
+ onChange: onChange,
8834
+ styles: customSelector
8835
+ });
8836
+ };
8837
+
8838
+ DefaultQuestionStudentTeacherFilter.defaultProps = {
8839
+ placeholder: "Default question filter"
8840
+ };
8841
+
8842
+ var subgridStyle = {
8843
+ overflowY: "auto",
8844
+ overflowX: "hidden",
8845
+ maxHeight: "300px"
8846
+ };
8847
+
8848
+ var QuestionPreview = function QuestionPreview(props) {
8849
+ var _props$data = props.data,
8850
+ numberOfStars = _props$data.numberOfStars,
8851
+ fromLabel = _props$data.fromLabel,
8852
+ toLabel = _props$data.toLabel,
8853
+ answers = _props$data.answers,
8854
+ type = _props$data.type,
8855
+ isSurvey = _props$data.isSurvey,
8856
+ isDefaultQuestion = _props$data.isDefaultQuestion;
8857
+
8858
+ var render = function render() {
8859
+ var isEmotional = marioCore.QUESTION_TYPES.EMOTIONAL === type;
8860
+ if ([marioCore.QUESTION_TYPES.SINGLE_CHOICE, marioCore.QUESTION_TYPES.MULTIPLE_CHOICE, marioCore.QUESTION_TYPES.EMOTIONAL, marioCore.QUESTION_TYPES.LEARNING_STRATEGY].includes(type)) return React__default.createElement(React.Fragment, null, React__default.createElement(reactstrap.Row, {
8861
+ className: "mb-2 pb-2"
8862
+ }, React__default.createElement(reactstrap.Col, {
8863
+ md: 8
8864
+ }, isSurvey == true && React__default.createElement("h6", {
8865
+ className: "text-danger"
8866
+ }, "This question is a survey"), React__default.createElement(reactstrap.Table, {
8867
+ responsive: true,
8868
+ hover: true,
8869
+ bordered: true,
8870
+ striped: true,
8871
+ size: "sm"
8872
+ }, React__default.createElement("thead", null, React__default.createElement("tr", null, isEmotional && React__default.createElement("th", {
8873
+ className: "align-top"
8874
+ }, "Emotion icon"), React__default.createElement("th", {
8875
+ className: "align-top"
8876
+ }, "Answer"), !isSurvey && !isDefaultQuestion && !isEmotional && React__default.createElement(React__default.Fragment, null, React__default.createElement("th", {
8877
+ className: "text-center"
8878
+ }, "Mark"), React__default.createElement("th", {
8879
+ className: "text-center"
8880
+ }, "Is correct answer")))), React__default.createElement("tbody", null, answers.map(function (answer, index) {
8881
+ return React__default.createElement("tr", {
8882
+ key: answer.id
8883
+ }, isEmotional && React__default.createElement("td", {
8884
+ className: "align-middle"
8885
+ }, marioCore.EMOTIONS[index]), React__default.createElement("td", {
8886
+ className: "align-middle"
8887
+ }, React__default.createElement("div", {
8888
+ dangerouslySetInnerHTML: {
8889
+ __html: answer.text
8890
+ }
8891
+ })), !isSurvey && !isDefaultQuestion && !isEmotional && React__default.createElement(React__default.Fragment, null, React__default.createElement("td", {
8892
+ className: "text-center align-middle"
8893
+ }, answer.mark), React__default.createElement("td", {
8894
+ className: "text-center align-middle"
8895
+ }, answer.isCorrectAnswer ? React__default.createElement(fa.FaCheck, {
8896
+ className: "text-success"
8897
+ }) : React__default.createElement(fa.FaTimes, {
8898
+ className: "text-danger"
8899
+ }))));
8900
+ }))))));
8901
+
8902
+ if ([marioCore.QUESTION_TYPES.SLIDER, marioCore.QUESTION_TYPES.RATING].includes(type)) {
8903
+ return React__default.createElement("span", null, "From ", React__default.createElement("span", {
8904
+ className: "font-weight-bold"
8905
+ }, fromLabel), " ", "to ", React__default.createElement("span", {
8906
+ className: "font-weight-bold"
8907
+ }, toLabel));
8908
+ }
8909
+
8910
+ if (marioCore.QUESTION_TYPES.STAR_RATING === type) {
8911
+ return React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
8912
+ md: 8
8913
+ }, React__default.createElement(reactstrap.Alert, {
8914
+ color: "primary"
8915
+ }, "Number of stars: ", numberOfStars)));
8916
+ }
8917
+
8918
+ return React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
8919
+ md: 8
8920
+ }, React__default.createElement(reactstrap.Alert, {
8921
+ color: "secondary"
8922
+ }, "No preview")));
8923
+ };
8924
+
8925
+ return React__default.createElement("div", {
8926
+ className: "animated fadeIn p-2",
8927
+ style: subgridStyle
8928
+ }, render());
8929
+ };
8930
+
8931
+ var renderQuestionText = function renderQuestionText(params) {
8932
+ var _params$data;
8933
+
8934
+ return React__default.createElement("div", null, marioCore.getTextFromHTML(params === null || params === void 0 ? void 0 : (_params$data = params.data) === null || _params$data === void 0 ? void 0 : _params$data.text) || "No text");
8935
+ };
8936
+ var renderActions = function renderActions(_ref) {
8937
+ var _params$data3, _params$data4, _params$data5, _params$data6;
8938
+
8939
+ var params = _ref.params,
8940
+ edit = _ref.edit,
8941
+ remove = _ref.remove;
8942
+ return React__default.createElement("div", null, React__default.createElement(marioCore.EditButtonIcon, {
8943
+ onClick: function onClick() {
8944
+ var _params$data2;
8945
+
8946
+ return edit(params === null || params === void 0 ? void 0 : (_params$data2 = params.data) === null || _params$data2 === void 0 ? void 0 : _params$data2.id);
8947
+ }
8948
+ }), !(params !== null && params !== void 0 && (_params$data3 = params.data) !== null && _params$data3 !== void 0 && _params$data3.isDefaultQuestion || params !== null && params !== void 0 && (_params$data4 = params.data) !== null && _params$data4 !== void 0 && _params$data4.isDefaultQuestionGeneralClass) && React__default.createElement("span", {
8949
+ className: "mx-2"
8950
+ }), !(params !== null && params !== void 0 && (_params$data5 = params.data) !== null && _params$data5 !== void 0 && _params$data5.isDefaultQuestion || params !== null && params !== void 0 && (_params$data6 = params.data) !== null && _params$data6 !== void 0 && _params$data6.isDefaultQuestionGeneralClass) && React__default.createElement(marioCore.DeleteButtonIcon, {
8951
+ onClick: function onClick() {
8952
+ var _params$data7;
8953
+
8954
+ return remove(params === null || params === void 0 ? void 0 : (_params$data7 = params.data) === null || _params$data7 === void 0 ? void 0 : _params$data7.id);
8955
+ }
8956
+ }));
8957
+ };
8958
+ var renderCategory = function renderCategory(params) {
8959
+ var _params$data8, _params$data8$categor;
8597
8960
 
8598
8961
  return React__default.createElement("div", null, params === null || params === void 0 ? void 0 : (_params$data8 = params.data) === null || _params$data8 === void 0 ? void 0 : (_params$data8$categor = _params$data8.category) === null || _params$data8$categor === void 0 ? void 0 : _params$data8$categor.name);
8599
8962
  };
@@ -8608,7 +8971,7 @@ var renderType = function renderType(params) {
8608
8971
 
8609
8972
  var QUESTION_URL$1 = "/admin/question-bank";
8610
8973
  var CREATE_QUESTION_URL = "/admin/create-question";
8611
- var TITLE$d = "Question list";
8974
+ var TITLE$e = "Question list";
8612
8975
 
8613
8976
  var useQuestionList = function useQuestionList(isDefaultQuestion, isDefaultQuestionGeneralClass) {
8614
8977
  var history = reactRouterDom.useHistory();
@@ -8763,7 +9126,7 @@ var useQuestionList = function useQuestionList(isDefaultQuestion, isDefaultQuest
8763
9126
  history.push(url);
8764
9127
  }, []);
8765
9128
  React.useEffect(function () {
8766
- document.title = TITLE$d;
9129
+ document.title = TITLE$e;
8767
9130
  }, []);
8768
9131
  React.useEffect(function () {
8769
9132
  getData();
@@ -9395,7 +9758,7 @@ var useReflectionFormDetail = function useReflectionFormDetail() {
9395
9758
  };
9396
9759
  };
9397
9760
 
9398
- var TITLE$e = "Reflection form list";
9761
+ var TITLE$f = "Reflection form list";
9399
9762
 
9400
9763
  var useReflectionFormList = function useReflectionFormList() {
9401
9764
  var reflectionList = reactRedux.useSelector(function (state) {
@@ -9485,7 +9848,7 @@ var useReflectionFormList = function useReflectionFormList() {
9485
9848
  }
9486
9849
  }, [dispatch]);
9487
9850
  React.useEffect(function () {
9488
- document.title = TITLE$e;
9851
+ document.title = TITLE$f;
9489
9852
  }, []);
9490
9853
  React.useEffect(function () {
9491
9854
  getData();
@@ -10548,7 +10911,7 @@ var initValue$e = {
10548
10911
  isMandatory: false,
10549
10912
  isBeforeSession: false
10550
10913
  };
10551
- var TITLE$f = "Question detail";
10914
+ var TITLE$g = "Question detail";
10552
10915
 
10553
10916
  var useQuestionDetail = function useQuestionDetail(id) {
10554
10917
  var editorRef;
@@ -10574,7 +10937,7 @@ var useQuestionDetail = function useQuestionDetail(id) {
10574
10937
  };
10575
10938
 
10576
10939
  React.useEffect(function () {
10577
- document.title = TITLE$f;
10940
+ document.title = TITLE$g;
10578
10941
  setEdited(false);
10579
10942
  if (!!localStorage.getItem(window.location.href)) localStorage.removeItem(window.location.href);
10580
10943
  }, []);
@@ -11238,7 +11601,7 @@ var useAssessmentDetail = function useAssessmentDetail() {
11238
11601
  };
11239
11602
  };
11240
11603
 
11241
- var TITLE$g = "Assessment list";
11604
+ var TITLE$h = "Assessment list";
11242
11605
 
11243
11606
  var useAssessmentList = function useAssessmentList() {
11244
11607
  var assessmentList = reactRedux.useSelector(function (state) {
@@ -11321,7 +11684,7 @@ var useAssessmentList = function useAssessmentList() {
11321
11684
  dispatch(marioCore.setLoading(false));
11322
11685
  }, [filters]);
11323
11686
  React.useEffect(function () {
11324
- document.title = TITLE$g;
11687
+ document.title = TITLE$h;
11325
11688
  }, []);
11326
11689
  React.useEffect(function () {
11327
11690
  getData();
@@ -11773,7 +12136,7 @@ var useFeedbackDetail = function useFeedbackDetail() {
11773
12136
  };
11774
12137
  };
11775
12138
 
11776
- var TITLE$h = "Feedback list";
12139
+ var TITLE$i = "Feedback list";
11777
12140
 
11778
12141
  var useFeedbackList = function useFeedbackList() {
11779
12142
  var feedbackList = reactRedux.useSelector(function (state) {
@@ -11825,7 +12188,7 @@ var useFeedbackList = function useFeedbackList() {
11825
12188
  }
11826
12189
  }, [dispatch, filters]);
11827
12190
  React.useEffect(function () {
11828
- document.title = TITLE$h;
12191
+ document.title = TITLE$i;
11829
12192
  }, []);
11830
12193
  React.useEffect(function () {
11831
12194
  getData();
@@ -11839,7 +12202,7 @@ var useFeedbackList = function useFeedbackList() {
11839
12202
  };
11840
12203
  };
11841
12204
 
11842
- var header$5 = "Feedback";
12205
+ var header$6 = "Feedback";
11843
12206
 
11844
12207
  var FeedbackList = function FeedbackList() {
11845
12208
  var history = reactRouterDom.useHistory();
@@ -11868,7 +12231,7 @@ var FeedbackList = function FeedbackList() {
11868
12231
  feedbackDetail: feedbackDetail
11869
12232
  }), React__default.createElement("h5", {
11870
12233
  className: "mb-2"
11871
- }, header$5), React__default.createElement(reactstrap.Row, {
12234
+ }, header$6), React__default.createElement(reactstrap.Row, {
11872
12235
  className: "my-2"
11873
12236
  }, React__default.createElement(reactstrap.Col, {
11874
12237
  md: 8,
@@ -12166,7 +12529,7 @@ var useTutorialScreenDetail = function useTutorialScreenDetail(typeRole) {
12166
12529
  };
12167
12530
  };
12168
12531
 
12169
- var TITLE$i = "Tutorial screen list";
12532
+ var TITLE$j = "Tutorial screen list";
12170
12533
 
12171
12534
  var useTutorialScreenList = function useTutorialScreenList(typeRole) {
12172
12535
  var tutorialScreenList = reactRedux.useSelector(function (state) {
@@ -12251,7 +12614,7 @@ var useTutorialScreenList = function useTutorialScreenList(typeRole) {
12251
12614
  dispatch(marioCore.setLoading(false));
12252
12615
  }, [filters]);
12253
12616
  React.useEffect(function () {
12254
- document.title = TITLE$i;
12617
+ document.title = TITLE$j;
12255
12618
  }, []);
12256
12619
  React.useEffect(function () {
12257
12620
  getData();
@@ -12627,7 +12990,7 @@ var useQuestionCateDetail = function useQuestionCateDetail() {
12627
12990
  };
12628
12991
  };
12629
12992
 
12630
- var TITLE$j = "Question category list";
12993
+ var TITLE$k = "Question category list";
12631
12994
 
12632
12995
  var useQuestionCateList = function useQuestionCateList() {
12633
12996
  var questionCateList = reactRedux.useSelector(function (state) {
@@ -12710,7 +13073,7 @@ var useQuestionCateList = function useQuestionCateList() {
12710
13073
  dispatch(marioCore.setLoading(false));
12711
13074
  }, [filters]);
12712
13075
  React.useEffect(function () {
12713
- document.title = TITLE$j;
13076
+ document.title = TITLE$k;
12714
13077
  }, []);
12715
13078
  React.useEffect(function () {
12716
13079
  getData();
@@ -12854,6 +13217,24 @@ var tabs$3 = [{
12854
13217
  path: "/admin/question/question-list",
12855
13218
  title: "Question list",
12856
13219
  component: QuestionBankList
13220
+ }, {
13221
+ path: "/admin/question/default-question-list",
13222
+ title: "Default question list",
13223
+ component: function component() {
13224
+ return React__default.createElement(QuestionBankList, {
13225
+ isDefaultQuestion: true,
13226
+ isDefaultQuestionGeneral: false
13227
+ });
13228
+ }
13229
+ }, {
13230
+ path: "/admin/question/default-question-general-list",
13231
+ title: "Default question general class list",
13232
+ component: function component() {
13233
+ return React__default.createElement(QuestionBankList, {
13234
+ isDefaultQuestion: false,
13235
+ isDefaultQuestionGeneral: true
13236
+ });
13237
+ }
12857
13238
  }, {
12858
13239
  path: "/admin/question/question-category",
12859
13240
  title: "Question category",
@@ -13461,7 +13842,7 @@ var useAssignmentDetail = function useAssignmentDetail() {
13461
13842
  };
13462
13843
  };
13463
13844
 
13464
- var TITLE$k = "Assignment list";
13845
+ var TITLE$l = "Assignment list";
13465
13846
 
13466
13847
  var useAssignmentList = function useAssignmentList() {
13467
13848
  var assignmentList = reactRedux.useSelector(function (state) {
@@ -13558,7 +13939,7 @@ var useAssignmentList = function useAssignmentList() {
13558
13939
  dispatch(marioCore.setLoading(false));
13559
13940
  }, [filters]);
13560
13941
  React.useEffect(function () {
13561
- document.title = TITLE$k;
13942
+ document.title = TITLE$l;
13562
13943
  }, []);
13563
13944
  React.useEffect(function () {
13564
13945
  getData();
@@ -14008,7 +14389,7 @@ var getRandomQuestion = function getRandomQuestion(data) {
14008
14389
  return marioCore.api.post(QUESTION_URL$2 + "/random", data);
14009
14390
  };
14010
14391
 
14011
- var TITLE$l = "Session template list";
14392
+ var TITLE$m = "Session template list";
14012
14393
  var SESSION_TEMPLATE_URL$1 = "/admin/session-template-learning-support";
14013
14394
  var CREATE_TEMPLATE_URL = "/admin/create-session-template-learning-support";
14014
14395
 
@@ -14112,7 +14493,7 @@ var useSessionTemplateList = function useSessionTemplateList() {
14112
14493
  history.push(url);
14113
14494
  }, []);
14114
14495
  React.useEffect(function () {
14115
- document.title = TITLE$l;
14496
+ document.title = TITLE$m;
14116
14497
  }, []);
14117
14498
  React.useEffect(function () {
14118
14499
  getData();
@@ -14259,7 +14640,7 @@ var remove$j = function remove(id) {
14259
14640
  return marioCore.api["delete"](SESSION_TEMPLATE_GENERAL_CLASS_URL + "/" + id);
14260
14641
  };
14261
14642
 
14262
- var TITLE$m = "Session template general class list";
14643
+ var TITLE$n = "Session template general class list";
14263
14644
  var SESSION_TEMPLATE_GENERAL_CLASS_URL$1 = "/admin/session-template/general-class";
14264
14645
  var CREATE_TEMPLATE_GENERAL_CLASS_URL = "/admin/create-session-template-general-class";
14265
14646
 
@@ -14349,7 +14730,7 @@ var useSessionTemplateGeneralClassList = function useSessionTemplateGeneralClass
14349
14730
  history.push(url);
14350
14731
  }, []);
14351
14732
  React.useEffect(function () {
14352
- document.title = TITLE$m;
14733
+ document.title = TITLE$n;
14353
14734
  }, []);
14354
14735
  React.useEffect(function () {
14355
14736
  getData();
@@ -16338,7 +16719,7 @@ var useCustomAlertDetail = function useCustomAlertDetail() {
16338
16719
  };
16339
16720
  };
16340
16721
 
16341
- var TITLE$n = "Custom alert list";
16722
+ var TITLE$o = "Custom alert list";
16342
16723
 
16343
16724
  var useCustomAlertList = function useCustomAlertList() {
16344
16725
  var customAlertList = reactRedux.useSelector(function (state) {
@@ -16426,7 +16807,7 @@ var useCustomAlertList = function useCustomAlertList() {
16426
16807
  dispatch(marioCore.setLoading(false));
16427
16808
  }, [filters]);
16428
16809
  React.useEffect(function () {
16429
- document.title = TITLE$n;
16810
+ document.title = TITLE$o;
16430
16811
  }, []);
16431
16812
  React.useEffect(function () {
16432
16813
  getData();
@@ -16441,7 +16822,7 @@ var useCustomAlertList = function useCustomAlertList() {
16441
16822
  };
16442
16823
  };
16443
16824
 
16444
- var header$6 = "Custom alert";
16825
+ var header$7 = "Custom alert";
16445
16826
 
16446
16827
  var CustomAlertList = function CustomAlertList() {
16447
16828
  var modal = React.useRef();
@@ -16509,7 +16890,7 @@ var CustomAlertList = function CustomAlertList() {
16509
16890
  when: edited
16510
16891
  }), React__default.createElement("h5", {
16511
16892
  className: "mb-2"
16512
- }, header$6), React__default.createElement(reactstrap.Row, {
16893
+ }, header$7), React__default.createElement(reactstrap.Row, {
16513
16894
  className: "my-2"
16514
16895
  }, React__default.createElement(reactstrap.Col, {
16515
16896
  md: 4
@@ -17068,7 +17449,7 @@ var useCertificateDetail = function useCertificateDetail() {
17068
17449
  };
17069
17450
  };
17070
17451
 
17071
- var TITLE$o = "Certificate list";
17452
+ var TITLE$p = "Certificate list";
17072
17453
 
17073
17454
  var useCertificateList = function useCertificateList() {
17074
17455
  var certificateList = reactRedux.useSelector(function (state) {
@@ -17151,7 +17532,7 @@ var useCertificateList = function useCertificateList() {
17151
17532
  dispatch(marioCore.setLoading(false));
17152
17533
  }, [filters]);
17153
17534
  React.useEffect(function () {
17154
- document.title = TITLE$o;
17535
+ document.title = TITLE$p;
17155
17536
  }, []);
17156
17537
  React.useEffect(function () {
17157
17538
  getData();
@@ -17166,7 +17547,7 @@ var useCertificateList = function useCertificateList() {
17166
17547
  };
17167
17548
  };
17168
17549
 
17169
- var header$7 = "Certificate";
17550
+ var header$8 = "Certificate";
17170
17551
 
17171
17552
  var CertificateList = function CertificateList() {
17172
17553
  var modal = React.useRef();
@@ -17225,7 +17606,7 @@ var CertificateList = function CertificateList() {
17225
17606
  when: edited
17226
17607
  }), React__default.createElement("h5", {
17227
17608
  className: "mb-2"
17228
- }, header$7), React__default.createElement(reactstrap.Row, {
17609
+ }, header$8), React__default.createElement(reactstrap.Row, {
17229
17610
  className: "my-2"
17230
17611
  }, React__default.createElement(reactstrap.Col, {
17231
17612
  md: 4
@@ -17299,7 +17680,7 @@ var CertificateList = function CertificateList() {
17299
17680
  }))));
17300
17681
  };
17301
17682
 
17302
- var TITLE$p = "Certificate list";
17683
+ var TITLE$q = "Certificate list";
17303
17684
 
17304
17685
  var useCertificateList$1 = function useCertificateList() {
17305
17686
  var dispatch = reactRedux.useDispatch();
@@ -17387,7 +17768,7 @@ var useCertificateList$1 = function useCertificateList() {
17387
17768
  }
17388
17769
  }, [listWaiting]);
17389
17770
  React.useEffect(function () {
17390
- document.title = TITLE$p;
17771
+ document.title = TITLE$q;
17391
17772
  getListWaiting();
17392
17773
  getListApproved();
17393
17774
  }, []);
@@ -17733,58 +18114,84 @@ var CompareTeacher = function CompareTeacher() {
17733
18114
  };
17734
18115
 
17735
18116
  var REPORT_URL = marioCore.BASE_URL + "/api/report";
17736
- var getQuantityReport = function getQuantityReport() {
17737
- return marioCore.api.get(REPORT_URL + "/quantity");
17738
- };
17739
- var getLoginCountingReport = function getLoginCountingReport() {
17740
- return marioCore.api.get(REPORT_URL + "/logincouting");
18117
+ var getAllTotalTime = function getAllTotalTime(filter) {
18118
+ return marioCore.api.get(REPORT_URL + "/dashboard-total-student", {
18119
+ params: filter
18120
+ });
17741
18121
  };
17742
- var getGoalProgressReport = function getGoalProgressReport() {
17743
- return marioCore.api.get(REPORT_URL + "/goalprogress");
18122
+ var getReadinessToLearning = function getReadinessToLearning(filter) {
18123
+ return marioCore.api.get(REPORT_URL + "/top-readiness-learn", {
18124
+ params: filter
18125
+ });
17744
18126
  };
17745
- var getHighImpactLearningStrategyReport = function getHighImpactLearningStrategyReport() {
17746
- return marioCore.api.get(REPORT_URL + "/highimpactlearningstrategy");
18127
+ var getTopLearningStrategies = function getTopLearningStrategies(filter) {
18128
+ return marioCore.api.get(REPORT_URL + "/top-learning-strategies", {
18129
+ params: filter
18130
+ });
17747
18131
  };
17748
- var getPerceivedImpactReport = function getPerceivedImpactReport() {
17749
- return marioCore.api.get(REPORT_URL + "/perceivedimpact");
18132
+ var getStudentByGrade = function getStudentByGrade(filter) {
18133
+ return marioCore.api.get(REPORT_URL + "/student-by-grade", {
18134
+ params: filter
18135
+ });
17750
18136
  };
17751
- var getGradeReport = function getGradeReport() {
17752
- return marioCore.api.get(REPORT_URL + "/grade");
18137
+ var getOverviewQuestionChart = function getOverviewQuestionChart(filter) {
18138
+ return marioCore.api.get(REPORT_URL + "/overview-chart", {
18139
+ params: filter
18140
+ });
17753
18141
  };
17754
18142
 
17755
- var TITLE$q = "Dashboard";
18143
+ var TITLE$r = "Dashboard";
17756
18144
 
17757
18145
  var useDashboard = function useDashboard() {
17758
18146
  var dispatch = reactRedux.useDispatch();
18147
+ var now = new Date();
17759
18148
 
17760
- var _useState = React.useState(null),
17761
- loginCounting = _useState[0],
17762
- setLoginCounting = _useState[1];
18149
+ var _useState = React.useState({
18150
+ startDate: new Date(now.getFullYear(), now.getMonth(), 1).getTime(),
18151
+ endDate: new Date(now.getFullYear(), now.getMonth() + 1, 0).getTime(),
18152
+ studentIds: []
18153
+ }),
18154
+ filter = _useState[0],
18155
+ setFilter = _useState[1];
17763
18156
 
17764
- var _useState2 = React.useState(null),
17765
- quantity = _useState2[0],
17766
- setQuantity = _useState2[1];
18157
+ var _useState2 = React.useState(),
18158
+ listTotalTime = _useState2[0],
18159
+ setListTotalTime = _useState2[1];
17767
18160
 
17768
- var _useState3 = React.useState(null),
17769
- goalProgress = _useState3[0],
17770
- setGoalProgress = _useState3[1];
18161
+ var _useState3 = React.useState(),
18162
+ readinessToLearning = _useState3[0],
18163
+ setReadinessToLearning = _useState3[1];
17771
18164
 
17772
- var _useState4 = React.useState(null),
17773
- highImpact = _useState4[0],
17774
- setHighImpact = _useState4[1];
18165
+ var _useState4 = React.useState(),
18166
+ topLearningStrategies = _useState4[0],
18167
+ setTopLearningStrategies = _useState4[1];
17775
18168
 
17776
- var _useState5 = React.useState(null),
17777
- perceivedImpact = _useState5[0],
17778
- setPerceivedImpact = _useState5[1];
18169
+ var _useState5 = React.useState(),
18170
+ studentByGrade = _useState5[0],
18171
+ setStudentByGrade = _useState5[1];
18172
+
18173
+ var _useState6 = React.useState(),
18174
+ chartOneToOneData = _useState6[0],
18175
+ setChartOneToOneData = _useState6[1];
18176
+
18177
+ var _useState7 = React.useState(),
18178
+ chartClassReflection = _useState7[0],
18179
+ setChartClassReflection = _useState7[1];
18180
+
18181
+ var _useState8 = React.useState(),
18182
+ chartConference = _useState8[0],
18183
+ setChartConference = _useState8[1];
17779
18184
 
17780
- var _useState6 = React.useState(null),
17781
- grade = _useState6[0],
17782
- setGrade = _useState6[1];
18185
+ var _useState9 = React.useState(),
18186
+ learningProgress = _useState9[0],
18187
+ setLearningProgress = _useState9[1];
17783
18188
 
17784
- var callApi = React.useCallback(function (apiCaller, setData, defaultData) {
18189
+ var callApi = React.useCallback(function (apiCaller, setData, defaultData, type) {
17785
18190
  try {
17786
18191
  var _temp2 = _catch(function () {
17787
- return Promise.resolve(apiCaller()).then(function (res) {
18192
+ return Promise.resolve(type ? apiCaller(_extends({}, filter, {
18193
+ type: type
18194
+ })) : apiCaller(filter)).then(function (res) {
17788
18195
  setData(res.data);
17789
18196
  });
17790
18197
  }, function (err) {
@@ -17801,45 +18208,130 @@ var useDashboard = function useDashboard() {
17801
18208
  } catch (e) {
17802
18209
  return Promise.reject(e);
17803
18210
  }
17804
- }, []);
18211
+ }, [filter]);
17805
18212
  var getData = React.useCallback(function () {
17806
18213
  try {
17807
- document.title = TITLE$q;
18214
+ document.title = TITLE$r;
17808
18215
  dispatch(marioCore.setLoading(true));
17809
- return Promise.resolve(Promise.any([callApi(getLoginCountingReport, setLoginCounting, []), callApi(getQuantityReport, setQuantity, {}), callApi(getGoalProgressReport, setGoalProgress, []), callApi(getHighImpactLearningStrategyReport, setHighImpact, {}), callApi(getPerceivedImpactReport, setPerceivedImpact, []), callApi(getGradeReport, setGrade, {})])).then(function () {
18216
+ return Promise.resolve(Promise.any([callApi(getAllTotalTime, setListTotalTime, []), callApi(getReadinessToLearning, setReadinessToLearning, []), callApi(getTopLearningStrategies, setTopLearningStrategies, []), callApi(getStudentByGrade, setStudentByGrade, []), callApi(getOverviewQuestionChart, setChartOneToOneData, [], "OneToOne"), callApi(getOverviewQuestionChart, setChartClassReflection, [], "ClassReflection"), callApi(getOverviewQuestionChart, setChartConference, [], "Conference"), callApi(getOverviewQuestionChart, setLearningProgress, [], "LearningProgress")])).then(function () {
17810
18217
  dispatch(marioCore.setLoading(false));
17811
18218
  });
17812
18219
  } catch (e) {
17813
18220
  return Promise.reject(e);
17814
18221
  }
17815
- }, []);
18222
+ }, [filter]);
17816
18223
  React.useEffect(function () {
17817
18224
  getData();
17818
- }, []);
18225
+ }, [filter]);
17819
18226
  return {
17820
- loginCounting: loginCounting,
17821
- quantity: quantity,
17822
- goalProgress: goalProgress,
17823
- highImpact: highImpact,
17824
- perceivedImpact: perceivedImpact,
17825
- grade: grade
18227
+ setFilter: setFilter,
18228
+ filter: filter,
18229
+ listTotalTime: listTotalTime,
18230
+ readinessToLearning: readinessToLearning,
18231
+ topLearningStrategies: topLearningStrategies,
18232
+ studentByGrade: studentByGrade,
18233
+ chartOneToOneData: chartOneToOneData,
18234
+ chartClassReflection: chartClassReflection,
18235
+ chartConference: chartConference,
18236
+ learningProgress: learningProgress
17826
18237
  };
17827
18238
  };
17828
18239
 
17829
- var styles$1 = {"dashboard-card":"_1Jgr2","quantity-table":"_3Thdy"};
18240
+ var styles$1 = {"dashboard-card":"_1Jgr2","quantity-table":"_3Thdy","size-icon":"_1WLBo","block-dashboard":"_10Pgm","size-arrow":"_3jPb_","color-down":"_1c43y","color-up":"_F1afY","box-filter":"_1kqUQ","title-card":"_10hbz","value-card":"_2rmw_","deviant-card":"_1tdQu","filter-card":"_2BvFN","box-skill-item":"_2TBTW","numerical-order":"_3XXJp","backoround-top-skill":"_LCuWQ","color-filter":"_3x9D7","btn-filter":"_2In63","block-collapse":"_1Vhg_","form-date-picker":"_6yLxd","bock-filter-left":"_h74SO","bock-filter-right":"_3e2pi"};
17830
18241
 
17831
18242
  var DashboardCard = function DashboardCard(_ref) {
17832
18243
  var label = _ref.label,
17833
18244
  children = _ref.children;
17834
18245
  return React__default.createElement("div", {
17835
18246
  className: styles$1["dashboard-card"]
18247
+ }, React__default.createElement("div", {
18248
+ className: "d-flex align-items-center justify-content-between"
17836
18249
  }, React__default.createElement("h5", {
17837
18250
  className: "mb-2"
17838
- }, label), React__default.createElement("div", {
18251
+ }, label), React__default.createElement(fi.FiMoreVertical, {
18252
+ className: "cursor-pointer"
18253
+ })), React__default.createElement("div", {
17839
18254
  className: "flex-grow-1 d-flex flex-column justify-content-center"
17840
18255
  }, children));
17841
18256
  };
17842
18257
 
18258
+ var ReadinessToLearn = function ReadinessToLearn(_ref) {
18259
+ var data = _ref.data;
18260
+ var categories = React.useMemo(function () {
18261
+ if (!data) return [];
18262
+
18263
+ try {
18264
+ return data.map(function (item) {
18265
+ return item.createdAt;
18266
+ });
18267
+ } catch (_unused) {
18268
+ return [];
18269
+ }
18270
+ }, [data]);
18271
+ if (!data) return React__default.createElement(marioCore.Loading, null);
18272
+ var options = {
18273
+ chart: {
18274
+ type: "radialBar",
18275
+ height: 350,
18276
+ stacked: true,
18277
+ stackType: "100%",
18278
+ toolbar: {
18279
+ show: false
18280
+ }
18281
+ },
18282
+ noData: {
18283
+ text: "NO DATA",
18284
+ align: "center",
18285
+ verticalAlign: "middle",
18286
+ offsetX: 0,
18287
+ offsetY: 0,
18288
+ style: {
18289
+ color: undefined,
18290
+ fontSize: "14px",
18291
+ fontFamily: undefined
18292
+ }
18293
+ },
18294
+ plotOptions: {
18295
+ bar: {
18296
+ horizontal: false,
18297
+ columnWidth: "80%"
18298
+ }
18299
+ },
18300
+ colors: ["#FFB04F", "#78B6E2", "#F08281", "#40D2CC"],
18301
+ stroke: {
18302
+ lineCap: "round"
18303
+ },
18304
+ labels: (data === null || data === void 0 ? void 0 : data.map(function (i) {
18305
+ return i.questionText;
18306
+ })) || [],
18307
+ xaxis: {
18308
+ categories: categories
18309
+ },
18310
+ fill: {
18311
+ opacity: 1
18312
+ },
18313
+ legend: {
18314
+ position: "bottom",
18315
+ show: true,
18316
+ fontSize: "16px",
18317
+ onItemClick: {
18318
+ toggleDataSeries: true
18319
+ },
18320
+ onItemHover: {
18321
+ highlightDataSeries: false
18322
+ }
18323
+ }
18324
+ };
18325
+ return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18326
+ options: options,
18327
+ series: (data === null || data === void 0 ? void 0 : data.map(function (i) {
18328
+ return i.percentQuestion.toFixed(2);
18329
+ })) || [],
18330
+ type: "radialBar",
18331
+ height: 350
18332
+ }));
18333
+ };
18334
+
17843
18335
  var Loading = function Loading() {
17844
18336
  return React__default.createElement("div", {
17845
18337
  className: "d-flex align-items-center justify-content-center"
@@ -17861,355 +18353,666 @@ var Loading = function Loading() {
17861
18353
  }, "Loading...")));
17862
18354
  };
17863
18355
 
17864
- 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)"];
17865
-
17866
- var getColors = function getColors(length) {
17867
- if (colors.length >= length) return colors;
17868
- var newColors = [].concat(colors);
17869
-
17870
- while (newColors.length < length) {
17871
- newColors = [].concat(newColors, colors);
17872
- }
18356
+ var colors = ["#40D2CC", "#1D74C5", "#78B6E2", "#FFC783", "#0D9994"];
17873
18357
 
17874
- return newColors;
17875
- };
18358
+ var TopLearningStrategy = function TopLearningStrategy(_ref) {
18359
+ var _data$learningStrateg, _data$learningStrateg2;
17876
18360
 
17877
- var HighImpact = function HighImpact(_ref) {
17878
18361
  var data = _ref.data;
17879
- var colors = React.useMemo(function () {
17880
- var _Object$keys;
17881
-
17882
- if (!data) return [];
17883
- return getColors(((_Object$keys = Object.keys(data)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length) || 0);
17884
- }, [data]);
17885
- var ratings = React.useMemo(function () {
17886
- if (!data) return [];
17887
- return Object.values(data);
17888
- }, [data]);
17889
- var learningStrategies = React.useMemo(function () {
17890
- if (!data) return [];
17891
-
17892
- try {
17893
- var results = Object.keys(data).map(function (key, index) {
17894
- return {
17895
- name: key,
17896
- color: colors[index]
17897
- };
17898
- });
17899
- return results;
17900
- } catch (_unused) {
17901
- return [];
17902
- }
17903
- }, [data]);
17904
18362
  if (!data) return React__default.createElement(Loading, null);
17905
- var series = [{
17906
- name: "",
17907
- data: ratings
17908
- }];
17909
18363
  var options = {
17910
18364
  chart: {
17911
- height: 350,
17912
- type: "bar",
17913
- toolbar: {
17914
- show: false
17915
- }
17916
- },
17917
- colors: colors,
17918
- plotOptions: {
17919
- bar: {
17920
- columnWidth: "45%",
17921
- distributed: true
17922
- }
17923
- },
17924
- dataLabels: {
17925
- enabled: false
17926
- },
17927
- legend: {
17928
- show: false
17929
- },
17930
- xaxis: {
17931
- categories: learningStrategies.map(function (item) {
17932
- return item.name.substring(0, 15) + "...";
17933
- })
18365
+ width: 350,
18366
+ type: "pie"
17934
18367
  },
17935
- yaxis: {
17936
- labels: {
17937
- formatter: function formatter(val) {
17938
- return "" + val.toFixed(0);
17939
- }
18368
+ noData: {
18369
+ text: "NO DATA",
18370
+ align: "center",
18371
+ verticalAlign: "middle",
18372
+ offsetX: 0,
18373
+ offsetY: 0,
18374
+ style: {
18375
+ color: undefined,
18376
+ fontSize: "14px",
18377
+ fontFamily: undefined
17940
18378
  }
18379
+ },
18380
+ labels: (data === null || data === void 0 ? void 0 : (_data$learningStrateg = data.learningStrategies) === null || _data$learningStrateg === void 0 ? void 0 : _data$learningStrateg.map(function (i) {
18381
+ return i.learningStrategyName;
18382
+ })) || [],
18383
+ colors: colors,
18384
+ legend: {
18385
+ show: true,
18386
+ position: "bottom"
17941
18387
  }
17942
18388
  };
17943
- return React__default.createElement("div", null, React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18389
+ return React__default.createElement("div", {
18390
+ className: "d-flex h-100"
18391
+ }, React__default.createElement("div", {
18392
+ className: "d-flex align-items-end"
18393
+ }, React__default.createElement(ReactApexChart, {
17944
18394
  options: options,
17945
- series: series,
17946
- type: "bar",
18395
+ series: (data === null || data === void 0 ? void 0 : (_data$learningStrateg2 = data.learningStrategies) === null || _data$learningStrateg2 === void 0 ? void 0 : _data$learningStrateg2.map(function (i) {
18396
+ return i.usageCount;
18397
+ })) || [],
18398
+ type: "pie",
17947
18399
  height: 350
17948
- })), React__default.createElement("div", {
17949
- className: "d-flex flex-wrap"
17950
- }, learningStrategies.map(function (item) {
17951
- return React__default.createElement("div", {
17952
- key: item.name,
17953
- className: "d-flex align-items-center mb-2 mr-3"
17954
- }, React__default.createElement("span", {
17955
- className: "plain-color-square mr-2",
17956
- style: {
17957
- backgroundColor: item.color
17958
- }
17959
- }), React__default.createElement("span", null, item.name));
17960
18400
  })));
17961
18401
  };
17962
18402
 
17963
- var colors$1 = ["#1abc9c", "#c0392b"];
17964
-
17965
- var LoginCouting = function LoginCouting(_ref) {
18403
+ var TotalCard = function TotalCard(_ref) {
18404
+ var icon = _ref.icon,
18405
+ title = _ref.title,
18406
+ value = _ref.value,
18407
+ isUp = _ref.isUp,
18408
+ deviant = _ref.deviant,
18409
+ filter = _ref.filter;
18410
+ return React__default.createElement("div", {
18411
+ className: "border p-3 rounded mr-3 mb-3"
18412
+ }, React__default.createElement("div", {
18413
+ className: "d-flex align-items-center"
18414
+ }, icon, React__default.createElement("p", {
18415
+ className: styles$1["title-card"] + " m-0 mx-2"
18416
+ }, title)), React__default.createElement("div", {
18417
+ className: "d-flex align-items-center justify-content-center mt-3"
18418
+ }, React__default.createElement("p", {
18419
+ className: "" + styles$1["value-card"]
18420
+ }, value), React__default.createElement("div", {
18421
+ className: styles$1["box-filter"] + " mx-2 d-flex align-items-center p-2 rounded"
18422
+ }, isUp ? React__default.createElement(ai.AiOutlineArrowUp, {
18423
+ className: styles$1["size-arrow"] + " " + styles$1["color-up"]
18424
+ }) : React__default.createElement(ai.AiOutlineArrowDown, {
18425
+ className: styles$1["size-arrow"] + " " + styles$1["color-down"]
18426
+ }), React__default.createElement("div", null, React__default.createElement("p", {
18427
+ className: styles$1[isUp ? "color-up" : "color-down"] + " " + styles$1["deviant-card"] + " m-0 h6"
18428
+ }, deviant), React__default.createElement("p", {
18429
+ className: styles$1["filter-card"] + " my-0"
18430
+ }, filter)))));
18431
+ };
18432
+
18433
+ var CustomBarChart = function CustomBarChart(_ref) {
17966
18434
  var data = _ref.data;
17967
- if (!data) return React__default.createElement(Loading, null);
17968
- var categories = data.map(function (item) {
17969
- return format(new Date(item.date), marioCore.DATE_FORMAT);
17970
- });
17971
- var teacherCount = data.map(function (item) {
17972
- return item.teacherLoginCount;
17973
- });
17974
- var studentCount = data.map(function (item) {
17975
- return item.studentLoginCount;
17976
- });
17977
- var series = [{
17978
- name: "Teacher",
17979
- data: teacherCount,
17980
- color: colors$1[0]
17981
- }, {
17982
- name: "Student",
17983
- data: studentCount,
17984
- color: colors$1[1]
17985
- }];
17986
- var options = {
18435
+
18436
+ var _useState = React.useState(600),
18437
+ widthChartOne = _useState[0],
18438
+ setWidthChart = _useState[1];
18439
+
18440
+ var _useState2 = React.useState(400),
18441
+ heightChartOne = _useState2[0],
18442
+ setHeightChart = _useState2[1];
18443
+
18444
+ var wellbeing = [];
18445
+ var growth = [];
18446
+ var relations = [];
18447
+ var productiviy = [];
18448
+ var academic = [];
18449
+ var selfEfficacy = [];
18450
+ var focus = [];
18451
+ var energy = [];
18452
+ var hapiness = [];
18453
+ var mood = [];
18454
+ var learningProgress = [];
18455
+ var chatMonth = [];
18456
+
18457
+ var _useState3 = React.useState({
17987
18458
  chart: {
17988
- height: 350,
17989
- type: "area",
18459
+ type: "line",
17990
18460
  toolbar: {
17991
18461
  show: false
18462
+ },
18463
+ height: heightChartOne,
18464
+ zoom: {
18465
+ enabled: false
17992
18466
  }
17993
18467
  },
17994
- stroke: {
17995
- width: 2,
17996
- curve: "straight"
18468
+ dataLabels: {
18469
+ enabled: false
17997
18470
  },
17998
- markers: {
17999
- size: 4,
18000
- colors: ["#fff"],
18001
- strokeColors: colors$1,
18002
- strokeWidth: 2,
18003
- strokeOpacity: 0.9,
18004
- strokeDashArray: 0,
18005
- fillOpacity: 1,
18006
- shape: "circle",
18007
- radius: 2,
18008
- offsetX: 0,
18009
- offsetY: 0,
18010
- onClick: undefined,
18011
- onDblClick: undefined,
18012
- showNullDataPoints: true,
18013
- hover: {
18014
- size: undefined,
18015
- sizeOffset: 3
18471
+ legend: {
18472
+ position: "top",
18473
+ horizontalAlign: "center",
18474
+ width: 3 * widthChartOne / 5,
18475
+ offsetX: 170,
18476
+ markers: {
18477
+ width: 12,
18478
+ radius: 0
18016
18479
  }
18017
18480
  },
18018
- legend: {
18019
- show: false
18481
+ stroke: {
18482
+ width: 2
18483
+ },
18484
+ markers: {
18485
+ size: 5
18020
18486
  },
18487
+ colors: ["#082FA2", "#1A55AE", "#3C65E0", "#6D88E8", "#1E80B9", "#1C77AC", "#4992BD", "#77ADCD", "#3DCBCB", "#1DBAB4", "#61CBCB"],
18021
18488
  xaxis: {
18022
- categories: categories
18489
+ categories: chatMonth
18490
+ },
18491
+ yaxis: {
18492
+ title: {
18493
+ text: "High",
18494
+ rotate: 0,
18495
+ offsetX: -20,
18496
+ offsetY: -265
18497
+ },
18498
+ labels: {
18499
+ offsetX: 10,
18500
+ show: false
18501
+ }
18502
+ }
18503
+ }),
18504
+ optionsOne = _useState3[0],
18505
+ setOptions = _useState3[1];
18506
+
18507
+ var _useState4 = React.useState([{
18508
+ name: "Wellbeing",
18509
+ data: [0]
18510
+ }, {
18511
+ name: "Growth",
18512
+ data: [0]
18513
+ }, {
18514
+ name: "Relations",
18515
+ data: [0]
18516
+ }, {
18517
+ name: "Productivity",
18518
+ data: [0]
18519
+ }, {
18520
+ name: "Academic",
18521
+ data: [0]
18522
+ }, {
18523
+ name: "Self-Efficacy",
18524
+ data: [0]
18525
+ }, {
18526
+ name: "Focus",
18527
+ data: [0]
18528
+ }, {
18529
+ name: "Energy",
18530
+ data: [0]
18531
+ }, {
18532
+ name: "Hapiness",
18533
+ data: [0]
18534
+ }, {
18535
+ name: "Mood",
18536
+ data: [0]
18537
+ }, {
18538
+ name: "Learning Progress",
18539
+ data: [0]
18540
+ }]),
18541
+ series = _useState4[0],
18542
+ setSeries = _useState4[1];
18543
+
18544
+ var screenWidthMe = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
18545
+ React.useEffect(function () {
18546
+ if (screenWidthMe > 1400) {
18547
+ setWidthChart(932);
18548
+ setHeightChart(680);
18549
+ }
18550
+ }, []);
18551
+
18552
+ var getData = function getData() {
18553
+ try {
18554
+ !!data && data.overviewQuestionChoice.map(function (element) {
18555
+ chatMonth.push(element.month);
18556
+ element.resultQuestion.map(function (data, index) {
18557
+ if (data.questionText == "") {
18558
+ mood.push(null);
18559
+ learningProgress.push(null);
18560
+ wellbeing.push(null);
18561
+ growth.push(null);
18562
+ academic.push(null);
18563
+ selfEfficacy.push(null);
18564
+ energy.push(null);
18565
+ focus.push(null), hapiness.push(null);
18566
+ relations.push(null);
18567
+ productiviy.push(null);
18568
+ return;
18569
+ } else {
18570
+ var result = data.avgOfStudentChoice.toFixed(2);
18571
+
18572
+ if (index == 0) {
18573
+ wellbeing.push(result);
18574
+ mood.push(0);
18575
+ learningProgress.push(0);
18576
+ } else if (index == 1) {
18577
+ growth.push(result);
18578
+ } else if (index == 2) {
18579
+ relations.push(result);
18580
+ } else if (index == 3) {
18581
+ productiviy.push(result);
18582
+ } else if (index == 4) {
18583
+ academic.push(result);
18584
+ } else if (index == 5) {
18585
+ selfEfficacy.push(result);
18586
+ } else if (index == 6) {
18587
+ energy.push(result);
18588
+ } else if (index == 7) {
18589
+ focus.push(result);
18590
+ } else if (index == 8) {
18591
+ hapiness.push(result);
18592
+ }
18593
+ }
18594
+ });
18595
+ });
18596
+ setOptions({
18597
+ chart: {
18598
+ type: "line",
18599
+ toolbar: {
18600
+ show: false
18601
+ },
18602
+ height: heightChartOne,
18603
+ zoom: {
18604
+ enabled: false
18605
+ }
18606
+ },
18607
+ dataLabels: {
18608
+ enabled: false
18609
+ },
18610
+ legend: {
18611
+ position: "top",
18612
+ horizontalAlign: "center",
18613
+ width: 4 * widthChartOne / 5,
18614
+ offsetX: 100,
18615
+ markers: {
18616
+ width: 12,
18617
+ radius: 0
18618
+ }
18619
+ },
18620
+ markers: {
18621
+ size: 5
18622
+ },
18623
+ colors: ["#082FA2", "#1A55AE", "#3C65E0", "#6D88E8", "#1E80B9", "#1C77AC", "#4992BD", "#77ADCD", "#3DCBCB", "#1DBAB4", "#61CBCB"],
18624
+ xaxis: {
18625
+ categories: chatMonth
18626
+ },
18627
+ yaxis: {
18628
+ labels: {
18629
+ offsetX: 0,
18630
+ show: false
18631
+ }
18632
+ }
18633
+ });
18634
+ setSeries([{
18635
+ name: "Wellbeing",
18636
+ data: wellbeing
18637
+ }, {
18638
+ name: "Growth",
18639
+ data: growth
18640
+ }, {
18641
+ name: "Relations",
18642
+ data: relations
18643
+ }, {
18644
+ name: "Productivity",
18645
+ data: productiviy
18646
+ }, {
18647
+ name: "Academic",
18648
+ data: academic
18649
+ }, {
18650
+ name: "Self-Efficacy",
18651
+ data: selfEfficacy
18652
+ }, {
18653
+ name: "Focus",
18654
+ data: focus
18655
+ }, {
18656
+ name: "Energy",
18657
+ data: energy
18658
+ }, {
18659
+ name: "Hapiness",
18660
+ data: hapiness
18661
+ }, {
18662
+ name: "Mood",
18663
+ data: mood
18664
+ }, {
18665
+ name: "Learning Progress",
18666
+ data: learningProgress
18667
+ }]);
18668
+ return Promise.resolve();
18669
+ } catch (e) {
18670
+ return Promise.reject(e);
18023
18671
  }
18024
18672
  };
18673
+
18674
+ React.useEffect(function () {
18675
+ getData();
18676
+ }, [data]);
18677
+ var optionOneToOne = optionsOne;
18025
18678
  return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18026
- options: options,
18679
+ options: optionOneToOne,
18027
18680
  series: series,
18028
18681
  type: "line",
18682
+ width: "100%",
18029
18683
  height: 350
18030
18684
  }));
18031
18685
  };
18032
18686
 
18033
- var colors$2 = ["#00cec9", "#00b894"];
18034
-
18035
- var PerceivedImpact = function PerceivedImpact(_ref) {
18687
+ var StudentByGrade = function StudentByGrade(_ref) {
18036
18688
  var data = _ref.data;
18037
- if (!data) return React__default.createElement(Loading, null);
18038
- var series = [{
18039
- name: "Student",
18040
- data: data.map(function (item) {
18041
- return item.studentRating;
18042
- })
18043
- }];
18044
- var categories = data.map(function (item) {
18045
- return item.learningStrategyName.substring(0, 15) + "...";
18046
- });
18047
18689
  var options = {
18048
18690
  chart: {
18049
- type: "bar",
18050
- height: 350,
18051
- toolbar: {
18052
- show: false
18053
- }
18691
+ height: 350
18054
18692
  },
18055
- colors: colors$2,
18056
18693
  plotOptions: {
18057
18694
  bar: {
18058
- horizontal: false,
18059
- columnWidth: "55%"
18695
+ borderRadius: 4,
18696
+ horizontal: true
18060
18697
  }
18061
18698
  },
18062
18699
  dataLabels: {
18063
18700
  enabled: false
18064
- },
18065
- stroke: {
18066
- show: true,
18067
- width: 2,
18068
- colors: ["transparent"]
18069
- },
18070
- xaxis: {
18071
- categories: categories
18072
- },
18073
- fill: {
18074
- opacity: 1
18075
- },
18076
- legend: {
18077
- onItemClick: {
18078
- toggleDataSeries: false
18079
- },
18080
- onItemHover: {
18081
- highlightDataSeries: false
18082
- }
18083
18701
  }
18084
18702
  };
18703
+ var series = [{
18704
+ data: (data === null || data === void 0 ? void 0 : data.map(function (i) {
18705
+ return i.quantity;
18706
+ })) || []
18707
+ }];
18085
18708
  return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18086
18709
  options: options,
18087
18710
  series: series,
18088
18711
  type: "bar",
18712
+ width: "100%",
18089
18713
  height: 350
18090
18714
  }));
18091
18715
  };
18092
18716
 
18093
- var colors$3 = ["#00b894", "#00cec9", "#0984e3"];
18094
-
18095
- var Quantity = function Quantity(_ref) {
18096
- var data = _ref.data;
18097
- if (!data) return React__default.createElement(Loading, null);
18098
- var teacherPercentage = data.teacherPercentage,
18099
- studentPercentage = data.studentPercentage,
18100
- assistantPercentage = data.assistantPercentage,
18101
- numberOfTeachers = data.numberOfTeachers,
18102
- numberOfStudents = data.numberOfStudents,
18103
- numberOfAssistants = data.numberOfAssistants;
18104
- var series = [teacherPercentage, studentPercentage, assistantPercentage].map(function (number) {
18105
- return Number(number.toFixed(2));
18106
- });
18717
+ var StudentByGender = function StudentByGender() {
18718
+ var series = [45, 55];
18107
18719
  var options = {
18108
- chart: {
18109
- width: 380,
18110
- type: "pie"
18111
- },
18112
- labels: ["Teachers", "Students", "Assistants"],
18113
- colors: colors$3,
18720
+ labels: ["Female", "Male"],
18721
+ colors: ["#A4D1F0", "#40D2CC"],
18114
18722
  legend: {
18115
18723
  show: false
18116
- },
18117
- responsive: [{
18118
- breakpoint: 480,
18119
- options: {
18120
- chart: {
18121
- width: 200
18122
- }
18123
- }
18124
- }]
18724
+ }
18125
18725
  };
18126
- var details = [{
18127
- label: "Teachers",
18128
- color: colors$3[0],
18129
- value: numberOfTeachers
18130
- }, {
18131
- label: "Students",
18132
- color: colors$3[1],
18133
- value: numberOfStudents
18134
- }, {
18135
- label: "Assistants",
18136
- color: colors$3[2],
18137
- value: numberOfAssistants
18138
- }];
18139
18726
  return React__default.createElement("div", {
18140
18727
  className: "d-flex h-100"
18141
18728
  }, React__default.createElement("div", {
18142
- className: "d-flex justify-content-center align-items-end flex-grow-1"
18143
- }, React__default.createElement("div", {
18144
- className: styles$1["quantity-table"]
18145
- }, React__default.createElement(reactstrap.Table, {
18146
- responsive: true,
18147
- hover: true,
18148
- bordered: true,
18149
- size: "sm"
18150
- }, React__default.createElement("tbody", null, details.map(function (item) {
18151
- return React__default.createElement("tr", {
18152
- key: item.label
18153
- }, React__default.createElement("td", null, item.label), React__default.createElement("td", {
18154
- className: "text-center"
18155
- }, React__default.createElement("div", {
18156
- className: "custom-checkbox-square",
18157
- style: {
18158
- backgroundColor: item.color
18159
- }
18160
- })), React__default.createElement("td", null, item.value));
18161
- }))), React__default.createElement("p", null, "The number of user for each role"))), React__default.createElement("div", {
18162
18729
  className: "d-flex align-items-end"
18163
18730
  }, React__default.createElement(ReactApexChart, {
18164
18731
  options: options,
18165
18732
  series: series,
18166
18733
  type: "pie",
18167
- width: 380
18734
+ height: 350,
18735
+ width: "100%"
18168
18736
  })));
18169
18737
  };
18170
18738
 
18739
+ var StudentWithSpecialNeeds = function StudentWithSpecialNeeds() {
18740
+ var options = {
18741
+ colors: ["#CEF7F5", "#0D9994", "#1CB7B1", "#40D2CC", "#80E7E2"],
18742
+ legend: {
18743
+ show: false
18744
+ }
18745
+ };
18746
+ var series = [44, 55, 41, 17, 15];
18747
+ return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18748
+ options: options,
18749
+ series: series,
18750
+ type: "donut",
18751
+ width: "100%",
18752
+ height: 350
18753
+ }));
18754
+ };
18755
+
18756
+ var StudentByAge = function StudentByAge() {
18757
+ var options = {
18758
+ chart: {
18759
+ height: 350
18760
+ },
18761
+ plotOptions: {
18762
+ bar: {
18763
+ columnWidth: "45%",
18764
+ distributed: true
18765
+ }
18766
+ },
18767
+ dataLabels: {
18768
+ enabled: false
18769
+ },
18770
+ legend: {
18771
+ show: false
18772
+ },
18773
+ noData: {
18774
+ text: "NO DATA",
18775
+ offsetX: 0,
18776
+ offsetY: 0
18777
+ }
18778
+ };
18779
+ var series = [{
18780
+ data: []
18781
+ }];
18782
+ return React__default.createElement("div", null, React__default.createElement(ReactApexChart, {
18783
+ options: options,
18784
+ series: series,
18785
+ type: "bar",
18786
+ width: "100%",
18787
+ height: 350
18788
+ }));
18789
+ };
18790
+
18171
18791
  var Dashboard = function Dashboard() {
18172
18792
  var _useDashboard = useDashboard(),
18173
- loginCounting = _useDashboard.loginCounting,
18174
- quantity = _useDashboard.quantity,
18175
- highImpact = _useDashboard.highImpact,
18176
- perceivedImpact = _useDashboard.perceivedImpact;
18793
+ listTotalTime = _useDashboard.listTotalTime,
18794
+ readinessToLearning = _useDashboard.readinessToLearning,
18795
+ topLearningStrategies = _useDashboard.topLearningStrategies,
18796
+ setFilter = _useDashboard.setFilter,
18797
+ filter = _useDashboard.filter,
18798
+ studentByGrade = _useDashboard.studentByGrade,
18799
+ chartOneToOneData = _useDashboard.chartOneToOneData,
18800
+ chartClassReflection = _useDashboard.chartClassReflection,
18801
+ chartConference = _useDashboard.chartConference,
18802
+ learningProgress = _useDashboard.learningProgress;
18177
18803
 
18804
+ var user = reactRedux.useSelector(function (state) {
18805
+ return state.common.user;
18806
+ });
18178
18807
  var cards = [{
18179
- label: "High-impact learning strategies of current school year",
18180
- children: React__default.createElement(HighImpact, {
18181
- data: highImpact
18808
+ label: "Top learning strategies",
18809
+ children: React__default.createElement(TopLearningStrategy, {
18810
+ data: topLearningStrategies
18182
18811
  })
18183
18812
  }, {
18184
- label: "Learning strategies perceived impact",
18185
- children: React__default.createElement(PerceivedImpact, {
18186
- data: perceivedImpact
18813
+ label: "Readiness to learn",
18814
+ children: React__default.createElement(ReadinessToLearn, {
18815
+ data: readinessToLearning
18816
+ })
18817
+ }];
18818
+ var listChartLeft = [{
18819
+ label: "1-to-1",
18820
+ children: React__default.createElement(CustomBarChart, {
18821
+ data: chartOneToOneData
18822
+ })
18823
+ }, {
18824
+ label: "Class Reflection",
18825
+ children: React__default.createElement(CustomBarChart, {
18826
+ data: chartClassReflection
18187
18827
  })
18188
18828
  }, {
18189
- label: "Students & teachers logins per day",
18190
- children: React__default.createElement(LoginCouting, {
18191
- data: loginCounting
18829
+ label: "Conferences",
18830
+ children: React__default.createElement(CustomBarChart, {
18831
+ data: chartConference
18192
18832
  })
18193
18833
  }, {
18194
- label: "Number of students, teachers, assistants",
18195
- children: React__default.createElement(Quantity, {
18196
- data: quantity
18834
+ label: "Learning Progress",
18835
+ children: React__default.createElement(CustomBarChart, {
18836
+ data: learningProgress
18837
+ })
18838
+ }];
18839
+ var listChartRight = [{
18840
+ label: "Students by Gender",
18841
+ children: React__default.createElement(StudentByGender, null)
18842
+ }, {
18843
+ label: "Students with Special Needs",
18844
+ children: React__default.createElement(StudentWithSpecialNeeds, null)
18845
+ }, {
18846
+ label: "Students by Grade",
18847
+ children: React__default.createElement(StudentByGrade, {
18848
+ data: studentByGrade
18197
18849
  })
18850
+ }, {
18851
+ label: "Safety",
18852
+ children: React__default.createElement(StudentByAge, null)
18853
+ }];
18854
+ var totalCardData = [{
18855
+ icon: React__default.createElement(bi.BiMessageRoundedDetail, {
18856
+ className: styles$1["size-icon"]
18857
+ }),
18858
+ title: "Total 1-to-1",
18859
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.totalOneToOne,
18860
+ isUp: true,
18861
+ deviant: "2",
18862
+ filter: "this week"
18863
+ }, {
18864
+ icon: React__default.createElement(io.IoMdStopwatch, {
18865
+ className: styles$1["size-icon"]
18866
+ }),
18867
+ title: "Total time 1-to-1",
18868
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.totalTimeOneToOne,
18869
+ isUp: true,
18870
+ deviant: "17 min",
18871
+ filter: "this week"
18872
+ }, {
18873
+ icon: React__default.createElement(bi.BiMessageRoundedDetail, {
18874
+ className: styles$1["size-icon"]
18875
+ }),
18876
+ title: "Total conferences",
18877
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.totalConference,
18878
+ isUp: false,
18879
+ deviant: "-4",
18880
+ filter: "this week"
18881
+ }, {
18882
+ icon: React__default.createElement(md.MdScreenShare, {
18883
+ className: styles$1["size-icon"]
18884
+ }),
18885
+ title: "Total time conferences",
18886
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.totalTimeConference,
18887
+ isUp: true,
18888
+ deviant: "8 min",
18889
+ filter: "this week"
18890
+ }, {
18891
+ icon: React__default.createElement(ai.AiOutlineFileDone, {
18892
+ className: styles$1["size-icon"]
18893
+ }),
18894
+ title: "AVS checkin class reflections",
18895
+ value: listTotalTime === null || listTotalTime === void 0 ? void 0 : listTotalTime.avgClassReflection,
18896
+ isUp: false,
18897
+ deviant: "-15%",
18898
+ filter: "this week"
18198
18899
  }];
18199
- return React__default.createElement("div", null, React__default.createElement("h4", {
18200
- className: "mb-5"
18201
- }, "DASHBOARD"), React__default.createElement(reactstrap.Row, {
18900
+
18901
+ var handleChangeStartTime = function handleChangeStartTime(date) {
18902
+ setFilter(_extends({}, filter, {
18903
+ startDate: new Date(date).getTime()
18904
+ }));
18905
+ };
18906
+
18907
+ var handleChangeEndTime = function handleChangeEndTime(date) {
18908
+ setFilter(_extends({}, filter, {
18909
+ endDate: new Date(date).getTime()
18910
+ }));
18911
+ };
18912
+
18913
+ var handleChangeStudentIds = function handleChangeStudentIds(students) {
18914
+ var listStudentId = students.length > 0 && students.map(function (i) {
18915
+ return i.studentId;
18916
+ }) || [];
18917
+ setFilter(_extends({}, filter, {
18918
+ studentIds: listStudentId
18919
+ }));
18920
+ };
18921
+
18922
+ var handleFormatDate = function handleFormatDate(date) {
18923
+ var dateTime = new Date(date).toISOString().slice(0, 10);
18924
+ return dateTime;
18925
+ };
18926
+
18927
+ return React__default.createElement("div", {
18928
+ className: "" + styles$1["block-dashboard"]
18929
+ }, React__default.createElement("div", {
18930
+ className: "d-flex align-items-center justify-content-between"
18931
+ }, React__default.createElement("h4", null, "Hey ", user.lastName), React__default.createElement("div", {
18932
+ className: "text-center"
18933
+ }, React__default.createElement("button", {
18934
+ id: "toggler",
18935
+ onClick: function noRefCheck() {},
18936
+ className: styles$1["btn-filter"] + " d-flex align-items-center cursor-pointer"
18937
+ }, React__default.createElement(fi.FiFilter, {
18938
+ className: "" + styles$1["color-filter"]
18939
+ }), React__default.createElement("p", {
18940
+ className: styles$1["color-filter"] + " my-0 mx-2"
18941
+ }, "Filter")))), React__default.createElement("div", {
18942
+ className: "d-flex justify-content-end py-4"
18943
+ }, React__default.createElement(reactstrap.UncontrolledCollapse, {
18944
+ toggler: "#toggler",
18945
+ className: "" + styles$1["block-collapse"]
18946
+ }, React__default.createElement("div", {
18947
+ className: "" + styles$1["bock-filter-left"]
18948
+ }, React__default.createElement("input", {
18949
+ type: "date",
18950
+ className: "" + styles$1["form-date-picker"],
18951
+ onChange: function onChange(e) {
18952
+ return handleChangeStartTime(e.target.value);
18953
+ },
18954
+ value: handleFormatDate(filter.startDate)
18955
+ }), React__default.createElement("input", {
18956
+ type: "date",
18957
+ className: "" + styles$1["form-date-picker"],
18958
+ onChange: function onChange(e) {
18959
+ return handleChangeEndTime(e.target.value);
18960
+ },
18961
+ value: handleFormatDate(filter.endDate)
18962
+ })), React__default.createElement("div", {
18963
+ className: "" + styles$1["bock-filter-right"]
18964
+ }, React__default.createElement(StudentSelector, {
18965
+ onChange: function onChange(e) {
18966
+ handleChangeStudentIds(e);
18967
+ }
18968
+ })))), React__default.createElement("div", {
18969
+ className: "d-flex align-items-center flex-wrap py-2"
18970
+ }, totalCardData.map(function (item) {
18971
+ return React__default.createElement(TotalCard, {
18972
+ icon: item.icon,
18973
+ title: item.title,
18974
+ value: item.value,
18975
+ isUp: item.isUp,
18976
+ deviant: item.deviant,
18977
+ filter: item.filter
18978
+ });
18979
+ })), React__default.createElement(reactstrap.Row, {
18202
18980
  className: "mb-2"
18203
18981
  }, cards.map(function (card) {
18204
18982
  return React__default.createElement(reactstrap.Col, {
18205
18983
  key: card.label,
18984
+ xs: 12,
18206
18985
  md: 6,
18207
18986
  className: "mb-4"
18208
18987
  }, React__default.createElement(DashboardCard, {
18209
18988
  label: card.label,
18210
18989
  children: card.children
18211
18990
  }));
18212
- })));
18991
+ })), React__default.createElement(reactstrap.Row, {
18992
+ className: "my-2"
18993
+ }, React__default.createElement(reactstrap.Col, {
18994
+ xs: 12,
18995
+ xl: 7
18996
+ }, listChartLeft.map(function (i) {
18997
+ return React__default.createElement(reactstrap.Col, {
18998
+ key: i.label,
18999
+ className: "mb-4"
19000
+ }, React__default.createElement(DashboardCard, {
19001
+ label: i.label,
19002
+ children: i.children
19003
+ }));
19004
+ })), React__default.createElement(reactstrap.Col, {
19005
+ xs: 12,
19006
+ xl: 5
19007
+ }, listChartRight.map(function (i) {
19008
+ return React__default.createElement(reactstrap.Col, {
19009
+ key: i.label,
19010
+ className: "mb-4"
19011
+ }, React__default.createElement(DashboardCard, {
19012
+ label: i.label,
19013
+ children: i.children
19014
+ }));
19015
+ }))));
18213
19016
  };
18214
19017
 
18215
19018
  core.LicenseManager.setLicenseKey(marioCore.LICENSE_AGGRID);