mario-core 2.9.224-release → 2.9.225-lang

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const ButtonLogin: ({ fnLoginSSO }: any) => JSX.Element;
3
+ export default ButtonLogin;
@@ -1,4 +1,3 @@
1
- import { LogLevel } from "@azure/msal-browser";
2
1
  /**
3
2
  * Configuration object to be passed to MSAL instance on creation.
4
3
  * For a full list of MSAL.js configuration parameters, visit:
@@ -16,7 +15,7 @@ export declare const msalConfig: {
16
15
  };
17
16
  system: {
18
17
  loggerOptions: {
19
- loggerCallback: (level: LogLevel, message: string, containsPii: any) => void;
18
+ loggerCallback: (level: any, message: string, containsPii: any) => void;
20
19
  };
21
20
  };
22
21
  };
@@ -0,0 +1,6 @@
1
+ export declare const config: {
2
+ appId: string;
3
+ redirectUri: string;
4
+ scopes: string[];
5
+ authority: string;
6
+ };
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ declare const useLanguages: () => {
3
+ languageList: any;
4
+ toggle: () => void;
5
+ dropdownOpen: boolean;
6
+ setCurrentLang: import("react").Dispatch<any>;
7
+ language: any;
8
+ };
9
+ export default useLanguages;
package/dist/index.d.ts CHANGED
@@ -65,6 +65,7 @@ import getFileUrl from "./utils/getFileUrl";
65
65
  import getTextFromHTML from "./utils/getTextFromHTML";
66
66
  import utcToLocalTime from "./utils/utcToLocalTime";
67
67
  import getStaticFileUrl from "./utils/getStaticFileUrl";
68
+ import getCookieValue from "./utils/getCookieValue";
68
69
  import { uploadFile, systemStudentBadge, systemCertificateUpload } from "./services/fileServices";
69
70
  import { setLoading, setModal, setAlert, setUser, reset, setCurrentStudentId, setCurrentStudentUserId, setCurrentStudentName, setTurnOffPassWhenChangeMode, showMenuBar, showFontSize, initAmplitude } from "./redux/commons/action";
70
71
  import { setClassList } from "./redux/classes/action";
@@ -112,4 +113,4 @@ import { setEnableIEP, setEnableSurvey, setConversationOneToOne, setLanguage, se
112
113
  import useFilters from "./hooks/useFilters";
113
114
  import amplitude from "amplitude-js";
114
115
  declare const amplitudeClient: amplitude.AmplitudeClient;
115
- export { Login, Dashboard, TheLayout, TheContent, NotFound, EmailTemplateList, EmailTemplateDetail, FaqList, SkillList, UserList, UserContainer, UserDetail, Loading, NotificationModal, CommonHeader, CommonModal, NotificationLogoutModal, AddButton, DeleteButtonIcon, EditButtonIcon, LinkEditButton, ToggleButton, EmptyDataAlert, SandboxAlert, CreatableSelector, CustomPagination, SearchBox, FileInput, QuitPrompt, QuestionTypeSelector, QuestionCategorySelector, SuggestionCategorySelector, CategorySelector, ErrorHandler, DetailActionButtons, RequiredLabel, StarRatingSelector, ReactNotification, NotificationList, CustomSelector, UploadFileButton, SearchBoxContainer, CustomTab, CommonAlert, GalleryList, MediaList, useGalleryList, AcademicClassSelector, SchoolList, store, showMenuBar, showFontSize, setLoading, setModal, setAlert, setClassList, setConferenceRubricList, setSuggestionList, setStrategyList, setSubjectList, setLearningSupportCategoryList, setQuestionList, setUserList, setStudentList, setBadgeList, setGoalExampleList, setSemesterList, setFeedbackList, setAssessmentList, setQuestionByCategory, setSelectQuestion, setMoveItemQuestion, setReflectionList, setReflectionResultList, setEditItemQuesion, setResetQuestionList, setMailCategory, setUser, setAssignmentList, setAssistantList, setSessionTemplateList, setTutorialScreenList, setSessionTemplateGeneralClassList, setCustomAlertList, setCertificateList, closeTab, addTab, editTab, clearTab, changeNote, changeTags, answerQuestion, setSessionPlayer, setStartTime, setTurnOffPassWhenChangeMode, reset, setImproveMyClass, setSchoolBlankDayList, setEnableIEP, setEnableSurvey, setConversationOneToOne, setLanguage, setSandboxMode, i18n, useTranslation, I18nextProvider, api, apiUpload, uploadFile, systemStudentBadge, systemCertificateUpload, BASE_URL, DEFAULT_FILTER, LICENSE_AGGRID, TINY_MCE_API_KEY, QUESTION_TYPES, QUESTION_TYPES_OPTIONS, ANSWER_EDITOR_HEIGHT, CHAT_CHANNEL, NOTIFICATION_CHANNEL, DATE_RESULT, DATE_FORMAT, FULL_DATE_RESULT, ACCESS_TOKEN, NOTIFICATION_ALERT_KEY, GOOGLE_RECAPTCHA_KEY, DEFAULT_LANGUAGE_CODE, LANGUAGES, SUPPORTED_LANGUAGES_CODE, EMOTIONS, TAB_COLORS, SANDBOX_NOTIFICATION, Filter, Conversation, Message, ConversationMember, NavbarTab, editorConfig, generateRandomString, isInViewport, debounce, firstCheckToken, canAccessRoute, getFileUrl, getTextFromHTML, utcToLocalTime, getInfo, Images, setQuestionCateList, setMyStudent, setDataPlayer, answerQuestionDataPlayer, setCurrentStudentUserId, setCurrentStudentId, setCurrentStudentName, setFilterWidget, setBandScoreList, setStudentIdSelectedByTeacher, useFilters, ScrollToTop, initAmplitude, amplitudeClient, INIT_AMPLITUDE_KEY_STAGE, INIT_AMPLITUDE_KEY_PROD, isLocalhost, getStaticFileUrl };
116
+ export { Login, Dashboard, TheLayout, TheContent, NotFound, EmailTemplateList, EmailTemplateDetail, FaqList, SkillList, UserList, UserContainer, UserDetail, Loading, NotificationModal, CommonHeader, CommonModal, NotificationLogoutModal, AddButton, DeleteButtonIcon, EditButtonIcon, LinkEditButton, ToggleButton, EmptyDataAlert, SandboxAlert, CreatableSelector, CustomPagination, SearchBox, FileInput, QuitPrompt, QuestionTypeSelector, QuestionCategorySelector, SuggestionCategorySelector, CategorySelector, ErrorHandler, DetailActionButtons, RequiredLabel, StarRatingSelector, ReactNotification, NotificationList, CustomSelector, UploadFileButton, SearchBoxContainer, CustomTab, CommonAlert, GalleryList, MediaList, useGalleryList, AcademicClassSelector, SchoolList, store, showMenuBar, showFontSize, setLoading, setModal, setAlert, setClassList, setConferenceRubricList, setSuggestionList, setStrategyList, setSubjectList, setLearningSupportCategoryList, setQuestionList, setUserList, setStudentList, setBadgeList, setGoalExampleList, setSemesterList, setFeedbackList, setAssessmentList, setQuestionByCategory, setSelectQuestion, setMoveItemQuestion, setReflectionList, setReflectionResultList, setEditItemQuesion, setResetQuestionList, setMailCategory, setUser, setAssignmentList, setAssistantList, setSessionTemplateList, setTutorialScreenList, setSessionTemplateGeneralClassList, setCustomAlertList, setCertificateList, closeTab, addTab, editTab, clearTab, changeNote, changeTags, answerQuestion, setSessionPlayer, setStartTime, setTurnOffPassWhenChangeMode, reset, setImproveMyClass, setSchoolBlankDayList, setEnableIEP, setEnableSurvey, setConversationOneToOne, setLanguage, setSandboxMode, i18n, useTranslation, I18nextProvider, api, apiUpload, uploadFile, systemStudentBadge, systemCertificateUpload, BASE_URL, DEFAULT_FILTER, LICENSE_AGGRID, TINY_MCE_API_KEY, QUESTION_TYPES, QUESTION_TYPES_OPTIONS, ANSWER_EDITOR_HEIGHT, CHAT_CHANNEL, NOTIFICATION_CHANNEL, DATE_RESULT, DATE_FORMAT, FULL_DATE_RESULT, ACCESS_TOKEN, NOTIFICATION_ALERT_KEY, GOOGLE_RECAPTCHA_KEY, DEFAULT_LANGUAGE_CODE, LANGUAGES, SUPPORTED_LANGUAGES_CODE, EMOTIONS, TAB_COLORS, SANDBOX_NOTIFICATION, Filter, Conversation, Message, ConversationMember, NavbarTab, editorConfig, generateRandomString, isInViewport, debounce, firstCheckToken, canAccessRoute, getFileUrl, getTextFromHTML, utcToLocalTime, getInfo, Images, setQuestionCateList, setMyStudent, setDataPlayer, answerQuestionDataPlayer, setCurrentStudentUserId, setCurrentStudentId, setCurrentStudentName, setFilterWidget, setBandScoreList, setStudentIdSelectedByTeacher, useFilters, ScrollToTop, initAmplitude, amplitudeClient, INIT_AMPLITUDE_KEY_STAGE, INIT_AMPLITUDE_KEY_PROD, isLocalhost, getStaticFileUrl, getCookieValue };
package/dist/index.js CHANGED
@@ -12563,9 +12563,7 @@ var LANGUAGES = [{
12563
12563
  image: "/images/usa.png"
12564
12564
  }];
12565
12565
  var DEFAULT_LANGUAGE_CODE = "en-US";
12566
- var SUPPORTED_LANGUAGES_CODE = LANGUAGES.map(function (i) {
12567
- return i.code;
12568
- });
12566
+ var SUPPORTED_LANGUAGES_CODE = ["en-US", "en-GB", "ar", "es"];
12569
12567
 
12570
12568
  var resources = {
12571
12569
  "en-US": {
@@ -31965,20 +31963,44 @@ var TheHeaderDropdown = function TheHeaderDropdown(_ref) {
31965
31963
  })), t("log_out")))));
31966
31964
  };
31967
31965
 
31968
- var TheLanguageDropdown = function TheLanguageDropdown() {
31969
- var defaultLanguage = !!localStorage.getItem("language") ? localStorage.getItem("language") : navigator.language || DEFAULT_LANGUAGE_CODE;
31966
+ var getCookieValue = function getCookieValue(name) {
31967
+ var _document$cookie$matc;
31968
+
31969
+ return ((_document$cookie$matc = document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)')) === null || _document$cookie$matc === void 0 ? void 0 : _document$cookie$matc.pop()) || '';
31970
+ };
31971
+
31972
+ var apiGetLanguage = function apiGetLanguage() {
31973
+ return api.get(BASE_URL + "/api/language");
31974
+ };
31975
+
31976
+ var apiUpdateLanguage = function apiUpdateLanguage(lang) {
31977
+ return api.put(BASE_URL + "/api/language?lang=" + lang);
31978
+ };
31979
+
31980
+ var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
31981
+
31982
+ var useLanguages = function useLanguages() {
31970
31983
  var dispatch = reactRedux.useDispatch();
31971
31984
 
31972
31985
  var _useTranslation = reactI18next.useTranslation(),
31973
31986
  i18n = _useTranslation.i18n;
31974
31987
 
31975
- var _useState = React.useState(false),
31976
- dropdownOpen = _useState[0],
31977
- setDropdownOpen = _useState[1];
31988
+ var language = reactRedux.useSelector(function (state) {
31989
+ return state.common.language;
31990
+ });
31991
+ var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : language;
31992
+
31993
+ var _useState = React.useState([]),
31994
+ languageList = _useState[0],
31995
+ setLanguageList = _useState[1];
31978
31996
 
31979
- var _useState2 = React.useState(defaultLanguage),
31980
- language = _useState2[0],
31981
- setItemLanguage = _useState2[1];
31997
+ var _useState2 = React.useState(false),
31998
+ dropdownOpen = _useState2[0],
31999
+ setDropdownOpen = _useState2[1];
32000
+
32001
+ var _useState3 = React.useState(defaultLanguage),
32002
+ currentLang = _useState3[0],
32003
+ setCurrentLang = _useState3[1];
31982
32004
 
31983
32005
  var toggle = function toggle() {
31984
32006
  return setDropdownOpen(function (prevState) {
@@ -31987,25 +32009,87 @@ var TheLanguageDropdown = function TheLanguageDropdown() {
31987
32009
  };
31988
32010
 
31989
32011
  var changeLanguageApp = function changeLanguageApp(lang) {
31990
- if (!SUPPORTED_LANGUAGES_CODE.includes(lang)) lang = DEFAULT_LANGUAGE_CODE;
31991
- i18n.changeLanguage(lang);
31992
- localStorage.setItem("language", lang);
31993
- setItemLanguage(lang);
31994
- dispatch(setLanguage(lang));
32012
+ try {
32013
+ var _temp3 = function _temp3() {
32014
+ dispatch(setLoading(false));
32015
+ };
32016
+
32017
+ dispatch(setLoading(true));
32018
+
32019
+ var _temp4 = _catch(function () {
32020
+ return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
32021
+ i18n.changeLanguage(lang);
32022
+ setCurrentLang(lang);
32023
+ dispatch(setLanguage(lang));
32024
+ });
32025
+ }, function (err) {
32026
+ var _err$response, _err$response$data;
32027
+
32028
+ dispatch(setAlert({
32029
+ type: "danger",
32030
+ 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
32031
+ }));
32032
+ });
32033
+
32034
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
32035
+ } catch (e) {
32036
+ return Promise.reject(e);
32037
+ }
32038
+ };
32039
+
32040
+ var getListLanguage = function getListLanguage() {
32041
+ try {
32042
+ var _temp6 = _catch(function () {
32043
+ return Promise.resolve(apiGetLanguage()).then(function (res) {
32044
+ setLanguageList(res.data);
32045
+ });
32046
+ }, function (err) {
32047
+ var _err$response2, _err$response2$data;
32048
+
32049
+ dispatch(setAlert({
32050
+ type: "danger",
32051
+ 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
32052
+ }));
32053
+ });
32054
+
32055
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
32056
+ } catch (e) {
32057
+ return Promise.reject(e);
32058
+ }
32059
+ };
32060
+
32061
+ React.useEffect(function () {
32062
+ changeLanguageApp(currentLang);
32063
+ }, [currentLang]);
32064
+ React.useEffect(function () {
32065
+ getListLanguage();
32066
+ }, []);
32067
+ return {
32068
+ languageList: languageList,
32069
+ toggle: toggle,
32070
+ dropdownOpen: dropdownOpen,
32071
+ setCurrentLang: setCurrentLang,
32072
+ language: language
31995
32073
  };
32074
+ };
32075
+
32076
+ var TheLanguageDropdown = function TheLanguageDropdown() {
32077
+ var _useLanguages = useLanguages(),
32078
+ languageList = _useLanguages.languageList,
32079
+ toggle = _useLanguages.toggle,
32080
+ dropdownOpen = _useLanguages.dropdownOpen,
32081
+ setCurrentLang = _useLanguages.setCurrentLang,
32082
+ language = _useLanguages.language;
31996
32083
 
31997
32084
  var currentLanguage = React.useMemo(function () {
31998
- var currentLang = LANGUAGES.find(function (i) {
32085
+ var currentLang = languageList.find(function (i) {
31999
32086
  return i.code === language;
32000
32087
  });
32001
32088
  if (!currentLang) return null;
32002
32089
  return React__default.createElement(React__default.Fragment, null, React__default.createElement("img", {
32003
32090
  className: "mr-2 " + styles['dropdown-menu-flag'],
32004
32091
  src: "" + getStaticFileUrl(currentLang.image)
32005
- }), " ", currentLang.shortName);
32006
- }, [language]);
32007
- React.useEffect(function () {
32008
- changeLanguageApp(language);
32092
+ }), " ", currentLang.name);
32009
32093
  }, [language]);
32010
32094
  return React__default.createElement(reactstrap.Dropdown, {
32011
32095
  isOpen: dropdownOpen,
@@ -32027,12 +32111,12 @@ var TheLanguageDropdown = function TheLanguageDropdown() {
32027
32111
  }
32028
32112
  }))), React__default.createElement(reactstrap.DropdownMenu, {
32029
32113
  className: styles["dropdown-content-language"]
32030
- }, LANGUAGES.map(function (lang, index) {
32114
+ }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
32031
32115
  return React__default.createElement(reactstrap.DropdownItem, {
32032
32116
  key: lang.code,
32033
- className: styles["dropdown-change"] + " px-0 py-0 " + (index === LANGUAGES.length - 1 ? "pb-2" : "pt-2"),
32117
+ className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
32034
32118
  onClick: function onClick() {
32035
- return setItemLanguage(lang.code);
32119
+ return setCurrentLang(lang.code);
32036
32120
  }
32037
32121
  }, React__default.createElement("div", {
32038
32122
  className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (language == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
@@ -41166,6 +41250,7 @@ exports.editTab = editTab;
41166
41250
  exports.editorConfig = editorConfig;
41167
41251
  exports.firstCheckToken = firstCheckToken;
41168
41252
  exports.generateRandomString = generateRandomString;
41253
+ exports.getCookieValue = getCookieValue;
41169
41254
  exports.getFileUrl = getFileUrl;
41170
41255
  exports.getInfo = getInfo;
41171
41256
  exports.getStaticFileUrl = getStaticFileUrl;