mario-education 2.4.317-release → 2.4.319-release

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.
@@ -12,6 +12,10 @@ export declare type QuantityReport = {
12
12
  numberOfStudents: number;
13
13
  numberOfAssistants: number;
14
14
  };
15
+ export interface IQuestionTranslate {
16
+ questionName: string;
17
+ questionTranslationName: string;
18
+ }
15
19
  export declare type SkillReportItem = {
16
20
  skillName: string;
17
21
  ratings: SkillRating[];
@@ -140,6 +144,7 @@ export interface IStudentByGrade {
140
144
  export interface ISeries {
141
145
  name: string;
142
146
  data: number[];
147
+ questionTranslation: string;
143
148
  }
144
149
  export interface ILearningItem {
145
150
  learningStrategyName: string;
@@ -175,6 +180,7 @@ export interface IResultQuestion {
175
180
  avgOfStudentChoice: number;
176
181
  questionId: number;
177
182
  questionText: string;
183
+ questionTranslation: string;
178
184
  }
179
185
  export interface IOverviewQuestionChoice {
180
186
  month: string;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { ApexOptions } from "apexcharts";
3
3
  import { IOptionSelector } from "../../../components/Select/InputSelector";
4
- import { FILTER_YEAR, IActivityCircle, IOverviewQuestionChoice, IReadinessToLearning, ISeries, IseriesChart, IStudentByAge, IStudentByGrade, IsyntheticFriendCircle, LegalGenderType, MtssType } from "./types";
4
+ import { FILTER_YEAR, IActivityCircle, IOverviewQuestionChoice, IQuestionTranslate, IReadinessToLearning, ISeries, IseriesChart, IStudentByAge, IStudentByGrade, IsyntheticFriendCircle, LegalGenderType, MtssType } from "./types";
5
5
  export declare const getColors: (length: number) => string[];
6
6
  export declare const friendCircleItems: ({ bestFriends, friends, couldBeFriends, supportive }: IsyntheticFriendCircle) => {
7
7
  id: number;
@@ -106,9 +106,10 @@ export declare const optionColumnChartAndPercents: (min: number, months: string[
106
106
  export declare const optionLineChart: (months: string[], activeData: boolean[], colors: string[], dayOfWeek: string[]) => ApexOptions;
107
107
  export declare const optionBarChartAndArea: (months: string[], activeData: boolean[], dayOfWeek: string[], newseries?: any) => ApexOptions;
108
108
  export declare const overallDonutCHartOptions: (labelNames: string[], colors: string[], isCountSeries?: boolean | undefined, textColors?: string[] | undefined) => ApexOptions;
109
- export declare const convertDataToDataChart: (data: IOverviewQuestionChoice[]) => string[];
110
- export declare const convertToSeriesColumnChartAndPercent: (dataCharts: string[], data: IOverviewQuestionChoice[]) => {
109
+ export declare const convertDataToDataChart: (data: IOverviewQuestionChoice[]) => IQuestionTranslate[];
110
+ export declare const convertToSeriesColumnChartAndPercent: (dataCharts: IQuestionTranslate[], data: IOverviewQuestionChoice[], isHardQuestion?: boolean | undefined) => {
111
111
  name: string;
112
+ questionTranslation: string;
112
113
  data: number[];
113
114
  }[];
114
115
  export declare const convertToSeriesColumnChartAndPercentProgress: (data: IOverviewQuestionChoice[]) => {
@@ -121,6 +122,7 @@ export declare const mergeBarChartAndArea: (series: ISeries[], isHasLineChart: b
121
122
  type: string;
122
123
  name: string;
123
124
  data: number[];
125
+ questionTranslation: string;
124
126
  }[];
125
127
  export declare const getLastQuarterRange: () => {
126
128
  start: number;
@@ -36,7 +36,6 @@ declare const useChartDatas: () => {
36
36
  stressData: import("../../../utils/type").ISeries[];
37
37
  seriesConference: import("../../../utils/type").ISeries[];
38
38
  avgConferenceLastMonth: import("../configs/types").IQuestionResponseLastMonth[];
39
- dataConvertedConference: string[];
40
39
  monthsConference: string[];
41
40
  dayOfWeekConference: string[];
42
41
  handleActiveColumnConference: (index: number) => void;
@@ -26,7 +26,6 @@ declare const useDashboard: () => {
26
26
  handleFilterTeacher: (option: any) => void;
27
27
  onChangeFilters: (filterSelect: IFilter) => void;
28
28
  handleActiveColumnOneToOne: (index: number, name: string) => void;
29
- dataConvertedOneToOne: string[];
30
29
  monthsOneToOne: string[];
31
30
  dayOfWeekOneToOne: string[];
32
31
  stressData: ISeries[];
@@ -41,7 +40,6 @@ declare const useDashboard: () => {
41
40
  dataOverallReadyToLearn: IOverallReadinessToLearn;
42
41
  seriesConference: ISeries[];
43
42
  avgConferenceLastMonth: IQuestionResponseLastMonth[];
44
- dataConvertedConference: string[];
45
43
  monthsConference: string[];
46
44
  dayOfWeekConference: string[];
47
45
  handleActiveColumnConference: (index: number) => void;
package/dist/index.js CHANGED
@@ -30414,22 +30414,38 @@ var overallDonutCHartOptions = function overallDonutCHartOptions(labelNames, col
30414
30414
  };
30415
30415
  };
30416
30416
  var convertDataToDataChart = function convertDataToDataChart(data) {
30417
+ var uniqueQuestions = new Set();
30418
+
30419
+ if (data.length === 0) {
30420
+ return [];
30421
+ }
30422
+
30417
30423
  return data.reduce(function (acc, cur) {
30418
- return [].concat(acc, cur.resultQuestion.map(function (i) {
30419
- var quests = i.questionText.split("</p>");
30420
- return quests[0].replace("<p>", "").trim();
30421
- }).filter(function (i) {
30422
- return !!i && !acc.includes(i);
30423
- }));
30424
+ cur.resultQuestion.forEach(function (i) {
30425
+ var _i$questionText, _i$questionTranslatio;
30426
+
30427
+ var questionText = ((_i$questionText = i.questionText) === null || _i$questionText === void 0 ? void 0 : _i$questionText.split("</p>")[0].replace("<p>", "").trim()) || "";
30428
+ var questionTranslation = ((_i$questionTranslatio = i.questionTranslation) === null || _i$questionTranslatio === void 0 ? void 0 : _i$questionTranslatio.split("</p>")[0].replace("<p>", "").trim()) || "";
30429
+
30430
+ if (questionText && !uniqueQuestions.has(questionText)) {
30431
+ uniqueQuestions.add(questionText);
30432
+ acc.push({
30433
+ questionName: questionText,
30434
+ questionTranslationName: questionTranslation
30435
+ });
30436
+ }
30437
+ });
30438
+ return acc;
30424
30439
  }, []);
30425
30440
  };
30426
- var convertToSeriesColumnChartAndPercent = function convertToSeriesColumnChartAndPercent(dataCharts, data) {
30441
+ var convertToSeriesColumnChartAndPercent = function convertToSeriesColumnChartAndPercent(dataCharts, data, isHardQuestion) {
30427
30442
  return dataCharts.map(function (dataName) {
30428
30443
  return {
30429
- name: dataName,
30444
+ name: dataName.questionName,
30445
+ questionTranslation: dataName.questionTranslationName,
30430
30446
  data: data.map(function (i) {
30431
30447
  var questionItem = i.resultQuestion.find(function (question) {
30432
- return question.questionText.includes(dataName);
30448
+ return !isHardQuestion ? question.questionText.includes(dataName.questionName) : question.questionText == dataName.questionName;
30433
30449
  });
30434
30450
  return !!questionItem ? questionItem.avgOfStudentChoice : 0;
30435
30451
  })
@@ -30685,6 +30701,9 @@ var useDashboard = function useDashboard() {
30685
30701
  var user = reactRedux.useSelector(function (state) {
30686
30702
  return state.common.user;
30687
30703
  });
30704
+ var language = reactRedux.useSelector(function (state) {
30705
+ return state.common.language;
30706
+ });
30688
30707
 
30689
30708
  var _useState14 = React.useState(undefined),
30690
30709
  studentDefault = _useState14[0],
@@ -30733,16 +30752,12 @@ var useDashboard = function useDashboard() {
30733
30752
  setActiveColumnPreparedness = _useState23[1];
30734
30753
 
30735
30754
  var _useState24 = React.useState([]),
30736
- dataConvertedOneToOne = _useState24[0],
30737
- setDataConvertedOneToOne = _useState24[1];
30755
+ monthsOneToOne = _useState24[0],
30756
+ setMonthsOneToOne = _useState24[1];
30738
30757
 
30739
30758
  var _useState25 = React.useState([]),
30740
- monthsOneToOne = _useState25[0],
30741
- setMonthsOneToOne = _useState25[1];
30742
-
30743
- var _useState26 = React.useState([]),
30744
- dayOfWeekOneToOne = _useState26[0],
30745
- setDayOfWeekOneToOne = _useState26[1];
30759
+ dayOfWeekOneToOne = _useState25[0],
30760
+ setDayOfWeekOneToOne = _useState25[1];
30746
30761
 
30747
30762
  var handleSetDataChartOneToOne = function handleSetDataChartOneToOne(data) {
30748
30763
  var _data$overviewQuestio;
@@ -30790,10 +30805,10 @@ var useDashboard = function useDashboard() {
30790
30805
  name: r.name,
30791
30806
  data: r.data.map(function (i) {
30792
30807
  return i / 2 + 50;
30793
- })
30808
+ }),
30809
+ questionTranslation: r.questionTranslation
30794
30810
  };
30795
30811
  });
30796
- setDataConvertedOneToOne(questions);
30797
30812
  setDayOfWeekOneToOne(dayOfWeeks);
30798
30813
  setMonthsOneToOne(months);
30799
30814
  setStressData(stressDataConvert);
@@ -30820,37 +30835,33 @@ var useDashboard = function useDashboard() {
30820
30835
  }
30821
30836
  };
30822
30837
 
30823
- var _useState27 = React.useState(initStudentPressure),
30824
- studentPressure = _useState27[0],
30825
- setStudentPressure = _useState27[1];
30838
+ var _useState26 = React.useState(initStudentPressure),
30839
+ studentPressure = _useState26[0],
30840
+ setStudentPressure = _useState26[1];
30841
+
30842
+ var _useState27 = React.useState(INITIAL_OVERALL_READY_TO_LEARN),
30843
+ dataOverallReadyToLearn = _useState27[0],
30844
+ setDataOverallReadyToLearn = _useState27[1];
30826
30845
 
30827
- var _useState28 = React.useState(INITIAL_OVERALL_READY_TO_LEARN),
30828
- dataOverallReadyToLearn = _useState28[0],
30829
- setDataOverallReadyToLearn = _useState28[1];
30846
+ var _useState28 = React.useState([]),
30847
+ seriesConference = _useState28[0],
30848
+ setSeriesConference = _useState28[1];
30830
30849
 
30831
30850
  var _useState29 = React.useState([]),
30832
- seriesConference = _useState29[0],
30833
- setSeriesConference = _useState29[1];
30851
+ activeColumnConference = _useState29[0],
30852
+ setActiveColumnConference = _useState29[1];
30834
30853
 
30835
30854
  var _useState30 = React.useState([]),
30836
- activeColumnConference = _useState30[0],
30837
- setActiveColumnConference = _useState30[1];
30855
+ avgConferenceLastMonth = _useState30[0],
30856
+ setAvgConferenceLastMonth = _useState30[1];
30838
30857
 
30839
30858
  var _useState31 = React.useState([]),
30840
- avgConferenceLastMonth = _useState31[0],
30841
- setAvgConferenceLastMonth = _useState31[1];
30859
+ monthsConference = _useState31[0],
30860
+ setMonthsConference = _useState31[1];
30842
30861
 
30843
30862
  var _useState32 = React.useState([]),
30844
- dataConvertedConference = _useState32[0],
30845
- setDataConvertedConference = _useState32[1];
30846
-
30847
- var _useState33 = React.useState([]),
30848
- monthsConference = _useState33[0],
30849
- setMonthsConference = _useState33[1];
30850
-
30851
- var _useState34 = React.useState([]),
30852
- dayOfWeekConference = _useState34[0],
30853
- setDayOfWeekConference = _useState34[1];
30863
+ dayOfWeekConference = _useState32[0],
30864
+ setDayOfWeekConference = _useState32[1];
30854
30865
 
30855
30866
  var handleSetDataChartConference = function handleSetDataChartConference(data) {
30856
30867
  var _data$overviewQuestio2;
@@ -30874,7 +30885,6 @@ var useDashboard = function useDashboard() {
30874
30885
  }
30875
30886
  }
30876
30887
 
30877
- setDataConvertedConference(questions);
30878
30888
  setDayOfWeekConference(dayOfWeeks);
30879
30889
  setMonthsConference(months);
30880
30890
  setSeriesConference(newSeriesConference);
@@ -30891,8 +30901,11 @@ var useDashboard = function useDashboard() {
30891
30901
  try {
30892
30902
  var _temp2 = _catch(function () {
30893
30903
  return Promise.resolve(type ? apiCaller(_extends({}, filter, {
30894
- type: type
30895
- })) : apiCaller(filter)).then(function (res) {
30904
+ type: type,
30905
+ language: language
30906
+ })) : apiCaller(_extends({}, filter, {
30907
+ language: language
30908
+ }))).then(function (res) {
30896
30909
  if (type == "academicyear") {
30897
30910
  !!(res !== null && res !== void 0 && res.data) && setData(res.data.items);
30898
30911
  } else {
@@ -30913,7 +30926,7 @@ var useDashboard = function useDashboard() {
30913
30926
  } catch (e) {
30914
30927
  return Promise.reject(e);
30915
30928
  }
30916
- }, [filter]);
30929
+ }, [filter, language]);
30917
30930
 
30918
30931
  var handleFilterTeacher = function handleFilterTeacher(option) {
30919
30932
  if (option != null) {
@@ -31016,7 +31029,7 @@ var useDashboard = function useDashboard() {
31016
31029
  var _temp8 = function () {
31017
31030
  if (!!academicYear && academicYear.length > 0) {
31018
31031
  dispatch(marioCore.setLoading(true));
31019
- return Promise.resolve(Promise.any([callApi(getAllTotalTime, setListTotalTime, []), callApi(getReadinessToLearning, setReadinessToLearning, []), callApi(getTopLearningStrategies, setTopLearningStrategies, []), callApi(getStudentByGrade, setStudentByGrade, []), callApi(getOverviewQuestionChart, handleSetDataChartOneToOne, [], "OneToOne"), callApi(getOverviewQuestionChart, handleSetDataChartConference, [], "Conference"), callApi(getFriendCircleItems, setFriendCircles, INITIAL_BEST_FRIENDS), callApi(getActivityCircleItems, setActivityCircles, INITIAL_ACTIVITY_FRIENDS), callApi(getStudentBySpecialNeed, setStudentBySpecialNeed, []), callApi(getStudentByAge, setStudentByAge, INITIAL_AGE_OF_STUDENT), callApi(getStudentByGender, setStudentByGender, []), callApi(getStudentPressure, setStudentPressure, initStudentPressure), callApi(getOverallReadinessToLearn, setDataOverallReadyToLearn, INITIAL_OVERALL_READY_TO_LEARN)])).then(function () {
31032
+ return Promise.resolve(Promise.any([callApi(getAllTotalTime, setListTotalTime, []), callApi(getReadinessToLearning, setReadinessToLearning, []), callApi(getTopLearningStrategies, setTopLearningStrategies, []), callApi(getStudentByGrade, setStudentByGrade, []), callApi(getFriendCircleItems, setFriendCircles, INITIAL_BEST_FRIENDS), callApi(getActivityCircleItems, setActivityCircles, INITIAL_ACTIVITY_FRIENDS), callApi(getStudentBySpecialNeed, setStudentBySpecialNeed, []), callApi(getStudentByAge, setStudentByAge, INITIAL_AGE_OF_STUDENT), callApi(getStudentByGender, setStudentByGender, []), callApi(getStudentPressure, setStudentPressure, initStudentPressure)])).then(function () {
31020
31033
  dispatch(marioCore.setLoading(false));
31021
31034
  });
31022
31035
  }
@@ -31027,9 +31040,28 @@ var useDashboard = function useDashboard() {
31027
31040
  return Promise.reject(e);
31028
31041
  }
31029
31042
  }, [filter]);
31043
+ var getChartDataLanguage = React.useCallback(function () {
31044
+ try {
31045
+ var _temp10 = function () {
31046
+ if (!!academicYear && academicYear.length > 0) {
31047
+ dispatch(marioCore.setLoading(true));
31048
+ return Promise.resolve(Promise.any([callApi(getOverviewQuestionChart, handleSetDataChartOneToOne, [], "OneToOne"), callApi(getOverviewQuestionChart, handleSetDataChartConference, [], "Conference"), callApi(getOverallReadinessToLearn, setDataOverallReadyToLearn, INITIAL_OVERALL_READY_TO_LEARN)])).then(function () {
31049
+ dispatch(marioCore.setLoading(false));
31050
+ });
31051
+ }
31052
+ }();
31053
+
31054
+ return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(function () {}) : void 0);
31055
+ } catch (e) {
31056
+ return Promise.reject(e);
31057
+ }
31058
+ }, [filter, language]);
31030
31059
  React.useEffect(function () {
31031
31060
  getData();
31032
31061
  }, [filter]);
31062
+ React.useEffect(function () {
31063
+ getChartDataLanguage();
31064
+ }, [filter, language]);
31033
31065
  React.useEffect(function () {
31034
31066
  !!filter.studentUserId && callApiByStudentUserId(getGrades, setGradeList, filter.studentUserId, []);
31035
31067
  callApi(getBandScore, setBandScore, []);
@@ -31062,7 +31094,6 @@ var useDashboard = function useDashboard() {
31062
31094
  handleFilterTeacher: handleFilterTeacher,
31063
31095
  onChangeFilters: onChangeFilters,
31064
31096
  handleActiveColumnOneToOne: handleActiveColumnOneToOne,
31065
- dataConvertedOneToOne: dataConvertedOneToOne,
31066
31097
  monthsOneToOne: monthsOneToOne,
31067
31098
  dayOfWeekOneToOne: dayOfWeekOneToOne,
31068
31099
  stressData: stressData,
@@ -31077,7 +31108,6 @@ var useDashboard = function useDashboard() {
31077
31108
  dataOverallReadyToLearn: dataOverallReadyToLearn,
31078
31109
  seriesConference: seriesConference,
31079
31110
  avgConferenceLastMonth: avgConferenceLastMonth,
31080
- dataConvertedConference: dataConvertedConference,
31081
31111
  monthsConference: monthsConference,
31082
31112
  dayOfWeekConference: dayOfWeekConference,
31083
31113
  handleActiveColumnConference: handleActiveColumnConference,
@@ -31118,7 +31148,6 @@ var useChartDatas = function useChartDatas() {
31118
31148
  gradeList = _useDashboard.gradeList,
31119
31149
  seriesConference = _useDashboard.seriesConference,
31120
31150
  avgConferenceLastMonth = _useDashboard.avgConferenceLastMonth,
31121
- dataConvertedConference = _useDashboard.dataConvertedConference,
31122
31151
  monthsConference = _useDashboard.monthsConference,
31123
31152
  dayOfWeekConference = _useDashboard.dayOfWeekConference,
31124
31153
  handleActiveColumnConference = _useDashboard.handleActiveColumnConference,
@@ -31294,7 +31323,6 @@ var useChartDatas = function useChartDatas() {
31294
31323
  stressData: stressData,
31295
31324
  seriesConference: seriesConference,
31296
31325
  avgConferenceLastMonth: avgConferenceLastMonth,
31297
- dataConvertedConference: dataConvertedConference,
31298
31326
  monthsConference: monthsConference,
31299
31327
  dayOfWeekConference: dayOfWeekConference,
31300
31328
  handleActiveColumnConference: handleActiveColumnConference,
@@ -32303,9 +32331,15 @@ var GenerateChartData = function GenerateChartData(_ref) {
32303
32331
  _loop(i);
32304
32332
  }
32305
32333
 
32306
- var newSeries = series.filter(function (_r, index) {
32307
- return activeColumn[index] == true;
32308
- }) || [];
32334
+ var newSeries = series.filter(function (_, index) {
32335
+ return activeColumn[index];
32336
+ }).map(function (r) {
32337
+ return {
32338
+ data: r.data,
32339
+ name: r.questionTranslation,
32340
+ questionTranslation: r.questionTranslation
32341
+ };
32342
+ });
32309
32343
  var seriesDonut = series.map(function (r) {
32310
32344
  return r.data[0] || 0;
32311
32345
  }) || [];
@@ -32357,7 +32391,7 @@ var GenerateChartData = function GenerateChartData(_ref) {
32357
32391
  }
32358
32392
  }), React__default.createElement("label", {
32359
32393
  className: "" + styles$1["label-chart"]
32360
- }, item.name)), React__default.createElement("p", {
32394
+ }, item.questionTranslation)), React__default.createElement("p", {
32361
32395
  className: "" + styles$1["avr-question"]
32362
32396
  }, "" + ((_handleGenerateAvgQue = handleGenerateAvgQuestion(item.data, min == -100, avgContent)) != null ? _handleGenerateAvgQue : 0)), React__default.createElement("div", {
32363
32397
  hidden: avgs.length == 0 || !timeOfDay,
@@ -44818,11 +44852,13 @@ var useSandbox = function useSandbox() {
44818
44852
  var redirectLogin = function redirectLogin(isSandboxMode) {
44819
44853
  alert("Sandbox mode is " + (isSandboxMode ? "on" : "off") + " now but cannot switch to your sandbox account! You need to login manually");
44820
44854
  localStorage.removeItem(marioCore.ACCESS_TOKEN);
44855
+ sessionStorage.removeItem(marioCore.ACCESS_TOKEN);
44821
44856
  dispatch(marioCore.reset());
44822
44857
  history.push("/login");
44823
44858
  };
44824
44859
 
44825
44860
  var changeUser = function changeUser(data, isSandboxMode) {
44861
+ var isSessionUserBrowser = sessionStorage.getItem("IS_USER_SESSION_BROWSER");
44826
44862
  var token = data.token,
44827
44863
  id = data.id,
44828
44864
  firstName = data.firstName,
@@ -44830,7 +44866,13 @@ var useSandbox = function useSandbox() {
44830
44866
  roles = data.roles,
44831
44867
  email = data.email,
44832
44868
  profileImageFileName = data.profileImageFileName;
44833
- localStorage.setItem(marioCore.ACCESS_TOKEN, token);
44869
+
44870
+ if (!isSessionUserBrowser) {
44871
+ localStorage.setItem(marioCore.ACCESS_TOKEN, token);
44872
+ } else {
44873
+ sessionStorage.setItem(marioCore.ACCESS_TOKEN, token);
44874
+ }
44875
+
44834
44876
  localStorage.removeItem(marioCore.NOTIFICATION_ALERT_KEY);
44835
44877
  localStorage.removeItem("SESSION_TIME");
44836
44878
  dispatch(marioCore.setUser({