mario-core 2.9.155-level → 2.9.157-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.
@@ -1,3 +1,13 @@
1
1
  export declare type RosterStudent = {
2
- sourceId: string;
2
+ sourcedId: string;
3
+ givenName: string;
4
+ middleName: string;
5
+ familyName: string;
6
+ email: string;
7
+ grades: string;
8
+ role: string;
9
+ };
10
+ export declare type Option = {
11
+ label: string;
12
+ value: string;
3
13
  };
@@ -8,6 +8,7 @@ declare type UserDetail = {
8
8
  roles: string[];
9
9
  isActive: boolean;
10
10
  profileImageFileName: string;
11
+ sourcedId?: string;
11
12
  };
12
13
  declare const useUserDetail: (id?: string | undefined) => {
13
14
  userDetail: UserDetail;
@@ -8,5 +8,7 @@ declare const useUserList: () => {
8
8
  changeFilters: (updatedFilters: any) => void;
9
9
  reDirectDetailPage: (id?: number | undefined) => void;
10
10
  swicthUser: (id: string) => Promise<void>;
11
+ handleSyncRosterStudents: () => Promise<void>;
12
+ rosterUserInfo: (record: any) => string;
11
13
  };
12
14
  export default useUserList;
package/dist/index.js CHANGED
@@ -566,7 +566,7 @@ var session = "Session";
566
566
  var flag = "Flag";
567
567
  var external_email = "External email";
568
568
  var scheduled_now = "Scheduled Now";
569
- var session_schedule = "session schedule";
569
+ var session_schedule = "Session schedule";
570
570
  var search_survey = "Search survey";
571
571
  var total_survey = "Total Survey";
572
572
  var survey_result = "Survey Result";
@@ -1930,7 +1930,7 @@ var session$1 = "Session";
1930
1930
  var flag$1 = "Flag";
1931
1931
  var external_email$1 = "External email";
1932
1932
  var scheduled_now$1 = "Scheduled Now";
1933
- var session_schedule$1 = "session schedule";
1933
+ var session_schedule$1 = "Session schedule";
1934
1934
  var search_survey$1 = "Search survey";
1935
1935
  var total_survey$1 = "Total Survey";
1936
1936
  var survey_result$1 = "Survey Result";
@@ -7293,23 +7293,25 @@ var SkillList = function SkillList() {
7293
7293
  var setUserList = toolkit.createAction("users/setUserList");
7294
7294
  var setStudentList = toolkit.createAction("users/setStudentList");
7295
7295
 
7296
- var USER_URL$1 = BASE_URL + "/api/user";
7296
+ var STUDENT_URL = BASE_URL + "/api/student";
7297
7297
  var CHANGE_PASSWORD = BASE_URL + "/api/Account/changePassword";
7298
7298
  var ACCOUNT_URL$1 = BASE_URL + "/api/account";
7299
7299
  var EDU_USER_URL = BASE_URL + "/api/User";
7300
- var get$5 = function get(filter) {
7301
- return api.get("" + USER_URL$1, {
7300
+ var ONE_ROSTER_USER_URL = BASE_URL + "/api/usersOneRoster";
7301
+ var ROSTER_USER_URL = BASE_URL + "/api/user/roster";
7302
+ var getRosterUser = function getRosterUser(filter) {
7303
+ return api.get("" + ROSTER_USER_URL, {
7302
7304
  params: filter
7303
7305
  });
7304
7306
  };
7305
- var getById$3 = function getById(id) {
7306
- return api.get(USER_URL$1 + "/" + id);
7307
+ var getRosterUserById = function getRosterUserById(id) {
7308
+ return api.get(ROSTER_USER_URL + "/" + id);
7307
7309
  };
7308
- var create$5 = function create(data) {
7309
- return api.post("" + USER_URL$1, data);
7310
+ var createRosterUser = function createRosterUser(data) {
7311
+ return api.post("" + ROSTER_USER_URL, data);
7310
7312
  };
7311
- var update$5 = function update(data) {
7312
- return api.put(USER_URL$1 + "/" + data.id, data);
7313
+ var updateRosterUser = function updateRosterUser(data) {
7314
+ return api.put(ROSTER_USER_URL + "/" + data.id, data);
7313
7315
  };
7314
7316
  var remove$3 = function remove(id) {
7315
7317
  return api["delete"](EDU_USER_URL + "/delete-item-user/" + id);
@@ -7323,8 +7325,19 @@ var forgotChangePassword = function forgotChangePassword(data) {
7323
7325
  var switchAccountUser = function switchAccountUser(id) {
7324
7326
  return api.post(EDU_USER_URL + "/switch-user/" + id);
7325
7327
  };
7328
+ var getRosterStudentsApi = function getRosterStudentsApi(filter) {
7329
+ return api.get("" + ONE_ROSTER_USER_URL, {
7330
+ params: filter
7331
+ });
7332
+ };
7333
+ var getRosterStudentBySourcedIdApi = function getRosterStudentBySourcedIdApi(sourcedId) {
7334
+ return api.get(ONE_ROSTER_USER_URL + "/" + sourcedId);
7335
+ };
7336
+ var syncRosterStudentsApi = function syncRosterStudentsApi() {
7337
+ return api.put(STUDENT_URL + "/sync-students");
7338
+ };
7326
7339
 
7327
- var USER_URL$2 = "/admin/user";
7340
+ var USER_URL$1 = "/admin/user";
7328
7341
  var CREATE_USER_URL = "/admin/create-user";
7329
7342
  var TITLE$7 = "User list";
7330
7343
  var HOMEPAGE_TEACHER$1 = "/home";
@@ -7364,9 +7377,9 @@ var useUserList = function useUserList() {
7364
7377
  dispatch(setLoading(true));
7365
7378
 
7366
7379
  var _temp4 = _catch(function () {
7367
- return Promise.resolve(fullName ? get$5(_extends({}, filters, {
7380
+ return Promise.resolve(fullName ? getRosterUser(_extends({}, filters, {
7368
7381
  searchString: fullName
7369
- })) : get$5(filters)).then(function (res) {
7382
+ })) : getRosterUser(filters)).then(function (res) {
7370
7383
  var _res$data = res.data,
7371
7384
  items = _res$data.items,
7372
7385
  totalItems = _res$data.totalItems;
@@ -7395,6 +7408,68 @@ var useUserList = function useUserList() {
7395
7408
  return Promise.reject(e);
7396
7409
  }
7397
7410
  }, [dispatch, filters]);
7411
+
7412
+ var handleSyncRosterStudents = function handleSyncRosterStudents() {
7413
+ try {
7414
+ var _temp7 = function _temp7() {
7415
+ dispatch(setLoading(false));
7416
+ };
7417
+
7418
+ dispatch(setLoading(true));
7419
+
7420
+ var _temp8 = _catch(function () {
7421
+ return Promise.resolve(syncRosterStudentsApi()).then(function (res) {
7422
+ if (res.data) {
7423
+ dispatch(setAlert({
7424
+ type: "success",
7425
+ message: res.data + " student" + (res.data > 1 ? "s have" : " has") + " been synchronized"
7426
+ }));
7427
+ getData();
7428
+ } else {
7429
+ dispatch(setAlert({
7430
+ type: "success",
7431
+ message: "Every student synchronized"
7432
+ }));
7433
+ }
7434
+ });
7435
+ }, function (err) {
7436
+ var _err$response2, _err$response2$data;
7437
+
7438
+ dispatch(setAlert({
7439
+ type: "danger",
7440
+ message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
7441
+ }));
7442
+ });
7443
+
7444
+ return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp7) : _temp7(_temp8));
7445
+ } catch (e) {
7446
+ return Promise.reject(e);
7447
+ }
7448
+ };
7449
+
7450
+ var rosterUserInfo = function rosterUserInfo(record) {
7451
+ if (!record) return '';
7452
+ var result = [];
7453
+ var sourcedId = record.sourcedId,
7454
+ rosterUser = record.rosterUser;
7455
+ !!sourcedId && result.push(sourcedId);
7456
+
7457
+ if (rosterUser) {
7458
+ var givenName = rosterUser.givenName,
7459
+ middleName = rosterUser.middleName,
7460
+ familyName = rosterUser.familyName,
7461
+ email = rosterUser.email;
7462
+ var names = [];
7463
+ !!givenName && names.push(givenName);
7464
+ !!middleName && names.push(middleName);
7465
+ !!familyName && names.push(familyName);
7466
+ !!names.length && result.push(names.join(" "));
7467
+ !!email && result.push(email);
7468
+ }
7469
+
7470
+ return result.join(" / ");
7471
+ };
7472
+
7398
7473
  React.useEffect(function () {
7399
7474
  document.title = TITLE$7;
7400
7475
  }, []);
@@ -7431,11 +7506,11 @@ var useUserList = function useUserList() {
7431
7506
  }
7432
7507
  }));
7433
7508
  } catch (err) {
7434
- var _err$response2, _err$response2$data;
7509
+ var _err$response3, _err$response3$data;
7435
7510
 
7436
7511
  dispatch(setAlert({
7437
7512
  type: "danger",
7438
- message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
7513
+ message: ((_err$response3 = err.response) === null || _err$response3 === void 0 ? void 0 : (_err$response3$data = _err$response3.data) === null || _err$response3$data === void 0 ? void 0 : _err$response3$data.title) || err.message
7439
7514
  }));
7440
7515
  }
7441
7516
 
@@ -7481,7 +7556,7 @@ var useUserList = function useUserList() {
7481
7556
 
7482
7557
  var swicthUser = React.useCallback(function (id) {
7483
7558
  try {
7484
- var _temp6 = _catch(function () {
7559
+ var _temp10 = _catch(function () {
7485
7560
  return Promise.resolve(switchAccountUser(id)).then(function (res) {
7486
7561
  var data = res.data;
7487
7562
  dispatch(setModal({
@@ -7490,13 +7565,13 @@ var useUserList = function useUserList() {
7490
7565
  message: "Do you want to impersonate this user?",
7491
7566
  onConfirm: function () {
7492
7567
  try {
7493
- var _temp9 = function _temp9() {
7568
+ var _temp13 = function _temp13() {
7494
7569
  dispatch(setLoading(false));
7495
7570
  };
7496
7571
 
7497
7572
  dispatch(setLoading(true));
7498
7573
 
7499
- var _temp10 = _catch(function () {
7574
+ var _temp14 = _catch(function () {
7500
7575
  var req = {
7501
7576
  email: data.email,
7502
7577
  password: "default",
@@ -7507,15 +7582,15 @@ var useUserList = function useUserList() {
7507
7582
  redirectLoginUser(res);
7508
7583
  });
7509
7584
  }, function (err) {
7510
- var _err$response3, _err$response3$data;
7585
+ var _err$response4, _err$response4$data;
7511
7586
 
7512
7587
  setAlert({
7513
7588
  type: "danger",
7514
- message: ((_err$response3 = err.response) === null || _err$response3 === void 0 ? void 0 : (_err$response3$data = _err$response3.data) === null || _err$response3$data === void 0 ? void 0 : _err$response3$data.title) || err.message
7589
+ message: ((_err$response4 = err.response) === null || _err$response4 === void 0 ? void 0 : (_err$response4$data = _err$response4.data) === null || _err$response4$data === void 0 ? void 0 : _err$response4$data.title) || err.message
7515
7590
  });
7516
7591
  });
7517
7592
 
7518
- return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
7593
+ return Promise.resolve(_temp14 && _temp14.then ? _temp14.then(_temp13) : _temp13(_temp14));
7519
7594
  } catch (e) {
7520
7595
  return Promise.reject(e);
7521
7596
  }
@@ -7523,22 +7598,22 @@ var useUserList = function useUserList() {
7523
7598
  }));
7524
7599
  });
7525
7600
  }, function (err) {
7526
- var _err$response4, _err$response4$data;
7601
+ var _err$response5, _err$response5$data;
7527
7602
 
7528
7603
  dispatch(setAlert({
7529
7604
  type: "danger",
7530
- message: ((_err$response4 = err.response) === null || _err$response4 === void 0 ? void 0 : (_err$response4$data = _err$response4.data) === null || _err$response4$data === void 0 ? void 0 : _err$response4$data.title) || err.message
7605
+ message: ((_err$response5 = err.response) === null || _err$response5 === void 0 ? void 0 : (_err$response5$data = _err$response5.data) === null || _err$response5$data === void 0 ? void 0 : _err$response5$data.title) || err.message
7531
7606
  }));
7532
7607
  });
7533
7608
 
7534
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
7609
+ return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(function () {}) : void 0);
7535
7610
  } catch (e) {
7536
7611
  return Promise.reject(e);
7537
7612
  }
7538
7613
  }, [filters]);
7539
7614
 
7540
7615
  var reDirectDetailPage = function reDirectDetailPage(id) {
7541
- var url = !!id ? USER_URL$2 + "/" + id : CREATE_USER_URL;
7616
+ var url = !!id ? USER_URL$1 + "/" + id : CREATE_USER_URL;
7542
7617
  history.push(url);
7543
7618
  };
7544
7619
 
@@ -7551,7 +7626,9 @@ var useUserList = function useUserList() {
7551
7626
  removeData: removeData,
7552
7627
  changeFilters: changeFilters,
7553
7628
  reDirectDetailPage: reDirectDetailPage,
7554
- swicthUser: swicthUser
7629
+ swicthUser: swicthUser,
7630
+ handleSyncRosterStudents: handleSyncRosterStudents,
7631
+ rosterUserInfo: rosterUserInfo
7555
7632
  };
7556
7633
  };
7557
7634
 
@@ -7630,6 +7707,29 @@ var utcToLocalTime = (function (time, FORMAT) {
7630
7707
  }
7631
7708
  });
7632
7709
 
7710
+ var buttonTextStyle$1 = {
7711
+ fontWeight: 500
7712
+ };
7713
+ var buttonStyle$1 = {
7714
+ height: 38
7715
+ };
7716
+
7717
+ var SyncButtonIcon = function SyncButtonIcon(_ref) {
7718
+ var text = _ref.text,
7719
+ onClick = _ref.onClick,
7720
+ _ref$className = _ref.className,
7721
+ className = _ref$className === void 0 ? "" : _ref$className;
7722
+ return React__default.createElement(reactstrap.Button, {
7723
+ onClick: onClick,
7724
+ color: 'primary',
7725
+ style: buttonStyle$1,
7726
+ className: "d-flex align-items-center " + className
7727
+ }, React__default.createElement(fa.FaSyncAlt, null), React__default.createElement("span", {
7728
+ className: 'ml-2',
7729
+ style: buttonTextStyle$1
7730
+ }, text));
7731
+ };
7732
+
7633
7733
  var header$2 = "User";
7634
7734
 
7635
7735
  var UserList = function UserList() {
@@ -7641,7 +7741,9 @@ var UserList = function UserList() {
7641
7741
  removeData = _useUserList.removeData,
7642
7742
  changeFilters = _useUserList.changeFilters,
7643
7743
  reDirectDetailPage = _useUserList.reDirectDetailPage,
7644
- swicthUser = _useUserList.swicthUser;
7744
+ swicthUser = _useUserList.swicthUser,
7745
+ handleSyncRosterStudents = _useUserList.handleSyncRosterStudents,
7746
+ rosterUserInfo = _useUserList.rosterUserInfo;
7645
7747
 
7646
7748
  var _useTranslation = reactI18next.useTranslation(),
7647
7749
  t = _useTranslation.t;
@@ -7669,7 +7771,13 @@ var UserList = function UserList() {
7669
7771
  })), React__default.createElement(reactstrap.Col, {
7670
7772
  md: 4,
7671
7773
  className: "d-flex justify-content-end align-items-center"
7672
- }, t("total_of_users"), " : ", totalItems)), React__default.createElement(reactstrap.Row, {
7774
+ }, t("total_of_users"), " : ", totalItems), React__default.createElement(reactstrap.Col, {
7775
+ md: 12,
7776
+ className: "d-flex justify-content-end my-2"
7777
+ }, React__default.createElement(SyncButtonIcon, {
7778
+ text: "Sync Roster students",
7779
+ onClick: handleSyncRosterStudents
7780
+ }))), React__default.createElement(reactstrap.Row, {
7673
7781
  className: "mb-2"
7674
7782
  }, React__default.createElement(reactstrap.Col, {
7675
7783
  md: 12
@@ -7692,6 +7800,8 @@ var UserList = function UserList() {
7692
7800
  }, t("active_status")), React__default.createElement("th", {
7693
7801
  className: "align-top"
7694
7802
  }, t("created_time")), React__default.createElement("th", {
7803
+ className: "align-top"
7804
+ }, "Information Roster (Sourced Id / Full name / Email)"), React__default.createElement("th", {
7695
7805
  className: "text-center"
7696
7806
  }, t("action")))), React__default.createElement("tbody", null, userList.map(function (record) {
7697
7807
  return React__default.createElement("tr", {
@@ -7715,7 +7825,7 @@ var UserList = function UserList() {
7715
7825
  className: "align-middle"
7716
7826
  }, record.isActive ? t("active") : t("inactive")), React__default.createElement("td", {
7717
7827
  className: "align-middle"
7718
- }, utcToLocalTime(record === null || record === void 0 ? void 0 : record.createTime, "yyyy-MM-DD HH:mm")), React__default.createElement("td", {
7828
+ }, 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", {
7719
7829
  className: "text-center align-middle"
7720
7830
  }, React__default.createElement(fa.FaUsersCog, {
7721
7831
  style: {
@@ -7895,7 +8005,7 @@ var useUserDetail = function useUserDetail(id) {
7895
8005
  dispatch(setLoading(true));
7896
8006
 
7897
8007
  var _temp4 = _catch(function () {
7898
- return Promise.resolve(getById$3(id)).then(function (res) {
8008
+ return Promise.resolve(getRosterUserById(id)).then(function (res) {
7899
8009
  var _res$data$roles, _res$data, _res$data2;
7900
8010
 
7901
8011
  setUserDetail(_extends({}, res.data, {
@@ -7932,11 +8042,11 @@ var useUserDetail = function useUserDetail(id) {
7932
8042
 
7933
8043
  var _temp10 = _catch(function () {
7934
8044
  function _temp6() {
7935
- var next = !!id ? update$5 : create$5;
8045
+ var next = !!id ? updateRosterUser : createRosterUser;
7936
8046
  !id && delete data.id;
7937
8047
  return Promise.resolve(next(data)).then(function (result) {
7938
8048
  if (!!result) {
7939
- getById$3(result.data.id).then(function (e) {
8049
+ getRosterUserById(result.data.id).then(function (e) {
7940
8050
  backToList(e.data.fullName);
7941
8051
  });
7942
8052
  }
@@ -8075,6 +8185,163 @@ var changePasswordSchema = yup.object({
8075
8185
  confirmedNewPassword: yup.string().required("Confirm password is required")
8076
8186
  });
8077
8187
 
8188
+ var defaultFilter = {
8189
+ currentPage: 1,
8190
+ pageSize: 100,
8191
+ role: "student"
8192
+ };
8193
+
8194
+ var useStudentSelector = function useStudentSelector(value) {
8195
+ var _useState = React.useState([]),
8196
+ students = _useState[0],
8197
+ setStudents = _useState[1];
8198
+
8199
+ var _useState2 = React.useState(false),
8200
+ isLoading = _useState2[0],
8201
+ setLoading = _useState2[1];
8202
+
8203
+ var _useState3 = React.useState(defaultFilter),
8204
+ filter = _useState3[0],
8205
+ setFilter = _useState3[1];
8206
+
8207
+ var _useState4 = React.useState(),
8208
+ student = _useState4[0],
8209
+ setStudent = _useState4[1];
8210
+
8211
+ var dispatch = reactRedux.useDispatch();
8212
+ var getRosterStudents = React.useCallback(function () {
8213
+ try {
8214
+ var _temp3 = function _temp3() {
8215
+ setLoading(false);
8216
+ };
8217
+
8218
+ setLoading(true);
8219
+
8220
+ var _temp4 = _catch(function () {
8221
+ return Promise.resolve(getRosterStudentsApi(filter)).then(function (res) {
8222
+ var _res$data;
8223
+
8224
+ var students = ((_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.items) || [];
8225
+ setStudents(mapStudentsToOptions(students));
8226
+ });
8227
+ }, function (err) {
8228
+ console.log("err:", err);
8229
+ dispatch(setAlert({
8230
+ type: "error",
8231
+ message: "Cannot get roster students"
8232
+ }));
8233
+ });
8234
+
8235
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
8236
+ } catch (e) {
8237
+ return Promise.reject(e);
8238
+ }
8239
+ }, [JSON.stringify(filter)]);
8240
+ var getStudentBySourcedId = React.useCallback(function () {
8241
+ try {
8242
+ var _temp7 = function _temp7() {
8243
+ setLoading(false);
8244
+ };
8245
+
8246
+ if (!value) return Promise.resolve();
8247
+ var v = students.find(function (i) {
8248
+ return i.value === value;
8249
+ });
8250
+
8251
+ if (v) {
8252
+ setStudent(v);
8253
+ return Promise.resolve();
8254
+ }
8255
+
8256
+ setLoading(true);
8257
+
8258
+ var _temp8 = _catch(function () {
8259
+ return Promise.resolve(getRosterStudentBySourcedIdApi(value)).then(function (res) {
8260
+ var student = res.data;
8261
+ setStudent({
8262
+ label: student.sourcedId + " - " + student.givenName + " - " + student.email,
8263
+ value: student.sourcedId
8264
+ });
8265
+ });
8266
+ }, function (err) {
8267
+ console.log("err:", err);
8268
+ });
8269
+
8270
+ return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp7) : _temp7(_temp8));
8271
+ } catch (e) {
8272
+ return Promise.reject(e);
8273
+ }
8274
+ }, [value]);
8275
+
8276
+ var mapStudentsToOptions = function mapStudentsToOptions(students) {
8277
+ return students.map(function (i) {
8278
+ return {
8279
+ label: rosterUserInfo(i),
8280
+ value: i.sourcedId
8281
+ };
8282
+ });
8283
+ };
8284
+
8285
+ var rosterUserInfo = function rosterUserInfo(rosterUser) {
8286
+ var result = [];
8287
+ var givenName = rosterUser.givenName,
8288
+ middleName = rosterUser.middleName,
8289
+ familyName = rosterUser.familyName,
8290
+ email = rosterUser.email;
8291
+ var names = [];
8292
+ !!givenName && names.push(givenName);
8293
+ !!middleName && names.push(middleName);
8294
+ !!familyName && names.push(familyName);
8295
+ !!names.length && result.push(names.join(" "));
8296
+ !!email && result.push(email);
8297
+ return result.join(" - ");
8298
+ };
8299
+
8300
+ var handleInputChange = function handleInputChange(value) {
8301
+ setFilter(function (state) {
8302
+ return _extends({}, state, {
8303
+ searchString: value
8304
+ });
8305
+ });
8306
+ };
8307
+
8308
+ React.useEffect(function () {
8309
+ getRosterStudents();
8310
+ }, [JSON.stringify(filter)]);
8311
+ React.useEffect(function () {
8312
+ getStudentBySourcedId();
8313
+ }, [value]);
8314
+ return {
8315
+ students: students,
8316
+ isLoading: isLoading,
8317
+ student: student,
8318
+ handleInputChange: handleInputChange
8319
+ };
8320
+ };
8321
+
8322
+ var RosterStudentSelector = function RosterStudentSelector(_ref) {
8323
+ var value = _ref.value,
8324
+ onChange = _ref.onChange;
8325
+
8326
+ var _useTranslation = reactI18next.useTranslation(),
8327
+ t = _useTranslation.t;
8328
+
8329
+ var _useStudentSelector = useStudentSelector(value),
8330
+ students = _useStudentSelector.students,
8331
+ isLoading = _useStudentSelector.isLoading,
8332
+ student = _useStudentSelector.student,
8333
+ handleInputChange = _useStudentSelector.handleInputChange;
8334
+
8335
+ return React__default.createElement(CustomSelector, {
8336
+ options: students,
8337
+ value: student,
8338
+ placeholder: t("Select student"),
8339
+ onChange: onChange,
8340
+ isLoading: isLoading,
8341
+ onInputChange: handleInputChange
8342
+ });
8343
+ };
8344
+
8078
8345
  var CREATE_USER = "create_user";
8079
8346
  var EDIT_USER_HEADER = "edit_user";
8080
8347
  var CHANGE_PASSWORD$1 = "change_password";
@@ -8302,7 +8569,12 @@ var UserDetail = function UserDetail() {
8302
8569
  }
8303
8570
  })))))), !!id && React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
8304
8571
  md: 6
8305
- }), React__default.createElement(reactstrap.Col, {
8572
+ }, values.roles.includes("Student") && React__default.createElement(reactstrap.FormGroup, null, React__default.createElement(reactstrap.Label, null, "Map student from Roster"), React__default.createElement(RosterStudentSelector, {
8573
+ value: values.sourcedId,
8574
+ onChange: function onChange(e) {
8575
+ return setFieldValue("sourcedId", e.value);
8576
+ }
8577
+ }))), React__default.createElement(reactstrap.Col, {
8306
8578
  md: 6
8307
8579
  }, React__default.createElement(reactstrap.Button, {
8308
8580
  color: "primary",
@@ -8628,7 +8900,7 @@ var QuestionTypeSelector = function QuestionTypeSelector(props) {
8628
8900
  };
8629
8901
 
8630
8902
  var CATEGORY_URL = BASE_URL + "/api/SuggestionCategory";
8631
- var get$6 = function get() {
8903
+ var get$5 = function get() {
8632
8904
  return api.get(CATEGORY_URL);
8633
8905
  };
8634
8906
 
@@ -8644,7 +8916,7 @@ var SuggestionCategorySelector = function SuggestionCategorySelector(props) {
8644
8916
  var fetchCategory = function fetchCategory() {
8645
8917
  try {
8646
8918
  var _temp2 = _catch(function () {
8647
- return Promise.resolve(get$6()).then(function (res) {
8919
+ return Promise.resolve(get$5()).then(function (res) {
8648
8920
  setCategoryList(res.data.items);
8649
8921
  });
8650
8922
  }, function (err) {
@@ -8675,7 +8947,7 @@ var SuggestionCategorySelector = function SuggestionCategorySelector(props) {
8675
8947
  };
8676
8948
 
8677
8949
  var CATEGORY_URL$1 = BASE_URL + "/api/QuestionCategory";
8678
- var get$7 = function get(parentCategoryId) {
8950
+ var get$6 = function get(parentCategoryId) {
8679
8951
  return api.get(CATEGORY_URL$1, {
8680
8952
  params: {
8681
8953
  parentCategoryId: parentCategoryId
@@ -8702,7 +8974,7 @@ var QuestionCategorySelector = function QuestionCategorySelector(props) {
8702
8974
  var fetchCategory = function fetchCategory() {
8703
8975
  try {
8704
8976
  var _temp2 = _catch(function () {
8705
- return Promise.resolve(get$7(parentCategoryId)).then(function (res) {
8977
+ return Promise.resolve(get$6(parentCategoryId)).then(function (res) {
8706
8978
  setCategoryList(res.data.items);
8707
8979
  });
8708
8980
  }, function (err) {
@@ -9723,14 +9995,14 @@ var setGallery = toolkit.createAction("gallery/setGallery");
9723
9995
  var setTargetMedia = toolkit.createAction("gallery/setTargetMedia");
9724
9996
 
9725
9997
  var GALLERY_URL = BASE_URL + "/api/file";
9726
- var get$8 = function get(filter) {
9998
+ var get$7 = function get(filter) {
9727
9999
  return api.get("" + GALLERY_URL, {
9728
10000
  params: filter
9729
10001
  });
9730
10002
  };
9731
10003
 
9732
10004
  var TITLE$a = "Gallery";
9733
- var defaultFilter = {
10005
+ var defaultFilter$1 = {
9734
10006
  searchString: ""
9735
10007
  };
9736
10008
 
@@ -9754,7 +10026,7 @@ var useGalleryList = function useGalleryList(isLibrary) {
9754
10026
  formDataMediaType = _useState[0],
9755
10027
  handleSelectFile = _useState[1];
9756
10028
 
9757
- var _useState2 = React.useState(Object.assign(_extends({}, defaultFilter), isLibrary ? {
10029
+ var _useState2 = React.useState(Object.assign(_extends({}, defaultFilter$1), isLibrary ? {
9758
10030
  isLibrary: true
9759
10031
  } : {})),
9760
10032
  filters = _useState2[0],
@@ -9945,7 +10217,7 @@ var useGalleryList = function useGalleryList(isLibrary) {
9945
10217
  dispatch(setLoading(true));
9946
10218
 
9947
10219
  var _temp12 = _catch(function () {
9948
- return Promise.resolve(get$8(filters)).then(function (res) {
10220
+ return Promise.resolve(get$7(filters)).then(function (res) {
9949
10221
  dispatch(setGallery({
9950
10222
  mediaList: res.data,
9951
10223
  totalItems: res.data.length || 0
@@ -10185,7 +10457,7 @@ var GalleryList = function GalleryList(_ref) {
10185
10457
  };
10186
10458
 
10187
10459
  var CLASS_URL = BASE_URL + "/api/academicclass";
10188
- var get$9 = function get() {
10460
+ var get$8 = function get() {
10189
10461
  return api.get(CLASS_URL);
10190
10462
  };
10191
10463
 
@@ -10201,7 +10473,7 @@ var AcademicClassSelector = function AcademicClassSelector(props) {
10201
10473
  var getData = function getData() {
10202
10474
  try {
10203
10475
  var _temp2 = _catch(function () {
10204
- return Promise.resolve(get$9()).then(function (res) {
10476
+ return Promise.resolve(get$8()).then(function (res) {
10205
10477
  setClasses(res.data.items);
10206
10478
  });
10207
10479
  }, function (err) {