mario-education 2.4.126-admin → 2.4.127-admin

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 (53) hide show
  1. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/configs/types.d.ts +5 -8
  2. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/components/AreaChart.d.ts +10 -0
  3. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/components/BarAndAreaChart.d.ts +9 -0
  4. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/components/BarChart.d.ts +11 -0
  5. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/components/ChartViewDashboard.d.ts +20 -0
  6. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/components/CheckboxCustom.d.ts +12 -0
  7. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/components/ChoiceChartType.d.ts +10 -0
  8. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/components/DashboardCard.d.ts +7 -0
  9. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/components/HeaderChart/HeaderChart.d.ts +16 -0
  10. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/components/HeaderChart/PlusButton.d.ts +6 -0
  11. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/components/Loading.d.ts +3 -0
  12. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/components/PieChart.d.ts +9 -0
  13. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/components/StudentByGrade.d.ts +7 -0
  14. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/components/TopMostSurveyUsed.d.ts +7 -0
  15. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/components/TotalCard.d.ts +4 -0
  16. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/configs/chartOptions.d.ts +6 -0
  17. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/configs/constants.d.ts +60 -0
  18. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/configs/overviewFn.d.ts +17 -0
  19. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/configs/types.d.ts +274 -0
  20. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/configs/utils.d.ts +129 -0
  21. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/hooks/useBehavior.d.ts +7 -0
  22. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/hooks/useChartDatas.d.ts +38 -0
  23. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/hooks/useContainerDimensions.d.ts +4 -0
  24. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/hooks/useDashboard.d.ts +29 -0
  25. package/dist/MarioFramework.Education/ClientApp/src/containers/SurveyDashboard/views/SurveyDashboard.d.ts +3 -0
  26. package/dist/MarioFramework.Education/ClientApp/src/index.d.ts +2 -1
  27. package/dist/MarioFramework.Education/ClientApp/src/services/dashboardService.d.ts +4 -0
  28. package/dist/MarioFramework.Education/ClientApp/src/utils/constants.d.ts +2 -1
  29. package/dist/MarioFramework.Education/ClientApp/src/utils/type.d.ts +1 -0
  30. package/dist/index.css +822 -1
  31. package/dist/index.js +1642 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/index.modern.js +1642 -2
  34. package/dist/index.modern.js.map +1 -1
  35. package/package.json +2 -2
  36. package/dist/MarioFramework.Education/ClientApp/src/containers/Dashboard/components/ReadinessToLearn.d.ts +0 -7
  37. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchCounselor/hooks/useSwitchAssistant.d.ts +0 -18
  38. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchSecondaryTeacher/components/SwitchCounselorModal.d.ts +0 -4
  39. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchSecondaryTeacher/hooks/useSwitchCounselor.d.ts +0 -18
  40. package/dist/MarioFramework.Education/ClientApp/src/containers/TemplateSystem/apiClient/index.d.ts +0 -9
  41. package/dist/MarioFramework.Education/ClientApp/src/containers/TemplateSystem/components/SelectorTemplate.d.ts +0 -3
  42. package/dist/MarioFramework.Education/ClientApp/src/containers/TemplateSystem/components/TemplateDialogModal.d.ts +0 -3
  43. package/dist/MarioFramework.Education/ClientApp/src/containers/TemplateSystem/configs/types.d.ts +0 -12
  44. package/dist/MarioFramework.Education/ClientApp/src/containers/TemplateSystem/hooks/useTemplateBuilder.d.ts +0 -12
  45. package/dist/MarioFramework.Education/ClientApp/src/containers/TemplateSystem/hooks/useTemplateDetail.d.ts +0 -20
  46. package/dist/MarioFramework.Education/ClientApp/src/containers/TemplateSystem/hooks/useTemplateList.d.ts +0 -9
  47. package/dist/MarioFramework.Education/ClientApp/src/containers/TemplateSystem/hooks/useTemplateStart.d.ts +0 -9
  48. package/dist/MarioFramework.Education/ClientApp/src/containers/TemplateSystem/views/TemplateBuilderPage.d.ts +0 -3
  49. package/dist/MarioFramework.Education/ClientApp/src/containers/TemplateSystem/views/TemplateContainer.d.ts +0 -3
  50. package/dist/MarioFramework.Education/ClientApp/src/containers/TemplateSystem/views/TemplateIEPList.d.ts +0 -3
  51. package/dist/MarioFramework.Education/ClientApp/src/containers/TemplateSystem/views/TemplateStartBuild.d.ts +0 -3
  52. package/dist/MarioFramework.Education/ClientApp/src/containers/TemplateSystem/views/TemplateSystemList.d.ts +0 -3
  53. /package/dist/MarioFramework.Education/ClientApp/src/utils/{servicetype.interface.d.ts → serviceType.interface.d.ts} +0 -0
@@ -1209,6 +1209,7 @@ var FILTER_NAME;
1209
1209
  FILTER_NAME["TeacherName"] = "teacher_name";
1210
1210
  FILTER_NAME["StartDate"] = "start_date";
1211
1211
  FILTER_NAME["EndDate"] = "end_date";
1212
+ FILTER_NAME["FavoriteSurvey"] = "favorite_survey";
1212
1213
  })(FILTER_NAME || (FILTER_NAME = {}));
1213
1214
 
1214
1215
  var header$1 = "Conference rubric";
@@ -1708,6 +1709,48 @@ function _objectDestructuringEmpty(obj) {
1708
1709
  if (obj == null) throw new TypeError("Cannot destructure undefined");
1709
1710
  }
1710
1711
 
1712
+ function _unsupportedIterableToArray(o, minLen) {
1713
+ if (!o) return;
1714
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
1715
+ var n = Object.prototype.toString.call(o).slice(8, -1);
1716
+ if (n === "Object" && o.constructor) n = o.constructor.name;
1717
+ if (n === "Map" || n === "Set") return Array.from(o);
1718
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
1719
+ }
1720
+
1721
+ function _arrayLikeToArray(arr, len) {
1722
+ if (len == null || len > arr.length) len = arr.length;
1723
+
1724
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
1725
+
1726
+ return arr2;
1727
+ }
1728
+
1729
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
1730
+ var it;
1731
+
1732
+ if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
1733
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
1734
+ if (it) o = it;
1735
+ var i = 0;
1736
+ return function () {
1737
+ if (i >= o.length) return {
1738
+ done: true
1739
+ };
1740
+ return {
1741
+ done: false,
1742
+ value: o[i++]
1743
+ };
1744
+ };
1745
+ }
1746
+
1747
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1748
+ }
1749
+
1750
+ it = o[Symbol.iterator]();
1751
+ return it.next.bind(it);
1752
+ }
1753
+
1711
1754
  var RubricItemColumnOrder;
1712
1755
 
1713
1756
  (function (RubricItemColumnOrder) {
@@ -29265,6 +29308,26 @@ var getGrades = function getGrades(studentUserId) {
29265
29308
  var getBandScore = function getBandScore() {
29266
29309
  return api.get("" + BAND_SCORE);
29267
29310
  };
29311
+ var getTopMostSurveyUsed = function getTopMostSurveyUsed(filter) {
29312
+ return api.get(REPORT_URL + "/top-most-survey-used", {
29313
+ params: filter
29314
+ });
29315
+ };
29316
+ var getAllTotalSurvey = function getAllTotalSurvey(filter) {
29317
+ return api.get(REPORT_URL + "/dashboard-survey-total", {
29318
+ params: filter
29319
+ });
29320
+ };
29321
+ var getDashboardFlagSurvey = function getDashboardFlagSurvey(filters) {
29322
+ return api.get(REPORT_URL + "/get-dashboard-flag-survey", {
29323
+ params: filters
29324
+ });
29325
+ };
29326
+ var getDashboardTemplateSurvey = function getDashboardTemplateSurvey(filters) {
29327
+ return api.get(REPORT_URL + "/get-dashboard-template-survey", {
29328
+ params: filters
29329
+ });
29330
+ };
29268
29331
 
29269
29332
  var TITLE$y = "Dashboard";
29270
29333
 
@@ -29954,7 +30017,8 @@ var SelectFilter = function SelectFilter(_ref) {
29954
30017
  label: "All"
29955
30018
  },
29956
30019
  grade: -1,
29957
- bandScore: -1
30020
+ bandScore: -1,
30021
+ favoriteSurvey: -1
29958
30022
  }),
29959
30023
  labelBox = _useState2[0],
29960
30024
  setLabelBox = _useState2[1];
@@ -30015,6 +30079,22 @@ var SelectFilter = function SelectFilter(_ref) {
30015
30079
  }
30016
30080
  };
30017
30081
 
30082
+ var onChangeFavoriteSurvey = function onChangeFavoriteSurvey(favoriteSurvey) {
30083
+ setLabelBox(_extends({}, labelBox, {
30084
+ favoriteSurvey: favoriteSurvey.value
30085
+ }));
30086
+
30087
+ if (favoriteSurvey.value == -1) {
30088
+ !!onChangeFilters && onChangeFilters({
30089
+ favoriteSurvey: []
30090
+ });
30091
+ } else {
30092
+ !!onChangeFilters && onChangeFilters({
30093
+ favoriteSurvey: [favoriteSurvey.value]
30094
+ });
30095
+ }
30096
+ };
30097
+
30018
30098
  var onChangeCalendar = function onChangeCalendar(calendar) {
30019
30099
  setLabelBox(_extends({}, labelBox, {
30020
30100
  calendarTime: calendar
@@ -30363,6 +30443,50 @@ var SelectFilter = function SelectFilter(_ref) {
30363
30443
  }))));
30364
30444
  }
30365
30445
 
