@itilite/iui-user-management 1.5.12 → 1.5.14-beta.1

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.
@@ -2,7 +2,7 @@ import { IUIAsyncSelect, IUIBox, IUILabel, IUIFileUpload, IUICheckboxButton, IUI
2
2
  import React, { useState, useEffect, Fragment as Fragment$1, memo, useRef } from 'react';
3
3
  import { configs, services, utilUrls } from '@itilite/utils';
4
4
  import axios from 'axios';
5
- import { IconButton, Menu, MenuItem, Popper, Grow, Paper, ClickAwayListener, MenuList, Typography, Box } from '@material-ui/core';
5
+ import { Tooltip, IconButton, Menu, MenuItem, Popper, Grow, Paper, ClickAwayListener, MenuList, Typography, Box } from '@material-ui/core';
6
6
  import { useDispatch, useSelector, Provider } from 'react-redux';
7
7
  import { combineReducers, createStore, applyMiddleware } from 'redux';
8
8
  import thunk from 'redux-thunk';
@@ -10,7 +10,7 @@ import moment from 'moment';
10
10
  import { composeWithDevTools } from 'redux-devtools-extension';
11
11
  import { useParams, useHistory, useLocation } from 'react-router-dom';
12
12
  import { withStyles, makeStyles } from '@material-ui/core/styles';
13
- import Tooltip from '@material-ui/core/Tooltip';
13
+ import Tooltip$1 from '@material-ui/core/Tooltip';
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';
@@ -182,7 +182,7 @@ function _finallyRethrows(body, finalizer) {
182
182
  return finalizer(false, result);
183
183
  }
184
184
 
185
- var styles = {"UUIUserManagementAddEdit":"_3n-WG","pageHeader":"_3qWcA","buttonWrapper":"_1IP9P","scrolled":"_m8f96","headingButtonWrapper":"_w9z7b","headingButtonWrapperProfile":"_12Wd9","hintText":"_ySdbZ","heading":"_2Y1Aw","headingLarge":"_2K1NF","headingMedium":"_RUuAz","headingSmall":"_23Dye","additionalInfoContainer":"_1Suhw","additionalInfoTitle":"_56iJF","titleContainer":"_H5nfl","expandIconAlign":"_3F4i0","detailsContainer":"_2G0LW","formWrapper":"_2fPRc","sectionWrapper":"_37Gqp","margin":"_2Sdl7","minGridWidth":"_2D7iu","firstRowMargin":"_1BozG","firstChildMargin":"_2C3Mb","paddingTop":"_DBPjV","backGrdColorOnHover":"_5oE6H","fieldMargin":"_RCWjq","productContainerGap":"_tuCbi","containerWidth":"_1oWos","productItemBroder":"_T0Hcd","headingPadding":"_2MFfQ","emptyFieldContainer":"_3VWtw","emptyFieldDescription":"_2jC5u","rowGap":"_1NJFY","formTitle":"_GAKk2","formDescription":"_3TZ6Z","themeLink":"_eJ_1B","dashedLine":"_3ZOs1","dividerColor":"_2pxEJ","errorTextCls":"_27eth","backdrop":"_Pm0Au","inputWidth":"_ajB82","buttonRight":"_1lEyQ","containedDropdownBtn":"_3ymE1"};
185
+ var styles = {"UUIUserManagementAddEdit":"_3n-WG","pageHeader":"_3qWcA","buttonWrapper":"_1IP9P","scrolled":"_m8f96","pageHeaderIframe":"_1D2-R","headingButtonWrapper":"_w9z7b","headingButtonWrapperProfile":"_12Wd9","hintText":"_ySdbZ","heading":"_2Y1Aw","headingLarge":"_2K1NF","headingMedium":"_RUuAz","headingSmall":"_23Dye","additionalInfoContainer":"_1Suhw","additionalInfoTitle":"_56iJF","titleContainer":"_H5nfl","expandIconAlign":"_3F4i0","detailsContainer":"_2G0LW","formWrapper":"_2fPRc","sectionWrapper":"_37Gqp","margin":"_2Sdl7","minGridWidth":"_2D7iu","firstRowMargin":"_1BozG","firstChildMargin":"_2C3Mb","paddingTop":"_DBPjV","backGrdColorOnHover":"_5oE6H","fieldMargin":"_RCWjq","productContainerGap":"_tuCbi","containerWidth":"_1oWos","productItemBroder":"_T0Hcd","headingPadding":"_2MFfQ","emptyFieldContainer":"_3VWtw","emptyFieldDescription":"_2jC5u","rowGap":"_1NJFY","formTitle":"_GAKk2","formDescription":"_3TZ6Z","themeLink":"_eJ_1B","dashedLine":"_3ZOs1","dividerColor":"_2pxEJ","errorTextCls":"_27eth","backdrop":"_Pm0Au","inputWidth":"_ajB82","buttonRight":"_1lEyQ","containedDropdownBtn":"_3ymE1"};
186
186
 
187
187
  function r(e) {
188
188
  var t,
@@ -842,7 +842,7 @@ var UserRole = function UserRole(_ref) {
842
842
 
843
843
  var styles$1 = {"defaultLabel":"_smjc4","card":"_3_S9J","cardNumber":"_36E9M","cardDigit":"_2pm-T","expiryDate":"_2tBnF","cardImage":"_3QvZh","visa":"_1IpBm","mastercard":"_2x6IX","amex":"_2a38S","discover":"_2vksl","diners":"_2kQRs","jcb":"_2bO1f","unionpay":"_2_jfu","is_nothing":"_1Lrzs","addCard":"_3711U","cardDeleteBtn":"_7Da2t","cardLabel":"_PQTex","defaultBtn":"_1_ArA","cursonPointer":"_1L115","sectionWrapper":"_VpUCK","margin":"_1Fs_D","minGridWidth":"_1hl-Z","firstRowMargin":"_1WZZj","firstChildMargin":"_IT_O_","paddingTop":"_Mhnl7","dividerColor":"_3ltFd"};
844
844
 
845
- var classes = {"disabledCard":"_3MVKj","expiredLabel":"_2_sgJ","expiresoonLabel":"_3G7La","sectionHeader":"_2d_OH","myCardsSection":"_3MNHj","companyCardsSection":"_34lN6","disabledNotice":"_1yV0j","cardsGrid":"_1oHGu","card":"_3ZTQc","moreIcon":"_3utA0","personal":"_duePd","corporate":"_3O33a","company":"_180_L","cardHeader":"_1eF61","cardTitleSection":"_2c40W","cardMaskedNumber":"_2Vlhq","cardName":"_bp-Mt","cardAlias":"_19m4v","cardType":"_3l4HZ","menuButton":"_3TTEn","lockIcon":"_1S27X","cardDetails":"_IP2rg","cardNumber":"_7FOPe","cardExpiry":"_CI_p2","cardCvv":"_3Gzqu","cardUnhide":"_ivgBf","cardFooter":"_1WgPL","brandLogo":"_EV0l8","addCardButton":"_1oaCc","plusIcon":"_w9L5L"};
845
+ var classes = {"disabledCard":"_3MVKj","expiredLabel":"_2_sgJ","invalidLabel":"_1Oqzs","expiresoonLabel":"_3G7La","sectionHeader":"_2d_OH","myCardsSection":"_3MNHj","companyCardsSection":"_34lN6","disabledNotice":"_1yV0j","cardsGrid":"_1oHGu","card":"_3ZTQc","moreIcon":"_3utA0","personal":"_duePd","corporate":"_3O33a","company":"_180_L","cardHeader":"_1eF61","cardTitleSection":"_2c40W","cardMaskedNumber":"_2Vlhq","cardName":"_bp-Mt","cardAlias":"_19m4v","cardType":"_3l4HZ","menuButton":"_3TTEn","lockIcon":"_1S27X","cardDetails":"_IP2rg","cardNumber":"_7FOPe","cardExpiry":"_CI_p2","cardCvv":"_3Gzqu","cardUnhide":"_ivgBf","cardFooter":"_1WgPL","brandLogo":"_EV0l8","addCardButton":"_1oaCc","plusIcon":"_w9L5L"};
846
846
 
847
847
  var SHOW_LOADER = 'SHOW_LOADER';
848
848
  var STOP_LOADER = 'STOP_LOADER';
@@ -2663,6 +2663,12 @@ var Visa = function Visa(props) {
2663
2663
  }))));
