mario-core 2.9.160-level → 2.9.161-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/FilterPopover.d.ts +3 -2
- package/dist/containers/User/components/HeaderCell.d.ts +3 -3
- package/dist/containers/User/constants/types.d.ts +8 -1
- package/dist/containers/User/hooks/useFilterPopover.d.ts +7 -5
- package/dist/containers/User/hooks/useTableHeader.d.ts +5 -5
- package/dist/index.js +111 -126
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +111 -126
- package/dist/index.modern.js.map +1 -1
- package/dist/services/userService.d.ts +2 -1
- package/package.json +1 -1
|
@@ -5,10 +5,11 @@ interface Props extends PopoverProps {
|
|
|
5
5
|
filters?: UserFilter;
|
|
6
6
|
sortBy: UserOrder;
|
|
7
7
|
searchBy?: SearchBy;
|
|
8
|
-
|
|
9
|
-
users: any[];
|
|
8
|
+
users: string[];
|
|
10
9
|
defaultOptions?: FilterOption[];
|
|
11
10
|
selectedOptions?: string[];
|
|
11
|
+
searchKey: string;
|
|
12
|
+
onChangeSearchKey: (value: string) => void;
|
|
12
13
|
onOptionsChange?: (value?: string[], searchBy?: SearchBy) => void;
|
|
13
14
|
onSearch?: (search: string, searchBy: SearchBy) => void;
|
|
14
15
|
onClose?: () => void;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { FC } from "react";
|
|
2
|
-
import { SearchBy, UserColumn, UserFilter } from "../constants/types";
|
|
2
|
+
import { SearchBy, UserColumn, UserFilter, UserOrder } from "../constants/types";
|
|
3
3
|
interface Props {
|
|
4
4
|
data: UserColumn;
|
|
5
5
|
popoverId?: string;
|
|
6
6
|
filters?: UserFilter;
|
|
7
7
|
searchString?: string;
|
|
8
|
-
users:
|
|
8
|
+
users: string[];
|
|
9
9
|
selectedOptions?: string[];
|
|
10
10
|
onOptionsChange?: (value?: string[], searchBy?: SearchBy) => void;
|
|
11
11
|
onSearch?: (search: string, searchBy: SearchBy) => void;
|
|
12
|
-
onOpenFilter?: (id: string) => void;
|
|
12
|
+
onOpenFilter?: (id: string, searchBy?: SearchBy, searchStringBy?: string, sortBy?: UserOrder) => void;
|
|
13
13
|
onClose?: () => void;
|
|
14
14
|
onChangeFilters?: (filter: UserFilter) => void;
|
|
15
15
|
}
|
|
@@ -36,9 +36,16 @@ export declare type UserFilter = {
|
|
|
36
36
|
isDescending?: boolean;
|
|
37
37
|
sortBy?: UserOrder;
|
|
38
38
|
searchBy?: SearchBy;
|
|
39
|
-
searchStringBy?: string;
|
|
40
39
|
searchByStrings?: string[];
|
|
41
40
|
};
|
|
41
|
+
export declare type UserFilterField = {
|
|
42
|
+
currentPage?: number;
|
|
43
|
+
pageSize?: number;
|
|
44
|
+
searchString?: string;
|
|
45
|
+
isDescending?: boolean;
|
|
46
|
+
searchBy?: SearchBy;
|
|
47
|
+
searchStringBy?: string;
|
|
48
|
+
};
|
|
42
49
|
export declare type UserColumn = {
|
|
43
50
|
name: string;
|
|
44
51
|
sortBy?: UserOrder;
|
|
@@ -4,11 +4,12 @@ import { PopoverProps } from "reactstrap";
|
|
|
4
4
|
interface Props extends PopoverProps {
|
|
5
5
|
filters?: UserFilter;
|
|
6
6
|
sortBy: UserOrder;
|
|
7
|
-
searchString?: string;
|
|
8
7
|
searchBy?: SearchBy;
|
|
9
|
-
users:
|
|
8
|
+
users: string[];
|
|
10
9
|
defaultOptions?: FilterOption[];
|
|
11
10
|
selectedOptions?: string[];
|
|
11
|
+
searchKey: string;
|
|
12
|
+
onChangeSearchKey: (value: string) => void;
|
|
12
13
|
onOptionsChange?: (value?: string[], searchBy?: SearchBy) => void;
|
|
13
14
|
onSearch?: (search: string, searchBy: SearchBy) => void;
|
|
14
15
|
onClose?: () => void;
|
|
@@ -18,8 +19,9 @@ interface Props extends PopoverProps {
|
|
|
18
19
|
}
|
|
19
20
|
declare const useFilterPopover: (props: Props) => {
|
|
20
21
|
ref: import("react").RefObject<HTMLDivElement>;
|
|
21
|
-
options:
|
|
22
|
-
|
|
22
|
+
options: FilterOption[];
|
|
23
|
+
inputRef: import("react").MutableRefObject<any>;
|
|
24
|
+
sOptions: any[] | undefined;
|
|
23
25
|
isAscending: boolean;
|
|
24
26
|
isDescending: boolean;
|
|
25
27
|
filteredOptions: FilterOption[];
|
|
@@ -30,6 +32,6 @@ declare const useFilterPopover: (props: Props) => {
|
|
|
30
32
|
handleOptionSelectedAll: (e?: any) => void;
|
|
31
33
|
handleSortDesc: () => void;
|
|
32
34
|
handleSortAsc: () => void;
|
|
33
|
-
handleChangeSearchKey: (e:
|
|
35
|
+
handleChangeSearchKey: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
34
36
|
};
|
|
35
37
|
export default useFilterPopover;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { SearchBy, UserFilter } from "../constants/types";
|
|
1
|
+
import { SearchBy, UserFilter, UserFilterField, UserOrder } from "../constants/types";
|
|
2
2
|
interface Props {
|
|
3
3
|
filters: UserFilter;
|
|
4
4
|
onChangeFilters?: (filter: UserFilter) => void;
|
|
5
5
|
}
|
|
6
6
|
declare const useTableHeader: (props: Props) => {
|
|
7
|
-
popoverFilters:
|
|
7
|
+
popoverFilters: UserFilterField;
|
|
8
8
|
popoverId: string | undefined;
|
|
9
|
-
users:
|
|
10
|
-
handleFilterIcon: (id: string) => void;
|
|
9
|
+
users: string[];
|
|
10
|
+
handleFilterIcon: (id: string, searchBy?: SearchBy | undefined, searchStringBy?: string | undefined, sortBy?: UserOrder | undefined) => void;
|
|
11
11
|
handleCloseFilter: () => void;
|
|
12
|
-
handleSearch: (search: string, searchBy
|
|
12
|
+
handleSearch: (search: string, searchBy?: SearchBy | undefined) => void;
|
|
13
13
|
handleChangeFilters: (value?: string[] | undefined, searchBy?: SearchBy | undefined) => void;
|
|
14
14
|
};
|
|
15
15
|
export default useTableHeader;
|
package/dist/index.js
CHANGED
|
@@ -7307,6 +7307,11 @@ var getRosterUser = function getRosterUser(filter) {
|
|
|
7307
7307
|
params: filter
|
|
7308
7308
|
});
|
|
7309
7309
|
};
|
|
7310
|
+
var getFilterRosterUser = function getFilterRosterUser(filter) {
|
|
7311
|
+
return api.get(MAPPING_ROSTER_USER_URL + "/filters", {
|
|
7312
|
+
params: filter
|
|
7313
|
+
});
|
|
7314
|
+
};
|
|
7310
7315
|
var getRosterUserExport = function getRosterUserExport(filter) {
|
|
7311
7316
|
return api.get(MAPPING_ROSTER_USER_URL + "/export-csv", {
|
|
7312
7317
|
params: filter
|
|
@@ -7377,11 +7382,9 @@ var UserColumns = [{
|
|
|
7377
7382
|
searchBy: SearchBy.Name,
|
|
7378
7383
|
className: "align-top",
|
|
7379
7384
|
getOption: function getOption(user) {
|
|
7380
|
-
var _user$fullName, _user$fullName$trim;
|
|
7381
|
-
|
|
7382
7385
|
return {
|
|
7383
|
-
label: user
|
|
7384
|
-
value:
|
|
7386
|
+
label: user || "empty",
|
|
7387
|
+
value: user
|
|
7385
7388
|
};
|
|
7386
7389
|
}
|
|
7387
7390
|
}, {
|
|
@@ -7390,11 +7393,9 @@ var UserColumns = [{
|
|
|
7390
7393
|
searchBy: SearchBy.Email,
|
|
7391
7394
|
className: "align-top",
|
|
7392
7395
|
getOption: function getOption(user) {
|
|
7393
|
-
var _user$email, _user$email$trim;
|
|
7394
|
-
|
|
7395
7396
|
return {
|
|
7396
|
-
label: user
|
|
7397
|
-
value:
|
|
7397
|
+
label: user || "empty",
|
|
7398
|
+
value: user
|
|
7398
7399
|
};
|
|
7399
7400
|
}
|
|
7400
7401
|
}, {
|
|
@@ -7407,13 +7408,11 @@ var UserColumns = [{
|
|
|
7407
7408
|
searchBy: SearchBy.Role,
|
|
7408
7409
|
className: "align-top",
|
|
7409
7410
|
getOption: function getOption(user) {
|
|
7410
|
-
var _user$
|
|
7411
|
+
var _user$replace;
|
|
7411
7412
|
|
|
7412
7413
|
return {
|
|
7413
|
-
label:
|
|
7414
|
-
|
|
7415
|
-
}).join(", ") : "empty",
|
|
7416
|
-
value: ((_user$roles3 = user.roles) === null || _user$roles3 === void 0 ? void 0 : (_user$roles3$join = _user$roles3.join("")) === null || _user$roles3$join === void 0 ? void 0 : (_user$roles3$join$tri = _user$roles3$join.trim) === null || _user$roles3$join$tri === void 0 ? void 0 : _user$roles3$join$tri.call(_user$roles3$join)) || ""
|
|
7414
|
+
label: !!user ? user === null || user === void 0 ? void 0 : (_user$replace = user.replace) === null || _user$replace === void 0 ? void 0 : _user$replace.call(user, "SecondaryTeacher", "SupportTeacher") : "empty",
|
|
7415
|
+
value: user
|
|
7417
7416
|
};
|
|
7418
7417
|
}
|
|
7419
7418
|
}, {
|
|
@@ -7421,12 +7420,6 @@ var UserColumns = [{
|
|
|
7421
7420
|
sortBy: UserOrder.Status,
|
|
7422
7421
|
searchBy: SearchBy.Status,
|
|
7423
7422
|
className: "align-top",
|
|
7424
|
-
getOption: function getOption(user, t) {
|
|
7425
|
-
return {
|
|
7426
|
-
label: user.isActive ? t("active") : t("inactive"),
|
|
7427
|
-
value: user.isActive
|
|
7428
|
-
};
|
|
7429
|
-
},
|
|
7430
7423
|
options: [{
|
|
7431
7424
|
label: "Active",
|
|
7432
7425
|
value: "true"
|
|
@@ -7443,32 +7436,10 @@ var UserColumns = [{
|
|
|
7443
7436
|
sortBy: UserOrder.RosterUser,
|
|
7444
7437
|
searchBy: SearchBy.RosterUser,
|
|
7445
7438
|
className: "align-top",
|
|
7446
|
-
getOption: function getOption(
|
|
7447
|
-
if (!record) return {
|
|
7448
|
-
label: "empty",
|
|
7449
|
-
value: ""
|
|
7450
|
-
};
|
|
7451
|
-
var result = [];
|
|
7452
|
-
var sourcedId = record.sourcedId,
|
|
7453
|
-
rosterUser = record.rosterUser;
|
|
7454
|
-
!!sourcedId && result.push(sourcedId);
|
|
7455
|
-
|
|
7456
|
-
if (rosterUser) {
|
|
7457
|
-
var givenName = rosterUser.givenName,
|
|
7458
|
-
middleName = rosterUser.middleName,
|
|
7459
|
-
familyName = rosterUser.familyName,
|
|
7460
|
-
email = rosterUser.email;
|
|
7461
|
-
var names = [];
|
|
7462
|
-
!!givenName && names.push(givenName);
|
|
7463
|
-
!!middleName && names.push(middleName);
|
|
7464
|
-
!!familyName && names.push(familyName);
|
|
7465
|
-
!!names.length && result.push(names.join(" "));
|
|
7466
|
-
!!email && result.push(email);
|
|
7467
|
-
}
|
|
7468
|
-
|
|
7439
|
+
getOption: function getOption(user) {
|
|
7469
7440
|
return {
|
|
7470
|
-
label:
|
|
7471
|
-
value:
|
|
7441
|
+
label: user || "empty",
|
|
7442
|
+
value: user
|
|
7472
7443
|
};
|
|
7473
7444
|
}
|
|
7474
7445
|
}, {
|
|
@@ -7546,6 +7517,14 @@ var useUserList = function useUserList() {
|
|
|
7546
7517
|
dispatch(setLoading(false));
|
|
7547
7518
|
};
|
|
7548
7519
|
|
|
7520
|
+
if (filters.searchBy !== undefined && filters.searchByStrings !== undefined && filters.searchByStrings.length === 0) {
|
|
7521
|
+
dispatch(setUserList({
|
|
7522
|
+
userList: [],
|
|
7523
|
+
totalItems: 0
|
|
7524
|
+
}));
|
|
7525
|
+
return Promise.resolve();
|
|
7526
|
+
}
|
|
7527
|
+
|
|
7549
7528
|
dispatch(setLoading(true));
|
|
7550
7529
|
|
|
7551
7530
|
var _temp4 = _catch(function () {
|
|
@@ -7622,7 +7601,7 @@ var useUserList = function useUserList() {
|
|
|
7622
7601
|
var result = [];
|
|
7623
7602
|
var sourcedId = record.sourcedId,
|
|
7624
7603
|
rosterUser = record.rosterUser;
|
|
7625
|
-
!!sourcedId && result.push(sourcedId);
|
|
7604
|
+
!!sourcedId && !!rosterUser && result.push(sourcedId);
|
|
7626
7605
|
|
|
7627
7606
|
if (rosterUser) {
|
|
7628
7607
|
var givenName = rosterUser.givenName,
|
|
@@ -7630,11 +7609,11 @@ var useUserList = function useUserList() {
|
|
|
7630
7609
|
familyName = rosterUser.familyName,
|
|
7631
7610
|
email = rosterUser.email;
|
|
7632
7611
|
var names = [];
|
|
7633
|
-
!!givenName && names.push(givenName);
|
|
7634
|
-
!!middleName && names.push(middleName);
|
|
7635
7612
|
!!familyName && names.push(familyName);
|
|
7636
|
-
!!
|
|
7637
|
-
!!
|
|
7613
|
+
!!middleName && names.push(middleName);
|
|
7614
|
+
!!givenName && names.push(givenName);
|
|
7615
|
+
result.push(names.join(" ") || "");
|
|
7616
|
+
result.push(email || "");
|
|
7638
7617
|
}
|
|
7639
7618
|
|
|
7640
7619
|
return result.join(" / ");
|
|
@@ -7666,9 +7645,9 @@ var useUserList = function useUserList() {
|
|
|
7666
7645
|
type: "success",
|
|
7667
7646
|
message: "Remove user successfully"
|
|
7668
7647
|
}));
|
|
7669
|
-
changeFilters({
|
|
7648
|
+
if (filters.currentPage !== 1) changeFilters({
|
|
7670
7649
|
currentPage: 1
|
|
7671
|
-
});
|
|
7650
|
+
});else getData();
|
|
7672
7651
|
});
|
|
7673
7652
|
} catch (e) {
|
|
7674
7653
|
return Promise.reject(e);
|
|
@@ -7685,7 +7664,7 @@ var useUserList = function useUserList() {
|
|
|
7685
7664
|
}
|
|
7686
7665
|
|
|
7687
7666
|
dispatch(setLoading(false));
|
|
7688
|
-
}, [filters]);
|
|
7667
|
+
}, [JSON.stringify(filters)]);
|
|
7689
7668
|
|
|
7690
7669
|
var redirectLoginUser = function redirectLoginUser(res) {
|
|
7691
7670
|
var _res$data2 = res.data,
|
|
@@ -7922,9 +7901,10 @@ var useFilterPopover = function useFilterPopover(props) {
|
|
|
7922
7901
|
filters = props.filters,
|
|
7923
7902
|
users = props.users,
|
|
7924
7903
|
searchBy = props.searchBy,
|
|
7925
|
-
searchString = props.searchString,
|
|
7926
7904
|
defaultOptions = props.defaultOptions,
|
|
7927
7905
|
selectedOptions = props.selectedOptions,
|
|
7906
|
+
searchKey = props.searchKey,
|
|
7907
|
+
onChangeSearchKey = props.onChangeSearchKey,
|
|
7928
7908
|
onOptionsChange = props.onOptionsChange,
|
|
7929
7909
|
onSearch = props.onSearch,
|
|
7930
7910
|
onClose = props.onClose,
|
|
@@ -7939,28 +7919,32 @@ var useFilterPopover = function useFilterPopover(props) {
|
|
|
7939
7919
|
filteredOptions = _useState2[0],
|
|
7940
7920
|
setFilteredOptions = _useState2[1];
|
|
7941
7921
|
|
|
7942
|
-
var _useState3 = React.useState(""),
|
|
7943
|
-
searchKey = _useState3[0],
|
|
7944
|
-
setSearchKey = _useState3[1];
|
|
7945
|
-
|
|
7946
7922
|
var ref = React.useRef(null);
|
|
7923
|
+
var inputRef = React.useRef(null);
|
|
7947
7924
|
useClickOutside(ref, onClose);
|
|
7948
7925
|
|
|
7949
7926
|
var _useTranslation = reactI18next.useTranslation(),
|
|
7950
7927
|
t = _useTranslation.t;
|
|
7951
7928
|
|
|
7952
7929
|
var handleSearch = React.useCallback(function () {
|
|
7953
|
-
|
|
7930
|
+
var _searchKey$trim, _searchKey$trim2;
|
|
7931
|
+
|
|
7932
|
+
if (!isOpen) return;
|
|
7933
|
+
var searchString = (_searchKey$trim = searchKey === null || searchKey === void 0 ? void 0 : (_searchKey$trim2 = searchKey.trim) === null || _searchKey$trim2 === void 0 ? void 0 : _searchKey$trim2.call(searchKey)) != null ? _searchKey$trim : "";
|
|
7934
|
+
searchBy != undefined && !defaultOptions && (onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchString, searchBy));
|
|
7954
7935
|
searchBy != undefined && !!defaultOptions && setFilteredOptions(defaultOptions.filter(function (i) {
|
|
7955
|
-
return i.label.toLowerCase().includes(
|
|
7936
|
+
return i.label.toLowerCase().includes(searchString.toLowerCase());
|
|
7956
7937
|
}));
|
|
7957
|
-
}, [searchBy, searchKey, JSON.stringify(defaultOptions)]);
|
|
7938
|
+
}, [searchBy, searchKey, JSON.stringify(defaultOptions), isOpen]);
|
|
7958
7939
|
|
|
7959
|
-
var
|
|
7960
|
-
|
|
7940
|
+
var debounceSearch = function debounceSearch() {
|
|
7941
|
+
if (!!inputRef.current) clearTimeout(inputRef.current);
|
|
7942
|
+
inputRef.current = setTimeout(handleSearch, 500);
|
|
7943
|
+
};
|
|
7961
7944
|
|
|
7962
|
-
|
|
7963
|
-
|
|
7945
|
+
var handleChangeSearchKey = function handleChangeSearchKey(e) {
|
|
7946
|
+
var value = e.target.value;
|
|
7947
|
+
onChangeSearchKey(value);
|
|
7964
7948
|
};
|
|
7965
7949
|
|
|
7966
7950
|
var handleApplyFilter = React.useCallback(function () {
|
|
@@ -7968,9 +7952,9 @@ var useFilterPopover = function useFilterPopover(props) {
|
|
|
7968
7952
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
7969
7953
|
}, [JSON.stringify(sOptions)]);
|
|
7970
7954
|
var handleOptionSelected = React.useCallback(function (e) {
|
|
7971
|
-
var _e$target$
|
|
7955
|
+
var _e$target$value;
|
|
7972
7956
|
|
|
7973
|
-
var value = (_e$target$
|
|
7957
|
+
var value = (_e$target$value = e.target.value) != null ? _e$target$value : "";
|
|
7974
7958
|
var newOptions = sOptions != null ? sOptions : [];
|
|
7975
7959
|
var index = newOptions.indexOf(value);
|
|
7976
7960
|
|
|
@@ -7992,22 +7976,19 @@ var useFilterPopover = function useFilterPopover(props) {
|
|
|
7992
7976
|
isDescending: (filters === null || filters === void 0 ? void 0 : filters.isDescending) === true ? undefined : true
|
|
7993
7977
|
}));
|
|
7994
7978
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
7995
|
-
}, [JSON.stringify(filters), searchBy
|
|
7979
|
+
}, [JSON.stringify(filters), searchBy]);
|
|
7996
7980
|
var handleSortAsc = React.useCallback(function () {
|
|
7997
7981
|
onChangeFilters === null || onChangeFilters === void 0 ? void 0 : onChangeFilters(_extends({}, filters, {
|
|
7998
7982
|
sortBy: (filters === null || filters === void 0 ? void 0 : filters.isDescending) === false ? undefined : sortBy,
|
|
7999
7983
|
isDescending: (filters === null || filters === void 0 ? void 0 : filters.isDescending) === false ? undefined : false
|
|
8000
7984
|
}));
|
|
8001
7985
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
8002
|
-
}, [JSON.stringify(filters), searchBy
|
|
7986
|
+
}, [JSON.stringify(filters), searchBy]);
|
|
8003
7987
|
var options = React.useMemo(function () {
|
|
8004
7988
|
if (!getOption) return [];
|
|
8005
|
-
return users.
|
|
8006
|
-
|
|
8007
|
-
|
|
8008
|
-
var option = getOption(current, t);
|
|
8009
|
-
return _extends({}, i, (_extends2 = {}, _extends2[option.label] = option.value, _extends2));
|
|
8010
|
-
}, {});
|
|
7989
|
+
return users.map(function (i) {
|
|
7990
|
+
return getOption(i, t);
|
|
7991
|
+
});
|
|
8011
7992
|
}, [JSON.stringify(users), JSON.stringify(getOption)]);
|
|
8012
7993
|
var isAscending = (filters === null || filters === void 0 ? void 0 : filters.isDescending) == false && filters.sortBy === sortBy;
|
|
8013
7994
|
var isDescending = !!(filters !== null && filters !== void 0 && filters.isDescending) && filters.sortBy === sortBy;
|
|
@@ -8018,14 +7999,12 @@ var useFilterPopover = function useFilterPopover(props) {
|
|
|
8018
7999
|
setFilteredOptions(defaultOptions || []);
|
|
8019
8000
|
}, [JSON.stringify(defaultOptions)]);
|
|
8020
8001
|
React.useEffect(function () {
|
|
8021
|
-
|
|
8022
|
-
}, [searchBy, searchString, filters === null || filters === void 0 ? void 0 : filters.searchBy]);
|
|
8023
|
-
React.useEffect(function () {
|
|
8024
|
-
isOpen && handleSearch();
|
|
8002
|
+
debounceSearch();
|
|
8025
8003
|
}, [searchKey, isOpen]);
|
|
8026
8004
|
return {
|
|
8027
8005
|
ref: ref,
|
|
8028
8006
|
options: options,
|
|
8007
|
+
inputRef: inputRef,
|
|
8029
8008
|
sOptions: sOptions,
|
|
8030
8009
|
isAscending: isAscending,
|
|
8031
8010
|
isDescending: isDescending,
|
|
@@ -8048,6 +8027,7 @@ var FilterPopover = function FilterPopover(props) {
|
|
|
8048
8027
|
|
|
8049
8028
|
var _useFilterPopover = useFilterPopover(props),
|
|
8050
8029
|
ref = _useFilterPopover.ref,
|
|
8030
|
+
inputRef = _useFilterPopover.inputRef,
|
|
8051
8031
|
options = _useFilterPopover.options,
|
|
8052
8032
|
sOptions = _useFilterPopover.sOptions,
|
|
8053
8033
|
isAscending = _useFilterPopover.isAscending,
|
|
@@ -8082,7 +8062,7 @@ var FilterPopover = function FilterPopover(props) {
|
|
|
8082
8062
|
onClick: handleSortDesc
|
|
8083
8063
|
}, React__default.createElement(ai.AiOutlineSortDescending, {
|
|
8084
8064
|
className: "mr-1"
|
|
8085
|
-
}), "Descending")), typeof getOption != 'undefined' && React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
|
|
8065
|
+
}), "Descending")), (typeof getOption != 'undefined' || !!defaultOptions) && React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
|
|
8086
8066
|
className: "border border-top-1 border-bottom-0 mx-1 my-2"
|
|
8087
8067
|
}), React__default.createElement("div", {
|
|
8088
8068
|
className: "d-flex flex-column"
|
|
@@ -8093,6 +8073,7 @@ var FilterPopover = function FilterPopover(props) {
|
|
|
8093
8073
|
}, React__default.createElement(bi.BiSearchAlt2, {
|
|
8094
8074
|
className: "position-absolute " + styles["popover__search__icon"]
|
|
8095
8075
|
}), React__default.createElement(reactstrap.Input, {
|
|
8076
|
+
ref: inputRef,
|
|
8096
8077
|
className: styles["popover__search__input"],
|
|
8097
8078
|
value: searchKey,
|
|
8098
8079
|
onChange: handleChangeSearchKey
|
|
@@ -8107,19 +8088,19 @@ var FilterPopover = function FilterPopover(props) {
|
|
|
8107
8088
|
checked: sOptions == undefined
|
|
8108
8089
|
}), " ", React__default.createElement(reactstrap.Label, {
|
|
8109
8090
|
check: true
|
|
8110
|
-
}, "(Select all)")), !!getOption && !defaultOptions &&
|
|
8091
|
+
}, "(Select all)")), !!getOption && !defaultOptions && options.map(function (i) {
|
|
8111
8092
|
return React__default.createElement(reactstrap.FormGroup, {
|
|
8112
|
-
key: i.
|
|
8093
|
+
key: i.value,
|
|
8113
8094
|
className: "d-flex align-items-center",
|
|
8114
8095
|
check: true
|
|
8115
8096
|
}, React__default.createElement(reactstrap.Input, {
|
|
8116
8097
|
type: "checkbox",
|
|
8117
|
-
value:
|
|
8098
|
+
value: i.value,
|
|
8118
8099
|
onChange: handleOptionSelected,
|
|
8119
|
-
checked: (sOptions === null || sOptions === void 0 ? void 0 : sOptions.includes(
|
|
8100
|
+
checked: (sOptions === null || sOptions === void 0 ? void 0 : sOptions.includes(i.value)) || sOptions == undefined
|
|
8120
8101
|
}), " ", React__default.createElement(reactstrap.Label, {
|
|
8121
8102
|
check: true
|
|
8122
|
-
}, i));
|
|
8103
|
+
}, i.label));
|
|
8123
8104
|
}), !!defaultOptions && filteredOptions.map(function (i) {
|
|
8124
8105
|
return React__default.createElement(reactstrap.FormGroup, {
|
|
8125
8106
|
key: i.value,
|
|
@@ -8153,14 +8134,22 @@ var HeaderCell = function HeaderCell(_ref) {
|
|
|
8153
8134
|
var data = _ref.data,
|
|
8154
8135
|
popoverId = _ref.popoverId,
|
|
8155
8136
|
filters = _ref.filters,
|
|
8137
|
+
searchString = _ref.searchString,
|
|
8138
|
+
users = _ref.users,
|
|
8139
|
+
selectedOptions = _ref.selectedOptions,
|
|
8140
|
+
onOptionsChange = _ref.onOptionsChange,
|
|
8141
|
+
onSearch = _ref.onSearch,
|
|
8156
8142
|
onChangeFilters = _ref.onChangeFilters,
|
|
8157
8143
|
onOpenFilter = _ref.onOpenFilter,
|
|
8158
|
-
onClose = _ref.onClose
|
|
8159
|
-
rest = _objectWithoutPropertiesLoose(_ref, ["data", "popoverId", "filters", "onChangeFilters", "onOpenFilter", "onClose"]);
|
|
8144
|
+
onClose = _ref.onClose;
|
|
8160
8145
|
|
|
8161
8146
|
var _useTranslation = reactI18next.useTranslation(),
|
|
8162
8147
|
t = _useTranslation.t;
|
|
8163
8148
|
|
|
8149
|
+
var _useState = React.useState(""),
|
|
8150
|
+
searchKey = _useState[0],
|
|
8151
|
+
setSearchKey = _useState[1];
|
|
8152
|
+
|
|
8164
8153
|
var id = React.useMemo(function () {
|
|
8165
8154
|
return data.sortBy != undefined ? userOrders[data.sortBy] : "";
|
|
8166
8155
|
}, [data.sortBy]);
|
|
@@ -8169,7 +8158,11 @@ var HeaderCell = function HeaderCell(_ref) {
|
|
|
8169
8158
|
}, [id, popoverId]);
|
|
8170
8159
|
|
|
8171
8160
|
var handleOpenFilter = function handleOpenFilter() {
|
|
8172
|
-
onOpenFilter === null || onOpenFilter === void 0 ? void 0 : onOpenFilter(id);
|
|
8161
|
+
onOpenFilter === null || onOpenFilter === void 0 ? void 0 : onOpenFilter(id, data.searchBy, searchKey, data.sortBy);
|
|
8162
|
+
};
|
|
8163
|
+
|
|
8164
|
+
var handleChangeSearchKey = function handleChangeSearchKey(value) {
|
|
8165
|
+
setSearchKey(value);
|
|
8173
8166
|
};
|
|
8174
8167
|
|
|
8175
8168
|
return React__default.createElement("th", {
|
|
@@ -8183,18 +8176,25 @@ var HeaderCell = function HeaderCell(_ref) {
|
|
|
8183
8176
|
style: {
|
|
8184
8177
|
cursor: "pointer"
|
|
8185
8178
|
}
|
|
8186
|
-
}, data.sortBy !== undefined && data.sortBy === (filters === null || filters === void 0 ? void 0 : filters.sortBy) && React__default.createElement("span", null, filters.isDescending ? React__default.createElement(ai.AiOutlineSortDescending, null) : React__default.createElement(ai.AiOutlineSortAscending, null)), !!(filters !== null && filters !== void 0 && (_filters$searchByStri = filters.searchByStrings) !== null && _filters$searchByStri !== void 0 && _filters$searchByStri.length) && data.searchBy === (filters === null || filters === void 0 ? void 0 : filters.searchBy) ? React__default.createElement(hi.HiFilter, null) : React__default.createElement(bi.BiFilterAlt, null)), React__default.createElement(FilterPopover,
|
|
8187
|
-
target: id,
|
|
8179
|
+
}, data.sortBy !== undefined && data.sortBy === (filters === null || filters === void 0 ? void 0 : filters.sortBy) && React__default.createElement("span", null, filters.isDescending ? React__default.createElement(ai.AiOutlineSortDescending, null) : React__default.createElement(ai.AiOutlineSortAscending, null)), !!(filters !== null && filters !== void 0 && (_filters$searchByStri = filters.searchByStrings) !== null && _filters$searchByStri !== void 0 && _filters$searchByStri.length) && data.searchBy === (filters === null || filters === void 0 ? void 0 : filters.searchBy) ? React__default.createElement(hi.HiFilter, null) : React__default.createElement(bi.BiFilterAlt, null)), React__default.createElement(FilterPopover, {
|
|
8188
8180
|
placement: "bottom-end",
|
|
8181
|
+
target: id,
|
|
8182
|
+
users: users,
|
|
8189
8183
|
isOpen: isOpen,
|
|
8190
8184
|
filters: filters,
|
|
8191
|
-
onClose: onClose,
|
|
8192
|
-
onChangeFilters: onChangeFilters,
|
|
8193
8185
|
sortBy: data.sortBy,
|
|
8186
|
+
searchKey: searchKey,
|
|
8194
8187
|
searchBy: data.searchBy,
|
|
8188
|
+
searchString: searchString,
|
|
8189
|
+
defaultOptions: data.options,
|
|
8190
|
+
selectedOptions: selectedOptions,
|
|
8191
|
+
onClose: onClose,
|
|
8192
|
+
onSearch: onSearch,
|
|
8195
8193
|
getOption: data.getOption,
|
|
8196
|
-
|
|
8197
|
-
|
|
8194
|
+
onChangeFilters: onChangeFilters,
|
|
8195
|
+
onOptionsChange: onOptionsChange,
|
|
8196
|
+
onChangeSearchKey: handleChangeSearchKey
|
|
8197
|
+
})) : t(data.name));
|
|
8198
8198
|
};
|
|
8199
8199
|
|
|
8200
8200
|
var useTableHeader = function useTableHeader(props) {
|
|
@@ -8210,7 +8210,6 @@ var useTableHeader = function useTableHeader(props) {
|
|
|
8210
8210
|
setUsers = _useState2[1];
|
|
8211
8211
|
|
|
8212
8212
|
var _useState3 = React.useState(_extends({}, DEFAULT_FILTER_POPOVER, {
|
|
8213
|
-
sortBy: filters.sortBy,
|
|
8214
8213
|
isDescending: filters.isDescending,
|
|
8215
8214
|
searchString: filters.searchString
|
|
8216
8215
|
})),
|
|
@@ -8221,14 +8220,10 @@ var useTableHeader = function useTableHeader(props) {
|
|
|
8221
8220
|
var getData = React.useCallback(function () {
|
|
8222
8221
|
try {
|
|
8223
8222
|
var _temp2 = _catch(function () {
|
|
8224
|
-
return Promise.resolve(
|
|
8225
|
-
var
|
|
8226
|
-
|
|
8227
|
-
for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {
|
|
8228
|
-
var user = _step.value;
|
|
8229
|
-
user.roles = user.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : user.roles;
|
|
8230
|
-
}
|
|
8223
|
+
return Promise.resolve(getFilterRosterUser(popoverFilters)).then(function (res) {
|
|
8224
|
+
var _res$data;
|
|
8231
8225
|
|
|
8226
|
+
var items = ((_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.items) || [];
|
|
8232
8227
|
setUsers(items);
|
|
8233
8228
|
});
|
|
8234
8229
|
}, function (err) {
|
|
@@ -8245,25 +8240,24 @@ var useTableHeader = function useTableHeader(props) {
|
|
|
8245
8240
|
return Promise.reject(e);
|
|
8246
8241
|
}
|
|
8247
8242
|
}, [JSON.stringify(popoverFilters)]);
|
|
8248
|
-
|
|
8249
|
-
var handleFilterIcon = function handleFilterIcon(id) {
|
|
8243
|
+
var handleFilterIcon = React.useCallback(function (id, searchBy, searchStringBy, sortBy) {
|
|
8250
8244
|
setPopoverId(id);
|
|
8251
|
-
|
|
8245
|
+
setPopoverFilters(_extends({}, popoverFilters, {
|
|
8246
|
+
searchBy: searchBy,
|
|
8247
|
+
searchStringBy: searchStringBy,
|
|
8248
|
+
isDescending: filters.sortBy === sortBy ? filters.isDescending : undefined,
|
|
8249
|
+
searchString: filters.searchString
|
|
8250
|
+
}));
|
|
8251
|
+
}, [JSON.stringify(popoverFilters), filters.isDescending, filters.searchString]);
|
|
8252
8252
|
|
|
8253
8253
|
var handleCloseFilter = function handleCloseFilter() {
|
|
8254
8254
|
setPopoverId("");
|
|
8255
8255
|
};
|
|
8256
8256
|
|
|
8257
|
-
React.useEffect(function () {
|
|
8258
|
-
setPopoverFilters(_extends({}, popoverFilters, {
|
|
8259
|
-
sortBy: filters.sortBy,
|
|
8260
|
-
isDescending: filters.isDescending
|
|
8261
|
-
}));
|
|
8262
|
-
}, [filters.sortBy, filters.isDescending]);
|
|
8263
8257
|
var handleSearch = React.useCallback(function (search, searchBy) {
|
|
8264
8258
|
setPopoverFilters(_extends({}, popoverFilters, {
|
|
8265
|
-
|
|
8266
|
-
|
|
8259
|
+
searchBy: searchBy,
|
|
8260
|
+
searchStringBy: search
|
|
8267
8261
|
}));
|
|
8268
8262
|
}, [JSON.stringify(popoverFilters)]);
|
|
8269
8263
|
var handleChangeFilters = React.useCallback(function (value, searchBy) {
|
|
@@ -8273,15 +8267,8 @@ var useTableHeader = function useTableHeader(props) {
|
|
|
8273
8267
|
}));
|
|
8274
8268
|
}, [JSON.stringify(filters)]);
|
|
8275
8269
|
React.useEffect(function () {
|
|
8276
|
-
getData();
|
|
8270
|
+
popoverFilters.searchBy !== undefined && getData();
|
|
8277
8271
|
}, [JSON.stringify(popoverFilters)]);
|
|
8278
|
-
React.useEffect(function () {
|
|
8279
|
-
setPopoverFilters(_extends({}, DEFAULT_FILTER_POPOVER, popoverFilters, {
|
|
8280
|
-
sortBy: filters.sortBy,
|
|
8281
|
-
isDescending: filters.isDescending,
|
|
8282
|
-
searchString: filters.searchString
|
|
8283
|
-
}));
|
|
8284
|
-
}, [JSON.stringify(filters), JSON.stringify(popoverFilters)]);
|
|
8285
8272
|
return {
|
|
8286
8273
|
popoverFilters: popoverFilters,
|
|
8287
8274
|
popoverId: popoverId,
|
|
@@ -8302,7 +8289,6 @@ var TableHeader = function TableHeader(_ref) {
|
|
|
8302
8289
|
filters: filters,
|
|
8303
8290
|
onChangeFilters: onChangeFilters
|
|
8304
8291
|
}),
|
|
8305
|
-
popoverFilters = _useTableHeader.popoverFilters,
|
|
8306
8292
|
popoverId = _useTableHeader.popoverId,
|
|
8307
8293
|
users = _useTableHeader.users,
|
|
8308
8294
|
handleFilterIcon = _useTableHeader.handleFilterIcon,
|
|
@@ -8312,17 +8298,16 @@ var TableHeader = function TableHeader(_ref) {
|
|
|
8312
8298
|
|
|
8313
8299
|
return React__default.createElement("tr", null, headers.map(function (header) {
|
|
8314
8300
|
return React__default.createElement(HeaderCell, {
|
|
8315
|
-
|
|
8301
|
+
users: users,
|
|
8316
8302
|
data: header,
|
|
8317
|
-
|
|
8303
|
+
key: header.name,
|
|
8318
8304
|
filters: filters,
|
|
8319
|
-
|
|
8320
|
-
searchString: popoverFilters.searchStringBy,
|
|
8305
|
+
popoverId: popoverId,
|
|
8321
8306
|
selectedOptions: filters.searchByStrings,
|
|
8322
8307
|
onSearch: handleSearch,
|
|
8323
|
-
onChangeFilters: onChangeFilters,
|
|
8324
8308
|
onClose: handleCloseFilter,
|
|
8325
8309
|
onOpenFilter: handleFilterIcon,
|
|
8310
|
+
onChangeFilters: onChangeFilters,
|
|
8326
8311
|
onOptionsChange: handleChangeFilters
|
|
8327
8312
|
});
|
|
8328
8313
|
}));
|