@itilite/iui-user-management 0.1.19 → 0.2.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.
package/dist/index.js CHANGED
@@ -4,8 +4,8 @@ var iuistyles = require('@itilite/iuistyles');
4
4
  var React = require('react');
5
5
  var React__default = _interopDefault(React);
6
6
  var utils = require('@itilite/utils');
7
- var axios = _interopDefault(require('axios'));
8
7
  var moment = _interopDefault(require('moment'));
8
+ var axios = _interopDefault(require('axios'));
9
9
  var AddIcon$1 = _interopDefault(require('@material-ui/icons/Add'));
10
10
  var DeleteIcon = _interopDefault(require('@material-ui/icons/Delete'));
11
11
  var reactRedux = require('react-redux');
@@ -181,6 +181,186 @@ function clsx() {
181
181
  return n;
182
182
  }
183
183
 
184
+ function GetInputType(_ref) {
185
+ var _p = _ref._p,
186
+ _ref$inputState = _ref.inputState,
187
+ inputState = _ref$inputState === void 0 ? {} : _ref$inputState,
188
+ _ref$customHandler = _ref.customHandler,
189
+ customHandler = _ref$customHandler === void 0 ? function () {} : _ref$customHandler,
190
+ _ref$dropdownList = _ref.dropdownList,
191
+ dropdownList = _ref$dropdownList === void 0 ? {} : _ref$dropdownList,
192
+ _ref$dateFormat = _ref.dateFormat,
193
+ dateFormat = _ref$dateFormat === void 0 ? 'dd MMM yyyy' : _ref$dateFormat,
194
+ _ref$errorArray = _ref.errorArray,
195
+ errorArray = _ref$errorArray === void 0 ? [] : _ref$errorArray,
196
+ _ref$errorMsg = _ref.errorMsg,
197
+ errorMsg = _ref$errorMsg === void 0 ? '' : _ref$errorMsg,
198
+ _ref$showNaOption = _ref.showNaOption,
199
+ showNaOption = _ref$showNaOption === void 0 ? false : _ref$showNaOption;
200
+
201
+ switch (_p.type) {
202
+ case 'input':
203
+ return /*#__PURE__*/React__default.createElement(iuistyles.IUIInput, {
204
+ label: _p.label,
205
+ secondaryLabel: _p.secondaryLabel,
206
+ fullWidth: _p.fullWidth,
207
+ name: _p.name,
208
+ id: _p.name,
209
+ defaultValue: inputState[_p.name],
210
+ customHandler: customHandler,
211
+ placeholder: _p.placeholder,
212
+ validation: _p.validation,
213
+ isError: errorArray.indexOf(_p.name) !== -1,
214
+ errorMsg: errorMsg,
215
+ required: _p.required,
216
+ readOnly: _p.readOnly,
217
+ hasInfoIcon: !!_p.tooltip,
218
+ tooltipText: _p.tooltip,
219
+ disableText: _p.disableText
220
+ });
221
+
222
+ case 'datepicker':
223
+ return /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, null, /*#__PURE__*/React__default.createElement(iuistyles.IUILabel, {
224
+ label: _p.label,
225
+ required: _p.required
226
+ }), /*#__PURE__*/React__default.createElement(iuistyles.IUIDatePicker, {
227
+ label: _p.label,
228
+ fullWidth: _p.fullWidth,
229
+ hasIcon: _p.hasIcon,
230
+ size: _p.size,
231
+ name: _p.name,
232
+ id: _p.name,
233
+ dateValue: inputState[_p.name],
234
+ customHandler: customHandler,
235
+ displayDateType: dateFormat,
236
+ placeholder: dateFormat.toUpperCase(),
237
+ maxDate: _p.maxDate,
238
+ minDate: _p.minDate,
239
+ isError: errorArray.indexOf(_p.name) !== -1,
240
+ errorMsg: errorMsg,
241
+ disabled: _p.readOnly,
242
+ hasInfoIcon: !!_p.tooltip,
243
+ tooltipText: _p.tooltip,
244
+ required: _p.required,
245
+ disableText: _p.disableText
246
+ }));
247
+
248
+ case 'select':
249
+ return /*#__PURE__*/React__default.createElement(iuistyles.IUISelect, {
250
+ label: _p.label,
251
+ fullWidth: _p.fullWidth,
252
+ list: dropdownList[_p.name],
253
+ valueKey: "name",
254
+ required: _p.required,
255
+ name: _p.name,
256
+ id: _p.name,
257
+ value: inputState[_p.name],
258
+ customSelectHandler: customHandler,
259
+ menuItemTitle: _p.placeholder,
260
+ isError: errorArray.indexOf(_p.name) !== -1,
261
+ errorMsg: errorMsg,
262
+ readOnly: _p.readOnly,
263
+ hasInfoIcon: !!_p.tooltip,
264
+ tooltipText: _p.tooltip,
265
+ disableText: _p.disableText
266
+ });
267
+
268
+ case 'phone':
269
+ return /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, null, /*#__PURE__*/React__default.createElement(iuistyles.IUILabel, {
270
+ label: _p.label,
271
+ required: _p.required
272
+ }), /*#__PURE__*/React__default.createElement(iuistyles.IUIPhone, {
273
+ list: dropdownList[_p.name],
274
+ name: _p.name,
275
+ id: _p.name,
276
+ value: inputState[_p.name],
277
+ required: _p.required,
278
+ selectedCountryOverride: inputState.country_code,
279
+ customHandler: customHandler,
280
+ validation: _p.validation,
281
+ isError: errorArray.indexOf(_p.name) !== -1,
282
+ errorMsg: errorMsg,
283
+ readOnly: _p.readOnly,
284
+ hasInfoIcon: !!_p.tooltip,
285
+ tooltipText: _p.tooltip
286
+ }));
287
+
288
+ case 'checkbox':
289
+ return /*#__PURE__*/React__default.createElement(iuistyles.IUICheckboxButton, {
290
+ label: _p.label,
291
+ isCheckbox: true,
292
+ customHandler: customHandler,
293
+ checkboxFlag: inputState[_p.name],
294
+ disabled: _p.readOnly,
295
+ hasInfoIcon: !!_p.tooltip,
296
+ tooltipText: _p.tooltip,
297
+ id: _p.name,
298
+ disableText: _p.disableText
299
+ });
300
+
301
+ case 'file':
302
+ return /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, null, /*#__PURE__*/React__default.createElement(iuistyles.IUILabel, {
303
+ label: _p.label,
304
+ required: _p.required,
305
+ description: _p.description,
306
+ hasInfoIcon: !!_p.tooltip,
307
+ tooltipText: _p.tooltip
308
+ }), /*#__PURE__*/React__default.createElement(iuistyles.IUIFileUpload, {
309
+ multiple: _p.multiple,
310
+ title: _p.title,
311
+ fileType: _p.fileType,
312
+ name: _p.name,
313
+ id: _p.name,
314
+ customHandler: customHandler,
315
+ value: inputState[_p.name],
316
+ maxFiles: _p.maxNoFiles,
317
+ maxFileSize: _p.fileSize,
318
+ isError: errorArray.indexOf(_p.name) !== -1,
319
+ errorMsg: errorMsg,
320
+ readOnly: _p.readOnly,
321
+ hasInfoIcon: !!_p.tooltip,
322
+ tooltipText: _p.tooltip,
323
+ disableText: _p.disableText,
324
+ buttonType: _p.buttonType
325
+ }));
326
+
327
+ case 'async_select':
328
+ return /*#__PURE__*/React__default.createElement(iuistyles.IUIAsyncSelect, {
329
+ id: _p.name,
330
+ additional: {
331
+ page: 1,
332
+ tabelName: _p.tabelName,
333
+ product: _p.product,
334
+ placeholder: _p.placeholder,
335
+ userId: _p.editUserId,
336
+ selectCTA: _p.selectCTA,
337
+ showNaOption: showNaOption
338
+ },
339
+ label: _p.label,
340
+ secondaryLabel: _p.secondaryLabel,
341
+ title: _p.title,
342
+ value: inputState[_p.name],
343
+ name: _p.name,
344
+ customSelectHandler: customHandler,
345
+ inputType: _p.inputType,
346
+ loadOption: _p.loadOption,
347
+ isError: errorArray.indexOf(_p.name) !== -1,
348
+ errorMsg: errorMsg,
349
+ required: _p.required,
350
+ readOnly: _p.readOnly,
351
+ placeHolderCheck: inputState[_p.name] !== undefined && inputState[_p.name].value === '',
352
+ hasInfoIcon: !!_p.tooltip,
353
+ tooltipText: _p.tooltip,
354
+ disableText: _p.disableText,
355
+ selectCTA: _p.selectCTA,
356
+ clearCache: _p.clearCache
357
+ });
358
+
359
+ default:
360
+ return null;
361
+ }
362
+ }
363
+
184
364
  var env = utils.configs.env;
185
365
  var IUILocalStorageService = utils.services.IUILocalStorageService;
