mario-core 2.8.2 → 2.9.0

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.
@@ -0,0 +1,7 @@
1
+ import { FC } from "react";
2
+ interface Props {
3
+ title?: string;
4
+ descriptions?: string;
5
+ }
6
+ declare const BlockForgotPass: FC<Props>;
7
+ export default BlockForgotPass;
@@ -0,0 +1,7 @@
1
+ import { FC } from "react";
2
+ import { Notification } from "../../../types/Notification";
3
+ interface Props {
4
+ notificationList: Notification[];
5
+ }
6
+ declare const NotificationList: FC<Props>;
7
+ export default NotificationList;
@@ -11,5 +11,7 @@ declare const useNotificationList: () => {
11
11
  changeFilters: (objectValue: any) => void;
12
12
  updateNotification: (id: any, isRead: any) => void;
13
13
  viewNotification: (notification: any) => void;
14
+ updateAll: () => Promise<void>;
15
+ toggleUpdateAllStatus: boolean;
14
16
  };
15
17
  export default useNotificationList;
@@ -19,5 +19,6 @@ declare const useUserDetail: (id?: string | undefined) => {
19
19
  setEdited: import("react").Dispatch<import("react").SetStateAction<boolean>>;
20
20
  setEditedTrue: () => Promise<void>;
21
21
  confirmChangePassword: (data: any) => Promise<void>;
22
+ forgotPasswordRequest: (data: any) => Promise<void>;
22
23
  };
23
24
  export default useUserDetail;
package/dist/index.d.ts CHANGED
@@ -57,7 +57,7 @@ import getFileUrl from "./utils/getFileUrl";
57
57
  import getTextFromHTML from "./utils/getTextFromHTML";
58
58
  import utcToLocalTime from "./utils/utcToLocalTime";
59
59
  import { uploadFile, systemStudentBadge, systemCertificateUpload } from "./services/fileServices";
60
- import { setLoading, setModal, setAlert, setUser, reset, setCurrentStudentId, setCurrentStudentUserId, setCurrentStudentName, setTurnOffPassWhenChangeMode, showMenuBar } from "./redux/commons/action";
60
+ import { setLoading, setModal, setAlert, setUser, reset, setCurrentStudentId, setCurrentStudentUserId, setCurrentStudentName, setTurnOffPassWhenChangeMode, showMenuBar, showFontSize } from "./redux/commons/action";
61
61
  import { setClassList } from "./redux/classes/action";
62
62
  import { setConferenceRubricList } from "./redux/conferenceRubrics/action";
63
63
  import { setSuggestionList } from "./redux/suggestionBanks/action";
@@ -100,4 +100,4 @@ import { setFilterWidget } from "./redux/widget/action";
100
100
  import { setBandScoreList } from "./redux/bandScores/action";
101
101
  import { setStudentIdSelectedByTeacher } from "./redux/navMobile/action";
102
102
  import useFilters from "./hooks/useFilters";
