mario-core 2.9.158-level → 2.9.159-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,8 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import { FilterOption, SearchBy, UserFilter, UserOrder } from "../constants/types";
3
- interface Props {
3
+ import { PopoverProps } from "reactstrap";
4
+ interface Props extends PopoverProps {
4
5
  filters?: UserFilter;
5
6
  sortBy: UserOrder;
7
+ searchString?: string;
6
8
  searchBy?: SearchBy;
7
9
  users: any[];
8
10
  defaultOptions?: FilterOption[];
@@ -21,11 +23,13 @@ declare const useFilterPopover: (props: Props) => {
21
23
  isAscending: boolean;
22
24
  isDescending: boolean;
23
25
  filteredOptions: FilterOption[];
24
- handleSearch: (e: any) => void;
26
+ searchKey: string;
27
+ handleSearch: () => void;
25
28
  handleApplyFilter: () => void;
26
29
  handleOptionSelected: (e?: any) => void;
27
30
  handleOptionSelectedAll: (e?: any) => void;
28
31
  handleSortDesc: () => void;
29
32
  handleSortAsc: () => void;
33
+ handleChangeSearchKey: (e: any) => void;
30
34
  };
31
35
  export default useFilterPopover;
package/dist/index.js CHANGED
@@ -7380,7 +7380,7 @@ var UserColumns = [{
7380
7380
 
7381
7381
  return {
7382
7382
  label: user.fullName || "empty",
7383
- value: (_user$fullName = user.fullName) === null || _user$fullName === void 0 ? void 0 : (_user$fullName$trim = _user$fullName.trim) === null || _user$fullName$trim === void 0 ? void 0 : _user$fullName$trim.call(_user$fullName)
7383
+ value: ((_user$fullName = user.fullName) === null || _user$fullName === void 0 ? void 0 : (_user$fullName$trim = _user$fullName.trim) === null || _user$fullName$trim === void 0 ? void 0 : _user$fullName$trim.call(_user$fullName)) || ""
7384
7384
  };
7385
7385
  }
7386
7386
  }, {
@@ -7393,7 +7393,7 @@ var UserColumns = [{
7393
7393
 
7394
7394
  return {
7395
7395
  label: user.email || "empty",
7396
- value: (_user$email = user.email) === null || _user$email === void 0 ? void 0 : (_user$email$trim = _user$email.trim) === null || _user$email$trim === void 0 ? void 0 : _user$email$trim.call(_user$email)
7396
+ value: ((_user$email = user.email) === null || _user$email === void 0 ? void 0 : (_user$email$trim = _user$email.trim) === null || _user$email$trim === void 0 ? void 0 : _user$email$trim.call(_user$email)) || ""
7397
7397
  };
7398
7398
  }
7399
7399
  }, {
@@ -7412,7 +7412,7 @@ var UserColumns = [{
7412
7412
  label: (_user$roles = user.roles) !== null && _user$roles !== void 0 && _user$roles.length ? (_user$roles2 = user.roles) === null || _user$roles2 === void 0 ? void 0 : _user$roles2.map(function (role) {
7413
7413
  return role === "SecondaryTeacher" ? "SupportTeacher" : role;
7414
7414
  }).join(", ") : "empty",
7415
- 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)
7415
+ 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)) || ""
7416
7416
  };
7417
7417
  }
7418
7418
  }, {
@@ -7467,7 +7467,7 @@ var UserColumns = [{
7467
7467
 
7468
7468
  return {
7469
7469
  label: result.length ? result.join(" / ") : "empty",
7470
- value: "" + (sourcedId || "") + ((rosterUser === null || rosterUser === void 0 ? void 0 : rosterUser.familyName) || "") + ((rosterUser === null || rosterUser === void 0 ? void 0 : rosterUser.middleName) || "") + ((rosterUser === null || rosterUser === void 0 ? void 0 : rosterUser.givenName) || "") + ((rosterUser === null || rosterUser === void 0 ? void 0 : rosterUser.email) || "")
7470
+ value: !!rosterUser ? "" + (sourcedId || "") + ((rosterUser === null || rosterUser === void 0 ? void 0 : rosterUser.familyName) || "") + ((rosterUser === null || rosterUser === void 0 ? void 0 : rosterUser.middleName) || "") + ((rosterUser === null || rosterUser === void 0 ? void 0 : rosterUser.givenName) || "") + ((rosterUser === null || rosterUser === void 0 ? void 0 : rosterUser.email) || "") : ""
7471
7471
  };
7472
7472
  }
7473
7473
  }, {
@@ -7916,10 +7916,12 @@ var useClickOutside = function useClickOutside(wrapperRef, onClickOutside) {
7916
7916
  };
7917
7917
 
7918
7918
  var useFilterPopover = function useFilterPopover(props) {
7919
- var sortBy = props.sortBy,
7919
+ var isOpen = props.isOpen,
7920
+ sortBy = props.sortBy,
7920
7921
  filters = props.filters,
7921
7922
  users = props.users,
7922
7923
  searchBy = props.searchBy,
7924
+ searchString = props.searchString,
7923
7925
  defaultOptions = props.defaultOptions,
7924
7926
  selectedOptions = props.selectedOptions,
7925
7927
  onOptionsChange = props.onOptionsChange,
@@ -7936,43 +7938,52 @@ var useFilterPopover = function useFilterPopover(props) {
7936
7938
  filteredOptions = _useState2[0],
7937
7939
  setFilteredOptions = _useState2[1];
7938
7940
 
7941
+ var _useState3 = React.useState(""),
7942
+ searchKey = _useState3[0],
7943
+ setSearchKey = _useState3[1];
7944
+
7939
7945
  var ref = React.useRef(null);
7940
7946
  useClickOutside(ref, onClose);
7941
7947
 
7942
7948
  var _useTranslation = reactI18next.useTranslation(),
7943
7949
  t = _useTranslation.t;
7944
7950
 
7945
- var handleSearch = React.useCallback(function (e) {
7946
- var _e$target$value$trim, _e$target$value;
7947
-
7948
- var value = (_e$target$value$trim = (_e$target$value = e.target.value) === null || _e$target$value === void 0 ? void 0 : _e$target$value.trim()) != null ? _e$target$value$trim : "";
7949
- searchBy != undefined && !defaultOptions && (onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, searchBy));
7951
+ var handleSearch = React.useCallback(function () {
7952
+ searchBy != undefined && !defaultOptions && (onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKey, searchBy));
7950
7953
  searchBy != undefined && !!defaultOptions && setFilteredOptions(defaultOptions.filter(function (i) {
7951
- return i.label.toLowerCase().includes(value === null || value === void 0 ? void 0 : value.toLowerCase());
7954
+ return i.label.toLowerCase().includes(searchKey === null || searchKey === void 0 ? void 0 : searchKey.toLowerCase());
7952
7955
  }));
7953
- }, [searchBy, JSON.stringify(defaultOptions)]);
7956
+ }, [searchBy, searchKey, JSON.stringify(defaultOptions)]);
7957
+
7958
+ var handleChangeSearchKey = function handleChangeSearchKey(e) {
7959
+ var _e$target$value;
7960
+
7961
+ var value = (_e$target$value = e.target.value) != null ? _e$target$value : "";
7962
+ setSearchKey(value);
7963
+ };
7964
+
7954
7965
  var handleApplyFilter = React.useCallback(function () {
7955
7966
  onOptionsChange === null || onOptionsChange === void 0 ? void 0 : onOptionsChange(sOptions, searchBy);
7956
7967
  onClose === null || onClose === void 0 ? void 0 : onClose();
7957
7968
  }, [JSON.stringify(sOptions)]);
7958
7969
  var handleOptionSelected = React.useCallback(function (e) {
7959
- var value = e.target.value;
7960
- if (!value) setSOptions(undefined);else {
7961
- var newOptions = sOptions != null ? sOptions : [];
7962
- var index = newOptions.indexOf(value);
7970
+ var _e$target$value2;
7963
7971
 
7964
- if (index > -1) {
7965
- newOptions.splice(index, 1);
7966
- } else {
7967
- newOptions = [].concat(newOptions, [value]);
7968
- }
7972
+ var value = (_e$target$value2 = e.target.value) != null ? _e$target$value2 : "";
7973
+ var newOptions = sOptions != null ? sOptions : [];
7974
+ var index = newOptions.indexOf(value);
7969
7975
 
7970
- setSOptions(newOptions == undefined ? newOptions : [].concat(newOptions));
7976
+ if (index > -1) {
7977
+ newOptions.splice(index, 1);
7978
+ } else {
7979
+ newOptions = [].concat(newOptions, [value]);
7971
7980
  }
7981
+
7982
+ setSOptions(newOptions == undefined ? newOptions : [].concat(newOptions));
7972
7983
  }, [JSON.stringify(sOptions)]);
7973
7984
  var handleOptionSelectedAll = React.useCallback(function (e) {
7974
7985
  var value = e.target.checked;
7975
- if (!value) setSOptions([""]);else setSOptions(undefined);
7986
+ if (!value) setSOptions([]);else setSOptions(undefined);
7976
7987
  }, []);
7977
7988
  var handleSortDesc = React.useCallback(function () {
7978
7989
  onChangeFilters === null || onChangeFilters === void 0 ? void 0 : onChangeFilters(_extends({}, filters, {
@@ -8005,6 +8016,12 @@ var useFilterPopover = function useFilterPopover(props) {
8005
8016
  React.useEffect(function () {
8006
8017
  setFilteredOptions(defaultOptions || []);
8007
8018
  }, [JSON.stringify(defaultOptions)]);
8019
+ React.useEffect(function () {
8020
+ if ((filters === null || filters === void 0 ? void 0 : filters.searchBy) === searchBy) setSearchKey(searchString || "");
8021
+ }, [searchBy, searchString, filters === null || filters === void 0 ? void 0 : filters.searchBy]);
8022
+ React.useEffect(function () {
8023
+ isOpen && handleSearch();
8024
+ }, [searchKey, isOpen]);
8008
8025
  return {
8009
8026
  ref: ref,
8010
8027
  options: options,
@@ -8012,18 +8029,19 @@ var useFilterPopover = function useFilterPopover(props) {
8012
8029
  isAscending: isAscending,
8013
8030
  isDescending: isDescending,
8014
8031
  filteredOptions: filteredOptions,
8032
+ searchKey: searchKey,
8015
8033
  handleSearch: handleSearch,
8016
8034
  handleApplyFilter: handleApplyFilter,
8017
8035
  handleOptionSelected: handleOptionSelected,
8018
8036
  handleOptionSelectedAll: handleOptionSelectedAll,
8019
8037
  handleSortDesc: handleSortDesc,
8020
- handleSortAsc: handleSortAsc
8038
+ handleSortAsc: handleSortAsc,
8039
+ handleChangeSearchKey: handleChangeSearchKey
8021
8040
  };
8022
8041
  };
8023
8042
 
8024
8043
  var FilterPopover = function FilterPopover(props) {
8025
- var searchString = props.searchString,
8026
- defaultOptions = props.defaultOptions,
8044
+ var defaultOptions = props.defaultOptions,
8027
8045
  onClose = props.onClose,
8028
8046
  getOption = props.getOption;
8029
8047
 
@@ -8034,7 +8052,8 @@ var FilterPopover = function FilterPopover(props) {
8034
8052
  isAscending = _useFilterPopover.isAscending,
8035
8053
  isDescending = _useFilterPopover.isDescending,
8036
8054
  filteredOptions = _useFilterPopover.filteredOptions,
8037
- handleSearch = _useFilterPopover.handleSearch,
8055
+ searchKey = _useFilterPopover.searchKey,
8056
+ handleChangeSearchKey = _useFilterPopover.handleChangeSearchKey,
8038
8057
  handleApplyFilter = _useFilterPopover.handleApplyFilter,
8039
8058
  handleOptionSelected = _useFilterPopover.handleOptionSelected,
8040
8059
  handleOptionSelectedAll = _useFilterPopover.handleOptionSelectedAll,
@@ -8074,8 +8093,8 @@ var FilterPopover = function FilterPopover(props) {
8074
8093
  className: "position-absolute " + styles["popover__search__icon"]
8075
8094
  }), React__default.createElement(reactstrap.Input, {
8076
8095
  className: styles["popover__search__input"],
8077
- value: searchString,
8078
- onChange: handleSearch
8096
+ value: searchKey,
8097
+ onChange: handleChangeSearchKey
8079
8098
  })), React__default.createElement("div", {
8080
8099
  className: "mx-1 mt-2 p-2 bg-light " + styles["popover__options"]
8081
8100
  }, React__default.createElement(reactstrap.FormGroup, {
@@ -8256,12 +8275,12 @@ var useTableHeader = function useTableHeader(props) {
8256
8275
  getData();
8257
8276
  }, [JSON.stringify(popoverFilters)]);
8258
8277
  React.useEffect(function () {
8259
- setPopoverFilters(_extends({}, DEFAULT_FILTER_POPOVER, {
8278
+ setPopoverFilters(_extends({}, DEFAULT_FILTER_POPOVER, popoverFilters, {
8260
8279
  sortBy: filters.sortBy,
8261
8280
  isDescending: filters.isDescending,
8262
8281
  searchString: filters.searchString
8263
8282
  }));
8264
- }, [JSON.stringify(filters)]);
8283
+ }, [JSON.stringify(filters), JSON.stringify(popoverFilters)]);
8265
8284
  return {
8266
8285
  popoverFilters: popoverFilters,
8267
8286
  popoverId: popoverId,