186
366
  var userAddEditUrl = {
@@ -278,301 +458,20 @@ var userPanelUrl = {
278
458
  deleteUnit: function deleteUnit(tableName) {
279
459
  return "api/v1/user-management/company/" + IUILocalStorageService.getCompanyId() + "/table?action=delete&table=" + tableName;
280
460
  },
281
- getUnit: function getUnit(tableName, length) {
282
- return "api/v1/user-management/company/" + IUILocalStorageService.getCompanyId() + "/table?table_name=" + tableName + "&length=" + length;
461
+ getUnit: function getUnit(tableName, length, sort) {
462
+ return "api/v1/user-management/company/" + IUILocalStorageService.getCompanyId() + "/table?table_name=" + tableName + "&length=" + length + "&order=" + sort;
283
463
  },
284
- getPaginationUnit: function getPaginationUnit(tableName, length, page) {
285
- return "api/v1/user-management/company/" + IUILocalStorageService.getCompanyId() + "/table?table_name=" + tableName + "&length=" + length + "&page=" + page;
464
+ getPaginationUnit: function getPaginationUnit(tableName, length, page, sort) {
465
+ return "api/v1/user-management/company/" + IUILocalStorageService.getCompanyId() + "/table?table_name=" + tableName + "&length=" + length + "&page=" + page + "&order=" + sort;
286
466
  },
287
467
  moveUnit: function moveUnit() {
288
468
  return "api/v1/user-management/company/" + IUILocalStorageService.getCompanyId() + "/transfer-users";
289
469
  }
290
470
  };
291
471
 
292
- var IUILocalStorageService$1 = utils.services.IUILocalStorageService;
293
- var api = utils.configs.api;
294
- var commonLoadOptions = function commonLoadOptions(search, loadedOptions, _ref) {
295
- var page = _ref.page,
296
- tabelName = _ref.tabelName,
297
- placeholder = _ref.placeholder,
298
- selectCTA = _ref.selectCTA,
299
- showNaOption = _ref.showNaOption;
300
-
301
- try {
302
- return Promise.resolve(_catch(function () {
303
- var url = userAddEditUrl.dropdownList() + ("?page=" + page + "&table_name=" + tabelName + "&search=" + search);
304
- return Promise.resolve(api.get(url).then(function (res) {
305
- return res.data;
306
- })).then(function (response) {
307
- var mappedValue = response.results.map(function (item) {
308
- return {
309
- value: item.id,
310
- label: item.name
311
- };
312
- });
313
-
314
- if (showNaOption && page === 1 && NAoptionConfig.applyFor.includes(tabelName)) {
315
- mappedValue.unshift(NAoptionConfig.option);
316
- }
317
-
318
- if (response.next === null && selectCTA) {
319
- mappedValue.push({
320
- value: selectCTA.value,
321
- label: ''
322
- });
323
- }
324
-
325
- return {
326
- options: mappedValue,
327
- hasMore: !!response.next,
328
- additional: {
329
- page: page + 1,
330
- tabelName: tabelName,
331
- placeholder: placeholder,
332
- selectCTA: selectCTA
333
- }
334
- };
335
- });
336
- }, function () {
337
- return {
338
- options: [],
339
- hasMore: false,
340
- additional: {
341
- page: 1,
342
- tabelName: tabelName,
343
- placeholder: placeholder,
344
- selectCTA: selectCTA
345
- }
346
- };
347
- }));
348
- } catch (e) {
349
- return Promise.reject(e);
350
- }
351
- };
352
- var commonLoadOptionsUM = function commonLoadOptionsUM(search, loadedOptions, _ref2) {
353
- var page = _ref2.page,
354
- tabelName = _ref2.tabelName,
355
- placeholder = _ref2.placeholder,
356
- defaultData = _ref2.defaultData;
357
-
358
- try {
359
- return Promise.resolve(_catch(function () {
360
- var url = userAddEditUrl.dropdownList() + ("?page=" + page + "&table_name=" + tabelName + "&search=" + search);
361
- return Promise.resolve(api.get(url).then(function (res) {
362
- return res.data;
363
- })).then(function (response) {
364
- var arrList = response.results.filter(function (item) {
365
- return item.name !== defaultData;
366
- });
367
- var mappedValue = arrList.map(function (item) {
368
- return {
369
- value: item.id,
370
- label: item.name
371
- };
372
- });
373
- return {
374
- options: mappedValue,
375
- hasMore: !!response.next,
376
- additional: {
377
- page: page + 1,
378
- tabelName: tabelName
379
- }
380
- };
381
- });
382
- }, function () {
383
- return {
384
- options: [],
385
- hasMore: false,
386
- additional: {
387
- page: 1,
388
- tabelName: tabelName,
389
- placeholder: placeholder
390
- }
391
- };
392
- }));
393
- } catch (e) {
394
- return Promise.reject(e);
395
- }
396
- };
397
- var currencyLoadOptions = function currencyLoadOptions(search, loadedOptions, _ref3) {
398
- var page = _ref3.page;
399
-
400
- try {
401
- return Promise.resolve(_catch(function () {
402
- return Promise.resolve(api.get(userAddEditUrl.currencyCode() + "&search=" + search + "&page=" + page).then(function (res) {
403
- return res.data;
404
- })).then(function (response) {
405
- var mappedValue = response.results.map(function (item) {
406
- return {
407
- value: item.currency_code,
408
- label: item.currency_code
409
- };
410
- });
411
- return {
412
- options: mappedValue,
413
- hasMore: !!response.next,
414
- additional: {
415
- page: page + 1
416
- }
417
- };
418
- });
419
- }, function () {
420
- return {
421
- options: [],
422
- hasMore: false,
423
- additional: {
424
- page: 1
425
- }
426
- };
427
- }));
428
- } catch (e) {
429
- return Promise.reject(e);
430
- }
431
- };
432
- var approversOptions = function approversOptions(search, loadedOptions, _ref4) {
433
- var page = _ref4.page,
434
- product = _ref4.product,
435
- userId = _ref4.userId,
436
- placeholder = _ref4.placeholder;
437
-
438
- try {
439
- return Promise.resolve(_catch(function () {
440
- return Promise.resolve(api.get(userAddEditUrl.approversSearch() + "?page=" + page + "&product=" + product + "&search=" + search + "&user_id=" + userId).then(function (res) {
441
- return res.data;
442
- })).then(function (response) {
443
- var mappedValue = response.results.map(function (item) {
444
- return {
445
- value: item.approver,
446
- label: item.approver
447
- };
448
- });
449
-
450
- if (page === 1) {
451
- var placeholderLbl = {
452
- value: '',
453
- label: placeholder
454
- };
455
- mappedValue.unshift(placeholderLbl);
456
- }
457
-
458
- return {
459
- options: mappedValue,
460
- hasMore: !!response.next,
461
- additional: {
462
- page: page + 1,
463
- product: product,
464
- userId: userId
465
- }
466
- };
467
- });
468
- }, function () {
469
- return {
470
- options: [],
471
- hasMore: false,
472
- additional: {
473
- page: 1,
474
- product: product,
475
- userId: userId
476
- }
477
- };
478
- }));
479
- } catch (e) {
480
- return Promise.reject(e);
481
- }
482
- };
483
- var countryOptions = function countryOptions(search, loadedOptions, _ref5) {
484
- var page = _ref5.page,
485
- tabelName = _ref5.tabelName;
486
-
487
- try {
488
- return Promise.resolve(_catch(function () {
489
- return Promise.resolve(api.get(userAddEditUrl.countryPaginated() + "&search=" + search + "&page=" + page + "&info=" + tabelName).then(function (res) {
490
- return res.data;
491
- })).then(function (response) {
492
- var mappedValue = response.results.map(function (item) {
493
- return {
494
- value: item[tabelName],
495
- label: item[tabelName]
496
- };
497
- });
498
- return {
499
- options: mappedValue,
500
- hasMore: !!response.next,
501
- additional: {
502
- page: page + 1,
503
- tabelName: tabelName
504
- }
505
- };
506
- });
507
- }, function () {
508
- return {
509
- options: [],
510
- hasMore: false,
511
- additional: {
512
- page: 1,
513
- tabelName: tabelName
514
- }
515
- };
516
- }));
517
- } catch (e) {
518
- return Promise.reject(e);
519
- }
520
- };
521
- var airlineOptionsfn = function airlineOptionsfn(search, loadedOptions, _ref6) {
522
- var page = _ref6.page,
523
- placeholder = _ref6.placeholder;
524
-
525
- try {
526
- return Promise.resolve(_catch(function () {
527
- var url = userAddEditUrl.airlineList() + ("?page=" + page + "&search=" + search);
528
- var token = IUILocalStorageService$1.getAccessToken();
529
- return Promise.resolve(axios.get(url, {
530
- headers: {
531
- Authorization: 'Bearer ' + token
532
- }
533
- })).then(function (response) {
534
- return Promise.resolve(response.data.results.map(function (item) {
535
- return {
536
- value: item.id,
537
- label: item.name
538
- };
539
- })).then(function (mappedValue) {
540
- if (placeholder) {
541
- var placeholderLbl = {
542
- value: '',
543
- label: placeholder
544
- };
545
- mappedValue.unshift(placeholderLbl);
546
- }
547
-
548
- return {
549
- options: mappedValue,
550
- hasMore: !!response.data.next,
551
- additional: {
552
- page: page + 1,
553
- placeholder: placeholder
554
- }
555
- };
556
- });
557
- });
558
- }, function () {
559
- return {
560
- options: [],
561
- hasMore: false,
562
- additional: {
563
- page: 1,
564
- placeholder: placeholder
565
- }
566
- };
567
- }));
568
- } catch (e) {
569
- return Promise.reject(e);
570
- }
571
- };
572
-
573
- var dob = {
574
- maxDate: moment().subtract(18, 'years'),
575
- minDate: moment().subtract(300, 'years')
472
+ var dob = {
473
+ maxDate: moment().subtract(18, 'years'),
474
+ minDate: moment().subtract(300, 'years')
576
475
  };
577
476
  var passportStart = {
578
477
  maxDate: moment(),
@@ -725,7 +624,7 @@ var workInfo = [{
725
624
  value: 'employee_level',
726
625
  component: /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
727
626
  className: "iui__font--color-link iui__font--weight-500"
728
- }, "+ Add employee level"),
627
+ }, "+ Add Employee Level"),
729
628
  callback: null
730
629
  }
731
630
  }, {
@@ -767,7 +666,7 @@ var workInfo = [{
767
666
  value: 'entity',
768
667
  component: /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
769
668
  className: "iui__font--color-link iui__font--weight-500"
770
- }, "+ Add entity"),
669
+ }, "+ Add Entity"),
771
670
  callback: null