103
- export { Login, Dashboard, TheLayout, TheContent, NotFound, EmailTemplateList, EmailTemplateDetail, FaqList, SkillList, UserList, UserDetail, Loading, NotificationModal, CommonHeader, CommonModal, AddButton, DeleteButtonIcon, EditButtonIcon, LinkEditButton, ToggleButton, EmptyDataAlert, CreatableSelector, CustomPagination, SearchBox, FileInput, QuitPrompt, QuestionTypeSelector, QuestionCategorySelector, SuggestionCategorySelector, ErrorHandler, DetailActionButtons, RequiredLabel, StarRatingSelector, ReactNotification, NotificationList, CustomSelector, UploadFileButton, SearchBoxContainer, CustomTab, CommonAlert, GalleryList, MediaList, useGalleryList, AcademicClassSelector, SchoolList, store, showMenuBar, setLoading, setModal, setAlert, setClassList, setConferenceRubricList, setSuggestionList, setStrategyList, setSubjectList, setLearningSupportCategoryList, setQuestionList, setUserList, setStudentList, setBadgeList, setGoalExampleList, setSemesterList, setFeedbackList, setAssessmentList, setQuestionByCategory, setSelectQuestion, setMoveItemQuestion, setReflectionList, setReflectionResultList, setEditItemQuesion, setResetQuestionList, setMailCategory, setUser, setAssignmentList, setAssistantList, setSessionTemplateList, setTutorialScreenList, setSessionTemplateGeneralClassList, setCustomAlertList, setCertificateList, closeTab, addTab, editTab, clearTab, changeNote, changeTags, answerQuestion, setSessionPlayer, setStartTime, setTurnOffPassWhenChangeMode, reset, setImproveMyClass, setSchoolBlankDayList, api, apiUpload, uploadFile, systemStudentBadge, systemCertificateUpload, BASE_URL, DEFAULT_FILTER, LICENSE_AGGRID, TINY_MCE_API_KEY, QUESTION_TYPES, QUESTION_TYPES_OPTIONS, ANSWER_EDITOR_HEIGHT, CHAT_CHANNEL, NOTIFICATION_CHANNEL, DATE_RESULT, DATE_FORMAT, FULL_DATE_RESULT, ACCESS_TOKEN, GOOGLE_RECAPTCHA_KEY, EMOTIONS, TAB_COLORS, Filter, Conversation, Message, ConversationMember, NavbarTab, editorConfig, generateRandomString, isInViewport, debounce, firstCheckToken, canAccessRoute, getFileUrl, getTextFromHTML, utcToLocalTime, getInfo, Images, setQuestionCateList, setMyStudent, setDataPlayer, answerQuestionDataPlayer, setCurrentStudentUserId, setCurrentStudentId, setCurrentStudentName, setFilterWidget, setBandScoreList, setStudentIdSelectedByTeacher, useFilters };
103
+ export { Login, Dashboard, TheLayout, TheContent, NotFound, EmailTemplateList, EmailTemplateDetail, FaqList, SkillList, UserList, UserDetail, Loading, NotificationModal, CommonHeader, CommonModal, AddButton, DeleteButtonIcon, EditButtonIcon, LinkEditButton, ToggleButton, EmptyDataAlert, CreatableSelector, CustomPagination, SearchBox, FileInput, QuitPrompt, QuestionTypeSelector, QuestionCategorySelector, SuggestionCategorySelector, ErrorHandler, DetailActionButtons, RequiredLabel, StarRatingSelector, ReactNotification, NotificationList, CustomSelector, UploadFileButton, SearchBoxContainer, CustomTab, CommonAlert, GalleryList, MediaList, useGalleryList, AcademicClassSelector, SchoolList, store, showMenuBar, showFontSize, setLoading, setModal, setAlert, setClassList, setConferenceRubricList, setSuggestionList, setStrategyList, setSubjectList, setLearningSupportCategoryList, setQuestionList, setUserList, setStudentList, setBadgeList, setGoalExampleList, setSemesterList, setFeedbackList, setAssessmentList, setQuestionByCategory, setSelectQuestion, setMoveItemQuestion, setReflectionList, setReflectionResultList, setEditItemQuesion, setResetQuestionList, setMailCategory, setUser, setAssignmentList, setAssistantList, setSessionTemplateList, setTutorialScreenList, setSessionTemplateGeneralClassList, setCustomAlertList, setCertificateList, closeTab, addTab, editTab, clearTab, changeNote, changeTags, answerQuestion, setSessionPlayer, setStartTime, setTurnOffPassWhenChangeMode, reset, setImproveMyClass, setSchoolBlankDayList, api, apiUpload, uploadFile, systemStudentBadge, systemCertificateUpload, BASE_URL, DEFAULT_FILTER, LICENSE_AGGRID, TINY_MCE_API_KEY, QUESTION_TYPES, QUESTION_TYPES_OPTIONS, ANSWER_EDITOR_HEIGHT, CHAT_CHANNEL, NOTIFICATION_CHANNEL, DATE_RESULT, DATE_FORMAT, FULL_DATE_RESULT, ACCESS_TOKEN, GOOGLE_RECAPTCHA_KEY, EMOTIONS, TAB_COLORS, Filter, Conversation, Message, ConversationMember, NavbarTab, editorConfig, generateRandomString, isInViewport, debounce, firstCheckToken, canAccessRoute, getFileUrl, getTextFromHTML, utcToLocalTime, getInfo, Images, setQuestionCateList, setMyStudent, setDataPlayer, answerQuestionDataPlayer, setCurrentStudentUserId, setCurrentStudentId, setCurrentStudentName, setFilterWidget, setBandScoreList, setStudentIdSelectedByTeacher, useFilters };
package/dist/index.js CHANGED
@@ -230,6 +230,7 @@ var setSidebar = toolkit.createAction("common/setSidebar");
230
230
  var setAlert = toolkit.createAction("common/setAlert");