2664
2664
  };
2665
2665
 
2666
+ var CARDS_DISABLED = {
2667
+ DISABLED: '0',
2668
+ EXPIRED: '2',
2669
+ INVALID: '3'
2670
+ };
2671
+
2666
2672
  var IUILocalStorageService$3 = services.IUILocalStorageService;
2667
2673
  var env$3 = configs.env,
2668
2674
  paymentApi$1 = configs.paymentApi;
@@ -2837,14 +2843,20 @@ var CardsManagement = function CardsManagement(_ref) {
2837
2843
  var isCompanyCard = (card === null || card === void 0 ? void 0 : card.category) === 'Company';
2838
2844
  var cardClass = getCardTypeClass(card === null || card === void 0 ? void 0 : card.category);
2839
2845
  var isDefaultCard = !!+(card === null || card === void 0 ? void 0 : (_card$metadata = card.metadata) === null || _card$metadata === void 0 ? void 0 : _card$metadata.default_card);
2840
- var isExpired = card.metadata.is_enabled === '2';
2841
- var isDisabled = card.metadata.is_enabled === '0' || isExpired;
2846
+ var isExpired = card.metadata.is_enabled === CARDS_DISABLED.EXPIRED;
2847
+ var isInvalid = card.metadata.is_enabled === CARDS_DISABLED.INVALID;
2848
+ var isDisabled = card.metadata.is_enabled === CARDS_DISABLED.DISABLED || isExpired || isInvalid;
2842
2849
  var currentDate = new Date();
2843
2850
  var cardExpDate = new Date(parseInt(card.card.exp_year, 10), parseInt(card.card.exp_month, 10) - 1);
2844
2851
  var timeDiff = cardExpDate.getTime() - currentDate.getTime();
2845
2852
  var daysToExpire = Math.ceil(timeDiff / (1000 * 3600 * 24));
2846
2853
  var expiresSoon = daysToExpire <= 30 && !isExpired;
2847
- return /*#__PURE__*/React.createElement("div", {
2854
+ return /*#__PURE__*/React.createElement(Tooltip, {
2855
+ title: isInvalid ? 'This card is invalid, because you have been issued a new card.' : null,
2856
+ disableHoverListener: !isInvalid,
2857
+ placement: "top",
2858
+ arrow: true
2859
+ }, /*#__PURE__*/React.createElement("div", {
2848
2860
  key: card.id,
2849
2861
  className: clsx(classes.card, classes[cardClass], (_clsx = {}, _clsx[classes.disabledCard] = isDisabled, _clsx))
2850
2862
  }, /*#__PURE__*/React.createElement("div", {
@@ -2857,7 +2869,9 @@ var CardsManagement = function CardsManagement(_ref) {
2857
2869
  className: classes.cardAlias
2858
2870
  }, card === null || card === void 0 ? void 0 : card.alias), isExpired && /*#__PURE__*/React.createElement("span", {
2859
2871
  className: classes.expiredLabel
2860
- }, "Expired"), expiresSoon && /*#__PURE__*/React.createElement("span", {
2872
+ }, "Expired"), isInvalid && /*#__PURE__*/React.createElement("span", {
2873
+ className: classes.invalidLabel
2874
+ }, "Invalid"), expiresSoon && !isInvalid && /*#__PURE__*/React.createElement("span", {
2861
2875
  className: clsx(classes.expiresoonLabel, classes.expiredLabel)
2862
2876
  }, "Expires Soon")), /*#__PURE__*/React.createElement("span", {
2863
2877
  className: classes.cardType
@@ -2884,7 +2898,7 @@ var CardsManagement = function CardsManagement(_ref) {
2884
2898
  className: classes.cardCvv
2885
2899
  }, "CVV \u2022\u2022\u2022")), /*#__PURE__*/React.createElement("div", {
2886
2900
  className: classes.cardFooter
2887
- }, /*#__PURE__*/React.createElement("div", null), getBrandLogo(card === null || card === void 0 ? void 0 : (_card$card4 = card.card) === null || _card$card4 === void 0 ? void 0 : _card$card4.brand)));
2901
+ }, /*#__PURE__*/React.createElement("div", null), getBrandLogo(card === null || card === void 0 ? void 0 : (_card$card4 = card.card) === null || _card$card4 === void 0 ? void 0 : _card$card4.brand))));
2888
2902
  };