30446
+ if (name == FILTER_NAME.FavoriteSurvey) {
30447
+ var _option$find3;
30448
+
30449
+ return React.createElement("div", {
30450
+ key: "" + name,
30451
+ className: styles["block-filter-component"] + " ",
30452
+ ref: ref
30453
+ }, React.createElement("button", {
30454
+ onClick: handleToggleCollapse,
30455
+ className: styles["btn-filter"] + " d-flex align-items-center cursor-pointer"
30456
+ }, React.createElement("img", {
30457
+ src: "" + icon,
30458
+ alt: name
30459
+ }), React.createElement("p", {
30460
+ className: styles["color-filter"] + " my-0 mx-2"
30461
+ }, labelBox.favoriteSurvey === -1 ? "" + t(name) : option === null || option === void 0 ? void 0 : (_option$find3 = option.find(function (i) {
30462
+ return i.value === labelBox.favoriteSurvey;
30463
+ })) === null || _option$find3 === void 0 ? void 0 : _option$find3.label), !isOpenCollapse ? React.createElement(FiChevronDown, null) : React.createElement(FiChevronUp, null)), React.createElement("div", {
30464
+ className: styles["select-filter-component"] + " " + (!isOpenCollapse && "" + styles["hidden"])
30465
+ }, React.createElement(Form, {
30466
+ className: styles["box-select"] + " " + styles["box-select-format"]
30467
+ }, option === null || option === void 0 ? void 0 : option.map(function (e) {
30468
+ return React.createElement(FormGroup, {
30469
+ check: true,
30470
+ className: "my-2 px-3",
30471
+ key: "" + e.label
30472
+ }, React.createElement(Input, {
30473
+ id: e.label + "favorite",
30474
+ name: "favorite",
30475
+ value: [e.label],
30476
+ type: "radio",
30477
+ className: "" + styles["radio-btn"],
30478
+ checked: labelBox.favoriteSurvey === e.value,
30479
+ onChange: function onChange() {
30480
+ return onChangeFavoriteSurvey(e);
30481
+ }
30482
+ }), React.createElement(Label, {
30483
+ check: true,
30484
+ "for": e.label + "favorite",
30485
+ className: "" + styles["box-select-label"]
30486
+ }, React.createElement("p", null, e.label)));
30487
+ }))));
30488
+ }
30489
+
30366
30490
  return React.createElement("div", null);
30367
30491
  };
30368
30492
 
@@ -31582,7 +31706,1523 @@ var AdminTraining = function AdminTraining() {
31582
31706
  })));
31583
31707
  };
31584
31708
 