231
231
  var reset = toolkit.createAction("common/reset");
232
232
  var showMenuBar = toolkit.createAction("common/showMenuBar");
233
+ var showFontSize = toolkit.createAction("common/showFontSize");
233
234
  var setCurrentStudentId = toolkit.createAction("common/setCurrentStudentId");
234
235
  var setCurrentStudentUserId = toolkit.createAction("common/setCurrentStudentUserId");
235
236
  var setCurrentStudentName = toolkit.createAction("common/setCurrentStudentName");
@@ -838,7 +839,8 @@ var BlockResetPassword = function BlockResetPassword() {
838
839
  }, "Reset Password"), React__default.createElement("div", {
839
840
  className: "w-100"
840
841
  }, validLink ? React__default.createElement(React__default.Fragment, null, React__default.createElement(reactstrap.Label, {
841
- "for": "emailForgot"
842
+ "for": "emailForgot",
843
+ className: "mb-3"
842
844
  }, "New password"), React__default.createElement(PasswordInput, {
843
845
  isShowPassword: isShowNewPassword,
844
846
  togglePasswordVisible: function togglePasswordVisible() {
@@ -850,7 +852,8 @@ var BlockResetPassword = function BlockResetPassword() {
850
852
  }), touched.password && errors.password && React__default.createElement(ErrorHandler, {
851
853
  text: errors.password
852
854
  }), React__default.createElement(reactstrap.Label, {
853
- "for": "emailForgot"
855
+ "for": "emailForgot",
856
+ className: "mt-3 mb-3"
854
857
  }, "Re-enter new password"), React__default.createElement(PasswordInput, {
855
858
  isShowPassword: isShowReTypePassword,
856
859
  togglePasswordVisible: function togglePasswordVisible() {
@@ -1188,6 +1191,9 @@ var getUnReadNotifications = function getUnReadNotifications() {
1188
1191
  var updateStatusNotification = function updateStatusNotification(id) {
1189
1192
  return api.put(NOTIFICATION_URL + "/" + id);
1190
1193
  };
1194
+ var updateAllStatus = function updateAllStatus() {
1195
+ return api.put(NOTIFICATION_URL + "/updateAllStatus");
1196
+ };
1191
1197
 
1192
1198
  var useUnReadNotification = function useUnReadNotification() {
1193
1199
  var dispatch = reactRedux.useDispatch();
@@ -3887,6 +3893,7 @@ var setStudentList = toolkit.createAction("users/setStudentList");
3887
3893
 
3888
3894
  var USER_URL = BASE_URL + "/api/user";
3889
3895
  var CHANGE_PASSWORD = BASE_URL + "/api/Account/changePassword";
3896
+ var ACCOUNT_URL$1 = BASE_URL + "/api/account";
3890
3897
  var get$5 = function get(filter) {
3891
3898
  return api.get("" + USER_URL, {
3892
3899
  params: filter
@@ -3907,6 +3914,9 @@ var remove$3 = function remove(id) {
3907
3914
  var changePassword = function changePassword(formData) {
3908
3915
  return api.post(CHANGE_PASSWORD, formData);
3909
3916
  };
3917
+ var forgotChangePassword = function forgotChangePassword(data) {
3918
+ return api.post(ACCOUNT_URL$1 + "/forgotchangepassword", data);
3919
+ };
3910
3920
 
3911
3921
  var USER_URL$1 = "/admin/user";
3912
3922
  var CREATE_USER_URL = "/admin/create-user";
@@ -4448,6 +4458,35 @@ var useUserDetail = function useUserDetail(id) {
4448
4458
  }
4449
4459
  };
4450
4460
 
4461
+ var forgotPasswordRequest = React.useCallback(function (data) {
4462
+ try {
4463
+ var _temp17 = function _temp17() {
4464
+ dispatch(setLoading(false));
4465
+ };
4466
+
4467
+ dispatch(setLoading(true));
4468
+
4469
+ var _temp18 = _catch(function () {
4470
+ return Promise.resolve(forgotChangePassword(data)).then(function () {
4471
+ dispatch(setAlert({
4472
+ type: "success",
4473
+ message: "Send forgot password link successfully"
4474
+ }));
4475
+ });
4476
+ }, function (err) {
4477
+ var _err$response3, _err$response3$data;
4478
+
4479
+ dispatch(setAlert({
4480
+ type: "danger",
4481
+ 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 || "Error occured"
4482
+ }));
4483
+ });
4484
+
4485
+ return Promise.resolve(_temp18 && _temp18.then ? _temp18.then(_temp17) : _temp17(_temp18));
4486
+ } catch (e) {
4487
+ return Promise.reject(e);
4488
+ }
4489
+ }, []);
4451
4490
  return {
4452
4491
  userDetail: userDetail,
4453
4492
  backToList: backToList,
@@ -4457,7 +4496,8 @@ var useUserDetail = function useUserDetail(id) {
4457
4496
  edited: edited,
4458
4497
  setEdited: setEdited,
4459
4498
  setEditedTrue: setEditedTrue,
4460
- confirmChangePassword: confirmChangePassword
4499
+ confirmChangePassword: confirmChangePassword,
4500
+ forgotPasswordRequest: forgotPasswordRequest
4461
4501
  };
4462
4502
  };
4463
4503
 
@@ -4503,7 +4543,8 @@ var UserDetail = function UserDetail() {
4503
4543
  edited = _useUserDetail.edited,
4504
4544
  setEdited = _useUserDetail.setEdited,
4505
4545
  setEditedTrue = _useUserDetail.setEditedTrue,
4506
- confirmChangePassword = _useUserDetail.confirmChangePassword;
4546
+ confirmChangePassword = _useUserDetail.confirmChangePassword,
4547
+ forgotPasswordRequest = _useUserDetail.forgotPasswordRequest;
4507
4548
 
4508
4549
  var initialValueForm = {
4509
4550
  oldPassword: "",
@@ -4518,6 +4559,18 @@ var UserDetail = function UserDetail() {
4518
4559
  window.open(url);
4519
4560
  };
4520
4561
 
4562
+ var onResetPw = function onResetPw(email) {
4563
+ try {
4564
+ var data = {
4565
+ email: email
4566
+ };
4567
+ forgotPasswordRequest(data);
4568
+ return Promise.resolve();
4569
+ } catch (e) {
4570
+ return Promise.reject(e);
4571
+ }
4572
+ };
4573
+
4521
4574
  return React__default.createElement(formik.Formik, {
4522
4575
  initialValues: userDetail,
4523
4576
  enableReinitialize: true,
@@ -4557,18 +4610,7 @@ var UserDetail = function UserDetail() {
4557
4610
  className: "animated fadeIn detail-buttons-padding"
4558
4611
  }, React__default.createElement(QuitPrompt, {
4559
4612
  when: edited
4560
- }), !!id && React__default.createElement(reactstrap.Row, {
4561
- className: "pt-2"
4562
- }, React__default.createElement(reactstrap.Col, {
4563
- md: 10
4564
- }, " "), React__default.createElement(reactstrap.Col, {
4565
- md: 2
4566
- }, React__default.createElement(reactstrap.Button, {
4567
- color: "success",
4568
- onClick: function onClick() {
4569
- getFile();
4570
- }
4571
- }, "Download user data"), " ")), React__default.createElement("h5", {
4613
+ }), React__default.createElement("h5", {
4572
4614
  className: "mb-2"
4573
4615
  }, header), React__default.createElement(reactstrap.Row, {
4574
4616
  className: "pt-2"
@@ -4696,7 +4738,22 @@ var UserDetail = function UserDetail() {
4696
4738
  onChange: function onChange() {
4697
4739
  return setFieldValue("isActive", false);
4698
4740
  }
4699
- }))))))), React__default.createElement(reactstrap.Col, {
4741
+ })))))), !!id && React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
4742
+ md: 6
4743
+ }), React__default.createElement(reactstrap.Col, {
4744
+ md: 6
4745
+ }, React__default.createElement(reactstrap.Button, {
4746
+ color: "primary",
4747
+ onClick: function onClick() {
4748
+ onResetPw(values.email || "");
4749
+ }
4750
+ }, "Send forgot password link"), React__default.createElement(reactstrap.Button, {
4751
+ color: "success",
4752
+ onClick: function onClick() {
4753
+ getFile();
4754
+ },
4755
+ className: "ml-4"
4756
+ }, "Download user data")))), React__default.createElement(reactstrap.Col, {
4700
4757
  md: 4
4701
4758
  }, React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
4702
4759
  md: 8
@@ -5192,6 +5249,10 @@ var useNotificationList = function useNotificationList() {
5192
5249
  filters = _useState[0],
5193
5250
  setFilters = _useState[1];
5194
5251
 
5252
+ var _useState2 = React.useState(false),
5253
+ toggleUpdateAllStatus = _useState2[0],
5254
+ setToggleUpdateAllStatus = _useState2[1];
5255
+
5195
5256
  var changeFilters = function changeFilters(objectValue) {
5196
5257
  return setFilters(_extends({}, filters, objectValue));
5197
5258
  };
@@ -5292,6 +5353,40 @@ var useNotificationList = function useNotificationList() {
5292
5353
  }));
5293
5354
  }
5294
5355
  }, [notificationList, unReadNotification]);
