mario-core 2.9.415-feedback → 2.9.416-feedback
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/containers/Login/views/block/BlockAssignTeacherByCode.d.ts +8 -0
- package/dist/containers/User/hooks/useCSVImportTab.d.ts +2 -0
- package/dist/index.js +605 -571
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +591 -557
- package/dist/index.modern.js.map +1 -1
- package/dist/services/csvImportService.d.ts +2 -0
- package/dist/utils/constants.d.ts +4 -0
- package/package.json +105 -105
package/dist/index.js
CHANGED
|
@@ -22167,6 +22167,12 @@ var LANGUAGES = [{
|
|
|
22167
22167
|
var DEFAULT_LANGUAGE_CODE = "en-US";
|
|
22168
22168
|
var SUPPORTED_LANGUAGES_CODE = ["en-US", "en-GB", "ar", "es", "zh"];
|
|
22169
22169
|
var screenWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
|
|
22170
|
+
var CsvImportType;
|
|
22171
|
+
|
|
22172
|
+
(function (CsvImportType) {
|
|
22173
|
+
CsvImportType[CsvImportType["Teacher"] = 0] = "Teacher";
|
|
22174
|
+
CsvImportType[CsvImportType["Admin"] = 1] = "Admin";
|
|
22175
|
+
})(CsvImportType || (CsvImportType = {}));
|
|
22170
22176
|
|
|
22171
22177
|
var resources$5 = {
|
|
22172
22178
|
"en-US": {
|
|
@@ -41880,212 +41886,6 @@ var TheHeaderDropdown = function TheHeaderDropdown(_ref) {
|
|
|
41880
41886
|
})), t("log_out")))));
|
|
41881
41887
|
};
|
|
41882
41888
|
|
|
41883
|
-
var apiGetLanguage = function apiGetLanguage() {
|
|
41884
|
-
return api.get(BASE_URL + "/api/language");
|
|
41885
|
-
};
|
|
41886
|
-
|
|
41887
|
-
var apiUpdateLanguage = function apiUpdateLanguage(lang) {
|
|
41888
|
-
return api.put(BASE_URL + "/api/language?lang=" + lang);
|
|
41889
|
-
};
|
|
41890
|
-
|
|
41891
|
-
var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
|
|
41892
|
-
|
|
41893
|
-
var useLanguages = function useLanguages() {
|
|
41894
|
-
var dispatch = reactRedux.useDispatch();
|
|
41895
|
-
|
|
41896
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
41897
|
-
i18n = _useTranslation.i18n;
|
|
41898
|
-
|
|
41899
|
-
var language = reactRedux.useSelector(function (state) {
|
|
41900
|
-
return state.common.language;
|
|
41901
|
-
});
|
|
41902
|
-
var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
|
|
41903
|
-
|
|
41904
|
-
var _useState = React.useState([]),
|
|
41905
|
-
languageList = _useState[0],
|
|
41906
|
-
setLanguageList = _useState[1];
|
|
41907
|
-
|
|
41908
|
-
var _useState2 = React.useState(false),
|
|
41909
|
-
dropdownOpen = _useState2[0],
|
|
41910
|
-
setDropdownOpen = _useState2[1];
|
|
41911
|
-
|
|
41912
|
-
var _useState3 = React.useState(defaultLanguage),
|
|
41913
|
-
currentLang = _useState3[0],
|
|
41914
|
-
setCurrentLang = _useState3[1];
|
|
41915
|
-
|
|
41916
|
-
var toggle = function toggle() {
|
|
41917
|
-
return setDropdownOpen(function (prevState) {
|
|
41918
|
-
return !prevState;
|
|
41919
|
-
});
|
|
41920
|
-
};
|
|
41921
|
-
|
|
41922
|
-
var changeLanguageApp = function changeLanguageApp(lang) {
|
|
41923
|
-
try {
|
|
41924
|
-
var _temp3 = function _temp3() {
|
|
41925
|
-
dispatch(setLoading(false));
|
|
41926
|
-
};
|
|
41927
|
-
|
|
41928
|
-
dispatch(setLoading(true));
|
|
41929
|
-
|
|
41930
|
-
var _temp4 = _catch(function () {
|
|
41931
|
-
return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
|
|
41932
|
-
i18n.changeLanguage(lang);
|
|
41933
|
-
setCurrentLang(lang);
|
|
41934
|
-
dispatch(setLanguage(lang));
|
|
41935
|
-
});
|
|
41936
|
-
}, function (err) {
|
|
41937
|
-
var _err$response, _err$response$data;
|
|
41938
|
-
|
|
41939
|
-
dispatch(setAlert({
|
|
41940
|
-
type: "danger",
|
|
41941
|
-
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
|
|
41942
|
-
}));
|
|
41943
|
-
});
|
|
41944
|
-
|
|
41945
|
-
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
|
|
41946
|
-
} catch (e) {
|
|
41947
|
-
return Promise.reject(e);
|
|
41948
|
-
}
|
|
41949
|
-
};
|
|
41950
|
-
|
|
41951
|
-
var getListLanguage = function getListLanguage() {
|
|
41952
|
-
try {
|
|
41953
|
-
var _temp6 = _catch(function () {
|
|
41954
|
-
return Promise.resolve(apiGetLanguage()).then(function (res) {
|
|
41955
|
-
setLanguageList(res.data);
|
|
41956
|
-
});
|
|
41957
|
-
}, function (err) {
|
|
41958
|
-
var _err$response2, _err$response2$data;
|
|
41959
|
-
|
|
41960
|
-
dispatch(setAlert({
|
|
41961
|
-
type: "danger",
|
|
41962
|
-
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
|
|
41963
|
-
}));
|
|
41964
|
-
});
|
|
41965
|
-
|
|
41966
|
-
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
41967
|
-
} catch (e) {
|
|
41968
|
-
return Promise.reject(e);
|
|
41969
|
-
}
|
|
41970
|
-
};
|
|
41971
|
-
|
|
41972
|
-
React.useEffect(function () {
|
|
41973
|
-
defaultLanguage != language && changeLanguageApp(defaultLanguage);
|
|
41974
|
-
getListLanguage();
|
|
41975
|
-
}, []);
|
|
41976
|
-
return {
|
|
41977
|
-
languageList: languageList,
|
|
41978
|
-
toggle: toggle,
|
|
41979
|
-
dropdownOpen: dropdownOpen,
|
|
41980
|
-
currentLang: currentLang,
|
|
41981
|
-
changeLanguageApp: changeLanguageApp,
|
|
41982
|
-
setCurrentLang: setCurrentLang
|
|
41983
|
-
};
|
|
41984
|
-
};
|
|
41985
|
-
|
|
41986
|
-
var TheLanguageDropdown = function TheLanguageDropdown() {
|
|
41987
|
-
var _useLanguages = useLanguages(),
|
|
41988
|
-
languageList = _useLanguages.languageList,
|
|
41989
|
-
toggle = _useLanguages.toggle,
|
|
41990
|
-
dropdownOpen = _useLanguages.dropdownOpen,
|
|
41991
|
-
currentLang = _useLanguages.currentLang,
|
|
41992
|
-
changeLanguageApp = _useLanguages.changeLanguageApp;
|
|
41993
|
-
|
|
41994
|
-
var currentLanguage = React.useMemo(function () {
|
|
41995
|
-
var current = languageList.find(function (i) {
|
|
41996
|
-
return i.code === currentLang;
|
|
41997
|
-
});
|
|
41998
|
-
if (!current) return null;
|
|
41999
|
-
return React__default.createElement(React__default.Fragment, null, React__default.createElement("img", {
|
|
42000
|
-
className: "mr-2 " + styles['dropdown-menu-flag'],
|
|
42001
|
-
src: "" + getStaticFileUrl(current.image)
|
|
42002
|
-
}), " ", current.name);
|
|
42003
|
-
}, [currentLang, languageList]);
|
|
42004
|
-
return React__default.createElement(reactstrap.Dropdown, {
|
|
42005
|
-
isOpen: dropdownOpen,
|
|
42006
|
-
toggle: toggle,
|
|
42007
|
-
className: "" + styles["dropdown-menu"]
|
|
42008
|
-
}, React__default.createElement(reactstrap.DropdownToggle, {
|
|
42009
|
-
className: styles["header-avatar"] + " d-flex align-items-center"
|
|
42010
|
-
}, React__default.createElement("span", {
|
|
42011
|
-
style: {
|
|
42012
|
-
color: "#000",
|
|
42013
|
-
textTransform: "capitalize",
|
|
42014
|
-
display: 'flex',
|
|
42015
|
-
alignItems: 'center'
|
|
42016
|
-
}
|
|
42017
|
-
}, currentLanguage, React__default.createElement(bs.BsChevronDown, {
|
|
42018
|
-
className: "ml-2",
|
|
42019
|
-
style: {
|
|
42020
|
-
fontSize: '10px'
|
|
42021
|
-
}
|
|
42022
|
-
}))), React__default.createElement(reactstrap.DropdownMenu, {
|
|
42023
|
-
className: styles["dropdown-content-language"]
|
|
42024
|
-
}, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
|
|
42025
|
-
return React__default.createElement(reactstrap.DropdownItem, {
|
|
42026
|
-
key: lang.code,
|
|
42027
|
-
className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
|
|
42028
|
-
onClick: function onClick() {
|
|
42029
|
-
return changeLanguageApp(lang.code);
|
|
42030
|
-
}
|
|
42031
|
-
}, React__default.createElement("div", {
|
|
42032
|
-
className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
|
|
42033
|
-
}, React__default.createElement("span", {
|
|
42034
|
-
className: "mr-2 d-flex hover-opacity"
|
|
42035
|
-
}, React__default.createElement("img", {
|
|
42036
|
-
style: {
|
|
42037
|
-
width: "30px",
|
|
42038
|
-
height: "25px",
|
|
42039
|
-
borderRadius: "5px"
|
|
42040
|
-
},
|
|
42041
|
-
src: getStaticFileUrl(lang.image)
|
|
42042
|
-
})), lang.name));
|
|
42043
|
-
})));
|
|
42044
|
-
};
|
|
42045
|
-
|
|
42046
|
-
var TheHeader = function TheHeader(_ref) {
|
|
42047
|
-
var onToggleModel = _ref.onToggleModel;
|
|
42048
|
-
var dispatch = reactRedux.useDispatch();
|
|
42049
|
-
var sidebarShow = reactRedux.useSelector(function (state) {
|
|
42050
|
-
return state.common.sidebarShow;
|
|
42051
|
-
});
|
|
42052
|
-
|
|
42053
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
42054
|
-
t = _useTranslation.t;
|
|
42055
|
-
|
|
42056
|
-
var toggleSidebarMobile = function toggleSidebarMobile() {
|
|
42057
|
-
var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
|
|
42058
|
-
dispatch(setSidebar(val));
|
|
42059
|
-
};
|
|
42060
|
-
|
|
42061
|
-
var isDistrict = window.location.host.includes("-district");
|
|
42062
|
-
return React__default.createElement(react.CHeader, {
|
|
42063
|
-
withSubheader: true,
|
|
42064
|
-
className: "d-flex align-items-center justify-content-end"
|
|
42065
|
-
}, React__default.createElement(react.CToggler, {
|
|
42066
|
-
inHeader: true,
|
|
42067
|
-
className: "ml-md-3 d-lg-none",
|
|
42068
|
-
onClick: toggleSidebarMobile
|
|
42069
|
-
}), React__default.createElement(react.CHeaderBrand, {
|
|
42070
|
-
className: "mx-auto flex-grow-1 d-lg-none",
|
|
42071
|
-
to: "/"
|
|
42072
|
-
}, React__default.createElement("img", {
|
|
42073
|
-
src: getStaticFileUrl(Images.LOGO_HEADER),
|
|
42074
|
-
className: styles["header-logo"]
|
|
42075
|
-
})), React__default.createElement(react.CHeaderNav, {
|
|
42076
|
-
className: "pr-3"
|
|
42077
|
-
}, React__default.createElement(TheLanguageDropdown, null), React__default.createElement("a", {
|
|
42078
|
-
className: "mr-3",
|
|
42079
|
-
style: {
|
|
42080
|
-
color: '#000'
|
|
42081
|
-
},
|
|
42082
|
-
href: '/privacy-policy',
|
|
42083
|
-
target: "blank"
|
|
42084
|
-
}, t("privacy_policy")), !isDistrict && React__default.createElement(NotificationButton, null), React__default.createElement(TheHeaderDropdown, {
|
|
42085
|
-
onToggleModel: onToggleModel
|
|
42086
|
-
})));
|
|
42087
|
-
};
|
|
42088
|
-
|
|
42089
41889
|
var TITLE$3 = "Not found";
|
|
42090
41890
|
|
|
42091
41891
|
var NotFound = function NotFound() {
|
|
@@ -42143,277 +41943,25 @@ var TheContent = function TheContent(_ref) {
|
|
|
42143
41943
|
|
|
42144
41944
|
var TheContent$1 = React__default.memo(TheContent);
|
|
42145
41945
|
|
|
42146
|
-
var
|
|
42147
|
-
|
|
42148
|
-
|
|
42149
|
-
|
|
42150
|
-
|
|
42151
|
-
left: 0,
|
|
42152
|
-
zIndex: 999999999,
|
|
42153
|
-
backgroundColor: "rgba(0, 0, 0, 0.4)",
|
|
42154
|
-
display: "flex",
|
|
42155
|
-
justifyContent: "center",
|
|
42156
|
-
alignItems: "center"
|
|
41946
|
+
var buttonTextStyle = {
|
|
41947
|
+
fontWeight: 500
|
|
41948
|
+
};
|
|
41949
|
+
var buttonStyle = {
|
|
41950
|
+
height: 38
|
|
42157
41951
|
};
|
|
42158
41952
|
|
|
42159
|
-
var
|
|
42160
|
-
var
|
|
42161
|
-
|
|
42162
|
-
|
|
42163
|
-
|
|
42164
|
-
|
|
42165
|
-
style:
|
|
42166
|
-
|
|
42167
|
-
|
|
42168
|
-
|
|
42169
|
-
|
|
42170
|
-
|
|
42171
|
-
}, "Loading..."))) : null;
|
|
42172
|
-
};
|
|
42173
|
-
|
|
42174
|
-
var firstCheckToken = function firstCheckToken() {
|
|
42175
|
-
return Promise.resolve(_catch(function () {
|
|
42176
|
-
var token = getAccessToken();
|
|
42177
|
-
return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
|
|
42178
|
-
return tokenStatus.data ? true : false;
|
|
42179
|
-
}) : false;
|
|
42180
|
-
}, function () {
|
|
42181
|
-
return false;
|
|
42182
|
-
}));
|
|
42183
|
-
};
|
|
42184
|
-
|
|
42185
|
-
var canAccess = function canAccess(userRoles, componentRoles) {
|
|
42186
|
-
if (!Array.isArray(userRoles)) {
|
|
42187
|
-
return false;
|
|
42188
|
-
}
|
|
42189
|
-
|
|
42190
|
-
if (Array.isArray(componentRoles)) {
|
|
42191
|
-
var intersects = userRoles.filter(function (i) {
|
|
42192
|
-
return componentRoles.includes(i);
|
|
42193
|
-
});
|
|
42194
|
-
return intersects.length > 0;
|
|
42195
|
-
}
|
|
42196
|
-
|
|
42197
|
-
return true;
|
|
42198
|
-
};
|
|
42199
|
-
|
|
42200
|
-
var ModelSelectRole = function ModelSelectRole(_ref) {
|
|
42201
|
-
var _handleUserRole;
|
|
42202
|
-
|
|
42203
|
-
var open = _ref.open,
|
|
42204
|
-
onToggleModel = _ref.onToggleModel;
|
|
42205
|
-
var dispatch = reactRedux.useDispatch();
|
|
42206
|
-
|
|
42207
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
42208
|
-
t = _useTranslation.t;
|
|
42209
|
-
|
|
42210
|
-
var history = reactRouterDom.useHistory();
|
|
42211
|
-
var pathname = window.location.pathname;
|
|
42212
|
-
var user = reactRedux.useSelector(function (state) {
|
|
42213
|
-
return state.common.user;
|
|
42214
|
-
});
|
|
42215
|
-
var roles = user === null || user === void 0 ? void 0 : user.roles;
|
|
42216
|
-
|
|
42217
|
-
var handleSelectUserRoles = function handleSelectUserRoles(roles) {
|
|
42218
|
-
dispatch(setLoading(true));
|
|
42219
|
-
var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
|
|
42220
|
-
dispatch(setUser(_extends({}, user, {
|
|
42221
|
-
roles: roleSelect
|
|
42222
|
-
})));
|
|
42223
|
-
localStorage.setItem("ROLES", roleSelect.toString());
|
|
42224
|
-
onToggleModel();
|
|
42225
|
-
|
|
42226
|
-
if (roles.includes("Parent")) {
|
|
42227
|
-
history.push("/parent");
|
|
42228
|
-
} else if (roles.includes("Admin")) {
|
|
42229
|
-
history.push("/admin/home");
|
|
42230
|
-
} else {
|
|
42231
|
-
pathname !== "/home" ? history.push("/home") : window.location.reload();
|
|
42232
|
-
}
|
|
42233
|
-
};
|
|
42234
|
-
|
|
42235
|
-
return React__default.createElement(reactstrap.Modal, {
|
|
42236
|
-
isOpen: open,
|
|
42237
|
-
toggle: function toggle() {
|
|
42238
|
-
return onToggleModel();
|
|
42239
|
-
},
|
|
42240
|
-
className: "" + styles["model-switch-roles"],
|
|
42241
|
-
centered: true
|
|
42242
|
-
}, React__default.createElement("p", {
|
|
42243
|
-
className: "" + styles["title"]
|
|
42244
|
-
}, t("continue_as")), React__default.createElement("div", null, (_handleUserRole = handleUserRole(user === null || user === void 0 ? void 0 : user.roles)) === null || _handleUserRole === void 0 ? void 0 : _handleUserRole.map(function (r) {
|
|
42245
|
-
return React__default.createElement("p", {
|
|
42246
|
-
key: r,
|
|
42247
|
-
className: styles["item-select-role"] + " " + styles[roles.includes("Teacher") && roles.includes("Assistant") && r === "Teacher/Assistant" && !roles.includes("Admin") || roles.includes("Admin") && r === "Admin" || roles.includes(r) && !roles.includes("Admin") ? "item-role-active" : ""],
|
|
42248
|
-
onClick: function onClick() {
|
|
42249
|
-
return handleSelectUserRoles([r]);
|
|
42250
|
-
}
|
|
42251
|
-
}, r == "SecondaryTeacher" ? "Support Teacher" : r);
|
|
42252
|
-
})));
|
|
42253
|
-
};
|
|
42254
|
-
|
|
42255
|
-
var TheLayout = function TheLayout(_ref) {
|
|
42256
|
-
var routes = _ref.routes,
|
|
42257
|
-
navigation = _ref.navigation;
|
|
42258
|
-
var history = reactRouterDom.useHistory();
|
|
42259
|
-
var dispatch = reactRedux.useDispatch();
|
|
42260
|
-
var user = reactRedux.useSelector(function (state) {
|
|
42261
|
-
return state.common.user;
|
|
42262
|
-
});
|
|
42263
|
-
var language = reactRedux.useSelector(function (state) {
|
|
42264
|
-
return state.common.language;
|
|
42265
|
-
});
|
|
42266
|
-
|
|
42267
|
-
var _useState = React.useState(false),
|
|
42268
|
-
openModelSelectRole = _useState[0],
|
|
42269
|
-
setOpenModelSelectRole = _useState[1];
|
|
42270
|
-
|
|
42271
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
42272
|
-
t = _useTranslation.t;
|
|
42273
|
-
|
|
42274
|
-
var location = reactRouterDom.useLocation();
|
|
42275
|
-
var isNotification = location.pathname.includes("notifications");
|
|
42276
|
-
var isDistrict = window.location.host.includes("-district");
|
|
42277
|
-
|
|
42278
|
-
var handleToggleModel = function handleToggleModel() {
|
|
42279
|
-
setOpenModelSelectRole(!openModelSelectRole);
|
|
42280
|
-
};
|
|
42281
|
-
|
|
42282
|
-
var authRoutes = React.useMemo(function () {
|
|
42283
|
-
return routes.filter(function (route) {
|
|
42284
|
-
return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
|
|
42285
|
-
}).filter(function (route) {
|
|
42286
|
-
return !!route.isDistrict === isDistrict;
|
|
42287
|
-
});
|
|
42288
|
-
}, [user, language]);
|
|
42289
|
-
var authNavigations = React.useMemo(function () {
|
|
42290
|
-
return navigation.map(function (item) {
|
|
42291
|
-
var _item$_children, _item$_children2;
|
|
42292
|
-
|
|
42293
|
-
return _extends({}, item, {
|
|
42294
|
-
name: t(item.name),
|
|
42295
|
-
_children: item !== null && item !== void 0 && (_item$_children = item._children) !== null && _item$_children !== void 0 && _item$_children.length ? item === null || item === void 0 ? void 0 : (_item$_children2 = item._children) === null || _item$_children2 === void 0 ? void 0 : _item$_children2.map(function (x) {
|
|
42296
|
-
return _extends({}, x, {
|
|
42297
|
-
name: t(x.name)
|
|
42298
|
-
});
|
|
42299
|
-
}) : undefined
|
|
42300
|
-
});
|
|
42301
|
-
}).filter(function (nav) {
|
|
42302
|
-
return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
|
|
42303
|
-
}).filter(function (nav) {
|
|
42304
|
-
return !!nav.isDistrict === isDistrict;
|
|
42305
|
-
});
|
|
42306
|
-
}, [user, language]);
|
|
42307
|
-
|
|
42308
|
-
var getInformationSetting = function getInformationSetting() {
|
|
42309
|
-
try {
|
|
42310
|
-
var _temp2 = _catch(function () {
|
|
42311
|
-
return Promise.resolve(getSchoolSettings()).then(function (res) {
|
|
42312
|
-
dispatch(setSandboxMode(res.data.isSandboxMode));
|
|
42313
|
-
});
|
|
42314
|
-
}, function (err) {
|
|
42315
|
-
console.error(err);
|
|
42316
|
-
});
|
|
42317
|
-
|
|
42318
|
-
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
42319
|
-
} catch (e) {
|
|
42320
|
-
return Promise.reject(e);
|
|
42321
|
-
}
|
|
42322
|
-
};
|
|
42323
|
-
|
|
42324
|
-
React.useEffect(function () {
|
|
42325
|
-
checkAuthentication();
|
|
42326
|
-
}, []);
|
|
42327
|
-
React.useEffect(function () {
|
|
42328
|
-
getInformationSetting();
|
|
42329
|
-
}, [location.pathname]);
|
|
42330
|
-
|
|
42331
|
-
var checkAuthentication = function checkAuthentication() {
|
|
42332
|
-
try {
|
|
42333
|
-
var _temp4 = _catch(function () {
|
|
42334
|
-
return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
|
|
42335
|
-
tokenStatus ? loadInfo() : resetAuth();
|
|
42336
|
-
});
|
|
42337
|
-
}, function () {
|
|
42338
|
-
resetAuth();
|
|
42339
|
-
});
|
|
42340
|
-
|
|
42341
|
-
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
|
42342
|
-
} catch (e) {
|
|
42343
|
-
return Promise.reject(e);
|
|
42344
|
-
}
|
|
42345
|
-
};
|
|
42346
|
-
|
|
42347
|
-
var loadInfo = function loadInfo() {
|
|
42348
|
-
try {
|
|
42349
|
-
var _temp6 = _catch(function () {
|
|
42350
|
-
return Promise.resolve(getInfo()).then(function (info) {
|
|
42351
|
-
var _info$data, _info$data$roles;
|
|
42352
|
-
|
|
42353
|
-
if (!info || !(info !== null && info !== void 0 && (_info$data = info.data) !== null && _info$data !== void 0 && (_info$data$roles = _info$data.roles) !== null && _info$data$roles !== void 0 && _info$data$roles.includes("Admin"))) {
|
|
42354
|
-
resetAuth();
|
|
42355
|
-
}
|
|
42356
|
-
|
|
42357
|
-
dispatch(setUser(info.data));
|
|
42358
|
-
});
|
|
42359
|
-
}, function () {
|
|
42360
|
-
resetAuth();
|
|
42361
|
-
});
|
|
42362
|
-
|
|
42363
|
-
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
42364
|
-
} catch (e) {
|
|
42365
|
-
return Promise.reject(e);
|
|
42366
|
-
}
|
|
42367
|
-
};
|
|
42368
|
-
|
|
42369
|
-
var resetAuth = function resetAuth() {
|
|
42370
|
-
localStorage.removeItem(ACCESS_TOKEN);
|
|
42371
|
-
sessionStorage.removeItem(ACCESS_TOKEN);
|
|
42372
|
-
localStorage.removeItem("ROLES");
|
|
42373
|
-
history.push("/");
|
|
42374
|
-
};
|
|
42375
|
-
|
|
42376
|
-
if (!user) {
|
|
42377
|
-
return React__default.createElement(Loading, null);
|
|
42378
|
-
}
|
|
42379
|
-
|
|
42380
|
-
return React__default.createElement("div", {
|
|
42381
|
-
className: "c-app c-default-layout"
|
|
42382
|
-
}, !isNotification && React__default.createElement(TheSidebar, {
|
|
42383
|
-
navigation: authNavigations
|
|
42384
|
-
}), React__default.createElement("div", {
|
|
42385
|
-
className: "c-wrapper"
|
|
42386
|
-
}, !isNotification && React__default.createElement(TheHeader, {
|
|
42387
|
-
onToggleModel: handleToggleModel
|
|
42388
|
-
}), React__default.createElement("div", {
|
|
42389
|
-
className: "c-body bg-white"
|
|
42390
|
-
}, React__default.createElement(TheContent$1, {
|
|
42391
|
-
routes: authRoutes
|
|
42392
|
-
}))), React__default.createElement(ModelSelectRole, {
|
|
42393
|
-
open: openModelSelectRole,
|
|
42394
|
-
onToggleModel: handleToggleModel
|
|
42395
|
-
}));
|
|
42396
|
-
};
|
|
42397
|
-
|
|
42398
|
-
var buttonTextStyle = {
|
|
42399
|
-
fontWeight: 500
|
|
42400
|
-
};
|
|
42401
|
-
var buttonStyle = {
|
|
42402
|
-
height: 38
|
|
42403
|
-
};
|
|
42404
|
-
|
|
42405
|
-
var AddButton = function AddButton(_ref) {
|
|
42406
|
-
var text = _ref.text,
|
|
42407
|
-
onClick = _ref.onClick;
|
|
42408
|
-
return React__default.createElement(reactstrap.Button, {
|
|
42409
|
-
onClick: onClick,
|
|
42410
|
-
color: 'success',
|
|
42411
|
-
style: buttonStyle,
|
|
42412
|
-
className: 'd-flex align-items-center'
|
|
42413
|
-
}, React__default.createElement(fa.FaPlus, null), React__default.createElement("span", {
|
|
42414
|
-
className: 'ml-2',
|
|
42415
|
-
style: buttonTextStyle
|
|
42416
|
-
}, text));
|
|
41953
|
+
var AddButton = function AddButton(_ref) {
|
|
41954
|
+
var text = _ref.text,
|
|
41955
|
+
onClick = _ref.onClick;
|
|
41956
|
+
return React__default.createElement(reactstrap.Button, {
|
|
41957
|
+
onClick: onClick,
|
|
41958
|
+
color: 'success',
|
|
41959
|
+
style: buttonStyle,
|
|
41960
|
+
className: 'd-flex align-items-center'
|
|
41961
|
+
}, React__default.createElement(fa.FaPlus, null), React__default.createElement("span", {
|
|
41962
|
+
className: 'ml-2',
|
|
41963
|
+
style: buttonTextStyle
|
|
41964
|
+
}, text));
|
|
42417
41965
|
};
|
|
42418
41966
|
|
|
42419
41967
|
var DeleteButtonIcon = function DeleteButtonIcon(_ref) {
|
|
@@ -46299,6 +45847,9 @@ var importUsersCSV = function importUsersCSV(formData) {
|
|
|
46299
45847
|
var downloadTemplateFileUser = function downloadTemplateFileUser() {
|
|
46300
45848
|
return api.get(CSV_FILE_TEACHER + "/download-template-file-user");
|
|
46301
45849
|
};
|
|
45850
|
+
var validateCsvApi = function validateCsvApi(formData, type) {
|
|
45851
|
+
return api.post(CSV_FILE_TEACHER + "/validate-csv-template-student/" + type, formData);
|
|
45852
|
+
};
|
|
46302
45853
|
|
|
46303
45854
|
var CSVType;
|
|
46304
45855
|
|
|
@@ -50095,7 +49646,7 @@ var style$2 = {
|
|
|
50095
49646
|
color: "#fff",
|
|
50096
49647
|
fontWeight: 500,
|
|
50097
49648
|
fontSize: "14px",
|
|
50098
|
-
height: "
|
|
49649
|
+
height: "56px",
|
|
50099
49650
|
justifyContent: "center"
|
|
50100
49651
|
};
|
|
50101
49652
|
|
|
@@ -50194,15 +49745,19 @@ var useCSVImportTab = function useCSVImportTab() {
|
|
|
50194
49745
|
studentDataFile = _useState5[0],
|
|
50195
49746
|
setStudentDataFile = _useState5[1];
|
|
50196
49747
|
|
|
49748
|
+
var _useState6 = React.useState([]),
|
|
49749
|
+
errorsValidate = _useState6[0],
|
|
49750
|
+
setErrorsValidate = _useState6[1];
|
|
49751
|
+
|
|
50197
49752
|
var isCheckDomainIBS = true;
|
|
50198
49753
|
|
|
50199
|
-
var
|
|
50200
|
-
defaultTeacher =
|
|
50201
|
-
setDefaultTeacher =
|
|
49754
|
+
var _useState7 = React.useState(0),
|
|
49755
|
+
defaultTeacher = _useState7[0],
|
|
49756
|
+
setDefaultTeacher = _useState7[1];
|
|
50202
49757
|
|
|
50203
|
-
var
|
|
50204
|
-
fileName =
|
|
50205
|
-
setFileName =
|
|
49758
|
+
var _useState8 = React.useState(""),
|
|
49759
|
+
fileName = _useState8[0],
|
|
49760
|
+
setFileName = _useState8[1];
|
|
50206
49761
|
|
|
50207
49762
|
React.useEffect(function () {
|
|
50208
49763
|
document.title = title$5;
|
|
@@ -50247,10 +49802,10 @@ var useCSVImportTab = function useCSVImportTab() {
|
|
|
50247
49802
|
|
|
50248
49803
|
var upload = React.useCallback(function (file) {
|
|
50249
49804
|
try {
|
|
50250
|
-
var
|
|
49805
|
+
var _exit3 = false;
|
|
50251
49806
|
|
|
50252
|
-
var _temp12 = function _temp12(
|
|
50253
|
-
if (
|
|
49807
|
+
var _temp12 = function _temp12(_result) {
|
|
49808
|
+
if (_exit3) return _result;
|
|
50254
49809
|
dispatch(setLoading(false));
|
|
50255
49810
|
var inputId = document.getElementById(id$1);
|
|
50256
49811
|
var input = document.getElementById('import-student');
|
|
@@ -50264,103 +49819,114 @@ var useCSVImportTab = function useCSVImportTab() {
|
|
|
50264
49819
|
dispatch(setLoading(true));
|
|
50265
49820
|
|
|
50266
49821
|
var _temp13 = _catch(function () {
|
|
50267
|
-
function _temp9(_result) {
|
|
50268
|
-
if (_exit2) return _result;
|
|
50269
|
-
dispatch(setAlert({
|
|
50270
|
-
type: "success",
|
|
50271
|
-
message: "Import CSV successfully"
|
|
50272
|
-
}));
|
|
50273
|
-
}
|
|
50274
|
-
|
|
50275
49822
|
var formData = new FormData();
|
|
50276
49823
|
formData.append("file", file, file.name);
|
|
49824
|
+
var typeOfCsv = type === CSVType$1.AllUser ? CsvImportType.Admin : CsvImportType.Teacher;
|
|
49825
|
+
return Promise.resolve(validateCsvApi(formData, typeOfCsv)).then(function (res) {
|
|
49826
|
+
var _exit2 = false;
|
|
50277
49827
|
|
|
50278
|
-
|
|
50279
|
-
|
|
50280
|
-
|
|
50281
|
-
|
|
50282
|
-
|
|
50283
|
-
|
|
50284
|
-
|
|
50285
|
-
var headerIndex = rows.findIndex(function (row) {
|
|
50286
|
-
return row.split(",").includes("First Name");
|
|
50287
|
-
});
|
|
50288
|
-
|
|
50289
|
-
if (headerIndex === 0) {
|
|
50290
|
-
throw new Error("Invalid CSV: Missing header row.");
|
|
50291
|
-
}
|
|
49828
|
+
function _temp9(_result2) {
|
|
49829
|
+
if (_exit2) return _result2;
|
|
49830
|
+
dispatch(setAlert({
|
|
49831
|
+
type: "success",
|
|
49832
|
+
message: "Import CSV successfully"
|
|
49833
|
+
}));
|
|
49834
|
+
}
|
|
50292
49835
|
|
|
50293
|
-
|
|
50294
|
-
|
|
50295
|
-
|
|
50296
|
-
|
|
50297
|
-
|
|
50298
|
-
|
|
50299
|
-
var dataRows = parsedData.data;
|
|
49836
|
+
if (res.data && res.data.length > 0) {
|
|
49837
|
+
setErrorsValidate(res.data);
|
|
49838
|
+
dispatch(setLoading(false));
|
|
49839
|
+
_exit3 = true;
|
|
49840
|
+
return;
|
|
49841
|
+
}
|
|
50300
49842
|
|
|
50301
|
-
|
|
50302
|
-
|
|
50303
|
-
|
|
50304
|
-
|
|
50305
|
-
|
|
50306
|
-
|
|
50307
|
-
|
|
50308
|
-
|
|
50309
|
-
|
|
49843
|
+
var _temp8 = function () {
|
|
49844
|
+
if (type == CSVType$1.AllUser) {
|
|
49845
|
+
return Promise.resolve(file.text()).then(function (fileTextRaw) {
|
|
49846
|
+
var fileText = fileTextRaw.trim();
|
|
49847
|
+
var rows = fileText.split("\n").map(function (row) {
|
|
49848
|
+
return row.trim();
|
|
49849
|
+
});
|
|
49850
|
+
var headerIndex = rows.findIndex(function (row) {
|
|
49851
|
+
return row.split(",").includes("First Name");
|
|
49852
|
+
});
|
|
50310
49853
|
|
|
50311
|
-
|
|
50312
|
-
|
|
49854
|
+
if (headerIndex === 0) {
|
|
49855
|
+
throw new Error("Invalid CSV: Missing header row.");
|
|
49856
|
+
}
|
|
50313
49857
|
|
|
50314
|
-
|
|
50315
|
-
var
|
|
50316
|
-
|
|
50317
|
-
|
|
50318
|
-
return (v != null ? v : "").toString().trim();
|
|
50319
|
-
});
|
|
49858
|
+
fileText = rows.slice(headerIndex).join("\n");
|
|
49859
|
+
var parsedData = Papa.parse(fileText, {
|
|
49860
|
+
header: true,
|
|
49861
|
+
skipEmptyLines: true
|
|
50320
49862
|
});
|
|
49863
|
+
var header = parsedData.meta.fields;
|
|
49864
|
+
var dataRows = parsedData.data;
|
|
50321
49865
|
|
|
50322
|
-
if (
|
|
50323
|
-
|
|
49866
|
+
if (!!!dataRows.length) {
|
|
49867
|
+
dispatch(setLoading(false));
|
|
49868
|
+
dispatch(setAlert({
|
|
49869
|
+
type: "danger",
|
|
49870
|
+
message: 'The file has no data or some column names are misformed.'
|
|
49871
|
+
}));
|
|
49872
|
+
_exit3 = true;
|
|
49873
|
+
return;
|
|
50324
49874
|
}
|
|
50325
49875
|
|
|
50326
|
-
|
|
50327
|
-
|
|
50328
|
-
});
|
|
50329
|
-
chunks.push(valuesOnly);
|
|
50330
|
-
}
|
|
49876
|
+
var chunkSize = 10;
|
|
49877
|
+
var chunks = [];
|
|
50331
49878
|
|
|
50332
|
-
|
|
50333
|
-
|
|
50334
|
-
|
|
50335
|
-
|
|
50336
|
-
|
|
50337
|
-
|
|
50338
|
-
})
|
|
50339
|
-
});
|
|
50340
|
-
});
|
|
49879
|
+
for (var _i = 0; _i < dataRows.length; _i += chunkSize) {
|
|
49880
|
+
var chunkData = dataRows.slice(_i, _i + chunkSize);
|
|
49881
|
+
var valuesOnly = chunkData.map(function (row) {
|
|
49882
|
+
return Object.values(row).map(function (v) {
|
|
49883
|
+
return (v != null ? v : "").toString().trim();
|
|
49884
|
+
});
|
|
49885
|
+
});
|
|
50341
49886
|
|
|
50342
|
-
|
|
50343
|
-
|
|
50344
|
-
} else {
|
|
50345
|
-
var _temp14 = function () {
|
|
50346
|
-
if (isCheckDomainIBS) {
|
|
50347
|
-
var _temp15 = function () {
|
|
50348
|
-
if (type == CSVType$1.ClassReflection) {
|
|
50349
|
-
return Promise.resolve(importClassReflectionCSV$1(formData)).then(function () {});
|
|
49887
|
+
if (header) {
|
|
49888
|
+
valuesOnly.unshift(header);
|
|
50350
49889
|
}
|
|
50351
|
-
}();
|
|
50352
49890
|
|
|
50353
|
-
|
|
50354
|
-
|
|
50355
|
-
|
|
50356
|
-
|
|
50357
|
-
|
|
49891
|
+
console.log({
|
|
49892
|
+
valuesOnly: valuesOnly
|
|
49893
|
+
});
|
|
49894
|
+
chunks.push(valuesOnly);
|
|
49895
|
+
}
|
|
50358
49896
|
|
|
50359
|
-
|
|
50360
|
-
|
|
50361
|
-
|
|
49897
|
+
var _temp5 = _forTo(chunks, function (i) {
|
|
49898
|
+
return Promise.resolve(importChunkFileUsers({
|
|
49899
|
+
chunks: chunks[i]
|
|
49900
|
+
})).then(function () {
|
|
49901
|
+
return Promise.resolve(new Promise(function (res) {
|
|
49902
|
+
return setTimeout(res, 500);
|
|
49903
|
+
})).then(function () {});
|
|
49904
|
+
});
|
|
49905
|
+
});
|
|
50362
49906
|
|
|
50363
|
-
|
|
49907
|
+
if (_temp5 && _temp5.then) return _temp5.then(function () {});
|
|
49908
|
+
});
|
|
49909
|
+
} else {
|
|
49910
|
+
var _temp14 = function () {
|
|
49911
|
+
if (isCheckDomainIBS) {
|
|
49912
|
+
var _temp15 = function () {
|
|
49913
|
+
if (type == CSVType$1.ClassReflection) {
|
|
49914
|
+
return Promise.resolve(importClassReflectionCSV$1(formData)).then(function () {});
|
|
49915
|
+
}
|
|
49916
|
+
}();
|
|
49917
|
+
|
|
49918
|
+
if (_temp15 && _temp15.then) return _temp15.then(function () {});
|
|
49919
|
+
} else {
|
|
49920
|
+
return Promise.resolve(importCSV$1(formData, type.toString())).then(function () {});
|
|
49921
|
+
}
|
|
49922
|
+
}();
|
|
49923
|
+
|
|
49924
|
+
if (_temp14 && _temp14.then) return _temp14.then(function () {});
|
|
49925
|
+
}
|
|
49926
|
+
}();
|
|
49927
|
+
|
|
49928
|
+
return _temp8 && _temp8.then ? _temp8.then(_temp9) : _temp9(_temp8);
|
|
49929
|
+
});
|
|
50364
49930
|
}, function (err) {
|
|
50365
49931
|
var _err$response, _err$response$data;
|
|
50366
49932
|
|
|
@@ -50515,7 +50081,9 @@ var useCSVImportTab = function useCSVImportTab() {
|
|
|
50515
50081
|
defaultTeacher: defaultTeacher,
|
|
50516
50082
|
fileName: fileName,
|
|
50517
50083
|
onStudentSubmit: onStudentSubmit,
|
|
50518
|
-
downloadTemplateUser: downloadTemplateUser
|
|
50084
|
+
downloadTemplateUser: downloadTemplateUser,
|
|
50085
|
+
errorsValidate: errorsValidate,
|
|
50086
|
+
setErrorsValidate: setErrorsValidate
|
|
50519
50087
|
};
|
|
50520
50088
|
};
|
|
50521
50089
|
|
|
@@ -50542,7 +50110,8 @@ var CSVImport = function CSVImport() {
|
|
|
50542
50110
|
setArrStudent = _useCSVImportTab.setArrStudent,
|
|
50543
50111
|
buttons = _useCSVImportTab.buttons,
|
|
50544
50112
|
upload = _useCSVImportTab.upload,
|
|
50545
|
-
downloadTemplateUser = _useCSVImportTab.downloadTemplateUser
|
|
50113
|
+
downloadTemplateUser = _useCSVImportTab.downloadTemplateUser,
|
|
50114
|
+
errorsValidate = _useCSVImportTab.errorsValidate;
|
|
50546
50115
|
|
|
50547
50116
|
var _useTranslation = reactI18next.useTranslation(),
|
|
50548
50117
|
t = _useTranslation.t;
|
|
@@ -50595,9 +50164,9 @@ var CSVImport = function CSVImport() {
|
|
|
50595
50164
|
accept: "text/csv"
|
|
50596
50165
|
}), React__default.createElement(reactstrap.Col, {
|
|
50597
50166
|
md: 6,
|
|
50598
|
-
className: "mb-2 d-flex
|
|
50167
|
+
className: "mb-2 d-flex mt-5"
|
|
50599
50168
|
}, React__default.createElement(reactstrap.Row, {
|
|
50600
|
-
className: "w-100"
|
|
50169
|
+
className: "w-100 flex-column"
|
|
50601
50170
|
}, React__default.createElement(reactstrap.Col, {
|
|
50602
50171
|
md: 12,
|
|
50603
50172
|
className: ""
|
|
@@ -50626,7 +50195,9 @@ var CSVImport = function CSVImport() {
|
|
|
50626
50195
|
})))), React__default.createElement(reactstrap.Col, {
|
|
50627
50196
|
md: 6,
|
|
50628
50197
|
className: "mb-2"
|
|
50629
|
-
}, React__default.createElement(reactstrap.Row,
|
|
50198
|
+
}, React__default.createElement(reactstrap.Row, {
|
|
50199
|
+
className: "flex-column"
|
|
50200
|
+
}, React__default.createElement(reactstrap.Col, {
|
|
50630
50201
|
md: 12,
|
|
50631
50202
|
className: "mb-2 text-right"
|
|
50632
50203
|
}, React__default.createElement(reactstrap.Button, {
|
|
@@ -50656,7 +50227,12 @@ var CSVImport = function CSVImport() {
|
|
|
50656
50227
|
return setType(button.type);
|
|
50657
50228
|
}
|
|
50658
50229
|
});
|
|
50659
|
-
}))))
|
|
50230
|
+
})), (errorsValidate === null || errorsValidate === void 0 ? void 0 : errorsValidate.length) > 0 && errorsValidate.map(function (error, index) {
|
|
50231
|
+
return React__default.createElement(ErrorHandler, {
|
|
50232
|
+
key: index,
|
|
50233
|
+
text: error
|
|
50234
|
+
});
|
|
50235
|
+
}))));
|
|
50660
50236
|
}))) );
|
|
50661
50237
|
};
|
|
50662
50238
|
|
|
@@ -51741,6 +51317,34 @@ var UserDetail = function UserDetail() {
|
|
|
51741
51317
|
});
|
|
51742
51318
|
};
|
|
51743
51319
|
|
|
51320
|
+
var loadingStyle = {
|
|
51321
|
+
minWidth: "100vw",
|
|
51322
|
+
minHeight: "100vh",
|
|
51323
|
+
position: "fixed",
|
|
51324
|
+
top: 0,
|
|
51325
|
+
left: 0,
|
|
51326
|
+
zIndex: 999999999,
|
|
51327
|
+
backgroundColor: "rgba(0, 0, 0, 0.4)",
|
|
51328
|
+
display: "flex",
|
|
51329
|
+
justifyContent: "center",
|
|
51330
|
+
alignItems: "center"
|
|
51331
|
+
};
|
|
51332
|
+
|
|
51333
|
+
var Loading = function Loading() {
|
|
51334
|
+
var isLoading = reactRedux.useSelector(function (state) {
|
|
51335
|
+
return state.common.isLoading;
|
|
51336
|
+
});
|
|
51337
|
+
localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
|
|
51338
|
+
return isLoading ? React__default.createElement("div", {
|
|
51339
|
+
style: loadingStyle
|
|
51340
|
+
}, React__default.createElement("div", {
|
|
51341
|
+
className: "spinner-border text-secondary",
|
|
51342
|
+
role: "status"
|
|
51343
|
+
}, React__default.createElement("span", {
|
|
51344
|
+
className: "sr-only"
|
|
51345
|
+
}, "Loading..."))) : null;
|
|
51346
|
+
};
|
|
51347
|
+
|
|
51744
51348
|
var ScrollToTop = function ScrollToTop() {
|
|
51745
51349
|
var _useLocation = reactRouterDom.useLocation(),
|
|
51746
51350
|
pathname = _useLocation.pathname;
|
|
@@ -54764,6 +54368,32 @@ var store = toolkit.configureStore({
|
|
|
54764
54368
|
}
|
|
54765
54369
|
});
|
|
54766
54370
|
|
|
54371
|
+
var firstCheckToken = function firstCheckToken() {
|
|
54372
|
+
return Promise.resolve(_catch(function () {
|
|
54373
|
+
var token = getAccessToken();
|
|
54374
|
+
return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
|
|
54375
|
+
return tokenStatus.data ? true : false;
|
|
54376
|
+
}) : false;
|
|
54377
|
+
}, function () {
|
|
54378
|
+
return false;
|
|
54379
|
+
}));
|
|
54380
|
+
};
|
|
54381
|
+
|
|
54382
|
+
var canAccess = function canAccess(userRoles, componentRoles) {
|
|
54383
|
+
if (!Array.isArray(userRoles)) {
|
|
54384
|
+
return false;
|
|
54385
|
+
}
|
|
54386
|
+
|
|
54387
|
+
if (Array.isArray(componentRoles)) {
|
|
54388
|
+
var intersects = userRoles.filter(function (i) {
|
|
54389
|
+
return componentRoles.includes(i);
|
|
54390
|
+
});
|
|
54391
|
+
return intersects.length > 0;
|
|
54392
|
+
}
|
|
54393
|
+
|
|
54394
|
+
return true;
|
|
54395
|
+
};
|
|
54396
|
+
|
|
54767
54397
|
var isInViewport = function isInViewport(el) {
|
|
54768
54398
|
var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
|
|
54769
54399
|
return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
|
|
@@ -54797,6 +54427,410 @@ var generateRandomString = (function () {
|
|
|
54797
54427
|
return (Math.random() + 1).toString(36).substring(7);
|
|
54798
54428
|
});
|
|
54799
54429
|
|
|
54430
|
+
var apiGetLanguage = function apiGetLanguage() {
|
|
54431
|
+
return api.get(BASE_URL + "/api/language");
|
|
54432
|
+
};
|
|
54433
|
+
|
|
54434
|
+
var apiUpdateLanguage = function apiUpdateLanguage(lang) {
|
|
54435
|
+
return api.put(BASE_URL + "/api/language?lang=" + lang);
|
|
54436
|
+
};
|
|
54437
|
+
|
|
54438
|
+
var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
|
|
54439
|
+
|
|
54440
|
+
var useLanguages = function useLanguages() {
|
|
54441
|
+
var dispatch = reactRedux.useDispatch();
|
|
54442
|
+
|
|
54443
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
54444
|
+
i18n = _useTranslation.i18n;
|
|
54445
|
+
|
|
54446
|
+
var language = reactRedux.useSelector(function (state) {
|
|
54447
|
+
return state.common.language;
|
|
54448
|
+
});
|
|
54449
|
+
var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
|
|
54450
|
+
|
|
54451
|
+
var _useState = React.useState([]),
|
|
54452
|
+
languageList = _useState[0],
|
|
54453
|
+
setLanguageList = _useState[1];
|
|
54454
|
+
|
|
54455
|
+
var _useState2 = React.useState(false),
|
|
54456
|
+
dropdownOpen = _useState2[0],
|
|
54457
|
+
setDropdownOpen = _useState2[1];
|
|
54458
|
+
|
|
54459
|
+
var _useState3 = React.useState(defaultLanguage),
|
|
54460
|
+
currentLang = _useState3[0],
|
|
54461
|
+
setCurrentLang = _useState3[1];
|
|
54462
|
+
|
|
54463
|
+
var toggle = function toggle() {
|
|
54464
|
+
return setDropdownOpen(function (prevState) {
|
|
54465
|
+
return !prevState;
|
|
54466
|
+
});
|
|
54467
|
+
};
|
|
54468
|
+
|
|
54469
|
+
var changeLanguageApp = function changeLanguageApp(lang) {
|
|
54470
|
+
try {
|
|
54471
|
+
var _temp3 = function _temp3() {
|
|
54472
|
+
dispatch(setLoading(false));
|
|
54473
|
+
};
|
|
54474
|
+
|
|
54475
|
+
dispatch(setLoading(true));
|
|
54476
|
+
|
|
54477
|
+
var _temp4 = _catch(function () {
|
|
54478
|
+
return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
|
|
54479
|
+
i18n.changeLanguage(lang);
|
|
54480
|
+
setCurrentLang(lang);
|
|
54481
|
+
dispatch(setLanguage(lang));
|
|
54482
|
+
});
|
|
54483
|
+
}, function (err) {
|
|
54484
|
+
var _err$response, _err$response$data;
|
|
54485
|
+
|
|
54486
|
+
dispatch(setAlert({
|
|
54487
|
+
type: "danger",
|
|
54488
|
+
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
|
|
54489
|
+
}));
|
|
54490
|
+
});
|
|
54491
|
+
|
|
54492
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
|
|
54493
|
+
} catch (e) {
|
|
54494
|
+
return Promise.reject(e);
|
|
54495
|
+
}
|
|
54496
|
+
};
|
|
54497
|
+
|
|
54498
|
+
var getListLanguage = function getListLanguage() {
|
|
54499
|
+
try {
|
|
54500
|
+
var _temp6 = _catch(function () {
|
|
54501
|
+
return Promise.resolve(apiGetLanguage()).then(function (res) {
|
|
54502
|
+
setLanguageList(res.data);
|
|
54503
|
+
});
|
|
54504
|
+
}, function (err) {
|
|
54505
|
+
var _err$response2, _err$response2$data;
|
|
54506
|
+
|
|
54507
|
+
dispatch(setAlert({
|
|
54508
|
+
type: "danger",
|
|
54509
|
+
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
|
|
54510
|
+
}));
|
|
54511
|
+
});
|
|
54512
|
+
|
|
54513
|
+
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
54514
|
+
} catch (e) {
|
|
54515
|
+
return Promise.reject(e);
|
|
54516
|
+
}
|
|
54517
|
+
};
|
|
54518
|
+
|
|
54519
|
+
React.useEffect(function () {
|
|
54520
|
+
defaultLanguage != language && changeLanguageApp(defaultLanguage);
|
|
54521
|
+
getListLanguage();
|
|
54522
|
+
}, []);
|
|
54523
|
+
return {
|
|
54524
|
+
languageList: languageList,
|
|
54525
|
+
toggle: toggle,
|
|
54526
|
+
dropdownOpen: dropdownOpen,
|
|
54527
|
+
currentLang: currentLang,
|
|
54528
|
+
changeLanguageApp: changeLanguageApp,
|
|
54529
|
+
setCurrentLang: setCurrentLang
|
|
54530
|
+
};
|
|
54531
|
+
};
|
|
54532
|
+
|
|
54533
|
+
var TheLanguageDropdown = function TheLanguageDropdown() {
|
|
54534
|
+
var _useLanguages = useLanguages(),
|
|
54535
|
+
languageList = _useLanguages.languageList,
|
|
54536
|
+
toggle = _useLanguages.toggle,
|
|
54537
|
+
dropdownOpen = _useLanguages.dropdownOpen,
|
|
54538
|
+
currentLang = _useLanguages.currentLang,
|
|
54539
|
+
changeLanguageApp = _useLanguages.changeLanguageApp;
|
|
54540
|
+
|
|
54541
|
+
var currentLanguage = React.useMemo(function () {
|
|
54542
|
+
var current = languageList.find(function (i) {
|
|
54543
|
+
return i.code === currentLang;
|
|
54544
|
+
});
|
|
54545
|
+
if (!current) return null;
|
|
54546
|
+
return React__default.createElement(React__default.Fragment, null, React__default.createElement("img", {
|
|
54547
|
+
className: "mr-2 " + styles['dropdown-menu-flag'],
|
|
54548
|
+
src: "" + getStaticFileUrl(current.image)
|
|
54549
|
+
}), " ", current.name);
|
|
54550
|
+
}, [currentLang, languageList]);
|
|
54551
|
+
return React__default.createElement(reactstrap.Dropdown, {
|
|
54552
|
+
isOpen: dropdownOpen,
|
|
54553
|
+
toggle: toggle,
|
|
54554
|
+
className: "" + styles["dropdown-menu"]
|
|
54555
|
+
}, React__default.createElement(reactstrap.DropdownToggle, {
|
|
54556
|
+
className: styles["header-avatar"] + " d-flex align-items-center"
|
|
54557
|
+
}, React__default.createElement("span", {
|
|
54558
|
+
style: {
|
|
54559
|
+
color: "#000",
|
|
54560
|
+
textTransform: "capitalize",
|
|
54561
|
+
display: 'flex',
|
|
54562
|
+
alignItems: 'center'
|
|
54563
|
+
}
|
|
54564
|
+
}, currentLanguage, React__default.createElement(bs.BsChevronDown, {
|
|
54565
|
+
className: "ml-2",
|
|
54566
|
+
style: {
|
|
54567
|
+
fontSize: '10px'
|
|
54568
|
+
}
|
|
54569
|
+
}))), React__default.createElement(reactstrap.DropdownMenu, {
|
|
54570
|
+
className: styles["dropdown-content-language"]
|
|
54571
|
+
}, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
|
|
54572
|
+
return React__default.createElement(reactstrap.DropdownItem, {
|
|
54573
|
+
key: lang.code,
|
|
54574
|
+
className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
|
|
54575
|
+
onClick: function onClick() {
|
|
54576
|
+
return changeLanguageApp(lang.code);
|
|
54577
|
+
}
|
|
54578
|
+
}, React__default.createElement("div", {
|
|
54579
|
+
className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
|
|
54580
|
+
}, React__default.createElement("span", {
|
|
54581
|
+
className: "mr-2 d-flex hover-opacity"
|
|
54582
|
+
}, React__default.createElement("img", {
|
|
54583
|
+
style: {
|
|
54584
|
+
width: "30px",
|
|
54585
|
+
height: "25px",
|
|
54586
|
+
borderRadius: "5px"
|
|
54587
|
+
},
|
|
54588
|
+
src: getStaticFileUrl(lang.image)
|
|
54589
|
+
})), lang.name));
|
|
54590
|
+
})));
|
|
54591
|
+
};
|
|
54592
|
+
|
|
54593
|
+
var TheHeader = function TheHeader(_ref) {
|
|
54594
|
+
var onToggleModel = _ref.onToggleModel;
|
|
54595
|
+
var dispatch = reactRedux.useDispatch();
|
|
54596
|
+
var sidebarShow = reactRedux.useSelector(function (state) {
|
|
54597
|
+
return state.common.sidebarShow;
|
|
54598
|
+
});
|
|
54599
|
+
|
|
54600
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
54601
|
+
t = _useTranslation.t;
|
|
54602
|
+
|
|
54603
|
+
var toggleSidebarMobile = function toggleSidebarMobile() {
|
|
54604
|
+
var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
|
|
54605
|
+
dispatch(setSidebar(val));
|
|
54606
|
+
};
|
|
54607
|
+
|
|
54608
|
+
var isDistrict = window.location.host.includes("-district");
|
|
54609
|
+
return React__default.createElement(react.CHeader, {
|
|
54610
|
+
withSubheader: true,
|
|
54611
|
+
className: "d-flex align-items-center justify-content-end"
|
|
54612
|
+
}, React__default.createElement(react.CToggler, {
|
|
54613
|
+
inHeader: true,
|
|
54614
|
+
className: "ml-md-3 d-lg-none",
|
|
54615
|
+
onClick: toggleSidebarMobile
|
|
54616
|
+
}), React__default.createElement(react.CHeaderBrand, {
|
|
54617
|
+
className: "mx-auto flex-grow-1 d-lg-none",
|
|
54618
|
+
to: "/"
|
|
54619
|
+
}, React__default.createElement("img", {
|
|
54620
|
+
src: getStaticFileUrl(Images.LOGO_HEADER),
|
|
54621
|
+
className: styles["header-logo"]
|
|
54622
|
+
})), React__default.createElement(react.CHeaderNav, {
|
|
54623
|
+
className: "pr-3"
|
|
54624
|
+
}, React__default.createElement(TheLanguageDropdown, null), React__default.createElement("a", {
|
|
54625
|
+
className: "mr-3",
|
|
54626
|
+
style: {
|
|
54627
|
+
color: '#000'
|
|
54628
|
+
},
|
|
54629
|
+
href: '/privacy-policy',
|
|
54630
|
+
target: "blank"
|
|
54631
|
+
}, t("privacy_policy")), !isDistrict && React__default.createElement(NotificationButton, null), React__default.createElement(TheHeaderDropdown, {
|
|
54632
|
+
onToggleModel: onToggleModel
|
|
54633
|
+
})));
|
|
54634
|
+
};
|
|
54635
|
+
|
|
54636
|
+
var ModelSelectRole = function ModelSelectRole(_ref) {
|
|
54637
|
+
var _handleUserRole;
|
|
54638
|
+
|
|
54639
|
+
var open = _ref.open,
|
|
54640
|
+
onToggleModel = _ref.onToggleModel;
|
|
54641
|
+
var dispatch = reactRedux.useDispatch();
|
|
54642
|
+
|
|
54643
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
54644
|
+
t = _useTranslation.t;
|
|
54645
|
+
|
|
54646
|
+
var history = reactRouterDom.useHistory();
|
|
54647
|
+
var pathname = window.location.pathname;
|
|
54648
|
+
var user = reactRedux.useSelector(function (state) {
|
|
54649
|
+
return state.common.user;
|
|
54650
|
+
});
|
|
54651
|
+
var roles = user === null || user === void 0 ? void 0 : user.roles;
|
|
54652
|
+
|
|
54653
|
+
var handleSelectUserRoles = function handleSelectUserRoles(roles) {
|
|
54654
|
+
dispatch(setLoading(true));
|
|
54655
|
+
var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
|
|
54656
|
+
dispatch(setUser(_extends({}, user, {
|
|
54657
|
+
roles: roleSelect
|
|
54658
|
+
})));
|
|
54659
|
+
localStorage.setItem("ROLES", roleSelect.toString());
|
|
54660
|
+
onToggleModel();
|
|
54661
|
+
|
|
54662
|
+
if (roles.includes("Parent")) {
|
|
54663
|
+
history.push("/parent");
|
|
54664
|
+
} else if (roles.includes("Admin")) {
|
|
54665
|
+
history.push("/admin/home");
|
|
54666
|
+
} else {
|
|
54667
|
+
pathname !== "/home" ? history.push("/home") : window.location.reload();
|
|
54668
|
+
}
|
|
54669
|
+
};
|
|
54670
|
+
|
|
54671
|
+
return React__default.createElement(reactstrap.Modal, {
|
|
54672
|
+
isOpen: open,
|
|
54673
|
+
toggle: function toggle() {
|
|
54674
|
+
return onToggleModel();
|
|
54675
|
+
},
|
|
54676
|
+
className: "" + styles["model-switch-roles"],
|
|
54677
|
+
centered: true
|
|
54678
|
+
}, React__default.createElement("p", {
|
|
54679
|
+
className: "" + styles["title"]
|
|
54680
|
+
}, t("continue_as")), React__default.createElement("div", null, (_handleUserRole = handleUserRole(user === null || user === void 0 ? void 0 : user.roles)) === null || _handleUserRole === void 0 ? void 0 : _handleUserRole.map(function (r) {
|
|
54681
|
+
return React__default.createElement("p", {
|
|
54682
|
+
key: r,
|
|
54683
|
+
className: styles["item-select-role"] + " " + styles[roles.includes("Teacher") && roles.includes("Assistant") && r === "Teacher/Assistant" && !roles.includes("Admin") || roles.includes("Admin") && r === "Admin" || roles.includes(r) && !roles.includes("Admin") ? "item-role-active" : ""],
|
|
54684
|
+
onClick: function onClick() {
|
|
54685
|
+
return handleSelectUserRoles([r]);
|
|
54686
|
+
}
|
|
54687
|
+
}, r == "SecondaryTeacher" ? "Support Teacher" : r);
|
|
54688
|
+
})));
|
|
54689
|
+
};
|
|
54690
|
+
|
|
54691
|
+
var TheLayout = function TheLayout(_ref) {
|
|
54692
|
+
var routes = _ref.routes,
|
|
54693
|
+
navigation = _ref.navigation;
|
|
54694
|
+
var history = reactRouterDom.useHistory();
|
|
54695
|
+
var dispatch = reactRedux.useDispatch();
|
|
54696
|
+
var user = reactRedux.useSelector(function (state) {
|
|
54697
|
+
return state.common.user;
|
|
54698
|
+
});
|
|
54699
|
+
var language = reactRedux.useSelector(function (state) {
|
|
54700
|
+
return state.common.language;
|
|
54701
|
+
});
|
|
54702
|
+
|
|
54703
|
+
var _useState = React.useState(false),
|
|
54704
|
+
openModelSelectRole = _useState[0],
|
|
54705
|
+
setOpenModelSelectRole = _useState[1];
|
|
54706
|
+
|
|
54707
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
54708
|
+
t = _useTranslation.t;
|
|
54709
|
+
|
|
54710
|
+
var location = reactRouterDom.useLocation();
|
|
54711
|
+
var isNotification = location.pathname.includes("notifications");
|
|
54712
|
+
var isDistrict = window.location.host.includes("-district");
|
|
54713
|
+
|
|
54714
|
+
var handleToggleModel = function handleToggleModel() {
|
|
54715
|
+
setOpenModelSelectRole(!openModelSelectRole);
|
|
54716
|
+
};
|
|
54717
|
+
|
|
54718
|
+
var authRoutes = React.useMemo(function () {
|
|
54719
|
+
return routes.filter(function (route) {
|
|
54720
|
+
return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
|
|
54721
|
+
}).filter(function (route) {
|
|
54722
|
+
return !!route.isDistrict === isDistrict;
|
|
54723
|
+
});
|
|
54724
|
+
}, [user, language]);
|
|
54725
|
+
var authNavigations = React.useMemo(function () {
|
|
54726
|
+
return navigation.map(function (item) {
|
|
54727
|
+
var _item$_children, _item$_children2;
|
|
54728
|
+
|
|
54729
|
+
return _extends({}, item, {
|
|
54730
|
+
name: t(item.name),
|
|
54731
|
+
_children: item !== null && item !== void 0 && (_item$_children = item._children) !== null && _item$_children !== void 0 && _item$_children.length ? item === null || item === void 0 ? void 0 : (_item$_children2 = item._children) === null || _item$_children2 === void 0 ? void 0 : _item$_children2.map(function (x) {
|
|
54732
|
+
return _extends({}, x, {
|
|
54733
|
+
name: t(x.name)
|
|
54734
|
+
});
|
|
54735
|
+
}) : undefined
|
|
54736
|
+
});
|
|
54737
|
+
}).filter(function (nav) {
|
|
54738
|
+
return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
|
|
54739
|
+
}).filter(function (nav) {
|
|
54740
|
+
return !!nav.isDistrict === isDistrict;
|
|
54741
|
+
});
|
|
54742
|
+
}, [user, language]);
|
|
54743
|
+
|
|
54744
|
+
var getInformationSetting = function getInformationSetting() {
|
|
54745
|
+
try {
|
|
54746
|
+
var _temp2 = _catch(function () {
|
|
54747
|
+
return Promise.resolve(getSchoolSettings()).then(function (res) {
|
|
54748
|
+
dispatch(setSandboxMode(res.data.isSandboxMode));
|
|
54749
|
+
});
|
|
54750
|
+
}, function (err) {
|
|
54751
|
+
console.error(err);
|
|
54752
|
+
});
|
|
54753
|
+
|
|
54754
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
54755
|
+
} catch (e) {
|
|
54756
|
+
return Promise.reject(e);
|
|
54757
|
+
}
|
|
54758
|
+
};
|
|
54759
|
+
|
|
54760
|
+
React.useEffect(function () {
|
|
54761
|
+
checkAuthentication();
|
|
54762
|
+
}, []);
|
|
54763
|
+
React.useEffect(function () {
|
|
54764
|
+
getInformationSetting();
|
|
54765
|
+
}, [location.pathname]);
|
|
54766
|
+
|
|
54767
|
+
var checkAuthentication = function checkAuthentication() {
|
|
54768
|
+
try {
|
|
54769
|
+
var _temp4 = _catch(function () {
|
|
54770
|
+
return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
|
|
54771
|
+
tokenStatus ? loadInfo() : resetAuth();
|
|
54772
|
+
});
|
|
54773
|
+
}, function () {
|
|
54774
|
+
resetAuth();
|
|
54775
|
+
});
|
|
54776
|
+
|
|
54777
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
|
54778
|
+
} catch (e) {
|
|
54779
|
+
return Promise.reject(e);
|
|
54780
|
+
}
|
|
54781
|
+
};
|
|
54782
|
+
|
|
54783
|
+
var loadInfo = function loadInfo() {
|
|
54784
|
+
try {
|
|
54785
|
+
var _temp6 = _catch(function () {
|
|
54786
|
+
return Promise.resolve(getInfo()).then(function (info) {
|
|
54787
|
+
var _info$data, _info$data$roles;
|
|
54788
|
+
|
|
54789
|
+
if (!info || !(info !== null && info !== void 0 && (_info$data = info.data) !== null && _info$data !== void 0 && (_info$data$roles = _info$data.roles) !== null && _info$data$roles !== void 0 && _info$data$roles.includes("Admin"))) {
|
|
54790
|
+
resetAuth();
|
|
54791
|
+
}
|
|
54792
|
+
|
|
54793
|
+
dispatch(setUser(info.data));
|
|
54794
|
+
});
|
|
54795
|
+
}, function () {
|
|
54796
|
+
resetAuth();
|
|
54797
|
+
});
|
|
54798
|
+
|
|
54799
|
+
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
54800
|
+
} catch (e) {
|
|
54801
|
+
return Promise.reject(e);
|
|
54802
|
+
}
|
|
54803
|
+
};
|
|
54804
|
+
|
|
54805
|
+
var resetAuth = function resetAuth() {
|
|
54806
|
+
localStorage.removeItem(ACCESS_TOKEN);
|
|
54807
|
+
sessionStorage.removeItem(ACCESS_TOKEN);
|
|
54808
|
+
localStorage.removeItem("ROLES");
|
|
54809
|
+
history.push("/");
|
|
54810
|
+
};
|
|
54811
|
+
|
|
54812
|
+
if (!user) {
|
|
54813
|
+
return React__default.createElement(Loading, null);
|
|
54814
|
+
}
|
|
54815
|
+
|
|
54816
|
+
return React__default.createElement("div", {
|
|
54817
|
+
className: "c-app c-default-layout"
|
|
54818
|
+
}, !isNotification && React__default.createElement(TheSidebar, {
|
|
54819
|
+
navigation: authNavigations
|
|
54820
|
+
}), React__default.createElement("div", {
|
|
54821
|
+
className: "c-wrapper"
|
|
54822
|
+
}, !isNotification && React__default.createElement(TheHeader, {
|
|
54823
|
+
onToggleModel: handleToggleModel
|
|
54824
|
+
}), React__default.createElement("div", {
|
|
54825
|
+
className: "c-body bg-white"
|
|
54826
|
+
}, React__default.createElement(TheContent$1, {
|
|
54827
|
+
routes: authRoutes
|
|
54828
|
+
}))), React__default.createElement(ModelSelectRole, {
|
|
54829
|
+
open: openModelSelectRole,
|
|
54830
|
+
onToggleModel: handleToggleModel
|
|
54831
|
+
}));
|
|
54832
|
+
};
|
|
54833
|
+
|
|
54800
54834
|
var amplitudeClient = amplitude;
|
|
54801
54835
|
|
|
54802
54836
|
Object.defineProperty(exports, 'I18nextProvider', {
|