31709
+ var styles$2 = {"dashboard-card":"_3U9cF","quantity-table":"_3lYP4","label-chart":"_EIKHR","size-icon":"_3waCS","block-dashboard":"_2n_zv","size-arrow":"_36sKX","color-down":"_1TjNf","color-up":"_i4rwq","box-filter":"_BlYR7","title-card":"_3fBK1","value-card":"_2w6yc","deviant-card":"_1aq6C","filter-card":"_2lX51","box-skill-item":"_jGO7A","numerical-order":"_2dXys","backoround-top-skill":"_3-8WB","color-filter":"_5QHKk","btn-filter":"_2UyJG","block-collapse":"_1SL-6","form-date-picker":"_pKQ8e","bock-filter-left":"_2eZGm","bock-filter-right":"_dz04Q","form-filter-right":"_OhjkA","form-filter-left":"_-q4tF","bock-filter-wrap":"_nukn6","title-card-box":"_2ysrj","box-item":"_37HdU","image-no-data":"_-jYtE","image-grade":"_2FOHk","chart-data":"_38Xgv","apexcharts-datalabels":"_3m9ET","apexcharts-pie-label":"_3QJAM","image-custom":"_11W3J","image-special-need":"_2-frJ","title-dashboard":"_1_YyD","box-chart":"_xbK6p","block-filter-right":"_11sYZ","shadow-lg":"_rFfwe","chart-header-wrapper":"_zLI7s","devide-component":"_OoZLR","header-chart":"_3mzht","header-left":"_2gXQT","icon-chart":"_3XABq","header-right":"_1FHsv","header-title":"_2JBD5","button-export":"_2OEd7","button-content":"_2nyRe","button-icon":"_31EdD","icon-config":"_TmymT","cursor-pointer":"_3X_ow","btn-show-chart":"_1qdL4","checkbox-chart":"_PghQI","column-chart-percent":"_12jqi","chart-background":"_2rwg5","custom-marker":"_3iwnG","mark-custom":"_rKYWD","item-legend":"_n_lnI","label-legend-custom":"_3hlTa","mark-legend":"_1LGIl","percent":"_1mr1m","listItem":"_E_ciE","item":"_27ojF","student-by-age":"_2KJYt","total-student":"_hEgnv","pie-chart":"_34-k0","options-gender":"_119UL","legend":"_tlvnI","text-lengend":"_2Ehxf","student-by-grade":"_L1RnZ","bubble-chart-custom":"_18zab","x-axis-custom-wrap":"_1NRsG","axis-content":"_1jDpB","legend-wrap":"_93MRp","list-percent":"_3ipHU","percent-item":"_35mGN","chart-custom":"_1769M","chart-buddle":"_ton1p","title-grade":"_2LTMk","title-modal":"_3f2-D","header-desc-modal":"_19k86","form-checkbox":"_2ZpLB","checkbox-content":"_jLDZ4","btn-export":"_2sMK7","title-chart":"_1E7vX","image-logo":"_3Xggx","chart-to-canvas":"_3zQW_","box-chart-title":"_2HMn5","chart-view-dashboard":"_1qtzK","chart-left":"_g4q-z","chart-right":"_9ibzA","block-header-chart":"_1s7DG","item-checkbox":"_5wSJP","check-box":"_1h1ro","legend-pie-custom":"_2MTrM","legend-item":"_2kriq","color-box":"_jOIdn"};
31710
+
31711
+ var LegalGenderType$1;
31712
+
31713
+ (function (LegalGenderType) {
31714
+ LegalGenderType[LegalGenderType["None"] = 0] = "None";
31715
+ LegalGenderType[LegalGenderType["Male"] = 1] = "Male";
31716
+ LegalGenderType[LegalGenderType["Female"] = 2] = "Female";
31717
+ })(LegalGenderType$1 || (LegalGenderType$1 = {}));
31718
+
31719
+ var MtssType$1;
31720
+
31721
+ (function (MtssType) {
31722
+ MtssType[MtssType["Tier1"] = 0] = "Tier1";
31723
+ MtssType[MtssType["Tier2"] = 1] = "Tier2";
31724
+ MtssType[MtssType["Tier3"] = 2] = "Tier3";
31725
+ })(MtssType$1 || (MtssType$1 = {}));
31726
+
31727
+ var FILTER_YEAR$1;
31728
+
31729
+ (function (FILTER_YEAR) {
31730
+ FILTER_YEAR[FILTER_YEAR["THIS_YEAR"] = 0] = "THIS_YEAR";
31731
+ FILTER_YEAR[FILTER_YEAR["LAST_YEAR"] = 1] = "LAST_YEAR";
31732
+ FILTER_YEAR[FILTER_YEAR["LAST_QUARTER"] = 2] = "LAST_QUARTER";
31733
+ FILTER_YEAR[FILTER_YEAR["LAST_MONTH"] = 3] = "LAST_MONTH";
31734
+ FILTER_YEAR[FILTER_YEAR["LAST_DAY"] = 4] = "LAST_DAY";
31735
+ })(FILTER_YEAR$1 || (FILTER_YEAR$1 = {}));
31736
+
31737
+ var TYPECHART$1;
31738
+
31739
+ (function (TYPECHART) {
31740
+ TYPECHART[TYPECHART["AREA"] = 0] = "AREA";
31741
+ TYPECHART[TYPECHART["BAR"] = 1] = "BAR";
31742
+ TYPECHART[TYPECHART["LINE"] = 2] = "LINE";
31743
+ TYPECHART[TYPECHART["BOTH"] = 3] = "BOTH";
31744
+ })(TYPECHART$1 || (TYPECHART$1 = {}));
31745
+
31746
+ var COLOR_CHART_AND_PERCENTS$1 = ["#73C8E5", "#97AFB9", "#FFB04F", "#FF7670", "#00B8B2", "#00B8FF", "#C6A762", "#C94645", "#006E60", "#336DDA", "#994700"];
31747
+
31748
+ var COLOR_CHART_AND_PIE = ["#5A7F05", "#C94645", "#FFB04F"];
31749
+ var COLOR_LABEL_PIE = ["#006E60", "#FF7670", "#994700"];
31750
+ var GRAGE_DEFAULT$1 = ["K", "G", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
31751
+ var LABEL_NAME_PIE_CHART = ["Green", "Red", "Yellow"];
31752
+ var INITIAl_STUDENT_DASHBOARD$1 = {
31753
+ responseRate: 0,
31754
+ totalSurvey: 0
31755
+ };
31756
+ var INIT_TOP_MOST_SURVEY_USED = {
31757
+ nameSurvey: "",
31758
+ sendDateSurvey: new Date(),
31759
+ percentSurvey: 0
31760
+ };
31761
+ var COLOR_CHART_AND_PERCENTS$2 = ["#73C8E5", "#97AFB9", "#FFB04F", "#FF7670", "#00B8B2", "#00B8FF", "#C6A762", "#C94645", "#006E60", "#336DDA", "#994700"];
31762
+ var DEFAULT_START_DATE$1 = moment().subtract(2, 'months').startOf("day").valueOf();
31763
+ var DEFAULT_END_DATE$1 = moment().endOf("day").valueOf();
31764
+ var CALENDAR_OPTIONS$1 = [{
31765
+ label: "Today",
31766
+ startDate: moment().startOf("day").valueOf(),
31767
+ endDate: moment().endOf("day").valueOf()
31768
+ }, {
31769
+ label: "This week",
31770
+ startDate: moment().startOf("week").weekday(1).valueOf(),
31771
+ endDate: moment().endOf("week").weekday(7).valueOf()
31772
+ }, {
31773
+ label: "This month",
31774
+ startDate: moment().startOf("month").valueOf(),
31775
+ endDate: moment().endOf("month").valueOf()
31776
+ }];
31777
+ var COLOR_NAME = ["Green", "Red", "Yellow"];
31778
+ var TYPECHART$2;
31779
+
31780
+ (function (TYPECHART) {
31781
+ TYPECHART[TYPECHART["AREA"] = 0] = "AREA";
31782
+ TYPECHART[TYPECHART["BAR"] = 1] = "BAR";
31783
+ TYPECHART[TYPECHART["LINE"] = 2] = "LINE";
31784
+ TYPECHART[TYPECHART["BOTH"] = 3] = "BOTH";
31785
+ })(TYPECHART$2 || (TYPECHART$2 = {}));
31786
+
31787
+ var topMostSurveyNameUsed = "top_5_most_survey_used";
31788
+
31789
+ var TotalCard$1 = function TotalCard(_ref) {
31790
+ var icon = _ref.icon,
31791
+ title = _ref.title,
31792
+ value = _ref.value;
31793
+ return React.createElement("div", {
31794
+ className: styles$2["title-card-box"] + " " + styles$2["box-item"] + " p-4 mb-2 shadow-md mr-3"
31795
+ }, React.createElement("div", {
31796
+ className: "d-flex align-items-center justify-content-center"
31797
+ }, React.createElement("img", {
31798
+ src: icon
31799
+ }), React.createElement("p", {
31800
+ className: styles$2["title-card"] + " m-0 mx-2"
31801
+ }, title, ":")), React.createElement("div", {
31802
+ className: "d-flex align-items-center justify-content-center mt-3"
31803
+ }, React.createElement("p", {
31804
+ className: "" + styles$2["value-card"]
31805
+ }, value)));
31806
+ };
31807
+
31808
+ var gradeOptions$1 = function gradeOptions(grades, studentUserId) {
31809
+ var result = !studentUserId ? GRAGE_DEFAULT$1 : GRAGE_DEFAULT$1.filter(function (val) {
31810
+ return grades.indexOf(val) != -1;
31811
+ });
31812
+ return result.map(function (grade, index) {
31813
+ return {
31814
+ label: grade,
31815
+ value: index
31816
+ };
31817
+ });
31818
+ };
31819
+ var topMostSurveyChartOptions = function topMostSurveyChartOptions(labelNames, percentSurvey, isDonutChart) {
31820
+ return {
31821
+ legend: {
31822
+ show: false,
31823
+ fontFamily: 'Poppins-Regular !important'
31824
+ },
31825
+ chart: {
31826
+ type: "bar",
31827
+ toolbar: {
31828
+ show: false
31829
+ }
31830
+ },
31831
+ noData: {
31832
+ text: "No data",
31833
+ align: 'center',
31834
+ verticalAlign: 'middle'
31835
+ },
31836
+ grid: {
31837
+ strokeDashArray: 5,
31838
+ borderColor: "#D3D3D3"
31839
+ },
31840
+ plotOptions: {
31841
+ bar: {
31842
+ horizontal: true,
31843
+ distributed: true,
31844
+ borderRadius: 5
31845
+ }
31846
+ },
31847
+ stroke: {
31848
+ show: false,
31849
+ width: 1,
31850
+ colors: ["#fff"]
31851
+ },
31852
+ colors: ["#316CD9", "#5a89e1", "#83a7e8", "#adc4f0", "#eaf0fb"],
31853
+ xaxis: {
31854
+ categories: labelNames,
31855
+ labels: {
31856
+ show: true,
31857
+ style: {
31858
+ colors: ["#808080"],
31859
+ fontSize: "14px",
31860
+ fontFamily: 'Poppins-Regular !important',
31861
+ fontWeight: 400,
31862
+ cssClass: "apexcharts-yaxis-label"
31863
+ }
31864
+ }
31865
+ },
31866
+ labels: labelNames,
31867
+ tooltip: {
31868
+ x: {
31869
+ formatter: function formatter(value) {
31870
+ return value.toString();
31871
+ }
31872
+ },
31873
+ y: {
31874
+ formatter: function formatter(value) {
31875
+ return value.toFixed(2).toString();
31876
+ }
31877
+ }
31878
+ },
31879
+ yaxis: {
31880
+ min: 0,
31881
+ max: 100,
31882
+ labels: {
31883
+ show: true,
31884
+ align: "left",
31885
+ minWidth: 0,
31886
+ style: {
31887
+ fontSize: "14px",
31888
+ fontFamily: 'Poppins-Regular !important',
31889
+ fontWeight: 400,
31890
+ cssClass: "apexcharts-yaxis-label"
31891
+ },
31892
+ offsetX: 0,
31893
+ offsetY: 0,
31894
+ rotate: 0
31895
+ }
31896
+ },
31897
+ dataLabels: {
31898
+ enabled: true,
31899
+ formatter: function formatter(val, opts) {
31900
+ if (!val) {
31901
+ return "";
31902
+ }
31903
+
31904
+ if (!isDonutChart) {
31905
+ return typeof val === "number" ? val.toFixed(2) + "%" : "" + val;
31906
+ } else {
31907
+ return percentSurvey[opts.seriesIndex];
31908
+ }
31909
+ },
31910
+ style: {
31911
+ colors: ["#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#242424"]
31912
+ }
31913
+ }
31914
+ };
31915
+ };
31916
+ var getLastQuarterRange$1 = function getLastQuarterRange() {
31917
+ var lastQuarter = moment().utc().quarter() - 1;
31918
+ var start = lastQuarter ? moment().utc().quarter(lastQuarter).startOf("quarter").valueOf() : moment().add(-1, "years").utc().quarter(4).startOf("quarter").valueOf();
31919
+ var end = lastQuarter ? moment().utc().quarter(lastQuarter).endOf("quarter").valueOf() : moment().add(-1, "years").utc().quarter(4).endOf("quarter").valueOf();
31920
+ return {
31921
+ start: start,
31922
+ end: end
31923
+ };
31924
+ };
31925
+ var filterYearData$1 = [{
31926
+ label: "This Year",
31927
+ value: FILTER_YEAR$1.THIS_YEAR,
31928
+ startDate: moment().utc().startOf("year").valueOf(),
31929
+ endDate: moment().utc().endOf("day").valueOf()
31930
+ }, {
31931
+ label: "Last Year",
31932
+ value: FILTER_YEAR$1.LAST_YEAR,
31933
+ startDate: moment().utc().add(-1, "years").startOf("year").valueOf(),
31934
+ endDate: moment().utc().add(-1, "years").endOf("year").valueOf()
31935
+ }, {
31936
+ label: "Last Quarter",
31937
+ value: FILTER_YEAR$1.LAST_QUARTER,
31938
+ startDate: getLastQuarterRange$1().start,
31939
+ endDate: getLastQuarterRange$1().end
31940
+ }, {
31941
+ label: "Last 30 Day",
31942
+ value: FILTER_YEAR$1.LAST_MONTH,
31943
+ startDate: moment().utc().add(-30, "days").startOf("day").valueOf(),
31944
+ endDate: moment().utc().endOf("day").valueOf()
31945
+ }, {
31946
+ label: "Last Day",
31947
+ value: FILTER_YEAR$1.LAST_DAY,
31948
+ startDate: moment().utc().add(-1, "days").startOf("day").valueOf(),
31949
+ endDate: moment().utc().add(-1, "days").endOf("day").valueOf()
31950
+ }];
31951
+
31952
+ var handleViewSeriesActive = function handleViewSeriesActive(active) {
31953
+ var _active$filter;
31954
+
31955
+ var item = ((_active$filter = active.filter(function (r) {
31956
+ return r == true;
31957
+ })) === null || _active$filter === void 0 ? void 0 : _active$filter.length) || 0;
31958
+ return Array.from(Array(item).keys());
31959
+ };
31960
+ var convertDataToDataChart$1 = function convertDataToDataChart(data) {
31961
+ if (data.length > 0) {
31962
+ return data.reduce(function (acc, cur) {
31963
+ return [].concat(acc, cur.surveyTemplate.map(function (i) {
31964
+ return i.templateName.trim();
31965
+ }).filter(function (i) {
31966
+ return !!i && !acc.includes(i);
31967
+ }));
31968
+ }, []);
31969
+ }
31970
+
31971
+ return [];
31972
+ };
31973
+ var convertToSeriesTemplate = function convertToSeriesTemplate(data) {
31974
+ return convertDataToDataChart$1(data).map(function (dataName) {
31975
+ return {
31976
+ name: dataName,
31977
+ data: data.map(function (i) {
31978
+ var questionItem = i.surveyTemplate.find(function (question) {
31979
+ return question.templateName.includes(dataName);
31980
+ });
31981
+ return !!questionItem ? questionItem.avgTemplateSurvey : 0;
31982
+ })
31983
+ };
31984
+ });
31985
+ };
31986
+ var mergeBarChartAndArea = function mergeBarChartAndArea(series) {
31987
+ var barChartSeries = series.map(function (i) {
31988
+ return _extends({}, i, {
31989
+ type: "bar"
31990
+ });
31991
+ });
31992
+ var areaChartSeries = series.map(function (i) {
31993
+ return _extends({}, i, {
31994
+ type: "area"
31995
+ });
31996
+ });
31997
+ return [].concat(barChartSeries, areaChartSeries);
31998
+ };
31999
+ var convertToAvg = function convertToAvg(dataCharts, data, months) {
32000
+ var result = dataCharts.map(function (dataName) {
32001
+ return Number(data.map(function (i) {
32002
+ var templateItem = i.surveyTemplate.find(function (question) {
32003
+ return question.templateName.includes(dataName);
32004
+ });
32005
+ return !!templateItem ? templateItem.avgTemplateSurvey : 0;
32006
+ }).reduce(function (acc, curr) {
32007
+ return acc + curr;
32008
+ }, 0) / (months === null || months === void 0 ? void 0 : months.length));
32009
+ });
32010
+ return result;
32011
+ };
32012
+
32013
+ var TITLE$z = "Dashboard";
32014
+
32015
+ var useDashboard$1 = function useDashboard() {
32016
+ var dispatch = useDispatch();
32017
+
32018
+ var _useState = useState({
32019
+ calendar: "",
32020
+ studentIds: [],
32021
+ studentId: undefined,
32022
+ teacherId: undefined,
32023
+ teacherUserId: "",
32024
+ studentUserId: "",
32025
+ bandScore: "",
32026
+ grade: [],
32027
+ startDate: DEFAULT_START_DATE$1,
32028
+ endDate: DEFAULT_END_DATE$1
32029
+ }),
32030
+ filter = _useState[0],
32031
+ setFilter = _useState[1];
32032
+
32033
+ var _useState2 = useState(INITIAl_STUDENT_DASHBOARD$1),
32034
+ listSurveyTotal = _useState2[0],
32035
+ setListSurveyTotal = _useState2[1];
32036
+
32037
+ var _useState3 = useState([INIT_TOP_MOST_SURVEY_USED]),
32038
+ topMostSurveyUsed = _useState3[0],
32039
+ setTopMostSurveyUsed = _useState3[1];
32040
+
32041
+ var _useState4 = useState([]),
32042
+ templateSurveyDashboard = _useState4[0],
32043
+ setTemplateSurveyDashboard = _useState4[1];
32044
+
32045
+ var _useState5 = useState([true]),
32046
+ activeColumnResult = _useState5[0],
32047
+ setActiveColumnResult = _useState5[1];
32048
+
32049
+ var _useState6 = useState([]),
32050
+ avgResult = _useState6[0],
32051
+ setAvgResult = _useState6[1];
32052
+
32053
+ var _useState7 = useState([]),
32054
+ seriseResult = _useState7[0],
32055
+ setSeriesResult = _useState7[1];
32056
+
32057
+ var _useState8 = useState([TYPECHART$2.BAR]),
32058
+ typeChartList = _useState8[0],
32059
+ setTypeChartList = _useState8[1];
32060
+
32061
+ var _useState9 = useState(),
32062
+ surveyFlagData = _useState9[0],
32063
+ setSurveyFlagData = _useState9[1];
32064
+
32065
+ var _useState10 = useState([]),
32066
+ studentByGrade = _useState10[0],
32067
+ setStudentByGrade = _useState10[1];
32068
+
32069
+ var user = useSelector(function (state) {
32070
+ return state.common.user;
32071
+ });
32072
+
32073
+ var _useState11 = useState(undefined),
32074
+ studentDefault = _useState11[0],
32075
+ setStudentDefault = _useState11[1];
32076
+
32077
+ var _useState12 = useState(""),
32078
+ genderOfStudent = _useState12[0],
32079
+ setGenderOfStudent = _useState12[1];
32080
+
32081
+ var handleChangeFilters = function handleChangeFilters(event) {
32082
+ var _extends2;
32083
+
32084
+ setFilter(_extends({}, filter, (_extends2 = {}, _extends2[event.target.name] = event.target.value, _extends2)));
32085
+ };
32086
+
32087
+ var callApi = useCallback(function (apiCaller, setData, defaultData, type) {
32088
+ try {
32089
+ var _temp2 = _catch(function () {
32090
+ return Promise.resolve(type ? apiCaller(_extends({}, filter, {
32091
+ type: type
32092
+ })) : apiCaller(filter)).then(function (res) {
32093
+ !!(res !== null && res !== void 0 && res.data) && setData(res.data);
32094
+ });
32095
+ }, function (err) {
32096
+ var _err$response, _err$response$data;
32097
+
32098
+ dispatch(setAlert({
32099
+ type: "danger",
32100
+ 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
32101
+ }));
32102
+ setData(defaultData);
32103
+ });
32104
+
32105
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
32106
+ } catch (e) {
32107
+ return Promise.reject(e);
32108
+ }
32109
+ }, [filter]);
32110
+
32111
+ var handleFilterTeacher = function handleFilterTeacher(option) {
32112
+ if (option != null) {
32113
+ setFilter(_extends({}, filter, {
32114
+ teacherId: option ? option === null || option === void 0 ? void 0 : option.value : undefined,
32115
+ teacherUserId: option === null || option === void 0 ? void 0 : option.teacherUserId
32116
+ }));
32117
+ } else {
32118
+ setFilter(_extends({}, filter, {
32119
+ teacherId: undefined,
32120
+ teacherUserId: ""
32121
+ }));
32122
+ }
32123
+ };
32124
+
32125
+ var handleFilterStudent = function handleFilterStudent(option) {
32126
+ if (option != null) {
32127
+ setGenderOfStudent(option === null || option === void 0 ? void 0 : option.gender);
32128
+ setStudentDefault(option);
32129
+ setFilter(_extends({}, filter, {
32130
+ studentId: option ? option === null || option === void 0 ? void 0 : option.studentId : undefined,
32131
+ studentUserId: option === null || option === void 0 ? void 0 : option.id
32132
+ }));
32133
+ return;
32134
+ }
32135
+
32136
+ setGenderOfStudent("");
32137
+ setStudentDefault(undefined);
32138
+ setFilter(_extends({}, filter, {
32139
+ grade: [],
32140
+ studentId: undefined,
32141
+ studentUserId: ""
32142
+ }));
32143
+ return;
32144
+ };
32145
+
32146
+ var handleSaveGradeFilter = function handleSaveGradeFilter(grades) {
32147
+ setFilter(_extends({}, filter, {
32148
+ grade: grades
32149
+ }));
32150
+ };
32151
+
32152
+ var onChangeFilters = function onChangeFilters(filterSelect) {
32153
+ setFilter(_extends({}, filter, filterSelect));
32154
+ };
32155
+
32156
+ var callApiByStudentUserId = function callApiByStudentUserId(apiCaller, setData, studentUserId, defaultData) {
32157
+ try {
32158
+ var _temp5 = function _temp5() {
32159
+ dispatch(setLoading(false));
32160
+ };
32161
+
32162
+ dispatch(setLoading(true));
32163
+
32164
+ var _temp6 = _catch(function () {
32165
+ return Promise.resolve(apiCaller(studentUserId)).then(function (res) {
32166
+ res && setData(res.data);
32167
+ });
32168
+ }, function (err) {
32169
+ var _err$response2, _err$response2$data;
32170
+
32171
+ dispatch(setAlert({
32172
+ type: "danger",
32173
+ 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
32174
+ }));
32175
+ setData(defaultData);
32176
+ });
32177
+
32178
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(_temp5) : _temp5(_temp6));
32179
+ } catch (e) {
32180
+ return Promise.reject(e);
32181
+ }
32182
+ };
32183
+
32184
+ var getData = useCallback(function () {
32185
+ try {
32186
+ document.title = TITLE$z;
32187
+ dispatch(setLoading(true));
32188
+ return Promise.resolve(Promise.any([callApi(getAllTotalSurvey, setListSurveyTotal, []), callApi(getStudentByGrade, setStudentByGrade, []), callApi(getTopMostSurveyUsed, setTopMostSurveyUsed, []), callApi(getDashboardFlagSurvey, setSurveyFlagData, [])])).then(function () {
32189
+ dispatch(setLoading(false));
32190
+ });
32191
+ } catch (e) {
32192
+ return Promise.reject(e);
32193
+ }
32194
+ }, [filter]);
32195
+
32196
+ var handleActiveColumnOneToOne = function handleActiveColumnOneToOne(index) {
32197
+ var _convertToSeriesTempl;
32198
+
32199
+ var newActiveColumn = [].concat(activeColumnResult);
32200
+
32201
+ if (newActiveColumn.filter(function (r) {
32202
+ return r;
32203
+ }).length >= 6 && newActiveColumn[index] === false) {
32204
+ dispatch(setAlert({
32205
+ type: "danger",
32206
+ message: "Maximum 6 options can be select at the same time"
32207
+ }));
32208
+ return;
32209
+ }
32210
+
32211
+ newActiveColumn[index] = !newActiveColumn[index];
32212
+ setActiveColumnResult(newActiveColumn);
32213
+ setSeriesResult((_convertToSeriesTempl = convertToSeriesTemplate(templateSurveyDashboard)) === null || _convertToSeriesTempl === void 0 ? void 0 : _convertToSeriesTempl.filter(function (_, idx) {
32214
+ return newActiveColumn[idx];
32215
+ }));
32216
+ };
32217
+
32218
+ var onChangeChart = useCallback(function (type) {
32219
+ var indexType = typeChartList.findIndex(function (r) {
32220
+ return r === type;
32221
+ });
32222
+ var newListTypeChart = typeChartList || [];
32223
+
32224
+ if (indexType >= 0) {
32225
+ newListTypeChart.length > 1 && newListTypeChart.splice(indexType, 1);
32226
+ } else {
32227
+ newListTypeChart.push(type);
32228
+ }
32229
+
32230
+ setTypeChartList([].concat(newListTypeChart));
32231
+ }, [typeChartList]);
32232
+ var getDashBoardTemplate = useCallback(function () {
32233
+ try {
32234
+ var _temp9 = function _temp9() {
32235
+ dispatch(setLoading(false));
32236
+ };
32237
+
32238
+ dispatch(setLoading(true));
32239
+
32240
+ var _temp10 = _catch(function () {
32241
+ return Promise.resolve(getDashboardTemplateSurvey(filter)).then(function (res) {
32242
+ if (!!res) {
32243
+ var dataConvert = convertToSeriesTemplate(res.data);
32244
+ var dataChart = convertDataToDataChart$1(res.data);
32245
+ var avg = convertToAvg(dataChart, res.data, res.data.map(function (r) {
32246
+ return r.month || "";
32247
+ }));
32248
+ setAvgResult(avg);
32249
+ setTemplateSurveyDashboard(res.data);
32250
+ setSeriesResult(dataConvert.filter(function (_, idx) {
32251
+ return activeColumnResult[idx];
32252
+ }));
32253
+
32254
+ if (activeColumnResult.filter(function (r) {
32255
+ return r == true;
32256
+ }).length == 0 || activeColumnResult.length != activeColumnResult.length) {
32257
+ setActiveColumnResult([true].concat(dataConvert.map(function (_i) {
32258
+ return false;
32259
+ }).splice(0, dataConvert.length - 1)));
32260
+ }
32261
+ }
32262
+ });
32263
+ }, function (err) {
32264
+ var _err$response3, _err$response3$data;
32265
+
32266
+ dispatch(setAlert({
32267
+ type: "danger",
32268
+ 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
32269
+ }));
32270
+ });
32271
+
32272
+ return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
32273
+ } catch (e) {
32274
+ return Promise.reject(e);
32275
+ }
32276
+ }, [filter, activeColumnResult]);
32277
+ useEffect(function () {
32278
+ getData();
32279
+ getDashBoardTemplate();
32280
+ }, [filter]);
32281
+ useEffect(function () {
32282
+ !!filter.studentUserId && callApiByStudentUserId(getGrades, handleSaveGradeFilter, filter.studentUserId, []);
32283
+ }, [filter.studentUserId]);
32284
+ return {
32285
+ setFilter: setFilter,
32286
+ filter: filter,
32287
+ listSurveyTotal: listSurveyTotal,
32288
+ studentByGrade: studentByGrade,
32289
+ handleChangeFilters: handleChangeFilters,
32290
+ user: user,
32291
+ studentDefault: studentDefault,
32292
+ setStudentDefault: setStudentDefault,
32293
+ genderOfStudent: genderOfStudent,
32294
+ setGenderOfStudent: setGenderOfStudent,
32295
+ handleFilterStudent: handleFilterStudent,
32296
+ handleFilterTeacher: handleFilterTeacher,
32297
+ onChangeFilters: onChangeFilters,
32298
+ topMostSurveyUsed: topMostSurveyUsed,
32299
+ surveyFlagData: surveyFlagData,
32300
+ templateSurveyDashboard: templateSurveyDashboard,
32301
+ avgResult: avgResult,
32302
+ seriseResult: seriseResult,
32303
+ activeColumnResult: activeColumnResult,
32304
+ handleActiveColumnOneToOne: handleActiveColumnOneToOne,
32305
+ typeChartList: typeChartList,
32306
+ onChangeChart: onChangeChart
32307
+ };
32308
+ };
32309
+
32310
+ var useChartDatas$1 = function useChartDatas() {
32311
+ var _useDashboard = useDashboard$1(),
32312
+ topMostSurveyUsed = _useDashboard.topMostSurveyUsed,
32313
+ handleChangeFilters = _useDashboard.handleChangeFilters,
32314
+ user = _useDashboard.user,
32315
+ studentDefault = _useDashboard.studentDefault,
32316
+ handleFilterStudent = _useDashboard.handleFilterStudent,
32317
+ filter = _useDashboard.filter,
32318
+ listSurveyTotal = _useDashboard.listSurveyTotal,
32319
+ onChangeFilters = _useDashboard.onChangeFilters,
32320
+ surveyFlagData = _useDashboard.surveyFlagData,
32321
+ templateSurveyDashboard = _useDashboard.templateSurveyDashboard,
32322
+ avgResult = _useDashboard.avgResult,
32323
+ seriseResult = _useDashboard.seriseResult,
32324
+ activeColumnResult = _useDashboard.activeColumnResult,
32325
+ handleActiveColumnOneToOne = _useDashboard.handleActiveColumnOneToOne,
32326
+ typeChartList = _useDashboard.typeChartList,
32327
+ onChangeChart = _useDashboard.onChangeChart;
32328
+
32329
+ var _useState = useState([]),
32330
+ selectedToPrint = _useState[0],
32331
+ setSelectedToPrint = _useState[1];
32332
+
32333
+ var handleSelectToPrint = function handleSelectToPrint(checked, data, chartType) {
32334
+ var updateSelectToPrint = [].concat(selectedToPrint);
32335
+ var foundItem = updateSelectToPrint === null || updateSelectToPrint === void 0 ? void 0 : updateSelectToPrint.find(function (e) {
32336
+ return e.identification == data.id;
32337
+ });
32338
+
32339
+ if (checked) {
32340
+ if (!!data.id && !foundItem) {
32341
+ updateSelectToPrint.push({
32342
+ chartIndex: data.chartIndex,
32343
+ id: data.id,
32344
+ identification: data.id,
32345
+ label: data.label,
32346
+ children: data.children,
32347
+ chartType: chartType
32348
+ });
32349
+ }
32350
+
32351
+ if (!!data && foundItem && foundItem.id == null) {
32352
+ var itemIndex = updateSelectToPrint.indexOf(foundItem);
32353
+ updateSelectToPrint[itemIndex].id = data.id;
32354
+ updateSelectToPrint[itemIndex].children = data.children;
32355
+ }
32356
+ } else {
32357
+ var _itemIndex = updateSelectToPrint.indexOf(foundItem);
32358
+
32359
+ updateSelectToPrint[_itemIndex].id = null;
32360
+ updateSelectToPrint[_itemIndex].children = null;
32361
+ }
32362
+
32363
+ setSelectedToPrint(updateSelectToPrint);
32364
+ };
32365
+
32366
+ var checkSelectedItem = function checkSelectedItem(id) {
32367
+ for (var _iterator = _createForOfIteratorHelperLoose(selectedToPrint), _step; !(_step = _iterator()).done;) {
32368
+ var item = _step.value;
32369
+ if (item.id === id) return true;
32370
+ }
32371
+
32372
+ return false;
32373
+ };
32374
+
32375
+ var LIST_FILTERS_LEFT = [{
32376
+ name: FILTER_NAME.Calendar,
32377
+ icon: "/images/calendar.svg",
32378
+ handleChangeFilters: handleChangeFilters,
32379
+ option: CALENDAR_OPTIONS$1
32380
+ }, {
32381
+ name: FILTER_NAME.StartDate,
32382
+ icon: "/images/calendar.svg",
32383
+ handleChangeFilters: handleChangeFilters
32384
+ }, {
32385
+ name: FILTER_NAME.EndDate,
32386
+ icon: "/images/calendar.svg",
32387
+ handleChangeFilters: handleChangeFilters
32388
+ }, {
32389
+ name: FILTER_NAME.Grade,
32390
+ icon: "/images/star-icon.svg",
32391
+ handleChangeFilters: handleChangeFilters,
32392
+ option: [{
32393
+ value: -1,
32394
+ label: "All"
32395
+ }].concat(gradeOptions$1(filter.grade, filter.studentUserId))
32396
+ }];
32397
+ var LIST_FILTERS_RIGHT = [{
32398
+ name: FILTER_NAME.StudentName,
32399
+ icon: "/images/student-icon.svg",
32400
+ handleChangeFilters: handleFilterStudent,
32401
+ studentId: filter.studentId,
32402
+ studentDefault: studentDefault
32403
+ }, {
32404
+ name: FILTER_NAME.FavoriteSurvey,
32405
+ icon: "/images/teacher-icon.svg",
32406
+ handleChangeFilters: handleChangeFilters,
32407
+ option: [{
32408
+ value: -1,
32409
+ label: "All"
32410
+ }, {
32411
+ value: 1,
32412
+ label: "Favorite Survey"
32413
+ }]
32414
+ }];
32415
+ var totalCardData = [{
32416
+ icon: "images/icon_chart.png",
32417
+ title: "total_surveys",
32418
+ value: listSurveyTotal === null || listSurveyTotal === void 0 ? void 0 : listSurveyTotal.totalSurvey,
32419
+ isUp: true,
32420
+ deviant: "2",
32421
+ filter: "this week"
32422
+ }, {
32423
+ icon: "images/icon_watch.png",
32424
+ title: "response_rate",
32425
+ value: (listSurveyTotal === null || listSurveyTotal === void 0 ? void 0 : listSurveyTotal.responseRate) + "%",
32426
+ isUp: true,
32427
+ deviant: "17 min",
32428
+ filter: "this week"
32429
+ }];
32430
+ return {
32431
+ user: user,
32432
+ filter: filter,
32433
+ LIST_FILTERS_LEFT: LIST_FILTERS_LEFT,
32434
+ LIST_FILTERS_RIGHT: LIST_FILTERS_RIGHT,
32435
+ totalCardData: totalCardData,
32436
+ onChangeFilters: onChangeFilters,
32437
+ handleSelectToPrint: handleSelectToPrint,
32438
+ checkSelectedItem: checkSelectedItem,
32439
+ selectedToPrint: selectedToPrint,
32440
+ setSelectedToPrint: setSelectedToPrint,
32441
+ topMostSurveyUsed: topMostSurveyUsed,
32442
+ surveyFlagData: surveyFlagData,
32443
+ templateSurveyDashboard: templateSurveyDashboard,
32444
+ avgResult: avgResult,
32445
+ seriseResult: seriseResult,
32446
+ activeColumnResult: activeColumnResult,
32447
+ handleActiveColumnOneToOne: handleActiveColumnOneToOne,
32448
+ typeChartList: typeChartList,
32449
+ onChangeChart: onChangeChart
32450
+ };
32451
+ };
32452
+
32453
+ var Loading$1 = function Loading() {
32454
+ return React.createElement("div", {
32455
+ className: "d-flex align-items-center justify-content-center"
32456
+ }, React.createElement("div", {
32457
+ className: "spinner-grow",
32458
+ role: "status"
32459
+ }, React.createElement("span", {
32460
+ className: "sr-only"
32461
+ }, "Loading...")), React.createElement("div", {
32462
+ className: "spinner-grow mx-2",
32463
+ role: "status"
32464
+ }, React.createElement("span", {
32465
+ className: "sr-only"
32466
+ }, "Loading...")), React.createElement("div", {
32467
+ className: "spinner-grow",
32468
+ role: "status"
32469
+ }, React.createElement("span", {
32470
+ className: "sr-only"
32471
+ }, "Loading...")));
32472
+ };
32473
+
32474
+ var TopMostSurveyUsed = function TopMostSurveyUsed(_ref) {
32475
+ var data = _ref.data;
32476
+ if (!data) return React.createElement(Loading$1, null);
32477
+
32478
+ var _useTranslation = useTranslation(),
32479
+ t = _useTranslation.t;
32480
+
32481
+ var labelNames = data === null || data === void 0 ? void 0 : data.map(function (i) {
32482
+ return i.nameSurvey;
32483
+ });
32484
+ var labelTimes = data === null || data === void 0 ? void 0 : data.map(function (i) {
32485
+ return utcToLocalTime(i.sendDateSurvey.toString(), "Do MMMM yyyy - hh:mm A");
32486
+ });
32487
+ console.log({
32488
+ labelTimes: labelTimes
32489
+ });
32490
+ var percentSurvey = data === null || data === void 0 ? void 0 : data.map(function (i) {
32491
+ return i.percentSurvey;
32492
+ });
32493
+ var seriesLearningStrategy = [{
32494
+ name: "Perceived Usefulness",
32495
+ data: percentSurvey
32496
+ }];
32497
+ return React.createElement("div", {
32498
+ className: "h-100 w-100 " + styles$2["chart-background"] + " pl-4"
32499
+ }, React.createElement("div", {
32500
+ className: "" + styles$2["block-header-chart"]
32501
+ }, React.createElement("div", {
32502
+ className: "" + styles$2["block-header-name"]
32503
+ }, React.createElement("p", {
32504
+ className: "" + styles$2["title-chart"]
32505
+ }, t(topMostSurveyNameUsed)))), seriesLearningStrategy.some(function (i) {
32506
+ return i.data;
32507
+ }) ? React.createElement("div", null, React.createElement(Chart, {
32508
+ options: topMostSurveyChartOptions(labelNames, percentSurvey),
32509
+ series: seriesLearningStrategy,
32510
+ type: "bar",
32511
+ width: "100%",
32512
+ height: 450
32513
+ })) : React.createElement("img", {
32514
+ className: styles$2["image-no-data"] + " " + styles$2["image-custom"],
32515
+ src: "images/chart-top-learning.png"
32516
+ }));
32517
+ };
32518
+
32519
+ var propsAreEqual$1 = function propsAreEqual(preProps, nextProps) {
32520
+ return JSON.stringify(preProps) === JSON.stringify(nextProps);
32521
+ };
32522
+
32523
+ var TopMostSurveyUsed$1 = React.memo(TopMostSurveyUsed, propsAreEqual$1);
32524
+
32525
+ var maxSeries = function maxSeries(series) {
32526
+ var max = 0;
32527
+
32528
+ for (var i = 0; i < series.length; i++) {
32529
+ max = Math.max.apply(Math, series[i].data.concat([max]));
32530
+ }
32531
+
32532
+ return max;
32533
+ };
32534
+ var optionColumnChartAndPercents$1 = function optionColumnChartAndPercents(months, activeData, isRidgeCharts, isShowChartLabel, percentData, series) {
32535
+ return {
32536
+ chart: {
32537
+ height: 350,
32538
+ stacked: false,
32539
+ toolbar: {
32540
+ show: false,
32541
+ "export": {
32542
+ png: {
32543
+ filename: "test"
32544
+ }
32545
+ }
32546
+ }
32547
+ },
32548
+ plotOptions: {
32549
+ bar: {
32550
+ borderRadius: 5
32551
+ }
32552
+ },
32553
+ dataLabels: {
32554
+ enabled: false
32555
+ },
32556
+ fill: {
32557
+ opacity: isRidgeCharts ? 0.2 : 1
32558
+ },
32559
+ colors: COLOR_CHART_AND_PERCENTS$2.filter(function (_, index) {
32560
+ return activeData[index];
32561
+ }),
32562
+ stroke: {
32563
+ curve: "smooth",
32564
+ show: true,
32565
+ colors: isRidgeCharts ? COLOR_CHART_AND_PERCENTS$2.filter(function (_, index) {
32566
+ return activeData[index];
32567
+ }) : ["#fff"],
32568
+ width: 3,
32569
+ dashArray: 0
32570
+ },
32571
+ xaxis: {
32572
+ categories: months,
32573
+ labels: {
32574
+ show: months.length > 0 ? true : false,
32575
+ style: {
32576
+ colors: ["#808080"],
32577
+ fontSize: "16px",
32578
+ fontFamily: "Roboto",
32579
+ fontWeight: 400,
32580
+ cssClass: "apexcharts-yaxis-label"
32581
+ }
32582
+ },
32583
+ axisTicks: {
32584
+ show: months.length > 0 ? true : false
32585
+ }
32586
+ },
32587
+ yaxis: {
32588
+ tickAmount: 2,
32589
+ min: 0,
32590
+ max: percentData ? 100 : maxSeries(series || []),
32591
+ labels: {
32592
+ show: true,
32593
+ align: "right",
32594
+ minWidth: 0,
32595
+ maxWidth: 160,
32596
+ style: {
32597
+ colors: ["#808080"],
32598
+ fontSize: "16px",
32599
+ fontFamily: "Roboto",
32600
+ fontWeight: 400,
32601
+ cssClass: "apexcharts-yaxis-label"
32602
+ },
32603
+ formatter: function formatter(value) {
32604
+ return "" + (!percentData ? value : value + "%");
32605
+ },
32606
+ offsetX: 0,
32607
+ offsetY: 0,
32608
+ rotate: 0
32609
+ },
32610
+ decimalsInFloat: 0
32611
+ },
32612
+ tooltip: {
32613
+ shared: false,
32614
+ y: {
32615
+ formatter: function formatter(value) {
32616
+ return "" + (!percentData ? value : value.toFixed(2) + "%");
32617
+ }
32618
+ },
32619
+ onDatasetHover: {
32620
+ highlightDataSeries: true
32621
+ }
32622
+ },
32623
+ legend: {
32624
+ show: isShowChartLabel
32625
+ }
32626
+ };
32627
+ };
32628
+ var optionBarChartAndArea = function optionBarChartAndArea(months, activeData, newseries) {
32629
+ return {
32630
+ chart: {
32631
+ height: 350,
32632
+ stacked: false,
32633
+ toolbar: {
32634
+ show: false
32635
+ }
32636
+ },
32637
+ plotOptions: {
32638
+ bar: {
32639
+ columnWidth: "50%",
32640
+ borderRadius: 5
32641
+ }
32642
+ },
32643
+ dataLabels: {
32644
+ enabled: false
32645
+ },
32646
+ fill: {
32647
+ opacity: newseries === null || newseries === void 0 ? void 0 : newseries.map(function (item) {
32648
+ if ((item === null || item === void 0 ? void 0 : item.type) == "area") {
32649
+ return 0.2;
32650
+ }
32651
+
32652
+ return 0.6;
32653
+ })
32654
+ },
32655
+ colors: COLOR_CHART_AND_PERCENTS$2.filter(function (_, index) {
32656
+ return activeData[index];
32657
+ }),
32658
+ stroke: {
32659
+ curve: "smooth",
32660
+ show: true,
32661
+ colors: COLOR_CHART_AND_PERCENTS$2.filter(function (_, index) {
32662
+ return activeData[index];
32663
+ }),
32664
+ width: newseries === null || newseries === void 0 ? void 0 : newseries.map(function (item) {
32665
+ if ((item === null || item === void 0 ? void 0 : item.type) == "area") {
32666
+ return 2;
32667
+ }
32668
+
32669
+ return 0;
32670
+ }),
32671
+ dashArray: 0
32672
+ },
32673
+ xaxis: {
32674
+ categories: months,
32675
+ labels: {
32676
+ show: true,
32677
+ style: {
32678
+ colors: ["#808080"],
32679
+ fontSize: "16px",
32680
+ fontFamily: "Roboto",
32681
+ fontWeight: 400,
32682
+ cssClass: "apexcharts-yaxis-label"
32683
+ }
32684
+ }
32685
+ },
32686
+ yaxis: {
32687
+ tickAmount: 2,
32688
+ min: 0,
32689
+ max: 100,
32690
+ labels: {
32691
+ show: true,
32692
+ align: "right",
32693
+ minWidth: 0,
32694
+ maxWidth: 160,
32695
+ style: {
32696
+ colors: ["#808080"],
32697
+ fontSize: "16px",
32698
+ fontFamily: "Roboto",
32699
+ fontWeight: 400,
32700
+ cssClass: "apexcharts-yaxis-label"
32701
+ },
32702
+ formatter: function formatter(value) {
32703
+ return value + "%";
32704
+ },
32705
+ offsetX: 0,
32706
+ offsetY: 0,
32707
+ rotate: 0
32708
+ },
32709
+ decimalsInFloat: 0
32710
+ },
32711
+ tooltip: {
32712
+ shared: false,
32713
+ enabledOnSeries: handleViewSeriesActive(activeData),
32714
+ y: {
32715
+ formatter: function formatter(value) {
32716
+ return value.toFixed(2) + "%";
32717
+ }
32718
+ },
32719
+ onDatasetHover: {
32720
+ highlightDataSeries: true
32721
+ }
32722
+ },
32723
+ legend: {
32724
+ show: false
32725
+ }
32726
+ };
32727
+ };
32728
+ var pieChartOptions = {
32729
+ labels: LABEL_NAME_PIE_CHART,
32730
+ colors: COLOR_LABEL_PIE,
32731
+ legend: {
32732
+ show: false
32733
+ },
32734
+ chart: {
32735
+ height: "100%"
32736
+ },
32737
+ plotOptions: {
32738
+ pie: {
32739
+ donut: {
32740
+ size: "15%"
32741
+ }
32742
+ }
32743
+ },
32744
+ dataLabels: {
32745
+ enabled: false
32746
+ },
32747
+ fill: {
32748
+ colors: COLOR_CHART_AND_PIE
32749
+ },
32750
+ stroke: {
32751
+ colors: COLOR_CHART_AND_PIE,
32752
+ width: 1
32753
+ },
32754
+ states: {
32755
+ normal: {
32756
+ filter: {
32757
+ type: "none",
32758
+ value: 0
32759
+ }
32760
+ },
32761
+ hover: {
32762
+ filter: {
32763
+ type: "none",
32764
+ value: 0
32765
+ }
32766
+ },
32767
+ active: {
32768
+ filter: {
32769
+ type: "none",
32770
+ value: 0
32771
+ }
32772
+ }
32773
+ }
32774
+ };
32775
+
32776
+ var useContainerDimensions = function useContainerDimensions(myRef) {
32777
+ var _myRef$current;
32778
+
32779
+ var _useState = useState({
32780
+ width: 0,
32781
+ height: 0
32782
+ }),
32783
+ dimensions = _useState[0],
32784
+ setDimensions = _useState[1];
32785
+
32786
+ useEffect(function () {
32787
+ var getDimensions = function getDimensions() {
32788
+ return {
32789
+ width: myRef.current.offsetWidth,
32790
+ height: myRef.current.offsetHeight
32791
+ };
32792
+ };
32793
+
32794
+ var handleResize = function handleResize() {
32795
+ setDimensions(getDimensions());
32796
+ };
32797
+
32798
+ if (myRef.current) {
32799
+ setDimensions(getDimensions());
32800
+ }
32801
+
32802
+ window.addEventListener("resize", handleResize);
32803
+ return function () {
32804
+ window.removeEventListener("resize", handleResize);
32805
+ };
32806
+ }, [myRef === null || myRef === void 0 ? void 0 : (_myRef$current = myRef.current) === null || _myRef$current === void 0 ? void 0 : _myRef$current.offsetWidth]);
32807
+ return dimensions;
32808
+ };
32809
+
32810
+ var PieChart = function PieChart(_ref) {
32811
+ var data = _ref.data,
32812
+ name = _ref.name;
32813
+ var ref = useRef(null);
32814
+
32815
+ var _useContainerDimensio = useContainerDimensions(ref),
32816
+ width = _useContainerDimensio.width;
32817
+
32818
+ if (!data) return React.createElement("div", {
32819
+ className: "flex justify-content-center align-items-center",
32820
+ style: {
32821
+ height: 450
32822
+ }
32823
+ }, React.createElement("div", null, "No Data"));
32824
+ var series = [data.numberSurveyBlue, data.numberSurveyRed, data.numberSurveyYellow];
32825
+ return React.createElement("div", {
32826
+ className: styles$2["pie-chart"],
32827
+ ref: ref
32828
+ }, React.createElement("div", {
32829
+ className: styles$2["box-chart-title"]
32830
+ }, React.createElement("p", {
32831
+ className: styles$2["title-chart"]
32832
+ }, name)), React.createElement("div", {
32833
+ className: styles$2["box-chart"] + " " + (width == 0 && styles$2["h-75"])
32834
+ }, React.createElement(Chart, {
32835
+ options: pieChartOptions,
32836
+ series: series,
32837
+ type: "donut",
32838
+ width: width || "100%",
32839
+ height: width || "100%"
32840
+ }), React.createElement("div", {
32841
+ className: "" + styles$2["legend-pie-custom"]
32842
+ }, COLOR_NAME.map(function (color, index) {
32843
+ return React.createElement("div", {
32844
+ className: "" + styles$2["legend-item"]
32845
+ }, React.createElement("div", {
32846
+ className: "" + styles$2["color-box"],
32847
+ style: {
32848
+ backgroundColor: COLOR_CHART_AND_PIE[index]
32849
+ }
32850
+ }), React.createElement("div", {
32851
+ className: "" + styles$2["text"]
32852
+ }, color));
32853
+ }))));
32854
+ };
32855
+
32856
+ var BarChart$1 = function BarChart(_ref) {
32857
+ var series = _ref.series,
32858
+ months = _ref.months,
32859
+ activeColumn = _ref.activeColumn,
32860
+ isShowChartLabel = _ref.isShowChartLabel,
32861
+ percentData = _ref.percentData;
32862
+ return React.createElement(Chart, {
32863
+ options: optionColumnChartAndPercents$1(months, activeColumn, false, isShowChartLabel, percentData, series),
32864
+ type: "bar",
32865
+ series: series,
32866
+ width: "100%",
32867
+ height: 450
32868
+ });
32869
+ };
32870
+
32871
+ var CheckboxCustom$1 = function CheckboxCustom(_ref) {
32872
+ var _ref$background = _ref.background,
32873
+ background = _ref$background === void 0 ? "#2B4DC0" : _ref$background,
32874
+ _ref$width = _ref.width,
32875
+ width = _ref$width === void 0 ? 16 : _ref$width,
32876
+ _ref$height = _ref.height,
32877
+ height = _ref$height === void 0 ? 16 : _ref$height,
32878
+ _ref$isActive = _ref.isActive,
32879
+ isActive = _ref$isActive === void 0 ? false : _ref$isActive,
32880
+ _ref$className = _ref.className,
32881
+ className = _ref$className === void 0 ? "" : _ref$className,
32882
+ onClick = _ref.onClick;
32883
+ return React.createElement("div", {
32884
+ className: className,
32885
+ onClick: onClick,
32886
+ style: {
32887
+ cursor: "pointer"
32888
+ }
32889
+ }, isActive ? React.createElement("svg", {
32890
+ xmlns: "http://www.w3.org/2000/svg",
32891
+ width: width,
32892
+ height: height,
32893
+ viewBox: "0 0 24 24",
32894
+ fill: "none"
32895
+ }, React.createElement("rect", {
32896
+ x: "2.5",
32897
+ y: "2.5",
32898
+ width: "19",
32899
+ height: "19",
32900
+ rx: "1.5",
32901
+ fill: background,
32902
+ stroke: background
32903
+ }), React.createElement("path", {
32904
+ d: "M7.3335 12.6667L10.0002 15.3334L16.6668 8.66669",
32905
+ stroke: "white",
32906
+ "stroke-width": "2",
32907
+ "stroke-linecap": "round",
32908
+ "stroke-linejoin": "round"
32909
+ })) : React.createElement("div", {
32910
+ style: {
32911
+ width: width,
32912
+ height: height,
32913
+ background: "#FCFCFC",
32914
+ border: "1px solid #CCCCCC",
32915
+ borderRadius: 2,
32916
+ cursor: "pointer",
32917
+ marginTop: 3
32918
+ }
32919
+ }));
32920
+ };
32921
+
32922
+ var ChoiceChartType = function ChoiceChartType(_ref) {
32923
+ var onChangeChart = _ref.onChangeChart,
32924
+ _ref$typeChart = _ref.typeChart,
32925
+ typeChart = _ref$typeChart === void 0 ? [TYPECHART$2.BAR] : _ref$typeChart,
32926
+ options = _ref.options;
32927
+ return React.createElement("div", {
32928
+ className: "d-flex align-items-center d-inline-block"
32929
+ }, React.createElement("div", {
32930
+ className: "d-flex align-items-center px-2 " + styles$2["checkbox-chart"]
32931
+ }, React.createElement("div", {
32932
+ className: "pr-4 d-flex align-items-center",
32933
+ onClick: function onClick() {
32934
+ return onChangeChart === null || onChangeChart === void 0 ? void 0 : onChangeChart(options[0].value);
32935
+ },
32936
+ style: {
32937
+ cursor: "pointer"
32938
+ }
32939
+ }, React.createElement(CheckboxCustom$1, {
32940
+ width: 16,
32941
+ height: 16,
32942
+ isActive: typeChart.includes(TYPECHART$2.BOTH),
32943
+ className: "pr-2 d-flex align-items-center"
32944
+ }), React.createElement("label", {
32945
+ className: "" + styles$2["label-chart"],
32946
+ style: {
32947
+ color: "#252733",
32948
+ marginBottom: 0,
32949
+ cursor: "pointer"
32950
+ }
32951
+ }, "Ridge charts"))), React.createElement("div", {
32952
+ className: "d-inline-block " + styles$2["checkbox-chart"]
32953
+ }, React.createElement("div", {
32954
+ className: "pr-4 d-flex align-items-center",
32955
+ onClick: function onClick() {
32956
+ return onChangeChart === null || onChangeChart === void 0 ? void 0 : onChangeChart(options[1].value);
32957
+ },
32958
+ style: {
32959
+ cursor: "pointer"
32960
+ }
32961
+ }, React.createElement(CheckboxCustom$1, {
32962
+ width: 16,
32963
+ height: 16,
32964
+ isActive: typeChart.includes(TYPECHART$2.LINE) || typeChart.includes(TYPECHART$2.BAR),
32965
+ className: "pr-2 d-flex align-items-center"
32966
+ }), React.createElement("label", {
32967
+ className: "" + styles$2["label-chart"],
32968
+ style: {
32969
+ color: "#252733",
32970
+ marginBottom: 0,
32971
+ cursor: "pointer"
32972
+ }
32973
+ }, options[1].value === TYPECHART$2.BAR ? "Bar charts" : "Line charts"))));
32974
+ };
32975
+
32976
+ var AreaChart$1 = function AreaChart(_ref) {
32977
+ var series = _ref.series,
32978
+ months = _ref.months,
32979
+ activeColumn = _ref.activeColumn,
32980
+ percentData = _ref.percentData;
32981
+ return React.createElement(Chart, {
32982
+ options: optionColumnChartAndPercents$1(months, activeColumn, true, false, percentData),
32983
+ type: "area",
32984
+ series: series,
32985
+ width: "100%",
32986
+ height: 450
32987
+ });
32988
+ };
32989
+
32990
+ var BarAndAreaChart = function BarAndAreaChart(_ref) {
32991
+ var series = _ref.series,
32992
+ months = _ref.months,
32993
+ activeColumn = _ref.activeColumn;
32994
+ var newseries = mergeBarChartAndArea(series);
32995
+ return React.createElement(Chart, {
32996
+ options: optionBarChartAndArea(months, activeColumn, newseries),
32997
+ series: newseries,
32998
+ width: "100%",
32999
+ height: 450
33000
+ });
33001
+ };
33002
+
33003
+ var ChartViewDashboard = function ChartViewDashboard(_ref) {
33004
+ var data = _ref.data,
33005
+ typeChart = _ref.typeChart,
33006
+ onActiveColumn = _ref.onActiveColumn,
33007
+ activeColumn = _ref.activeColumn,
33008
+ series = _ref.series,
33009
+ avg = _ref.avg,
33010
+ months = _ref.months,
33011
+ onChangeChart = _ref.onChangeChart,
33012
+ optionType = _ref.optionType,
33013
+ name = _ref.name,
33014
+ _ref$isShowChartLabel = _ref.isShowChartLabel,
33015
+ isShowChartLabel = _ref$isShowChartLabel === void 0 ? false : _ref$isShowChartLabel,
33016
+ _ref$percentData = _ref.percentData,
33017
+ percentData = _ref$percentData === void 0 ? true : _ref$percentData,
33018
+ classFontSize = _ref.classFontSize;
33019
+
33020
+ var _useTranslation = useTranslation(),
33021
+ t = _useTranslation.t;
33022
+
33023
+ if (!data) return React.createElement("div", {
33024
+ className: "flex justify-content-center align-items-center",
33025
+ style: {
33026
+ height: 450
33027
+ }
33028
+ }, React.createElement("p", null, t("no_data")));
33029
+ return React.createElement("div", {
33030
+ key: name,
33031
+ className: " " + styles$2["size-100"] + " " + styles$2[classFontSize != null ? classFontSize : '']
33032
+ }, React.createElement("div", {
33033
+ className: "" + styles$2["block-header-chart"]
33034
+ }, React.createElement("p", {
33035
+ className: "" + styles$2["title-chart"]
33036
+ }, t(name)), !!onChangeChart && !!optionType && React.createElement(ChoiceChartType, {
33037
+ onChangeChart: onChangeChart,
33038
+ options: optionType,
33039
+ typeChart: typeChart
33040
+ })), React.createElement("div", {
33041
+ className: "" + styles$2["column-chart-percent"]
33042
+ }, !!onActiveColumn && React.createElement("div", {
33043
+ className: "" + styles$2["listItem"]
33044
+ }, data.map(function (month, index) {
33045
+ return React.createElement("div", {
33046
+ className: "" + styles$2["item-checkbox"],
33047
+ key: index
33048
+ }, React.createElement(CheckboxCustom$1, {
33049
+ background: COLOR_CHART_AND_PERCENTS$1[index],
33050
+ width: 16,
33051
+ height: 16,
33052
+ isActive: activeColumn[index],
33053
+ className: "" + styles$2["check-box"],
33054
+ onClick: function onClick() {
33055
+ return onActiveColumn === null || onActiveColumn === void 0 ? void 0 : onActiveColumn(index);
33056
+ }
33057
+ }), React.createElement("label", {
33058
+ className: "" + styles$2["label-chart"],
33059
+ style: {
33060
+ color: !activeColumn[index] ? "#CCCCCC" : "#4D4D4D",
33061
+ marginBottom: 0,
33062
+ cursor: "pointer"
33063
+ },
33064
+ onClick: function onClick() {
33065
+ return onActiveColumn === null || onActiveColumn === void 0 ? void 0 : onActiveColumn(index);
33066
+ }
33067
+ }, month));
33068
+ })), React.createElement("div", {
33069
+ className: "w-100",
33070
+ style: {
33071
+ height: 450
33072
+ }
33073
+ }, typeChart.includes(TYPECHART$1.BOTH) && typeChart.length == 1 && React.createElement(AreaChart$1, {
33074
+ months: months,
33075
+ activeColumn: activeColumn,
33076
+ series: series,
33077
+ percentData: percentData
33078
+ }), typeChart.includes(TYPECHART$1.BAR) && typeChart.length == 1 && React.createElement(BarChart$1, {
33079
+ months: months,
33080
+ activeColumn: activeColumn,
33081
+ series: series,
33082
+ isShowChartLabel: isShowChartLabel,
33083
+ percentData: percentData
33084
+ }), typeChart.includes(TYPECHART$1.BOTH) && typeChart.includes(TYPECHART$1.BAR) && React.createElement(BarAndAreaChart, {
33085
+ months: months,
33086
+ activeColumn: activeColumn,
33087
+ series: series
33088
+ })), !!avg && React.createElement("div", {
33089
+ className: "" + styles$2["listItem"]
33090
+ }, data.map(function (month, index) {
33091
+ return avg[index] > 0 && React.createElement("div", {
33092
+ className: "" + styles$2["item-legend"],
33093
+ key: index
33094
+ }, React.createElement("div", {
33095
+ className: "" + styles$2["item"]
33096
+ }, React.createElement("div", {
33097
+ className: "" + styles$2["mark-custom"],
33098
+ style: {
33099
+ backgroundColor: COLOR_CHART_AND_PERCENTS$1[index]
33100
+ }
33101
+ }), React.createElement("label", {
33102
+ className: "" + styles$2["label-legend-custom"]
33103
+ }, month)), React.createElement("div", {
33104
+ className: "" + styles$2["percent"]
33105
+ }, React.createElement("label", {
33106
+ className: "" + styles$2["m-0"]
33107
+ }, avg[index].toFixed(2))));
33108
+ }))));
33109
+ };
33110
+
33111
+ var SurveyDashboard = function SurveyDashboard() {
33112
+ var _useTranslation = useTranslation(),
33113
+ t = _useTranslation.t;
33114
+
33115
+ var _useChartDatas = useChartDatas$1(),
33116
+ filter = _useChartDatas.filter,
33117
+ LIST_FILTERS_LEFT = _useChartDatas.LIST_FILTERS_LEFT,
33118
+ LIST_FILTERS_RIGHT = _useChartDatas.LIST_FILTERS_RIGHT,
33119
+ totalCardData = _useChartDatas.totalCardData,
33120
+ onChangeFilters = _useChartDatas.onChangeFilters,
33121
+ topMostSurveyUsed = _useChartDatas.topMostSurveyUsed,
33122
+ surveyFlagData = _useChartDatas.surveyFlagData,
33123
+ templateSurveyDashboard = _useChartDatas.templateSurveyDashboard,
33124
+ avgResult = _useChartDatas.avgResult,
33125
+ seriseResult = _useChartDatas.seriseResult,
33126
+ activeColumnResult = _useChartDatas.activeColumnResult,
33127
+ handleActiveColumnOneToOne = _useChartDatas.handleActiveColumnOneToOne,
33128
+ typeChartList = _useChartDatas.typeChartList,
33129
+ onChangeChart = _useChartDatas.onChangeChart;
33130
+
33131
+ console.log({
33132
+ LIST_FILTERS_RIGHT: LIST_FILTERS_RIGHT
33133
+ });
33134
+ return React.createElement("div", {
33135
+ className: styles$2["block-dashboard"] + " mb-5"
33136
+ }, React.createElement("div", {
33137
+ className: "d-flex align-items-center justify-content-between"
33138
+ }, React.createElement("div", {
33139
+ className: "d-flex align-items-center mx-3"
33140
+ }, React.createElement("h4", {
33141
+ className: styles$2["title-dashboard"] + " m-0"
33142
+ }, t('survey_dashboard')))), React.createElement("div", {
33143
+ className: "d-flex justify-content-between flex-wrap my-2"
33144
+ }, React.createElement("div", {
33145
+ className: "d-flex"
33146
+ }, LIST_FILTERS_LEFT.map(function (e) {
33147
+ return React.createElement(SelectFilter, {
33148
+ name: e.name,
33149
+ icon: e.icon,
33150
+ handleChangeFilters: e.handleChangeFilters,
33151
+ filter: filter,
33152
+ option: e.option,
33153
+ onChangeFilters: onChangeFilters
33154
+ });
33155
+ })), React.createElement("div", {
33156
+ className: "d-flex"
33157
+ }, LIST_FILTERS_RIGHT.map(function (e) {
33158
+ return React.createElement(SelectFilter, {
33159
+ name: e.name,
33160
+ icon: e.icon,
33161
+ handleChangeFilters: e.handleChangeFilters,
33162
+ filter: filter,
33163
+ option: e.option,
33164
+ studentId: e.studentId || 0,
33165
+ studentDefault: e.studentDefault,
33166
+ onChangeFilters: onChangeFilters,
33167
+ btnStyle: e.name === FILTER_NAME.StudentName ? {
33168
+ minWidth: 220,
33169
+ justifyContent: "center"
33170
+ } : {}
33171
+ });
33172
+ }))), React.createElement("div", {
33173
+ className: "d-flex align-items-center flex-wrap mb-3"
33174
+ }, totalCardData.map(function (item) {
33175
+ return React.createElement(TotalCard$1, {
33176
+ icon: item.icon,
33177
+ title: t("" + item.title),
33178
+ value: item.value,
33179
+ isUp: item.isUp,
33180
+ deviant: item.deviant,
33181
+ filter: item.filter
33182
+ });
33183
+ })), React.createElement("div", {
33184
+ className: "shadow-lg mb-3 " + styles$2["chart-header-wrapper"]
33185
+ }, React.createElement(Row, null, React.createElement(Col, {
33186
+ md: 7
33187
+ }, React.createElement(TopMostSurveyUsed$1, {
33188
+ data: topMostSurveyUsed
33189
+ })), React.createElement(Col, {
33190
+ md: 5
33191
+ }, React.createElement(Row, null, React.createElement(Col, {
33192
+ md: 7,
33193
+ style: {
33194
+ margin: "0 auto"
33195
+ }
33196
+ }, React.createElement(PieChart, {
33197
+ data: surveyFlagData,
33198
+ name: "Flag"
33199
+ })))))), React.createElement(Row, {
33200
+ className: "" + styles$2["chart-view-dashboard"]
33201
+ }, React.createElement(Col, {
33202
+ md: 12
33203
+ }, React.createElement(ChartViewDashboard, {
33204
+ name: "survey_result",
33205
+ data: convertDataToDataChart$1(templateSurveyDashboard),
33206
+ months: templateSurveyDashboard.map(function (r) {
33207
+ return r.month || "";
33208
+ }),
33209
+ series: seriseResult,
33210
+ activeColumn: activeColumnResult,
33211
+ onActiveColumn: handleActiveColumnOneToOne,
33212
+ typeChart: typeChartList,
33213
+ onChangeChart: onChangeChart,
33214
+ avg: avgResult,
33215
+ optionType: [{
33216
+ label: "Ridge charts",
33217
+ value: TYPECHART$2.BOTH
33218
+ }, {
33219
+ label: "Bar charts",
33220
+ value: TYPECHART$2.BAR
33221
+ }]
33222
+ }))));
33223
+ };
33224
+
31585
33225
  LicenseManager.setLicenseKey(LICENSE_AGGRID);