5356
+ var updateAll = React.useCallback(function () {
5357
+ try {
5358
+ try {
5359
+ if (notificationList.length === 0) throw new Error("There are no unread messages");
5360
+ dispatch(setModal({
5361
+ isOpen: true,
5362
+ type: "warning",
5363
+ message: "Do you want to mark all notification ?",
5364
+ onConfirm: function () {
5365
+ try {
5366
+ setToggleUpdateAllStatus(true);
5367
+ return Promise.resolve(updateAllStatus()).then(function () {
5368
+ getData();
5369
+ setToggleUpdateAllStatus(false);
5370
+ });
5371
+ } catch (e) {
5372
+ return Promise.reject(e);
5373
+ }
5374
+ }
5375
+ }));
5376
+ } catch (err) {
5377
+ var _err$response3, _err$response3$data;
5378
+
5379
+ dispatch(setAlert({
5380
+ type: "danger",
5381
+ 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
5382
+ }));
5383
+ }
5384
+
5385
+ return Promise.resolve();
5386
+ } catch (e) {
5387
+ return Promise.reject(e);
5388
+ }
5389
+ }, [notificationList]);
5295
5390
  return {
5296
5391
  notificationList: notificationList,
5297
5392
  totalItems: totalItems,
@@ -5299,7 +5394,9 @@ var useNotificationList = function useNotificationList() {
5299
5394
  filters: filters,
5300
5395
  changeFilters: changeFilters,
5301
5396
  updateNotification: updateNotification,
5302
- viewNotification: viewNotification
5397
+ viewNotification: viewNotification,
5398
+ updateAll: updateAll,
5399
+ toggleUpdateAllStatus: toggleUpdateAllStatus
5303
5400
  };
5304
5401
  };
