mario-core 2.9.116-beta → 2.9.121-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -34,7 +34,6 @@ var Creatable = _interopDefault(require('react-select/creatable'));
34
34
  var ReactNotification$1 = _interopDefault(require('react-notifications-component'));
35
35
  require('react-notifications-component/dist/theme.css');
36
36
  var ai = require('react-icons/ai');
37
- require('symbol-observable');
38
37
 
39
38
  var dashboard = "Dashboard";
40
39
  var user = "User";
@@ -2405,6 +2404,7 @@ var styles = {"btn-login-google":"_2HqmH","notification-count":"_2sew7","text-in
2405
2404
  var style = {
2406
2405
  fontSize: "0.85rem"
2407
2406
  };
2407
+
2408
2408
  var ErrorHandler = function ErrorHandler(_ref) {
2409
2409
  var text = _ref.text;
2410
2410
  return React__default.createElement("p", {
@@ -2429,10 +2429,11 @@ var eyeIconStyle = {
2429
2429
  position: "absolute",
2430
2430
  right: "10px"
2431
2431
  };
2432
+
2432
2433
  var PasswordInput = function PasswordInput(_ref) {
2433
2434
  var isShowPassword = _ref.isShowPassword,
2434
- togglePasswordVisible = _ref.togglePasswordVisible,
2435
- onChange = _ref.onChange;
2435
+ togglePasswordVisible = _ref.togglePasswordVisible,
2436
+ onChange = _ref.onChange;
2436
2437
  return React__default.createElement("div", {
2437
2438
  className: "d-flex align-items-center w-100",
2438
2439
  style: containerStyle
@@ -2455,34 +2456,42 @@ var PasswordInput = function PasswordInput(_ref) {
2455
2456
  };
2456
2457
 
2457
2458
  function _extends() {
2458
- _extends = Object.assign ? Object.assign.bind() : function (target) {
2459
+ _extends = Object.assign || function (target) {
2459
2460
  for (var i = 1; i < arguments.length; i++) {
2460
2461
  var source = arguments[i];
2462
+
2461
2463
  for (var key in source) {
2462
2464
  if (Object.prototype.hasOwnProperty.call(source, key)) {
2463
2465
  target[key] = source[key];
2464
2466
  }
2465
2467
  }
2466
2468
  }
2469
+
2467
2470
  return target;
2468
2471
  };
2472
+
2469
2473
  return _extends.apply(this, arguments);
2470
2474
  }
2475
+
2471
2476
  function _objectDestructuringEmpty(obj) {
2472
- if (obj == null) throw new TypeError("Cannot destructure " + obj);
2477
+ if (obj == null) throw new TypeError("Cannot destructure undefined");
2473
2478
  }
2479
+
2474
2480
  function _objectWithoutPropertiesLoose(source, excluded) {
2475
2481
  if (source == null) return {};
2476
2482
  var target = {};
2477
2483
  var sourceKeys = Object.keys(source);
2478
2484
  var key, i;
2485
+
2479
2486
  for (i = 0; i < sourceKeys.length; i++) {
2480
2487
  key = sourceKeys[i];
2481
2488
  if (excluded.indexOf(key) >= 0) continue;
2482
2489
  target[key] = source[key];
2483
2490
  }
2491
+
2484
2492
  return target;
2485
2493
  }
2494
+
2486
2495
  function _unsupportedIterableToArray(o, minLen) {
2487
2496
  if (!o) return;
2488
2497
  if (typeof o === "string") return _arrayLikeToArray(o, minLen);
@@ -2491,28 +2500,38 @@ function _unsupportedIterableToArray(o, minLen) {
2491
2500
  if (n === "Map" || n === "Set") return Array.from(o);
2492
2501
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
2493
2502
  }
2503
+
2494
2504
  function _arrayLikeToArray(arr, len) {
2495
2505
  if (len == null || len > arr.length) len = arr.length;
2506
+
2496
2507
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
2508
+
2497
2509
  return arr2;
2498
2510
  }
2511
+
2499
2512
  function _createForOfIteratorHelperLoose(o, allowArrayLike) {
2500
- var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
2501
- if (it) return (it = it.call(o)).next.bind(it);
2502
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
2503
- if (it) o = it;
2504
- var i = 0;
2505
- return function () {
2506
- if (i >= o.length) return {
2507
- done: true
2508
- };
2509
- return {
2510
- done: false,
2511
- value: o[i++]
2513
+ var it;
2514
+
2515
+ if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
2516
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
2517
+ if (it) o = it;
2518
+ var i = 0;
2519
+ return function () {
2520
+ if (i >= o.length) return {
2521
+ done: true
2522
+ };
2523
+ return {
2524
+ done: false,
2525
+ value: o[i++]
2526
+ };
2512
2527
  };
2513
- };
2528
+ }
2529
+
2530
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2514
2531
  }
2515
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2532
+
2533
+ it = o[Symbol.iterator]();
2534
+ return it.next.bind(it);
2516
2535
  }
2517
2536
 
2518
2537
  var TINY_MCE_API_KEY = "adpshj9swgsscf83gw4gs2f74nx0vicpd5ydka20iqjd7l8r";
@@ -2583,9 +2602,6 @@ var QUESTION_TYPES_OPTIONS = [{
2583
2602
  }, {
2584
2603
  label: "Learning strategy",
2585
2604
  value: "LearningStrategy"
2586
- }, {
2587
- label: "Dropdown",
2588
- value: "Dropdown"
2589
2605
  }];
2590
2606
  var QUESTION_TYPES = {
2591
2607
  SINGLE_CHOICE: "SingleChoice",
@@ -2598,8 +2614,7 @@ var QUESTION_TYPES = {
2598
2614
  EMOTIONAL: "Emotional",
2599
2615
  SUMMARIZE: "Summarize",
2600
2616
  RATING: "Rating",
2601
- LEARNING_STRATEGY: "LearningStrategy",
2602
- DROPDOWN: "Dropdown"
2617
+ LEARNING_STRATEGY: "LearningStrategy"
2603
2618
  };
2604
2619
  var STAR_OPTIONS = [{
2605
2620
  label: 2,
@@ -2672,6 +2687,7 @@ var encodeParams = (function (params) {
2672
2687
  return encodeURIComponent(key) + "=" + encodeURIComponent(i);
2673
2688
  }).join('&');
2674
2689
  }
2690
+
2675
2691
  return encodeURIComponent(key) + "=" + encodeURIComponent(params[key]);
2676
2692
  }).join('&');
2677
2693
  });
@@ -2696,10 +2712,12 @@ var apiUpload = axios.create({
2696
2712
  [api, apiUpload].forEach(function (i) {
2697
2713
  return i.interceptors.request.use(function (config) {
2698
2714
  var token = getAccessToken();
2715
+
2699
2716
  if (token) {
2700
2717
  config.headers.Authorization = "Bearer " + token;
2701
2718
  localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
2702
2719
  }
2720
+
2703
2721
  return config;
2704
2722
  }, function (error) {
2705
2723
  return Promise.reject(error);
@@ -2716,6 +2734,7 @@ var apiUpload = axios.create({
2716
2734
  var userEmail = localStorage.getItem("USER_EMAIL");
2717
2735
  var roles = localStorage.getItem("ROLES");
2718
2736
  var hostName = window.location.hostname;
2737
+
2719
2738
  if (userEmail) {
2720
2739
  amplitude.getInstance().logEvent("general: session end", {
2721
2740
  user_id: userEmail,
@@ -2724,14 +2743,17 @@ var apiUpload = axios.create({
2724
2743
  });
2725
2744
  amplitude.getInstance().resetSessionId();
2726
2745
  }
2746
+
2727
2747
  localStorage.setItem("USER_EMAIL", "");
2728
2748
  window.location.href = "/login";
2729
2749
  }
2750
+
2730
2751
  if (error.response.status == 403) {
2731
2752
  localStorage.removeItem(ACCESS_TOKEN);
2732
2753
  localStorage.removeItem("USER_EMAIL");
2733
2754
  window.location.href = "/login";
2734
2755
  }
2756
+
2735
2757
  return Promise.reject(error);
2736
2758
  });
2737
2759
  });
@@ -2789,30 +2811,39 @@ var HOMEPAGE_PARENT = "/parent";
2789
2811
  var HOMEPAGE_DISTRICT = "/admin/schools";
2790
2812
  var HOMEPAGE_EDU_TEACHER = "/list-student";
2791
2813
  var TITLE = "Log in";
2814
+
2792
2815
  var useLogin = function useLogin() {
2793
2816
  var dispatch = reactRedux.useDispatch();
2794
2817
  var history = reactRouterDom.useHistory();
2818
+
2795
2819
  var _useState = React.useState(false),
2796
- openLogin = _useState[0],
2797
- setOpenLogin = _useState[1];
2820
+ openLogin = _useState[0],
2821
+ setOpenLogin = _useState[1];
2822
+
2798
2823
  var _useState2 = React.useState(false),
2799
- isLoginGoogle = _useState2[0],
2800
- setIsLoginGoogle = _useState2[1];
2824
+ isLoginGoogle = _useState2[0],
2825
+ setIsLoginGoogle = _useState2[1];
2826
+
2801
2827
  var _useState3 = React.useState(""),
2802
- googleClientId = _useState3[0],
2803
- setGoogleClientId = _useState3[1];
2828
+ googleClientId = _useState3[0],
2829
+ setGoogleClientId = _useState3[1];
2830
+
2804
2831
  var _useState4 = React.useState(""),
2805
- googleRecaptchaId = _useState4[0],
2806
- setGoogleRecaptchaId = _useState4[1];
2832
+ googleRecaptchaId = _useState4[0],
2833
+ setGoogleRecaptchaId = _useState4[1];
2834
+
2807
2835
  var _useState5 = React.useState(),
2808
- infoUser = _useState5[0],
2809
- setInfoUser = _useState5[1];
2836
+ infoUser = _useState5[0],
2837
+ setInfoUser = _useState5[1];
2838
+
2810
2839
  var toggle = React.useCallback(function () {
2811
2840
  setOpenLogin(!openLogin);
2812
2841
  }, [openLogin]);
2842
+
2813
2843
  var _useState6 = React.useState(false),
2814
- isShowPassword = _useState6[0],
2815
- setIsShowPassword = _useState6[1];
2844
+ isShowPassword = _useState6[0],
2845
+ setIsShowPassword = _useState6[1];
2846
+
2816
2847
  React.useEffect(function () {
2817
2848
  document.title = TITLE;
2818
2849
  var token = getAccessToken();
@@ -2822,25 +2853,28 @@ var useLogin = function useLogin() {
2822
2853
  var isDistrict = window.location.host.includes("-district");
2823
2854
  var userLogin = React.useCallback(function (data) {
2824
2855
  try {
2825
- var _temp2 = function _temp2() {
2856
+ var _temp3 = function _temp3() {
2826
2857
  dispatch(setLoading(false));
2827
2858
  };
2859
+
2828
2860
  dispatch(setLoading(true));
2829
- var _temp = _catch(function () {
2861
+
2862
+ var _temp4 = _catch(function () {
2830
2863
  var _data$email, _data$password;
2864
+
2831
2865
  return Promise.resolve(logIn(_extends({}, data, {
2832
2866
  email: data === null || data === void 0 ? void 0 : (_data$email = data.email) === null || _data$email === void 0 ? void 0 : _data$email.trim(),
2833
2867
  password: data === null || data === void 0 ? void 0 : (_data$password = data.password) === null || _data$password === void 0 ? void 0 : _data$password.trim()
2834
2868
  }))).then(function (res) {
2835
2869
  var _res$data = res.data,
2836
- token = _res$data.token,
2837
- id = _res$data.id,
2838
- firstName = _res$data.firstName,
2839
- lastName = _res$data.lastName,
2840
- roles = _res$data.roles,
2841
- email = _res$data.email,
2842
- profileImageFileName = _res$data.profileImageFileName,
2843
- isLoginFirst = _res$data.isLoginFirst;
2870
+ token = _res$data.token,
2871
+ id = _res$data.id,
2872
+ firstName = _res$data.firstName,
2873
+ lastName = _res$data.lastName,
2874
+ roles = _res$data.roles,
2875
+ email = _res$data.email,
2876
+ profileImageFileName = _res$data.profileImageFileName,
2877
+ isLoginFirst = _res$data.isLoginFirst;
2844
2878
  localStorage.setItem(ACCESS_TOKEN, token);
2845
2879
  localStorage.removeItem(NOTIFICATION_ALERT_KEY);
2846
2880
  dispatch(setUser({
@@ -2851,8 +2885,10 @@ var useLogin = function useLogin() {
2851
2885
  email: email,
2852
2886
  profileImageFileName: profileImageFileName
2853
2887
  }));
2888
+
2854
2889
  if (data !== null && data !== void 0 && data.email && !roles.includes("Admin")) {
2855
2890
  var _data$roles;
2891
+
2856
2892
  amplitude.getInstance().init(!isLocalhost ? INIT_AMPLITUDE_KEY_PROD : INIT_AMPLITUDE_KEY_STAGE, data.email, {
2857
2893
  includeReferrer: false,
2858
2894
  includeUtm: false
@@ -2864,8 +2900,10 @@ var useLogin = function useLogin() {
2864
2900
  roles: data === null || data === void 0 ? void 0 : (_data$roles = data.roles) === null || _data$roles === void 0 ? void 0 : _data$roles.toString()
2865
2901
  });
2866
2902
  localStorage.setItem("USER_EMAIL", data.email);
2903
+
2867
2904
  if (isLoginFirst) {
2868
2905
  var _data$roles2;
2906
+
2869
2907
  amplitude.getInstance().logEvent("general: first login", {
2870
2908
  user_id: data.email,
2871
2909
  domain: hostName,
@@ -2873,6 +2911,7 @@ var useLogin = function useLogin() {
2873
2911
  });
2874
2912
  }
2875
2913
  }
2914
+
2876
2915
  if (isDistrict) {
2877
2916
  history.push(HOMEPAGE_DISTRICT);
2878
2917
  } else if (roles.includes("Admin")) {
@@ -2889,46 +2928,55 @@ var useLogin = function useLogin() {
2889
2928
  });
2890
2929
  }, function (err) {
2891
2930
  var _err$response, _err$response$data;
2931
+
2892
2932
  dispatch(setAlert({
2893
2933
  type: "danger",
2894
2934
  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 || "Login failed"
2895
2935
  }));
2896
2936
  localStorage.removeItem(ACCESS_TOKEN);
2897
2937
  });
2898
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
2938
+
2939
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
2899
2940
  } catch (e) {
2900
2941
  return Promise.reject(e);
2901
2942
  }
2902
2943
  }, []);
2944
+
2903
2945
  var getInfoGoogle = function getInfoGoogle() {
2904
2946
  try {
2905
- var _temp3 = _catch(function () {
2947
+ var _temp6 = _catch(function () {
2906
2948
  return Promise.resolve(getGoogleClientId()).then(function (res) {
2907
2949
  setGoogleClientId(res.data.googleClientId);
2908
2950
  setGoogleRecaptchaId(res.data.googleCaptchaId);
2909
2951
  });
2910
2952
  }, function (err) {
2911
2953
  var _err$response2, _err$response2$data;
2954
+
2912
2955
  dispatch(setAlert({
2913
2956
  type: "danger",
2914
2957
  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 || "Login failed"
2915
2958
  }));
2916
2959
  });
2917
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
2960
+
2961
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
2918
2962
  } catch (e) {
2919
2963
  return Promise.reject(e);
2920
2964
  }
2921
2965
  };
2966
+
2922
2967
  var fnIsCheckLogin = React.useCallback(function (data, token, clickHandler) {
2923
2968
  try {
2924
- var _temp6 = function _temp6() {
2969
+ var _temp10 = function _temp10() {
2925
2970
  dispatch(setLoading(false));
2926
2971
  };
2972
+
2927
2973
  dispatch(setLoading(true));
2928
- var _temp5 = _catch(function () {
2974
+
2975
+ var _temp11 = _catch(function () {
2929
2976
  return Promise.resolve(checkUserGoogle(data)).then(function (res) {
2930
2977
  var checkUser = res.data;
2931
- var _temp4 = function () {
2978
+
2979
+ var _temp7 = function () {
2932
2980
  if (checkUser) {
2933
2981
  return Promise.resolve(clickHandler()).then(function (clickHandlerRes) {
2934
2982
  var dataUser = {
@@ -2947,28 +2995,34 @@ var useLogin = function useLogin() {
2947
2995
  setIsLoginGoogle(true);
2948
2996
  }
2949
2997
  }();
2950
- if (_temp4 && _temp4.then) return _temp4.then(function () {});
2998
+
2999
+ if (_temp7 && _temp7.then) return _temp7.then(function () {});
2951
3000
  });
2952
3001
  }, function (err) {
2953
3002
  var _err$response3, _err$response3$data;
3003
+
2954
3004
  dispatch(setAlert({
2955
3005
  type: "danger",
2956
3006
  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 || "Login failed"
2957
3007
  }));
2958
3008
  });
2959
- return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
3009
+
3010
+ return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(_temp10) : _temp10(_temp11));
2960
3011
  } catch (e) {
2961
3012
  return Promise.reject(e);
2962
3013
  }
2963
3014
  }, []);
3015
+
2964
3016
  var submitLogin = function submitLogin(teacherId, clickHandler) {
2965
3017
  try {
2966
- var _temp9 = function _temp9() {
3018
+ var _temp15 = function _temp15() {
2967
3019
  setIsLoginGoogle(false);
2968
3020
  dispatch(setLoading(false));
2969
3021
  };
3022
+
2970
3023
  dispatch(setLoading(true));
2971
- var _temp8 = _catch(function () {
3024
+
3025
+ var _temp16 = _catch(function () {
2972
3026
  var data = {
2973
3027
  firstName: infoUser.firstName,
2974
3028
  lastName: infoUser.lastName,
@@ -2979,7 +3033,7 @@ var useLogin = function useLogin() {
2979
3033
  teacherId: teacherId
2980
3034
  };
2981
3035
  return Promise.resolve(registerUserStudent(data)).then(function (res) {
2982
- var _temp7 = function () {
3036
+ var _temp12 = function () {
2983
3037
  if (res.data) {
2984
3038
  return Promise.resolve(clickHandler()).then(function (clickHandlerRes) {
2985
3039
  var dataLogin = {
@@ -2997,20 +3051,24 @@ var useLogin = function useLogin() {
2997
3051
  });
2998
3052
  }
2999
3053
  }();
3000
- if (_temp7 && _temp7.then) return _temp7.then(function () {});
3054
+
3055
+ if (_temp12 && _temp12.then) return _temp12.then(function () {});
3001
3056
  });
3002
3057
  }, function (err) {
3003
3058
  var _err$response4, _err$response4$data;
3059
+
3004
3060
  dispatch(setAlert({
3005
3061
  type: "danger",
3006
3062
  message: ((_err$response4 = err.response) === null || _err$response4 === void 0 ? void 0 : (_err$response4$data = _err$response4.data) === null || _err$response4$data === void 0 ? void 0 : _err$response4$data.title) || err.message || "Login failed"
3007
3063
  }));
3008
3064
  });
3009
- return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp9) : _temp9(_temp8));
3065
+
3066
+ return Promise.resolve(_temp16 && _temp16.then ? _temp16.then(_temp15) : _temp15(_temp16));
3010
3067
  } catch (e) {
3011
3068
  return Promise.reject(e);
3012
3069
  }
3013
3070
  };
3071
+
3014
3072
  return {
3015
3073
  defaultInfo: defaultInfo,
3016
3074
  userLogin: userLogin,
@@ -3029,13 +3087,13 @@ var useLogin = function useLogin() {
3029
3087
  };
3030
3088
  };
3031
3089
 
3032
- var _excluded = ["defaultValue", "options", "isDisabled", "scrollBottom"];
3033
3090
  var CustomSelector = function CustomSelector(_ref) {
3034
3091
  var defaultValue = _ref.defaultValue,
3035
- options = _ref.options,
3036
- isDisabled = _ref.isDisabled,
3037
- scrollBottom = _ref.scrollBottom,
3038
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
3092
+ options = _ref.options,
3093
+ isDisabled = _ref.isDisabled,
3094
+ scrollBottom = _ref.scrollBottom,
3095
+ rest = _objectWithoutPropertiesLoose(_ref, ["defaultValue", "options", "isDisabled", "scrollBottom"]);
3096
+
3039
3097
  var initValue = defaultValue !== null && typeof defaultValue !== "undefined" ? options.find(function (option) {
3040
3098
  return option.value === defaultValue;
3041
3099
  }) || null : null;
@@ -3049,43 +3107,54 @@ var CustomSelector = function CustomSelector(_ref) {
3049
3107
 
3050
3108
  var BlockSelectTeacher = function BlockSelectTeacher(_ref) {
3051
3109
  var defaultValue = _ref.defaultValue,
3052
- isDisabled = _ref.isDisabled,
3053
- openModal = _ref.openModal,
3054
- onSubmit = _ref.onSubmit,
3055
- token = _ref.token,
3056
- email = _ref.email,
3057
- setOpenModal = _ref.setOpenModal;
3110
+ isDisabled = _ref.isDisabled,
3111
+ openModal = _ref.openModal,
3112
+ onSubmit = _ref.onSubmit,
3113
+ token = _ref.token,
3114
+ email = _ref.email,
3115
+ setOpenModal = _ref.setOpenModal;
3116
+
3058
3117
  var _useState = React.useState(false),
3059
- modal = _useState[0],
3060
- setModal = _useState[1];
3118
+ modal = _useState[0],
3119
+ setModal = _useState[1];
3120
+
3061
3121
  React.useEffect(function () {
3062
3122
  setModal(openModal);
3063
3123
  }, [openModal]);
3124
+
3064
3125
  var toggle = function toggle() {
3065
3126
  setModal(!modal);
3066
3127
  setOpenModal(!modal);
3067
3128
  };
3129
+
3068
3130
  var dispatch = reactRedux.useDispatch();
3131
+
3069
3132
  var _useState2 = React.useState([]),
3070
- teachers = _useState2[0],
3071
- setTeachers = _useState2[1];
3133
+ teachers = _useState2[0],
3134
+ setTeachers = _useState2[1];
3135
+
3072
3136
  var _useState3 = React.useState(""),
3073
- searchString = _useState3[0],
3074
- setSearchString = _useState3[1];
3137
+ searchString = _useState3[0],
3138
+ setSearchString = _useState3[1];
3139
+
3075
3140
  var _useState4 = React.useState(""),
3076
- teacherEmail = _useState4[0],
3077
- setTeacherEmail = _useState4[1];
3141
+ teacherEmail = _useState4[0],
3142
+ setTeacherEmail = _useState4[1];
3143
+
3078
3144
  var _useState5 = React.useState(false),
3079
- isLoading = _useState5[0],
3080
- setLoading = _useState5[1];
3145
+ isLoading = _useState5[0],
3146
+ setLoading = _useState5[1];
3147
+
3081
3148
  var timeout = React.useRef();
3082
3149
  var loadData = React.useCallback(function () {
3083
3150
  try {
3084
- var _temp2 = function _temp2() {
3151
+ var _temp3 = function _temp3() {
3085
3152
  setLoading(false);
3086
3153
  };
3154
+
3087
3155
  setLoading(true);
3088
- var _temp = _catch(function () {
3156
+
3157
+ var _temp4 = _catch(function () {
3089
3158
  var data = {
3090
3159
  token: token,
3091
3160
  email: email
@@ -3095,18 +3164,21 @@ var BlockSelectTeacher = function BlockSelectTeacher(_ref) {
3095
3164
  });
3096
3165
  }, function (err) {
3097
3166
  var _err$response, _err$response$data;
3167
+
3098
3168
  dispatch(setAlert({
3099
3169
  type: "danger",
3100
3170
  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
3101
3171
  }));
3102
3172
  });
3103
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
3173
+
3174
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
3104
3175
  } catch (e) {
3105
3176
  return Promise.reject(e);
3106
3177
  }
3107
3178
  }, [searchString]);
3108
3179
  React.useEffect(function () {
3109
3180
  timeout && timeout.current && clearTimeout(timeout.current);
3181
+
3110
3182
  if (!searchString || searchString.trim().length < 2) {
3111
3183
  setTeachers([]);
3112
3184
  } else {
@@ -3119,9 +3191,11 @@ var BlockSelectTeacher = function BlockSelectTeacher(_ref) {
3119
3191
  value: teacher.teacherId
3120
3192
  };
3121
3193
  });
3194
+
3122
3195
  var onChangeTeacher = function onChangeTeacher(e) {
3123
3196
  setTeacherEmail(e.value);
3124
3197
  };
3198
+
3125
3199
  var customSelector = {
3126
3200
  control: function control(styles) {
3127
3201
  return _extends({}, styles, {
@@ -3154,6 +3228,7 @@ var BlockSelectTeacher = function BlockSelectTeacher(_ref) {
3154
3228
  onClick: toggle
3155
3229
  }, "Cancel")));
3156
3230
  };
3231
+
3157
3232
  var BlockSelectTeacher$1 = React.forwardRef(BlockSelectTeacher);
3158
3233
 
3159
3234
  var schema = yup.object({
@@ -3161,44 +3236,51 @@ var schema = yup.object({
3161
3236
  password: yup.string().required("Password is required"),
3162
3237
  rememberMe: yup.boolean()
3163
3238
  });
3239
+
3164
3240
  var BlockLogin = function BlockLogin(_ref) {
3165
3241
  var defaultInfo = _ref.defaultInfo,
3166
- userLogin = _ref.userLogin;
3242
+ userLogin = _ref.userLogin;
3243
+
3167
3244
  var _useLogin = useLogin(),
3168
- isShowPassword = _useLogin.isShowPassword,
3169
- setIsShowPassword = _useLogin.setIsShowPassword,
3170
- fnIsCheckLogin = _useLogin.fnIsCheckLogin,
3171
- isLoginGoogle = _useLogin.isLoginGoogle,
3172
- setInfoUser = _useLogin.setInfoUser,
3173
- submitLogin = _useLogin.submitLogin,
3174
- infoUser = _useLogin.infoUser,
3175
- setIsLoginGoogle = _useLogin.setIsLoginGoogle,
3176
- googleClientId = _useLogin.googleClientId;
3245
+ isShowPassword = _useLogin.isShowPassword,
3246
+ setIsShowPassword = _useLogin.setIsShowPassword,
3247
+ fnIsCheckLogin = _useLogin.fnIsCheckLogin,
3248
+ isLoginGoogle = _useLogin.isLoginGoogle,
3249
+ setInfoUser = _useLogin.setInfoUser,
3250
+ submitLogin = _useLogin.submitLogin,
3251
+ infoUser = _useLogin.infoUser,
3252
+ setIsLoginGoogle = _useLogin.setIsLoginGoogle,
3253
+ googleClientId = _useLogin.googleClientId;
3254
+
3177
3255
  var togglePasswordVisible = function togglePasswordVisible() {
3178
3256
  return setIsShowPassword(!isShowPassword);
3179
3257
  };
3258
+
3180
3259
  var _useGoogleReCaptcha = reactGoogleRecaptchaV3.useGoogleReCaptcha(),
3181
- executeRecaptcha = _useGoogleReCaptcha.executeRecaptcha;
3260
+ executeRecaptcha = _useGoogleReCaptcha.executeRecaptcha;
3261
+
3182
3262
  var clickHandler = React.useCallback(function () {
3183
3263
  try {
3184
3264
  if (!executeRecaptcha) {
3185
3265
  console.log("execute recaptcha undefined");
3186
3266
  return Promise.resolve();
3187
3267
  }
3268
+
3188
3269
  return Promise.resolve(executeRecaptcha("login"));
3189
3270
  } catch (e) {
3190
3271
  return Promise.reject(e);
3191
3272
  }
3192
3273
  }, [executeRecaptcha]);
3193
3274
  var handleVerify = React.useCallback(function () {}, []);
3275
+
3194
3276
  var onSuccessGoogle = function onSuccessGoogle(res) {
3195
3277
  if (!!(res !== null && res !== void 0 && res.accessToken)) {
3196
3278
  var _res$profileObj = res.profileObj,
3197
- email = _res$profileObj.email,
3198
- familyName = _res$profileObj.familyName,
3199
- givenName = _res$profileObj.givenName,
3200
- imageUrl = _res$profileObj.imageUrl,
3201
- name = _res$profileObj.name;
3279
+ email = _res$profileObj.email,
3280
+ familyName = _res$profileObj.familyName,
3281
+ givenName = _res$profileObj.givenName,
3282
+ imageUrl = _res$profileObj.imageUrl,
3283
+ name = _res$profileObj.name;
3202
3284
  var accessToken = res.accessToken;
3203
3285
  var googleId = res.googleId;
3204
3286
  var infoLogin = {
@@ -3214,6 +3296,7 @@ var BlockLogin = function BlockLogin(_ref) {
3214
3296
  fnIsCheckLogin(infoLogin, accessToken, clickHandler);
3215
3297
  }
3216
3298
  };
3299
+
3217
3300
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(formik.Formik, {
3218
3301
  initialValues: defaultInfo,
3219
3302
  enableReinitialize: true,
@@ -3235,12 +3318,12 @@ var BlockLogin = function BlockLogin(_ref) {
3235
3318
  }
3236
3319
  }, function (formikProps) {
3237
3320
  var handleChange = formikProps.handleChange,
3238
- handleBlur = formikProps.handleBlur,
3239
- handleSubmit = formikProps.handleSubmit,
3240
- values = formikProps.values,
3241
- touched = formikProps.touched,
3242
- errors = formikProps.errors,
3243
- setFieldValue = formikProps.setFieldValue;
3321
+ handleBlur = formikProps.handleBlur,
3322
+ handleSubmit = formikProps.handleSubmit,
3323
+ values = formikProps.values,
3324
+ touched = formikProps.touched,
3325
+ errors = formikProps.errors,
3326
+ setFieldValue = formikProps.setFieldValue;
3244
3327
  var emailError = touched.email && errors.email;
3245
3328
  var passwordError = touched.password && errors.password;
3246
3329
  return React__default.createElement(reactstrap.Row, {
@@ -3328,26 +3411,34 @@ var defaultInfo$1 = {
3328
3411
  var DASHBOARD = "/";
3329
3412
  var LOGIN = "/login";
3330
3413
  var TITLE$1 = "Log in";
3414
+
3331
3415
  var useForgotPassword = function useForgotPassword() {
3332
3416
  var dispatch = reactRedux.useDispatch();
3333
3417
  var history = reactRouterDom.useHistory();
3418
+
3334
3419
  var _useState = React.useState(false),
3335
- openLogin = _useState[0],
3336
- setOpenLogin = _useState[1];
3420
+ openLogin = _useState[0],
3421
+ setOpenLogin = _useState[1];
3422
+
3337
3423
  var toggle = React.useCallback(function () {
3338
3424
  setOpenLogin(!openLogin);
3339
3425
  }, [openLogin]);
3426
+
3340
3427
  var _useState2 = React.useState(false),
3341
- isShowNewPassword = _useState2[0],
3342
- setIsShowNewPassword = _useState2[1];
3428
+ isShowNewPassword = _useState2[0],
3429
+ setIsShowNewPassword = _useState2[1];
3430
+
3343
3431
  var _useState3 = React.useState(false),
3344
- isShowReTypePassword = _useState3[0],
3345
- setIsShowReTypePassword = _useState3[1];
3432
+ isShowReTypePassword = _useState3[0],
3433
+ setIsShowReTypePassword = _useState3[1];
3434
+
3346
3435
  var _useState4 = React.useState(true),
3347
- validLink = _useState4[0],
3348
- setValidLink = _useState4[1];
3436
+ validLink = _useState4[0],
3437
+ setValidLink = _useState4[1];
3438
+
3349
3439
  var _useGoogleReCaptcha = reactGoogleRecaptchaV3.useGoogleReCaptcha(),
3350
- executeRecaptcha = _useGoogleReCaptcha.executeRecaptcha;
3440
+ executeRecaptcha = _useGoogleReCaptcha.executeRecaptcha;
3441
+
3351
3442
  React.useEffect(function () {
3352
3443
  document.title = TITLE$1;
3353
3444
  var token = getAccessToken();
@@ -3355,11 +3446,13 @@ var useForgotPassword = function useForgotPassword() {
3355
3446
  }, []);
3356
3447
  var forgotPasswordRequest = React.useCallback(function (data) {
3357
3448
  try {
3358
- var _temp2 = function _temp2() {
3449
+ var _temp3 = function _temp3() {
3359
3450
  dispatch(setLoading(false));
3360
3451
  };
3452
+
3361
3453
  dispatch(setLoading(true));
3362
- var _temp = _catch(function () {
3454
+
3455
+ var _temp4 = _catch(function () {
3363
3456
  return Promise.resolve(forgotPassword(data)).then(function () {
3364
3457
  history.push(LOGIN);
3365
3458
  dispatch(setAlert({
@@ -3369,40 +3462,47 @@ var useForgotPassword = function useForgotPassword() {
3369
3462
  });
3370
3463
  }, function (err) {
3371
3464
  var _err$response, _err$response$data;
3465
+
3372
3466
  dispatch(setAlert({
3373
3467
  type: "danger",
3374
3468
  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 || "Error occured"
3375
3469
  }));
3376
3470
  localStorage.removeItem(ACCESS_TOKEN);
3377
3471
  });
3378
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
3472
+
3473
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
3379
3474
  } catch (e) {
3380
3475
  return Promise.reject(e);
3381
3476
  }
3382
3477
  }, []);
3383
3478
  var checkResetTokenRequest = React.useCallback(function (token) {
3384
3479
  try {
3385
- var _temp4 = function _temp4() {
3480
+ var _temp7 = function _temp7() {
3386
3481
  dispatch(setLoading(false));
3387
3482
  };
3483
+
3388
3484
  dispatch(setLoading(true));
3389
- var _temp3 = _catch(function () {
3485
+
3486
+ var _temp8 = _catch(function () {
3390
3487
  return Promise.resolve(checkResetToken(token)).then(function () {});
3391
3488
  }, function () {
3392
3489
  setValidLink(false);
3393
3490
  });
3394
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
3491
+
3492
+ return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp7) : _temp7(_temp8));
3395
3493
  } catch (e) {
3396
3494
  return Promise.reject(e);
3397
3495
  }
3398
3496
  }, []);
3399
3497
  var resetPasswordRequest = React.useCallback(function (data) {
3400
3498
  try {
3401
- var _temp6 = function _temp6() {
3499
+ var _temp11 = function _temp11() {
3402
3500
  dispatch(setLoading(false));
3403
3501
  };
3502
+
3404
3503
  dispatch(setLoading(true));
3405
- var _temp5 = _catch(function () {
3504
+
3505
+ var _temp12 = _catch(function () {
3406
3506
  return Promise.resolve(resetPassword(data)).then(function () {
3407
3507
  history.push(LOGIN);
3408
3508
  dispatch(setAlert({
@@ -3412,13 +3512,15 @@ var useForgotPassword = function useForgotPassword() {
3412
3512
  });
3413
3513
  }, function (err) {
3414
3514
  var _err$response2, _err$response2$data;
3515
+
3415
3516
  dispatch(setAlert({
3416
3517
  type: "danger",
3417
3518
  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 || "Error occured"
3418
3519
  }));
3419
3520
  localStorage.removeItem(ACCESS_TOKEN);
3420
3521
  });
3421
- return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
3522
+
3523
+ return Promise.resolve(_temp12 && _temp12.then ? _temp12.then(_temp11) : _temp11(_temp12));
3422
3524
  } catch (e) {
3423
3525
  return Promise.reject(e);
3424
3526
  }
@@ -3429,6 +3531,7 @@ var useForgotPassword = function useForgotPassword() {
3429
3531
  console.log("execute recaptcha undefined");
3430
3532
  return Promise.resolve();
3431
3533
  }
3534
+
3432
3535
  return Promise.resolve(executeRecaptcha("forgetPass"));
3433
3536
  } catch (e) {
3434
3537
  return Promise.reject(e);
@@ -3459,11 +3562,13 @@ var initialValues = {
3459
3562
  var forgotPasswordSchema = yup.object({
3460
3563
  email: yup.string().email("Email is invalid").required("Email is required")
3461
3564
  });
3565
+
3462
3566
  var BlockForgetPassword = function BlockForgetPassword() {
3463
3567
  var _useForgotPassword = useForgotPassword(),
3464
- forgotPasswordRequest = _useForgotPassword.forgotPasswordRequest,
3465
- clickHandler = _useForgotPassword.clickHandler,
3466
- handleVerify = _useForgotPassword.handleVerify;
3568
+ forgotPasswordRequest = _useForgotPassword.forgotPasswordRequest,
3569
+ clickHandler = _useForgotPassword.clickHandler,
3570
+ handleVerify = _useForgotPassword.handleVerify;
3571
+
3467
3572
  return React__default.createElement(formik.Formik, {
3468
3573
  initialValues: initialValues,
3469
3574
  enableReinitialize: true,
@@ -3481,10 +3586,10 @@ var BlockForgetPassword = function BlockForgetPassword() {
3481
3586
  }
3482
3587
  }, function (formikProps) {
3483
3588
  var handleChange = formikProps.handleChange,
3484
- handleSubmit = formikProps.handleSubmit,
3485
- values = formikProps.values,
3486
- touched = formikProps.touched,
3487
- errors = formikProps.errors;
3589
+ handleSubmit = formikProps.handleSubmit,
3590
+ values = formikProps.values,
3591
+ touched = formikProps.touched,
3592
+ errors = formikProps.errors;
3488
3593
  return React__default.createElement(reactstrap.Row, {
3489
3594
  className: "" + styles["box-login"]
3490
3595
  }, React__default.createElement(reactstrap.Col, {
@@ -3551,17 +3656,20 @@ var resetPasswordSchema = yup.object({
3551
3656
  return this.parent.password === this.parent.reEnterPassword;
3552
3657
  })
3553
3658
  });
3659
+
3554
3660
  var BlockResetPassword = function BlockResetPassword() {
3555
3661
  var query = new URLSearchParams(reactRouterDom.useLocation().search);
3556
3662
  var token = query.get("token");
3663
+
3557
3664
  var _useForgotPassword = useForgotPassword(),
3558
- checkResetTokenRequest = _useForgotPassword.checkResetTokenRequest,
3559
- validLink = _useForgotPassword.validLink,
3560
- resetPasswordRequest = _useForgotPassword.resetPasswordRequest,
3561
- isShowNewPassword = _useForgotPassword.isShowNewPassword,
3562
- setIsShowNewPassword = _useForgotPassword.setIsShowNewPassword,
3563
- isShowReTypePassword = _useForgotPassword.isShowReTypePassword,
3564
- setIsShowReTypePassword = _useForgotPassword.setIsShowReTypePassword;
3665
+ checkResetTokenRequest = _useForgotPassword.checkResetTokenRequest,
3666
+ validLink = _useForgotPassword.validLink,
3667
+ resetPasswordRequest = _useForgotPassword.resetPasswordRequest,
3668
+ isShowNewPassword = _useForgotPassword.isShowNewPassword,
3669
+ setIsShowNewPassword = _useForgotPassword.setIsShowNewPassword,
3670
+ isShowReTypePassword = _useForgotPassword.isShowReTypePassword,
3671
+ setIsShowReTypePassword = _useForgotPassword.setIsShowReTypePassword;
3672
+
3565
3673
  React.useEffect(function () {
3566
3674
  checkResetTokenRequest(token);
3567
3675
  }, []);
@@ -3574,9 +3682,9 @@ var BlockResetPassword = function BlockResetPassword() {
3574
3682
  }
3575
3683
  }, function (formikProps) {
3576
3684
  var setFieldValue = formikProps.setFieldValue,
3577
- handleSubmit = formikProps.handleSubmit,
3578
- touched = formikProps.touched,
3579
- errors = formikProps.errors;
3685
+ handleSubmit = formikProps.handleSubmit,
3686
+ touched = formikProps.touched,
3687
+ errors = formikProps.errors;
3580
3688
  React.useEffect(function () {
3581
3689
  setFieldValue("token", token);
3582
3690
  }, []);
@@ -3652,14 +3760,17 @@ var BlockResetPassword = function BlockResetPassword() {
3652
3760
  var LOGIN_TITLE = "Log in";
3653
3761
  var FORGOT_PASSWORD_TITLE = "Forgot password";
3654
3762
  var RESET_PASSWORD_TITLE = "Reset password";
3763
+
3655
3764
  var Login = function Login(props) {
3656
3765
  var isLogin = props.isLogin,
3657
- isForgotPassword = props.isForgotPassword,
3658
- isResetPassword = props.isResetPassword;
3766
+ isForgotPassword = props.isForgotPassword,
3767
+ isResetPassword = props.isResetPassword;
3768
+
3659
3769
  var _useLogin = useLogin(),
3660
- defaultInfo = _useLogin.defaultInfo,
3661
- userLogin = _useLogin.userLogin,
3662
- googleRecaptchaId = _useLogin.googleRecaptchaId;
3770
+ defaultInfo = _useLogin.defaultInfo,
3771
+ userLogin = _useLogin.userLogin,
3772
+ googleRecaptchaId = _useLogin.googleRecaptchaId;
3773
+
3663
3774
  React.useEffect(function () {
3664
3775
  isLogin && (document.title = LOGIN_TITLE);
3665
3776
  isForgotPassword && (document.title = FORGOT_PASSWORD_TITLE);
@@ -3700,7 +3811,7 @@ var QuoteContent = function QuoteContent() {
3700
3811
 
3701
3812
  var IconContent = function IconContent(_ref) {
3702
3813
  var srcIcon = _ref.srcIcon,
3703
- content = _ref.content;
3814
+ content = _ref.content;
3704
3815
  return React__default.createElement("div", {
3705
3816
  key: content,
3706
3817
  className: "" + styles["content-icon"]
@@ -3727,8 +3838,10 @@ var contents = [{
3727
3838
  scrIcon: "/images/Confetti.svg",
3728
3839
  content: "<p>Set, monitor, and achieve <span>your goals</span>.</p>"
3729
3840
  }];
3841
+
3730
3842
  var ContentHomePage = function ContentHomePage(_ref) {
3731
3843
  _objectDestructuringEmpty(_ref);
3844
+
3732
3845
  return React__default.createElement(reactstrap.Row, {
3733
3846
  className: "" + styles["page-not-login"]
3734
3847
  }, React__default.createElement(reactstrap.Col, {
@@ -3749,16 +3862,20 @@ var HOME_TEACHER = "/home";
3749
3862
  var HOME_STUDENT = "/home";
3750
3863
  var DASHBOARD_TITLE = "Dashboard";
3751
3864
  var ROOT_TITLE = "Mario Framework";
3865
+
3752
3866
  var Dashboard = function Dashboard() {
3753
3867
  var _useState = React.useState(false),
3754
- isOpen = _useState[0],
3755
- setIsOpen = _useState[1];
3868
+ isOpen = _useState[0],
3869
+ setIsOpen = _useState[1];
3870
+
3756
3871
  var user = reactRedux.useSelector(function (state) {
3757
3872
  return state.common.user;
3758
3873
  });
3874
+
3759
3875
  var toggle = function toggle() {
3760
3876
  return setIsOpen(!isOpen);
3761
3877
  };
3878
+
3762
3879
  React.useEffect(function () {
3763
3880
  !!user ? document.title = DASHBOARD_TITLE : document.title = ROOT_TITLE;
3764
3881
  }, [user]);
@@ -3838,9 +3955,11 @@ var TheSidebar = function TheSidebar(_ref) {
3838
3955
  var show = reactRedux.useSelector(function (state) {
3839
3956
  return state.common.sidebarShow;
3840
3957
  });
3958
+
3841
3959
  var _useState = React.useState(false),
3842
- toggleMinimize = _useState[0],
3843
- setToggleMinimize = _useState[1];
3960
+ toggleMinimize = _useState[0],
3961
+ setToggleMinimize = _useState[1];
3962
+
3844
3963
  var signOut = React.useCallback(function () {
3845
3964
  localStorage.removeItem(ACCESS_TOKEN);
3846
3965
  dispatch(reset());
@@ -3914,6 +4033,7 @@ var useUnReadNotification = function useUnReadNotification() {
3914
4033
  var dispatch = reactRedux.useDispatch();
3915
4034
  var userId = reactRedux.useSelector(function (state) {
3916
4035
  var _state$common$user;
4036
+
3917
4037
  return (_state$common$user = state.common.user) === null || _state$common$user === void 0 ? void 0 : _state$common$user.id;
3918
4038
  });
3919
4039
  var pusherCluster = reactRedux.useSelector(function (state) {
@@ -3927,18 +4047,20 @@ var useUnReadNotification = function useUnReadNotification() {
3927
4047
  });
3928
4048
  var getData = React.useCallback(function () {
3929
4049
  try {
3930
- var _temp = _catch(function () {
4050
+ var _temp2 = _catch(function () {
3931
4051
  return Promise.resolve(getUnReadNotifications()).then(function (res) {
3932
4052
  dispatch(setUnReadNotification(res.data));
3933
4053
  });
3934
4054
  }, function (err) {
3935
4055
  var _err$response, _err$response$data;
4056
+
3936
4057
  dispatch(setAlert({
3937
4058
  type: "danger",
3938
4059
  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
3939
4060
  }));
3940
4061
  });
3941
- return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
4062
+
4063
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
3942
4064
  } catch (e) {
3943
4065
  return Promise.reject(e);
3944
4066
  }
@@ -3948,6 +4070,7 @@ var useUnReadNotification = function useUnReadNotification() {
3948
4070
  React.useEffect(function () {
3949
4071
  getData();
3950
4072
  var pusher;
4073
+
3951
4074
  if (pusherKey && pusherCluster) {
3952
4075
  pusher = new Pusher(pusherKey, {
3953
4076
  cluster: pusherCluster
@@ -3960,6 +4083,7 @@ var useUnReadNotification = function useUnReadNotification() {
3960
4083
  isChat && getData();
3961
4084
  });
3962
4085
  }
4086
+
3963
4087
  return function () {
3964
4088
  return pusher && pusher.unsubscribe(NOTIFICATION_CHANNEL + "-" + userId);
3965
4089
  };
@@ -3971,12 +4095,15 @@ var useUnReadNotification = function useUnReadNotification() {
3971
4095
 
3972
4096
  var NotificationButton = function NotificationButton(_ref) {
3973
4097
  _objectDestructuringEmpty(_ref);
4098
+
3974
4099
  var user = reactRedux.useSelector(function (state) {
3975
4100
  return state.common.user;
3976
4101
  });
3977
4102
  var isAdmin = user && user.roles.includes("Admin");
4103
+
3978
4104
  var _useUnreadNotificatio = useUnReadNotification(),
3979
- unReadNotification = _useUnreadNotificatio.unReadNotification;
4105
+ unReadNotification = _useUnreadNotificatio.unReadNotification;
4106
+
3980
4107
  var openNotification = React.useCallback(function () {
3981
4108
  var features = "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, width=1080, height=720, top=100, left=100";
3982
4109
  var url = (isAdmin ? "/admin" : "") + "/notifications";
@@ -4006,6 +4133,7 @@ var DEFAULT_USER_AVATAR = "/avatars/default-avatar.png";
4006
4133
  var ADMIN_ROLE = "Admin";
4007
4134
  var TEACHER_ROLE = "Teacher";
4008
4135
  var USER_DETAIL_URL = "/admin/user";
4136
+
4009
4137
  var TheHeaderDropdown = function TheHeaderDropdown() {
4010
4138
  var user = reactRedux.useSelector(function (state) {
4011
4139
  return state.common.user;
@@ -4013,9 +4141,9 @@ var TheHeaderDropdown = function TheHeaderDropdown() {
4013
4141
  var dispatch = reactRedux.useDispatch();
4014
4142
  var history = reactRouterDom.useHistory();
4015
4143
  var email = user.email,
4016
- profileImageFileName = user.profileImageFileName,
4017
- roles = user.roles,
4018
- id = user.id;
4144
+ profileImageFileName = user.profileImageFileName,
4145
+ roles = user.roles,
4146
+ id = user.id;
4019
4147
  var isAdmin = roles.includes(ADMIN_ROLE);
4020
4148
  var isTeacher = roles.includes(TEACHER_ROLE);
4021
4149
  var goToTeacherPanel = React.useCallback(function () {
@@ -4026,14 +4154,17 @@ var TheHeaderDropdown = function TheHeaderDropdown() {
4026
4154
  dispatch(reset());
4027
4155
  history.push("/");
4028
4156
  }, []);
4157
+
4029
4158
  var _useState = React.useState(false),
4030
- dropdownOpen = _useState[0],
4031
- setDropdownOpen = _useState[1];
4159
+ dropdownOpen = _useState[0],
4160
+ setDropdownOpen = _useState[1];
4161
+
4032
4162
  var toggle = function toggle() {
4033
4163
  return setDropdownOpen(function (prevState) {
4034
4164
  return !prevState;
4035
4165
  });
4036
4166
  };
4167
+
4037
4168
  var avatarUrl = profileImageFileName ? getFileUrl(profileImageFileName) : DEFAULT_USER_AVATAR;
4038
4169
  var isDistrict = window.location.host.includes("-district");
4039
4170
  return React__default.createElement(reactstrap.Dropdown, {
@@ -4086,25 +4217,31 @@ var TheHeaderDropdown = function TheHeaderDropdown() {
4086
4217
  var TheLanguageDropdown = function TheLanguageDropdown() {
4087
4218
  var defaultLanguage = localStorage.getItem("language") !== null ? localStorage.getItem("language") : "us";
4088
4219
  var dispatch = reactRedux.useDispatch();
4220
+
4089
4221
  var _useTranslation = reactI18next.useTranslation(),
4090
- i18n = _useTranslation.i18n;
4222
+ i18n = _useTranslation.i18n;
4223
+
4091
4224
  var _useState = React.useState(false),
4092
- dropdownOpen = _useState[0],
4093
- setDropdownOpen = _useState[1];
4225
+ dropdownOpen = _useState[0],
4226
+ setDropdownOpen = _useState[1];
4227
+
4094
4228
  var _useState2 = React.useState(defaultLanguage),
4095
- language = _useState2[0],
4096
- setItemLanguage = _useState2[1];
4229
+ language = _useState2[0],
4230
+ setItemLanguage = _useState2[1];
4231
+
4097
4232
  var toggle = function toggle() {
4098
4233
  return setDropdownOpen(function (prevState) {
4099
4234
  return !prevState;
4100
4235
  });
4101
4236
  };
4237
+
4102
4238
  var changeLanguageApp = function changeLanguageApp(lang) {
4103
4239
  i18n.changeLanguage(lang);
4104
4240
  localStorage.setItem("language", lang);
4105
4241
  setItemLanguage(lang);
4106
4242
  dispatch(setLanguage(lang));
4107
4243
  };
4244
+
4108
4245
  var displayCurrentLang = {
4109
4246
  uk: React__default.createElement(React__default.Fragment, null, React__default.createElement("img", {
4110
4247
  className: "mr-2 " + styles['dropdown-menu-flag'],
@@ -4176,6 +4313,7 @@ var TheHeader = function TheHeader() {
4176
4313
  };
4177
4314
 
4178
4315
  var TITLE$2 = "Not found";
4316
+
4179
4317
  var NotFound = function NotFound() {
4180
4318
  React.useEffect(function () {
4181
4319
  document.title = TITLE$2;
@@ -4202,6 +4340,7 @@ var loading = React__default.createElement("div", {
4202
4340
  }, React__default.createElement("div", {
4203
4341
  className: "sk-spinner sk-spinner-pulse"
4204
4342
  }));
4343
+
4205
4344
  var TheContent = function TheContent(_ref) {
4206
4345
  var routes = _ref.routes;
4207
4346
  var location = reactRouterDom.useLocation();
@@ -4226,6 +4365,7 @@ var TheContent = function TheContent(_ref) {
4226
4365
  component: NotFound
4227
4366
  })))));
4228
4367
  };
4368
+
4229
4369
  var TheContent$1 = React__default.memo(TheContent);
4230
4370
 
4231
4371
  var loadingStyle = {
@@ -4240,6 +4380,7 @@ var loadingStyle = {
4240
4380
  justifyContent: "center",
4241
4381
  alignItems: "center"
4242
4382
  };
4383
+
4243
4384
  var Loading = function Loading() {
4244
4385
  var isLoading = reactRedux.useSelector(function (state) {
4245
4386
  return state.common.isLoading;
@@ -4270,18 +4411,20 @@ var canAccess = function canAccess(userRoles, componentRoles) {
4270
4411
  if (!Array.isArray(userRoles)) {
4271
4412
  return false;
4272
4413
  }
4414
+
4273
4415
  if (Array.isArray(componentRoles)) {
4274
4416
  var intersects = userRoles.filter(function (i) {
4275
4417
  return componentRoles.includes(i);
4276
4418
  });
4277
4419
  return intersects.length > 0;
4278
4420
  }
4421
+
4279
4422
  return true;
4280
4423
  };
4281
4424
 
4282
4425
  var TheLayout = function TheLayout(_ref) {
4283
4426
  var routes = _ref.routes,
4284
- navigation = _ref.navigation;
4427
+ navigation = _ref.navigation;
4285
4428
  var history = reactRouterDom.useHistory();
4286
4429
  var dispatch = reactRedux.useDispatch();
4287
4430
  var user = reactRedux.useSelector(function (state) {
@@ -4290,8 +4433,10 @@ var TheLayout = function TheLayout(_ref) {
4290
4433
  var language = reactRedux.useSelector(function (state) {
4291
4434
  return state.common.language;
4292
4435
  });
4436
+
4293
4437
  var _useTranslation = reactI18next.useTranslation(),
4294
- t = _useTranslation.t;
4438
+ t = _useTranslation.t;
4439
+
4295
4440
  var location = reactRouterDom.useLocation();
4296
4441
  var isNotification = location.pathname.includes("notifications");
4297
4442
  var isDistrict = window.location.host.includes("-district");
@@ -4316,44 +4461,52 @@ var TheLayout = function TheLayout(_ref) {
4316
4461
  React.useEffect(function () {
4317
4462
  checkAuthentication();
4318
4463
  }, []);
4464
+
4319
4465
  var checkAuthentication = function checkAuthentication() {
4320
4466
  try {
4321
- var _temp = _catch(function () {
4467
+ var _temp2 = _catch(function () {
4322
4468
  return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
4323
4469
  tokenStatus ? loadInfo() : resetAuth();
4324
4470
  });
4325
4471
  }, function () {
4326
4472
  resetAuth();
4327
4473
  });
4328
- return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
4474
+
4475
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
4329
4476
  } catch (e) {
4330
4477
  return Promise.reject(e);
4331
4478
  }
4332
4479
  };
4480
+
4333
4481
  var loadInfo = function loadInfo() {
4334
4482
  try {
4335
- var _temp2 = _catch(function () {
4483
+ var _temp4 = _catch(function () {
4336
4484
  return Promise.resolve(getInfo()).then(function (info) {
4337
4485
  if (!info) {
4338
4486
  resetAuth();
4339
4487
  }
4488
+
4340
4489
  dispatch(setUser(info.data));
4341
4490
  });
4342
4491
  }, function () {
4343
4492
  resetAuth();
4344
4493
  });
4345
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
4494
+
4495
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
4346
4496
  } catch (e) {
4347
4497
  return Promise.reject(e);
4348
4498
  }
4349
4499
  };
4500
+
4350
4501
  var resetAuth = function resetAuth() {
4351
4502
  localStorage.removeItem(ACCESS_TOKEN);
4352
4503
  history.push("/");
4353
4504
  };
4505
+
4354
4506
  if (!user) {
4355
4507
  return React__default.createElement(Loading, null);
4356
4508
  }
4509
+
4357
4510
  return React__default.createElement("div", {
4358
4511
  className: "c-app c-default-layout"
4359
4512
  }, !isNotification && React__default.createElement(TheSidebar, {
@@ -4373,9 +4526,10 @@ var buttonTextStyle = {
4373
4526
  var buttonStyle = {
4374
4527
  height: 38
4375
4528
  };
4529
+
4376
4530
  var AddButton = function AddButton(_ref) {
4377
4531
  var text = _ref.text,
4378
- onClick = _ref.onClick;
4532
+ onClick = _ref.onClick;
4379
4533
  return React__default.createElement(reactstrap.Button, {
4380
4534
  onClick: onClick,
4381
4535
  color: 'success',
@@ -4398,7 +4552,7 @@ var DeleteButtonIcon = function DeleteButtonIcon(_ref) {
4398
4552
 
4399
4553
  var LinkEditButton = function LinkEditButton(_ref) {
4400
4554
  var label = _ref.label,
4401
- onClick = _ref.onClick;
4555
+ onClick = _ref.onClick;
4402
4556
  return React__default.createElement(reactstrap.Button, {
4403
4557
  className: "text-left py-0",
4404
4558
  color: "link",
@@ -4408,14 +4562,15 @@ var LinkEditButton = function LinkEditButton(_ref) {
4408
4562
 
4409
4563
  var EmptyDataAlert = function EmptyDataAlert(_ref) {
4410
4564
  var label = _ref.label,
4411
- className = _ref.className,
4412
- style = _ref.style;
4565
+ className = _ref.className,
4566
+ style = _ref.style;
4413
4567
  return React__default.createElement(reactstrap.Alert, {
4414
4568
  color: "primary",
4415
4569
  className: className,
4416
4570
  style: style
4417
4571
  }, "No ", label, " to display");
4418
4572
  };
4573
+
4419
4574
  EmptyDataAlert.defaultProps = {
4420
4575
  className: "",
4421
4576
  style: {}
@@ -4423,12 +4578,14 @@ EmptyDataAlert.defaultProps = {
4423
4578
 
4424
4579
  var CustomPagination = function CustomPagination(props) {
4425
4580
  var filters = props.filters,
4426
- changePage = props.changePage,
4427
- totalRecordCount = props.totalRecordCount,
4428
- changePageSize = props.changePageSize;
4581
+ changePage = props.changePage,
4582
+ totalRecordCount = props.totalRecordCount,
4583
+ changePageSize = props.changePageSize;
4584
+
4429
4585
  var _useState = React.useState(""),
4430
- input = _useState[0],
4431
- setInput = _useState[1];
4586
+ input = _useState[0],
4587
+ setInput = _useState[1];
4588
+
4432
4589
  React.useEffect(function () {
4433
4590
  setInput(filters.currentPage.toString());
4434
4591
  }, [filters.currentPage]);
@@ -4513,15 +4670,19 @@ var get$2 = function get() {
4513
4670
 
4514
4671
  var useFilters = function useFilters() {
4515
4672
  var _useState = React.useState(DEFAULT_FILTER),
4516
- filters = _useState[0],
4517
- setFilters = _useState[1];
4673
+ filters = _useState[0],
4674
+ setFilters = _useState[1];
4675
+
4518
4676
  var changeFilters = function changeFilters(updatedFilters) {
4519
4677
  var newFilters = _extends({}, filters, updatedFilters);
4678
+
4520
4679
  if (!!newFilters.searchString && !!updatedFilters.searchString && updatedFilters.searchString != filters.searchString) {
4521
4680
  newFilters.currentPage = 1;
4522
4681
  }
4682
+
4523
4683
  setFilters(newFilters);
4524
4684
  };
4685
+
4525
4686
  return {
4526
4687
  filters: filters,
4527
4688
  setFilters: setFilters,
@@ -4532,6 +4693,7 @@ var useFilters = function useFilters() {
4532
4693
  var EMAIL_TEMPLATE_URL$1 = "/admin/email-template";
4533
4694
  var CREATE_TEMPLATE_URL = "/admin/create-email-template";
4534
4695
  var TITLE$3 = "Email template list";
4696
+
4535
4697
  var useEmailTemplateList = function useEmailTemplateList() {
4536
4698
  var history = reactRouterDom.useHistory();
4537
4699
  var emailTemplateList = reactRedux.useSelector(function (state) {
@@ -4543,25 +4705,30 @@ var useEmailTemplateList = function useEmailTemplateList() {
4543
4705
  var mailCategoryList = reactRedux.useSelector(function (state) {
4544
4706
  return state.mailCategory.mailCategoryList;
4545
4707
  });
4708
+
4546
4709
  var _useFilters = useFilters(),
4547
- filters = _useFilters.filters,
4548
- changeFilters = _useFilters.changeFilters;
4710
+ filters = _useFilters.filters,
4711
+ changeFilters = _useFilters.changeFilters;
4712
+
4549
4713
  var dispatch = reactRedux.useDispatch();
4550
4714
  var getData = React.useCallback(function () {
4551
4715
  try {
4552
- var _temp3 = function _temp3() {
4716
+ var _temp4 = function _temp4() {
4553
4717
  dispatch(setLoading(false));
4554
4718
  };
4719
+
4555
4720
  dispatch(setLoading(true));
4556
- var _temp2 = _catch(function () {
4721
+
4722
+ var _temp5 = _catch(function () {
4557
4723
  return Promise.resolve(get$1(filters)).then(function (res) {
4558
4724
  var _res$data = res.data,
4559
- items = _res$data.items,
4560
- totalItems = _res$data.totalItems;
4725
+ items = _res$data.items,
4726
+ totalItems = _res$data.totalItems;
4561
4727
  dispatch(setEmailTemplateList({
4562
4728
  emailTemplateList: items,
4563
4729
  totalItems: totalItems
4564
4730
  }));
4731
+
4565
4732
  var _temp = function () {
4566
4733
  if (!!mailCategoryList && mailCategoryList.length == 0) {
4567
4734
  return Promise.resolve(get$2()).then(function (response) {
@@ -4569,22 +4736,26 @@ var useEmailTemplateList = function useEmailTemplateList() {
4569
4736
  });
4570
4737
  }
4571
4738
  }();
4739
+
4572
4740
  if (_temp && _temp.then) return _temp.then(function () {});
4573
4741
  });
4574
4742
  }, function (err) {
4575
4743
  var _err$response, _err$response$data;
4744
+
4576
4745
  dispatch(setAlert({
4577
4746
  type: "danger",
4578
4747
  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
4579
4748
  }));
4580
4749
  });
4581
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2));
4750
+
4751
+ return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp4) : _temp4(_temp5));
4582
4752
  } catch (e) {
4583
4753
  return Promise.reject(e);
4584
4754
  }
4585
4755
  }, [dispatch, filters]);
4586
4756
  var removeData = React.useCallback(function (id) {
4587
4757
  dispatch(setLoading(true));
4758
+
4588
4759
  try {
4589
4760
  dispatch(setModal({
4590
4761
  isOpen: true,
@@ -4608,11 +4779,13 @@ var useEmailTemplateList = function useEmailTemplateList() {
4608
4779
  }));
4609
4780
  } catch (err) {
4610
4781
  var _err$response2, _err$response2$data;
4782
+
4611
4783
  dispatch(setAlert({
4612
4784
  type: "danger",
4613
4785
  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
4614
4786
  }));
4615
4787
  }
4788
+
4616
4789
  dispatch(setLoading(false));
4617
4790
  }, [filters]);
4618
4791
  var goToDetail = React.useCallback(function (id) {
@@ -4638,18 +4811,21 @@ var useEmailTemplateList = function useEmailTemplateList() {
4638
4811
  };
4639
4812
 
4640
4813
  var header = "Email template";
4814
+
4641
4815
  var EmailTemplateList = function EmailTemplateList() {
4642
4816
  var _useEmailTemplateList = useEmailTemplateList(),
4643
- emailTemplateList = _useEmailTemplateList.emailTemplateList,
4644
- totalItems = _useEmailTemplateList.totalItems,
4645
- filters = _useEmailTemplateList.filters,
4646
- changeFilters = _useEmailTemplateList.changeFilters,
4647
- removeData = _useEmailTemplateList.removeData,
4648
- goToDetail = _useEmailTemplateList.goToDetail,
4649
- mailCategoryList = _useEmailTemplateList.mailCategoryList;
4817
+ emailTemplateList = _useEmailTemplateList.emailTemplateList,
4818
+ totalItems = _useEmailTemplateList.totalItems,
4819
+ filters = _useEmailTemplateList.filters,
4820
+ changeFilters = _useEmailTemplateList.changeFilters,
4821
+ removeData = _useEmailTemplateList.removeData,
4822
+ goToDetail = _useEmailTemplateList.goToDetail,
4823
+ mailCategoryList = _useEmailTemplateList.mailCategoryList;
4824
+
4650
4825
  var onRemove = function onRemove(id) {
4651
4826
  removeData(id);
4652
4827
  };
4828
+
4653
4829
  return React__default.createElement("div", {
4654
4830
  className: "fadeIn animated"
4655
4831
  }, React__default.createElement("h5", {
@@ -4754,10 +4930,11 @@ var style$1 = {
4754
4930
  padding: "8px",
4755
4931
  zIndex: 1
4756
4932
  };
4933
+
4757
4934
  var DetailActionButtons = function DetailActionButtons(_ref) {
4758
4935
  var confirmText = _ref.confirmText,
4759
- onConfirm = _ref.onConfirm,
4760
- onCancel = _ref.onCancel;
4936
+ onConfirm = _ref.onConfirm,
4937
+ onCancel = _ref.onCancel;
4761
4938
  return React__default.createElement(reactstrap.Row, {
4762
4939
  form: true,
4763
4940
  style: style$1
@@ -4806,9 +4983,10 @@ var defaultparams = [{
4806
4983
  label: "$DOMAIN$",
4807
4984
  meaning: "Domain"
4808
4985
  }];
4986
+
4809
4987
  var MailSubject = function MailSubject(_ref) {
4810
4988
  var _onClick = _ref.onClick,
4811
- isResetPasswordTemplate = _ref.isResetPasswordTemplate;
4989
+ isResetPasswordTemplate = _ref.isResetPasswordTemplate;
4812
4990
  var params = !!isResetPasswordTemplate ? [].concat(defaultparams, [{
4813
4991
  label: "$RESET_LINK$",
4814
4992
  meaning: "Reset link"
@@ -4848,20 +5026,23 @@ var MailCategorySelector = function MailCategorySelector(props) {
4848
5026
  React.useEffect(function () {
4849
5027
  fetchMailCategory();
4850
5028
  }, []);
5029
+
4851
5030
  var fetchMailCategory = function fetchMailCategory() {
4852
5031
  try {
4853
- var _temp = _catch(function () {
5032
+ var _temp2 = _catch(function () {
4854
5033
  return Promise.resolve(get$2()).then(function (res) {
4855
5034
  dispatch(setMailCategory(res.data.items));
4856
5035
  });
4857
5036
  }, function (err) {
4858
5037
  console.error(err);
4859
5038
  });
4860
- return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
5039
+
5040
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
4861
5041
  } catch (e) {
4862
5042
  return Promise.reject(e);
4863
5043
  }
4864
5044
  };
5045
+
4865
5046
  var id = props.id;
4866
5047
  var arrCategory = mailCategoryList.map(function (i) {
4867
5048
  return {
@@ -4885,6 +5066,7 @@ var RequiredLabel = function RequiredLabel(_ref) {
4885
5066
  className: "ml-2 text-danger"
4886
5067
  }, "*"));
4887
5068
  };
5069
+
4888
5070
  var RequiredLabel$1 = React.memo(RequiredLabel);
4889
5071
 
4890
5072
  var quitAlertMessage = "You have some changes. Click OK to discard or click Cancel to continue edit, then click Update below to save your changes.";
@@ -4898,7 +5080,7 @@ function QuitPrompt(props) {
4898
5080
 
4899
5081
  var AttachmentFile = function AttachmentFile(_ref) {
4900
5082
  var label = _ref.label,
4901
- onRemove = _ref.onRemove;
5083
+ onRemove = _ref.onRemove;
4902
5084
  return React__default.createElement(React.Fragment, null, React__default.createElement("span", {
4903
5085
  className: "mr-2"
4904
5086
  }, label), React__default.createElement("i", {
@@ -4977,58 +5159,68 @@ var config = {
4977
5159
  toolbar: "undo redo | formatselect | bold italic backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | image",
4978
5160
  paste_data_images: true
4979
5161
  };
5162
+
4980
5163
  var email$2 = _extends({}, config, {
4981
5164
  images_upload_handler: function images_upload_handler(blobInfo, success) {
4982
5165
  try {
4983
5166
  var imageFile = new FormData();
4984
5167
  imageFile.append("file", blobInfo.blob(), blobInfo.filename());
4985
- var _temp = _catch(function () {
5168
+
5169
+ var _temp2 = _catch(function () {
4986
5170
  return Promise.resolve(systemEmailUpload(imageFile)).then(function (_ref) {
4987
5171
  var data = _ref.data;
4988
5172
  success(getFileUrl(data.key));
4989
5173
  });
4990
5174
  }, function () {});
4991
- return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
5175
+
5176
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
4992
5177
  } catch (e) {
4993
5178
  return Promise.reject(e);
4994
5179
  }
4995
5180
  }
4996
5181
  });
5182
+
4997
5183
  var question$2 = _extends({}, config, {
4998
5184
  images_upload_handler: function images_upload_handler(blobInfo, success) {
4999
5185
  try {
5000
5186
  var imageFile = new FormData();
5001
5187
  imageFile.append("file", blobInfo.blob(), blobInfo.filename());
5002
- var _temp2 = _catch(function () {
5188
+
5189
+ var _temp4 = _catch(function () {
5003
5190
  return Promise.resolve(systemQuestionUpload(imageFile)).then(function (_ref2) {
5004
5191
  var data = _ref2.data;
5005
5192
  success(getFileUrl(data.key));
5006
5193
  });
5007
5194
  }, function () {});
5008
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
5195
+
5196
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
5009
5197
  } catch (e) {
5010
5198
  return Promise.reject(e);
5011
5199
  }
5012
5200
  }
5013
5201
  });
5202
+
5014
5203
  var answer$2 = _extends({}, config, {
5015
5204
  height: ANSWER_EDITOR_HEIGHT,
5016
5205
  images_upload_handler: function images_upload_handler(blobInfo, success) {
5017
5206
  try {
5018
5207
  var imageFile = new FormData();
5019
5208
  imageFile.append("file", blobInfo.blob(), blobInfo.filename());
5020
- var _temp3 = _catch(function () {
5209
+
5210
+ var _temp6 = _catch(function () {
5021
5211
  return Promise.resolve(systemAnswerUpload(imageFile)).then(function (_ref3) {
5022
5212
  var data = _ref3.data;
5023
5213
  success(getFileUrl(data.key));
5024
5214
  });
5025
5215
  }, function () {});
5026
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
5216
+
5217
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
5027
5218
  } catch (e) {
5028
5219
  return Promise.reject(e);
5029
5220
  }
5030
5221
  }
5031
5222
  });
5223
+
5032
5224
  var tutorial = _extends({}, config, {
5033
5225
  height: ANSWER_EDITOR_HEIGHT,
5034
5226
  media_live_embeds: true,
@@ -5038,13 +5230,15 @@ var tutorial = _extends({}, config, {
5038
5230
  try {
5039
5231
  var imageFile = new FormData();
5040
5232
  imageFile.append("file", blobInfo.blob(), blobInfo.filename());
5041
- var _temp4 = _catch(function () {
5233
+
5234
+ var _temp8 = _catch(function () {
5042
5235
  return Promise.resolve(systemTutorialUpload(imageFile)).then(function (_ref4) {
5043
5236
  var data = _ref4.data;
5044
5237
  success(getFileUrl(data.key));
5045
5238
  });
5046
5239
  }, function () {});
5047
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
5240
+
5241
+ return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(function () {}) : void 0);
5048
5242
  } catch (e) {
5049
5243
  return Promise.reject(e);
5050
5244
  }
@@ -5053,6 +5247,7 @@ var tutorial = _extends({}, config, {
5053
5247
  var input = document.createElement("input");
5054
5248
  input.setAttribute("type", "file");
5055
5249
  input.setAttribute("accept", "video/*");
5250
+
5056
5251
  input.onchange = function (e) {
5057
5252
  try {
5058
5253
  var file = e.target.files[0];
@@ -5067,9 +5262,11 @@ var tutorial = _extends({}, config, {
5067
5262
  return Promise.reject(e);
5068
5263
  }
5069
5264
  };
5265
+
5070
5266
  input.click();
5071
5267
  }
5072
5268
  });
5269
+
5073
5270
  var editorConfig = {
5074
5271
  email: email$2,
5075
5272
  question: question$2,
@@ -5087,16 +5284,20 @@ var initValue = {
5087
5284
  var EMAIL_TEMPLATE_LIST_URL = "/admin/email-template";
5088
5285
  var TITLE$4 = "Email template detail";
5089
5286
  var MAX_FILES_SIZE = 4194304;
5287
+
5090
5288
  var useEmailTemplateDetail = function useEmailTemplateDetail(id) {
5091
5289
  var editorRef;
5092
5290
  var dispatch = reactRedux.useDispatch();
5093
5291
  var history = reactRouterDom.useHistory();
5292
+
5094
5293
  var _useState = React.useState(initValue),
5095
- emailTemplateDetail = _useState[0],
5096
- setEmailTemplateDetail = _useState[1];
5294
+ emailTemplateDetail = _useState[0],
5295
+ setEmailTemplateDetail = _useState[1];
5296
+
5097
5297
  var _useState2 = React.useState(false),
5098
- edited = _useState2[0],
5099
- setEdited = _useState2[1];
5298
+ edited = _useState2[0],
5299
+ setEdited = _useState2[1];
5300
+
5100
5301
  var setEditedTrue = function setEditedTrue() {
5101
5302
  try {
5102
5303
  localStorage.setItem(window.location.href, "true");
@@ -5106,12 +5307,15 @@ var useEmailTemplateDetail = function useEmailTemplateDetail(id) {
5106
5307
  return Promise.reject(e);
5107
5308
  }
5108
5309
  };
5310
+
5109
5311
  var _useState3 = React.useState([]),
5110
- removedFiles = _useState3[0],
5111
- setRemovedFiles = _useState3[1];
5312
+ removedFiles = _useState3[0],
5313
+ setRemovedFiles = _useState3[1];
5314
+
5112
5315
  var _useState4 = React.useState([]),
5113
- fileUpload = _useState4[0],
5114
- setFileUpload = _useState4[1];
5316
+ fileUpload = _useState4[0],
5317
+ setFileUpload = _useState4[1];
5318
+
5115
5319
  React.useEffect(function () {
5116
5320
  document.title = TITLE$4;
5117
5321
  setEdited(false);
@@ -5122,11 +5326,13 @@ var useEmailTemplateDetail = function useEmailTemplateDetail(id) {
5122
5326
  }, [id]);
5123
5327
  var getData = React.useCallback(function () {
5124
5328
  try {
5125
- var _temp2 = function _temp2() {
5329
+ var _temp3 = function _temp3() {
5126
5330
  dispatch(setLoading(false));
5127
5331
  };
5332
+
5128
5333
  dispatch(setLoading(true));
5129
- var _temp = _catch(function () {
5334
+
5335
+ var _temp4 = _catch(function () {
5130
5336
  return Promise.resolve(getById(id)).then(function (res) {
5131
5337
  setEmailTemplateDetail({
5132
5338
  id: res.data.id,
@@ -5140,33 +5346,40 @@ var useEmailTemplateDetail = function useEmailTemplateDetail(id) {
5140
5346
  });
5141
5347
  }, function (err) {
5142
5348
  var _err$response, _err$response$data;
5349
+
5143
5350
  dispatch(setAlert({
5144
5351
  type: "danger",
5145
5352
  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
5146
5353
  }));
5147
5354
  });
5148
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
5355
+
5356
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
5149
5357
  } catch (e) {
5150
5358
  return Promise.reject(e);
5151
5359
  }
5152
5360
  }, [id]);
5361
+
5153
5362
  var setEditorRef = function setEditorRef(node) {
5154
5363
  return editorRef = node;
5155
5364
  };
5365
+
5156
5366
  var addParams = function addParams(params) {
5157
5367
  editorRef && editorRef.editor.execCommand("mceInsertContent", false, " " + params.label);
5158
5368
  };
5369
+
5159
5370
  var backToList = React.useCallback(function () {
5160
5371
  history.push(EMAIL_TEMPLATE_LIST_URL);
5161
5372
  }, []);
5162
5373
  var confirmData = React.useCallback(function (data) {
5163
5374
  try {
5164
- var _temp6 = function _temp6() {
5375
+ var _temp9 = function _temp9() {
5165
5376
  dispatch(setLoading(false));
5166
5377
  };
5378
+
5167
5379
  dispatch(setLoading(true));
5168
- var _temp5 = _catch(function () {
5169
- function _temp4() {
5380
+
5381
+ var _temp10 = _catch(function () {
5382
+ function _temp6() {
5170
5383
  var next = !!id ? update$2 : create$2;
5171
5384
  return Promise.resolve(next(data)).then(function () {
5172
5385
  dispatch(setAlert({
@@ -5176,7 +5389,8 @@ var useEmailTemplateDetail = function useEmailTemplateDetail(id) {
5176
5389
  backToList();
5177
5390
  });
5178
5391
  }
5179
- var _temp3 = function () {
5392
+
5393
+ var _temp5 = function () {
5180
5394
  if (!!fileUpload && !!fileUpload.length) {
5181
5395
  return Promise.resolve(uploadFiles()).then(function (fileData) {
5182
5396
  var newAttachments = fileData.map(function (item) {
@@ -5189,19 +5403,23 @@ var useEmailTemplateDetail = function useEmailTemplateDetail(id) {
5189
5403
  });
5190
5404
  }
5191
5405
  }();
5192
- return _temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3);
5406
+
5407
+ return _temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5);
5193
5408
  }, function (err) {
5194
5409
  var _err$response2, _err$response2$data;
5410
+
5195
5411
  dispatch(setAlert({
5196
5412
  type: "danger",
5197
5413
  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
5198
5414
  }));
5199
5415
  });
5200
- return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
5416
+
5417
+ return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
5201
5418
  } catch (e) {
5202
5419
  return Promise.reject(e);
5203
5420
  }
5204
5421
  }, [id, fileUpload]);
5422
+
5205
5423
  var onAttachFile = function onAttachFile() {
5206
5424
  var inputs = document.getElementsByClassName("input-attachment");
5207
5425
  var newInput = document.createElement("input");
@@ -5215,15 +5433,19 @@ var useEmailTemplateDetail = function useEmailTemplateDetail(id) {
5215
5433
  newInput.addEventListener("change", updateAttachment);
5216
5434
  newInput.click();
5217
5435
  };
5436
+
5218
5437
  var updateAttachment = function updateAttachment() {
5219
5438
  var files = [];
5220
5439
  var totalSize = 0;
5221
5440
  var attachmentInputs = document.getElementsByClassName("input-attachment");
5441
+
5222
5442
  for (var _iterator = _createForOfIteratorHelperLoose(attachmentInputs), _step; !(_step = _iterator()).done;) {
5223
5443
  var attachmentInput = _step.value;
5444
+
5224
5445
  for (var _iterator3 = _createForOfIteratorHelperLoose(attachmentInput.files), _step3; !(_step3 = _iterator3()).done;) {
5225
5446
  var file = _step3.value;
5226
5447
  totalSize += file.size;
5448
+
5227
5449
  if (totalSize > MAX_FILES_SIZE) {
5228
5450
  dispatch(setAlert({
5229
5451
  type: "danger",
@@ -5234,11 +5456,14 @@ var useEmailTemplateDetail = function useEmailTemplateDetail(id) {
5234
5456
  }
5235
5457
  }
5236
5458
  }
5459
+
5237
5460
  for (var _iterator2 = _createForOfIteratorHelperLoose(attachmentInputs), _step2; !(_step2 = _iterator2()).done;) {
5238
5461
  var _attachmentInput = _step2.value;
5462
+
5239
5463
  var _loop = function _loop() {
5240
5464
  var file = _step4.value;
5241
5465
  var name = file.name;
5466
+
5242
5467
  if (!removedFiles.includes(file) && !files.some(function (file) {
5243
5468
  return file.name === name;
5244
5469
  })) {
@@ -5248,13 +5473,17 @@ var useEmailTemplateDetail = function useEmailTemplateDetail(id) {
5248
5473
  });
5249
5474
  }
5250
5475
  };
5476
+
5251
5477
  for (var _iterator4 = _createForOfIteratorHelperLoose(_attachmentInput.files), _step4; !(_step4 = _iterator4()).done;) {
5252
5478
  _loop();
5253
5479
  }
5480
+
5254
5481
  continue;
5255
5482
  }
5483
+
5256
5484
  setFileUpload(files);
5257
5485
  };
5486
+
5258
5487
  var removeAttachment = function removeAttachment(inputId, fileName) {
5259
5488
  if (fileUpload.filter(function (item) {
5260
5489
  return item.inputId === inputId;
@@ -5272,17 +5501,22 @@ var useEmailTemplateDetail = function useEmailTemplateDetail(id) {
5272
5501
  setFileUpload([].concat(fileUpload));
5273
5502
  return;
5274
5503
  }
5504
+
5275
5505
  setRemovedFiles([].concat(removedFiles, [fileName]));
5276
5506
  };
5507
+
5277
5508
  React.useEffect(function () {
5278
5509
  updateAttachment();
5279
5510
  }, [removedFiles]);
5511
+
5280
5512
  var uploadFiles = function uploadFiles() {
5281
5513
  try {
5282
5514
  var attachmentInputs = document.getElementsByClassName("input-attachment");
5283
5515
  var promises = [];
5516
+
5284
5517
  for (var _iterator5 = _createForOfIteratorHelperLoose(attachmentInputs), _step5; !(_step5 = _iterator5()).done;) {
5285
5518
  var attachmentInput = _step5.value;
5519
+
5286
5520
  for (var _iterator6 = _createForOfIteratorHelperLoose(attachmentInput.files), _step6; !(_step6 = _iterator6()).done;) {
5287
5521
  var file = _step6.value;
5288
5522
  var name = file.name;
@@ -5291,11 +5525,13 @@ var useEmailTemplateDetail = function useEmailTemplateDetail(id) {
5291
5525
  promises.push(systemEmailUpload(formData));
5292
5526
  }
5293
5527
  }
5528
+
5294
5529
  return Promise.all(promises);
5295
5530
  } catch (e) {
5296
5531
  return Promise.reject(e);
5297
5532
  }
5298
5533
  };
5534
+
5299
5535
  return {
5300
5536
  emailTemplateDetail: emailTemplateDetail,
5301
5537
  setEditorRef: setEditorRef,
@@ -5323,21 +5559,24 @@ var schema$1 = yup.object({
5323
5559
 
5324
5560
  var CREATE_TEMPLATE_HEADER = "Create email template";
5325
5561
  var EDIT_TEMPLATE_HEADER = "Edit email template";
5562
+
5326
5563
  var EmailTemplateDetail = function EmailTemplateDetail() {
5327
5564
  var _useParams = reactRouterDom.useParams(),
5328
- id = _useParams.id;
5565
+ id = _useParams.id;
5566
+
5329
5567
  var _useEmailTemplateDeta = useEmailTemplateDetail(parseInt(id)),
5330
- emailTemplateDetail = _useEmailTemplateDeta.emailTemplateDetail,
5331
- setEditorRef = _useEmailTemplateDeta.setEditorRef,
5332
- addParams = _useEmailTemplateDeta.addParams,
5333
- backToList = _useEmailTemplateDeta.backToList,
5334
- confirmData = _useEmailTemplateDeta.confirmData,
5335
- edited = _useEmailTemplateDeta.edited,
5336
- setEdited = _useEmailTemplateDeta.setEdited,
5337
- setEditedTrue = _useEmailTemplateDeta.setEditedTrue,
5338
- onAttachFile = _useEmailTemplateDeta.onAttachFile,
5339
- fileUpload = _useEmailTemplateDeta.fileUpload,
5340
- removeAttachment = _useEmailTemplateDeta.removeAttachment;
5568
+ emailTemplateDetail = _useEmailTemplateDeta.emailTemplateDetail,
5569
+ setEditorRef = _useEmailTemplateDeta.setEditorRef,
5570
+ addParams = _useEmailTemplateDeta.addParams,
5571
+ backToList = _useEmailTemplateDeta.backToList,
5572
+ confirmData = _useEmailTemplateDeta.confirmData,
5573
+ edited = _useEmailTemplateDeta.edited,
5574
+ setEdited = _useEmailTemplateDeta.setEdited,
5575
+ setEditedTrue = _useEmailTemplateDeta.setEditedTrue,
5576
+ onAttachFile = _useEmailTemplateDeta.onAttachFile,
5577
+ fileUpload = _useEmailTemplateDeta.fileUpload,
5578
+ removeAttachment = _useEmailTemplateDeta.removeAttachment;
5579
+
5341
5580
  var header = !!id ? EDIT_TEMPLATE_HEADER : CREATE_TEMPLATE_HEADER;
5342
5581
  var confirmText = !!id ? "Update" : "Create";
5343
5582
  var mailCategoryList = reactRedux.useSelector(function (state) {
@@ -5354,12 +5593,12 @@ var EmailTemplateDetail = function EmailTemplateDetail() {
5354
5593
  }
5355
5594
  }, function (formikProps) {
5356
5595
  var values = formikProps.values,
5357
- touched = formikProps.touched,
5358
- errors = formikProps.errors,
5359
- setFieldValue = formikProps.setFieldValue,
5360
- handleChange = formikProps.handleChange,
5361
- handleBlur = formikProps.handleBlur,
5362
- handleSubmit = formikProps.handleSubmit;
5596
+ touched = formikProps.touched,
5597
+ errors = formikProps.errors,
5598
+ setFieldValue = formikProps.setFieldValue,
5599
+ handleChange = formikProps.handleChange,
5600
+ handleBlur = formikProps.handleBlur,
5601
+ handleSubmit = formikProps.handleSubmit;
5363
5602
  return React__default.createElement("div", {
5364
5603
  className: "animated fadeIn detail-buttons-padding",
5365
5604
  id: "email-detail"
@@ -5472,19 +5711,22 @@ var EmailTemplateDetail = function EmailTemplateDetail() {
5472
5711
 
5473
5712
  var CommonModal = function CommonModal(props, ref) {
5474
5713
  var header = props.header,
5475
- children = props.children,
5476
- onConfirm = props.onConfirm,
5477
- onCancel = props.onCancel,
5478
- confirmText = props.confirmText,
5479
- cancelText = props.cancelText,
5480
- noFooter = props.noFooter,
5481
- size = props.size,
5482
- edited = props.edited,
5483
- setEditedFalse = props.setEditedFalse;
5714
+ children = props.children,
5715
+ onConfirm = props.onConfirm,
5716
+ onCancel = props.onCancel,
5717
+ confirmText = props.confirmText,
5718
+ cancelText = props.cancelText,
5719
+ noFooter = props.noFooter,
5720
+ size = props.size,
5721
+ edited = props.edited,
5722
+ setEditedFalse = props.setEditedFalse;
5723
+
5484
5724
  var _useState = React.useState(false),
5485
- isOpen = _useState[0],
5486
- setIsOpen = _useState[1];
5725
+ isOpen = _useState[0],
5726
+ setIsOpen = _useState[1];
5727
+
5487
5728
  var dispatch = reactRedux.useDispatch();
5729
+
5488
5730
  var showEditedWarningModal = function showEditedWarningModal(cb) {
5489
5731
  try {
5490
5732
  dispatch(setModal({
@@ -5502,17 +5744,20 @@ var CommonModal = function CommonModal(props, ref) {
5502
5744
  }));
5503
5745
  } catch (err) {
5504
5746
  var _err$response, _err$response$data;
5747
+
5505
5748
  dispatch(setAlert({
5506
5749
  type: "danger",
5507
5750
  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
5508
5751
  }));
5509
5752
  }
5510
5753
  };
5754
+
5511
5755
  var onToggle = function onToggle() {
5512
5756
  !!setEditedFalse && setEditedFalse();
5513
5757
  setIsOpen(!isOpen);
5514
5758
  !!isOpen && !!onCancel && onCancel();
5515
5759
  };
5760
+
5516
5761
  var _toggle = React.useCallback(function (isShowConfirm, cb) {
5517
5762
  if (!!isShowConfirm) {
5518
5763
  showEditedWarningModal(function () {
@@ -5524,6 +5769,7 @@ var CommonModal = function CommonModal(props, ref) {
5524
5769
  !!cb && cb();
5525
5770
  }
5526
5771
  }, [isOpen]);
5772
+
5527
5773
  var cancel = React.useCallback(function () {
5528
5774
  _toggle(!!edited, function () {
5529
5775
  onCancel && onCancel();
@@ -5553,22 +5799,24 @@ var CommonModal = function CommonModal(props, ref) {
5553
5799
  onClick: cancel
5554
5800
  }, cancelText || "Cancel")));
5555
5801
  };
5802
+
5556
5803
  var CommonModal$1 = React.forwardRef(CommonModal);
5557
5804
 
5558
5805
  var schema$2 = yup.object({
5559
5806
  question: yup.string().required("Question is required"),
5560
5807
  answer: yup.string().required("Answer is required")
5561
5808
  });
5809
+
5562
5810
  var FaqDetailModal = function FaqDetailModal(props, ref) {
5563
5811
  var header = props.header,
5564
- confirmText = props.confirmText,
5565
- onConfirm = props.onConfirm,
5566
- faqDetail = props.faqDetail,
5567
- onCancel = props.onCancel,
5568
- edited = props.edited,
5569
- setEdited = props.setEdited,
5570
- setEditedTrue = props.setEditedTrue,
5571
- setEditedFalse = props.setEditedFalse;
5812
+ confirmText = props.confirmText,
5813
+ onConfirm = props.onConfirm,
5814
+ faqDetail = props.faqDetail,
5815
+ onCancel = props.onCancel,
5816
+ edited = props.edited,
5817
+ setEdited = props.setEdited,
5818
+ setEditedTrue = props.setEditedTrue,
5819
+ setEditedFalse = props.setEditedFalse;
5572
5820
  return React__default.createElement(formik.Formik, {
5573
5821
  initialValues: faqDetail,
5574
5822
  enableReinitialize: true,
@@ -5579,11 +5827,11 @@ var FaqDetailModal = function FaqDetailModal(props, ref) {
5579
5827
  }
5580
5828
  }, function (formikProps) {
5581
5829
  var values = formikProps.values,
5582
- touched = formikProps.touched,
5583
- errors = formikProps.errors,
5584
- handleChange = formikProps.handleChange,
5585
- handleBlur = formikProps.handleBlur,
5586
- handleSubmit = formikProps.handleSubmit;
5830
+ touched = formikProps.touched,
5831
+ errors = formikProps.errors,
5832
+ handleChange = formikProps.handleChange,
5833
+ handleBlur = formikProps.handleBlur,
5834
+ handleSubmit = formikProps.handleSubmit;
5587
5835
  return React__default.createElement(CommonModal$1, {
5588
5836
  header: header,
5589
5837
  confirmText: confirmText,
@@ -5630,6 +5878,7 @@ var FaqDetailModal = function FaqDetailModal(props, ref) {
5630
5878
  }))));
5631
5879
  });
5632
5880
  };
5881
+
5633
5882
  var FaqDetailModal$1 = React.forwardRef(FaqDetailModal);
5634
5883
 
5635
5884
  var setFaqList = toolkit.createAction("faqs/setFaqList");
@@ -5654,6 +5903,7 @@ var remove$1 = function remove(id) {
5654
5903
  };
5655
5904
 
5656
5905
  var TITLE$5 = "FAQ list";
5906
+
5657
5907
  var useFaqList = function useFaqList() {
5658
5908
  var faqList = reactRedux.useSelector(function (state) {
5659
5909
  return state.faqs.faqList;
@@ -5661,21 +5911,25 @@ var useFaqList = function useFaqList() {
5661
5911
  var totalItems = reactRedux.useSelector(function (state) {
5662
5912
  return state.faqs.totalItems;
5663
5913
  });
5914
+
5664
5915
  var _useFilters = useFilters(),
5665
- filters = _useFilters.filters,
5666
- changeFilters = _useFilters.changeFilters;
5916
+ filters = _useFilters.filters,
5917
+ changeFilters = _useFilters.changeFilters;
5918
+
5667
5919
  var dispatch = reactRedux.useDispatch();
5668
5920
  var getData = React.useCallback(function () {
5669
5921
  try {
5670
- var _temp2 = function _temp2() {
5922
+ var _temp3 = function _temp3() {
5671
5923
  dispatch(setLoading(false));
5672
5924
  };
5925
+
5673
5926
  dispatch(setLoading(true));
5674
- var _temp = _catch(function () {
5927
+
5928
+ var _temp4 = _catch(function () {
5675
5929
  return Promise.resolve(get$3(filters)).then(function (res) {
5676
5930
  var _res$data = res.data,
5677
- items = _res$data.items,
5678
- totalItems = _res$data.totalItems;
5931
+ items = _res$data.items,
5932
+ totalItems = _res$data.totalItems;
5679
5933
  dispatch(setFaqList({
5680
5934
  faqList: items,
5681
5935
  totalItems: totalItems
@@ -5683,18 +5937,21 @@ var useFaqList = function useFaqList() {
5683
5937
  });
5684
5938
  }, function (err) {
5685
5939
  var _err$response, _err$response$data;
5940
+
5686
5941
  dispatch(setAlert({
5687
5942
  type: "danger",
5688
5943
  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
5689
5944
  }));
5690
5945
  });
5691
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
5946
+
5947
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
5692
5948
  } catch (e) {
5693
5949
  return Promise.reject(e);
5694
5950
  }
5695
5951
  }, [dispatch, filters]);
5696
5952
  var removeData = React.useCallback(function (id) {
5697
5953
  dispatch(setLoading(true));
5954
+
5698
5955
  try {
5699
5956
  dispatch(setModal({
5700
5957
  isOpen: true,
@@ -5718,11 +5975,13 @@ var useFaqList = function useFaqList() {
5718
5975
  }));
5719
5976
  } catch (err) {
5720
5977
  var _err$response2, _err$response2$data;
5978
+
5721
5979
  dispatch(setAlert({
5722
5980
  type: "danger",
5723
5981
  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
5724
5982
  }));
5725
5983
  }
5984
+
5726
5985
  dispatch(setLoading(false));
5727
5986
  }, [filters]);
5728
5987
  React.useEffect(function () {
@@ -5745,17 +6004,22 @@ var initValue$1 = {
5745
6004
  question: "",
5746
6005
  answer: ""
5747
6006
  };
6007
+
5748
6008
  var useFaqDetail = function useFaqDetail() {
5749
6009
  var dispatch = reactRedux.useDispatch();
6010
+
5750
6011
  var _useState = React.useState(0),
5751
- id = _useState[0],
5752
- setId = _useState[1];
6012
+ id = _useState[0],
6013
+ setId = _useState[1];
6014
+
5753
6015
  var _useState2 = React.useState(initValue$1),
5754
- faqDetail = _useState2[0],
5755
- setFaqDetail = _useState2[1];
6016
+ faqDetail = _useState2[0],
6017
+ setFaqDetail = _useState2[1];
6018
+
5756
6019
  var _useState3 = React.useState(false),
5757
- edited = _useState3[0],
5758
- setEdited = _useState3[1];
6020
+ edited = _useState3[0],
6021
+ setEdited = _useState3[1];
6022
+
5759
6023
  var setEditedTrue = function setEditedTrue() {
5760
6024
  try {
5761
6025
  localStorage.setItem(window.location.href, "true");
@@ -5765,6 +6029,7 @@ var useFaqDetail = function useFaqDetail() {
5765
6029
  return Promise.reject(e);
5766
6030
  }
5767
6031
  };
6032
+
5768
6033
  var setEditedFalse = function setEditedFalse() {
5769
6034
  try {
5770
6035
  !!localStorage.getItem(window.location.href) && localStorage.removeItem(window.location.href);
@@ -5774,45 +6039,54 @@ var useFaqDetail = function useFaqDetail() {
5774
6039
  return Promise.reject(e);
5775
6040
  }
5776
6041
  };
6042
+
5777
6043
  React.useEffect(function () {
5778
6044
  !!id ? getData() : setFaqDetail(initValue$1);
5779
6045
  }, [id]);
5780
6046
  React.useEffect(function () {
5781
6047
  setEditedFalse();
5782
6048
  }, []);
6049
+
5783
6050
  var reset = function reset() {
5784
6051
  setFaqDetail(initValue$1);
5785
6052
  setId(0);
5786
6053
  };
6054
+
5787
6055
  var getData = React.useCallback(function () {
5788
6056
  try {
5789
- var _temp2 = function _temp2() {
6057
+ var _temp3 = function _temp3() {
5790
6058
  dispatch(setLoading(false));
5791
6059
  };
6060
+
5792
6061
  dispatch(setLoading(true));
5793
- var _temp = _catch(function () {
6062
+
6063
+ var _temp4 = _catch(function () {
5794
6064
  return Promise.resolve(getById$1(id)).then(function (res) {
5795
6065
  setFaqDetail(res.data);
5796
6066
  });
5797
6067
  }, function (err) {
5798
6068
  var _err$response, _err$response$data;
6069
+
5799
6070
  dispatch(setAlert({
5800
6071
  type: "danger",
5801
6072
  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
5802
6073
  }));
5803
6074
  });
5804
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
6075
+
6076
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
5805
6077
  } catch (e) {
5806
6078
  return Promise.reject(e);
5807
6079
  }
5808
6080
  }, [id]);
5809
6081
  var confirmData = React.useCallback(function (values, cb) {
5810
6082
  try {
5811
- var _temp4 = function _temp4() {
6083
+ var _temp7 = function _temp7() {
5812
6084
  dispatch(setLoading(false));
5813
6085
  };
6086
+
5814
6087
  dispatch(setLoading(true));
5815
- var _temp3 = _catch(function () {
6088
+
6089
+ var _temp8 = _catch(function () {
5816
6090
  var next = !!id ? update$3 : create$3;
5817
6091
  return Promise.resolve(next(values)).then(function () {
5818
6092
  dispatch(setAlert({
@@ -5824,12 +6098,14 @@ var useFaqDetail = function useFaqDetail() {
5824
6098
  });
5825
6099
  }, function (err) {
5826
6100
  var _err$response2, _err$response2$data;
6101
+
5827
6102
  dispatch(setAlert({
5828
6103
  type: "danger",
5829
6104
  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
5830
6105
  }));
5831
6106
  });
5832
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
6107
+
6108
+ return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp7) : _temp7(_temp8));
5833
6109
  } catch (e) {
5834
6110
  return Promise.reject(e);
5835
6111
  }
@@ -5849,29 +6125,34 @@ var useFaqDetail = function useFaqDetail() {
5849
6125
  };
5850
6126
 
5851
6127
  var header$1 = "FAQ";
6128
+
5852
6129
  var FaqList = function FaqList() {
5853
6130
  var modal = React.useRef();
6131
+
5854
6132
  var _useFaqList = useFaqList(),
5855
- faqList = _useFaqList.faqList,
5856
- totalItems = _useFaqList.totalItems,
5857
- filters = _useFaqList.filters,
5858
- changeFilters = _useFaqList.changeFilters,
5859
- getData = _useFaqList.getData,
5860
- removeData = _useFaqList.removeData;
6133
+ faqList = _useFaqList.faqList,
6134
+ totalItems = _useFaqList.totalItems,
6135
+ filters = _useFaqList.filters,
6136
+ changeFilters = _useFaqList.changeFilters,
6137
+ getData = _useFaqList.getData,
6138
+ removeData = _useFaqList.removeData;
6139
+
5861
6140
  var _useFaqDetail = useFaqDetail(),
5862
- id = _useFaqDetail.id,
5863
- setId = _useFaqDetail.setId,
5864
- faqDetail = _useFaqDetail.faqDetail,
5865
- confirmData = _useFaqDetail.confirmData,
5866
- reset = _useFaqDetail.reset,
5867
- edited = _useFaqDetail.edited,
5868
- setEdited = _useFaqDetail.setEdited,
5869
- setEditedTrue = _useFaqDetail.setEditedTrue,
5870
- setEditedFalse = _useFaqDetail.setEditedFalse;
6141
+ id = _useFaqDetail.id,
6142
+ setId = _useFaqDetail.setId,
6143
+ faqDetail = _useFaqDetail.faqDetail,
6144
+ confirmData = _useFaqDetail.confirmData,
6145
+ reset = _useFaqDetail.reset,
6146
+ edited = _useFaqDetail.edited,
6147
+ setEdited = _useFaqDetail.setEdited,
6148
+ setEditedTrue = _useFaqDetail.setEditedTrue,
6149
+ setEditedFalse = _useFaqDetail.setEditedFalse;
6150
+
5871
6151
  var openModal = function openModal(faqId) {
5872
6152
  !!faqId ? setId(faqId) : setId(0);
5873
6153
  modal && modal.current && modal.current.toggle();
5874
6154
  };
6155
+
5875
6156
  var onConfirm = function onConfirm(values) {
5876
6157
  confirmData(values, function () {
5877
6158
  modal && modal.current && modal.current.toggle();
@@ -5879,12 +6160,15 @@ var FaqList = function FaqList() {
5879
6160
  });
5880
6161
  setEditedFalse();
5881
6162
  };
6163
+
5882
6164
  var onRemove = function onRemove(id) {
5883
6165
  removeData(id);
5884
6166
  };
6167
+
5885
6168
  var onCancel = function onCancel() {
5886
6169
  return reset();
5887
6170
  };
6171
+
5888
6172
  return React__default.createElement("div", {
5889
6173
  className: "fadeIn animated"
5890
6174
  }, React__default.createElement(FaqDetailModal$1, {
@@ -5990,27 +6274,31 @@ var remove$2 = function remove(id) {
5990
6274
 
5991
6275
  var SkillSelector = function SkillSelector(props) {
5992
6276
  var _useState = React.useState([]),
5993
- skillList = _useState[0],
5994
- setSkillList = _useState[1];
6277
+ skillList = _useState[0],
6278
+ setSkillList = _useState[1];
6279
+
5995
6280
  React.useEffect(function () {
5996
6281
  fetchSkill();
5997
6282
  }, []);
6283
+
5998
6284
  var fetchSkill = function fetchSkill() {
5999
6285
  try {
6000
- var _temp = _catch(function () {
6286
+ var _temp2 = _catch(function () {
6001
6287
  return Promise.resolve(get$4()).then(function (res) {
6002
6288
  setSkillList(res.data.items);
6003
6289
  });
6004
6290
  }, function (err) {
6005
6291
  console.error(err.message);
6006
6292
  });
6007
- return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
6293
+
6294
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
6008
6295
  } catch (e) {
6009
6296
  return Promise.reject(e);
6010
6297
  }
6011
6298
  };
6299
+
6012
6300
  var id = props.id,
6013
- isDisabled = props.isDisabled;
6301
+ isDisabled = props.isDisabled;
6014
6302
  var arrSkill = skillList.map(function (i) {
6015
6303
  return {
6016
6304
  id: i.id,
@@ -6030,19 +6318,22 @@ var schema$3 = yup.object({
6030
6318
  name: yup.string().required("Name is required"),
6031
6319
  description: yup.string()
6032
6320
  });
6321
+
6033
6322
  var SkillDetailModal = function SkillDetailModal(props, ref) {
6034
6323
  var header = props.header,
6035
- confirmText = props.confirmText,
6036
- onConfirm = props.onConfirm,
6037
- skillDetail = props.skillDetail,
6038
- _onCancel = props.onCancel,
6039
- edited = props.edited,
6040
- setEdited = props.setEdited,
6041
- setEditedTrue = props.setEditedTrue,
6042
- setEditedFalse = props.setEditedFalse,
6043
- isDisabled = props.isDisabled;
6324
+ confirmText = props.confirmText,
6325
+ onConfirm = props.onConfirm,
6326
+ skillDetail = props.skillDetail,
6327
+ _onCancel = props.onCancel,
6328
+ edited = props.edited,
6329
+ setEdited = props.setEdited,
6330
+ setEditedTrue = props.setEditedTrue,
6331
+ setEditedFalse = props.setEditedFalse,
6332
+ isDisabled = props.isDisabled;
6333
+
6044
6334
  var _useTranslation = reactI18next.useTranslation(),
6045
- t = _useTranslation.t;
6335
+ t = _useTranslation.t;
6336
+
6046
6337
  return React__default.createElement(formik.Formik, {
6047
6338
  initialValues: skillDetail,
6048
6339
  enableReinitialize: true,
@@ -6053,12 +6344,12 @@ var SkillDetailModal = function SkillDetailModal(props, ref) {
6053
6344
  }
6054
6345
  }, function (formikProps) {
6055
6346
  var values = formikProps.values,
6056
- touched = formikProps.touched,
6057
- errors = formikProps.errors,
6058
- handleChange = formikProps.handleChange,
6059
- handleBlur = formikProps.handleBlur,
6060
- handleSubmit = formikProps.handleSubmit,
6061
- resetForm = formikProps.resetForm;
6347
+ touched = formikProps.touched,
6348
+ errors = formikProps.errors,
6349
+ handleChange = formikProps.handleChange,
6350
+ handleBlur = formikProps.handleBlur,
6351
+ handleSubmit = formikProps.handleSubmit,
6352
+ resetForm = formikProps.resetForm;
6062
6353
  return React__default.createElement(CommonModal$1, {
6063
6354
  header: header,
6064
6355
  confirmText: confirmText,
@@ -6066,6 +6357,7 @@ var SkillDetailModal = function SkillDetailModal(props, ref) {
6066
6357
  ref: ref,
6067
6358
  onCancel: function onCancel() {
6068
6359
  _onCancel();
6360
+
6069
6361
  resetForm();
6070
6362
  },
6071
6363
  edited: edited,
@@ -6114,11 +6406,13 @@ var SkillDetailModal = function SkillDetailModal(props, ref) {
6114
6406
  }))));
6115
6407
  });
6116
6408
  };
6409
+
6117
6410
  var SkillDetailModal$1 = React.forwardRef(SkillDetailModal);
6118
6411
 
6119
6412
  var setSkillList = toolkit.createAction("skills/setSkillList");
6120
6413
 
6121
6414
  var TITLE$6 = "Skill list";
6415
+
6122
6416
  var useSkillList = function useSkillList() {
6123
6417
  var skillList = reactRedux.useSelector(function (state) {
6124
6418
  return state.skills.skillList;
@@ -6126,21 +6420,25 @@ var useSkillList = function useSkillList() {
6126
6420
  var totalItems = reactRedux.useSelector(function (state) {
6127
6421
  return state.skills.totalItems;
6128
6422
  });
6423
+
6129
6424
  var _useFilters = useFilters(),
6130
- filters = _useFilters.filters,
6131
- changeFilters = _useFilters.changeFilters;
6425
+ filters = _useFilters.filters,
6426
+ changeFilters = _useFilters.changeFilters;
6427
+
6132
6428
  var dispatch = reactRedux.useDispatch();
6133
6429
  var getData = React.useCallback(function () {
6134
6430
  try {
6135
- var _temp2 = function _temp2() {
6431
+ var _temp3 = function _temp3() {
6136
6432
  dispatch(setLoading(false));
6137
6433
  };
6434
+
6138
6435
  dispatch(setLoading(true));
6139
- var _temp = _catch(function () {
6436
+
6437
+ var _temp4 = _catch(function () {
6140
6438
  return Promise.resolve(get$4(filters)).then(function (res) {
6141
6439
  var _res$data = res.data,
6142
- items = _res$data.items,
6143
- totalItems = _res$data.totalItems;
6440
+ items = _res$data.items,
6441
+ totalItems = _res$data.totalItems;
6144
6442
  dispatch(setSkillList({
6145
6443
  skillList: items,
6146
6444
  totalItems: totalItems
@@ -6148,18 +6446,21 @@ var useSkillList = function useSkillList() {
6148
6446
  });
6149
6447
  }, function (err) {
6150
6448
  var _err$response, _err$response$data;
6449
+
6151
6450
  dispatch(setAlert({
6152
6451
  type: "danger",
6153
6452
  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
6154
6453
  }));
6155
6454
  });
6156
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
6455
+
6456
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
6157
6457
  } catch (e) {
6158
6458
  return Promise.reject(e);
6159
6459
  }
6160
6460
  }, [dispatch, filters]);
6161
6461
  var removeData = React.useCallback(function (id) {
6162
6462
  dispatch(setLoading(true));
6463
+
6163
6464
  try {
6164
6465
  dispatch(setModal({
6165
6466
  isOpen: true,
@@ -6167,7 +6468,7 @@ var useSkillList = function useSkillList() {
6167
6468
  message: "Do you want to remove this skill?",
6168
6469
  onConfirm: function () {
6169
6470
  try {
6170
- var _temp3 = _catch(function () {
6471
+ var _temp6 = _catch(function () {
6171
6472
  return Promise.resolve(remove$2(id)).then(function () {
6172
6473
  dispatch(setAlert({
6173
6474
  type: "success",
@@ -6179,12 +6480,14 @@ var useSkillList = function useSkillList() {
6179
6480
  });
6180
6481
  }, function (error) {
6181
6482
  var _error$response, _error$response$data;
6483
+
6182
6484
  dispatch(setAlert({
6183
6485
  type: "danger",
6184
6486
  message: ((_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.title) || error.message || "Error occured"
6185
6487
  }));
6186
6488
  });
6187
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
6489
+
6490
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
6188
6491
  } catch (e) {
6189
6492
  return Promise.reject(e);
6190
6493
  }
@@ -6192,11 +6495,13 @@ var useSkillList = function useSkillList() {
6192
6495
  }));
6193
6496
  } catch (err) {
6194
6497
  var _err$response2, _err$response2$data;
6498
+
6195
6499
  dispatch(setAlert({
6196
6500
  type: "danger",
6197
6501
  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 || "Error occured"
6198
6502
  }));
6199
6503
  }
6504
+
6200
6505
  dispatch(setLoading(false));
6201
6506
  }, [filters]);
6202
6507
  React.useEffect(function () {
@@ -6221,17 +6526,22 @@ var initValue$2 = {
6221
6526
  path: "",
6222
6527
  parentSkillId: null
6223
6528
  };
6529
+
6224
6530
  var useSkillDetail = function useSkillDetail() {
6225
6531
  var dispatch = reactRedux.useDispatch();
6532
+
6226
6533
  var _useState = React.useState(0),
6227
- id = _useState[0],
6228
- setId = _useState[1];
6534
+ id = _useState[0],
6535
+ setId = _useState[1];
6536
+
6229
6537
  var _useState2 = React.useState(initValue$2),
6230
- skillDetail = _useState2[0],
6231
- setSkillDetail = _useState2[1];
6538
+ skillDetail = _useState2[0],
6539
+ setSkillDetail = _useState2[1];
6540
+
6232
6541
  var _useState3 = React.useState(false),
6233
- edited = _useState3[0],
6234
- setEdited = _useState3[1];
6542
+ edited = _useState3[0],
6543
+ setEdited = _useState3[1];
6544
+
6235
6545
  var setEditedTrue = function setEditedTrue() {
6236
6546
  try {
6237
6547
  localStorage.setItem(window.location.href, "true");
@@ -6241,6 +6551,7 @@ var useSkillDetail = function useSkillDetail() {
6241
6551
  return Promise.reject(e);
6242
6552
  }
6243
6553
  };
6554
+
6244
6555
  var setEditedFalse = function setEditedFalse() {
6245
6556
  try {
6246
6557
  !!localStorage.getItem(window.location.href) && localStorage.removeItem(window.location.href);
@@ -6250,45 +6561,54 @@ var useSkillDetail = function useSkillDetail() {
6250
6561
  return Promise.reject(e);
6251
6562
  }
6252
6563
  };
6564
+
6253
6565
  React.useEffect(function () {
6254
6566
  !!id ? getData() : setSkillDetail(initValue$2);
6255
6567
  }, [id]);
6568
+
6256
6569
  var reset = function reset() {
6257
6570
  setId(0);
6258
6571
  setSkillDetail(initValue$2);
6259
6572
  };
6573
+
6260
6574
  React.useEffect(function () {
6261
6575
  setEditedFalse();
6262
6576
  }, []);
6263
6577
  var getData = React.useCallback(function () {
6264
6578
  try {
6265
- var _temp2 = function _temp2() {
6579
+ var _temp3 = function _temp3() {
6266
6580
  dispatch(setLoading(false));
6267
6581
  };
6582
+
6268
6583
  dispatch(setLoading(true));
6269
- var _temp = _catch(function () {
6584
+
6585
+ var _temp4 = _catch(function () {
6270
6586
  return Promise.resolve(getById$2(id)).then(function (res) {
6271
6587
  setSkillDetail(res.data);
6272
6588
  });
6273
6589
  }, function (err) {
6274
6590
  var _err$response, _err$response$data;
6591
+
6275
6592
  dispatch(setAlert({
6276
6593
  type: "danger",
6277
6594
  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
6278
6595
  }));
6279
6596
  });
6280
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
6597
+
6598
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
6281
6599
  } catch (e) {
6282
6600
  return Promise.reject(e);
6283
6601
  }
6284
6602
  }, [id]);
6285
6603
  var confirmData = React.useCallback(function (values, cb) {
6286
6604
  try {
6287
- var _temp4 = function _temp4() {
6605
+ var _temp7 = function _temp7() {
6288
6606
  dispatch(setLoading(false));
6289
6607
  };
6608
+
6290
6609
  dispatch(setLoading(true));
6291
- var _temp3 = _catch(function () {
6610
+
6611
+ var _temp8 = _catch(function () {
6292
6612
  var next = !!id ? update$4 : create$4;
6293
6613
  return Promise.resolve(next(values)).then(function () {
6294
6614
  dispatch(setAlert({
@@ -6300,12 +6620,14 @@ var useSkillDetail = function useSkillDetail() {
6300
6620
  });
6301
6621
  }, function (err) {
6302
6622
  var _err$response2, _err$response2$data;
6623
+
6303
6624
  dispatch(setAlert({
6304
6625
  type: "danger",
6305
6626
  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
6306
6627
  }));
6307
6628
  });
6308
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
6629
+
6630
+ return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp7) : _temp7(_temp8));
6309
6631
  } catch (e) {
6310
6632
  return Promise.reject(e);
6311
6633
  }
@@ -6326,29 +6648,34 @@ var useSkillDetail = function useSkillDetail() {
6326
6648
 
6327
6649
  var SkillList = function SkillList() {
6328
6650
  var modal = React.useRef();
6651
+
6329
6652
  var _useTranslation = reactI18next.useTranslation(),
6330
- t = _useTranslation.t;
6653
+ t = _useTranslation.t;
6654
+
6331
6655
  var _useSkillList = useSkillList(),
6332
- skillList = _useSkillList.skillList,
6333
- totalItems = _useSkillList.totalItems,
6334
- filters = _useSkillList.filters,
6335
- changeFilters = _useSkillList.changeFilters,
6336
- getData = _useSkillList.getData,
6337
- removeData = _useSkillList.removeData;
6656
+ skillList = _useSkillList.skillList,
6657
+ totalItems = _useSkillList.totalItems,
6658
+ filters = _useSkillList.filters,
6659
+ changeFilters = _useSkillList.changeFilters,
6660
+ getData = _useSkillList.getData,
6661
+ removeData = _useSkillList.removeData;
6662
+
6338
6663
  var _useSkillDetail = useSkillDetail(),
6339
- id = _useSkillDetail.id,
6340
- setId = _useSkillDetail.setId,
6341
- skillDetail = _useSkillDetail.skillDetail,
6342
- confirmData = _useSkillDetail.confirmData,
6343
- reset = _useSkillDetail.reset,
6344
- edited = _useSkillDetail.edited,
6345
- setEdited = _useSkillDetail.setEdited,
6346
- setEditedTrue = _useSkillDetail.setEditedTrue,
6347
- setEditedFalse = _useSkillDetail.setEditedFalse;
6664
+ id = _useSkillDetail.id,
6665
+ setId = _useSkillDetail.setId,
6666
+ skillDetail = _useSkillDetail.skillDetail,
6667
+ confirmData = _useSkillDetail.confirmData,
6668
+ reset = _useSkillDetail.reset,
6669
+ edited = _useSkillDetail.edited,
6670
+ setEdited = _useSkillDetail.setEdited,
6671
+ setEditedTrue = _useSkillDetail.setEditedTrue,
6672
+ setEditedFalse = _useSkillDetail.setEditedFalse;
6673
+
6348
6674
  var openModal = function openModal(skillId) {
6349
6675
  !!skillId ? setId(skillId) : setId(0);
6350
6676
  modal && modal.current && modal.current.toggle();
6351
6677
  };
6678
+
6352
6679
  var onConfirm = function onConfirm(values) {
6353
6680
  confirmData(values, function () {
6354
6681
  modal && modal.current && modal.current.toggle();
@@ -6356,12 +6683,15 @@ var SkillList = function SkillList() {
6356
6683
  });
6357
6684
  setEditedFalse();
6358
6685
  };
6686
+
6359
6687
  var onRemove = function onRemove(id) {
6360
6688
  removeData(id);
6361
6689
  };
6690
+
6362
6691
  var onCancel = function onCancel() {
6363
6692
  return reset();
6364
6693
  };
6694
+
6365
6695
  return React__default.createElement("div", {
6366
6696
  className: "fadeIn animated"
6367
6697
  }, React__default.createElement(SkillDetailModal$1, {
@@ -6449,28 +6779,33 @@ var SkillList = function SkillList() {
6449
6779
  };
6450
6780
 
6451
6781
  var MAX_FILE_SIZE = 20097152;
6782
+
6452
6783
  var UploadFileButton = function UploadFileButton(_ref) {
6453
6784
  var fileName = _ref.fileName,
6454
- maxWidth = _ref.maxWidth,
6455
- maxHeight = _ref.maxHeight,
6456
- setFile = _ref.setFile,
6457
- canDelete = _ref.canDelete,
6458
- onDelete = _ref.onDelete,
6459
- isCheckFeedBack = _ref.isCheckFeedBack,
6460
- onAddImage = _ref.onAddImage;
6785
+ maxWidth = _ref.maxWidth,
6786
+ maxHeight = _ref.maxHeight,
6787
+ setFile = _ref.setFile,
6788
+ canDelete = _ref.canDelete,
6789
+ onDelete = _ref.onDelete,
6790
+ isCheckFeedBack = _ref.isCheckFeedBack,
6791
+ onAddImage = _ref.onAddImage;
6461
6792
  var dispatch = reactRedux.useDispatch();
6793
+
6462
6794
  var _useState = React.useState(""),
6463
- imagePreviewUrl = _useState[0],
6464
- setImagePreviewUrl = _useState[1];
6795
+ imagePreviewUrl = _useState[0],
6796
+ setImagePreviewUrl = _useState[1];
6797
+
6465
6798
  var imageStyle = {
6466
6799
  maxWidth: maxWidth || "100%",
6467
6800
  maxHeight: maxHeight || "100%"
6468
6801
  };
6469
6802
  var imageSrc = imagePreviewUrl || getFileUrl(fileName);
6803
+
6470
6804
  var handleImageChange = function handleImageChange(e) {
6471
6805
  e.preventDefault();
6472
6806
  var reader = new FileReader();
6473
6807
  var newFile = e.target.files[0];
6808
+
6474
6809
  if (newFile.size > MAX_FILE_SIZE) {
6475
6810
  dispatch(setAlert({
6476
6811
  type: "danger",
@@ -6478,15 +6813,19 @@ var UploadFileButton = function UploadFileButton(_ref) {
6478
6813
  }));
6479
6814
  return;
6480
6815
  }
6816
+
6481
6817
  reader.onloadend = function () {
6482
6818
  setFile(newFile);
6483
6819
  setImagePreviewUrl(reader.result);
6484
6820
  };
6821
+
6485
6822
  if (newFile) {
6486
6823
  reader.readAsDataURL(newFile);
6487
6824
  }
6825
+
6488
6826
  !!onAddImage && onAddImage();
6489
6827
  };
6828
+
6490
6829
  var imagePreviewContainer = imagePreviewUrl || fileName ? React__default.createElement("img", {
6491
6830
  style: imageStyle,
6492
6831
  src: imageSrc,
@@ -6566,18 +6905,23 @@ var initValue$3 = {
6566
6905
  };
6567
6906
  var USER_LIST_URL = "/admin/user";
6568
6907
  var TITLE$7 = "User detail";
6908
+
6569
6909
  var useUserDetail = function useUserDetail(id) {
6570
6910
  var dispatch = reactRedux.useDispatch();
6571
6911
  var history = reactRouterDom.useHistory();
6912
+
6572
6913
  var _useState = React.useState(initValue$3),
6573
- userDetail = _useState[0],
6574
- setUserDetail = _useState[1];
6914
+ userDetail = _useState[0],
6915
+ setUserDetail = _useState[1];
6916
+
6575
6917
  var _useState2 = React.useState(null),
6576
- file = _useState2[0],
6577
- setFile = _useState2[1];
6918
+ file = _useState2[0],
6919
+ setFile = _useState2[1];
6920
+
6578
6921
  var _useState3 = React.useState(false),
6579
- edited = _useState3[0],
6580
- setEdited = _useState3[1];
6922
+ edited = _useState3[0],
6923
+ setEdited = _useState3[1];
6924
+
6581
6925
  var setEditedTrue = function setEditedTrue() {
6582
6926
  try {
6583
6927
  localStorage.setItem(window.location.href, "true");
@@ -6587,9 +6931,7 @@ var useUserDetail = function useUserDetail(id) {
6587
6931
  return Promise.reject(e);
6588
6932
  }
6589
6933
  };
6590
- var _useState4 = React.useState([]),
6591
- currentRoles = _useState4[0],
6592
- setCurrentRoles = _useState4[1];
6934
+
6593
6935
  React.useEffect(function () {
6594
6936
  document.title = TITLE$7;
6595
6937
  setEdited(false);
@@ -6600,28 +6942,32 @@ var useUserDetail = function useUserDetail(id) {
6600
6942
  }, [id]);
6601
6943
  var getData = React.useCallback(function () {
6602
6944
  try {
6603
- var _temp2 = function _temp2() {
6945
+ var _temp3 = function _temp3() {
6604
6946
  dispatch(setLoading(false));
6605
6947
  };
6948
+
6606
6949
  dispatch(setLoading(true));
6607
- var _temp = _catch(function () {
6950
+
6951
+ var _temp4 = _catch(function () {
6608
6952
  return Promise.resolve(getById$3(id)).then(function (res) {
6609
- var _res$data$roles, _res$data, _res$data2;
6953
+ var _res$data;
6954
+
6610
6955
  setUserDetail(_extends({}, res.data, {
6611
6956
  dateOfBirth: dateFns.format(new Date(res.data.dateOfBirth), DATE_FORMAT),
6612
6957
  roles: res.data.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : res.data.roles
6613
6958
  }));
6614
- setCurrentRoles((_res$data$roles = res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.roles) != null ? _res$data$roles : []);
6615
- document.title = (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.fullName;
6959
+ document.title = (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.fullName;
6616
6960
  });
6617
6961
  }, function (err) {
6618
6962
  var _err$response, _err$response$data;
6963
+
6619
6964
  dispatch(setAlert({
6620
6965
  type: "danger",
6621
6966
  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
6622
6967
  }));
6623
6968
  });
6624
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
6969
+
6970
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
6625
6971
  } catch (e) {
6626
6972
  return Promise.reject(e);
6627
6973
  }
@@ -6631,12 +6977,14 @@ var useUserDetail = function useUserDetail(id) {
6631
6977
  }, []);
6632
6978
  var confirmData = React.useCallback(function (data) {
6633
6979
  try {
6634
- var _temp6 = function _temp6() {
6980
+ var _temp9 = function _temp9() {
6635
6981
  dispatch(setLoading(false));
6636
6982
  };
6983
+
6637
6984
  dispatch(setLoading(true));
6638
- var _temp5 = _catch(function () {
6639
- function _temp4() {
6985
+
6986
+ var _temp10 = _catch(function () {
6987
+ function _temp6() {
6640
6988
  var next = !!id ? update$5 : create$5;
6641
6989
  !id && delete data.id;
6642
6990
  return Promise.resolve(next(data)).then(function (result) {
@@ -6645,50 +6993,57 @@ var useUserDetail = function useUserDetail(id) {
6645
6993
  backToList(e.data.fullName);
6646
6994
  });
6647
6995
  }
6996
+
6648
6997
  if (!id) {
6649
6998
  alert("Password of " + result.data.email + " is " + ("\"" + result.data.password + "\""));
6650
6999
  }
7000
+
6651
7001
  dispatch(setAlert({
6652
7002
  type: "success",
6653
7003
  message: (!!id ? "Update" : "Create") + " user successfully"
6654
7004
  }));
6655
7005
  });
6656
7006
  }
6657
- var _temp3 = function () {
7007
+
7008
+ var _temp5 = function () {
6658
7009
  if (!!file) {
6659
7010
  var formData = new FormData();
6660
7011
  var name = file.name;
6661
7012
  formData.append("file", file, name);
6662
7013
  return Promise.resolve(systemProfileUpload(formData)).then(function (res) {
6663
- var _res$data3;
6664
- var imageUrl = res === null || res === void 0 ? void 0 : (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.key;
7014
+ var _res$data2;
7015
+
7016
+ var imageUrl = res === null || res === void 0 ? void 0 : (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.key;
6665
7017
  data.profileImageFileName = imageUrl;
6666
7018
  });
6667
7019
  }
6668
7020
  }();
6669
- return _temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3);
7021
+
7022
+ return _temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5);
6670
7023
  }, function (err) {
6671
7024
  var _err$response2, _err$response2$data;
7025
+
6672
7026
  dispatch(setAlert({
6673
7027
  type: "danger",
6674
7028
  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
6675
7029
  }));
6676
7030
  });
6677
- return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
7031
+
7032
+ return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
6678
7033
  } catch (e) {
6679
7034
  return Promise.reject(e);
6680
7035
  }
6681
7036
  }, [id, file]);
6682
- var handleDisableRoles = function handleDisableRoles(currentRoles) {
6683
- return ["Student", "Parent", "EduTeacher"].includes(currentRoles);
6684
- };
7037
+
6685
7038
  var confirmChangePassword = function confirmChangePassword(data) {
6686
7039
  try {
6687
- var _temp8 = function _temp8() {
7040
+ var _temp13 = function _temp13() {
6688
7041
  dispatch(setLoading(false));
6689
7042
  };
7043
+
6690
7044
  dispatch(setLoading(true));
6691
- var _temp7 = _catch(function () {
7045
+
7046
+ var _temp14 = _catch(function () {
6692
7047
  return Promise.resolve(changePassword(data)).then(function () {
6693
7048
  dispatch(setAlert({
6694
7049
  type: "success",
@@ -6697,23 +7052,28 @@ var useUserDetail = function useUserDetail(id) {
6697
7052
  });
6698
7053
  }, function (e) {
6699
7054
  var _e$response, _e$response$data;
7055
+
6700
7056
  dispatch(setAlert({
6701
7057
  type: "danger",
6702
7058
  message: ((_e$response = e.response) === null || _e$response === void 0 ? void 0 : (_e$response$data = _e$response.data) === null || _e$response$data === void 0 ? void 0 : _e$response$data.title) || e.message
6703
7059
  }));
6704
7060
  });
6705
- return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(_temp8) : _temp8(_temp7));
7061
+
7062
+ return Promise.resolve(_temp14 && _temp14.then ? _temp14.then(_temp13) : _temp13(_temp14));
6706
7063
  } catch (e) {
6707
7064
  return Promise.reject(e);
6708
7065
  }
6709
7066
  };
7067
+
6710
7068
  var forgotPasswordRequest = React.useCallback(function (data) {
6711
7069
  try {
6712
- var _temp10 = function _temp10() {
7070
+ var _temp17 = function _temp17() {
6713
7071
  dispatch(setLoading(false));
6714
7072
  };
7073
+
6715
7074
  dispatch(setLoading(true));
6716
- var _temp9 = _catch(function () {
7075
+
7076
+ var _temp18 = _catch(function () {
6717
7077
  return Promise.resolve(forgotChangePassword(data)).then(function () {
6718
7078
  dispatch(setAlert({
6719
7079
  type: "success",
@@ -6722,12 +7082,14 @@ var useUserDetail = function useUserDetail(id) {
6722
7082
  });
6723
7083
  }, function (err) {
6724
7084
  var _err$response3, _err$response3$data;
7085
+
6725
7086
  dispatch(setAlert({
6726
7087
  type: "danger",
6727
7088
  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"
6728
7089
  }));
6729
7090
  });
6730
- return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(_temp10) : _temp10(_temp9));
7091
+
7092
+ return Promise.resolve(_temp18 && _temp18.then ? _temp18.then(_temp17) : _temp17(_temp18));
6731
7093
  } catch (e) {
6732
7094
  return Promise.reject(e);
6733
7095
  }
@@ -6742,9 +7104,7 @@ var useUserDetail = function useUserDetail(id) {
6742
7104
  setEdited: setEdited,
6743
7105
  setEditedTrue: setEditedTrue,
6744
7106
  confirmChangePassword: confirmChangePassword,
6745
- forgotPasswordRequest: forgotPasswordRequest,
6746
- currentRoles: currentRoles,
6747
- handleDisableRoles: handleDisableRoles
7107
+ forgotPasswordRequest: forgotPasswordRequest
6748
7108
  };
6749
7109
  };
6750
7110
 
@@ -6765,27 +7125,30 @@ var changePasswordSchema = yup.object({
6765
7125
  var CREATE_USER = "create_user";
6766
7126
  var EDIT_USER_HEADER = "edit_user";
6767
7127
  var CHANGE_PASSWORD$1 = "change_password";
7128
+
6768
7129
  var UserDetail = function UserDetail() {
6769
7130
  var _useParams = reactRouterDom.useParams(),
6770
- id = _useParams.id;
7131
+ id = _useParams.id;
7132
+
6771
7133
  var user = reactRedux.useSelector(function (state) {
6772
7134
  return state.common.user;
6773
7135
  });
7136
+
6774
7137
  var _useTranslation = reactI18next.useTranslation(),
6775
- t = _useTranslation.t;
7138
+ t = _useTranslation.t;
7139
+
6776
7140
  var _useUserDetail = useUserDetail(id),
6777
- userDetail = _useUserDetail.userDetail,
6778
- backToList = _useUserDetail.backToList,
6779
- confirmData = _useUserDetail.confirmData,
6780
- file = _useUserDetail.file,
6781
- setFile = _useUserDetail.setFile,
6782
- edited = _useUserDetail.edited,
6783
- setEdited = _useUserDetail.setEdited,
6784
- setEditedTrue = _useUserDetail.setEditedTrue,
6785
- confirmChangePassword = _useUserDetail.confirmChangePassword,
6786
- forgotPasswordRequest = _useUserDetail.forgotPasswordRequest,
6787
- currentRoles = _useUserDetail.currentRoles,
6788
- handleDisableRoles = _useUserDetail.handleDisableRoles;
7141
+ userDetail = _useUserDetail.userDetail,
7142
+ backToList = _useUserDetail.backToList,
7143
+ confirmData = _useUserDetail.confirmData,
7144
+ file = _useUserDetail.file,
7145
+ setFile = _useUserDetail.setFile,
7146
+ edited = _useUserDetail.edited,
7147
+ setEdited = _useUserDetail.setEdited,
7148
+ setEditedTrue = _useUserDetail.setEditedTrue,
7149
+ confirmChangePassword = _useUserDetail.confirmChangePassword,
7150
+ forgotPasswordRequest = _useUserDetail.forgotPasswordRequest;
7151
+
6789
7152
  var initialValueForm = {
6790
7153
  oldPassword: "",
6791
7154
  newPassword: "",
@@ -6793,10 +7156,12 @@ var UserDetail = function UserDetail() {
6793
7156
  };
6794
7157
  var header = !!id ? t("" + EDIT_USER_HEADER) : t("" + CREATE_USER);
6795
7158
  var confirmText = !!id ? t("update") : t("create");
7159
+
6796
7160
  var getFile = function getFile() {
6797
7161
  var url = window.location.origin + "/api/ExportDataUser/" + id;
6798
7162
  window.open(url);
6799
7163
  };
7164
+
6800
7165
  var onResetPw = function onResetPw(email) {
6801
7166
  try {
6802
7167
  var data = {
@@ -6808,6 +7173,7 @@ var UserDetail = function UserDetail() {
6808
7173
  return Promise.reject(e);
6809
7174
  }
6810
7175
  };
7176
+
6811
7177
  return React__default.createElement(formik.Formik, {
6812
7178
  initialValues: userDetail,
6813
7179
  enableReinitialize: true,
@@ -6821,12 +7187,12 @@ var UserDetail = function UserDetail() {
6821
7187
  }
6822
7188
  }, function (formProps) {
6823
7189
  var values = formProps.values,
6824
- touched = formProps.touched,
6825
- errors = formProps.errors,
6826
- setFieldValue = formProps.setFieldValue,
6827
- handleChange = formProps.handleChange,
6828
- handleBlur = formProps.handleBlur,
6829
- handleSubmit = formProps.handleSubmit;
7190
+ touched = formProps.touched,
7191
+ errors = formProps.errors,
7192
+ setFieldValue = formProps.setFieldValue,
7193
+ handleChange = formProps.handleChange,
7194
+ handleBlur = formProps.handleBlur,
7195
+ handleSubmit = formProps.handleSubmit;
6830
7196
  var toggleRoles = React.useCallback(function (role) {
6831
7197
  if (values.roles.includes(role)) {
6832
7198
  setFieldValue("roles", values.roles.filter(function (r) {
@@ -6834,11 +7200,16 @@ var UserDetail = function UserDetail() {
6834
7200
  }));
6835
7201
  return;
6836
7202
  }
6837
- if ([ROLES.ADMIN, ROLES.STUDENT, ROLES.PARENT, ROLES.EDUTEACHER].includes(role)) {
7203
+
7204
+ if ([ROLES.ADMIN, ROLES.STUDENT, ROLES.PARENT, ROLES.EDUTEACHER, ROLES.COUNSELOR, ROLES.SECONDARY_TEACHER].includes(role)) {
6838
7205
  setFieldValue("roles", [role]);
6839
7206
  return;
6840
7207
  }
6841
- setFieldValue("roles", [].concat(values.roles, [role]));
7208
+
7209
+ var teacherAssistantRoles = values.roles.filter(function (item) {
7210
+ return ![ROLES.STUDENT, ROLES.ADMIN, ROLES.PARENT, ROLES.EDUTEACHER, ROLES.COUNSELOR, ROLES.SECONDARY_TEACHER].includes(item);
7211
+ });
7212
+ setFieldValue("roles", [].concat(teacherAssistantRoles, [role]));
6842
7213
  }, [values.roles]);
6843
7214
  return React__default.createElement("div", {
6844
7215
  className: "animated fadeIn detail-buttons-padding"
@@ -6926,7 +7297,7 @@ var UserDetail = function UserDetail() {
6926
7297
  toggleRoles(role);
6927
7298
  setEditedTrue();
6928
7299
  },
6929
- disabled: !!id ? currentRoles.concat(["Student", "Parent", "EduTeacher"]).includes(role) || currentRoles.every(handleDisableRoles) : ["Student", "Parent"].includes(role)
7300
+ disabled: !!id ? true : ["Student", "Parent"].includes(role)
6930
7301
  }));
6931
7302
  }))), touched.roles && errors.roles && React__default.createElement(ErrorHandler, {
6932
7303
  text: errors.roles
@@ -7017,10 +7388,10 @@ var UserDetail = function UserDetail() {
7017
7388
  }
7018
7389
  }, function (formProps) {
7019
7390
  var values = formProps.values,
7020
- touched = formProps.touched,
7021
- errors = formProps.errors,
7022
- handleChange = formProps.handleChange,
7023
- handleSubmit = formProps.handleSubmit;
7391
+ touched = formProps.touched,
7392
+ errors = formProps.errors,
7393
+ handleChange = formProps.handleChange,
7394
+ handleSubmit = formProps.handleSubmit;
7024
7395
  return React__default.createElement(reactstrap.Row, {
7025
7396
  className: "pt-2 pb-5"
7026
7397
  }, React__default.createElement(reactstrap.Col, {
@@ -7091,7 +7462,8 @@ var UserDetail = function UserDetail() {
7091
7462
 
7092
7463
  var ScrollToTop = function ScrollToTop() {
7093
7464
  var _useLocation = reactRouterDom.useLocation(),
7094
- pathname = _useLocation.pathname;
7465
+ pathname = _useLocation.pathname;
7466
+
7095
7467
  React.useEffect(function () {
7096
7468
  window.scrollTo(0, 0);
7097
7469
  }, [pathname]);
@@ -7105,16 +7477,19 @@ var modalInfo = function modalInfo(type) {
7105
7477
  header: "Error",
7106
7478
  color: COLORS.DANGER
7107
7479
  };
7480
+
7108
7481
  case "warning":
7109
7482
  return {
7110
7483
  header: "Warning",
7111
7484
  color: COLORS.WARNING
7112
7485
  };
7486
+
7113
7487
  case "success":
7114
7488
  return {
7115
7489
  header: "Success",
7116
7490
  color: COLORS.SUCCESS
7117
7491
  };
7492
+
7118
7493
  default:
7119
7494
  return {
7120
7495
  header: "Infomation",
@@ -7122,15 +7497,16 @@ var modalInfo = function modalInfo(type) {
7122
7497
  };
7123
7498
  }
7124
7499
  };
7500
+
7125
7501
  var NotificationModal = function NotificationModal() {
7126
7502
  var dispatch = reactRedux.useDispatch();
7127
7503
  var modal = reactRedux.useSelector(function (state) {
7128
7504
  return state.common.modal;
7129
7505
  });
7130
7506
  var isOpen = modal.isOpen,
7131
- type = modal.type,
7132
- message = modal.message,
7133
- onConfirm = modal.onConfirm;
7507
+ type = modal.type,
7508
+ message = modal.message,
7509
+ onConfirm = modal.onConfirm;
7134
7510
  var toggle = React.useCallback(function () {
7135
7511
  dispatch(setModal({
7136
7512
  isOpen: !isOpen,
@@ -7140,10 +7516,12 @@ var NotificationModal = function NotificationModal() {
7140
7516
  var headerStyle = {
7141
7517
  backgroundColor: modalInfo(type).color
7142
7518
  };
7519
+
7143
7520
  var confirm = function confirm() {
7144
7521
  onConfirm && onConfirm();
7145
7522
  toggle();
7146
7523
  };
7524
+
7147
7525
  return React__default.createElement(reactstrap.Modal, {
7148
7526
  isOpen: isOpen,
7149
7527
  toggle: toggle,
@@ -7167,9 +7545,10 @@ var headerTextStyle = {
7167
7545
  fontSize: "1.5rem",
7168
7546
  textAlign: "center"
7169
7547
  };
7548
+
7170
7549
  var CommonHeader = function CommonHeader(_ref) {
7171
7550
  var header = _ref.header,
7172
- rootHeader = _ref.rootHeader;
7551
+ rootHeader = _ref.rootHeader;
7173
7552
  return React__default.createElement("div", {
7174
7553
  style: headerStyle
7175
7554
  }, React__default.createElement(reactstrap.Row, null, rootHeader && React__default.createElement(reactstrap.Col, {
@@ -7186,6 +7565,7 @@ var CommonHeader = function CommonHeader(_ref) {
7186
7565
 
7187
7566
  var utcToLocalTime = (function (time, FORMAT) {
7188
7567
  if (time === DATE_MIN_VALUE) return "";
7568
+
7189
7569
  try {
7190
7570
  return moment.utc(time).local().format(FORMAT || "yyyy-MM-DD");
7191
7571
  } catch (_unused) {
@@ -7195,20 +7575,23 @@ var utcToLocalTime = (function (time, FORMAT) {
7195
7575
 
7196
7576
  var NotificationLogoutModal = function NotificationLogoutModal() {
7197
7577
  var _useState = React.useState(false),
7198
- isOpen = _useState[0],
7199
- setIsOpen = _useState[1];
7578
+ isOpen = _useState[0],
7579
+ setIsOpen = _useState[1];
7580
+
7200
7581
  var _useState2 = React.useState({
7201
- minutes: 0,
7202
- timeLogout: ""
7203
- }),
7204
- objTime = _useState2[0],
7205
- setObjTime = _useState2[1];
7582
+ minutes: 0,
7583
+ timeLogout: ""
7584
+ }),
7585
+ objTime = _useState2[0],
7586
+ setObjTime = _useState2[1];
7587
+
7206
7588
  var checkOpenModalLogout = function checkOpenModalLogout() {
7207
7589
  var lastTimeOut = localStorage.getItem("LAST_TIME_REQUETST");
7208
7590
  var timeMoment = moment(lastTimeOut, "YYYY-MM-DD HH:mm");
7209
7591
  var currentTime = moment(moment().utc().format("YYYY-MM-DD HH:mm"));
7210
7592
  var minutes = currentTime.diff(timeMoment, "minutes");
7211
7593
  var timeLogout = utcToLocalTime(currentTime.add(16 - minutes, 'minutes').format("YYYY-MM-DD HH:mm"), "HH:mm");
7594
+
7212
7595
  if (minutes == 13) {
7213
7596
  var dataTime = {
7214
7597
  minutes: minutes,
@@ -7218,8 +7601,10 @@ var NotificationLogoutModal = function NotificationLogoutModal() {
7218
7601
  onToggle();
7219
7602
  }
7220
7603
  };
7604
+
7221
7605
  React.useEffect(function () {
7222
7606
  var getAccessToken = localStorage.getItem(ACCESS_TOKEN);
7607
+
7223
7608
  if (getAccessToken) {
7224
7609
  var interval = setInterval(function () {
7225
7610
  checkOpenModalLogout();
@@ -7228,11 +7613,14 @@ var NotificationLogoutModal = function NotificationLogoutModal() {
7228
7613
  return clearInterval(interval);
7229
7614
  };
7230
7615
  }
7616
+
7231
7617
  return;
7232
7618
  }, [location.href]);
7619
+
7233
7620
  var onToggle = function onToggle() {
7234
7621
  setIsOpen(!isOpen);
7235
7622
  };
7623
+
7236
7624
  return React__default.createElement(reactstrap.Modal, {
7237
7625
  isOpen: isOpen,
7238
7626
  toggle: onToggle,
@@ -7259,13 +7647,14 @@ var EditButtonIcon = function EditButtonIcon(_ref) {
7259
7647
  var components = {
7260
7648
  DropdownIndicator: null
7261
7649
  };
7650
+
7262
7651
  var CreatableSelector = function CreatableSelector(props) {
7263
7652
  var inputValue = props.inputValue,
7264
- value = props.value,
7265
- placeholder = props.placeholder,
7266
- handleChange = props.handleChange,
7267
- handleInputChange = props.handleInputChange,
7268
- handleKeyDown = props.handleKeyDown;
7653
+ value = props.value,
7654
+ placeholder = props.placeholder,
7655
+ handleChange = props.handleChange,
7656
+ handleInputChange = props.handleInputChange,
7657
+ handleKeyDown = props.handleKeyDown;
7269
7658
  return React__default.createElement(Creatable, {
7270
7659
  components: components,
7271
7660
  placeholder: placeholder || "Type something to create option",
@@ -7282,13 +7671,15 @@ var CreatableSelector = function CreatableSelector(props) {
7282
7671
 
7283
7672
  var SearchBox = function SearchBox(_ref) {
7284
7673
  var initValue = _ref.initValue,
7285
- onSearch = _ref.onSearch,
7286
- placeholder = _ref.placeholder,
7287
- className = _ref.className,
7288
- style = _ref.style;
7674
+ onSearch = _ref.onSearch,
7675
+ placeholder = _ref.placeholder,
7676
+ className = _ref.className,
7677
+ style = _ref.style;
7678
+
7289
7679
  var _useState = React.useState(initValue),
7290
- searchString = _useState[0],
7291
- setSearchString = _useState[1];
7680
+ searchString = _useState[0],
7681
+ setSearchString = _useState[1];
7682
+
7292
7683
  React.useEffect(function () {
7293
7684
  setSearchString(initValue);
7294
7685
  }, [initValue]);
@@ -7306,6 +7697,7 @@ var SearchBox = function SearchBox(_ref) {
7306
7697
  style: style
7307
7698
  });
7308
7699
  };
7700
+
7309
7701
  SearchBox.defaultProps = {
7310
7702
  placeholder: "Type something to search",
7311
7703
  className: "",
@@ -7331,25 +7723,29 @@ var get$6 = function get() {
7331
7723
 
7332
7724
  var SuggestionCategorySelector = function SuggestionCategorySelector(props) {
7333
7725
  var _useState = React.useState([]),
7334
- categoryList = _useState[0],
7335
- setCategoryList = _useState[1];
7726
+ categoryList = _useState[0],
7727
+ setCategoryList = _useState[1];
7728
+
7336
7729
  React.useEffect(function () {
7337
7730
  fetchCategory();
7338
7731
  }, []);
7732
+
7339
7733
  var fetchCategory = function fetchCategory() {
7340
7734
  try {
7341
- var _temp = _catch(function () {
7735
+ var _temp2 = _catch(function () {
7342
7736
  return Promise.resolve(get$6()).then(function (res) {
7343
7737
  setCategoryList(res.data.items);
7344
7738
  });
7345
7739
  }, function (err) {
7346
7740
  console.error(err);
7347
7741
  });
7348
- return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
7742
+
7743
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
7349
7744
  } catch (e) {
7350
7745
  return Promise.reject(e);
7351
7746
  }
7352
7747
  };
7748
+
7353
7749
  var id = props.id;
7354
7750
  var arrCategory = categoryList.map(function (i) {
7355
7751
  return {
@@ -7383,27 +7779,31 @@ var getByFilter = function getByFilter(filter) {
7383
7779
 
7384
7780
  var QuestionCategorySelector = function QuestionCategorySelector(props) {
7385
7781
  var _useState = React.useState([]),
7386
- getCategoryList = _useState[0],
7387
- setCategoryList = _useState[1];
7782
+ getCategoryList = _useState[0],
7783
+ setCategoryList = _useState[1];
7784
+
7388
7785
  var id = props.id,
7389
- parentCategoryId = props.parentCategoryId;
7786
+ parentCategoryId = props.parentCategoryId;
7390
7787
  React.useEffect(function () {
7391
7788
  fetchCategory();
7392
7789
  }, []);
7790
+
7393
7791
  var fetchCategory = function fetchCategory() {
7394
7792
  try {
7395
- var _temp = _catch(function () {
7793
+ var _temp2 = _catch(function () {
7396
7794
  return Promise.resolve(get$7(parentCategoryId)).then(function (res) {
7397
7795
  setCategoryList(res.data.items);
7398
7796
  });
7399
7797
  }, function (err) {
7400
7798
  console.error(err);
7401
7799
  });
7402
- return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
7800
+
7801
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
7403
7802
  } catch (e) {
7404
7803
  return Promise.reject(e);
7405
7804
  }
7406
7805
  };
7806
+
7407
7807
  var arrCategory = getCategoryList.map(function (i) {
7408
7808
  return {
7409
7809
  id: i.id,
@@ -7422,16 +7822,19 @@ var QuestionCategorySelector = function QuestionCategorySelector(props) {
7422
7822
 
7423
7823
  var useCategorySelector = function useCategorySelector() {
7424
7824
  var _useState = React.useState([]),
7425
- categories = _useState[0],
7426
- setCategories = _useState[1];
7825
+ categories = _useState[0],
7826
+ setCategories = _useState[1];
7827
+
7427
7828
  var dispatch = reactRedux.useDispatch();
7428
7829
  var getData = React.useCallback(function () {
7429
7830
  try {
7430
- var _temp2 = function _temp2() {
7831
+ var _temp3 = function _temp3() {
7431
7832
  dispatch(setLoading(false));
7432
7833
  };
7834
+
7433
7835
  dispatch(setLoading(true));
7434
- var _temp = _catch(function () {
7836
+
7837
+ var _temp4 = _catch(function () {
7435
7838
  return Promise.resolve(getByFilter(_extends({}, DEFAULT_FILTER, {
7436
7839
  pageSize: -1
7437
7840
  }))).then(function (res) {
@@ -7440,18 +7843,22 @@ var useCategorySelector = function useCategorySelector() {
7440
7843
  });
7441
7844
  }, function (err) {
7442
7845
  var _err$response, _err$response$data;
7846
+
7443
7847
  dispatch(setAlert({
7444
7848
  type: "danger",
7445
7849
  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
7446
7850
  }));
7447
7851
  });
7448
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
7852
+
7853
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
7449
7854
  } catch (e) {
7450
7855
  return Promise.reject(e);
7451
7856
  }
7452
7857
  }, []);
7858
+
7453
7859
  var convertOptions = function convertOptions(categories, parent, children) {
7454
7860
  var result = [];
7861
+
7455
7862
  if (!parent) {
7456
7863
  var noParentCategories = categories.filter(function (c) {
7457
7864
  return !c.parentCategoryId;
@@ -7460,12 +7867,14 @@ var useCategorySelector = function useCategorySelector() {
7460
7867
  var childrenOfCategory = categories.filter(function (cg) {
7461
7868
  return cg.parentCategoryId === c.id;
7462
7869
  });
7870
+
7463
7871
  var category = _extends({}, c, {
7464
7872
  label: c.name,
7465
7873
  value: c.id,
7466
7874
  level: 0,
7467
7875
  isDisabled: childrenOfCategory.length > 0
7468
7876
  });
7877
+
7469
7878
  result = result.concat(convertOptions(categories, category, childrenOfCategory));
7470
7879
  });
7471
7880
  } else {
@@ -7474,17 +7883,21 @@ var useCategorySelector = function useCategorySelector() {
7474
7883
  var childrenOfCategory = categories.filter(function (cg) {
7475
7884
  return cg.parentCategoryId === c.id;
7476
7885
  });
7886
+
7477
7887
  var category = _extends({}, c, {
7478
7888
  label: c.name,
7479
7889
  value: c.id,
7480
7890
  level: parent.level ? parent.level + 1 : 1,
7481
7891
  isDisabled: childrenOfCategory.length > 0
7482
7892
  });
7893
+
7483
7894
  result = result.concat(convertOptions(categories, category, childrenOfCategory));
7484
7895
  });
7485
7896
  }
7897
+
7486
7898
  return result;
7487
7899
  };
7900
+
7488
7901
  React.useEffect(function () {
7489
7902
  getData();
7490
7903
  }, []);
@@ -7493,7 +7906,6 @@ var useCategorySelector = function useCategorySelector() {
7493
7906
  };
7494
7907
  };
7495
7908
 
7496
- var _excluded$1 = ["value"];
7497
7909
  var optionStyles = {
7498
7910
  control: function control(styles) {
7499
7911
  return _extends({}, styles, {
@@ -7514,11 +7926,14 @@ var optionStyles = {
7514
7926
  });
7515
7927
  }
7516
7928
  };
7929
+
7517
7930
  var CategorySelector = function CategorySelector(_ref2) {
7518
7931
  var value = _ref2.value,
7519
- rest = _objectWithoutPropertiesLoose(_ref2, _excluded$1);
7932
+ rest = _objectWithoutPropertiesLoose(_ref2, ["value"]);
7933
+
7520
7934
  var _useCategorySelector = useCategorySelector(),
7521
- categories = _useCategorySelector.categories;
7935
+ categories = _useCategorySelector.categories;
7936
+
7522
7937
  var initialValue = !!value ? categories.find(function (option) {
7523
7938
  return option.value === value;
7524
7939
  }) || null : null;
@@ -7545,12 +7960,13 @@ var StarRatingSelector = function StarRatingSelector(props) {
7545
7960
 
7546
7961
  var ACTIVE_COLOR = "primary";
7547
7962
  var INACTIVE_COLOR = "secondary";
7963
+
7548
7964
  var ToggleButton = function ToggleButton(_ref) {
7549
7965
  var textLeft = _ref.textLeft,
7550
- textRight = _ref.textRight,
7551
- isLeft = _ref.isLeft,
7552
- clickLeft = _ref.clickLeft,
7553
- clickRight = _ref.clickRight;
7966
+ textRight = _ref.textRight,
7967
+ isLeft = _ref.isLeft,
7968
+ clickLeft = _ref.clickLeft,
7969
+ clickRight = _ref.clickRight;
7554
7970
  return React__default.createElement("div", {
7555
7971
  className: "w-100 d-flex"
7556
7972
  }, React__default.createElement(reactstrap.Button, {
@@ -7568,11 +7984,12 @@ var ToggleButton = function ToggleButton(_ref) {
7568
7984
 
7569
7985
  var InputFile = function InputFile(_ref) {
7570
7986
  var icon = _ref.icon,
7571
- accept = _ref.accept,
7572
- callback = _ref.callback;
7987
+ accept = _ref.accept,
7988
+ callback = _ref.callback;
7989
+
7573
7990
  var handleFileChange = function handleFileChange(e) {
7574
7991
  try {
7575
- var _temp = _catch(function () {
7992
+ var _temp2 = _catch(function () {
7576
7993
  var formData = new FormData();
7577
7994
  var file = e.target.files[0];
7578
7995
  var fileName = file.name;
@@ -7580,19 +7997,21 @@ var InputFile = function InputFile(_ref) {
7580
7997
  formData.append("customKey", "conversation");
7581
7998
  return Promise.resolve(customKeyUpload(formData)).then(function (res) {
7582
7999
  var _res$data = res.data,
7583
- name = _res$data.name,
7584
- key = _res$data.key,
7585
- type = _res$data.type;
8000
+ name = _res$data.name,
8001
+ key = _res$data.key,
8002
+ type = _res$data.type;
7586
8003
  callback(name, getFileUrl(key), type);
7587
8004
  });
7588
8005
  }, function (err) {
7589
8006
  console.error(err.message);
7590
8007
  });
7591
- return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
8008
+
8009
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
7592
8010
  } catch (e) {
7593
8011
  return Promise.reject(e);
7594
8012
  }
7595
8013
  };
8014
+
7596
8015
  return React__default.createElement(React.Fragment, null, React__default.createElement(reactstrap.Input, {
7597
8016
  className: "d-none",
7598
8017
  type: "file",
@@ -7604,6 +8023,7 @@ var InputFile = function InputFile(_ref) {
7604
8023
  role: "button"
7605
8024
  }, icon));
7606
8025
  };
8026
+
7607
8027
  InputFile.defaultProps = {
7608
8028
  accept: "*"
7609
8029
  };
@@ -7619,9 +8039,10 @@ var options = [{
7619
8039
  value: false,
7620
8040
  label: "Unread"
7621
8041
  }];
8042
+
7622
8043
  var NotificationStatusSelector = function NotificationStatusSelector(_ref) {
7623
8044
  var value = _ref.value,
7624
- onChange = _ref.onChange;
8045
+ onChange = _ref.onChange;
7625
8046
  var customSelector = {
7626
8047
  menu: function menu(provided) {
7627
8048
  return _extends({}, provided, {
@@ -7636,6 +8057,7 @@ var NotificationStatusSelector = function NotificationStatusSelector(_ref) {
7636
8057
  styles: customSelector
7637
8058
  });
7638
8059
  };
8060
+
7639
8061
  var NotificationStatusSelector$1 = React.memo(NotificationStatusSelector);
7640
8062
 
7641
8063
  var defaultFilters = {
@@ -7647,14 +8069,14 @@ var defaultFilters = {
7647
8069
  var TITLE$8 = "Notification list";
7648
8070
  var NOTIFICATION_CHANNEL$1 = "NOTIFICATION_CHANNEL";
7649
8071
  var NEW_NOTIFICATION$1 = "NEW_NOTIFICATION";
8072
+
7650
8073
  var useNotificationList = function useNotificationList() {
7651
8074
  var dispatch = reactRedux.useDispatch();
7652
- var _useParams = reactRouterDom.useParams(),
7653
- roles = _useParams.roles;
7654
- var user = reactRedux.useSelector(function (state) {
7655
- return state.common.user;
8075
+ var userId = reactRedux.useSelector(function (state) {
8076
+ var _state$common$user;
8077
+
8078
+ return (_state$common$user = state.common.user) === null || _state$common$user === void 0 ? void 0 : _state$common$user.id;
7656
8079
  });
7657
- var userId = user === null || user === void 0 ? void 0 : user.id;
7658
8080
  var notificationList = reactRedux.useSelector(function (state) {
7659
8081
  return state.notification.notificationList;
7660
8082
  });
@@ -7670,68 +8092,85 @@ var useNotificationList = function useNotificationList() {
7670
8092
  var unReadNotification = reactRedux.useSelector(function (state) {
7671
8093
  return state.notification.unReadNotification;
7672
8094
  });
8095
+
7673
8096
  var _useState = React.useState(defaultFilters),
7674
- filters = _useState[0],
7675
- setFilters = _useState[1];
8097
+ filters = _useState[0],
8098
+ setFilters = _useState[1];
8099
+
7676
8100
  var _useState2 = React.useState(false),
7677
- toggleUpdateAllStatus = _useState2[0],
7678
- setToggleUpdateAllStatus = _useState2[1];
8101
+ toggleUpdateAllStatus = _useState2[0],
8102
+ setToggleUpdateAllStatus = _useState2[1];
8103
+
7679
8104
  var changeFilters = function changeFilters(objectValue) {
7680
8105
  return setFilters(_extends({}, filters, objectValue));
7681
8106
  };
8107
+
7682
8108
  var viewNotification = function viewNotification(notification) {
7683
8109
  var _JSON$parse, _JSON$parse2, _extraData$replace, _extraData$replace$sp, _extraData$replace2, _extraData$replace2$s, _JSON$parse3, _JSON$parse4, _JSON$parse5, _JSON$parse6, _JSON$parse7;
8110
+
7684
8111
  var source = notification.source,
7685
- extraData = notification.extraData;
8112
+ extraData = notification.extraData;
8113
+
7686
8114
  switch (source) {
7687
8115
  case "AssessmentAssignment":
7688
8116
  window.open("/player/diagnosticsurvey/" + Number(extraData));
7689
8117
  break;
8118
+
7690
8119
  case "NewConferenceCreated":
7691
8120
  window.open("/start-conference/" + ((_JSON$parse = JSON.parse(extraData)) === null || _JSON$parse === void 0 ? void 0 : _JSON$parse[0]) + "/" + ((_JSON$parse2 = JSON.parse(extraData)) === null || _JSON$parse2 === void 0 ? void 0 : _JSON$parse2[1]) + "/conferenceRubric");
7692
8121
  break;
8122
+
7693
8123
  case "Class Reflection":
7694
8124
  window.open("/start-reflection/" + (extraData === null || extraData === void 0 ? void 0 : (_extraData$replace = extraData.replace(/[\[\]]/g, '')) === null || _extraData$replace === void 0 ? void 0 : (_extraData$replace$sp = _extraData$replace.split(',')) === null || _extraData$replace$sp === void 0 ? void 0 : _extraData$replace$sp[1]));
7695
8125
  break;
8126
+
7696
8127
  case "Class Reflection Completed":
7697
8128
  window.open("/result-reflection/" + (extraData === null || extraData === void 0 ? void 0 : (_extraData$replace2 = extraData.replace(/[\[\]]/g, '')) === null || _extraData$replace2 === void 0 ? void 0 : (_extraData$replace2$s = _extraData$replace2.split(',')) === null || _extraData$replace2$s === void 0 ? void 0 : _extraData$replace2$s[1]));
7698
8129
  break;
8130
+
7699
8131
  case "External Reflection Completed":
7700
8132
  window.open("/result-reflection/" + ((_JSON$parse3 = JSON.parse(extraData)) === null || _JSON$parse3 === void 0 ? void 0 : _JSON$parse3[0]) + "/external");
7701
8133
  break;
8134
+
7702
8135
  case "NewSessionCreated":
7703
8136
  window.open("/start-question/" + ((_JSON$parse4 = JSON.parse(extraData)) === null || _JSON$parse4 === void 0 ? void 0 : _JSON$parse4[0]) + "/" + ((_JSON$parse5 = JSON.parse(extraData)) === null || _JSON$parse5 === void 0 ? void 0 : _JSON$parse5[1]));
7704
8137
  break;
8138
+
7705
8139
  case "NewSessionComplete":
7706
8140
  window.open("/start-question/" + ((_JSON$parse6 = JSON.parse(extraData)) === null || _JSON$parse6 === void 0 ? void 0 : _JSON$parse6[0]) + "/" + ((_JSON$parse7 = JSON.parse(extraData)) === null || _JSON$parse7 === void 0 ? void 0 : _JSON$parse7[1]));
7707
8141
  break;
8142
+
7708
8143
  case "ActionPointReminder":
7709
8144
  window.open("/action-point/to-do");
7710
8145
  break;
8146
+
7711
8147
  case "SendNotiPLP":
7712
8148
  window.open("/personal-learning-plan");
7713
8149
  break;
8150
+
7714
8151
  case "SendNotiGOAL":
7715
8152
  window.open("/my-goals/" + JSON.parse(extraData));
7716
8153
  break;
8154
+
7717
8155
  case "CertificateApproved":
7718
8156
  window.open("/dashboard/certification/2");
7719
8157
  break;
7720
8158
  }
7721
8159
  };
8160
+
7722
8161
  var getData = React.useCallback(function () {
7723
8162
  try {
7724
- var _temp2 = function _temp2() {
8163
+ var _temp3 = function _temp3() {
7725
8164
  dispatch(setLoading(false));
7726
8165
  };
8166
+
7727
8167
  dispatch(setLoading(true));
7728
- var _temp = _catch(function () {
7729
- return Promise.resolve(get(_extends({}, filters, {
7730
- roles: !(roles !== null && roles !== void 0 && roles.trim()) ? user === null || user === void 0 ? void 0 : user.roles : [roles] || []
7731
- }))).then(function (res) {
8168
+
8169
+ var _temp4 = _catch(function () {
8170
+ return Promise.resolve(get(filters)).then(function (res) {
7732
8171
  var _res$data = res.data,
7733
- items = _res$data.items,
7734
- totalItems = _res$data.totalItems;
8172
+ items = _res$data.items,
8173
+ totalItems = _res$data.totalItems;
7735
8174
  dispatch(setNotification({
7736
8175
  notificationList: items,
7737
8176
  totalItems: totalItems
@@ -7739,12 +8178,14 @@ var useNotificationList = function useNotificationList() {
7739
8178
  });
7740
8179
  }, function (err) {
7741
8180
  var _err$response, _err$response$data;
8181
+
7742
8182
  dispatch(setAlert({
7743
8183
  type: "danger",
7744
8184
  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
7745
8185
  }));
7746
8186
  });
7747
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
8187
+
8188
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
7748
8189
  } catch (e) {
7749
8190
  return Promise.reject(e);
7750
8191
  }
@@ -7781,6 +8222,7 @@ var useNotificationList = function useNotificationList() {
7781
8222
  }));
7782
8223
  } catch (err) {
7783
8224
  var _err$response2, _err$response2$data;
8225
+
7784
8226
  dispatch(setAlert({
7785
8227
  type: "danger",
7786
8228
  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
@@ -7809,11 +8251,13 @@ var useNotificationList = function useNotificationList() {
7809
8251
  }));
7810
8252
  } catch (err) {
7811
8253
  var _err$response3, _err$response3$data;
8254
+
7812
8255
  dispatch(setAlert({
7813
8256
  type: "danger",
7814
8257
  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
7815
8258
  }));
7816
8259
  }
8260
+
7817
8261
  return Promise.resolve();
7818
8262
  } catch (e) {
7819
8263
  return Promise.reject(e);
@@ -7834,16 +8278,18 @@ var useNotificationList = function useNotificationList() {
7834
8278
 
7835
8279
  var header$2 = "Notification list";
7836
8280
  var ICON_SIZE = 20;
8281
+
7837
8282
  var NotificationList = function NotificationList() {
7838
8283
  var _useNotificationList = useNotificationList(),
7839
- notificationList = _useNotificationList.notificationList,
7840
- totalItems = _useNotificationList.totalItems,
7841
- filters = _useNotificationList.filters,
7842
- changeFilters = _useNotificationList.changeFilters,
7843
- updateNotification = _useNotificationList.updateNotification,
7844
- viewNotification = _useNotificationList.viewNotification,
7845
- updateAll = _useNotificationList.updateAll,
7846
- toggleUpdateAllStatus = _useNotificationList.toggleUpdateAllStatus;
8284
+ notificationList = _useNotificationList.notificationList,
8285
+ totalItems = _useNotificationList.totalItems,
8286
+ filters = _useNotificationList.filters,
8287
+ changeFilters = _useNotificationList.changeFilters,
8288
+ updateNotification = _useNotificationList.updateNotification,
8289
+ viewNotification = _useNotificationList.viewNotification,
8290
+ updateAll = _useNotificationList.updateAll,
8291
+ toggleUpdateAllStatus = _useNotificationList.toggleUpdateAllStatus;
8292
+
7847
8293
  return React__default.createElement("div", {
7848
8294
  className: "animated fadeIn",
7849
8295
  style: {
@@ -7954,12 +8400,13 @@ var NotificationList = function NotificationList() {
7954
8400
  var searchInputStyle = {
7955
8401
  height: 38
7956
8402
  };
8403
+
7957
8404
  var SearchBoxContainer = function SearchBoxContainer(_ref) {
7958
8405
  var text = _ref.text,
7959
- initValue = _ref.initValue,
7960
- onClick = _ref.onClick,
7961
- onSearch = _ref.onSearch,
7962
- placeholder = _ref.placeholder;
8406
+ initValue = _ref.initValue,
8407
+ onClick = _ref.onClick,
8408
+ onSearch = _ref.onSearch,
8409
+ placeholder = _ref.placeholder;
7963
8410
  return React__default.createElement("div", {
7964
8411
  className: "d-flex align-items-center"
7965
8412
  }, React__default.createElement("div", null, React__default.createElement(AddButton, {
@@ -7974,6 +8421,7 @@ var SearchBoxContainer = function SearchBoxContainer(_ref) {
7974
8421
  style: searchInputStyle
7975
8422
  })));
7976
8423
  };
8424
+
7977
8425
  SearchBoxContainer.defaultProps = {
7978
8426
  placeholder: "Type something to search"
7979
8427
  };
@@ -7983,17 +8431,21 @@ var CustomTabs = function CustomTabs(props) {
7983
8431
  var location = reactRouterDom.useLocation();
7984
8432
  var pathname = location.pathname;
7985
8433
  var tabs = props.tabs,
7986
- title = props.title;
8434
+ title = props.title;
8435
+
7987
8436
  var toggle = function toggle(path) {
7988
8437
  history.push(path);
7989
8438
  };
8439
+
7990
8440
  var renderContent = function renderContent() {
7991
8441
  var activeTab = tabs.map(function (t) {
7992
8442
  return t.path;
7993
8443
  }).indexOf(pathname);
8444
+
7994
8445
  if (activeTab === -1) {
7995
8446
  return React__default.createElement(NotFound, null);
7996
8447
  }
8448
+
7997
8449
  return React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
7998
8450
  md: 12
7999
8451
  }, React__default.createElement("h5", null, title)), React__default.createElement(reactstrap.Col, {
@@ -8023,6 +8475,7 @@ var CustomTabs = function CustomTabs(props) {
8023
8475
  }));
8024
8476
  }))));
8025
8477
  };
8478
+
8026
8479
  return React__default.createElement("div", {
8027
8480
  className: "animated fadeIn"
8028
8481
  }, renderContent());
@@ -8030,19 +8483,23 @@ var CustomTabs = function CustomTabs(props) {
8030
8483
 
8031
8484
  var CommonAlert = function CommonAlert() {
8032
8485
  var _alert$message2;
8486
+
8033
8487
  var dispatch = reactRedux.useDispatch();
8034
8488
  var alert = reactRedux.useSelector(function (state) {
8035
8489
  return state.common.alert;
8036
8490
  });
8037
8491
  var timeout = React.useRef();
8492
+
8038
8493
  var onDismiss = function onDismiss() {
8039
8494
  dispatch(setAlert({
8040
8495
  message: ""
8041
8496
  }));
8042
8497
  timeout && timeout.current && clearTimeout(timeout.current);
8043
8498
  };
8499
+
8044
8500
  React.useEffect(function () {
8045
8501
  var _alert$message;
8502
+
8046
8503
  if (!!((_alert$message = alert.message) !== null && _alert$message !== void 0 && _alert$message.length)) {
8047
8504
  timeout && timeout.current && clearTimeout(timeout.current);
8048
8505
  timeout.current = setTimeout(function () {
@@ -8064,9 +8521,10 @@ var CommonAlert = function CommonAlert() {
8064
8521
  var schema$4 = yup.object({
8065
8522
  name: yup.string().required("Name is required")
8066
8523
  });
8524
+
8067
8525
  var ActionModal = function ActionModal(props, ref) {
8068
8526
  var targetMedia = props.targetMedia,
8069
- onConfirm = props.onConfirm;
8527
+ onConfirm = props.onConfirm;
8070
8528
  var confirmText = targetMedia !== null && targetMedia !== void 0 && targetMedia.key ? "Update" : "Create";
8071
8529
  var header = targetMedia !== null && targetMedia !== void 0 && targetMedia.key ? "Rename" : "Folder";
8072
8530
  return React__default.createElement(formik.Formik, {
@@ -8081,11 +8539,11 @@ var ActionModal = function ActionModal(props, ref) {
8081
8539
  }
8082
8540
  }, function (formikProps) {
8083
8541
  var values = formikProps.values,
8084
- touched = formikProps.touched,
8085
- errors = formikProps.errors,
8086
- handleChange = formikProps.handleChange,
8087
- handleBlur = formikProps.handleBlur,
8088
- handleSubmit = formikProps.handleSubmit;
8542
+ touched = formikProps.touched,
8543
+ errors = formikProps.errors,
8544
+ handleChange = formikProps.handleChange,
8545
+ handleBlur = formikProps.handleBlur,
8546
+ handleSubmit = formikProps.handleSubmit;
8089
8547
  return React__default.createElement(CommonModal$1, {
8090
8548
  header: header,
8091
8549
  confirmText: confirmText,
@@ -8104,27 +8562,31 @@ var ActionModal = function ActionModal(props, ref) {
8104
8562
  }))));
8105
8563
  });
8106
8564
  };
8565
+
8107
8566
  var ActionModal$1 = React.forwardRef(ActionModal);
8108
8567
 
8109
8568
  var MediaNav = function MediaNav(_ref) {
8110
8569
  var isLibrary = _ref.isLibrary,
8111
- step = _ref.step,
8112
- breadcumb = _ref.breadcumb,
8113
- currentPrefix = _ref.currentPrefix,
8114
- targetMedia = _ref.targetMedia,
8115
- handleSelectFile = _ref.handleSelectFile,
8116
- handleCreateFolder = _ref.handleCreateFolder,
8117
- handleRenameFile = _ref.handleRenameFile,
8118
- handleGoBack = _ref.handleGoBack,
8119
- handleDownloadMedia = _ref.handleDownloadMedia,
8120
- handleDeleteMediaOrFolder = _ref.handleDeleteMediaOrFolder,
8121
- showErrorAlert = _ref.showErrorAlert;
8570
+ step = _ref.step,
8571
+ breadcumb = _ref.breadcumb,
8572
+ currentPrefix = _ref.currentPrefix,
8573
+ targetMedia = _ref.targetMedia,
8574
+ handleSelectFile = _ref.handleSelectFile,
8575
+ handleCreateFolder = _ref.handleCreateFolder,
8576
+ handleRenameFile = _ref.handleRenameFile,
8577
+ handleGoBack = _ref.handleGoBack,
8578
+ handleDownloadMedia = _ref.handleDownloadMedia,
8579
+ handleDeleteMediaOrFolder = _ref.handleDeleteMediaOrFolder,
8580
+ showErrorAlert = _ref.showErrorAlert;
8122
8581
  var modal = React.useRef();
8123
8582
  var inputFile = React.useRef(null);
8583
+
8124
8584
  var openModal = function openModal() {
8125
8585
  var _modal$current;
8586
+
8126
8587
  return modal === null || modal === void 0 ? void 0 : (_modal$current = modal.current) === null || _modal$current === void 0 ? void 0 : _modal$current.toggle();
8127
8588
  };
8589
+
8128
8590
  var renderGroupButtons = function renderGroupButtons() {
8129
8591
  return React__default.createElement(reactstrap.Row, {
8130
8592
  className: "p-2 pl-3"
@@ -8163,6 +8625,7 @@ var MediaNav = function MediaNav(_ref) {
8163
8625
  color: "info",
8164
8626
  onClick: function onClick() {
8165
8627
  var _inputFile$current;
8628
+
8166
8629
  return inputFile === null || inputFile === void 0 ? void 0 : (_inputFile$current = inputFile.current) === null || _inputFile$current === void 0 ? void 0 : _inputFile$current.click();
8167
8630
  }
8168
8631
  }, React__default.createElement(fa.FaFileUpload, null), React__default.createElement(reactstrap.Label, {
@@ -8171,14 +8634,15 @@ var MediaNav = function MediaNav(_ref) {
8171
8634
  className: "h-100 d-flex align-items-center"
8172
8635
  }, breadcumb));
8173
8636
  };
8637
+
8174
8638
  return React__default.createElement("div", null, renderGroupButtons(), React__default.createElement(ActionModal$1, {
8175
8639
  ref: modal,
8176
8640
  targetMedia: targetMedia,
8177
8641
  onConfirm: function (values) {
8178
8642
  try {
8179
- var _temp2 = function () {
8643
+ var _temp3 = function () {
8180
8644
  if (values.name != "") {
8181
- var _temp = function () {
8645
+ var _temp4 = function () {
8182
8646
  if (targetMedia && !targetMedia.isFolder) {
8183
8647
  openModal();
8184
8648
  return Promise.resolve(handleRenameFile(values.name)).then(function () {});
@@ -8187,12 +8651,14 @@ var MediaNav = function MediaNav(_ref) {
8187
8651
  return Promise.resolve(handleCreateFolder(currentPrefix, values.name)).then(function () {});
8188
8652
  }
8189
8653
  }();
8190
- if (_temp && _temp.then) return _temp.then(function () {});
8654
+
8655
+ if (_temp4 && _temp4.then) return _temp4.then(function () {});
8191
8656
  } else {
8192
8657
  showErrorAlert("Name can't be empty");
8193
8658
  }
8194
8659
  }();
8195
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
8660
+
8661
+ return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
8196
8662
  } catch (e) {
8197
8663
  return Promise.reject(e);
8198
8664
  }
@@ -8207,8 +8673,10 @@ var MediaNav = function MediaNav(_ref) {
8207
8673
  onChange: function (event) {
8208
8674
  try {
8209
8675
  var _event$target;
8676
+
8210
8677
  var file = event === null || event === void 0 ? void 0 : (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.files[0];
8211
- var _temp3 = function () {
8678
+
8679
+ var _temp6 = function () {
8212
8680
  if (file) {
8213
8681
  return Promise.resolve(handleSelectFile({
8214
8682
  key: currentPrefix,
@@ -8216,18 +8684,21 @@ var MediaNav = function MediaNav(_ref) {
8216
8684
  })).then(function () {});
8217
8685
  }
8218
8686
  }();
8219
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
8687
+
8688
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
8220
8689
  } catch (e) {
8221
8690
  return Promise.reject(e);
8222
8691
  }
8223
8692
  }
8224
8693
  }));
8225
8694
  };
8695
+
8226
8696
  var MediaNav$1 = React__default.memo(MediaNav);
8227
8697
 
8228
8698
  var styles$1 = {"gallery-image":"_297lu","media-wrapper":"_fAgyT","media-image":"_174lZ","media-image-selected":"_27ch0","media-title":"_2KvRR","filter-media-file":"_1thMc","date-time-input":"_1Yddg"};
8229
8699
 
8230
8700
  var MediaType;
8701
+
8231
8702
  (function (MediaType) {
8232
8703
  MediaType[MediaType["IMAGE"] = 0] = "IMAGE";
8233
8704
  MediaType[MediaType["VIDEO"] = 1] = "VIDEO";
@@ -8247,29 +8718,35 @@ var getTypeByExtension = function getTypeByExtension(extension) {
8247
8718
  if (docs.includes(extension)) return MediaType.DOC;
8248
8719
  if (audios.includes(extension)) return MediaType.AUDIO;
8249
8720
  }
8721
+
8250
8722
  return MediaType.UNKNOW;
8251
8723
  };
8252
8724
  var getMediaThumbnail = function getMediaThumbnail(media) {
8253
8725
  if (media.isFolder) return Images.FOLDER_IMAGE;
8254
8726
  var type = getTypeByExtension(media.extension);
8727
+
8255
8728
  if (type === MediaType.IMAGE) {
8256
8729
  return Images.PHOTO_IMAGE;
8257
8730
  }
8731
+
8258
8732
  if (type === MediaType.VIDEO) {
8259
8733
  return Images.VIDEO_IMAGE;
8260
8734
  }
8735
+
8261
8736
  if (type === MediaType.AUDIO) {
8262
8737
  return Images.AUDIO_IMAGE;
8263
8738
  }
8739
+
8264
8740
  if (type === MediaType.DOC) {
8265
8741
  return Images.DOCS_IMAGE;
8266
8742
  }
8743
+
8267
8744
  return Images.UNKNOW_IMAGE;
8268
8745
  };
8269
8746
 
8270
8747
  var Media = function Media(_ref) {
8271
8748
  var media = _ref.media,
8272
- isTarget = _ref.isTarget;
8749
+ isTarget = _ref.isTarget;
8273
8750
  var thumbnail = getMediaThumbnail(media);
8274
8751
  return React__default.createElement(reactstrap.Card, {
8275
8752
  className: (isTarget ? styles$1["media-image-selected"] : '') + " border-0 "
@@ -8289,6 +8766,7 @@ var Media = function Media(_ref) {
8289
8766
  className: styles$1["media-title"]
8290
8767
  }, media.name)));
8291
8768
  };
8769
+
8292
8770
  var Media$1 = React__default.memo(Media);
8293
8771
 
8294
8772
  var options$1 = [{
@@ -8304,11 +8782,14 @@ var options$1 = [{
8304
8782
  value: MediaType.VIDEO,
8305
8783
  label: "Videos"
8306
8784
  }];
8785
+
8307
8786
  var Filter = function Filter(_ref) {
8308
8787
  var changeFilters = _ref.changeFilters;
8788
+
8309
8789
  var _useState = React.useState(),
8310
- queryTypes = _useState[0],
8311
- selectQueryTypes = _useState[1];
8790
+ queryTypes = _useState[0],
8791
+ selectQueryTypes = _useState[1];
8792
+
8312
8793
  return React__default.createElement(reactstrap.Row, {
8313
8794
  className: "" + styles$1["filter-media-file"]
8314
8795
  }, React__default.createElement(reactstrap.Col, {
@@ -8353,10 +8834,12 @@ var TITLE$9 = "Gallery";
8353
8834
  var defaultFilter = {
8354
8835
  searchString: ""
8355
8836
  };
8837
+
8356
8838
  var useGalleryList = function useGalleryList(isLibrary) {
8357
8839
  if (isLibrary === void 0) {
8358
8840
  isLibrary = false;
8359
8841
  }
8842
+
8360
8843
  var mediaList = reactRedux.useSelector(function (state) {
8361
8844
  return state.gallery.mediaList;
8362
8845
  });
@@ -8367,26 +8850,31 @@ var useGalleryList = function useGalleryList(isLibrary) {
8367
8850
  return state.gallery.targetMedia;
8368
8851
  });
8369
8852
  var dispatch = reactRedux.useDispatch();
8853
+
8370
8854
  var _useState = React.useState(),
8371
- formDataMediaType = _useState[0],
8372
- handleSelectFile = _useState[1];
8855
+ formDataMediaType = _useState[0],
8856
+ handleSelectFile = _useState[1];
8857
+
8373
8858
  var _useState2 = React.useState(Object.assign(_extends({}, defaultFilter), isLibrary ? {
8374
- isLibrary: true
8375
- } : {})),
8376
- filters = _useState2[0],
8377
- setFilters = _useState2[1];
8859
+ isLibrary: true
8860
+ } : {})),
8861
+ filters = _useState2[0],
8862
+ setFilters = _useState2[1];
8863
+
8378
8864
  var _useState3 = React.useState({
8379
- link: "",
8380
- step: 0
8381
- }),
8382
- router = _useState3[0],
8383
- changeRouter = _useState3[1];
8865
+ link: "",
8866
+ step: 0
8867
+ }),
8868
+ router = _useState3[0],
8869
+ changeRouter = _useState3[1];
8870
+
8384
8871
  var handleOpenFolder = function handleOpenFolder(media) {
8385
8872
  if (media.isFolder) {
8386
8873
  setFilters({
8387
8874
  prefix: media.key,
8388
8875
  isLibrary: isLibrary
8389
8876
  });
8877
+
8390
8878
  if (media.key) {
8391
8879
  changeRouter({
8392
8880
  link: media.key,
@@ -8395,11 +8883,13 @@ var useGalleryList = function useGalleryList(isLibrary) {
8395
8883
  }
8396
8884
  }
8397
8885
  };
8886
+
8398
8887
  var handleGoBack = function handleGoBack() {
8399
8888
  var link = router.link,
8400
- step = router.step;
8889
+ step = router.step;
8401
8890
  if (!link || link == "" || step < 1) return;
8402
8891
  var temp = link.split("/");
8892
+
8403
8893
  if (temp[temp.length - 1] === "") {
8404
8894
  changeRouter({
8405
8895
  link: temp.splice(0, temp.length - 2).join("/") + "/",
@@ -8413,10 +8903,12 @@ var useGalleryList = function useGalleryList(isLibrary) {
8413
8903
  });
8414
8904
  }
8415
8905
  };
8906
+
8416
8907
  var handleSelectMedia = function handleSelectMedia(media) {
8417
8908
  dispatch(setTargetMedia({
8418
8909
  targetMedia: undefined
8419
8910
  }));
8911
+
8420
8912
  if (targetMedia) {
8421
8913
  if (media.key === targetMedia.key) {
8422
8914
  dispatch(setTargetMedia({
@@ -8433,9 +8925,10 @@ var useGalleryList = function useGalleryList(isLibrary) {
8433
8925
  }));
8434
8926
  }
8435
8927
  };
8928
+
8436
8929
  var handleRenameFile = function handleRenameFile(name) {
8437
8930
  try {
8438
- var _temp = function () {
8931
+ var _temp2 = function () {
8439
8932
  if (targetMedia !== null && targetMedia !== void 0 && targetMedia.key && name) {
8440
8933
  dispatch(setLoading(true));
8441
8934
  return Promise.resolve(renameFile(targetMedia.key, name)).then(function () {
@@ -8447,11 +8940,13 @@ var useGalleryList = function useGalleryList(isLibrary) {
8447
8940
  });
8448
8941
  }
8449
8942
  }();
8450
- return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
8943
+
8944
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
8451
8945
  } catch (e) {
8452
8946
  return Promise.reject(e);
8453
8947
  }
8454
8948
  };
8949
+
8455
8950
  var handleDownloadMedia = function handleDownloadMedia() {
8456
8951
  if (targetMedia !== null && targetMedia !== void 0 && targetMedia.key) {
8457
8952
  var url = getFileUrl(targetMedia.key);
@@ -8463,12 +8958,14 @@ var useGalleryList = function useGalleryList(isLibrary) {
8463
8958
  }));
8464
8959
  }
8465
8960
  };
8961
+
8466
8962
  var showErrorAlert = function showErrorAlert(message) {
8467
8963
  setAlert({
8468
8964
  type: "danger",
8469
8965
  message: message
8470
8966
  });
8471
8967
  };
8968
+
8472
8969
  var handleDeleteMediaOrFolder = function handleDeleteMediaOrFolder() {
8473
8970
  try {
8474
8971
  if (targetMedia !== null && targetMedia !== void 0 && targetMedia.key) {
@@ -8478,12 +8975,14 @@ var useGalleryList = function useGalleryList(isLibrary) {
8478
8975
  message: "Do you want to remove this " + (targetMedia.isFolder ? "folder" : "file"),
8479
8976
  onConfirm: function () {
8480
8977
  try {
8481
- var _temp3 = function _temp3() {
8978
+ var _temp5 = function _temp5() {
8482
8979
  dispatch(setLoading(false));
8483
8980
  getData();
8484
8981
  };
8982
+
8485
8983
  dispatch(setLoading(true));
8486
- var _temp2 = function () {
8984
+
8985
+ var _temp6 = function () {
8487
8986
  if (targetMedia.isFolder) {
8488
8987
  return Promise.resolve(deleteFolder(targetMedia.key || "")).then(function () {
8489
8988
  dispatch(setTargetMedia({
@@ -8498,7 +8997,8 @@ var useGalleryList = function useGalleryList(isLibrary) {
8498
8997
  });
8499
8998
  }
8500
8999
  }();
8501
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2));
9000
+
9001
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(_temp5) : _temp5(_temp6));
8502
9002
  } catch (e) {
8503
9003
  return Promise.reject(e);
8504
9004
  }
@@ -8510,35 +9010,42 @@ var useGalleryList = function useGalleryList(isLibrary) {
8510
9010
  message: "Error to delete media, please try later."
8511
9011
  }));
8512
9012
  }
9013
+
8513
9014
  return Promise.resolve();
8514
9015
  } catch (e) {
8515
9016
  return Promise.reject(e);
8516
9017
  }
8517
9018
  };
9019
+
8518
9020
  var handleCreateFolder = function handleCreateFolder(prefix, folderName) {
8519
9021
  try {
8520
- var _temp4 = function () {
9022
+ var _temp8 = function () {
8521
9023
  if (folderName) {
8522
9024
  return Promise.resolve(createFolder(prefix, folderName)).then(function () {
8523
9025
  getData();
8524
9026
  });
8525
9027
  }
8526
9028
  }();
8527
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
9029
+
9030
+ return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(function () {}) : void 0);
8528
9031
  } catch (e) {
8529
9032
  return Promise.reject(e);
8530
9033
  }
8531
9034
  };
9035
+
8532
9036
  var changeFilters = function changeFilters(updatedFilters) {
8533
9037
  return setFilters(_extends({}, filters, updatedFilters));
8534
9038
  };
9039
+
8535
9040
  var getData = React.useCallback(function () {
8536
9041
  try {
8537
- var _temp6 = function _temp6() {
9042
+ var _temp11 = function _temp11() {
8538
9043
  dispatch(setLoading(false));
8539
9044
  };
9045
+
8540
9046
  dispatch(setLoading(true));
8541
- var _temp5 = _catch(function () {
9047
+
9048
+ var _temp12 = _catch(function () {
8542
9049
  return Promise.resolve(get$8(filters)).then(function (res) {
8543
9050
  dispatch(setGallery({
8544
9051
  mediaList: res.data,
@@ -8547,12 +9054,14 @@ var useGalleryList = function useGalleryList(isLibrary) {
8547
9054
  });
8548
9055
  }, function (err) {
8549
9056
  var _err$response, _err$response$data;
9057
+
8550
9058
  dispatch(setAlert({
8551
9059
  type: "danger",
8552
9060
  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
8553
9061
  }));
8554
9062
  });
8555
- return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
9063
+
9064
+ return Promise.resolve(_temp12 && _temp12.then ? _temp12.then(_temp11) : _temp11(_temp12));
8556
9065
  } catch (e) {
8557
9066
  return Promise.reject(e);
8558
9067
  }
@@ -8574,16 +9083,18 @@ var useGalleryList = function useGalleryList(isLibrary) {
8574
9083
  React.useEffect(function () {
8575
9084
  var customKeyUploadEffect = function customKeyUploadEffect() {
8576
9085
  try {
8577
- var _temp9 = function _temp9() {
9086
+ var _temp16 = function _temp16() {
8578
9087
  dispatch(setLoading(false));
8579
9088
  };
9089
+
8580
9090
  if (isLibrary) return Promise.resolve();
8581
9091
  dispatch(setLoading(true));
8582
- var _temp8 = _catch(function () {
8583
- var _temp7 = function () {
9092
+
9093
+ var _temp17 = _catch(function () {
9094
+ var _temp13 = function () {
8584
9095
  if (formDataMediaType) {
8585
9096
  var file = formDataMediaType.file,
8586
- key = formDataMediaType.key;
9097
+ key = formDataMediaType.key;
8587
9098
  var name = file.name;
8588
9099
  var customKey = key;
8589
9100
  var formData = new FormData();
@@ -8594,24 +9105,29 @@ var useGalleryList = function useGalleryList(isLibrary) {
8594
9105
  });
8595
9106
  }
8596
9107
  }();
8597
- if (_temp7 && _temp7.then) return _temp7.then(function () {});
9108
+
9109
+ if (_temp13 && _temp13.then) return _temp13.then(function () {});
8598
9110
  }, function (err) {
8599
9111
  var _err$response2, _err$response2$data;
9112
+
8600
9113
  dispatch(setAlert({
8601
9114
  type: "danger",
8602
9115
  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
8603
9116
  }));
8604
9117
  });
8605
- return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp9) : _temp9(_temp8));
9118
+
9119
+ return Promise.resolve(_temp17 && _temp17.then ? _temp17.then(_temp16) : _temp16(_temp17));
8606
9120
  } catch (e) {
8607
9121
  return Promise.reject(e);
8608
9122
  }
8609
9123
  };
9124
+
8610
9125
  customKeyUploadEffect();
8611
9126
  }, [formDataMediaType]);
8612
9127
  var breadcrumb = React.useMemo(function () {
8613
9128
  try {
8614
9129
  var _router$link;
9130
+
8615
9131
  var subLinks = (_router$link = router.link) === null || _router$link === void 0 ? void 0 : _router$link.split("/");
8616
9132
  return subLinks.splice(2, subLinks.length).join("/");
8617
9133
  } catch (_err) {
@@ -8641,23 +9157,25 @@ var useGalleryList = function useGalleryList(isLibrary) {
8641
9157
 
8642
9158
  var MediaList = function MediaList(_ref) {
8643
9159
  var height = _ref.height,
8644
- isLibrary = _ref.isLibrary;
9160
+ isLibrary = _ref.isLibrary;
9161
+
8645
9162
  var _useGalleryList = useGalleryList(isLibrary),
8646
- filters = _useGalleryList.filters,
8647
- mediaList = _useGalleryList.mediaList,
8648
- targetMedia = _useGalleryList.targetMedia,
8649
- router = _useGalleryList.router,
8650
- breadcrumb = _useGalleryList.breadcrumb,
8651
- changeFilters = _useGalleryList.changeFilters,
8652
- handleOpenFolder = _useGalleryList.handleOpenFolder,
8653
- handleSelectMedia = _useGalleryList.handleSelectMedia,
8654
- handleSelectFile = _useGalleryList.handleSelectFile,
8655
- handleCreateFolder = _useGalleryList.handleCreateFolder,
8656
- handleRenameFile = _useGalleryList.handleRenameFile,
8657
- handleDownloadMedia = _useGalleryList.handleDownloadMedia,
8658
- handleDeleteMediaOrFolder = _useGalleryList.handleDeleteMediaOrFolder,
8659
- handleGoBack = _useGalleryList.handleGoBack,
8660
- showErrorAlert = _useGalleryList.showErrorAlert;
9163
+ filters = _useGalleryList.filters,
9164
+ mediaList = _useGalleryList.mediaList,
9165
+ targetMedia = _useGalleryList.targetMedia,
9166
+ router = _useGalleryList.router,
9167
+ breadcrumb = _useGalleryList.breadcrumb,
9168
+ changeFilters = _useGalleryList.changeFilters,
9169
+ handleOpenFolder = _useGalleryList.handleOpenFolder,
9170
+ handleSelectMedia = _useGalleryList.handleSelectMedia,
9171
+ handleSelectFile = _useGalleryList.handleSelectFile,
9172
+ handleCreateFolder = _useGalleryList.handleCreateFolder,
9173
+ handleRenameFile = _useGalleryList.handleRenameFile,
9174
+ handleDownloadMedia = _useGalleryList.handleDownloadMedia,
9175
+ handleDeleteMediaOrFolder = _useGalleryList.handleDeleteMediaOrFolder,
9176
+ handleGoBack = _useGalleryList.handleGoBack,
9177
+ showErrorAlert = _useGalleryList.showErrorAlert;
9178
+
8661
9179
  var renderList = function renderList() {
8662
9180
  return mediaList.map(function (media) {
8663
9181
  var isTarget = (targetMedia === null || targetMedia === void 0 ? void 0 : targetMedia.key) === media.key;
@@ -8679,6 +9197,7 @@ var MediaList = function MediaList(_ref) {
8679
9197
  })));
8680
9198
  });
8681
9199
  };
9200
+
8682
9201
  return React__default.createElement(reactstrap.Card, null, React__default.createElement(reactstrap.CardHeader, null, React__default.createElement(Filter, {
8683
9202
  changeFilters: changeFilters,
8684
9203
  filters: filters
@@ -8706,6 +9225,7 @@ var MediaList = function MediaList(_ref) {
8706
9225
 
8707
9226
  var MediaDetail = function MediaDetail(_ref) {
8708
9227
  var _targetMedia$extensio;
9228
+
8709
9229
  var targetMedia = _ref.targetMedia;
8710
9230
  if (!targetMedia || targetMedia !== null && targetMedia !== void 0 && targetMedia.isFolder) return React__default.createElement("div", null);
8711
9231
  var type = getTypeByExtension(targetMedia.extension);
@@ -8736,9 +9256,11 @@ var MediaDetail = function MediaDetail(_ref) {
8736
9256
  tag: "h6"
8737
9257
  }, "General Info"), React__default.createElement(reactstrap.CardText, null, "File extension: ", (_targetMedia$extensio = targetMedia.extension) === null || _targetMedia$extensio === void 0 ? void 0 : _targetMedia$extensio.toUpperCase())));
8738
9258
  };
9259
+
8739
9260
  var MediaDetail$1 = React__default.memo(MediaDetail);
8740
9261
 
8741
9262
  var header$3 = "Gallery";
9263
+
8742
9264
  var GalleryList = function GalleryList(_ref) {
8743
9265
  var isLibrary = _ref.isLibrary;
8744
9266
  var targetMedia = reactRedux.useSelector(function (state) {
@@ -8770,25 +9292,29 @@ var get$9 = function get() {
8770
9292
 
8771
9293
  var AcademicClassSelector = function AcademicClassSelector(props) {
8772
9294
  var _useState = React.useState([]),
8773
- classes = _useState[0],
8774
- setClasses = _useState[1];
9295
+ classes = _useState[0],
9296
+ setClasses = _useState[1];
9297
+
8775
9298
  React.useEffect(function () {
8776
9299
  getData();
8777
9300
  }, []);
9301
+
8778
9302
  var getData = function getData() {
8779
9303
  try {
8780
- var _temp = _catch(function () {
9304
+ var _temp2 = _catch(function () {
8781
9305
  return Promise.resolve(get$9()).then(function (res) {
8782
9306
  setClasses(res.data.items);
8783
9307
  });
8784
9308
  }, function (err) {
8785
9309
  console.error(err);
8786
9310
  });
8787
- return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
9311
+
9312
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
8788
9313
  } catch (e) {
8789
9314
  return Promise.reject(e);
8790
9315
  }
8791
9316
  };
9317
+
8792
9318
  var id = props.id;
8793
9319
  var options = classes.map(function (i) {
8794
9320
  return {
@@ -8826,6 +9352,42 @@ var reduxLogger = createCommonjsModule(function (module, exports) {
8826
9352
 
8827
9353
  var logger = unwrapExports(reduxLogger);
8828
9354
 
9355
+ function symbolObservablePonyfill(root) {
9356
+ var result;
9357
+ var Symbol = root.Symbol;
9358
+
9359
+ if (typeof Symbol === 'function') {
9360
+ if (Symbol.observable) {
9361
+ result = Symbol.observable;
9362
+ } else {
9363
+ result = Symbol('observable');
9364
+ Symbol.observable = result;
9365
+ }
9366
+ } else {
9367
+ result = '@@observable';
9368
+ }
9369
+
9370
+ return result;
9371
+ }
9372
+
9373
+ /* global window */
9374
+
9375
+ var root;
9376
+
9377
+ if (typeof self !== 'undefined') {
9378
+ root = self;
9379
+ } else if (typeof window !== 'undefined') {
9380
+ root = window;
9381
+ } else if (typeof global !== 'undefined') {
9382
+ root = global;
9383
+ } else if (typeof module !== 'undefined') {
9384
+ root = module;
9385
+ } else {
9386
+ root = Function('return this')();
9387
+ }
9388
+
9389
+ var result = symbolObservablePonyfill(root);
9390
+
8829
9391
  /**
8830
9392
  * These are private action types reserved by Redux.
8831
9393
  * For any unknown actions, you must return the current state.
@@ -9110,6 +9672,7 @@ var commonReducer = toolkit.createReducer(initialState, function (builder) {
9110
9672
  state.defaultFontSize = action.payload;
9111
9673
  }).addCase(initAmplitude, function (state, action) {
9112
9674
  var _action$payload, _action$payload2, _action$payload3, _action$payload4, _action$payload5, _action$payload6, _action$payload7, _action$payload8, _action$payload9, _action$payload10, _action$payload11, _action$payload12, _action$payload13, _action$payload13$rol, _action$payload14;
9675
+
9113
9676
  var hostName = window.location.hostname;
9114
9677
  var eventProperties = {
9115
9678
  user_id: (_action$payload = action.payload) === null || _action$payload === void 0 ? void 0 : _action$payload.name,
@@ -9424,6 +9987,7 @@ var initialState$j = {
9424
9987
  selectedQuestions: [],
9425
9988
  selectQuestion: []
9426
9989
  };
9990
+
9427
9991
  var mergeArrayUniqueQuestion = function mergeArrayUniqueQuestion(array1, array2) {
9428
9992
  var ids = new Set(array1.map(function (d) {
9429
9993
  return d.id;
@@ -9433,9 +9997,11 @@ var mergeArrayUniqueQuestion = function mergeArrayUniqueQuestion(array1, array2)
9433
9997
  }));
9434
9998
  return arrMerged;
9435
9999
  };
10000
+
9436
10001
  var questionCategoryReducer = toolkit.createReducer(initialState$j, function (builder) {
9437
10002
  builder.addCase(setQuestionByCategory, function (state, action) {
9438
10003
  state.questionByCategoryList = action.payload;
10004
+
9439
10005
  if (state.selectedQuestions.length > 0) {
9440
10006
  state.questionByCategoryList = state.questionByCategoryList.filter(function (item) {
9441
10007
  return !state.selectedQuestions.some(function (sub) {
@@ -9448,6 +10014,7 @@ var questionCategoryReducer = toolkit.createReducer(initialState$j, function (bu
9448
10014
  var index = state.selectQuestion.findIndex(function (item) {
9449
10015
  return item.id === action.payload.id;
9450
10016
  });
10017
+
9451
10018
  if (index === -1) {
9452
10019
  state.selectQuestion.push(action.payload);
9453
10020
  } else {
@@ -9468,11 +10035,13 @@ var questionCategoryReducer = toolkit.createReducer(initialState$j, function (bu
9468
10035
  });
9469
10036
  state.selectQuestion = [];
9470
10037
  break;
10038
+
9471
10039
  case "right-all":
9472
10040
  state.selectedQuestions = mergeArrayUniqueQuestion(state.selectedQuestions, state.questionByCategoryList);
9473
10041
  state.selectQuestion = [];
9474
10042
  state.questionByCategoryList = [];
9475
10043
  break;
10044
+
9476
10045
  case "left":
9477
10046
  state.questionByCategoryList = mergeArrayUniqueQuestion(state.questionByCategoryList, state.selectQuestion);
9478
10047
  state.selectedQuestions = state.selectedQuestions.filter(function (item) {
@@ -9482,26 +10051,33 @@ var questionCategoryReducer = toolkit.createReducer(initialState$j, function (bu
9482
10051
  });
9483
10052
  state.selectQuestion = [];
9484
10053
  break;
10054
+
9485
10055
  case "left-all":
9486
10056
  state.questionByCategoryList = mergeArrayUniqueQuestion(state.questionByCategoryList, state.selectedQuestions);
9487
10057
  state.selectedQuestions = [];
9488
10058
  state.selectQuestion = [];
9489
10059
  break;
10060
+
9490
10061
  case "move-up":
9491
10062
  var old_index = state.selectedQuestions.findIndex(function (item) {
9492
10063
  return item.id === state.selectQuestion[0].id;
9493
10064
  });
10065
+
9494
10066
  if (old_index !== -1) {
9495
10067
  state.selectedQuestions.splice(old_index - 1, 0, state.selectedQuestions.splice(old_index, 1)[0]);
9496
10068
  }
10069
+
9497
10070
  break;
10071
+
9498
10072
  case "move-down":
9499
10073
  var old_index1 = state.selectedQuestions.findIndex(function (item) {
9500
10074
  return item.id === state.selectQuestion[0].id;
9501
10075
  });
10076
+
9502
10077
  if (old_index1 !== -1) {
9503
10078
  state.selectedQuestions.splice(old_index1 + 1, 0, state.selectedQuestions.splice(old_index1, 1)[0]);
9504
10079
  }
10080
+
9505
10081
  break;
9506
10082
  }
9507
10083
  });
@@ -9680,6 +10256,7 @@ var dashboardReducer = toolkit.createReducer(initialState$t, function (builder)
9680
10256
  })) {
9681
10257
  return state;
9682
10258
  }
10259
+
9683
10260
  return _extends({}, state, {
9684
10261
  tabs: [action.payload].concat(state.tabs)
9685
10262
  });
@@ -9738,8 +10315,8 @@ var sessionPlayerReducer = toolkit.createReducer(initialState$u, function (build
9738
10315
  return action.payload;
9739
10316
  }).addCase(changeNote, function (state, action) {
9740
10317
  var _action$payload = action.payload,
9741
- isConfidential = _action$payload.isConfidential,
9742
- text = _action$payload.text;
10318
+ isConfidential = _action$payload.isConfidential,
10319
+ text = _action$payload.text;
9743
10320
  var teacherResult = state.results.find(function (result) {
9744
10321
  return result.isTeacherResult;
9745
10322
  });
@@ -9748,6 +10325,7 @@ var sessionPlayerReducer = toolkit.createReducer(initialState$u, function (build
9748
10325
  var existedNote = teacherResultCloner.notes.find(function (note) {
9749
10326
  return !!note.isConfidential === isConfidential;
9750
10327
  });
10328
+
9751
10329
  if (existedNote) {
9752
10330
  existedNote.text = text;
9753
10331
  } else {
@@ -9756,6 +10334,7 @@ var sessionPlayerReducer = toolkit.createReducer(initialState$u, function (build
9756
10334
  text: text
9757
10335
  });
9758
10336
  }
10337
+
9759
10338
  return _extends({}, state, {
9760
10339
  results: state.results.map(function (result) {
9761
10340
  return result.isTeacherResult ? teacherResultCloner : result;
@@ -9776,9 +10355,9 @@ var sessionPlayerReducer = toolkit.createReducer(initialState$u, function (build
9776
10355
  });
9777
10356
  }).addCase(answerQuestion, function (state, action) {
9778
10357
  var _action$payload2 = action.payload,
9779
- text = _action$payload2.text,
9780
- questionId = _action$payload2.questionId,
9781
- isTeacherResult = _action$payload2.isTeacherResult;
10358
+ text = _action$payload2.text,
10359
+ questionId = _action$payload2.questionId,
10360
+ isTeacherResult = _action$payload2.isTeacherResult;
9782
10361
  var result = state.results.find(function (result) {
9783
10362
  return result.isTeacherResult === isTeacherResult;
9784
10363
  });
@@ -9787,6 +10366,7 @@ var sessionPlayerReducer = toolkit.createReducer(initialState$u, function (build
9787
10366
  var existedResponse = resultCloner.questionResponses.find(function (response) {
9788
10367
  return response.questionId === questionId;
9789
10368
  });
10369
+
9790
10370
  if (!existedResponse) {
9791
10371
  resultCloner.questionResponses.push({
9792
10372
  questionId: questionId,
@@ -9795,6 +10375,7 @@ var sessionPlayerReducer = toolkit.createReducer(initialState$u, function (build
9795
10375
  } else {
9796
10376
  existedResponse.text = text;
9797
10377
  }
10378
+
9798
10379
  return _extends({}, state, {
9799
10380
  results: state.results.map(function (result) {
9800
10381
  return result.isTeacherResult === isTeacherResult ? resultCloner : result;
@@ -9828,14 +10409,15 @@ var dataPlayer = toolkit.createReducer(initialState$v, function (builder) {
9828
10409
  return action.payload;
9829
10410
  }).addCase(answerQuestionDataPlayer, function (state, action) {
9830
10411
  var _action$payload = action.payload,
9831
- questionId = _action$payload.questionId,
9832
- text = _action$payload.text;
10412
+ questionId = _action$payload.questionId,
10413
+ text = _action$payload.text;
9833
10414
  var questionResponse = state.questionResponse;
9834
10415
  if (!questionResponse) return state;
9835
10416
  var questionResponseCloner = JSON.parse(JSON.stringify(questionResponse));
9836
10417
  var existedResponse = questionResponseCloner.find(function (response) {
9837
10418
  return response.questionId === questionId;
9838
10419
  });
10420
+
9839
10421
  if (!existedResponse) {
9840
10422
  questionResponseCloner.push({
9841
10423
  questionId: questionId,
@@ -9844,6 +10426,7 @@ var dataPlayer = toolkit.createReducer(initialState$v, function (builder) {
9844
10426
  } else {
9845
10427
  existedResponse.text = text;
9846
10428
  }
10429
+
9847
10430
  return _extends({}, state, {
9848
10431
  questionResponse: questionResponseCloner
9849
10432
  });
@@ -9999,9 +10582,11 @@ var debounce = function debounce(callback, wait) {
9999
10582
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
10000
10583
  args[_key] = arguments[_key];
10001
10584
  }
10585
+
10002
10586
  var next = function next() {
10003
10587
  return callback.apply(void 0, args);
10004
10588
  };
10589
+
10005
10590
  clearTimeout(timeout);
10006
10591
  timeout = setTimeout(next, wait);
10007
10592
  };
@@ -10030,6 +10615,7 @@ var HOMEPAGE_ADMIN$1 = "/admin/dashboard";
10030
10615
  var HOMEPAGE_PARENT$1 = "/parent";
10031
10616
  var HOMEPAGE_DISTRICT$1 = "/admin/schools";
10032
10617
  var HOMEPAGE_EDU_TEACHER$1 = "/list-student";
10618
+
10033
10619
  var useUserList = function useUserList() {
10034
10620
  var history = reactRouterDom.useHistory();
10035
10621
  var query = new URLSearchParams(location.search);
@@ -10040,31 +10626,38 @@ var useUserList = function useUserList() {
10040
10626
  var totalItems = reactRedux.useSelector(function (state) {
10041
10627
  return state.users.totalItems;
10042
10628
  });
10629
+
10043
10630
  var _useFilters = useFilters(),
10044
- filters = _useFilters.filters,
10045
- changeFilters = _useFilters.changeFilters;
10631
+ filters = _useFilters.filters,
10632
+ changeFilters = _useFilters.changeFilters;
10633
+
10046
10634
  var _useState = React.useState(!!queryName ? queryName : ""),
10047
- fullName = _useState[0],
10048
- setFullName = _useState[1];
10635
+ fullName = _useState[0],
10636
+ setFullName = _useState[1];
10637
+
10049
10638
  var isDistrict = window.location.host.includes("-district");
10050
10639
  var dispatch = reactRedux.useDispatch();
10051
10640
  var getData = React.useCallback(function (fullName) {
10052
10641
  try {
10053
- var _temp2 = function _temp2() {
10642
+ var _temp3 = function _temp3() {
10054
10643
  dispatch(setLoading(false));
10055
10644
  };
10645
+
10056
10646
  dispatch(setLoading(true));
10057
- var _temp = _catch(function () {
10647
+
10648
+ var _temp4 = _catch(function () {
10058
10649
  return Promise.resolve(fullName ? get$5(_extends({}, filters, {
10059
10650
  searchString: fullName
10060
10651
  })) : get$5(filters)).then(function (res) {
10061
10652
  var _res$data = res.data,
10062
- items = _res$data.items,
10063
- totalItems = _res$data.totalItems;
10653
+ items = _res$data.items,
10654
+ totalItems = _res$data.totalItems;
10655
+
10064
10656
  for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {
10065
10657
  var user = _step.value;
10066
10658
  user.roles = user.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : user.roles;
10067
10659
  }
10660
+
10068
10661
  dispatch(setUserList({
10069
10662
  userList: items,
10070
10663
  totalItems: totalItems
@@ -10072,12 +10665,14 @@ var useUserList = function useUserList() {
10072
10665
  });
10073
10666
  }, function (err) {
10074
10667
  var _err$response, _err$response$data;
10668
+
10075
10669
  dispatch(setAlert({
10076
10670
  type: "danger",
10077
10671
  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
10078
10672
  }));
10079
10673
  });
10080
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
10674
+
10675
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
10081
10676
  } catch (e) {
10082
10677
  return Promise.reject(e);
10083
10678
  }
@@ -10095,6 +10690,7 @@ var useUserList = function useUserList() {
10095
10690
  }, [filters]);
10096
10691
  var removeData = React.useCallback(function (id) {
10097
10692
  dispatch(setLoading(true));
10693
+
10098
10694
  try {
10099
10695
  dispatch(setModal({
10100
10696
  isOpen: true,
@@ -10118,22 +10714,25 @@ var useUserList = function useUserList() {
10118
10714
  }));
10119
10715
  } catch (err) {
10120
10716
  var _err$response2, _err$response2$data;
10717
+
10121
10718
  dispatch(setAlert({
10122
10719
  type: "danger",
10123
10720
  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
10124
10721
  }));
10125
10722
  }
10723
+
10126
10724
  dispatch(setLoading(false));
10127
10725
  }, [filters]);
10726
+
10128
10727
  var redirectLoginUser = function redirectLoginUser(res) {
10129
10728
  var _res$data2 = res.data,
10130
- token = _res$data2.token,
10131
- id = _res$data2.id,
10132
- firstName = _res$data2.firstName,
10133
- lastName = _res$data2.lastName,
10134
- roles = _res$data2.roles,
10135
- email = _res$data2.email,
10136
- profileImageFileName = _res$data2.profileImageFileName;
10729
+ token = _res$data2.token,
10730
+ id = _res$data2.id,
10731
+ firstName = _res$data2.firstName,
10732
+ lastName = _res$data2.lastName,
10733
+ roles = _res$data2.roles,
10734
+ email = _res$data2.email,
10735
+ profileImageFileName = _res$data2.profileImageFileName;
10137
10736
  localStorage.setItem(ACCESS_TOKEN, token);
10138
10737
  localStorage.removeItem(NOTIFICATION_ALERT_KEY);
10139
10738
  dispatch(setUser({
@@ -10144,6 +10743,7 @@ var useUserList = function useUserList() {
10144
10743
  email: email,
10145
10744
  profileImageFileName: profileImageFileName
10146
10745
  }));
10746
+
10147
10747
  if (isDistrict) {
10148
10748
  history.push(HOMEPAGE_DISTRICT$1);
10149
10749
  } else if (roles.includes("Admin")) {
@@ -10160,9 +10760,10 @@ var useUserList = function useUserList() {
10160
10760
  history.push(HOMEPAGE_TEACHER$1);
10161
10761
  }
10162
10762
  };
10763
+
10163
10764
  var swicthUser = React.useCallback(function (id) {
10164
10765
  try {
10165
- var _temp3 = _catch(function () {
10766
+ var _temp6 = _catch(function () {
10166
10767
  return Promise.resolve(switchAccountUser(id)).then(function (res) {
10167
10768
  var data = res.data;
10168
10769
  dispatch(setModal({
@@ -10171,11 +10772,13 @@ var useUserList = function useUserList() {
10171
10772
  message: "Do you want to impersonate this user?",
10172
10773
  onConfirm: function () {
10173
10774
  try {
10174
- var _temp5 = function _temp5() {
10775
+ var _temp9 = function _temp9() {
10175
10776
  dispatch(setLoading(false));
10176
10777
  };
10778
+
10177
10779
  dispatch(setLoading(true));
10178
- var _temp4 = _catch(function () {
10780
+
10781
+ var _temp10 = _catch(function () {
10179
10782
  var req = {
10180
10783
  email: data.email,
10181
10784
  password: "default",
@@ -10187,12 +10790,14 @@ var useUserList = function useUserList() {
10187
10790
  });
10188
10791
  }, function (err) {
10189
10792
  var _err$response3, _err$response3$data;
10793
+
10190
10794
  setAlert({
10191
10795
  type: "danger",
10192
10796
  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
10193
10797
  });
10194
10798
  });
10195
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
10799
+
10800
+ return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
10196
10801
  } catch (e) {
10197
10802
  return Promise.reject(e);
10198
10803
  }
@@ -10201,20 +10806,24 @@ var useUserList = function useUserList() {
10201
10806
  });
10202
10807
  }, function (err) {
10203
10808
  var _err$response4, _err$response4$data;
10809
+
10204
10810
  dispatch(setAlert({
10205
10811
  type: "danger",
10206
10812
  message: ((_err$response4 = err.response) === null || _err$response4 === void 0 ? void 0 : (_err$response4$data = _err$response4.data) === null || _err$response4$data === void 0 ? void 0 : _err$response4$data.title) || err.message
10207
10813
  }));
10208
10814
  });
10209
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
10815
+
10816
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
10210
10817
  } catch (e) {
10211
10818
  return Promise.reject(e);
10212
10819
  }
10213
10820
  }, [filters]);
10821
+
10214
10822
  var reDirectDetailPage = function reDirectDetailPage(id) {
10215
10823
  var url = !!id ? USER_URL$2 + "/" + id : CREATE_USER_URL;
10216
10824
  history.push(url);
10217
10825
  };
10826
+
10218
10827
  return {
10219
10828
  userList: userList,
10220
10829
  totalItems: totalItems,
@@ -10229,18 +10838,21 @@ var useUserList = function useUserList() {
10229
10838
  };
10230
10839
 
10231
10840
  var header$4 = "User";
10841
+
10232
10842
  var UserList = function UserList() {
10233
10843
  var _useUserList = useUserList(),
10234
- queryName = _useUserList.queryName,
10235
- userList = _useUserList.userList,
10236
- totalItems = _useUserList.totalItems,
10237
- filters = _useUserList.filters,
10238
- removeData = _useUserList.removeData,
10239
- changeFilters = _useUserList.changeFilters,
10240
- reDirectDetailPage = _useUserList.reDirectDetailPage,
10241
- swicthUser = _useUserList.swicthUser;
10844
+ queryName = _useUserList.queryName,
10845
+ userList = _useUserList.userList,
10846
+ totalItems = _useUserList.totalItems,
10847
+ filters = _useUserList.filters,
10848
+ removeData = _useUserList.removeData,
10849
+ changeFilters = _useUserList.changeFilters,
10850
+ reDirectDetailPage = _useUserList.reDirectDetailPage,
10851
+ swicthUser = _useUserList.swicthUser;
10852
+
10242
10853
  var _useTranslation = reactI18next.useTranslation(),
10243
- t = _useTranslation.t;
10854
+ t = _useTranslation.t;
10855
+
10244
10856
  return React__default.createElement("div", {
10245
10857
  className: "fadeIn animated"
10246
10858
  }, React__default.createElement("h5", {