772
671
  }
773
672
  }, {
@@ -789,7 +688,7 @@ var workInfo = [{
789
688
  value: 'business_unit',
790
689
  component: /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
791
690
  className: "iui__font--color-link iui__font--weight-500"
792
- }, "+ Add business unit"),
691
+ }, "+ Add Business Unit"),
793
692
  callback: null
794
693
  }
795
694
  }, {
@@ -811,7 +710,7 @@ var workInfo = [{
811
710
  value: 'department',
812
711
  component: /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
813
712
  className: "iui__font--color-link iui__font--weight-500"
814
- }, "+ Add department"),
713
+ }, "+ Add Department"),
815
714
  callback: null
816
715
  }
817
716
  }, {
@@ -1224,186 +1123,326 @@ var NAoptionConfig = {
1224
1123
  },
1225
1124
  applyFor: ['employee_level', 'department']
1226
1125
  };
1126
+ var userAddPageFormLabels = {
1127
+ user_personal_info: {
1128
+ first_name: 'First and middle name',
1129
+ last_name: 'Last name',
1130
+ email: 'Email address',
1131
+ contact_number: 'Phone number',
1132
+ dob: 'Date of birth',
1133
+ gender: 'Gender',
1134
+ profile_pic: 'Profile photo'
1135
+ },
1136
+ employee_info: {
1137
+ emp_level: 'Employee level',
1138
+ employee_id: 'Employee ID',
1139
+ entity: 'Entity',
1140
+ business_unit: 'Business unit',
1141
+ department: 'Department',
1142
+ designation: 'Designation',
1143
+ base_location: 'Base location',
1144
+ currency: 'Default currency'
1145
+ },
1146
+ user_travel_info: {
1147
+ nationality: 'Nationality',
1148
+ passport_number: 'Passport number',
1149
+ passport_expiry_date: 'Date of expiry',
1150
+ passport_issue_country: 'Passport issuing country',
1151
+ passport_issue_date: 'Date of issue',
1152
+ passport_photo: 'Photo of passport',
1153
+ travel_docs: 'Travel documents',
1154
+ flight_seat_preference: 'Flight seat preference',
1155
+ meal_preference: 'Meals preference',
1156
+ trusted_traveller: 'Known traveler number',
1157
+ redress_number: 'Redress number'
1158
+ },
1159
+ products: {
1160
+ travel: 'Travel',
1161
+ expense: 'Expense'
1162
+ },
1163
+ travel_fyi_approver: 'FYI approver'
1164
+ };
1227
1165
 
