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