mario-core 2.9.166-level → 2.9.168-level

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
@@ -30,10 +30,10 @@ var differenceInCalendarYears = _interopDefault(require('date-fns/differenceInCa
30
30
  var bi = require('react-icons/bi');
31
31
  var hi = require('react-icons/hi');
32
32
  var ai = require('react-icons/ai');
33
+ var CreatableSelect = _interopDefault(require('react-select/creatable'));
33
34
  var DatePicker = _interopDefault(require('react-datepicker'));
34
35
  var toDate = _interopDefault(require('date-fns/toDate'));
35
36
  var md = require('react-icons/md');
36
- var Creatable = _interopDefault(require('react-select/creatable'));
37
37
  var ReactNotification$1 = _interopDefault(require('react-notifications-component'));
38
38
  require('react-notifications-component/dist/theme.css');
39
39
  require('symbol-observable');
@@ -4293,7 +4293,7 @@ var ContentHomePage = function ContentHomePage(_ref) {
4293
4293
  })));
4294
4294
  };
4295
4295
 
4296
- var HOME_ADMIN = "/admin/user";
4296
+ var HOME_ADMIN = "/admin/users/user-list";
4297
4297
  var HOME_TEACHER = "/home";
4298
4298
  var HOME_STUDENT = "/home";
4299
4299
  var DASHBOARD_TITLE = "Dashboard";
@@ -7357,6 +7357,28 @@ var getRosterUserBySourcedIdApi = function getRosterUserBySourcedIdApi(sourcedId
7357
7357
  var syncRosterUsersApi = function syncRosterUsersApi() {
7358
7358
  return api.put(EDU_USER_URL + "/sync-roster-user");
7359
7359
  };
7360
+ var getAssignStudentApi = function getAssignStudentApi(filter) {
7361
+ return api.get(EDU_USER_URL + "/student-assign", {
7362
+ params: filter
7363
+ });
7364
+ };
7365
+ var getCounselors = function getCounselors() {
7366
+ return api.get(BASE_URL + "/api/counselor");
7367
+ };
7368
+ var getAssistants = function getAssistants() {
7369
+ return api.get(BASE_URL + "/api/assistant");
7370
+ };
7371
+ var getSecondaryTeachers = function getSecondaryTeachers() {
7372
+ return api.get(BASE_URL + "/api/secondaryTeacher");
7373
+ };
7374
+ var getTeachers = function getTeachers(filters) {
7375
+ return api.get(USER_URL$1 + "/all/teacher", {
7376
+ params: filters
7377
+ });
7378
+ };
7379
+ var assignStudentsApi = function assignStudentsApi(data) {
7380
+ return api.post(USER_URL$1 + "/student-assign", data);
7381
+ };
7360
7382
 
7361
7383
  var UserOrder;
7362
7384
 
@@ -7382,6 +7404,15 @@ var SearchBy;
7382
7404
  SearchBy[SearchBy["Status"] = 5] = "Status";
7383
7405
  })(SearchBy || (SearchBy = {}));
7384
7406
 
7407
+ var TeacherType;
7408
+
7409
+ (function (TeacherType) {
7410
+ TeacherType[TeacherType["Teacher"] = 0] = "Teacher";
7411
+ TeacherType[TeacherType["Assistant"] = 1] = "Assistant";
7412
+ TeacherType[TeacherType["Counselor"] = 2] = "Counselor";
7413
+ TeacherType[TeacherType["SecondaryTeacher"] = 3] = "SecondaryTeacher";
7414
+ })(TeacherType || (TeacherType = {}));
7415
+
7385
7416
  var _userOrders;
7386
7417
  var userOrders = (_userOrders = {}, _userOrders[UserOrder.Id] = "filter-id", _userOrders[UserOrder.Name] = "filter-name", _userOrders[UserOrder.Email] = "filter-email", _userOrders[UserOrder.Age] = "filter-age", _userOrders[UserOrder.Role] = "filter-role", _userOrders[UserOrder.Status] = "filter-status", _userOrders[UserOrder.CreatedAt] = "filter-createdAt", _userOrders[UserOrder.RosterUser] = "filter-roster", _userOrders);