2889
2903
  var _url = env$3.getPaymentUrl() + ("/api/v1/auth/" + IUILocalStorageService$3.getAccessToken() + "/1/" + pg.entity_id + "/0/" + pg.vendor_id + "/1");
2890
2904
  var showMenuButton = cardsCount === 1 || cardsCount > 1 && !+(selectedCard === null || selectedCard === void 0 ? void 0 : (_selectedCard$metadat = selectedCard.metadata) === null || _selectedCard$metadat === void 0 ? void 0 : _selectedCard$metadat.default_card);
@@ -2969,7 +2983,7 @@ var CardsManagement = function CardsManagement(_ref) {
2969
2983
  vertical: 'top',
2970
2984
  horizontal: 'right'
2971
2985
  }
2972
- }, selectedCard && selectedCard.metadata.is_enabled !== '2' && !+selectedCard.metadata.default_card && /*#__PURE__*/React.createElement(MenuItem, {
2986
+ }, selectedCard && selectedCard.metadata.is_enabled !== CARDS_DISABLED.DISABLED && selectedCard.metadata.is_enabled !== CARDS_DISABLED.EXPIRED && selectedCard.metadata.is_enabled !== CARDS_DISABLED.INVALID && !+selectedCard.metadata.default_card && /*#__PURE__*/React.createElement(MenuItem, {
2973
2987
  onClick: handleMarkAsDefault
2974
2988
  }, "Mark as default"), showMenuButton && /*#__PURE__*/React.createElement(MenuItem, {
2975
2989
  onClick: handleDeleteCard,
@@ -6866,6 +6880,13 @@ var UserAddEdit = function UserAddEdit(props) {
6866
6880
  var _useState9 = useState(false),
6867
6881
  scroll = _useState9[0],
6868
6882
  setScroll = _useState9[1];
6883
+ var isInsideIframe = function () {
6884
+ try {
6885
+ return window.self !== window.top;
6886
+ } catch (e) {
6887
+ return true;
6888
+ }
6889
+ }();
6869
6890
  var _useState10 = useState({}),
6870
6891
  customFieldsInput = _useState10[0],
6871
6892
  setCustomFieldsInput = _useState10[1];
@@ -8212,7 +8233,7 @@ var UserAddEdit = function UserAddEdit(props) {
8212
8233
  color: "inherit"
8213
8234
  })), /*#__PURE__*/React.createElement(IUIBox, {
8214
8235
  component: "div",
8215
- className: clsx(styles.pageHeader, scroll ? styles.scrolled : '')
8236
+ className: clsx(styles.pageHeader, scroll ? styles.scrolled : '', isInsideIframe ? styles.pageHeaderIframe : '')
8216
8237
  }, !isProfile && /*#__PURE__*/React.createElement(IUIBox, {
8217
8238
  component: "div",
8218
8239
  className: styles.breadcrumb
@@ -10177,7 +10198,6 @@ var DropdownBtn = function DropdownBtn(props) {
10177
10198
  anchorEl: anchorRef.current,
10178
10199
  role: undefined,
10179
10200
  transition: true,
10180
- disablePortal: true,
10181
10201
  style: {
10182
10202
  zIndex: '9'
10183
10203
  },
@@ -10334,7 +10354,7 @@ var StickyHeadTable = function StickyHeadTable(props) {
10334
10354
  return /*#__PURE__*/React.createElement(IUIBox, {
10335
10355
  component: "div",
10336
10356
  width: 80
10337
- }, row && row.has_visited === 0 ? /*#__PURE__*/React.createElement(Tooltip, {
10357
+ }, row && row.has_visited === 0 ? /*#__PURE__*/React.createElement(Tooltip$1, {
10338
10358
  title: "This user hasn't logged in to the platform yet",
10339
10359
  arrow: true,
10340
10360
  classes: {
@@ -10712,9 +10732,11 @@ var UndoButton = function UndoButton(_ref) {
10712
10732
  }, "UNDO"));
10713
10733
  };
10714
10734
  var UserList = function UserList(_ref2) {
10735
+ var _config$features;
10715
10736
  var config = _ref2.config,
10716
10737
  isProfile = _ref2.isProfile;
10717
10738
  env$7.init(config, isProfile);
10739
+ var hideSignupRequestsTab = !!(config !== null && config !== void 0 && (_config$features = config.features) !== null && _config$features !== void 0 && _config$features.hideSignupRequestsTab);
10718
10740
  var history = useHistory();
10719
10741
  var _useSelector = useSelector(function (state) {
10720
10742
  return state.userList;
@@ -11315,6 +11337,10 @@ var UserList = function UserList(_ref2) {
11315
11337
  if (!isSearchingChange && !isSortingChange && !isSignUpSearchingChange && !isSignUpSortingChange) {
11316
11338
  dispatch(showDataFetchingStatus());
11317
11339
  dispatch(fetchUsersList(url)).then(function () {
11340
+ if (hideSignupRequestsTab) {
11341
+ dispatch(stopDataFetchingStatus());
11342
+ return;
11343
+ }
11318
11344
  dispatch(fetchUserSignupRequests({
11319
11345
  ordering: signup_order === 'asc' ? signup_orderBy : "-" + signup_orderBy,
11320
11346
  length: signup_rowsPerPage,
@@ -11368,6 +11394,38 @@ var UserList = function UserList(_ref2) {
11368
11394
  onClick: handleAddPageNavigation
11369
11395
  })));
11370
11396
  };
11397
+ var currentUsersPanel = /*#__PURE__*/React.createElement(IUIBox, {
11398
+ style: {
11399
+ marginLeft: '-17px'
11400
+ }
11401
+ }, /*#__PURE__*/React.createElement(IUIBox, {
11402
+ component: "div",
11403
+ className: styles$6.headingWrapper
11404
+ }, /*#__PURE__*/React.createElement(IUITypography, {
11405
+ variant: "body2",
11406
+ className: clsx(styles$6.description)
11407
+ }, "Create new users, customize user permissions and manage user accounts")), /*#__PURE__*/React.createElement(StickyHeadTable, {
11408
+ data: userListInfo,
11409
+ handleChangeRowsPerPage: handleChangeRowsPerPage,
11410
+ handleChangePage: handleChangePage,
11411
+ page: page,
11412
+ rowsPerPage: rowsPerPage,
11413
+ handleActiveUser: handleActiveUser,
11414
+ handleSelectAllClick: handleSelectAllClick,
11415
+ selected: selected,
11416
+ handleSingleCheckBoxClick: handleSingleCheckBoxClick,
11417
+ orderBy: orderBy,
11418
+ order: order,
11419
+ onRequestSort: onRequestSort,
11420
+ onSearchHandler: onSearchHandler,
11421
+ onEditHandler: handleEditUserClick,
11422
+ disableRowCheckbox: deactivatedUsers,
11423
+ searchValue: searchValue,
11424
+ isILadmin: isILadmin,
11425
+ onPrimaryAdminHandler: onPrimaryAdminHandler,
11426
+ onResetPasswordHandler: onResetPasswordHandler,
11427
+ toggleInviteModal: toggleInviteModal
11428
+ }));
11371
11429
  return /*#__PURE__*/React.createElement(IUIBox, {
11372
11430
  component: "div",
11373
11431
  className: styles$6.UUIUserManagementList
@@ -11442,7 +11500,7 @@ var UserList = function UserList(_ref2) {
11442
11500
  alignItems: "center"
11443
11501
  })), /*#__PURE__*/React.createElement(IUIBox, {
11444
11502
  className: styles$6.tablewrapper
11445
- }, /*#__PURE__*/React.createElement(IUITabs, {
11503
+ }, hideSignupRequestsTab ? currentUsersPanel : /*#__PURE__*/React.createElement(IUITabs, {
11446
11504
  value: tabValue,
11447
11505
  customTabHandler: function customTabHandler(value) {
11448
11506
  return dispatch(updateTabValue(value));
@@ -11452,38 +11510,7 @@ var UserList = function UserList(_ref2) {
11452
11510
  label: /*#__PURE__*/React.createElement(IUIBox, null, "Current users", ' ', /*#__PURE__*/React.createElement(TabLabelCount, {
11453
11511
  count: userListInfo.count
11454
11512
  }), ' '),
11455
- content: /*#__PURE__*/React.createElement(IUIBox, {
11456
- style: {
11457
- marginLeft: '-17px'
11458
- }
11459
- }, /*#__PURE__*/React.createElement(IUIBox, {
11460
- component: "div",
11461
- className: styles$6.headingWrapper
11462
- }, /*#__PURE__*/React.createElement(IUITypography, {
11463
- variant: "body2",
11464
- className: clsx(styles$6.description)
11465
- }, "Create new users, customize user permissions and manage user accounts")), /*#__PURE__*/React.createElement(StickyHeadTable, {
11466
- data: userListInfo,
11467
- handleChangeRowsPerPage: handleChangeRowsPerPage,
11468
- handleChangePage: handleChangePage,
11469
- page: page,
11470
- rowsPerPage: rowsPerPage,
11471
- handleActiveUser: handleActiveUser,
11472
- handleSelectAllClick: handleSelectAllClick,
11473
- selected: selected,
11474
- handleSingleCheckBoxClick: handleSingleCheckBoxClick,
11475
- orderBy: orderBy,
11476
- order: order,
11477
- onRequestSort: onRequestSort,
11478
- onSearchHandler: onSearchHandler,
11479
- onEditHandler: handleEditUserClick,
11480
- disableRowCheckbox: deactivatedUsers,
11481
- searchValue: searchValue,
11482
- isILadmin: isILadmin,
11483
- onPrimaryAdminHandler: onPrimaryAdminHandler,
11484
- onResetPasswordHandler: onResetPasswordHandler,
11485
- toggleInviteModal: toggleInviteModal
11486
- }))
11513
+ content: currentUsersPanel
11487
11514
  }, {
11488
11515
  label: /*#__PURE__*/React.createElement(IUIBox, null, "Sign-up requests", ' ', /*#__PURE__*/React.createElement(TabLabelCount, {
11489
11516
  count: signupRequestListInfo.count