5305
5402
 
@@ -5313,7 +5410,9 @@ var NotificationList = function NotificationList() {
5313
5410
  filters = _useNotificationList.filters,
5314
5411
  changeFilters = _useNotificationList.changeFilters,
5315
5412
  updateNotification = _useNotificationList.updateNotification,
5316
- viewNotification = _useNotificationList.viewNotification;
5413
+ viewNotification = _useNotificationList.viewNotification,
5414
+ updateAll = _useNotificationList.updateAll,
5415
+ toggleUpdateAllStatus = _useNotificationList.toggleUpdateAllStatus;
5317
5416
 
5318
5417
  return React__default.createElement("div", {
5319
5418
  className: "animated fadeIn",
@@ -5347,8 +5446,18 @@ var NotificationList = function NotificationList() {
5347
5446
  className: "my-2 d-flex justify-content-center"
5348
5447
  }, React__default.createElement(reactstrap.Col, {
5349
5448
  md: 12,
5350
- className: "d-flex justify-content-end"
5351
- }, "Total of notifications: ", totalItems)), React__default.createElement(reactstrap.Row, {
5449
+ className: "d-flex justify-content-end align-items-center"
5450
+ }, filters.isRead === false && React__default.createElement("div", {
5451
+ className: "d-flex align-items-center justify-content-end mx-2"
5452
+ }, "Mark all as read", React__default.createElement(reactstrap.CustomInput, {
5453
+ checked: toggleUpdateAllStatus,
5454
+ className: "mx-2",
5455
+ type: "checkbox",
5456
+ id: "status-checkbox",
5457
+ onChange: function onChange() {
5458
+ return updateAll();
5459
+ }
5460
+ })), "Total of notifications: ", totalItems)), React__default.createElement(reactstrap.Row, {
5352
5461
  className: "mb-2"
5353
5462
  }, React__default.createElement(reactstrap.Col, {
5354
5463
  md: 12
@@ -6599,7 +6708,8 @@ var initialState = {
6599
6708
  currentStudentUserId: localStorage.getItem("currentStudentUserId") || "",
6600
6709
  currentStudentName: localStorage.getItem("currentStudentName") || "",
6601
6710
  turnOffPassWhenChangeMode: false,
6602
- menuBar: true
6711
+ menuBar: true,
6712
+ defaultFontSize: 16
6603
6713
  };
6604
6714
  var commonReducer = toolkit.createReducer(initialState, function (builder) {
6605
6715
  builder.addCase(setLoading, function (state, action) {
@@ -6627,6 +6737,8 @@ var commonReducer = toolkit.createReducer(initialState, function (builder) {
6627
6737
  state.turnOffPassWhenChangeMode = action.payload;
6628
6738
  }).addCase(showMenuBar, function (state, action) {
6629
6739
  state.menuBar = action.payload;
6740
+ }).addCase(showFontSize, function (state, action) {
6741
+ state.defaultFontSize = action.payload;
6630
6742
  });
6631
6743
  });
6632
6744
 
@@ -7665,6 +7777,7 @@ exports.setTurnOffPassWhenChangeMode = setTurnOffPassWhenChangeMode;
7665
7777
  exports.setTutorialScreenList = setTutorialScreenList;
7666
7778
  exports.setUser = setUser;
7667
7779
  exports.setUserList = setUserList;
7780
+ exports.showFontSize = showFontSize;
7668
7781
  exports.showMenuBar = showMenuBar;
7669
7782
  exports.store = store;
7670
7783
  exports.systemCertificateUpload = systemCertificateUpload;