1228
- function GetInputType(_ref) {
1229
- var _p = _ref._p,
1230
- _ref$inputState = _ref.inputState,
1231
- inputState = _ref$inputState === void 0 ? {} : _ref$inputState,
1232
- _ref$customHandler = _ref.customHandler,
1233
- customHandler = _ref$customHandler === void 0 ? function () {} : _ref$customHandler,
1234
- _ref$dropdownList = _ref.dropdownList,
1235
- dropdownList = _ref$dropdownList === void 0 ? {} : _ref$dropdownList,
1236
- _ref$dateFormat = _ref.dateFormat,
1237
- dateFormat = _ref$dateFormat === void 0 ? 'dd MMM yyyy' : _ref$dateFormat,
1238
- _ref$errorArray = _ref.errorArray,
1239
- errorArray = _ref$errorArray === void 0 ? [] : _ref$errorArray,
1240
- _ref$errorMsg = _ref.errorMsg,
1241
- errorMsg = _ref$errorMsg === void 0 ? '' : _ref$errorMsg,
1242
- _ref$showNaOption = _ref.showNaOption,
1243
- showNaOption = _ref$showNaOption === void 0 ? false : _ref$showNaOption;
1166
+ var IUILocalStorageService$1 = utils.services.IUILocalStorageService;
1167
+ var api = utils.configs.api;
1168
+ var commonLoadOptions = function commonLoadOptions(search, loadedOptions, _ref) {
1169
+ var page = _ref.page,
1170
+ tabelName = _ref.tabelName,
1171
+ placeholder = _ref.placeholder,
1172
+ selectCTA = _ref.selectCTA,
1173
+ showNaOption = _ref.showNaOption;
1244
1174
 
1245
- switch (_p.type) {
1246
- case 'input':
1247
- return /*#__PURE__*/React__default.createElement(iuistyles.IUIInput, {
1248
- label: _p.label,
1249
- secondaryLabel: _p.secondaryLabel,
1250
- fullWidth: _p.fullWidth,
1251
- name: _p.name,
1252
- id: _p.name,
1253
- defaultValue: inputState[_p.name],
1254
- customHandler: customHandler,
1255
- placeholder: _p.placeholder,
1256
- validation: _p.validation,
1257
- isError: errorArray.indexOf(_p.name) !== -1,
1258
- errorMsg: errorMsg,
1259
- required: _p.required,
1260
- readOnly: _p.readOnly,
1261
- hasInfoIcon: !!_p.tooltip,
1262
- tooltipText: _p.tooltip,
1263
- disableText: _p.disableText
1264
- });
1175
+ try {
1176
+ return Promise.resolve(_catch(function () {
1177
+ var url = userAddEditUrl.dropdownList() + ("?page=" + page + "&table_name=" + tabelName + "&search=" + search);
1178
+ return Promise.resolve(api.get(url).then(function (res) {
1179
+ return res.data;
1180
+ })).then(function (response) {
1181
+ var mappedValue = response.results.map(function (item) {
1182
+ return {
1183
+ value: item.id,
1184
+ label: item.name
1185
+ };
1186
+ });
1265
1187
 
1266
- case 'datepicker':
1267
- return /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, null, /*#__PURE__*/React__default.createElement(iuistyles.IUILabel, {
1268
- label: _p.label,
1269
- required: _p.required
1270
- }), /*#__PURE__*/React__default.createElement(iuistyles.IUIDatePicker, {
1271
- label: _p.label,
1272
- fullWidth: _p.fullWidth,
1273
- hasIcon: _p.hasIcon,
1274
- size: _p.size,
1275
- name: _p.name,
1276
- id: _p.name,
1277
- dateValue: inputState[_p.name],
1278
- customHandler: customHandler,
1279
- displayDateType: dateFormat,
1280
- placeholder: dateFormat.toUpperCase(),
1281
- maxDate: _p.maxDate,
1282
- minDate: _p.minDate,
1283
- isError: errorArray.indexOf(_p.name) !== -1,
1284
- errorMsg: errorMsg,
1285
- disabled: _p.readOnly,
1286
- hasInfoIcon: !!_p.tooltip,
1287
- tooltipText: _p.tooltip,
1288
- required: _p.required,
1289
- disableText: _p.disableText
1290
- }));
1188
+ if (showNaOption && page === 1 && NAoptionConfig.applyFor.includes(tabelName)) {
1189
+ mappedValue.unshift(NAoptionConfig.option);
1190
+ }
1291
1191
 
1292
- case 'select':
1293
- return /*#__PURE__*/React__default.createElement(iuistyles.IUISelect, {
1294
- label: _p.label,
1295
- fullWidth: _p.fullWidth,
1296
- list: dropdownList[_p.name],
1297
- valueKey: "name",
1298
- required: _p.required,
1299
- name: _p.name,
1300
- id: _p.name,
1301
- value: inputState[_p.name],
1302
- customSelectHandler: customHandler,
1303
- menuItemTitle: _p.placeholder,
1304
- isError: errorArray.indexOf(_p.name) !== -1,
1305
- errorMsg: errorMsg,
1306
- readOnly: _p.readOnly,
1307
- hasInfoIcon: !!_p.tooltip,
1308
- tooltipText: _p.tooltip,
1309
- disableText: _p.disableText
1192
+ if (response.next === null && selectCTA) {
1193
+ mappedValue.push({
1194
+ value: selectCTA.value,
1195
+ label: ''
1196
+ });
1197
+ }
1198
+
1199
+ return {
1200
+ options: mappedValue,
1201
+ hasMore: !!response.next,
1202
+ additional: {
1203
+ page: page + 1,
1204
+ tabelName: tabelName,
1205
+ placeholder: placeholder,
1206
+ selectCTA: selectCTA
1207
+ }
1208
+ };
1310
1209
  });
1210
+ }, function () {
1211
+ return {
1212
+ options: [],
1213
+ hasMore: false,
1214
+ additional: {
1215
+ page: 1,
1216
+ tabelName: tabelName,
1217
+ placeholder: placeholder,
1218
+ selectCTA: selectCTA
1219
+ }
1220
+ };
1221
+ }));
1222
+ } catch (e) {
1223
+ return Promise.reject(e);
1224
+ }
1225
+ };
1226
+ var commonLoadOptionsUM = function commonLoadOptionsUM(search, loadedOptions, _ref2) {
1227
+ var page = _ref2.page,
1228
+ tabelName = _ref2.tabelName,
1229
+ placeholder = _ref2.placeholder,
1230
+ defaultData = _ref2.defaultData;
1311
1231
 
1312
- case 'phone':
1313
- return /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, null, /*#__PURE__*/React__default.createElement(iuistyles.IUILabel, {
1314
- label: _p.label,
1315
- required: _p.required
1316
- }), /*#__PURE__*/React__default.createElement(iuistyles.IUIPhone, {
1317
- list: dropdownList[_p.name],
1318
- name: _p.name,
1319
- id: _p.name,
1320
- value: inputState[_p.name],
1321
- required: _p.required,
1322
- selectedCountryOverride: inputState.country_code,
1323
- customHandler: customHandler,
1324
- validation: _p.validation,
1325
- isError: errorArray.indexOf(_p.name) !== -1,
1326
- errorMsg: errorMsg,
1327
- readOnly: _p.readOnly,
1328
- hasInfoIcon: !!_p.tooltip,
1329
- tooltipText: _p.tooltip
1330
- }));
1232
+ try {
1233
+ return Promise.resolve(_catch(function () {
1234
+ var url = userAddEditUrl.dropdownList() + ("?page=" + page + "&table_name=" + tabelName + "&search=" + search);
1235
+ return Promise.resolve(api.get(url).then(function (res) {
1236
+ return res.data;
1237
+ })).then(function (response) {
1238
+ var arrList = response.results.filter(function (item) {
1239
+ return item.name !== defaultData;
1240
+ });
1241
+ var mappedValue = arrList.map(function (item) {
1242
+ return {
1243
+ value: item.id,
1244
+ label: item.name
1245
+ };
1246
+ });
1247
+ return {
1248
+ options: mappedValue,
1249
+ hasMore: !!response.next,
1250
+ additional: {
1251
+ page: page + 1,
1252
+ tabelName: tabelName
1253
+ }
1254
+ };
1255
+ });
1256
+ }, function () {
1257
+ return {
1258
+ options: [],
1259
+ hasMore: false,
1260
+ additional: {
1261
+ page: 1,
1262
+ tabelName: tabelName,
1263
+ placeholder: placeholder
1264
+ }
1265
+ };
1266
+ }));
1267
+ } catch (e) {
1268
+ return Promise.reject(e);
1269
+ }
1270
+ };
1271
+ var currencyLoadOptions = function currencyLoadOptions(search, loadedOptions, _ref3) {
1272
+ var page = _ref3.page;
1331
1273
 
1332
- case 'checkbox':
1333
- return /*#__PURE__*/React__default.createElement(iuistyles.IUICheckboxButton, {
1334
- label: _p.label,
1335
- isCheckbox: true,
1336
- customHandler: customHandler,
1337
- checkboxFlag: inputState[_p.name],
1338
- disabled: _p.readOnly,
1339
- hasInfoIcon: !!_p.tooltip,
1340
- tooltipText: _p.tooltip,
1341
- id: _p.name,
1342
- disableText: _p.disableText
1274
+ try {
1275
+ return Promise.resolve(_catch(function () {
1276
+ return Promise.resolve(api.get(userAddEditUrl.currencyCode() + "&search=" + search + "&page=" + page).then(function (res) {
1277
+ return res.data;
1278
+ })).then(function (response) {
1279
+ var mappedValue = response.results.map(function (item) {
1280
+ return {
1281
+ value: item.currency_code,
1282
+ label: item.currency_code
1283
+ };
1284
+ });
1285
+ return {
1286
+ options: mappedValue,
1287
+ hasMore: !!response.next,
1288
+ additional: {
1289
+ page: page + 1
1290
+ }
1291
+ };
1343
1292
  });
1293
+ }, function () {
1294
+ return {
1295
+ options: [],
1296
+ hasMore: false,
1297
+ additional: {
1298
+ page: 1
1299
+ }
1300
+ };
1301
+ }));
1302
+ } catch (e) {
1303
+ return Promise.reject(e);
1304
+ }
1305
+ };
1306
+ var approversOptions = function approversOptions(search, loadedOptions, _ref4) {
1307
+ var page = _ref4.page,
1308
+ product = _ref4.product,
1309
+ userId = _ref4.userId,
1310
+ placeholder = _ref4.placeholder;
1344
1311
 
1345
- case 'file':
1346
- return /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, null, /*#__PURE__*/React__default.createElement(iuistyles.IUILabel, {
1347
- label: _p.label,
1348
- required: _p.required,
1349
- description: _p.description,
1350
- hasInfoIcon: !!_p.tooltip,
1351
- tooltipText: _p.tooltip
1352
- }), /*#__PURE__*/React__default.createElement(iuistyles.IUIFileUpload, {
1353
- multiple: _p.multiple,
1354
- title: _p.title,
1355
- fileType: _p.fileType,
1356
- name: _p.name,
1357
- id: _p.name,
1358
- customHandler: customHandler,
1359
- value: inputState[_p.name],
1360
- maxFiles: _p.maxNoFiles,
1361
- maxFileSize: _p.fileSize,
1362
- isError: errorArray.indexOf(_p.name) !== -1,
1363
- errorMsg: errorMsg,
1364
- readOnly: _p.readOnly,
1365
- hasInfoIcon: !!_p.tooltip,
1366
- tooltipText: _p.tooltip,
1367
- disableText: _p.disableText,
1368
- buttonType: _p.buttonType
1369
- }));
1312
+ try {
1313
+ return Promise.resolve(_catch(function () {
1314
+ return Promise.resolve(api.get(userAddEditUrl.approversSearch() + "?page=" + page + "&product=" + product + "&search=" + search + "&user_id=" + userId).then(function (res) {
1315
+ return res.data;
1316
+ })).then(function (response) {
1317
+ var mappedValue = response.results.map(function (item) {
1318
+ return {
1319
+ value: item.approver,
1320
+ label: item.approver
1321
+ };
1322
+ });
1370
1323
 
1371
- case 'async_select':
1372
- return /*#__PURE__*/React__default.createElement(iuistyles.IUIAsyncSelect, {
1373
- id: _p.name,
1324
+ if (page === 1) {
1325
+ var placeholderLbl = {
1326
+ value: '',
1327
+ label: placeholder
1328
+ };
1329
+ mappedValue.unshift(placeholderLbl);
1330
+ }
1331
+
1332
+ return {
1333
+ options: mappedValue,
1334
+ hasMore: !!response.next,
1335
+ additional: {
1336
+ page: page + 1,
1337
+ product: product,
1338
+ userId: userId
1339
+ }
1340
+ };
1341
+ });
1342
+ }, function () {
1343
+ return {
1344
+ options: [],
1345
+ hasMore: false,
1346
+ additional: {
1347
+ page: 1,
1348
+ product: product,
1349
+ userId: userId
1350
+ }
1351
+ };
1352
+ }));
1353
+ } catch (e) {
1354
+ return Promise.reject(e);
1355
+ }
1356
+ };
1357
+ var countryOptions = function countryOptions(search, loadedOptions, _ref5) {
1358
+ var page = _ref5.page,
1359
+ tabelName = _ref5.tabelName;
1360
+
1361
+ try {
1362
+ return Promise.resolve(_catch(function () {
1363
+ return Promise.resolve(api.get(userAddEditUrl.countryPaginated() + "&search=" + search + "&page=" + page + "&info=" + tabelName).then(function (res) {
1364
+ return res.data;
1365
+ })).then(function (response) {
1366
+ var mappedValue = response.results.map(function (item) {
1367
+ return {
1368
+ value: item[tabelName],
1369
+ label: item[tabelName]
1370
+ };
1371
+ });
1372
+ return {
1373
+ options: mappedValue,
1374
+ hasMore: !!response.next,
1375
+ additional: {
1376
+ page: page + 1,
1377
+ tabelName: tabelName
1378
+ }
1379
+ };
1380
+ });
1381
+ }, function () {
1382
+ return {
1383
+ options: [],
1384
+ hasMore: false,
1374
1385
  additional: {
1375
1386
  page: 1,
1376
- tabelName: _p.tabelName,
1377
- product: _p.product,
1378
- placeholder: _p.placeholder,
1379
- userId: _p.editUserId,
1380
- selectCTA: _p.selectCTA,
1381
- showNaOption: showNaOption
1382
- },
1383
- label: _p.label,
1384
- secondaryLabel: _p.secondaryLabel,
1385
- title: _p.title,
1386
- value: inputState[_p.name],
1387
- name: _p.name,
1388
- customSelectHandler: customHandler,
1389
- inputType: _p.inputType,
1390
- loadOption: _p.loadOption,
1391
- isError: errorArray.indexOf(_p.name) !== -1,
1392
- errorMsg: errorMsg,
1393
- required: _p.required,
1394
- readOnly: _p.readOnly,
1395
- placeHolderCheck: inputState[_p.name] !== undefined && inputState[_p.name].value === '',
1396
- hasInfoIcon: !!_p.tooltip,
1397
- tooltipText: _p.tooltip,
1398
- disableText: _p.disableText,
1399
- selectCTA: _p.selectCTA,
1400
- clearCache: _p.clearCache
1401
- });
1387
+ tabelName: tabelName
1388
+ }
1389
+ };
1390
+ }));
1391
+ } catch (e) {
1392
+ return Promise.reject(e);
1393
+ }
1394
+ };
1395
+ var airlineOptionsfn = function airlineOptionsfn(search, loadedOptions, _ref6) {
1396
+ var page = _ref6.page,
1397
+ placeholder = _ref6.placeholder;
1402
1398
 
1403
- default:
1404
- return null;
1399
+ try {
1400
+ return Promise.resolve(_catch(function () {
1401
+ var url = userAddEditUrl.airlineList() + ("?page=" + page + "&search=" + search);
1402
+ var token = IUILocalStorageService$1.getAccessToken();
1403
+ return Promise.resolve(axios.get(url, {
1404
+ headers: {
1405
+ Authorization: 'Bearer ' + token
1406
+ }
1407
+ })).then(function (response) {
1408
+ return Promise.resolve(response.data.results.map(function (item) {
1409
+ return {
1410
+ value: item.id,
1411
+ label: item.name
1412
+ };
1413
+ })).then(function (mappedValue) {
1414
+ if (placeholder) {
1415
+ var placeholderLbl = {
1416
+ value: '',
1417
+ label: placeholder
1418
+ };
1419
+ mappedValue.unshift(placeholderLbl);
1420
+ }
1421
+
1422
+ return {
1423
+ options: mappedValue,
1424
+ hasMore: !!response.data.next,
1425
+ additional: {
1426
+ page: page + 1,
1427
+ placeholder: placeholder
1428
+ }
1429
+ };
1430
+ });
1431
+ });
1432
+ }, function () {
1433
+ return {
1434
+ options: [],
1435
+ hasMore: false,
1436
+ additional: {
1437
+ page: 1,
1438
+ placeholder: placeholder
1439
+ }
1440
+ };
1441
+ }));
1442
+ } catch (e) {
1443
+ return Promise.reject(e);
1405
1444
  }
1406
- }
1445
+ };
1407
1446
 
1408
1447
  var UserRole = function UserRole(_ref) {
1409
1448
  var _ref$list = _ref.list,
@@ -2464,98 +2503,85 @@ var closeDialog = function closeDialog() {
2464
2503
  type: CLOSE_DIALOG
2465
2504
  };
2466
2505
  };
2467
- var getUserPanalOnPageChange = function getUserPanalOnPageChange(tableName, length, page) {
2468
- return function (dispatch) {
2469
- return new Promise(function (resolve, reject) {
2470
- api$3.get(userPanelUrl.getPaginationUnit(tableName, length, page)).then(function (res) {
2471
- dispatch({
2472
- type: FETCH_USERPANEL_DATA,
2473
- payload: res.data
2474
- });
2475
- dispatch(userPanelStopLoader());
2476
- resolve();
2477
- })["catch"](function () {
2478
- dispatch(userPanelStopLoader());
2479
- });
2480
- });
2481
- };
2482
- };
2483
- var getUserPanalData = function getUserPanalData(tableName, length) {
2506
+ var getUserPanalData = function getUserPanalData(params) {
2484
2507
  return function (dispatch) {
2485
2508
  return new Promise(function (resolve, reject) {
2486
- api$3.get(userPanelUrl.getUnit(tableName, length)).then(function (res) {
2509
+ api$3.get(userPanelUrl.getPaginationUnit(params.tableName, params.rowsPerPage, params.page, params.orderingParam)).then(function (res) {
2487
2510
  dispatch({
2488
2511
  type: FETCH_USERPANEL_DATA,
2489
2512
  payload: res.data
2490
2513
  });
2491
2514
  dispatch(userPanelStopLoader());
2492
2515
  resolve();
2493
- })["catch"](function () {
2516
+ })["catch"](function (err) {
2517
+ var _err$response, _err$response$data;
2518
+
2494
2519
  dispatch(userPanelStopLoader());
2520
+ IUIToastMessageService$2.warningNotify((err === null || err === void 0 ? void 0 : (_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.message) || 'Opps, Something went wrong.');
2495
2521
  });
2496
2522
  });
2497
2523
  };
2498
2524
  };
2499
- var addRecord = function addRecord(tableName, data) {
2525
+ var addRecord = function addRecord(tableName, data, getParam) {
2500
2526
  return function (dispatch) {
2501
2527
  return new Promise(function (resolve, reject) {
2502
2528
  api$3.post(userPanelUrl.addUnit(tableName), data).then(function (res) {
2503
- dispatch(getUserPanalData(tableName, 5));
2529
+ dispatch(getUserPanalData(getParam));
2504
2530
  dispatch(closeDialog());
2505
2531
  resolve(res);
2506
2532
  })["catch"](function (err) {
2507
- var _err$response, _err$response$data;
2533
+ var _err$response2, _err$response2$data;
2508
2534
 
2509
2535
  dispatch(userPanelStopLoader());
2510
- IUIToastMessageService$2.warningNotify((err === null || err === void 0 ? void 0 : (_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.message) || 'Opps, Something went wrong.');
2536
+ IUIToastMessageService$2.warningNotify((err === null || err === void 0 ? void 0 : (_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.message) || 'Opps, Something went wrong.');
2511
2537
  });
2512
2538
  });
2513
2539
  };
2514
2540
  };
2515
- var deleteRecord = function deleteRecord(tableName, id) {
2541
+ var deleteRecord = function deleteRecord(tableName, id, getParam) {
2516
2542
  return function (dispatch) {
2517
2543
  return new Promise(function (resolve, reject) {
2518
2544
  api$3.post(userPanelUrl.deleteUnit(tableName), id).then(function (res) {
2519
- dispatch(getUserPanalOnPageChange(tableName, 5, 1));
2545
+ dispatch(getUserPanalData(getParam));
2520
2546
  dispatch(closeDialog());
2521
2547
  dispatch(userPanelStopLoader());
2522
2548
  resolve();
2523
2549
  })["catch"](function (err) {
2524
- var _err$response2, _err$response2$data;
2550
+ var _err$response3, _err$response3$data;
2525
2551
 
2526
- IUIToastMessageService$2.warningNotify((err === null || err === void 0 ? void 0 : (_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.message) || 'Opps, Something went wrong.');
2552
+ IUIToastMessageService$2.warningNotify((err === null || err === void 0 ? void 0 : (_err$response3 = err.response) === null || _err$response3 === void 0 ? void 0 : (_err$response3$data = _err$response3.data) === null || _err$response3$data === void 0 ? void 0 : _err$response3$data.message) || 'Opps, Something went wrong.');
2527
2553
  dispatch(userPanelStopLoader());
2528
2554
  });
2529
2555
  });
2530
2556
  };
2531
2557
  };
2532
- var editRecord = function editRecord(tableName, data) {
2558
+ var editRecord = function editRecord(tableName, data, getParam) {
2533
2559
  return function (dispatch) {
2534
2560
  return new Promise(function (resolve, reject) {
2535
2561
  api$3.post(userPanelUrl.editUnit(tableName), data).then(function (res) {
2536
- dispatch(getUserPanalOnPageChange(tableName, 5, 1));
2562
+ dispatch(getUserPanalData(getParam));
2537
2563
  dispatch(closeDialog());
2538
2564
  resolve();
2539
2565
  })["catch"](function (err) {
2540
- var _err$response3, _err$response3$data;
2566
+ var _err$response4, _err$response4$data;
2541
2567
 
2542
2568
  dispatch(userPanelStopLoader());
2543
- IUIToastMessageService$2.warningNotify((err === null || err === void 0 ? void 0 : (_err$response3 = err.response) === null || _err$response3 === void 0 ? void 0 : (_err$response3$data = _err$response3.data) === null || _err$response3$data === void 0 ? void 0 : _err$response3$data.message) || 'Opps, Something went wrong.');
2569
+ IUIToastMessageService$2.warningNotify((err === null || err === void 0 ? void 0 : (_err$response4 = err.response) === null || _err$response4 === void 0 ? void 0 : (_err$response4$data = _err$response4.data) === null || _err$response4$data === void 0 ? void 0 : _err$response4$data.message) || 'Opps, Something went wrong.');
2544
2570
  });
2545
2571
  });
2546
2572
  };
2547
2573
  };
2548
- var moveRecord = function moveRecord(tableName, data) {
2574
+ var moveRecord = function moveRecord(tableName, data, getParam) {
2549
2575
  return function (dispatch) {
2550
2576
  return new Promise(function (resolve, reject) {
2551
2577
  api$3.post(userPanelUrl.moveUnit(tableName), data).then(function (res) {
2552
- dispatch(getUserPanalData(tableName, 5));
2578
+ dispatch(getUserPanalData(getParam));
2553
2579
  dispatch(closeDialog());
2554
2580
  resolve(res);
2555
2581
  })["catch"](function (err) {
2556
- var _err$response4, _err$response4$data;
2582
+ var _err$response5, _err$response5$data;
2557
2583
 
2558
- IUIToastMessageService$2.warningNotify((err === null || err === void 0 ? void 0 : (_err$response4 = err.response) === null || _err$response4 === void 0 ? void 0 : (_err$response4$data = _err$response4.data) === null || _err$response4$data === void 0 ? void 0 : _err$response4$data.message) || 'Opps, Something went wrong.');
2584
+ IUIToastMessageService$2.warningNotify((err === null || err === void 0 ? void 0 : (_err$response5 = err.response) === null || _err$response5 === void 0 ? void 0 : (_err$response5$data = _err$response5.data) === null || _err$response5$data === void 0 ? void 0 : _err$response5$data.message) || 'Opps, Something went wrong.');
2559
2585
  });
2560
2586
  });
2561
2587
  };
@@ -3506,7 +3532,9 @@ var initialState = {
3506
3532
  secureTravelInfo: secureTravelInfo,
3507
3533
  disableText: '',
3508
3534
  travelRoles: travelConstants.roles,
3509
- expenseRoles: expenseConstants.roles
3535
+ expenseRoles: expenseConstants.roles,
3536
+ travelConstants: travelConstants,
3537
+ expenseConstants: expenseConstants
3510
3538
  },
3511
3539
  dropdownList: dropdownList,
3512
3540
  maxTravelApprovers: 10,
@@ -3541,6 +3569,10 @@ var reducer = function reducer(state, action) {
3541
3569
  {
3542
3570
  var _action$payload, _action$payload$appro, _action$payload$appro2, _action$payload2, _action$payload2$appr, _action$payload2$appr2, _action$payload3, _action$payload3$trav, _action$payload4, _action$payload4$expe, _action$payload5, _action$payload5$flig, _action$payload6, _action$payload6$meal, _action$payload7;
3543
3571
 
3572
+ if (!action.payload.labels) {
3573
+ action.payload.labels = userAddPageFormLabels;
3574
+ }
3575
+
3544
3576
  var renderFields = _extends({}, state.renderFields);
3545
3577
 
3546
3578
  var _action$payload$visib = action.payload.visibility,
@@ -3551,14 +3583,36 @@ var reducer = function reducer(state, action) {
3551
3583
  userPersonalInfoOptionalFields = _action$payload$optio.user_personal_info,
3552
3584
  employeeInfoOptionalFields = _action$payload$optio.employee_info,
3553
3585
  userTravelInfoOptionalFields = _action$payload$optio.user_travel_info;
3554
- renderFields.personalInfo = setFieldsDisplayAtt(renderFields.personalInfo, userPersonalInfo, userPersonalInfoOptionalFields);
3555
- renderFields.workInfo = setFieldsDisplayAtt(renderFields.workInfo, employeeInfo, employeeInfoOptionalFields);
3556
- renderFields.passportInfo = setFieldsDisplayAtt(renderFields.passportInfo, userTravelInfo, userTravelInfoOptionalFields);
3557
- renderFields.travelPreference = setFieldsDisplayAtt(renderFields.travelPreference, userTravelInfo, userTravelInfoOptionalFields);
3558
- renderFields.secureTravelInfo = setFieldsDisplayAtt(renderFields.secureTravelInfo, userTravelInfo, userTravelInfoOptionalFields);
3586
+ var _action$payload$label = action.payload.labels,
3587
+ userPersonalInfoLabels = _action$payload$label.user_personal_info,
3588
+ employeeInfoLabels = _action$payload$label.employee_info,
3589
+ userTravelInfoLabels = _action$payload$label.user_travel_info,
3590
+ productLabels = _action$payload$label.products,
3591
+ travelFYIlabel = _action$payload$label.travel_fyi_approver,
3592
+ expenseFYIlabel = _action$payload$label.expense_fyi_approver;
3593
+ renderFields.personalInfo = setFieldsDisplayAtt(renderFields.personalInfo, userPersonalInfo, userPersonalInfoOptionalFields, userPersonalInfoLabels);
3594
+ renderFields.workInfo = setFieldsDisplayAtt(renderFields.workInfo, employeeInfo, employeeInfoOptionalFields, employeeInfoLabels);
3595
+ renderFields.passportInfo = setFieldsDisplayAtt(renderFields.passportInfo, userTravelInfo, userTravelInfoOptionalFields, userTravelInfoLabels);
3596
+ renderFields.travelPreference = setFieldsDisplayAtt(renderFields.travelPreference, userTravelInfo, userTravelInfoOptionalFields, userTravelInfoLabels);
3597
+ renderFields.secureTravelInfo = setFieldsDisplayAtt(renderFields.secureTravelInfo, userTravelInfo, userTravelInfoOptionalFields, userTravelInfoLabels);
3559
3598
  renderFields.products = renderFields.products.filter(function (product) {
3560
3599
  return action.payload.products.includes(product.name);
3600
+ }).map(function (product) {
3601
+ if (productLabels && Object.hasOwnProperty.call(productLabels, product.name)) {
3602
+ product.label = productLabels[product.name];
3603
+ }
3604
+
3605
+ return product;
3561
3606
  });
3607
+
3608
+ if (travelFYIlabel) {
3609
+ renderFields.travelConstants.FYILabel = travelFYIlabel;
3610
+ }
3611
+
3612
+ if (expenseFYIlabel) {
3613
+ renderFields.expenseConstants.FYILabel = expenseFYIlabel;
3614
+ }
3615
+
3562
3616
  renderFields.custom_attributes = action.payload.custom_attributes;
3563
3617
 
3564
3618
  if (action !== null && action !== void 0 && (_action$payload = action.payload) !== null && _action$payload !== void 0 && (_action$payload$appro = _action$payload.approvers) !== null && _action$payload$appro !== void 0 && (_action$payload$appro2 = _action$payload$appro.travel) !== null && _action$payload$appro2 !== void 0 && _action$payload$appro2.length) {
@@ -3815,7 +3869,7 @@ var reducer = function reducer(state, action) {
3815
3869
  }
3816
3870
  };
3817
3871
 
3818
- var setFieldsDisplayAtt = function setFieldsDisplayAtt(objToLoop, visibilityObj, optionalObj) {
3872
+ var setFieldsDisplayAtt = function setFieldsDisplayAtt(objToLoop, visibilityObj, optionalObj, labelsObj) {
3819
3873
  return objToLoop.map(function (p) {
3820
3874
  var key = p.name;
3821
3875
 
@@ -3841,6 +3895,10 @@ var setFieldsDisplayAtt = function setFieldsDisplayAtt(objToLoop, visibilityObj,
3841
3895
  p.required = false;
3842
3896
  }
3843
3897
 
3898
+ if (labelsObj && Object.hasOwnProperty.call(labelsObj, p.name)) {
3899
+ p.label = labelsObj[p.name];
3900
+ }
3901
+
3844
3902
  return p;
3845
3903
  });
3846
3904
  };
@@ -5094,11 +5152,16 @@ var UserAddEdit = function UserAddEdit(props) {
5094
5152
  } else if (id === 'department') {
5095
5153
  title = 'Department';
5096
5154
  } else if (id === 'business_unit') {
5097
- title = 'Business unit';
5155
+ title = 'Business Unit';
5098
5156
  } else if (id === 'employee_level') {
5099
- title = 'Employee level';
5157
+ title = 'Employee Level';
5100
5158
  }
5101
5159
 
5160
+ console.log(_extends({}, addModalData, {
5161
+ isOpen: true,
5162
+ title: title,
5163
+ id: id
5164
+ }));
5102
5165
  setAddModalData(_extends({}, addModalData, {
5103
5166
  isOpen: true,
5104
5167
  title: title,
@@ -5120,6 +5183,7 @@ var UserAddEdit = function UserAddEdit(props) {
5120
5183
  })).then(function (res) {
5121
5184
  var _extends2;
5122
5185
 
5186
+ console.log(res, "success add " + addModalData.title + " response");
5123
5187
  setAddModalData(_extends({}, addModalData, {
5124
5188
  isOpen: false
5125
5189
  }));
@@ -5129,9 +5193,11 @@ var UserAddEdit = function UserAddEdit(props) {
5129
5193
  value: res.data.value,
5130
5194
  label: res.data.label
5131
5195
  }, _extends2)));
5196
+ console.log('Set new value', res.data.label);
5132
5197
  clearCacheForAsyncDropdown(function (prevState) {
5133
5198
  var _extends3;
5134
5199
 
5200
+ console.log('ClearCache function called');
5135
5201
  return _extends({}, prevState, (_extends3 = {}, _extends3[tempKey] = prevState[tempKey] + 1, _extends3));
5136
5202
  });
5137
5203
  dispatch(stopLoader());
@@ -5394,7 +5460,7 @@ var UserAddEdit = function UserAddEdit(props) {
5394
5460
  if ((_name === 'passport_photo' || _name === 'travel_docs') && _obj.openFile === true) {
5395
5461
  if (_obj.file.isExistingFile) {
5396
5462
  var link = document.createElement('a');
5397
- link.setAttribute('target', '_blank');
5463
+ link.setAttribute('download', _obj.file.name);
5398
5464
  link.href = _obj.file.presigned_url;
5399
5465
  document.body.appendChild(link);
5400
5466
  link.click();
@@ -5408,7 +5474,7 @@ var UserAddEdit = function UserAddEdit(props) {
5408
5474
  })).then(function (res) {
5409
5475
  dispatch(stopLoader());
5410
5476
  var link = document.createElement('a');
5411
- link.setAttribute('target', '_blank');
5477
+ link.setAttribute('download', _obj.file.returned_file_name);
5412
5478
  link.href = res.data.presigned_url;
5413
5479
  document.body.appendChild(link);
5414
5480
  link.click();
@@ -6595,7 +6661,7 @@ var UserAddEdit = function UserAddEdit(props) {
6595
6661
  className: styles.dividerColor
6596
6662
  }), productAccess && productAccess.travel && /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement(TravelExpenseFields, {
6597
6663
  fieldsInfo: renderFields.travelApprovers,
6598
- travelConstants: travelConstants,
6664
+ travelConstants: renderFields.travelConstants,
6599
6665
  type: "travel",
6600
6666
  addFields: function addFields() {
6601
6667
  return dispatch(addTravelApproverField());
@@ -6633,7 +6699,7 @@ var UserAddEdit = function UserAddEdit(props) {
6633
6699
  className: styles.dividerColor
6634
6700
  }), productAccess && productAccess.expense && /*#__PURE__*/React__default.createElement(TravelExpenseFields, {
6635
6701
  fieldsInfo: renderFields.expenseApprovers,
6636
- travelConstants: expenseConstants,
6702
+ travelConstants: renderFields.expenseConstants,
6637
6703
  type: "expense",
6638
6704
  addFields: function addFields() {
6639
6705
  return dispatch(addExpenseApproverField());
@@ -8930,9 +8996,13 @@ var index$2 = withStore(UserList);
8930
8996
 
8931
8997
  function Header(props) {
8932
8998
  var HeaderButton = props.HeaderButton,
8933
- name = props.name,
8934
- headingName = props.headingName,
8935
- subHeading = props.subHeading;
8999
+ _props$name = props.name,
9000
+ name = _props$name === void 0 ? '' : _props$name,
9001
+ _props$headingName = props.headingName,
9002
+ headingName = _props$headingName === void 0 ? '' : _props$headingName,
9003
+ _props$subHeading = props.subHeading,
9004
+ subHeading = _props$subHeading === void 0 ? '' : _props$subHeading,
9005
+ loading = props.loading;
8936
9006
 
8937
9007
  var _useSelector = reactRedux.useSelector(function (state) {
8938
9008
  return state.common;
@@ -8965,7 +9035,7 @@ function Header(props) {
8965
9035
  }, /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
8966
9036
  variant: "h3",
8967
9037
  className: clsx(styles$5.heading, styles$5.headingLarge)
8968
- }, isILadmin === 1 && companyName + " - ", " ", headingName)), /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
9038
+ }, isILadmin === 1 && companyName !== null && companyName + " - ", ' ', headingName)), /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
8969
9039
  component: "div",
8970
9040
  className: styles$5.headingWrapper
8971
9041
  }, /*#__PURE__*/React__default.createElement(iuistyles.IUITypography, {
@@ -8982,6 +9052,7 @@ function Header(props) {
8982
9052
  component: "div",
8983
9053
  className: "pageHeader--button-single button-right"
8984
9054
  }, /*#__PURE__*/React__default.createElement(iuistyles.IUIButton, {
9055
+ disabled: loading,
8985
9056
  type: "contained",
8986
9057
  buttonText: "+ Add " + name.toLowerCase(),
8987
9058
  onClick: HeaderButton
@@ -8998,31 +9069,18 @@ var styles$7 = {"sidebar__container":"_1EFxC","sidebar__wrapper":"_3Mk3_","sideb
8998
9069
  function Listview(_ref) {
8999
9070
  var data = _ref.data,
9000
9071
  name = _ref.name,
9001
- tableName = _ref.tableName,
9002
9072
  handleEditDialog = _ref.handleEditDialog,
9003
- handleDeleteDialog = _ref.handleDeleteDialog;
9004
- var dispatch = reactRedux.useDispatch();
9005
-
9006
- var _useState = React.useState(1),
9007
- page = _useState[0],
9008
- setPage = _useState[1];
9009
-
9010
- var _useState2 = React.useState(5),
9011
- rowsPerPage = _useState2[0],
9012
- setRowsPerPage = _useState2[1];
9013
-
9014
- var handleChangePage = function handleChangePage(e, newPage) {
9015
- setPage(newPage);
9016
- };
9017
-
9018
- var handleChangeRowsPerPage = function handleChangeRowsPerPage(event) {
9019
- setRowsPerPage(+event.target.value);
9020
- setPage(1);
9021
- };
9022
-
9023
- React.useEffect(function () {
9024
- dispatch(getUserPanalOnPageChange(tableName, rowsPerPage, page));
9025
- }, [rowsPerPage, page]);
9073
+ handleDeleteDialog = _ref.handleDeleteDialog,
9074
+ orderBy = _ref.orderBy,
9075
+ order = _ref.order,
9076
+ _ref$onRequestSort = _ref.onRequestSort,
9077
+ onRequestSort = _ref$onRequestSort === void 0 ? function () {} : _ref$onRequestSort,
9078
+ _ref$handleChangeRows = _ref.handleChangeRowsPerPage,
9079
+ handleChangeRowsPerPage = _ref$handleChangeRows === void 0 ? function () {} : _ref$handleChangeRows,
9080
+ _ref$handleChangePage = _ref.handleChangePage,
9081
+ handleChangePage = _ref$handleChangePage === void 0 ? function () {} : _ref$handleChangePage,
9082
+ page = _ref.page,
9083
+ rowsPerPage = _ref.rowsPerPage;
9026
9084
  var columns = [{
9027
9085
  id: 'name',
9028
9086
  label: name,
@@ -9037,6 +9095,7 @@ function Listview(_ref) {
9037
9095
  id: 'no_of_users',
9038
9096
  label: 'Number of users',
9039
9097
  width: '45%',
9098
+ sortable: true,
9040
9099
  cell: function cell(row) {
9041
9100
  return /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
9042
9101
  component: "div"
@@ -9073,16 +9132,19 @@ function Listview(_ref) {
9073
9132
  return /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
9074
9133
  p: 3
9075
9134
  }, /*#__PURE__*/React__default.createElement(iuistyles.IUITable, {
9076
- hasFilter: false,
9077
- isCheckboxTable: false,
9078
9135
  searchHide: true,
9136
+ hasFilter: true,
9137
+ isCheckboxTable: false,
9079
9138
  count: data.count,
9080
9139
  columns: columns,
9081
9140
  rows: data.results,
9082
9141
  page: page,
9083
9142
  handleChangePage: handleChangePage,
9084
9143
  handleChangeRowsPerPage: handleChangeRowsPerPage,
9085
- rowsPerPage: rowsPerPage
9144
+ rowsPerPage: rowsPerPage,
9145
+ orderBy: orderBy,
9146
+ order: order,
9147
+ onRequestSort: onRequestSort
9086
9148
  })));
9087
9149
  }
9088
9150
 
@@ -9364,6 +9426,32 @@ var UserPanel = function UserPanel(_ref) {
9364
9426
  alertModal = _useState11[0],
9365
9427
  setAlertModal = _useState11[1];
9366
9428
 
9429
+ var _React$useState = React__default.useState('asc'),
9430
+ order = _React$useState[0],
9431
+ setOrder = _React$useState[1];
9432
+
9433
+ var _React$useState2 = React__default.useState('name'),
9434
+ orderBy = _React$useState2[0],
9435
+ setOrderBy = _React$useState2[1];
9436
+
9437
+ var _useState12 = React.useState(false),
9438
+ isSortingChange = _useState12[0],
9439
+ setSortingChange = _useState12[1];
9440
+
9441
+ var _useState13 = React.useState(false),
9442
+ isSortingChangeTemp = _useState13[0],
9443
+ setSortingChangeTemp = _useState13[1];
9444
+
9445
+ var _useState14 = React.useState(1),
9446
+ page = _useState14[0],
9447
+ setPage = _useState14[1];
9448
+
9449
+ var _useState15 = React.useState(5),
9450
+ rowsPerPage = _useState15[0],
9451
+ setRowsPerPage = _useState15[1];
9452
+
9453
+ var orderingParam = orderBy;
9454
+
9367
9455
  var _useSelector = reactRedux.useSelector(function (state) {
9368
9456
  return state.userPanel;
9369
9457
  }),
@@ -9393,16 +9481,37 @@ var UserPanel = function UserPanel(_ref) {
9393
9481
  React.useEffect(function () {
9394
9482
  var roleCanAccess = ['travel_itilite_admin', 'travel_admin', 'expense_itilite_admin', 'expense_admin'];
9395
9483
  dispatch(verifyAccessToken(roleCanAccess));
9484
+ window.scrollTo(0, 0);
9396
9485
  }, []);
9397
9486
  React.useEffect(function () {
9398
9487
  dispatch(userPanelShowLoader());
9399
9488
 
9400
9489
  if (isTokenVerified) {
9401
- dispatch(getUserPanalData(tableName, 5)).then(function () {
9402
- return dispatch(userPanelStopLoader());
9403
- });
9490
+ calApiPanelList();
9404
9491
  }
9405
- }, [isTokenVerified]);
9492
+ }, [isTokenVerified, isSortingChangeTemp]);
9493
+
9494
+ var calApiPanelList = function calApiPanelList() {
9495
+ dispatch(getUserPanalData(getApiData())).then(function () {
9496
+ return dispatch(userPanelStopLoader());
9497
+ })["finally"](function () {
9498
+ if (isSortingChange) {
9499
+ setSortingChange(false);
9500
+ }
9501
+ });
9502
+ };
9503
+
9504
+ var getApiData = function getApiData() {
9505
+ orderingParam = order === 'asc' ? orderBy : '-' + orderBy;
9506
+ var urlData = {
9507
+ tableName: tableName,
9508
+ rowsPerPage: rowsPerPage,
9509
+ page: page,
9510
+ orderingParam: orderingParam
9511
+ };
9512
+ return urlData;
9513
+ };
9514
+
9406
9515
  React.useEffect(function () {
9407
9516
  var arrList = userPanelData.results.filter(function (item) {
9408
9517
  return item.name !== dialogData.data.name;
@@ -9461,48 +9570,61 @@ var UserPanel = function UserPanel(_ref) {
9461
9570
  var handleAddUserPanel = function handleAddUserPanel() {
9462
9571
  if (dataList) {
9463
9572
  setErrorAdd(false);
9464
- dispatch(userPanelShowLoader());
9465
- dispatch(addRecord(tableName, {
9573
+ var payload = {
9466
9574
  names: [dataList]
9467
- })).then(function (res) {
9468
- IUIToastMessageService$8.sNotify(title + " added successfully.");
9469
- closeDeActivateModal();
9470
- dispatch(userPanelStopLoader());
9471
- setDataList('');
9472
- });
9575
+ };
9576
+ var message = title + " added successfully.";
9577
+ handleApiCall(addRecord, payload, message, 'add');
9473
9578
  } else {
9474
9579
  setErrorAdd(true);
9475
9580
  }
9476
9581
  };
9477
9582
 
9478
- var handleDeletePanel = function handleDeletePanel(data) {
9479
- if (!dialogData.labels.showMoveButton) {
9480
- dispatch(userPanelShowLoader());
9481
- dispatch(deleteRecord(tableName, {
9482
- row_ids: [dialogData.data.id]
9483
- })).then(function (res) {
9484
- IUIToastMessageService$8.sNotify(title + " deleted successfully.");
9485
- dispatch(userPanelStopLoader());
9583
+ var handleDeletePanel = function handleDeletePanel() {
9584
+ var payload = {
9585
+ row_ids: [dialogData.data.id]
9586
+ };
9587
+ var message = title + " deleted successfully.";
9588
+ handleApiCall(deleteRecord, payload, message, 'delete');
9589
+ };
9590
+
9591
+ var handleApiCall = function handleApiCall(dispatchFun, payload, message, type) {
9592
+ dispatch(userPanelShowLoader());
9593
+ dispatch(dispatchFun(tableName, payload, getApiData())).then(function (res) {
9594
+ IUIToastMessageService$8.sNotify(type === 'move' ? res.data.message : "" + message);
9595
+ dispatch(userPanelStopLoader());
9596
+
9597
+ if (type === 'delete') {
9486
9598
  closeDeleteModal();
9487
- });
9488
- }
9599
+ }
9600
+
9601
+ if (type === 'add') {
9602
+ closeDeActivateModal();
9603
+ setDataList('');
9604
+ }
9605
+
9606
+ if (type === 'move') {
9607
+ setMoveModal(false);
9608
+ dispatch(closeDialog());
9609
+ setSelectValue('');
9610
+ }
9611
+
9612
+ if (type === 'edit') {
9613
+ closeEditDialog();
9614
+ setDataList('');
9615
+ }
9616
+ });
9489
9617
  };
9490
9618
 
9491
9619
  var handleMovePanel = function handleMovePanel() {
9492
9620
  if (selectValue) {
9493
- setErrorMove(false);
9494
- dispatch(userPanelShowLoader());
9495
- dispatch(moveRecord(tableName, {
9621
+ var payload = {
9496
9622
  table_name: tableName,
9497
9623
  from: dialogData.data.name,
9498
9624
  to: selectValue === null || selectValue === void 0 ? void 0 : selectValue.label
9499
- })).then(function (res) {
9500
- IUIToastMessageService$8.sNotify(res.data.message);
9501
- setMoveModal(false);
9502
- dispatch(closeDialog());
9503
- dispatch(userPanelStopLoader());
9504
- setSelectValue('');
9505
- });
9625
+ };
9626
+ handleApiCall(moveRecord, payload, 'message', 'move');
9627
+ setErrorMove(false);
9506
9628
  } else {
9507
9629
  setErrorMove(true);
9508
9630
  }
@@ -9510,19 +9632,15 @@ var UserPanel = function UserPanel(_ref) {
9510
9632
 
9511
9633
  var handleEditPanel = function handleEditPanel(data) {
9512
9634
  if (dataList) {
9513
- setErrorEdit(false);
9514
- dispatch(userPanelShowLoader());
9515
- dispatch(editRecord(tableName, {
9635
+ var payload = {
9516
9636
  rows: [{
9517
9637
  id: dialogData.data.id,
9518
9638
  name: dataList
9519
9639
  }]
9520
- })).then(function (res) {
9521
- dispatch(userPanelStopLoader());
9522
- IUIToastMessageService$8.sNotify(title + " updated successfully.");
9523
- closeEditDialog();
9524
- setDataList('');
9525
- });
9640
+ };
9641
+ var message = title + " updated successfully.";
9642
+ handleApiCall(editRecord, payload, message, 'edit');
9643
+ setErrorEdit(false);
9526
9644
  } else {
9527
9645
  setErrorEdit(true);
9528
9646
  }
@@ -9546,21 +9664,49 @@ var UserPanel = function UserPanel(_ref) {
9546
9664
  setAlertModal(false);
9547
9665
  };
9548
9666
 
9667
+ var onRequestSort = function onRequestSort(event, property) {
9668
+ var isAsc = orderBy === property && order === 'asc';
9669
+ setOrder(isAsc ? 'desc' : 'asc');
9670
+ setOrderBy(property);
9671
+ setSortingChange(true);
9672
+ setSortingChangeTemp(!isSortingChangeTemp);
9673
+ };
9674
+
9675
+ var handleChangePage = function handleChangePage(e, newPage) {
9676
+ setPage(newPage);
9677
+ setSortingChangeTemp(!isSortingChangeTemp);
9678
+ };
9679
+
9680
+ var handleChangeRowsPerPage = function handleChangeRowsPerPage(event) {
9681
+ setRowsPerPage(+event.target.value);
9682
+ setPage(1);
9683
+ setSortingChange(true);
9684
+ setSortingChangeTemp(!isSortingChangeTemp);
9685
+ };
9686
+
9549
9687
  return /*#__PURE__*/React__default.createElement(iuistyles.IUIBox, {
9550
9688
  component: "div",
9551
9689
  className: styles$5.UUIUserManagementList
9552
- }, hasVerificationError === false ? /*#__PURE__*/React__default.createElement(React.Fragment, null, loading ? /*#__PURE__*/React__default.createElement(SkeletonLoader, null) : /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement(Header, {
9690
+ }, hasVerificationError === false ? /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement(Header, {
9553
9691
  name: title,
9554
9692
  headingName: headingName,
9555
9693
  subHeading: subHeading,
9556
- HeaderButton: addDialog
9557
- }), /*#__PURE__*/React__default.createElement(Listview, {
9694
+ HeaderButton: addDialog,
9695
+ loading: loading
9696
+ }), loading ? /*#__PURE__*/React__default.createElement(SkeletonLoader, null) : /*#__PURE__*/React__default.createElement(React.Fragment, null, /*#__PURE__*/React__default.createElement(Listview, {
9558
9697
  data: userPanelData,
9559
9698
  name: title,
9560
9699
  tableName: tableName,
9561
9700
  handleEditDialog: openEditDialog,
9562
9701
  handleDeleteDialog: openDeleteModal,
9563
- closeDeActivateModal: closeDeActivateModal
9702
+ closeDeActivateModal: closeDeActivateModal,
9703
+ orderBy: orderBy,
9704
+ order: order,
9705
+ onRequestSort: onRequestSort,
9706
+ handleChangePage: handleChangePage,
9707
+ handleChangeRowsPerPage: handleChangeRowsPerPage,
9708
+ rowsPerPage: rowsPerPage,
9709
+ page: page
9564
9710
  })), /*#__PURE__*/React__default.createElement(AddPanelDialog, {
9565
9711
  name: title,
9566
9712
  isOpen: addModal,