@itilite/iui-user-management 1.0.1 → 1.0.2

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,4 +1,4 @@
1
- import { IUIAsyncSelect, IUIBox, IUILabel, IUIFileUpload, IUICheckboxButton, IUIPhone, IUISelect, IUIDatePicker, IUIInput, IUIDivider, IUIGrid, IUITypography, IUIRadio, IUIButton, IUIModal, IUIAccordion, IUIAccordionSummary, IUIAccordionDetails, IUIIconButton, IUICard, IUIBackdrop, IUICircularProgress, IUIBreadCrumb, IUIDropzone, IUIStepper, IUIFormControlLabel, IUICheckBox, IUIPrimaryRadio, IUITable, IUISkeleton, IUIProfileBox, IUIFormGroup, IUIDropdownButton, IUITabs } from '@itilite/iuistyles';
1
+ import { IUIAsyncSelect, IUIBox, IUILabel, IUIFileUpload, IUICheckboxButton, IUIPhone, IUISelect, IUIDatePicker, IUIInput, IUIDivider, IUIGrid, IUITypography, IUIRadio, IUIButton, IUIModal, IUIAccordion, IUIAccordionSummary, IUIAccordionDetails, IUIIconButton, IUICard, IUIBackdrop, IUICircularProgress, IUIBreadCrumb, IUIDropzone, IUIStepper, IUIFormControlLabel, IUICheckBox, IUIPrimaryRadio, IUITable, IUISkeleton, IUIProfileBox, IUIFormGroup, IUISearch, IUIDropdownButton, IUITabs } from '@itilite/iuistyles';
2
2
  import React, { useState, useEffect, useRef, Fragment as Fragment$1 } from 'react';
3
3
  import { configs, services, utilUrls } from '@itilite/utils';
4
4
  import axios from 'axios';
@@ -14,7 +14,8 @@ import { withStyles } from '@material-ui/core/styles';
14
14
  import Switch from '@material-ui/core/Switch';
15
15
  import MoreHorizIcon from '@material-ui/icons/MoreHoriz';
16
16
  import Button from '@material-ui/core/Button';
17
- import { Popper, Grow, Paper, ClickAwayListener, MenuList, MenuItem, Typography } from '@material-ui/core';
17
+ import { Popper, Grow, Paper, ClickAwayListener, MenuList, MenuItem, Typography, Box } from '@material-ui/core';
18
+ import { useScrollPosition } from '@n8tb1t/use-scroll-position';
18
19
 
19
20
  function _extends() {
20
21
  _extends = Object.assign ? Object.assign.bind() : function (target) {
@@ -6698,7 +6699,7 @@ var fetchBulkactionHistory = function fetchBulkactionHistory(url) {
6698
6699
  };
6699
6700
  };
6700
6701
 
6701
- var styles$5 = {"UUIUserManagementList":"_3WNHx","pageHeader":"_1WLpc","buttonWrapper":"_2egTG","headingWrapper":"_1He01","headingSignUpWrapper":"_Q8vqd","heading":"_1uPaO","headingLarge":"_2FsLd","headingMedium":"_nGXA9","headingSmall":"_2rpwF","description":"_25vb9","headerText":"_1Ny9J","letterImage":"_2hr3R","tablewrapper":"_1-RPw","rowText":"_1LXyO","textTransform":"_3kFQS","lightColor":"_3Ghgw","avatarClassName":"_2qO_X","tooltipText":"_151u_","tooltip":"_-LQNH","importModalBodyContainer":"_25xUk","dividerColor":"_2HZv9","w100":"_3vGmU","downloadTemplateContainer":"_3-Xu_","downloadTemplateDescContainer":"_tLw43","labelContainer":"_7TYUZ","downlTempHeader":"__CZpe","downlTempDescription":"_19jEe","downloadTemplateButton":"_1qXtq","fileUploaderContainer":"_1YVz2","colGap":"_3vnY5","deActivateModalContainer":"_28H9H","backdrop":"_1ky1x","errorText":"_26_if","user_list_page_tabs":"_xWE7K","TabLabelCount":"_13pXn"};
6702
+ var styles$5 = {"UUIUserManagementList":"_3WNHx","scrollOverlayMenu":"_2_WEg","overlaysearch":"_1Pbhb","pageHeader":"_1WLpc","buttonWrapper":"_2egTG","headingWrapper":"_1He01","headingSignUpWrapper":"_Q8vqd","heading":"_1uPaO","headingLarge":"_2FsLd","headingMedium":"_nGXA9","headingSmall":"_2rpwF","description":"_25vb9","headerText":"_1Ny9J","letterImage":"_2hr3R","tablewrapper":"_1-RPw","rowText":"_1LXyO","textTransform":"_3kFQS","lightColor":"_3Ghgw","avatarClassName":"_2qO_X","tooltipText":"_151u_","tooltip":"_-LQNH","importModalBodyContainer":"_25xUk","dividerColor":"_2HZv9","w100":"_3vGmU","downloadTemplateContainer":"_3-Xu_","downloadTemplateDescContainer":"_tLw43","labelContainer":"_7TYUZ","downlTempHeader":"__CZpe","downlTempDescription":"_19jEe","downloadTemplateButton":"_1qXtq","fileUploaderContainer":"_1YVz2","colGap":"_3vnY5","deActivateModalContainer":"_28H9H","backdrop":"_1ky1x","errorText":"_26_if","user_list_page_tabs":"_xWE7K","TabLabelCount":"_13pXn"};
6702
6703
 
6703
6704
  var BulkUploadModal = function BulkUploadModal(props) {
6704
6705
  var isOpenImportUsersModal = props.isOpenImportUsersModal,
@@ -8296,7 +8297,8 @@ var StickyHeadTable = function StickyHeadTable(props) {
8296
8297
  isDataFetching: isDataFetching,
8297
8298
  disableRowCheckbox: disableRowCheckbox,
8298
8299
  searchBoxWidth: "400px",
8299
- searchValue: searchValue
8300
+ searchValue: searchValue,
8301
+ hideTopPagination: false
8300
8302
  });
8301
8303
  };
