@itilite/iui-user-management 0.1.0 → 0.1.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 } from '@itilite/iuistyles';
1
+ import { IUITypography, IUIAsyncSelect, IUIBox, IUILabel, IUIFileUpload, IUICheckboxButton, IUIPhone, IUISelect, IUIDatePicker, IUIInput, IUIDivider, IUIGrid, IUIRadio, IUIButton, IUIModal, IUIAccordion, IUIAccordionSummary, IUIAccordionDetails, IUIIconButton, IUICard, IUIBackdrop, IUICircularProgress, IUIBreadCrumb, IUIDropzone, IUIStepper, IUIFormControlLabel, IUICheckBox, IUIPrimaryRadio, IUITable, IUISkeleton, IUIProfileBox, IUIFormGroup, IUIDropdownButton } from '@itilite/iuistyles';
2
2
  import React, { useState, useEffect, Fragment as Fragment$1 } from 'react';
3
3
  import { configs, services, utilUrls } from '@itilite/utils';
4
4
  import moment from 'moment';
@@ -188,7 +188,7 @@ function toVal(mix) {
188
188
  return str;
189
189
  }
190
190
 
191
- function clsx () {
191
+ function clsx() {
192
192
  var i = 0,
193
193
  tmp,
194
194
  x,
@@ -311,7 +311,9 @@ var userPanelUrl = {
311
311
  var api = configs.api;
312
312
  var commonLoadOptions = function commonLoadOptions(search, loadedOptions, _ref) {
313
313
  var page = _ref.page,
314
- tabelName = _ref.tabelName;
314
+ tabelName = _ref.tabelName,
315
+ placeholder = _ref.placeholder,
316
+ selectCTA = _ref.selectCTA;
315
317
 
316
318
  try {
317
319
  return Promise.resolve(_catch(function () {
@@ -326,16 +328,25 @@ var commonLoadOptions = function commonLoadOptions(search, loadedOptions, _ref)
326
328
  };
327
329
  });
328
330
 
329
- if (NAoptionConfig.applyFor.includes(tabelName)) {
331
+ if (page === 1 && NAoptionConfig.applyFor.includes(tabelName)) {
330
332
  mappedValue.unshift(NAoptionConfig.option);
331
333
  }
332
334
 
335
+ if (response.next === null && selectCTA) {
336
+ mappedValue.push({
337
+ value: selectCTA.value,
338
+ label: ''
339
+ });
340
+ }
341
+
333
342
  return {
334
343
  options: mappedValue,
335
344
  hasMore: !!response.next,
336
345
  additional: {
337
346
  page: page + 1,
338
- tabelName: tabelName
347
+ tabelName: tabelName,
348
+ placeholder: placeholder,
349
+ selectCTA: selectCTA
339
350
  }
340
351
  };
341
352
  });
@@ -345,7 +356,9 @@ var commonLoadOptions = function commonLoadOptions(search, loadedOptions, _ref)
345
356
  hasMore: false,
346
357
  additional: {
347
358
  page: 1,
348
- tabelName: tabelName
359
+ tabelName: tabelName,
360
+ placeholder: placeholder,
361
+ selectCTA: selectCTA
349
362
  }
350
363
  };
351
364
  }));
@@ -405,11 +418,15 @@ var approversOptions = function approversOptions(search, loadedOptions, _ref4) {
405
418
  label: item.approver
406
419
  };
407
420
  });
