@itilite/iui-user-management 1.4.84 → 1.4.86

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, IUIGrid, IUIDivider, IUITypography, IUIRadio, IUIButton, IUIModal, IUISearch, IUICircularProgress, IUIAccordion, IUIAccordionSummary, IUIAccordionDetails, IUICard, IUIBackdrop, IUIBreadCrumb, IUIDropzone, IUIStepper, IUIIconButton, IUIFormControlLabel, IUICheckBox, IUIPrimaryRadio, IUITable, IUISkeleton, IUIProfileBox, IUIFormGroup, IUIDropdownButton, IUITabs } from '@itilite/iuistyles';
1
+ import { IUIAsyncSelect, IUIBox, IUILabel, IUIFileUpload, IUICheckboxButton, IUIPhone, IUISelect, IUIDatePicker, IUIInput, IUIGrid, IUIDivider, IUITypography, IUIRadio, IUIButton, IUIModal, IUISearch, IUICircularProgress, IUIAccordion, IUIAccordionSummary, IUIAccordionDetails, IUICard, IUIBackdrop, IUIBreadCrumb, IUIDropdownButton, IUIDropzone, IUICheckBox, IUIStepper, IUIIconButton, IUIFormControlLabel, IUIPrimaryRadio, IUITable, IUISkeleton, IUIProfileBox, IUIFormGroup, IUITabs } from '@itilite/iuistyles';
2
2
  import React, { useState, Fragment as Fragment$1, useEffect, memo, useRef } from 'react';
3
3
  import { configs, services, utilUrls } from '@itilite/utils';
4
4
  import axios from 'axios';
@@ -182,19 +182,9 @@ 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"};
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"};
186
186
 
187
- function r(e) {
188
- var t,
189
- f,
190
- n = "";
191
- if ("string" == typeof e || "number" == typeof e) n += e;else if ("object" == typeof e) if (Array.isArray(e)) for (t = 0; t < e.length; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);else for (t in e) e[t] && (n && (n += " "), n += t);
192
- return n;
193
- }
194
- function clsx() {
195
- for (var e, t, f = 0, n = ""; f < arguments.length;) (e = arguments[f++]) && (t = r(e)) && (n && (n += " "), n += t);
196
- return n;
197
- }
187
+ function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
198
188
 