7387
7418
  var UserColumns = [{
@@ -7463,6 +7494,12 @@ var DEFAULT_FILTER$1 = {
7463
7494
  currentPage: 1,
7464
7495
  pageSize: DEFAULT_PAGE_SIZE$1.value
7465
7496
  };
7497
+ var DEFAULT_STUDENT_FILTER = {
7498
+ searchString: "",
7499
+ currentPage: 1,
7500
+ pageSize: DEFAULT_PAGE_SIZE$1.value,
7501
+ isAssigned: false
7502
+ };
7466
7503
  var DEFAULT_FILTER_POPOVER = {
7467
7504
  currentPage: 1,
7468
7505
  pageSize: 200
@@ -8335,190 +8372,1070 @@ var useExportUsersCsv = function useExportUsersCsv() {
8335
8372
  dispatch(setLoading(false));
8336
8373
  };
8337
8374
 
8338
- dispatch(setLoading(true));
8375
+ dispatch(setLoading(true));
8376
+
8377
+ var _temp4 = _catch(function () {
8378
+ return Promise.resolve(getRosterUserExport(filters)).then(function (res) {
8379
+ var data = res.data;
8380
+ var encodedUri = convertDataExportUser(data);
8381
+ var link = document.createElement("a");
8382
+ link.href = encodedUri;
8383
+ link.download = schoolName + "_Users_Report.csv";
8384
+ link.click();
8385
+ });
8386
+ }, function (err) {
8387
+ var _err$response, _err$response$data;
8388
+
8389
+ dispatch(setAlert({
8390
+ type: "danger",
8391
+ 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
8392
+ }));
8393
+ });
8394
+
8395
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
8396
+ } catch (e) {
8397
+ return Promise.reject(e);
8398
+ }
8399
+ };
8400
+
8401
+ var convertDataExportUser = function convertDataExportUser(data) {
8402
+ var headers = "First Name,Last Name,Email,Phone,Age,Role,Active Status,Create Time,Roster Sourced Id,Roster Status,Roster Family Name,Roster Middle Name,Roster Given Name,Roster Email,Roster Role,Roster Grades\n";
8403
+ var content = data.map(function (user) {
8404
+ var _user$rosterUser, _user$rosterUser2, _user$rosterUser3, _user$rosterUser4, _user$rosterUser5, _user$rosterUser6, _user$rosterUser7;
8405
+
8406
+ var age = user.dateOfBirth !== DATE_MIN_VALUE ? dateFns.differenceInCalendarYears(moment().toDate(), moment.utc(user.dateOfBirth).local().toDate()) : "";
8407
+ return escapeCell(user.firstName) + "," + escapeCell(user.lastName) + "," + escapeCell(user.email) + "," + escapeCell(user.phoneNumber) + "," + age + "," + escapeCell(user.roles.join(", ").replace("SecondaryTeacher", "SupportTeacher")) + "," + (user.isActive ? "Active" : "Inactive") + "," + utcToLocalTime(user === null || user === void 0 ? void 0 : user.createTime, "yyyy-MM-DD HH:mm") + "," + escapeCell(user.sourcedId) + "," + escapeCell((_user$rosterUser = user.rosterUser) === null || _user$rosterUser === void 0 ? void 0 : _user$rosterUser.status) + "," + escapeCell((_user$rosterUser2 = user.rosterUser) === null || _user$rosterUser2 === void 0 ? void 0 : _user$rosterUser2.familyName) + "," + escapeCell((_user$rosterUser3 = user.rosterUser) === null || _user$rosterUser3 === void 0 ? void 0 : _user$rosterUser3.middleName) + "," + escapeCell((_user$rosterUser4 = user.rosterUser) === null || _user$rosterUser4 === void 0 ? void 0 : _user$rosterUser4.givenName) + "," + escapeCell((_user$rosterUser5 = user.rosterUser) === null || _user$rosterUser5 === void 0 ? void 0 : _user$rosterUser5.email) + "," + escapeCell((_user$rosterUser6 = user.rosterUser) === null || _user$rosterUser6 === void 0 ? void 0 : _user$rosterUser6.role) + "," + escapeCell((_user$rosterUser7 = user.rosterUser) === null || _user$rosterUser7 === void 0 ? void 0 : _user$rosterUser7.grades);
8408
+ }).join('\n');
8409
+ return "" + CSV_PREFIX + headers + encodeURIComponent(content);
8410
+ };
8411
+
8412
+ var escapeCell = function escapeCell(value) {
8413
+ if (!value) return "";
8414
+ return "\"" + value.replace(/"/g, '""').replaceAll(/\n/g, " ") + "\"";
8415
+ };
8416
+
8417
+ return {
8418
+ exportUsers: exportUsers
8419
+ };
8420
+ };
8421
+
8422
+ var buttonTextStyle$2 = {
8423
+ fontWeight: 500
8424
+ };
8425
+ var buttonStyle$2 = {
8426
+ height: 38
8427
+ };
8428
+ var header$2 = "User";
8429
+
8430
+ var UserList = function UserList() {
8431
+ var _useUserList = useUserList(),
8432
+ queryName = _useUserList.queryName,
8433
+ userList = _useUserList.userList,
8434
+ totalItems = _useUserList.totalItems,
8435
+ filters = _useUserList.filters,
8436
+ fullName = _useUserList.fullName,
8437
+ removeData = _useUserList.removeData,
8438
+ changeFilters = _useUserList.changeFilters,
8439
+ reDirectDetailPage = _useUserList.reDirectDetailPage,
8440
+ swicthUser = _useUserList.swicthUser,
8441
+ handleSyncRosterUsers = _useUserList.handleSyncRosterUsers,
8442
+ rosterUserInfo = _useUserList.rosterUserInfo;
8443
+
8444
+ var _useExportUsersCsv = useExportUsersCsv(),
8445
+ exportUsers = _useExportUsersCsv.exportUsers;
8446
+
8447
+ var _useTranslation = reactI18next.useTranslation(),
8448
+ t = _useTranslation.t;
8449
+
8450
+ var handleExportUsers = function handleExportUsers() {
8451
+ return exportUsers(filters);
8452
+ };
8453
+
8454
+ return React__default.createElement("div", {
8455
+ className: "fadeIn animated h-100 pt-3"
8456
+ }, React__default.createElement("h5", {
8457
+ className: "mb-2"
8458
+ }, t("" + header$2)), React__default.createElement(reactstrap.Row, {
8459
+ className: "my-2"
8460
+ }, React__default.createElement(reactstrap.Col, {
8461
+ md: 8
8462
+ }, React__default.createElement(SearchBoxContainer, {
8463
+ text: t("create_user"),
8464
+ onClick: function onClick() {
8465
+ return reDirectDetailPage();
8466
+ },
8467
+ initValue: !!queryName ? queryName : "",
8468
+ onSearch: function onSearch(searchString) {
8469
+ return changeFilters({
8470
+ searchString: searchString
8471
+ });
8472
+ },
8473
+ placeholder: t("type_something_to_search_by_user_name")
8474
+ })), React__default.createElement(reactstrap.Col, {
8475
+ md: 4,
8476
+ className: "d-flex justify-content-end align-items-center"
8477
+ }, t("total_of_users"), " : ", totalItems), React__default.createElement(reactstrap.Col, {
8478
+ md: 12,
8479
+ className: "d-flex justify-content-end my-2"
8480
+ }, React__default.createElement(SyncButtonIcon, {
8481
+ text: "Sync Roster users",
8482
+ onClick: handleSyncRosterUsers
8483
+ }), React__default.createElement("button", {
8484
+ className: "btn btn-success d-flex align-items-center border-0 p-0 ml-2",
8485
+ style: buttonStyle$2,
8486
+ onClick: handleExportUsers
8487
+ }, React__default.createElement("div", {
8488
+ className: "" + styles["button-icon"]
8489
+ }, React__default.createElement("img", {
8490
+ src: "images/export-icon.svg",
8491
+ alt: ""
8492
+ })), React__default.createElement("p", {
8493
+ className: styles["button-content"] + " mb-0",
8494
+ style: buttonTextStyle$2
8495
+ }, "Export to CSV")))), React__default.createElement(reactstrap.Row, {
8496
+ className: "mb-2"
8497
+ }, React__default.createElement(reactstrap.Col, {
8498
+ md: 12
8499
+ }, React__default.createElement("div", null, React__default.createElement(reactstrap.Table, {
8500
+ bordered: true,
8501
+ hover: true,
8502
+ striped: true,
8503
+ responsive: true,
8504
+ size: "sm"
8505
+ }, React__default.createElement("thead", null, React__default.createElement(TableHeader, {
8506
+ headers: UserColumns,
8507
+ filters: filters,
8508
+ fullName: fullName,
8509
+ onChangeFilters: changeFilters
8510
+ })), React__default.createElement("tbody", null, userList && userList.length > 0 && userList.map(function (record) {
8511
+ return React__default.createElement("tr", {
8512
+ key: record.id
8513
+ }, React__default.createElement("td", {
8514
+ className: "align-middle"
8515
+ }, React__default.createElement(LinkEditButton, {
8516
+ label: "" + record.fullName,
8517
+ onClick: function onClick() {
8518
+ return reDirectDetailPage(record.id);
8519
+ }
8520
+ })), React__default.createElement("td", {
8521
+ className: "align-middle"
8522
+ }, record.email), React__default.createElement("td", {
8523
+ className: "align-middle"
8524
+ }, record.dateOfBirth !== DATE_MIN_VALUE && differenceInCalendarYears(new Date(), new Date(record.dateOfBirth))), React__default.createElement("td", {
8525
+ className: "align-middle"
8526
+ }, !!record.roles && record.roles.map(function (role) {
8527
+ return role === "SecondaryTeacher" ? "SupportTeacher" : role;
8528
+ }).join(", ")), React__default.createElement("td", {
8529
+ className: "align-middle"
8530
+ }, record.isActive ? t("active") : t("inactive")), React__default.createElement("td", {
8531
+ className: "align-middle"
8532
+ }, utcToLocalTime(record === null || record === void 0 ? void 0 : record.createTime, "yyyy-MM-DD HH:mm")), React__default.createElement("td", null, rosterUserInfo(record)), React__default.createElement("td", {
8533
+ className: "text-center align-middle"
8534
+ }, React__default.createElement(fa.FaUsersCog, {
8535
+ style: {
8536
+ fontSize: "18px",
8537
+ marginRight: "10px",
8538
+ cursor: "pointer"
8539
+ },
8540
+ onClick: function onClick() {
8541
+ return swicthUser(record.id);
8542
+ }
8543
+ }), React__default.createElement(DeleteButtonIcon, {
8544
+ onClick: function onClick() {
8545
+ return removeData(record.id);
8546
+ }
8547
+ })));
8548
+ }), (!userList || !userList.length) && React__default.createElement("tr", null, React__default.createElement("td", {
8549
+ colSpan: 12,
8550
+ className: "p-0"
8551
+ }, React__default.createElement(EmptyDataAlert, {
8552
+ className: "mb-0",
8553
+ label: t("user")
8554
+ }))))))), React__default.createElement(reactstrap.Col, {
8555
+ md: 12
8556
+ }, React__default.createElement(CustomPagination, {
8557
+ filters: filters,
8558
+ totalRecordCount: totalItems,
8559
+ changePageSize: function changePageSize(pageSize) {
8560
+ return changeFilters({
8561
+ pageSize: pageSize
8562
+ });
8563
+ },
8564
+ changePage: function changePage(currentPage) {
8565
+ return changeFilters({
8566
+ currentPage: currentPage
8567
+ });
8568
+ }
8569
+ }))));
8570
+ };
8571
+
8572
+ var CustomTabs = function CustomTabs(props) {
8573
+ var history = reactRouterDom.useHistory();
8574
+ var location = reactRouterDom.useLocation();
8575
+ var pathname = location.pathname;
8576
+ var tabs = props.tabs,
8577
+ title = props.title;
8578
+
8579
+ var toggle = function toggle(path) {
8580
+ history.push(path);
8581
+ };
8582
+
8583
+ var renderContent = function renderContent() {
8584
+ var activeTab = tabs.map(function (t) {
8585
+ return t.path;
8586
+ }).indexOf(pathname);
8587
+
8588
+ if (activeTab === -1) {
8589
+ return React__default.createElement(NotFound, null);
8590
+ }
8591
+
8592
+ return React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
8593
+ md: 12
8594
+ }, React__default.createElement("h5", null, title)), React__default.createElement(reactstrap.Col, {
8595
+ xl: 12
8596
+ }, React__default.createElement(reactstrap.Nav, {
8597
+ tabs: true
8598
+ }, tabs.map(function (i) {
8599
+ return React__default.createElement(reactstrap.NavItem, {
8600
+ key: i.path
8601
+ }, React__default.createElement(reactstrap.NavLink, {
8602
+ className: (i.path === pathname ? "active" : "") + " cursor-pointer",
8603
+ onClick: function onClick() {
8604
+ toggle(i.path);
8605
+ }
8606
+ }, i.title));
8607
+ })), React__default.createElement(reactstrap.TabContent, {
8608
+ activeTab: pathname,
8609
+ className: "border-bottom-0 border-left-0 border-right-0"
8610
+ }, tabs.map(function (i) {
8611
+ return React__default.createElement(reactstrap.TabPane, {
8612
+ key: i.path,
8613
+ tabId: i.path
8614
+ }, React__default.createElement(reactRouterDom.Route, {
8615
+ path: i.path,
8616
+ exact: true,
8617
+ component: i.component
8618
+ }));
8619
+ }))));
8620
+ };
8621
+
8622
+ return React__default.createElement("div", {
8623
+ className: "animated fadeIn"
8624
+ }, renderContent());
8625
+ };
8626
+
8627
+ var TeacherSelector = function TeacherSelector(_ref) {
8628
+ var options = _ref.options,
8629
+ isDisabled = _ref.isDisabled,
8630
+ scrollBottom = _ref.scrollBottom,
8631
+ onCreateOption = _ref.onCreateOption,
8632
+ rest = _objectWithoutPropertiesLoose(_ref, ["options", "isDisabled", "scrollBottom", "onCreateOption"]);
8633
+
8634
+ var _useState = React.useState(),
8635
+ errorMessage = _useState[0],
8636
+ setErrorMessage = _useState[1];
8637
+
8638
+ var validateEmail = function validateEmail(email) {
8639
+ return String(email).toLowerCase().match(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
8640
+ };
8641
+
8642
+ var handleCreateTeacherOption = function handleCreateTeacherOption(newTeacherEmail) {
8643
+ if (!validateEmail(newTeacherEmail)) {
8644
+ setErrorMessage("Invalid email format for email: " + newTeacherEmail);
8645
+ return;
8646
+ } else {
8647
+ setErrorMessage(undefined);
8648
+ }
8649
+
8650
+ var newTeacher = {
8651
+ label: newTeacherEmail,
8652
+ value: -new Date().getTime()
8653
+ };
8654
+ onCreateOption === null || onCreateOption === void 0 ? void 0 : onCreateOption(newTeacher);
8655
+ };
8656
+
8657
+ var handleFocus = function handleFocus() {
8658
+ setErrorMessage(undefined);
8659
+ };
8660
+
8661
+ return React__default.createElement("div", {
8662
+ className: "w-100"
8663
+ }, React__default.createElement("div", {
8664
+ className: "w-100"
8665
+ }, React__default.createElement(CreatableSelect, Object.assign({
8666
+ isDisabled: isDisabled,
8667
+ options: options,
8668
+ menuPlacement: scrollBottom ? "top" : "auto",
8669
+ onCreateOption: handleCreateTeacherOption,
8670
+ onFocus: handleFocus
8671
+ }, rest))), !!errorMessage && React__default.createElement("p", {
8672
+ className: "text-danger mb-0 mt-1"
8673
+ }, errorMessage));
8674
+ };
8675
+
8676
+ var useAssignStudentList = function useAssignStudentList() {
8677
+ var dispatch = reactRedux.useDispatch();
8678
+
8679
+ var _useState = React.useState([]),
8680
+ userList = _useState[0],
8681
+ setUserList = _useState[1];
8682
+
8683
+ var _useState2 = React.useState(DEFAULT_STUDENT_FILTER),
8684
+ filters = _useState2[0],
8685
+ setFilters = _useState2[1];
8686
+
8687
+ var _useState3 = React.useState(0),
8688
+ totalItem = _useState3[0],
8689
+ setTotalItem = _useState3[1];
8690
+
8691
+ var _useState4 = React.useState(false),
8692
+ isCheckAll = _useState4[0],
8693
+ setIsCheckAll = _useState4[1];
8694
+
8695
+ var _useState5 = React.useState([]),
8696
+ isCheck = _useState5[0],
8697
+ setIsCheck = _useState5[1];
8698
+
8699
+ var changeFilters = function changeFilters(updatedFilters) {
8700
+ var newFilters = _extends({}, filters, updatedFilters);
8701
+
8702
+ if (!!newFilters.searchString && !!updatedFilters.searchString && updatedFilters.searchString != filters.searchString) {
8703
+ newFilters.currentPage = 1;
8704
+ }
8705
+
8706
+ setFilters(newFilters);
8707
+ };
8708
+
8709
+ var handelSort = React.useCallback(function (sortBy) {
8710
+ if (sortBy !== filters.sortBy) {
8711
+ changeFilters({
8712
+ sortBy: sortBy,
8713
+ orderBy: "ASC",
8714
+ currentPage: 1
8715
+ });
8716
+ } else {
8717
+ changeFilters({
8718
+ sortBy: sortBy,
8719
+ orderBy: filters.orderBy !== "DESC" ? "DESC" : "ASC",
8720
+ currentPage: 1
8721
+ });
8722
+ }
8723
+ }, [JSON.stringify(filters)]);
8724
+
8725
+ var getDataUserList = function getDataUserList() {
8726
+ try {
8727
+ var _temp3 = function _temp3() {
8728
+ dispatch(setLoading(false));
8729
+ };
8730
+
8731
+ dispatch(setLoading(true));
8732
+
8733
+ var _temp4 = _catch(function () {
8734
+ return Promise.resolve(getAssignStudentApi(filters)).then(function (res) {
8735
+ var _res$data, _res$data2;
8736
+
8737
+ setUserList(res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.items);
8738
+ setTotalItem(res === null || res === void 0 ? void 0 : (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.totalItems);
8739
+ });
8740
+ }, function (err) {
8741
+ var _err$response, _err$response$data;
8742
+
8743
+ dispatch(setAlert({
8744
+ type: "danger",
8745
+ 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
8746
+ }));
8747
+ });
8748
+
8749
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
8750
+ } catch (e) {
8751
+ return Promise.reject(e);
8752
+ }
8753
+ };
8754
+
8755
+ var handleSelectAll = function handleSelectAll() {
8756
+ setIsCheckAll(!isCheckAll);
8757
+ setIsCheck(userList.map(function (i) {
8758
+ return i.id;
8759
+ }));
8760
+
8761
+ if (isCheckAll) {
8762
+ setIsCheck([]);
8763
+ }
8764
+ };
8765
+
8766
+ var handleClickCheck = function handleClickCheck(e) {
8767
+ var _e$target = e.target,
8768
+ id = _e$target.id,
8769
+ checked = _e$target.checked;
8770
+ setIsCheck([].concat(isCheck, [id]));
8771
+
8772
+ if (!checked) {
8773
+ setIsCheck(isCheck.filter(function (item) {
8774
+ return item !== id;
8775
+ }));
8776
+ }
8777
+ };
8778
+
8779
+ var handleRetrievedData = React.useCallback(function () {
8780
+ if (filters.currentPage == 1) getDataUserList();else changeFilters({
8781
+ currentPage: 1
8782
+ });
8783
+ setIsCheck([]);
8784
+ setIsCheckAll(false);
8785
+ }, [JSON.stringify(filters)]);
8786
+ React.useEffect(function () {
8787
+ getDataUserList();
8788
+ }, [JSON.stringify(filters)]);
8789
+ React.useEffect(function () {
8790
+ document.title = "User | Assign student";
8791
+ }, []);
8792
+ return {
8793
+ handelSort: handelSort,
8794
+ handleRetrievedData: handleRetrievedData,
8795
+ totalItem: totalItem,
8796
+ userList: userList,
8797
+ filters: filters,
8798
+ changeFilters: changeFilters,
8799
+ handleSelectAll: handleSelectAll,
8800
+ handleClickCheck: handleClickCheck,
8801
+ isCheckAll: isCheckAll,
8802
+ isCheck: isCheck
8803
+ };
8804
+ };
8805
+
8806
+ var useCounselorList = function useCounselorList() {
8807
+ var dispatch = reactRedux.useDispatch();
8808
+
8809
+ var _useState = React.useState([]),
8810
+ counselorOptions = _useState[0],
8811
+ setCounselorOptions = _useState[1];
8812
+
8813
+ var _useState2 = React.useState(),
8814
+ selectedCounselors = _useState2[0],
8815
+ setSelectedCounselors = _useState2[1];
8816
+
8817
+ var getDataCounselors = function getDataCounselors() {
8818
+ try {
8819
+ var _temp2 = _catch(function () {
8820
+ return Promise.resolve(getCounselors()).then(function (res) {
8821
+ var _res$data$items$map, _res$data$items;
8822
+
8823
+ res.data.items && setCounselorOptions(((_res$data$items$map = (_res$data$items = res.data.items).map) === null || _res$data$items$map === void 0 ? void 0 : _res$data$items$map.call(_res$data$items, function (record) {
8824
+ return {
8825
+ label: record.email,
8826
+ value: record.id
8827
+ };
8828
+ })) || []);
8829
+ });
8830
+ }, function (err) {
8831
+ var _err$response, _err$response$data;
8832
+
8833
+ dispatch(setAlert({
8834
+ type: "danger",
8835
+ 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
8836
+ }));
8837
+ });
8838
+
8839
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
8840
+ } catch (e) {
8841
+ return Promise.reject(e);
8842
+ }
8843
+ };
8844
+
8845
+ var handleSelectCounselor = React.useCallback(function (counselorId, studentUserId) {
8846
+ var _extends2;
8847
+
8848
+ var selectedCounselor = counselorOptions.find(function (t) {
8849
+ return t.value === counselorId;
8850
+ });
8851
+ setSelectedCounselors(_extends({}, selectedCounselors, (_extends2 = {}, _extends2[studentUserId] = selectedCounselor, _extends2)));
8852
+ }, [JSON.stringify(selectedCounselors), JSON.stringify(counselorOptions)]);
8853
+ var handleCreateCounselorOption = React.useCallback(function (newCounselor, studentUserId) {
8854
+ var _extends3;
8855
+
8856
+ setCounselorOptions([].concat(counselorOptions, [newCounselor]));
8857
+ setSelectedCounselors(_extends({}, selectedCounselors, (_extends3 = {}, _extends3[studentUserId] = newCounselor, _extends3)));
8858
+ }, [JSON.stringify(counselorOptions), JSON.stringify(selectedCounselors)]);
8859
+ React.useEffect(function () {
8860
+ getDataCounselors();
8861
+ }, []);
8862
+ return {
8863
+ selectedCounselors: selectedCounselors,
8864
+ counselorOptions: counselorOptions,
8865
+ handleSelectCounselor: handleSelectCounselor,
8866
+ handleCreateCounselorOption: handleCreateCounselorOption,
8867
+ setSelectedCounselors: setSelectedCounselors
8868
+ };
8869
+ };
8870
+
8871
+ var useAssistantList = function useAssistantList() {
8872
+ var dispatch = reactRedux.useDispatch();
8873
+
8874
+ var _useState = React.useState([]),
8875
+ assistantOptions = _useState[0],
8876
+ setAssistantOptions = _useState[1];
8877
+
8878
+ var _useState2 = React.useState(),
8879
+ selectedAssistants = _useState2[0],
8880
+ setSelectedAssistants = _useState2[1];
8881
+
8882
+ var getDataAssistants = function getDataAssistants() {
8883
+ try {
8884
+ var _temp2 = _catch(function () {
8885
+ return Promise.resolve(getAssistants()).then(function (res) {
8886
+ var _res$data$items$map, _res$data$items;
8887
+
8888
+ res.data.items && setAssistantOptions(((_res$data$items$map = (_res$data$items = res.data.items).map) === null || _res$data$items$map === void 0 ? void 0 : _res$data$items$map.call(_res$data$items, function (record) {
8889
+ return {
8890
+ label: record.email,
8891
+ value: record.id
8892
+ };
8893
+ })) || []);
8894
+ });
8895
+ }, function (err) {
8896
+ var _err$response, _err$response$data;
8897
+
8898
+ dispatch(setAlert({
8899
+ type: "danger",
8900
+ 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
8901
+ }));
8902
+ });
8903
+
8904
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
8905
+ } catch (e) {
8906
+ return Promise.reject(e);
8907
+ }
8908
+ };
8909
+
8910
+ var handleSelectAssistant = React.useCallback(function (assistantId, studentUserId) {
8911
+ var _extends2;
8912
+
8913
+ var selectedAssistant = assistantOptions.find(function (t) {
8914
+ return t.value === assistantId;
8915
+ });
8916
+ setSelectedAssistants(_extends({}, selectedAssistants, (_extends2 = {}, _extends2[studentUserId] = selectedAssistant, _extends2)));
8917
+ }, [JSON.stringify(selectedAssistants), JSON.stringify(assistantOptions)]);
8918
+ var handleCreateAssistantOption = React.useCallback(function (newAssistant, studentUserId) {
8919
+ var _extends3;
8920
+
8921
+ setAssistantOptions([].concat(assistantOptions, [newAssistant]));
8922
+ setSelectedAssistants(_extends({}, selectedAssistants, (_extends3 = {}, _extends3[studentUserId] = newAssistant, _extends3)));
8923
+ }, [JSON.stringify(assistantOptions), JSON.stringify(selectedAssistants)]);
8924
+ React.useEffect(function () {
8925
+ getDataAssistants();
8926
+ }, []);
8927
+ return {
8928
+ selectedAssistants: selectedAssistants,
8929
+ assistantOptions: assistantOptions,
8930
+ handleSelectAssistant: handleSelectAssistant,
8931
+ handleCreateAssistantOption: handleCreateAssistantOption,
8932
+ setSelectedAssistants: setSelectedAssistants
8933
+ };
8934
+ };
8935
+
8936
+ var useSecondaryTeacherList = function useSecondaryTeacherList() {
8937
+ var dispatch = reactRedux.useDispatch();
8938
+
8939
+ var _useState = React.useState([]),
8940
+ secondaryTeacherOptions = _useState[0],
8941
+ setSecondaryTeacherOptions = _useState[1];
8942
+
8943
+ var _useState2 = React.useState(),
8944
+ selectedSecondaryTeachers = _useState2[0],
8945
+ setSelectedSecondaryTeachers = _useState2[1];
8946
+
8947
+ var getDataSecondaryTeachers = function getDataSecondaryTeachers() {
8948
+ try {
8949
+ var _temp2 = _catch(function () {
8950
+ return Promise.resolve(getSecondaryTeachers()).then(function (res) {
8951
+ var _res$data$items$map, _res$data$items;
8952
+
8953
+ res.data.items && setSecondaryTeacherOptions(((_res$data$items$map = (_res$data$items = res.data.items).map) === null || _res$data$items$map === void 0 ? void 0 : _res$data$items$map.call(_res$data$items, function (record) {
8954
+ return {
8955
+ label: record.email,
8956
+ value: record.id
8957
+ };
8958
+ })) || []);
8959
+ });
8960
+ }, function (err) {
8961
+ var _err$response, _err$response$data;
8962
+
8963
+ dispatch(setAlert({
8964
+ type: "danger",
8965
+ 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
8966
+ }));
8967
+ });
8968
+
8969
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
8970
+ } catch (e) {
8971
+ return Promise.reject(e);
8972
+ }
8973
+ };
8974
+
8975
+ var handleSelectSecondaryTeacher = React.useCallback(function (secondaryTeacherId, studentUserId) {
8976
+ var _extends2;
8977
+
8978
+ var selectedSecondaryTeacher = secondaryTeacherOptions.find(function (t) {
8979
+ return t.value === secondaryTeacherId;
8980
+ });
8981
+ setSelectedSecondaryTeachers(_extends({}, selectedSecondaryTeachers, (_extends2 = {}, _extends2[studentUserId] = selectedSecondaryTeacher, _extends2)));
8982
+ }, [JSON.stringify(selectedSecondaryTeachers), JSON.stringify(secondaryTeacherOptions)]);
8983
+ var handleCreateSecondaryTeacherOption = React.useCallback(function (newSecondaryTeacher, studentUserId) {
8984
+ var _extends3;
8985
+
8986
+ setSecondaryTeacherOptions([].concat(secondaryTeacherOptions, [newSecondaryTeacher]));
8987
+ setSelectedSecondaryTeachers(_extends({}, selectedSecondaryTeachers, (_extends3 = {}, _extends3[studentUserId] = newSecondaryTeacher, _extends3)));
8988
+ }, [JSON.stringify(secondaryTeacherOptions), JSON.stringify(selectedSecondaryTeachers)]);
8989
+ React.useEffect(function () {
8990
+ getDataSecondaryTeachers();
8991
+ }, []);
8992
+ return {
8993
+ selectedSecondaryTeachers: selectedSecondaryTeachers,
8994
+ secondaryTeacherOptions: secondaryTeacherOptions,
8995
+ handleSelectSecondaryTeacher: handleSelectSecondaryTeacher,
8996
+ handleCreateSecondaryTeacherOption: handleCreateSecondaryTeacherOption,
8997
+ setSelectedSecondaryTeachers: setSelectedSecondaryTeachers
8998
+ };
8999
+ };
9000
+
9001
+ var useTeacherList = function useTeacherList() {
9002
+ var dispatch = reactRedux.useDispatch();
9003
+
9004
+ var _useState = React.useState([]),
9005
+ teacherOptions = _useState[0],
9006
+ setTeacherOptions = _useState[1];
9007
+
9008
+ var _useState2 = React.useState(),
9009
+ selectedTeachers = _useState2[0],
9010
+ setSelectedTeachers = _useState2[1];
9011
+
9012
+ var getDataTeachers = function getDataTeachers() {
9013
+ try {
9014
+ var _temp2 = _catch(function () {
9015
+ return Promise.resolve(getTeachers({
9016
+ sortBy: "Email"
9017
+ })).then(function (res) {
9018
+ var _res$data$map, _res$data;
9019
+
9020
+ res.data && setTeacherOptions(((_res$data$map = (_res$data = res.data).map) === null || _res$data$map === void 0 ? void 0 : _res$data$map.call(_res$data, function (record) {
9021
+ return {
9022
+ label: record.email,
9023
+ value: record.id
9024
+ };
9025
+ })) || []);
9026
+ });
9027
+ }, function (err) {
9028
+ var _err$response, _err$response$data;
9029
+
9030
+ dispatch(setAlert({
9031
+ type: "danger",
9032
+ 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
9033
+ }));
9034
+ });
9035
+
9036
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
9037
+ } catch (e) {
9038
+ return Promise.reject(e);
9039
+ }
9040
+ };
9041
+
9042
+ var handleSelectTeacher = React.useCallback(function (teacherId, studentUserId) {
9043
+ var _extends2;
9044
+
9045
+ var selectedTeacher = teacherOptions.find(function (t) {
9046
+ return t.value === teacherId;
9047
+ });
9048
+ setSelectedTeachers(_extends({}, selectedTeachers, (_extends2 = {}, _extends2[studentUserId] = selectedTeacher, _extends2)));
9049
+ }, [JSON.stringify(selectedTeachers), JSON.stringify(teacherOptions)]);
9050
+ var handleCreateTeacherOption = React.useCallback(function (newTeacher, studentUserId) {
9051
+ var _extends3;
9052
+
9053
+ setTeacherOptions([].concat(teacherOptions, [newTeacher]));
9054
+ setSelectedTeachers(_extends({}, selectedTeachers, (_extends3 = {}, _extends3[studentUserId] = newTeacher, _extends3)));
9055
+ }, [JSON.stringify(teacherOptions), JSON.stringify(selectedTeachers)]);
9056
+ React.useEffect(function () {
9057
+ getDataTeachers();
9058
+ }, []);
9059
+ return {
9060
+ selectedTeachers: selectedTeachers,
9061
+ teacherOptions: teacherOptions,
9062
+ handleSelectTeacher: handleSelectTeacher,
9063
+ handleCreateTeacherOption: handleCreateTeacherOption,
9064
+ setSelectedTeachers: setSelectedTeachers
9065
+ };
9066
+ };
9067
+
9068
+ var useAssignStudent = function useAssignStudent(teacherSelected, assistantSelected, counselorSelected, secondaryTeacherSelected, callback) {
9069
+ var dispatch = reactRedux.useDispatch();
9070
+
9071
+ var assignStudents = function assignStudents(users) {
9072
+ try {
9073
+ var _temp3 = function _temp3() {
9074
+ dispatch(setLoading(false));
9075
+ };
9076
+
9077
+ dispatch(setLoading(true));
9078
+
9079
+ var _temp4 = _catch(function () {
9080
+ return Promise.resolve(assignStudentsApi(users)).then(function () {
9081
+ dispatch(setAlert({
9082
+ type: "success",
9083
+ message: "Create Successfully"
9084
+ }));
9085
+ callback === null || callback === void 0 ? void 0 : callback();
9086
+ });
9087
+ }, function (err) {
9088
+ var _err$response, _err$response$data;
9089
+
9090
+ dispatch(setAlert({
9091
+ type: "danger",
9092
+ 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
9093
+ }));
9094
+ });
9095
+
9096
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
9097
+ } catch (e) {
9098
+ return Promise.reject(e);
9099
+ }
9100
+ };
9101
+
9102
+ var handleAssignMultiStudent = React.useCallback(function (listUserIds) {
9103
+ if (listUserIds.length === 0) {
9104
+ dispatch(setAlert({
9105
+ type: "danger",
9106
+ message: "Not found selected student."
9107
+ }));
9108
+ return;
9109
+ }
9110
+
9111
+ var isMissingTeacher = listUserIds.some(function (i) {
9112
+ var teacher = teacherSelected === null || teacherSelected === void 0 ? void 0 : teacherSelected[i];
9113
+ var assistant = assistantSelected === null || assistantSelected === void 0 ? void 0 : assistantSelected[i];
9114
+ var counselor = counselorSelected === null || counselorSelected === void 0 ? void 0 : counselorSelected[i];
9115
+ var secondaryTeacher = secondaryTeacherSelected === null || secondaryTeacherSelected === void 0 ? void 0 : secondaryTeacherSelected[i];
9116
+ return !teacher && !assistant && !counselor && !secondaryTeacher;
9117
+ });
9118
+
9119
+ if (isMissingTeacher) {
9120
+ dispatch(setAlert({
9121
+ type: "danger",
9122
+ message: "Please select/add teacher for all selected student first."
9123
+ }));
9124
+ return;
9125
+ }
9126
+
9127
+ var users = listUserIds.map(function (i) {
9128
+ var teacher = teacherSelected === null || teacherSelected === void 0 ? void 0 : teacherSelected[i];
9129
+ var assistant = assistantSelected === null || assistantSelected === void 0 ? void 0 : assistantSelected[i];
9130
+ var counselor = counselorSelected === null || counselorSelected === void 0 ? void 0 : counselorSelected[i];
9131
+ var secondaryTeacher = secondaryTeacherSelected === null || secondaryTeacherSelected === void 0 ? void 0 : secondaryTeacherSelected[i];
9132
+ var value = {
9133
+ id: i
9134
+ };
9135
+
9136
+ if (!!teacher) {
9137
+ value.mainTeacherUserId = !!(teacher !== null && teacher !== void 0 && teacher.value) && typeof (teacher === null || teacher === void 0 ? void 0 : teacher.value) === 'string' ? teacher === null || teacher === void 0 ? void 0 : teacher.value : undefined;
9138
+ value.mainTeacherEmail = !!(teacher !== null && teacher !== void 0 && teacher.value) && typeof (teacher === null || teacher === void 0 ? void 0 : teacher.value) === 'number' ? teacher === null || teacher === void 0 ? void 0 : teacher.label : undefined;
9139
+ }
9140
+
9141
+ if (!!assistant) {
9142
+ value.assistantUserId = !!(assistant !== null && assistant !== void 0 && assistant.value) && typeof (assistant === null || assistant === void 0 ? void 0 : assistant.value) === 'string' ? assistant === null || assistant === void 0 ? void 0 : assistant.value : undefined;
9143
+ value.assistantEmail = !!(assistant !== null && assistant !== void 0 && assistant.value) && typeof (assistant === null || assistant === void 0 ? void 0 : assistant.value) === 'number' ? assistant === null || assistant === void 0 ? void 0 : assistant.label : undefined;
9144
+ }
8339
9145
 
8340
- var _temp4 = _catch(function () {
8341
- return Promise.resolve(getRosterUserExport(filters)).then(function (res) {
8342
- var data = res.data;
8343
- var encodedUri = convertDataExportUser(data);
8344
- var link = document.createElement("a");
8345
- link.href = encodedUri;
8346
- link.download = schoolName + "_Users_Report.csv";
8347
- link.click();
8348
- });
8349
- }, function (err) {
8350
- var _err$response, _err$response$data;
9146
+ if (!!counselor) {
9147
+ value.counselorUserId = !!(counselor !== null && counselor !== void 0 && counselor.value) && typeof (counselor === null || counselor === void 0 ? void 0 : counselor.value) === 'string' ? counselor === null || counselor === void 0 ? void 0 : counselor.value : undefined;
9148
+ value.counselorEmail = !!(counselor !== null && counselor !== void 0 && counselor.value) && typeof (counselor === null || counselor === void 0 ? void 0 : counselor.value) === 'number' ? counselor === null || counselor === void 0 ? void 0 : counselor.label : undefined;
9149
+ }
8351
9150
 
8352
- dispatch(setAlert({
8353
- type: "danger",
8354
- 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
8355
- }));
8356
- });
9151
+ if (!!secondaryTeacher) {
9152
+ value.secondaryTeacherUserId = !!(secondaryTeacher !== null && secondaryTeacher !== void 0 && secondaryTeacher.value) && typeof (secondaryTeacher === null || secondaryTeacher === void 0 ? void 0 : secondaryTeacher.value) === 'string' ? secondaryTeacher === null || secondaryTeacher === void 0 ? void 0 : secondaryTeacher.value : undefined;
9153
+ value.secondaryTeacherEmail = !!(secondaryTeacher !== null && secondaryTeacher !== void 0 && secondaryTeacher.value) && typeof (secondaryTeacher === null || secondaryTeacher === void 0 ? void 0 : secondaryTeacher.value) === 'number' ? secondaryTeacher === null || secondaryTeacher === void 0 ? void 0 : secondaryTeacher.label : undefined;
9154
+ }
8357
9155
 
8358
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
8359
- } catch (e) {
8360
- return Promise.reject(e);
9156
+ return value;
9157
+ });
9158
+ assignStudents([].concat(users));
9159
+ }, [JSON.stringify(teacherSelected), JSON.stringify(assistantSelected), JSON.stringify(counselorSelected), JSON.stringify(secondaryTeacherSelected)]);
9160
+ var handleAssignSingleStudent = React.useCallback(function (id) {
9161
+ var teacher = teacherSelected === null || teacherSelected === void 0 ? void 0 : teacherSelected[id];
9162
+ var assistant = assistantSelected === null || assistantSelected === void 0 ? void 0 : assistantSelected[id];
9163
+ var counselor = counselorSelected === null || counselorSelected === void 0 ? void 0 : counselorSelected[id];
9164
+ var secondaryTeacher = secondaryTeacherSelected === null || secondaryTeacherSelected === void 0 ? void 0 : secondaryTeacherSelected[id];
9165
+
9166
+ if (!teacher && !assistant && !counselor && !secondaryTeacher) {
9167
+ dispatch(setAlert({
9168
+ type: "danger",
9169
+ message: "Please select/add teacher for selected student first."
9170
+ }));
9171
+ return;
8361
9172
  }
8362
- };
8363
9173
 
8364
- var convertDataExportUser = function convertDataExportUser(data) {
8365
- var headers = "First Name,Last Name,Email,Phone,Age,Role,Active Status,Create Time,Roster Sourced Id,Roster Status,Roster Family Name,Roster Middle Name,Roster Given Name,Roster Email,Roster Role,Roster Grades\n";
8366
- var content = data.map(function (user) {
8367
- var _user$rosterUser, _user$rosterUser2, _user$rosterUser3, _user$rosterUser4, _user$rosterUser5, _user$rosterUser6, _user$rosterUser7;
9174
+ var studentRequest = {
9175
+ id: id
9176
+ };
8368
9177
 
8369
- var age = user.dateOfBirth !== DATE_MIN_VALUE ? dateFns.differenceInCalendarYears(moment().toDate(), moment.utc(user.dateOfBirth).local().toDate()) : "";
8370
- return escapeCell(user.firstName) + "," + escapeCell(user.lastName) + "," + escapeCell(user.email) + "," + escapeCell(user.phoneNumber) + "," + age + "," + escapeCell(user.roles.join(", ").replace("SecondaryTeacher", "SupportTeacher")) + "," + (user.isActive ? "Active" : "Inactive") + "," + utcToLocalTime(user === null || user === void 0 ? void 0 : user.createTime, "yyyy-MM-DD HH:mm") + "," + escapeCell(user.sourcedId) + "," + escapeCell((_user$rosterUser = user.rosterUser) === null || _user$rosterUser === void 0 ? void 0 : _user$rosterUser.status) + "," + escapeCell((_user$rosterUser2 = user.rosterUser) === null || _user$rosterUser2 === void 0 ? void 0 : _user$rosterUser2.familyName) + "," + escapeCell((_user$rosterUser3 = user.rosterUser) === null || _user$rosterUser3 === void 0 ? void 0 : _user$rosterUser3.middleName) + "," + escapeCell((_user$rosterUser4 = user.rosterUser) === null || _user$rosterUser4 === void 0 ? void 0 : _user$rosterUser4.givenName) + "," + escapeCell((_user$rosterUser5 = user.rosterUser) === null || _user$rosterUser5 === void 0 ? void 0 : _user$rosterUser5.email) + "," + escapeCell((_user$rosterUser6 = user.rosterUser) === null || _user$rosterUser6 === void 0 ? void 0 : _user$rosterUser6.role) + "," + escapeCell((_user$rosterUser7 = user.rosterUser) === null || _user$rosterUser7 === void 0 ? void 0 : _user$rosterUser7.grades);
8371
- }).join('\n');
8372
- return "" + CSV_PREFIX + headers + encodeURIComponent(content);
8373
- };
9178
+ if (!!teacher) {
9179
+ studentRequest.mainTeacherUserId = !!(teacher !== null && teacher !== void 0 && teacher.value) && typeof (teacher === null || teacher === void 0 ? void 0 : teacher.value) === 'string' ? teacher === null || teacher === void 0 ? void 0 : teacher.value : undefined;
9180
+ studentRequest.mainTeacherEmail = !!(teacher !== null && teacher !== void 0 && teacher.value) && typeof (teacher === null || teacher === void 0 ? void 0 : teacher.value) === 'number' ? teacher === null || teacher === void 0 ? void 0 : teacher.label : undefined;
9181
+ }
8374
9182
 
8375
- var escapeCell = function escapeCell(value) {
8376
- if (!value) return "";
8377
- return "\"" + value.replace(/"/g, '""').replaceAll(/\n/g, " ") + "\"";
8378
- };
9183
+ if (!!assistant) {
9184
+ studentRequest.assistantUserId = !!(assistant !== null && assistant !== void 0 && assistant.value) && typeof (assistant === null || assistant === void 0 ? void 0 : assistant.value) === 'string' ? assistant === null || assistant === void 0 ? void 0 : assistant.value : undefined;
9185
+ studentRequest.assistantEmail = !!(assistant !== null && assistant !== void 0 && assistant.value) && typeof (assistant === null || assistant === void 0 ? void 0 : assistant.value) === 'number' ? assistant === null || assistant === void 0 ? void 0 : assistant.label : undefined;
9186
+ }
9187
+
9188
+ if (!!counselor) {
9189
+ studentRequest.counselorUserId = !!(counselor !== null && counselor !== void 0 && counselor.value) && typeof (counselor === null || counselor === void 0 ? void 0 : counselor.value) === 'string' ? counselor === null || counselor === void 0 ? void 0 : counselor.value : undefined;
9190
+ studentRequest.counselorEmail = !!(counselor !== null && counselor !== void 0 && counselor.value) && typeof (counselor === null || counselor === void 0 ? void 0 : counselor.value) === 'number' ? counselor === null || counselor === void 0 ? void 0 : counselor.label : undefined;
9191
+ }
8379
9192
 
9193
+ if (!!secondaryTeacher) {
9194
+ studentRequest.secondaryTeacherUserId = !!(secondaryTeacher !== null && secondaryTeacher !== void 0 && secondaryTeacher.value) && typeof (secondaryTeacher === null || secondaryTeacher === void 0 ? void 0 : secondaryTeacher.value) === 'string' ? secondaryTeacher === null || secondaryTeacher === void 0 ? void 0 : secondaryTeacher.value : undefined;
9195
+ studentRequest.secondaryTeacherEmail = !!(secondaryTeacher !== null && secondaryTeacher !== void 0 && secondaryTeacher.value) && typeof (secondaryTeacher === null || secondaryTeacher === void 0 ? void 0 : secondaryTeacher.value) === 'number' ? secondaryTeacher === null || secondaryTeacher === void 0 ? void 0 : secondaryTeacher.label : undefined;
9196
+ }
9197
+
9198
+ assignStudents([studentRequest]);
9199
+ }, [JSON.stringify(teacherSelected), JSON.stringify(assistantSelected), JSON.stringify(counselorSelected), JSON.stringify(secondaryTeacherSelected)]);
8380
9200
  return {
8381
- exportUsers: exportUsers
9201
+ handleAssignSingleStudent: handleAssignSingleStudent,
9202
+ handleAssignMultiStudent: handleAssignMultiStudent
8382
9203
  };
8383
9204
  };
8384
9205
 
8385
- var buttonTextStyle$2 = {
8386
- fontWeight: 500
8387
- };
8388
- var buttonStyle$2 = {
8389
- height: 38
8390
- };
8391
- var header$2 = "User";
8392
-
8393
- var UserList = function UserList() {
8394
- var _useUserList = useUserList(),
8395
- queryName = _useUserList.queryName,
8396
- userList = _useUserList.userList,
8397
- totalItems = _useUserList.totalItems,
8398
- filters = _useUserList.filters,
8399
- fullName = _useUserList.fullName,
8400
- removeData = _useUserList.removeData,
8401
- changeFilters = _useUserList.changeFilters,
8402
- reDirectDetailPage = _useUserList.reDirectDetailPage,
8403
- swicthUser = _useUserList.swicthUser,
8404
- handleSyncRosterUsers = _useUserList.handleSyncRosterUsers,
8405
- rosterUserInfo = _useUserList.rosterUserInfo;
8406
-
8407
- var _useExportUsersCsv = useExportUsersCsv(),
8408
- exportUsers = _useExportUsersCsv.exportUsers;
8409
-
9206
+ var AssignStudentList = function AssignStudentList() {
8410
9207
  var _useTranslation = reactI18next.useTranslation(),
8411
9208
  t = _useTranslation.t;
8412
9209
 
8413
- var handleExportUsers = function handleExportUsers() {
8414
- return exportUsers(filters);
9210
+ var _useTeacherList = useTeacherList(),
9211
+ selectedTeachers = _useTeacherList.selectedTeachers,
9212
+ teacherOptions = _useTeacherList.teacherOptions,
9213
+ handleCreateTeacherOption = _useTeacherList.handleCreateTeacherOption,
9214
+ handleSelectTeacher = _useTeacherList.handleSelectTeacher,
9215
+ setSelectedTeachers = _useTeacherList.setSelectedTeachers;
9216
+
9217
+ var _useAssistantList = useAssistantList(),
9218
+ selectedAssistants = _useAssistantList.selectedAssistants,
9219
+ assistantOptions = _useAssistantList.assistantOptions,
9220
+ handleCreateAssistantOption = _useAssistantList.handleCreateAssistantOption,
9221
+ handleSelectAssistant = _useAssistantList.handleSelectAssistant,
9222
+ setSelectedAssistants = _useAssistantList.setSelectedAssistants;
9223
+
9224
+ var _useCounselorList = useCounselorList(),
9225
+ selectedCounselors = _useCounselorList.selectedCounselors,
9226
+ counselorOptions = _useCounselorList.counselorOptions,
9227
+ handleCreateCounselorOption = _useCounselorList.handleCreateCounselorOption,
9228
+ handleSelectCounselor = _useCounselorList.handleSelectCounselor,
9229
+ setSelectedCounselors = _useCounselorList.setSelectedCounselors;
9230
+
9231
+ var _useSecondaryTeacherL = useSecondaryTeacherList(),
9232
+ selectedSecondaryTeachers = _useSecondaryTeacherL.selectedSecondaryTeachers,
9233
+ secondaryTeacherOptions = _useSecondaryTeacherL.secondaryTeacherOptions,
9234
+ handleCreateSecondaryTeacherOption = _useSecondaryTeacherL.handleCreateSecondaryTeacherOption,
9235
+ handleSelectSecondaryTeacher = _useSecondaryTeacherL.handleSelectSecondaryTeacher,
9236
+ setSelectedSecondaryTeachers = _useSecondaryTeacherL.setSelectedSecondaryTeachers;
9237
+
9238
+ var _useAssignStudentList = useAssignStudentList(),
9239
+ isCheck = _useAssignStudentList.isCheck,
9240
+ isCheckAll = _useAssignStudentList.isCheckAll,
9241
+ userList = _useAssignStudentList.userList,
9242
+ filters = _useAssignStudentList.filters,
9243
+ totalItem = _useAssignStudentList.totalItem,
9244
+ handleClickCheck = _useAssignStudentList.handleClickCheck,
9245
+ handleSelectAll = _useAssignStudentList.handleSelectAll,
9246
+ changeFilters = _useAssignStudentList.changeFilters,
9247
+ handelSort = _useAssignStudentList.handelSort,
9248
+ handleRetrievedData = _useAssignStudentList.handleRetrievedData;
9249
+
9250
+ var handleResetData = function handleResetData() {
9251
+ handleRetrievedData();
9252
+ setSelectedTeachers(undefined);
9253
+ setSelectedAssistants(undefined);
9254
+ setSelectedCounselors(undefined);
9255
+ setSelectedSecondaryTeachers(undefined);
8415
9256
  };
8416
9257
 
9258
+ var _useAssignStudent = useAssignStudent(selectedTeachers, selectedAssistants, selectedCounselors, selectedSecondaryTeachers, handleResetData),
9259
+ handleAssignSingleStudent = _useAssignStudent.handleAssignSingleStudent,
9260
+ handleAssignMultiStudent = _useAssignStudent.handleAssignMultiStudent;
9261
+
8417
9262
  return React__default.createElement("div", {
8418
- className: "fadeIn animated h-100"
9263
+ className: "fadeIn animated"
8419
9264
  }, React__default.createElement("h5", {
8420
- className: "mb-2"
8421
- }, t("" + header$2)), React__default.createElement(reactstrap.Row, {
9265
+ className: "mt-4 mb-2"
9266
+ }, "Assign Student"), React__default.createElement(reactstrap.Row, {
8422
9267
  className: "my-2"
8423
9268
  }, React__default.createElement(reactstrap.Col, {
8424
9269
  md: 8
8425
- }, React__default.createElement(SearchBoxContainer, {
8426
- text: t("create_user"),
8427
- onClick: function onClick() {
8428
- return reDirectDetailPage();
8429
- },
8430
- initValue: !!queryName ? queryName : "",
9270
+ }, React__default.createElement(SearchBox$1, {
9271
+ initValue: (filters === null || filters === void 0 ? void 0 : filters.searchString) || "",
8431
9272
  onSearch: function onSearch(searchString) {
8432
9273
  return changeFilters({
8433
9274
  searchString: searchString
8434
9275
  });
8435
9276
  },
8436
- placeholder: t("type_something_to_search_by_user_name")
9277
+ placeholder: "Type something to search students"
8437
9278
  })), React__default.createElement(reactstrap.Col, {
8438
9279
  md: 4,
8439
9280
  className: "d-flex justify-content-end align-items-center"
8440
- }, t("total_of_users"), " : ", totalItems), React__default.createElement(reactstrap.Col, {
8441
- md: 12,
8442
- className: "d-flex justify-content-end my-2"
8443
- }, React__default.createElement(SyncButtonIcon, {
8444
- text: "Sync Roster users",
8445
- onClick: handleSyncRosterUsers
8446
- }), React__default.createElement("button", {
8447
- className: "btn btn-success d-flex align-items-center border-0 p-0 ml-2",
8448
- style: buttonStyle$2,
8449
- onClick: handleExportUsers
8450
- }, React__default.createElement("div", {
8451
- className: "" + styles["button-icon"]
8452
- }, React__default.createElement("img", {
8453
- src: "images/export-icon.svg",
8454
- alt: ""
8455
- })), React__default.createElement("p", {
8456
- className: styles["button-content"] + " mb-0",
8457
- style: buttonTextStyle$2
8458
- }, "Export to CSV")))), React__default.createElement(reactstrap.Row, {
9281
+ }, t("total_of_users"), ": ", totalItem)), React__default.createElement(reactstrap.Row, {
9282
+ className: "mb-2"
9283
+ }, React__default.createElement(reactstrap.Col, null, React__default.createElement(reactstrap.Button, {
9284
+ onClick: function onClick() {
9285
+ return handleAssignMultiStudent(isCheck);
9286
+ },
9287
+ color: "primary"
9288
+ }, "Assign for Selected Students"))), React__default.createElement(reactstrap.Row, {
8459
9289
  className: "mb-2"
8460
9290
  }, React__default.createElement(reactstrap.Col, {
8461
9291
  md: 12
8462
- }, React__default.createElement("div", null, React__default.createElement(reactstrap.Table, {
9292
+ }, !!userList && userList.length > 0 ? React__default.createElement("div", null, React__default.createElement(reactstrap.Table, {
8463
9293
  bordered: true,
8464
9294
  hover: true,
8465
9295
  striped: true,
8466
9296
  responsive: true,
8467
9297
  size: "sm"
8468
- }, React__default.createElement("thead", null, React__default.createElement(TableHeader, {
8469
- headers: UserColumns,
8470
- filters: filters,
8471
- fullName: fullName,
8472
- onChangeFilters: changeFilters
8473
- })), React__default.createElement("tbody", null, userList && userList.length > 0 && userList.map(function (record) {
9298
+ }, React__default.createElement("thead", null, React__default.createElement("tr", null, React__default.createElement("th", {
9299
+ className: "align-middle text-center"
9300
+ }, React__default.createElement("input", {
9301
+ type: "checkbox",
9302
+ onChange: handleSelectAll,
9303
+ checked: isCheckAll
9304
+ })), React__default.createElement("th", {
9305
+ className: "align-top " + styles["pointer"],
9306
+ onClick: function onClick() {
9307
+ return handelSort(UserOrder.Name);
9308
+ }
9309
+ }, "Student Name", filters.sortBy === UserOrder.Name && React__default.createElement(React__default.Fragment, null, filters.orderBy === "DESC" ? React__default.createElement(ai.AiOutlineSortDescending, {
9310
+ className: "ml-1"
9311
+ }) : React__default.createElement(ai.AiOutlineSortAscending, {
9312
+ className: "ml-1"
9313
+ }))), React__default.createElement("th", {
9314
+ className: "align-top " + styles["pointer"],
9315
+ onClick: function onClick() {
9316
+ return handelSort(UserOrder.Email);
9317
+ }
9318
+ }, "Student Email", filters.sortBy === UserOrder.Email && React__default.createElement(React__default.Fragment, null, filters.orderBy === "DESC" ? React__default.createElement(ai.AiOutlineSortDescending, {
9319
+ className: "ml-1"
9320
+ }) : React__default.createElement(ai.AiOutlineSortAscending, {
9321
+ className: "ml-1"
9322
+ }))), React__default.createElement("th", {
9323
+ style: {
9324
+ width: "15%"
9325
+ }
9326
+ }, t("teacher_email")), React__default.createElement("th", {
9327
+ style: {
9328
+ width: "15%"
9329
+ }
9330
+ }, "Assistant Email"), React__default.createElement("th", {
9331
+ style: {
9332
+ width: "15%"
9333
+ }
9334
+ }, "Counselor Email"), React__default.createElement("th", {
9335
+ style: {
9336
+ width: "15%"
9337
+ }
9338
+ }, "Support Teacher Email"), React__default.createElement("th", {
9339
+ className: "align-top"
9340
+ }, t("action")))), React__default.createElement("tbody", null, userList.map(function (item) {
8474
9341
  return React__default.createElement("tr", {
8475
- key: record.id
9342
+ key: item.id
8476
9343
  }, React__default.createElement("td", {
8477
- className: "align-middle"
8478
- }, React__default.createElement(LinkEditButton, {
8479
- label: "" + record.fullName,
8480
- onClick: function onClick() {
8481
- return reDirectDetailPage(record.id);
8482
- }
9344
+ className: "align-middle text-center"
9345
+ }, React__default.createElement("input", {
9346
+ id: item.id,
9347
+ type: "checkbox",
9348
+ onChange: handleClickCheck,
9349
+ checked: isCheck.includes(item.id)
8483
9350
  })), React__default.createElement("td", {
8484
9351
  className: "align-middle"
8485
- }, record.email), React__default.createElement("td", {
9352
+ }, item.fullName), React__default.createElement("td", {
8486
9353
  className: "align-middle"
8487
- }, record.dateOfBirth !== DATE_MIN_VALUE && differenceInCalendarYears(new Date(), new Date(record.dateOfBirth))), React__default.createElement("td", {
9354
+ }, item.email), React__default.createElement("td", {
8488
9355
  className: "align-middle"
8489
- }, !!record.roles && record.roles.map(function (role) {
8490
- return role === "SecondaryTeacher" ? "SupportTeacher" : role;
8491
- }).join(", ")), React__default.createElement("td", {
9356
+ }, !!item.mainTeacherEmail ? React__default.createElement(React__default.Fragment, null, React__default.createElement("p", {
9357
+ className: "mb-0"
9358
+ }, item.mainTeacherEmail), React__default.createElement("p", {
9359
+ className: "mb-0"
9360
+ }, item.mainTeacherName)) : React__default.createElement(TeacherSelector, {
9361
+ value: selectedTeachers === null || selectedTeachers === void 0 ? void 0 : selectedTeachers[item.id],
9362
+ options: teacherOptions,
9363
+ onChange: function onChange(e) {
9364
+ return handleSelectTeacher(e.value, item.id);
9365
+ },
9366
+ onCreateOption: function onCreateOption(value) {
9367
+ return handleCreateTeacherOption(value, item.id);
9368
+ },
9369
+ placeholder: t("select_teacher"),
9370
+ className: "flex-grow-1 mr-2"
9371
+ })), React__default.createElement("td", {
8492
9372
  className: "align-middle"
8493
- }, record.isActive ? t("active") : t("inactive")), React__default.createElement("td", {
9373
+ }, !!item.assistantEmail ? React__default.createElement(React__default.Fragment, null, React__default.createElement("p", {
9374
+ className: "mb-0"
9375
+ }, item.assistantEmail), React__default.createElement("p", {
9376
+ className: "mb-0"
9377
+ }, item.assistantName)) : React__default.createElement(TeacherSelector, {
9378
+ value: selectedAssistants === null || selectedAssistants === void 0 ? void 0 : selectedAssistants[item.id],
9379
+ options: assistantOptions,
9380
+ onChange: function onChange(e) {
9381
+ return handleSelectAssistant(e.value, item.id);
9382
+ },
9383
+ onCreateOption: function onCreateOption(value) {
9384
+ return handleCreateAssistantOption(value, item.id);
9385
+ },
9386
+ placeholder: t("select_assistant"),
9387
+ className: "flex-grow-1 mr-2"
9388
+ })), React__default.createElement("td", {
8494
9389
  className: "align-middle"
8495
- }, utcToLocalTime(record === null || record === void 0 ? void 0 : record.createTime, "yyyy-MM-DD HH:mm")), React__default.createElement("td", null, rosterUserInfo(record)), React__default.createElement("td", {
8496
- className: "text-center align-middle"
8497
- }, React__default.createElement(fa.FaUsersCog, {
8498
- style: {
8499
- fontSize: "18px",
8500
- marginRight: "10px",
8501
- cursor: "pointer"
9390
+ }, !!item.counselorEmail ? React__default.createElement(React__default.Fragment, null, React__default.createElement("p", {
9391
+ className: "mb-0"
9392
+ }, item.counselorEmail), React__default.createElement("p", {
9393
+ className: "mb-0"
9394
+ }, item.counselorName)) : React__default.createElement(TeacherSelector, {
9395
+ value: selectedCounselors === null || selectedCounselors === void 0 ? void 0 : selectedCounselors[item.id],
9396
+ options: counselorOptions,
9397
+ onChange: function onChange(e) {
9398
+ return handleSelectCounselor(e.value, item.id);
8502
9399
  },
9400
+ onCreateOption: function onCreateOption(value) {
9401
+ return handleCreateCounselorOption(value, item.id);
9402
+ },
9403
+ placeholder: t("select_counselor"),
9404
+ className: "flex-grow-1 mr-2"
9405
+ })), React__default.createElement("td", {
9406
+ className: "align-middle"
9407
+ }, !!item.secondaryTeacherEmail ? React__default.createElement(React__default.Fragment, null, React__default.createElement("p", {
9408
+ className: "mb-0"
9409
+ }, item.secondaryTeacherEmail), React__default.createElement("p", {
9410
+ className: "mb-0"
9411
+ }, item.secondaryTeacherName)) : React__default.createElement(TeacherSelector, {
9412
+ value: selectedSecondaryTeachers === null || selectedSecondaryTeachers === void 0 ? void 0 : selectedSecondaryTeachers[item.id],
9413
+ options: secondaryTeacherOptions,
9414
+ onChange: function onChange(e) {
9415
+ return handleSelectSecondaryTeacher(e.value, item.id);
9416
+ },
9417
+ onCreateOption: function onCreateOption(value) {
9418
+ return handleCreateSecondaryTeacherOption(value, item.id);
9419
+ },
9420
+ placeholder: t("select_support_teacher"),
9421
+ className: "flex-grow-1 mr-2"
9422
+ })), React__default.createElement("td", {
9423
+ className: "align-middle"
9424
+ }, React__default.createElement("div", {
9425
+ className: "d-flex"
9426
+ }, React__default.createElement(LinkEditButton, {
9427
+ label: "Assign",
8503
9428
  onClick: function onClick() {
8504
- return swicthUser(record.id);
8505
- }
8506
- }), React__default.createElement(DeleteButtonIcon, {
8507
- onClick: function onClick() {
8508
- return removeData(record.id);
9429
+ return handleAssignSingleStudent(item.id);
8509
9430
  }
8510
- })));
8511
- }), (!userList || !userList.length) && React__default.createElement("tr", null, React__default.createElement("td", {
8512
- colSpan: 12,
8513
- className: "p-0"
8514
- }, React__default.createElement(EmptyDataAlert, {
8515
- className: "mb-0",
8516
- label: t("user")
8517
- }))))))), React__default.createElement(reactstrap.Col, {
9431
+ }))));
9432
+ })))) : React__default.createElement(EmptyDataAlert, {
9433
+ label: "student"
9434
+ })), React__default.createElement(reactstrap.Col, {
8518
9435
  md: 12
8519
9436
  }, React__default.createElement(CustomPagination, {
8520
9437
  filters: filters,
8521
- totalRecordCount: totalItems,
9438
+ totalRecordCount: totalItem,
8522
9439
  changePageSize: function changePageSize(pageSize) {
8523
9440
  return changeFilters({
8524
9441
  pageSize: pageSize
@@ -8532,6 +9449,22 @@ var UserList = function UserList() {
8532
9449
  }))));
8533
9450
  };
8534
9451
 
9452
+ var tabs = [{
9453
+ path: "/admin/users/user-list",
9454
+ title: "User List",
9455
+ component: UserList
9456
+ }, {
9457
+ path: "/admin/users/assign-student",
9458
+ title: "Assign Student",
9459
+ component: AssignStudentList
9460
+ }];
9461
+
9462
+ var UserContainer = function UserContainer() {
9463
+ return React__default.createElement(CustomTabs, {
9464
+ tabs: tabs
9465
+ });
9466
+ };
9467
+
8535
9468
  var MAX_FILE_SIZE = 20097152;
8536
9469
 
8537
9470
  var UploadFileButton = function UploadFileButton(_ref) {
@@ -8626,7 +9559,7 @@ var initValue$3 = {
8626
9559
  isActive: true,
8627
9560
  profileImageFileName: ""
8628
9561
  };
8629
- var USER_LIST_URL = "/admin/user";
9562
+ var USER_LIST_URL = "/admin/users/user-list";
8630
9563
  var TITLE$8 = "User detail";
8631
9564
 
8632
9565
  var useUserDetail = function useUserDetail(id) {
@@ -9554,7 +10487,7 @@ var CreatableSelector = function CreatableSelector(props) {
9554
10487
  handleChange = props.handleChange,
9555
10488
  handleInputChange = props.handleInputChange,
9556
10489
  handleKeyDown = props.handleKeyDown;
9557
- return React__default.createElement(Creatable, {
10490
+ return React__default.createElement(CreatableSelect, {
9558
10491
  components: components,
9559
10492
  placeholder: placeholder || "Type something to create option",
9560
10493
  isClearable: true,
@@ -10277,61 +11210,6 @@ var NotificationList = function NotificationList() {
10277
11210
  }))));
10278
11211
  };
10279
11212
 
10280
- var CustomTabs = function CustomTabs(props) {
10281
- var history = reactRouterDom.useHistory();
10282
- var location = reactRouterDom.useLocation();
10283
- var pathname = location.pathname;
10284
- var tabs = props.tabs,
10285
- title = props.title;
10286
-
10287
- var toggle = function toggle(path) {
10288
- history.push(path);
10289
- };
10290
-
10291
- var renderContent = function renderContent() {
10292
- var activeTab = tabs.map(function (t) {
10293
- return t.path;
10294
- }).indexOf(pathname);
10295
-
10296
- if (activeTab === -1) {
10297
- return React__default.createElement(NotFound, null);
10298
- }
10299
-
10300
- return React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
10301
- md: 12
10302
- }, React__default.createElement("h5", null, title)), React__default.createElement(reactstrap.Col, {
10303
- xl: 12
10304
- }, React__default.createElement(reactstrap.Nav, {
10305
- tabs: true
10306
- }, tabs.map(function (i) {
10307
- return React__default.createElement(reactstrap.NavItem, {
10308
- key: i.path
10309
- }, React__default.createElement(reactstrap.NavLink, {
10310
- className: (i.path === pathname ? "active" : "") + " cursor-pointer",
10311
- onClick: function onClick() {
10312
- toggle(i.path);
10313
- }
10314
- }, i.title));
10315
- })), React__default.createElement(reactstrap.TabContent, {
10316
- activeTab: pathname,
10317
- className: "border-bottom-0 border-left-0 border-right-0"
10318
- }, tabs.map(function (i) {
10319
- return React__default.createElement(reactstrap.TabPane, {
10320
- key: i.path,
10321
- tabId: i.path
10322
- }, React__default.createElement(reactRouterDom.Route, {
10323
- path: i.path,
10324
- exact: true,
10325
- component: i.component
10326
- }));
10327
- }))));
10328
- };
10329
-
10330
- return React__default.createElement("div", {
10331
- className: "animated fadeIn"
10332
- }, renderContent());
10333
- };
10334
-
10335
11213
  var CommonAlert = function CommonAlert() {
10336
11214
  var _alert$message2;
10337
11215
 
@@ -12495,6 +13373,7 @@ exports.TheContent = TheContent$1;
12495
13373
  exports.TheLayout = TheLayout;
12496
13374
  exports.ToggleButton = ToggleButton;
12497
13375
  exports.UploadFileButton = UploadFileButton;
13376
+ exports.UserContainer = UserContainer;
12498
13377
  exports.UserDetail = UserDetail;
12499
13378
  exports.UserList = UserList;
12500
13379
  exports.addTab = addTab;