408
- var placeholderLbl = {
409
- value: '',
410
- label: placeholder
411
- };
412
- mappedValue.unshift(placeholderLbl);
421
+
422
+ if (page === 1) {
423
+ var placeholderLbl = {
424
+ value: '',
425
+ label: placeholder
426
+ };
427
+ mappedValue.unshift(placeholderLbl);
428
+ }
429
+
413
430
  return {
414
431
  options: mappedValue,
415
432
  hasMore: !!response.next,
@@ -593,7 +610,21 @@ var personalInfo = [{
593
610
  disableText: 'Please get in touch with your administrator to change this value.'
594
611
  }, {
595
612
  id: 8,
596
- empty: true
613
+ label: 'Profile photo',
614
+ description: 'This will be displayed on your profile',
615
+ name: 'profile_pic',
616
+ required: false,
617
+ multiple: false,
618
+ fileType: 'image/png,image/jpeg,image/jpg,image/webp',
619
+ fileSize: 5,
620
+ title: 'Select Profile',
621
+ type: 'file',
622
+ fullWidth: true,
623
+ visibility: true,
624
+ readOnly: false,
625
+ maxNoFiles: 2,
626
+ buttonType: 'profile',
627
+ disableText: 'Disable text here.'
597
628
  }];
598
629
  var workInfo = [{
599
630
  id: 1,
@@ -610,7 +641,14 @@ var workInfo = [{
610
641
  loadOption: commonLoadOptions,
611
642
  tabelName: 'employee_level',
612
643
  tooltip: 'This information will be used in creation of policies and approval rules',
613
- disableText: 'Please get in touch with your administrator to change this value.'
644
+ disableText: 'Please get in touch with your administrator to change this value.',
645
+ selectCTA: {
646
+ value: 'employee_level',
647
+ component: /*#__PURE__*/React.createElement(IUITypography, {
648
+ className: "iui__font--color-link iui__font--weight-500"
649
+ }, "+ Add Employee Level"),
650
+ callback: null
651
+ }
614
652
  }, {
615
653
  id: 2,
616
654
  label: 'Employee ID',
@@ -645,7 +683,14 @@ var workInfo = [{
645
683
  loadOption: commonLoadOptions,
646
684
  tabelName: 'entity',
647
685
  tooltip: 'This information will be used in creation of policies and approval rules',
648
- disableText: 'Please get in touch with your administrator to change this value.'
686
+ disableText: 'Please get in touch with your administrator to change this value.',
687
+ selectCTA: {
688
+ value: 'entity',
689
+ component: /*#__PURE__*/React.createElement(IUITypography, {
690
+ className: "iui__font--color-link iui__font--weight-500"
691
+ }, "+ Add Entity"),
692
+ callback: null
693
+ }
649
694
  }, {
650
695
  id: 4,
651
696
  label: 'Business unit',
@@ -660,7 +705,14 @@ var workInfo = [{
660
705
  placeholder: 'Select unit',
661
706
  tabelName: 'business_unit',
662
707
  loadOption: commonLoadOptions,
663
- disableText: 'Please get in touch with your administrator to change this value.'
708
+ disableText: 'Please get in touch with your administrator to change this value.',
709
+ selectCTA: {
710
+ value: 'business_unit',
711
+ component: /*#__PURE__*/React.createElement(IUITypography, {
712
+ className: "iui__font--color-link iui__font--weight-500"
713
+ }, "+ Add Business Unit"),
714
+ callback: null
715
+ }
664
716
  }, {
665
717
  id: 5,
666
718
  label: 'Department',
@@ -675,7 +727,14 @@ var workInfo = [{
675
727
  placeholder: 'Select department',
676
728
  tabelName: 'department',
677
729
  loadOption: commonLoadOptions,
678
- disableText: 'Please get in touch with your administrator to change this value.'
730
+ disableText: 'Please get in touch with your administrator to change this value.',
731
+ selectCTA: {
732
+ value: 'department',
733
+ component: /*#__PURE__*/React.createElement(IUITypography, {
734
+ className: "iui__font--color-link iui__font--weight-500"
735
+ }, "+ Add Department"),
736
+ callback: null
737
+ }
679
738
  }, {
680
739
  id: 6,
681
740
  label: 'Designation',
@@ -1224,7 +1283,8 @@ function GetInputType(_ref) {
1224
1283
  readOnly: _p.readOnly,
1225
1284
  hasInfoIcon: !!_p.tooltip,
1226
1285
  tooltipText: _p.tooltip,
1227
- disableText: _p.disableText
1286
+ disableText: _p.disableText,
1287
+ buttonType: _p.buttonType
1228
1288
  }));
1229
1289
 
1230
1290
  case 'async_select':
@@ -1235,7 +1295,8 @@ function GetInputType(_ref) {
1235
1295
  tabelName: _p.tabelName,
1236
1296
  product: _p.product,
1237
1297
  placeholder: _p.placeholder,
1238
- userId: _p.editUserId
1298
+ userId: _p.editUserId,
1299
+ selectCTA: _p.selectCTA
1239
1300
  },
1240
1301
  label: _p.label,
1241
1302
  secondaryLabel: _p.secondaryLabel,
@@ -1252,7 +1313,8 @@ function GetInputType(_ref) {
1252
1313
  placeHolderCheck: inputState[_p.name] !== undefined && inputState[_p.name].value === '',
1253
1314
  hasInfoIcon: !!_p.tooltip,
1254
1315
  tooltipText: _p.tooltip,
1255
- disableText: _p.disableText
1316
+ disableText: _p.disableText,
1317
+ selectCTA: _p.selectCTA
1256
1318
  });
1257
1319
 
1258
1320
  default:
@@ -1926,7 +1988,8 @@ var uploadSingleDocumnet = function uploadSingleDocumnet(payload) {
1926
1988
  return function (dispatch) {
1927
1989
  var itemTypes = {
1928
1990
  passport: 'passport',
1929
- travel_docs: 'travel_docs'
1991
+ travel_docs: 'travel_docs',
1992
+ profile_pic: 'profile_pic'
1930
1993
  };
1931
1994
  return new Promise(function (resolve, reject) {
1932
1995
  api$1.get(userAddEditUrl.preSignedUrl() + "?action=upload&item_type=" + payload.itemType + "&file_name=" + payload.fileName).then(function (res) {
@@ -2127,6 +2190,19 @@ var verifyUserInfo = function verifyUserInfo(userId) {
2127
2190
  });
2128
2191
  };
2129
2192
  };
2193
+ var submitAddModalData = function submitAddModalData(tableName, data) {
2194
+ return function (dispatch) {
2195
+ return new Promise(function (resolve, reject) {
2196
+ api$1.post(userAddEditUrl.dropdownList() + ("?action=add&table=" + tableName), data).then(function (res) {
2197
+ resolve(res);
2198
+ })["catch"](function (err) {
2199
+ var _err$response10, _err$response10$data;
2200
+
2201
+ IUIToastMessageService.warningNotify((err === null || err === void 0 ? void 0 : (_err$response10 = err.response) === null || _err$response10 === void 0 ? void 0 : (_err$response10$data = _err$response10.data) === null || _err$response10$data === void 0 ? void 0 : _err$response10$data.message) || 'Opps, Something went wrong.');
2202
+ });
2203
+ });
2204
+ };
2205
+ };
2130
2206
 
2131
2207
  var SHOW_LOADER$1 = 'SHOW_LOADER';
2132
2208
  var STOP_LOADER$1 = 'STOP_LOADER';
@@ -4503,6 +4579,53 @@ var ErrorMessages = {
4503
4579
  products: 'Please select atleast one product access.'
4504
4580
  };
4505
4581
 
4582
+ function AddPanelDialog(_ref) {
4583
+ var name = _ref.name,
4584
+ isOpen = _ref.isOpen,
4585
+ closeHandler = _ref.closeHandler,
4586
+ submitHandler = _ref.submitHandler,
4587
+ customHandler = _ref.customHandler,
4588
+ isError = _ref.isError,
4589
+ isDisabledSubmitBtn = _ref.isDisabledSubmitBtn,
4590
+ validation = _ref.validation;
4591
+ return /*#__PURE__*/React.createElement(IUIModal, {
4592
+ isDisabledSubmitBtn: isDisabledSubmitBtn,
4593
+ isOpen: isOpen,
4594
+ closeHandler: closeHandler,
4595
+ headerText: "Add " + name.toLowerCase(),
4596
+ cancelLabel: "Cancel",
4597
+ submitLabel: "Add",
4598
+ submitHandler: submitHandler,
4599
+ width: "365px",
4600
+ hideCloseIcon: false,
4601
+ modalBodyStyle: {
4602
+ maxHeight: '600px',
4603
+ overflow: 'auto',
4604
+ margin: '0px'
4605
+ },
4606
+ footerStyle: {
4607
+ justifyContent: 'end'
4608
+ }
4609
+ }, /*#__PURE__*/React.createElement(IUIBox, {
4610
+ component: "div",
4611
+ display: "flex",
4612
+ justifyContent: "center",
4613
+ alignItems: "center",
4614
+ flexDirection: "column",
4615
+ padding: "8px 20px"
4616
+ }, /*#__PURE__*/React.createElement(IUIInput, {
4617
+ label: name + " name",
4618
+ name: "name",
4619
+ defaultValue: "",
4620
+ customHandler: customHandler,
4621
+ placeholder: "",
4622
+ validation: validation,
4623
+ isError: isError,
4624
+ errorMsg: "Please enter " + name.toLowerCase() + " name.",
4625
+ required: true
4626
+ })));
4627
+ }
4628
+
4506
4629
  var IUIToastMessageService$4 = services.IUIToastMessageService;
4507
4630
  var env$4 = configs.env;
4508
4631
 
@@ -4597,7 +4720,8 @@ var UserAddEdit = function UserAddEdit(props) {
4597
4720
  dob: '',
4598
4721
  gender: '',
4599
4722
  country_code: countryCode,
4600
- contact_country_code: ''
4723
+ contact_country_code: '',
4724
+ profile_pic: []
4601
4725
  }),
4602
4726
  personalInfoInput = _useState2[0],
4603
4727
  setPersonalInfoInput = _useState2[1];
@@ -4747,7 +4871,8 @@ var UserAddEdit = function UserAddEdit(props) {
4747
4871
  passport_photo: '',
4748
4872
  travel_docs: '',
4749
4873
  products: '',
4750
- userTagType: ''
4874
+ userTagType: '',
4875
+ profile_pic: ''
4751
4876
  }),
4752
4877
  errorMsgs = _useState20[0],
4753
4878
  setErrorMsgs = _useState20[1];
@@ -4776,7 +4901,8 @@ var UserAddEdit = function UserAddEdit(props) {
4776
4901
  nationality: false,
4777
4902
  passport_issue_date: false,
4778
4903
  passport_expiry_date: false,
4779
- userTagType: false
4904
+ userTagType: false,
4905
+ profile_pic: false
4780
4906
  }),
4781
4907
  inputChangeLog = _useState21[0],
4782
4908
  updateInputChangeLog = _useState21[1];
@@ -4785,44 +4911,197 @@ var UserAddEdit = function UserAddEdit(props) {
4785
4911
  uploadedFiles = _useState22[0],
4786
4912
  setUploadedFiles = _useState22[1];
4787
4913
 
4788
- var onPersonalInfoChange = function onPersonalInfoChange(_name, _value, _isError, _errorMsg, _obj) {
4789
- if (_obj === void 0) {
4790
- _obj = {};
4914
+ var defaultAddModalData = {
4915
+ isOpen: false,
4916
+ isError: false,
4917
+ title: '',
4918
+ value: '',
4919
+ id: ''
4920
+ };
4921
+ var modalValidation = {
4922
+ regexOnChange: /^[A-Za-z]+[A-Za-z0-9()&'\-_. ]*$/,
4923
+ regexOnBlur: null,
4924
+ maxLimit: '',
4925
+ minLimit: '',
4926
+ maxLength: 70,
4927
+ minLength: 0
4928
+ };
4929
+
4930
+ var _useState23 = useState(defaultAddModalData),
4931
+ addModalData = _useState23[0],
4932
+ setAddModalData = _useState23[1];
4933
+
4934
+ var onAddModalClose = function onAddModalClose() {
4935
+ setAddModalData(_extends({}, defaultAddModalData));
4936
+ };
4937
+
4938
+ var onModalOpen = function onModalOpen(e, id) {
4939
+ var title = '';
4940
+
4941
+ if (id === 'entity') {
4942
+ title = 'Entity';
4943
+ } else if (id === 'department') {
4944
+ title = 'Department';
4945
+ } else if (id === 'business_unit') {
4946
+ title = 'Business Unit';
4947
+ } else if (id === 'employee_level') {
4948
+ title = 'Employee Level';
4791
4949
  }
4792
4950
 
4793
- if (_name === 'contact_number') {
4794
- setPersonalInfoInput(_extends({}, personalInfoInput, {
4795
- contact_number: _value.trim(),
4796
- country_code: _obj.code,
4797
- contact_country_code: _obj.contact_country_code
4951
+ console.log(_extends({}, addModalData, {
4952
+ isOpen: true,
4953
+ title: title,
4954
+ id: id
4955
+ }));
4956
+ setAddModalData(_extends({}, addModalData, {
4957
+ isOpen: true,
4958
+ title: title,
4959
+ id: id
4960
+ }));
4961
+ };
4962
+
4963
+ var onAddModalSubmit = function onAddModalSubmit() {
4964
+ var validatedValue = addModalData.value.replace(/\s+/g, ' ').trim();
4965
+
4966
+ if (validatedValue === '') {
4967
+ setAddModalData(_extends({}, addModalData, {
4968
+ isError: true
4798
4969
  }));
4799
- updateError('contact_number', _isError, _errorMsg);
4800
- updateError('country_code', _isError, _errorMsg);
4801
- updateError('contact_country_code', _isError, _errorMsg);
4802
4970
  } else {
4803
- var _extends2;
4971
+ dispatch(showLoader());
4972
+ dispatch(submitAddModalData(addModalData.id, {
4973
+ names: [validatedValue]
4974
+ })).then(function (res) {
4975
+ var _extends2;
4804
4976
 
4805
- setPersonalInfoInput(_extends({}, personalInfoInput, (_extends2 = {}, _extends2[_name] = _value, _extends2)));
4806
- updateError(_name, _isError, _errorMsg);
4977
+ console.log(res, "success add " + addModalData.title + " response");
4978
+ setAddModalData(_extends({}, addModalData, {
4979
+ isOpen: false
4980
+ }));
4981
+ IUIToastMessageService$4.sNotify(addModalData.title + " added successfully.");
4982
+ setEmployeeInfoInput(_extends({}, employeeInfoInput, (_extends2 = {}, _extends2[addModalData.id] = {
4983
+ value: res.data.value,
4984
+ label: res.data.label
4985
+ }, _extends2)));
4986
+ dispatch(stopLoader());
4987
+ });
4807
4988
  }
4989
+ };
4808
4990
 
4809
- if (Object.hasOwnProperty.call(inputChangeLog, _name)) {
4810
- var _extends3;
4991
+ var onFocusOutModalInput = function onFocusOutModalInput(name, value) {
4992
+ var validatedValue = value.replace(/\s+/g, ' ').trim();
4993
+ var error = addModalData.isError;
4994
+ setAddModalData(_extends({}, addModalData, {
4995
+ value: validatedValue,
4996
+ isError: validatedValue === '' ? false : error
4997
+ }));
4998
+ };
4811
4999
 
4812
- updateInputChangeLog(_extends({}, inputChangeLog, (_extends3 = {}, _extends3[_name] = true, _extends3)));
5000
+ var onPersonalInfoChange = function onPersonalInfoChange(_name, _value, _isError, _errorMsg, _obj) {
5001
+ if (_isError === void 0) {
5002
+ _isError = false;
5003
+ }
5004
+
5005
+ if (_errorMsg === void 0) {
5006
+ _errorMsg = '';
5007
+ }
5008
+
5009
+ if (_obj === void 0) {
5010
+ _obj = {};
5011
+ }
5012
+
5013
+ try {
5014
+ var _temp6 = function _temp6() {
5015
+ if (Object.hasOwnProperty.call(inputChangeLog, _name)) {
5016
+ var _extends3;
5017
+
5018
+ updateInputChangeLog(_extends({}, inputChangeLog, (_extends3 = {}, _extends3[_name] = true, _extends3)));
5019
+ }
5020
+ };
5021
+
5022
+ var _temp7 = function () {
5023
+ if (_name === 'contact_number') {
5024
+ setPersonalInfoInput(_extends({}, personalInfoInput, {
5025
+ contact_number: _value.trim(),
5026
+ country_code: _obj.code,
5027
+ contact_country_code: _obj.contact_country_code
5028
+ }));
5029
+ updateError('contact_number', _isError, _errorMsg);
5030
+ updateError('country_code', _isError, _errorMsg);
5031
+ updateError('contact_country_code', _isError, _errorMsg);
5032
+ } else {
5033
+ var _temp8 = function _temp8() {
5034
+ var _extends4;
5035
+
5036
+ setPersonalInfoInput(_extends({}, personalInfoInput, (_extends4 = {}, _extends4[_name] = _value, _extends4)));
5037
+ updateError(_name, _isError, _errorMsg);
5038
+ };
5039
+
5040
+ var _temp9 = function () {
5041
+ if (_name === 'profile_pic') {
5042
+ var _temp10 = function () {
5043
+ if (_isError.isUpload) {
5044
+ return Promise.resolve(uploadDocs(_value, _name)).then(function (docsData) {
5045
+ _value = _value.map(function (_val) {
5046
+ var found = docsData.find(function (doc) {
5047
+ return doc.user_file_name === _val.name;
5048
+ });
5049
+
5050
+ if (found) {
5051
+ _val.returned_file_name = found.returned_file_name;
5052
+ }
5053
+
5054
+ return _val;
5055
+ });
5056
+ });
5057
+ } else if (_isError.isDeleted) {
5058
+ var _deletedFiles = [];
5059
+
5060
+ var _uploadedFiles = uploadedFiles.filter(function (file) {
5061
+ if (_name === 'profile_pic' && file.file_type !== 'profile_pic') {
5062
+ return true;
5063
+ }
5064
+
5065
+ var result = !!_value.find(function (_file) {
5066
+ return _file.name === file.user_file_name;
5067
+ });
5068
+
5069
+ if (result === false && file.isExistingFile === true) {
5070
+ _deletedFiles.push(file.id);
5071
+ }
5072
+
5073
+ return result;
5074
+ });
5075
+
5076
+ setUploadedFiles(_uploadedFiles);
5077
+ setFilesForDelete([].concat(filesForDelete, _deletedFiles));
5078
+ }
5079
+ }();
5080
+
5081
+ if (_temp10 && _temp10.then) return _temp10.then(function () {});
5082
+ }
5083
+ }();
5084
+
5085
+ return _temp9 && _temp9.then ? _temp9.then(_temp8) : _temp8(_temp9);
5086
+ }
5087
+ }();
5088
+
5089
+ return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(_temp6) : _temp6(_temp7));
5090
+ } catch (e) {
5091
+ return Promise.reject(e);
4813
5092
  }
4814
5093
  };
4815
5094
 
4816
5095
  var onEmployeeInfoChange = function onEmployeeInfoChange(_name, _value, _isError, _errorMsg, _obj) {
4817
- var _extends4;
5096
+ var _extends5;
4818
5097
 
4819
- setEmployeeInfoInput(_extends({}, employeeInfoInput, (_extends4 = {}, _extends4[_name] = _value, _extends4)));
5098
+ setEmployeeInfoInput(_extends({}, employeeInfoInput, (_extends5 = {}, _extends5[_name] = _value, _extends5)));
4820
5099
  updateError(_name, _isError, _errorMsg);
4821
5100
 
4822
5101
  if (Object.hasOwnProperty.call(inputChangeLog, _name)) {
4823
- var _extends5;
5102
+ var _extends6;
4824
5103
 
4825
- updateInputChangeLog(_extends({}, inputChangeLog, (_extends5 = {}, _extends5[_name] = true, _extends5)));
5104
+ updateInputChangeLog(_extends({}, inputChangeLog, (_extends6 = {}, _extends6[_name] = true, _extends6)));
4826
5105
  }
4827
5106
  };
4828
5107
 
@@ -4834,9 +5113,9 @@ var UserAddEdit = function UserAddEdit(props) {
4834
5113
  };
4835
5114
 
4836
5115
  var onUserTagTypeChange = function onUserTagTypeChange(e) {
4837
- var _extends6;
5116
+ var _extends7;
4838
5117
 
4839
- setUserTagType(_extends({}, userTagType, (_extends6 = {}, _extends6[e.target.name] = userTagType[e.target.name] ? false : getUserTagTypeId(e.target.name), _extends6)));
5118
+ setUserTagType(_extends({}, userTagType, (_extends7 = {}, _extends7[e.target.name] = userTagType[e.target.name] ? false : getUserTagTypeId(e.target.name), _extends7)));
4840
5119
 
4841
5120
  if (Object.hasOwnProperty.call(inputChangeLog, 'userTagType')) {
4842
5121
  updateInputChangeLog(_extends({}, inputChangeLog, {
@@ -4846,21 +5125,21 @@ var UserAddEdit = function UserAddEdit(props) {
4846
5125
  };
4847
5126
 
4848
5127
  var onCustomFieldsChange = function onCustomFieldsChange(_name, _value) {
4849
- var _extends7;
5128
+ var _extends8;
4850
5129
 
4851
- setCustomFieldsInput(_extends({}, customFieldsInput, (_extends7 = {}, _extends7[_name] = _value, _extends7)));
5130
+ setCustomFieldsInput(_extends({}, customFieldsInput, (_extends8 = {}, _extends8[_name] = _value, _extends8)));
4852
5131
  };
4853
5132
 
4854
5133
  var onTravelApproversInputChange = function onTravelApproversInputChange(_name, _value) {
4855
- var _extends8;
5134
+ var _extends9;
4856
5135
 
4857
- setTravelApproversInput(_extends({}, travelApproversInput, (_extends8 = {}, _extends8[_name] = _value, _extends8)));
5136
+ setTravelApproversInput(_extends({}, travelApproversInput, (_extends9 = {}, _extends9[_name] = _value, _extends9)));
4858
5137
  };
4859
5138
 
4860
5139
  var onExpenseApproversInputChange = function onExpenseApproversInputChange(_name, _value) {
4861
- var _extends9;
5140
+ var _extends10;
4862
5141
 
4863
- setExpenseApproversInput(_extends({}, expenseApproversInput, (_extends9 = {}, _extends9[_name] = _value, _extends9)));
5142
+ setExpenseApproversInput(_extends({}, expenseApproversInput, (_extends10 = {}, _extends10[_name] = _value, _extends10)));
4864
5143
  };
4865
5144
 
4866
5145
  var onMemInfoInputChange = function onMemInfoInputChange(index, key, val) {
@@ -4890,28 +5169,28 @@ var UserAddEdit = function UserAddEdit(props) {
4890
5169
  };
4891
5170
 
4892
5171
  var travelPreferenceOnChange = function travelPreferenceOnChange(_name, _value, _isError, _errorMsg) {
4893
- var _extends10;
5172
+ var _extends11;
4894
5173
 
4895
- settravelPreferenceInfo(_extends({}, travelPreferenceInfo, (_extends10 = {}, _extends10[_name] = _value, _extends10)));
5174
+ settravelPreferenceInfo(_extends({}, travelPreferenceInfo, (_extends11 = {}, _extends11[_name] = _value, _extends11)));
4896
5175
 
4897
5176
  if (Object.hasOwnProperty.call(inputChangeLog, _name)) {
4898
- var _extends11;
5177
+ var _extends12;
4899
5178
 
4900
- updateInputChangeLog(_extends({}, inputChangeLog, (_extends11 = {}, _extends11[_name] = true, _extends11)));
5179
+ updateInputChangeLog(_extends({}, inputChangeLog, (_extends12 = {}, _extends12[_name] = true, _extends12)));
4901
5180
  }
4902
5181
 
4903
5182
  updateError(_name, _isError, _errorMsg);
4904
5183
  };
4905
5184
 
4906
5185
  var onSecureTraveelerInfoInputChange = function onSecureTraveelerInfoInputChange(_name, _value, _isError, _errorMsg) {
4907
- var _extends12;
5186
+ var _extends13;
4908
5187
 
4909
- setSecureTravelInputInfo(_extends({}, secureTravelInputInfo, (_extends12 = {}, _extends12[_name] = _value, _extends12)));
5188
+ setSecureTravelInputInfo(_extends({}, secureTravelInputInfo, (_extends13 = {}, _extends13[_name] = _value, _extends13)));
4910
5189
 
4911
5190
  if (Object.hasOwnProperty.call(inputChangeLog, _name)) {
4912
- var _extends13;
5191
+ var _extends14;
4913
5192
 
4914
- updateInputChangeLog(_extends({}, inputChangeLog, (_extends13 = {}, _extends13[_name] = true, _extends13)));
5193
+ updateInputChangeLog(_extends({}, inputChangeLog, (_extends14 = {}, _extends14[_name] = true, _extends14)));
4915
5194
  }
4916
5195
 
4917
5196
  updateError(_name, _isError, _errorMsg);
@@ -4931,15 +5210,15 @@ var UserAddEdit = function UserAddEdit(props) {
4931
5210
  }
4932
5211
 
4933
5212
  try {
4934
- var _temp4 = function _temp4() {
4935
- var _extends14;
5213
+ var _temp14 = function _temp14() {
5214
+ var _extends15;
4936
5215
 
4937
- setPassportInfoInput(_extends({}, passportInfoInput, (_extends14 = {}, _extends14[_name] = _value, _extends14)));
5216
+ setPassportInfoInput(_extends({}, passportInfoInput, (_extends15 = {}, _extends15[_name] = _value, _extends15)));
4938
5217
 
4939
5218
  if (Object.hasOwnProperty.call(inputChangeLog, _name)) {
4940
- var _extends15;
5219
+ var _extends16;
4941
5220
 
4942
- updateInputChangeLog(_extends({}, inputChangeLog, (_extends15 = {}, _extends15[_name] = true, _extends15)));
5221
+ updateInputChangeLog(_extends({}, inputChangeLog, (_extends16 = {}, _extends16[_name] = true, _extends16)));
4943
5222
  }
4944
5223
 
4945
5224
  updateError(_name, _isError, _errorMsg);
@@ -4973,15 +5252,17 @@ var UserAddEdit = function UserAddEdit(props) {
4973
5252
  return Promise.resolve();
4974
5253
  }
4975
5254
 
4976
- var _temp5 = function () {
5255
+ var _temp15 = function () {
4977
5256
  if (_name === 'passport_photo' || _name === 'travel_docs') {
4978
- var _temp6 = function () {
5257
+ var _temp16 = function () {
4979
5258
  if (_obj.isUpload) {
4980
5259
  var checkAlreadyUploadedFiles = uploadedFiles.filter(function (_file) {
4981
5260
  if (_name === 'passport_photo') {
4982
5261
  return _file.file_type === 'passport';
4983
- } else {
5262
+ } else if (_name === 'travel_docs') {
4984
5263
  return _file.file_type === 'travel_docs';
5264
+ } else {
5265
+ return false;
4985
5266
  }
4986
5267
  }).map(function (_file) {
4987
5268
  return _file.user_file_name;
@@ -5025,11 +5306,11 @@ var UserAddEdit = function UserAddEdit(props) {
5025
5306
  }
5026
5307
  }();
5027
5308
 
5028
- if (_temp6 && _temp6.then) return _temp6.then(function () {});
5309
+ if (_temp16 && _temp16.then) return _temp16.then(function () {});
5029
5310
  }
5030
5311
  }();
5031
5312
 
5032
- return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp4) : _temp4(_temp5));
5313
+ return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(_temp14) : _temp14(_temp15));
5033
5314
  } catch (e) {
5034
5315
  return Promise.reject(e);
5035
5316
  }
@@ -5052,9 +5333,9 @@ var UserAddEdit = function UserAddEdit(props) {
5052
5333
  return _errorArray;
5053
5334
  });
5054
5335
  setErrorMsgs(function (prevState) {
5055
- var _extends16;
5336
+ var _extends17;
5056
5337
 
5057
- return _extends({}, prevState, (_extends16 = {}, _extends16[_name] = _errorMsg, _extends16));
5338
+ return _extends({}, prevState, (_extends17 = {}, _extends17[_name] = _errorMsg, _extends17));
5058
5339
  });
5059
5340
  };
5060
5341
 
@@ -5100,6 +5381,19 @@ var UserAddEdit = function UserAddEdit(props) {
5100
5381
  })).then(function (res) {
5101
5382
  var _res$user_tags, _res$custom_attribute;
5102
5383
 
5384
+ var profilePic = [];
5385
+
5386
+ if (res && res.profile_pic) {
5387
+ profilePic = [{
5388
+ name: res.profile_pic.user_file_name,
5389
+ id: res.profile_pic.id,
5390
+ isExistingFile: true,
5391
+ file_path: res.profile_pic.file_path,
5392
+ file_type: res.profile_pic.file_type,
5393
+ presigned_url: res.profile_pic.presigned_url
5394
+ }];
5395
+ }
5396
+
5103
5397
  setPersonalInfoInput(_extends({}, personalInfoInput, {
5104
5398
  first_name: res.first_name || '',
5105
5399
  last_name: res.last_name || '',
@@ -5108,7 +5402,8 @@ var UserAddEdit = function UserAddEdit(props) {
5108
5402
  dob: res.personal_info.dob || '',
5109
5403
  gender: res.personal_info.gender || '',
5110
5404
  country_code: res.personal_info.country_code || countryCode,
5111
- contact_country_code: res.personal_info.contact_country_code || ''
5405
+ contact_country_code: res.personal_info.contact_country_code || '',
5406
+ profile_pic: profilePic || []
5112
5407
  }));
5113
5408
  setEmployeeInfoInput(_extends({}, employeeInfoInput, {
5114
5409
  emp_level: res.employee_info.emp_level ? {
@@ -5240,6 +5535,16 @@ var UserAddEdit = function UserAddEdit(props) {
5240
5535
  file_type: _file.file_type
5241
5536
  });
5242
5537
  });
5538
+
5539
+ if (res && res.profile_pic) {
5540
+ _uploadedDocs.push({
5541
+ user_file_name: res.profile_pic.user_file_name,
5542
+ id: res.profile_pic.id,
5543
+ isExistingFile: true,
5544
+ file_type: res.profile_pic.file_type
5545
+ });
5546
+ }
5547
+
5243
5548
  setPassportInfoInput(_extends({}, passportInfoInput, {
5244
5549
  passport_issue_country: res !== null && res !== void 0 && (_res$travel_info = res.travel_info) !== null && _res$travel_info !== void 0 && _res$travel_info.passport_issue_country ? {
5245
5550
  label: res.travel_info.passport_issue_country,
@@ -5360,7 +5665,7 @@ var UserAddEdit = function UserAddEdit(props) {
5360
5665
 
5361
5666
  var uploadDocs = function uploadDocs(docToUpload, type) {
5362
5667
  try {
5363
- var _temp9 = function _temp9() {
5668
+ var _temp19 = function _temp19() {
5364
5669
  setUploadedFiles([].concat(uploadedFiles, data));
5365
5670
  dispatch(stopLoader());
5366
5671
  return data;
@@ -5373,17 +5678,18 @@ var UserAddEdit = function UserAddEdit(props) {
5373
5678
  docs.push({
5374
5679
  itemType: type,
5375
5680
  fileName: doc.name,
5376
- file: doc
5681
+ file: doc,
5682
+ userID: editUserId
5377
5683
  });
5378
5684
  });
5379
5685
 
5380
- var _temp10 = _forTo(docs, function (i) {
5686
+ var _temp20 = _forTo(docs, function (i) {
5381
5687
  return Promise.resolve(dispatch(uploadSingleDocumnet(docs[i]))).then(function (res) {
5382
5688
  data.push(res);
5383
5689
  });
5384
5690
  });
5385
5691
 
5386
- return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
5692
+ return Promise.resolve(_temp20 && _temp20.then ? _temp20.then(_temp19) : _temp19(_temp20));
5387
5693
  } catch (e) {
5388
5694
  return Promise.reject(e);
5389
5695
  }
@@ -5769,7 +6075,6 @@ var UserAddEdit = function UserAddEdit(props) {
5769
6075
  if (verifyUserId) {
5770
6076
  dispatch(showLoader());
5771
6077
  dispatch(verifyUserInfo(verifyUserId)).then(function (res) {
5772
- console.log(res);
5773
6078
  setPersonalInfoInput(function (prevState) {
5774
6079
  return _extends({}, prevState, {
5775
6080
  first_name: res.fname,
@@ -5995,6 +6300,10 @@ var UserAddEdit = function UserAddEdit(props) {
5995
6300
  container: true,
5996
6301
  className: clsx(styles.formFieldsWrapper, styles.firstRowMargin)
5997
6302
  }, renderFields.workInfo.map(function (p, i) {
6303
+ if (p.type === 'async_select' && p.selectCTA) {
6304
+ p.selectCTA.callback = onModalOpen;
6305
+ }
6306
+
5998
6307
  if (!p.visibility) {
5999
6308
  return null;
6000
6309
  }
@@ -6154,6 +6463,14 @@ var UserAddEdit = function UserAddEdit(props) {
6154
6463
  }))) : /*#__PURE__*/React.createElement(VerificationError, {
6155
6464
  config: config,
6156
6465
  errMsg: hasVerificationError
6466
+ }), /*#__PURE__*/React.createElement(AddPanelDialog, {
6467
+ name: addModalData.title,
6468
+ isOpen: addModalData.isOpen,
6469
+ isError: addModalData.isError,
6470
+ closeHandler: onAddModalClose,
6471
+ customHandler: onFocusOutModalInput,
6472
+ submitHandler: onAddModalSubmit,
6473
+ validation: modalValidation
6157
6474
  }));
6158
6475
  };
6159
6476
 
@@ -8577,53 +8894,6 @@ function Listview(_ref) {
8577
8894
  })));
8578
8895
  }
8579
8896
 
8580
- function AddPanelDialog(_ref) {
8581
- var name = _ref.name,
8582
- isOpen = _ref.isOpen,
8583
- closeHandler = _ref.closeHandler,
8584
- submitHandler = _ref.submitHandler,
8585
- customHandler = _ref.customHandler,
8586
- isError = _ref.isError,
8587
- isDisabledSubmitBtn = _ref.isDisabledSubmitBtn,
8588
- validation = _ref.validation;
8589
- return /*#__PURE__*/React.createElement(IUIModal, {
8590
- isDisabledSubmitBtn: isDisabledSubmitBtn,
8591
- isOpen: isOpen,
8592
- closeHandler: closeHandler,
8593
- headerText: "Add " + name.toLowerCase(),
8594
- cancelLabel: "Cancel",
8595
- submitLabel: "Add",
8596
- submitHandler: submitHandler,
8597
- width: "365px",
8598
- hideCloseIcon: false,
8599
- modalBodyStyle: {
8600
- maxHeight: '600px',
8601
- overflow: 'auto',
8602
- margin: '0px'
8603
- },
8604
- footerStyle: {
8605
- justifyContent: 'end'
8606
- }
8607
- }, /*#__PURE__*/React.createElement(IUIBox, {
8608
- component: "div",
8609
- display: "flex",
8610
- justifyContent: "center",
8611
- alignItems: "center",
8612
- flexDirection: "column",
8613
- padding: "8px 20px"
8614
- }, /*#__PURE__*/React.createElement(IUIInput, {
8615
- label: name + " name",
8616
- name: "name",
8617
- defaultValue: "",
8618
- customHandler: customHandler,
8619
- placeholder: "",
8620
- validation: validation,
8621
- isError: isError,
8622
- errorMsg: "Please enter " + name.toLowerCase() + " name.",
8623
- required: true
8624
- })));
8625
- }
8626
-
8627
8897
  function DeletePanelModal(_ref) {
8628
8898
  var isOpen = _ref.isOpen,
8629
8899
  closeHandler = _ref.closeHandler,
@@ -8921,7 +9191,7 @@ var UserPanel = function UserPanel(_ref) {
8921
9191
  };
8922
9192
 
8923
9193
  var validation = {
8924
- regexOnChange: /^[A-Za-z]+[A-Za-z0-9()&'\-_. ]*$/,
9194
+ regexOnChange: /^[(A-Z)(a-z)(0-9)&'\-_.,/: ]*$/,
8925
9195
  regexOnBlur: null,
8926
9196
  maxLimit: '',
8927
9197
  minLimit: '',