199
189
  var GetInputType = React.forwardRef(function (props, ref) {
200
190
  var _p = props._p,
@@ -896,6 +886,9 @@ var formatCreateUserPayload = function formatCreateUserPayload(payload) {
896
886
  approvers: {},
897
887
  requested_user_is_admin: payload.isCardsAdmin
898
888
  };
889
+ if (payload.send_welcome_email !== undefined) {
890
+ res.send_welcome_email = payload.send_welcome_email;
891
+ }
899
892
  var userTags = [];
900
893
  for (var key in payload.userTagType) {
901
894
  if (Object.hasOwnProperty.call(payload.userTagType, key) && payload.userTagType[key]) {
@@ -5077,6 +5070,7 @@ function withStore(Component) {
5077
5070
  }
5078
5071
 
5079
5072
  var ExpandMoreIcon = function ExpandMoreIcon(props) {
5073
+ var fillColor = props.fillColor || '#6B7280';
5080
5074
  return /*#__PURE__*/React.createElement("svg", {
5081
5075
  xmlns: "http://www.w3.org/2000/svg",
5082
5076
  width: props.width,
@@ -5084,7 +5078,7 @@ var ExpandMoreIcon = function ExpandMoreIcon(props) {
5084
5078
  fill: "none",
5085
5079
  viewBox: "0 0 12 7"
5086
5080
  }, /*#__PURE__*/React.createElement("path", {
5087
- fill: "#6B7280",
5081
+ fill: fillColor,
5088
5082
  d: "M.293.294a1 1 0 011.414 0L6 4.587 10.293.294a1 1 0 111.414 1.414l-5 5a1 1 0 01-1.414 0l-5-5a1 1 0 010-1.414z"
5089
5083
  }));
5090
5084
  };
@@ -6678,6 +6672,26 @@ var UserAddEdit = function UserAddEdit(props) {
6678
6672
  console.log('errorrr', error);
6679
6673
  });
6680
6674
  };
6675
+ var fetchLoggedUserCardsDetails = function fetchLoggedUserCardsDetails() {
6676
+ fetch(userAddEditUrl.cardsAddUsersDetails(), {
6677
+ method: 'GET',
6678
+ headers: {
6679
+ 'Content-Type': 'application/json',
6680
+ authorization: "Bearer " + IUILocalStorageService$5.getAccessToken()
6681
+ }
6682
+ }).then(function (response) {
6683
+ return response.json();
6684
+ }).then(function (res) {
6685
+ var _res$roles2;
6686
+ if (res !== null && res !== void 0 && (_res$roles2 = res.roles) !== null && _res$roles2 !== void 0 && _res$roles2.length) {
6687
+ dispatch(setCardsDetails(res));
6688
+ } else {
6689
+ IUIToastMessageService$6.warningNotify('Opps, Something went wrong.');
6690
+ }
6691
+ })["catch"](function (error) {
6692
+ console.log('errorrr', error);
6693
+ });
6694
+ };
6681
6695
  useEffect(function () {
6682
6696
  var countryObject = countryContactCode.find(function (t) {
6683
6697
  return t.dial_code === countryDialCode;
@@ -7379,8 +7393,12 @@ var UserAddEdit = function UserAddEdit(props) {
7379
7393
  if (isRendered === true) {
7380
7394
  renderFields === null || renderFields === void 0 ? void 0 : renderFields.products.forEach(function (prod) {
7381
7395
  console.log(prod, isProfile, editUserId, id, 'card check');
7382
- if ((prod === null || prod === void 0 ? void 0 : prod.name) === 'card' && (isProfile || editUserId)) {
7383
- fetchEditUserCardsDetails(isProfile ? id : editUserId);
7396
+ if ((prod === null || prod === void 0 ? void 0 : prod.name) === 'card') {
7397
+ if (isProfile || editUserId) {
7398
+ fetchEditUserCardsDetails(isProfile ? id : editUserId);
7399
+ } else {
7400
+ fetchLoggedUserCardsDetails();
7401
+ }
7384
7402
  }
7385
7403
  });
7386
7404
  setPersonalInfoInput(_extends({}, personalInfoInput, {
@@ -7709,7 +7727,10 @@ var UserAddEdit = function UserAddEdit(props) {
7709
7727
  return Promise.reject(e);
7710
7728
  }
7711
7729
  };
7712
- var formSubmitHandler = function formSubmitHandler() {
7730
+ var formSubmitHandler = function formSubmitHandler(send_welcome_email) {
7731
+ if (send_welcome_email === void 0) {
7732
+ send_welcome_email = false;
7733
+ }
7713
7734
  try {
7714
7735
  var checkAnyError = doesFormHasError();
7715
7736
  if (checkAnyError) {
@@ -7747,6 +7768,9 @@ var UserAddEdit = function UserAddEdit(props) {
7747
7768
  cardsRole: cardsRole,
7748
7769
  isCardsAdmin: isCardsAdmin
7749
7770
  };
7771
+ if (!isEditMode && !isProfile) {
7772
+ payload.send_welcome_email = send_welcome_email;
7773
+ }
7750
7774
  if (verifyUserId) {
7751
7775
  payload.verifyUserId = verifyUserId;
7752
7776
  }
@@ -8135,12 +8159,34 @@ var UserAddEdit = function UserAddEdit(props) {
8135
8159
  onClick: handleCancelNavigation
8136
8160
  })), /*#__PURE__*/React.createElement(IUIBox, {
8137
8161
  component: "div",
8138
- className: "pageHeader--button-single button-right"
8139
- }, /*#__PURE__*/React.createElement(IUIButton, {
8162
+ className: clsx('pageHeader--button-single', styles.buttonRight)
8163
+ }, isEditMode || isProfile ? /*#__PURE__*/React.createElement(IUIButton, {
8140
8164
  buttonText: "Save",
8141
8165
  type: "contained",
8142
8166
  onClick: formSubmitHandler,
8143
8167
  disabled: isPageLoading || productAccess.travel === false && productAccess.expense === false || !!doesFormHasError()
8168
+ }) : /*#__PURE__*/React.createElement(IUIDropdownButton, {
8169
+ buttonText: "Create user",
8170
+ outlinedBtn: false,
8171
+ className: styles.containedDropdownBtn,
8172
+ placement: "bottom-end",
8173
+ endIcon: /*#__PURE__*/React.createElement(ExpandMoreIcon, {
8174
+ fillColor: "white",
8175
+ width: "10",
8176
+ height: "10",
8177
+ fill: true
8178
+ }),
8179
+ menuListInfo: [{
8180
+ label: 'Send email invite',
8181
+ handler: function handler() {
8182
+ return formSubmitHandler(true);
8183
+ }
8184
+ }, {
8185
+ label: 'Do not send email',
8186
+ handler: function handler() {
8187
+ return formSubmitHandler(false);
8188
+ }
8189
+ }]
8144
8190
  }))))), /*#__PURE__*/React.createElement(IUIBox, {
8145
8191
  component: "div",
8146
8192
  marginTop: "8rem",
@@ -8585,10 +8631,15 @@ var uploadFileToS3$1 = function uploadFileToS3(presignedPostData, file) {
8585
8631
  });
8586
8632
  });
8587
8633
  };
8588
- var validateUploadedFile = function validateUploadedFile(fileName) {
8634
+ var validateUploadedFile = function validateUploadedFile(fileName, sendInvite) {
8635
+ if (sendInvite === void 0) {
8636
+ sendInvite = false;
8637
+ }
8589
8638
  return function (dispatch) {
8590
8639
  return new Promise(function (resolve, reject) {
8591
- api$8.post(userBulkImport.validateUploadedFile() + "?file_name=" + fileName).then(function (res) {
8640
+ api$8.post(userBulkImport.validateUploadedFile() + "?file_name=" + fileName, {
8641
+ send_welcome_email: sendInvite
8642
+ }).then(function (res) {
8592
8643
  resolve(res);
8593
8644
  })["catch"](function (err) {
8594
8645
  reject(err);
@@ -8715,11 +8766,15 @@ var BulkUploadModal = function BulkUploadModal(props) {
8715
8766
  var _useState6 = useState(''),
8716
8767
  errorMessage = _useState6[0],
8717
8768
  setErrorMessage = _useState6[1];
8769
+ var _useState7 = useState(false),
8770
+ sendInvite = _useState7[0],
8771
+ setSendInvite = _useState7[1];
8718
8772
  var handleFileNameSelectedOnClose = function handleFileNameSelectedOnClose() {
8719
8773
  setFileNames([]);
8720
8774
  setFiles([]);
8721
8775
  setErrorMessage('');
8722
8776
  setErrorStatus(false);
8777
+ setSendInvite(false);
8723
8778
  closeImportUsersModal();
8724
8779
  };
8725
8780
  var handleFileNameUploadedOnClose = function handleFileNameUploadedOnClose(jobId) {
@@ -8727,6 +8782,7 @@ var BulkUploadModal = function BulkUploadModal(props) {
8727
8782
  setFiles([]);
8728
8783
  setErrorMessage('');
8729
8784
  setErrorStatus(false);
8785
+ setSendInvite(false);
8730
8786
  closeImportModal(jobId);
8731
8787
  };
8732
8788
  var handleDrop = function handleDrop(acceptedFiles) {
@@ -8761,7 +8817,7 @@ var BulkUploadModal = function BulkUploadModal(props) {
8761
8817
  });
8762
8818
  var _temp = _forTo(docs, function (i) {
8763
8819
  return Promise.resolve(dispatch(uploadBulkUsersFile(docs[i]))).then(function (res) {
8764
- return Promise.resolve(dispatch(validateUploadedFile(res.user_file_name)).then(function (validatedRes) {
8820
+ return Promise.resolve(dispatch(validateUploadedFile(res.user_file_name, sendInvite)).then(function (validatedRes) {
8765
8821
  if (validatedRes.data.status) {
8766
8822
  dispatch(_executionJob(validatedRes.data.job_id, 'is_validation_completed')).then(function (response) {
8767
8823
  data.push(res);
@@ -8875,7 +8931,28 @@ var BulkUploadModal = function BulkUploadModal(props) {
8875
8931
  handleDrop: handleDrop,
8876
8932
  fileNames: fileNames,
8877
8933
  removeSelectedFiles: removeSelectedFiles
8878
- })), isError && /*#__PURE__*/React.createElement(IUIBox, {
8934
+ })), /*#__PURE__*/React.createElement(IUIBox, {
8935
+ display: "flex",
8936
+ style: {
8937
+ marginLeft: '16px',
8938
+ alignItems: 'center',
8939
+ marginTop: '-8px',
8940
+ cursor: 'pointer'
8941
+ },
8942
+ onClick: function onClick() {
8943
+ return setSendInvite(function (prev) {
8944
+ return !prev;
8945
+ });
8946
+ }
8947
+ }, /*#__PURE__*/React.createElement(IUICheckBox, {
8948
+ checked: sendInvite
8949
+ }), /*#__PURE__*/React.createElement("span", {
8950
+ style: {
8951
+ marginLeft: '-4px',
8952
+ fontWeight: '500',
8953
+ color: '#4B5563'
8954
+ }
8955
+ }, "Send invitation emails to new users who have not logged into the platform.")), isError && /*#__PURE__*/React.createElement(IUIBox, {
8879
8956
  display: "flex",
8880
8957
  alignItems: "center",
8881
8958
  style: {