8302
8304
  var SingupRequests = function SingupRequests(props) {
@@ -8453,7 +8455,7 @@ var UserList = function UserList(_ref2) {
8453
8455
  var _React$useState = React.useState(1),
8454
8456
  page = _React$useState[0],
8455
8457
  setPage = _React$useState[1];
8456
- var _useState = useState(5),
8458
+ var _useState = useState(10),
8457
8459
  rowsPerPage = _useState[0],
8458
8460
  setRowsPerPage = _useState[1];
8459
8461
  var _React$useState2 = React.useState({}),
@@ -8499,18 +8501,41 @@ var UserList = function UserList(_ref2) {
8499
8501
  var _useState10 = useState(false),
8500
8502
  isApiFetching = _useState10[0],
8501
8503
  setisApiFetching = _useState10[1];
8502
- var _React$useState5 = React.useState(1),
8503
- signup_page = _React$useState5[0],
8504
- setSignUpPage = _React$useState5[1];
8504
+ var _React$useState5 = React.useState(false),
8505
+ overlayMenu = _React$useState5[0],
8506
+ setOverlayMenu = _React$useState5[1];
8507
+ useScrollPosition(function (_ref3) {
8508
+ var prevPos = _ref3.prevPos,
8509
+ currPos = _ref3.currPos;
8510
+ if (prevPos.y - currPos.y > 0) {
8511
+ if (currPos.y < -130) {
8512
+ setOverlayMenu(true);
8513
+ }
8514
+ } else {
8515
+ if (currPos.y > -190) {
8516
+ setOverlayMenu(false);
8517
+ }
8518
+ }
8519
+ }, [overlayMenu]);
8520
+ var scrollTo = function scrollTo(id) {
8521
+ var el = document.getElementById(id);
8522
+ window.scrollTo({
8523
+ top: el.offsetTop,
8524
+ behavior: 'smooth'
8525
+ });
8526
+ };
8527
+ var _React$useState6 = React.useState(1),
8528
+ signup_page = _React$useState6[0],
8529
+ setSignUpPage = _React$useState6[1];
8505
8530
  var _useState11 = useState(5),
8506
8531
  signup_rowsPerPage = _useState11[0],
8507
8532
  setSignUpRowsPerPage = _useState11[1];
8508
- var _React$useState6 = React.useState('asc'),
8509
- signup_order = _React$useState6[0],
8510
- setSignUpOrder = _React$useState6[1];
8511
- var _React$useState7 = React.useState('fname'),
8512
- signup_orderBy = _React$useState7[0],
8513
- setSignUpOrderBy = _React$useState7[1];
8533
+ var _React$useState7 = React.useState('asc'),
8534
+ signup_order = _React$useState7[0],
8535
+ setSignUpOrder = _React$useState7[1];
8536
+ var _React$useState8 = React.useState('fname'),
8537
+ signup_orderBy = _React$useState8[0],
8538
+ setSignUpOrderBy = _React$useState8[1];
8514
8539
  var _useState12 = useState(''),
8515
8540
  signup_searchValue = _useState12[0],
8516
8541
  set_signup_SearchValue = _useState12[1];
@@ -8735,6 +8760,7 @@ var UserList = function UserList(_ref2) {
8735
8760
  dispatch(fetchUsersList(url)).then(function () {
8736
8761
  setSearchingChange(false);
8737
8762
  setisApiFetching(false);
8763
+ scrollTo('table-root');
8738
8764
  });
8739
8765
  }, 1000);
8740
8766
  return function () {
@@ -8760,6 +8786,7 @@ var UserList = function UserList(_ref2) {
8760
8786
  }
8761
8787
  if (isSortingChange) {
8762
8788
  setisApiFetching(true);
8789
+ scrollTo('table-root');
8763
8790
  dispatch(fetchUsersList(url)).then(function () {
8764
8791
  setisApiFetching(false);
8765
8792
  setSortingChange(false);
@@ -8798,15 +8825,89 @@ var UserList = function UserList(_ref2) {
8798
8825
  }
8799
8826
  }
8800
8827
  }, [isTokenVerified, isSearchingChangeTemp, isSortingChangeTemp, isSignUpSearchingChangeTemp, isSignUpSortingChangeTemp]);
8828
+ var topRightButtons = function topRightButtons() {
8829
+ return /*#__PURE__*/React.createElement(IUIBox, {
8830
+ component: "div",
8831
+ className: styles$5.buttonWrapper,
8832
+ display: "flex",
8833
+ justifyContent: "space-between",
8834
+ alignItems: "center",
8835
+ alignSelf: "flex-start"
8836
+ }, /*#__PURE__*/React.createElement(IUIBox, {
8837
+ component: "div",
8838
+ className: clsx(styles$5.buttonSingle, styles$5.buttonLeft)
8839
+ }, /*#__PURE__*/React.createElement(IUIButton, {
8840
+ buttonText: "Export all users",
8841
+ type: "outlined",
8842
+ startIcon: /*#__PURE__*/React.createElement(BulkDownloadIcon, {
8843
+ width: "22",
8844
+ height: "22"
8845
+ }),
8846
+ onClick: handleExportUsers
8847
+ })), /*#__PURE__*/React.createElement(IUIBox, {
8848
+ component: "div",
8849
+ className: clsx(styles$5.buttonSingle, styles$5.buttonLeft)
8850
+ }, /*#__PURE__*/React.createElement(IUIDropdownButton, {
8851
+ buttonText: "Bulk actions",
8852
+ type: "outlined",
8853
+ menuListInfo: BulkUploadInfo
8854
+ })), /*#__PURE__*/React.createElement(IUIBox, {
8855
+ component: "div",
8856
+ className: "pageHeader--button-single button-right"
8857
+ }, /*#__PURE__*/React.createElement(IUIButton, {
8858
+ buttonText: "Add user",
8859
+ type: "contained",
8860
+ startIcon: /*#__PURE__*/React.createElement(AddIcon, {
8861
+ width: "9",
8862
+ height: "9",
8863
+ color: "white"
8864
+ }),
8865
+ onClick: handleAddPageNavigation
8866
+ })));
8867
+ };
8801
8868
  return /*#__PURE__*/React.createElement(IUIBox, {
8802
8869
  component: "div",
8803
8870
  className: styles$5.UUIUserManagementList
8804
- }, !hasVerificationError ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(IUIBackdrop, {
8871
+ }, overlayMenu ? /*#__PURE__*/React.createElement(Box, {
8872
+ className: styles$5.scrollOverlayMenu
8873
+ }, /*#__PURE__*/React.createElement(IUIBox, {
8874
+ component: "div",
8875
+ className: clsx(styles$5.pageHeader)
8876
+ }, /*#__PURE__*/React.createElement(IUIBox, {
8877
+ component: "div",
8878
+ display: "flex",
8879
+ justifyContent: "space-between",
8880
+ alignItems: "center",
8881
+ flexWrap: "wrap",
8882
+ style: {
8883
+ gap: '1rem'
8884
+ }
8885
+ }, /*#__PURE__*/React.createElement(IUIBox, {
8886
+ component: "div",
8887
+ display: "flex",
8888
+ flexDirection: "column",
8889
+ style: {
8890
+ gap: '0.5rem'
8891
+ }
8892
+ }, /*#__PURE__*/React.createElement(IUISearch, {
8893
+ placeholder: "Search by name, email & department",
8894
+ value: searchValue,
8895
+ onChangeHandler: function onChangeHandler(e) {
8896
+ return onSearchHandler(e.target.value);
8897
+ },
8898
+ className: styles$5.overlaysearch
8899
+ })), topRightButtons()), /*#__PURE__*/React.createElement(IUIBox, {
8900
+ component: "div",
8901
+ display: "flex",
8902
+ justifyContent: "space-between",
8903
+ alignItems: "center"
8904
+ }))) : '', !hasVerificationError ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(IUIBackdrop, {
8805
8905
  open: isFileDownloading || isApiFetching,
8806
8906
  className: styles$5.backdrop
8807
8907
  }, /*#__PURE__*/React.createElement(IUICircularProgress, {
8808
8908
  color: "inherit"
8809
8909
  })), isDataFetching ? /*#__PURE__*/React.createElement(SkeletonLoader, null) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(IUIBox, {
8910
+ id: "table-root",
8810
8911
  component: "div",
8811
8912
  className: clsx(styles$5.pageHeader)
8812
8913
  }, /*#__PURE__*/React.createElement(IUIBox, {
@@ -8831,44 +8932,7 @@ var UserList = function UserList(_ref2) {
8831
8932
  }, /*#__PURE__*/React.createElement(IUITypography, {
8832
8933
  variant: "h3",
8833
8934
  className: clsx(styles$5.heading, styles$5.headingLarge)
8834
- }, isILadmin && companyName ? companyName + " - Users" : 'Users'))), /*#__PURE__*/React.createElement(IUIBox, {
8835
- component: "div",
8836
- className: styles$5.buttonWrapper,
8837
- display: "flex",
8838
- justifyContent: "space-between",
8839
- alignItems: "center",
8840
- alignSelf: "flex-start"
8841
- }, /*#__PURE__*/React.createElement(IUIBox, {
8842
- component: "div",
8843
- className: clsx(styles$5.buttonSingle, styles$5.buttonLeft)
8844
- }, /*#__PURE__*/React.createElement(IUIButton, {
8845
- buttonText: "Export all users",
8846
- type: "outlined",
8847
- startIcon: /*#__PURE__*/React.createElement(BulkDownloadIcon, {
8848
- width: "22",
8849
- height: "22"
8850
- }),
8851
- onClick: handleExportUsers
8852
- })), /*#__PURE__*/React.createElement(IUIBox, {
8853
- component: "div",
8854
- className: clsx(styles$5.buttonSingle, styles$5.buttonLeft)
8855
- }, /*#__PURE__*/React.createElement(IUIDropdownButton, {
8856
- buttonText: "Bulk actions",
8857
- type: "outlined",
8858
- menuListInfo: BulkUploadInfo
8859
- })), /*#__PURE__*/React.createElement(IUIBox, {
8860
- component: "div",
8861
- className: "pageHeader--button-single button-right"
8862
- }, /*#__PURE__*/React.createElement(IUIButton, {
8863
- buttonText: "Add user",
8864
- type: "contained",
8865
- startIcon: /*#__PURE__*/React.createElement(AddIcon, {
8866
- width: "9",
8867
- height: "9",
8868
- color: "white"
8869
- }),
8870
- onClick: handleAddPageNavigation
8871
- })))), /*#__PURE__*/React.createElement(IUIBox, {
8935
+ }, isILadmin && companyName ? companyName + " - Users" : 'Users'))), topRightButtons()), /*#__PURE__*/React.createElement(IUIBox, {
8872
8936
  component: "div",
8873
8937
  display: "flex",
8874
8938
  justifyContent: "space-between",
@@ -8995,8 +9059,8 @@ var UserList = function UserList(_ref2) {
8995
9059
  errMsg: hasVerificationError
8996
9060
  }));
8997
9061
  };
8998
- var TabLabelCount = function TabLabelCount(_ref3) {
8999
- var count = _ref3.count;
9062
+ var TabLabelCount = function TabLabelCount(_ref4) {
9063
+ var count = _ref4.count;
9000
9064
  return /*#__PURE__*/React.createElement(IUIBox, {
9001
9065
  className: styles$5.TabLabelCount
9002
9066
  }, " ", count, " ");