31586
33226
 
31587
- export { AdminTraining, AssessmentAssignmentContainer, AssessmentList, AssetLog, AssignmentList, BadgeList, CertificateContainer, ClassList, CompareTeacher, ConferenceRubricDetail, ConferenceRubricList, CustomAlertList, Dashboard, FeedbackList, GoalExampleList, LearningStrategyList, LearningSupportCategoryList, LoadLanguage, QuestionBankContainer, QuestionBankList, QuestionCateList as QuestionCategoryList, QuestionDetail, ReflectionContainer, ReflectionFormList, SessionTemplateContainer, SessionTemplateDetail, SessionTemplateGeneralClassDetail, SessionTemplateGeneralClassList, SessionTemplateList, SetupContainer, SubjectList, SuggestionBankList as SuggestionList, SurveyQuestionContainer, TutorialScreenContainer };
33227
+ export { AdminTraining, AssessmentAssignmentContainer, AssessmentList, AssetLog, AssignmentList, BadgeList, CertificateContainer, ClassList, CompareTeacher, ConferenceRubricDetail, ConferenceRubricList, CustomAlertList, Dashboard, FeedbackList, GoalExampleList, LearningStrategyList, LearningSupportCategoryList, LoadLanguage, QuestionBankContainer, QuestionBankList, QuestionCateList as QuestionCategoryList, QuestionDetail, ReflectionContainer, ReflectionFormList, SessionTemplateContainer, SessionTemplateDetail, SessionTemplateGeneralClassDetail, SessionTemplateGeneralClassList, SessionTemplateList, SetupContainer, SubjectList, SuggestionBankList as SuggestionList, SurveyDashboard, SurveyQuestionContainer, TutorialScreenContainer };
31588
33228
  //# sourceMappingURL=index.modern.js.map