@itilite/iui-user-management 1.4.481 → 1.4.483

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, IUISearch, IUIAccordion, IUIAccordionSummary, IUIAccordionDetails, IUICard, IUIBackdrop, IUICircularProgress, IUIBreadCrumb, IUIDropzone, IUIStepper, IUIIconButton, IUIFormControlLabel, IUICheckBox, IUIPrimaryRadio, IUITable, IUISkeleton, IUIProfileBox, IUIFormGroup, IUIDropdownButton, IUITabs } from '@itilite/iuistyles';
1
+ import { IUIAsyncSelect, IUIBox, IUILabel, IUIFileUpload, IUICheckboxButton, IUIPhone, IUISelect, IUIDatePicker, IUIInput, IUIDivider, IUIGrid, IUITypography, IUIRadio, IUIButton, IUIModal, IUISearch, IUICircularProgress, IUIAccordion, IUIAccordionSummary, IUIAccordionDetails, IUICard, IUIBackdrop, IUIBreadCrumb, IUIDropzone, IUIStepper, IUIIconButton, IUIFormControlLabel, IUICheckBox, IUIPrimaryRadio, IUITable, IUISkeleton, IUIProfileBox, IUIFormGroup, IUIDropdownButton, IUITabs } from '@itilite/iuistyles';
2
2
  import React, { useState, useEffect, memo, useRef, Fragment as Fragment$1 } from 'react';
3
3
  import { configs, services, utilUrls } from '@itilite/utils';
4
4
  import axios from 'axios';
@@ -4502,6 +4502,79 @@ var ChevronNext = function ChevronNext() {
4502
4502
  }));
4503
4503
  };
4504
4504
 
4505
+ var MembershipForm = function MembershipForm(_ref) {
4506
+ var selectedMembershipChain = _ref.selectedMembershipChain,
4507
+ isOtherMembership = _ref.isOtherMembership,
4508
+ membershipName = _ref.membershipName,
4509
+ membershipNumber = _ref.membershipNumber,
4510
+ setMembershipName = _ref.setMembershipName,
4511
+ setMembershipNumber = _ref.setMembershipNumber,
4512
+ type = _ref.type,
4513
+ isEdit = _ref.isEdit;
4514
+ var FallbackIcon = function FallbackIcon() {
4515
+ var url = '';
4516
+ if (type === 'flight') {
4517
+ url = 'https://i.imghippo.com/files/Tcd6723qtY.png';
4518
+ } else if (type === 'hotel') {
4519
+ url = 'https://i.imghippo.com/files/CWoy5950wU.png';
4520
+ } else {
4521
+ url = 'https://i.imghippo.com/files/MNQI7762nvk.png';
4522
+ }
4523
+ return /*#__PURE__*/React.createElement("div", {
4524
+ className: styles$3.newMembershipIcon
4525
+ }, /*#__PURE__*/React.createElement("img", {
4526
+ src: url
4527
+ }));
4528
+ };
4529
+ return /*#__PURE__*/React.createElement("div", {
4530
+ className: styles$3.saveMembership
4531
+ }, isOtherMembership ? /*#__PURE__*/React.createElement("div", {
4532
+ className: styles$3.addNewMembership
4533
+ }, /*#__PURE__*/React.createElement("p", null, isEdit ? 'Edit' : 'Add new', " membership"), /*#__PURE__*/React.createElement(IUILabel, {
4534
+ label: "Membership name",
4535
+ required: true
4536
+ }), /*#__PURE__*/React.createElement(IUISearch, {
4537
+ placeholder: "",
4538
+ value: membershipName,
4539
+ onChangeHandler: function onChangeHandler(e) {
4540
+ return setMembershipName(e.target.value);
4541
+ },
4542
+ iconComponent: null,
4543
+ style: {
4544
+ width: '50%',
4545
+ paddingLeft: 0
4546
+ }
4547
+ })) : /*#__PURE__*/React.createElement("div", {
4548
+ className: styles$3.membershipChainInfo
4549
+ }, selectedMembershipChain !== null && selectedMembershipChain !== void 0 && selectedMembershipChain.loyalty_program_image_url ? /*#__PURE__*/React.createElement("img", {
4550
+ src: selectedMembershipChain === null || selectedMembershipChain === void 0 ? void 0 : selectedMembershipChain.loyalty_program_image_url,
4551
+ alt: selectedMembershipChain.program_name,
4552
+ onError: function onError(e) {
4553
+ e.target.style.display = 'none';
4554
+ var fallbackContainer = e.target.nextElementSibling;
4555
+ if (fallbackContainer) fallbackContainer.style.display = 'block';
4556
+ }
4557
+ }) : /*#__PURE__*/React.createElement(FallbackIcon, null), /*#__PURE__*/React.createElement("div", {
4558
+ style: {
4559
+ display: 'none'
4560
+ }
4561
+ }, /*#__PURE__*/React.createElement(FallbackIcon, null)), /*#__PURE__*/React.createElement("p", null, isEdit ? 'Edit' : 'Add', ' ', (selectedMembershipChain === null || selectedMembershipChain === void 0 ? void 0 : selectedMembershipChain.loyalty_program_name) || (selectedMembershipChain === null || selectedMembershipChain === void 0 ? void 0 : selectedMembershipChain.program_name))), /*#__PURE__*/React.createElement(IUILabel, {
4562
+ label: "Membership number",
4563
+ required: true
4564
+ }), /*#__PURE__*/React.createElement(IUISearch, {
4565
+ placeholder: "",
4566
+ value: membershipNumber,
4567
+ onChangeHandler: function onChangeHandler(e) {
4568
+ setMembershipNumber(e.target.value);
4569
+ },
4570
+ iconComponent: null,
4571
+ style: {
4572
+ width: '50%',
4573
+ paddingLeft: 0
4574
+ }
4575
+ }));
4576
+ };
4577
+
4505
4578
  var TravelModeIcon = function TravelModeIcon(_ref) {
4506
4579
  var type = _ref.type;
4507
4580
  var FlightIcon = memo(function () {
@@ -4558,70 +4631,15 @@ var TravelModeIcon = function TravelModeIcon(_ref) {
4558
4631
  return null;
4559
4632
  };
4560
4633
 
4561
- var MembershipForm = function MembershipForm(_ref) {
4562
- var selectedMembershipChain = _ref.selectedMembershipChain,
4563
- isOtherMembership = _ref.isOtherMembership,
4564
- membershipName = _ref.membershipName,
4565
- membershipNumber = _ref.membershipNumber,
4566
- setMembershipName = _ref.setMembershipName,
4567
- setMembershipNumber = _ref.setMembershipNumber,
4568
- type = _ref.type,
4569
- isEdit = _ref.isEdit;
4570
- var FallbackIcon = function FallbackIcon() {
4571
- return /*#__PURE__*/React.createElement("div", {
4572
- className: styles$3.newMembershipIcon
4573
- }, /*#__PURE__*/React.createElement(TravelModeIcon, {
4574
- type: type
4575
- }));
4576
- };
4577
- return /*#__PURE__*/React.createElement("div", {
4578
- className: styles$3.saveMembership
4579
- }, isOtherMembership ? /*#__PURE__*/React.createElement("div", {
4580
- className: styles$3.addNewMembership
4581
- }, /*#__PURE__*/React.createElement("p", null, isEdit ? 'Edit' : 'Add new', " membership"), /*#__PURE__*/React.createElement(IUILabel, {
4582
- label: "Membership name",
4583
- required: true
4584
- }), /*#__PURE__*/React.createElement(IUISearch, {
4585
- placeholder: "",
4586
- value: membershipName,
4587
- onChangeHandler: function onChangeHandler(e) {
4588
- return setMembershipName(e.target.value);
4589
- },
4590
- iconComponent: null,
4591
- style: {
4592
- width: '50%',
4593
- paddingLeft: 0
4594
- }
4595
- })) : /*#__PURE__*/React.createElement("div", {
4596
- className: styles$3.membershipChainInfo
4597
- }, selectedMembershipChain !== null && selectedMembershipChain !== void 0 && selectedMembershipChain.loyalty_program_image_url ? /*#__PURE__*/React.createElement("img", {
4598
- src: selectedMembershipChain === null || selectedMembershipChain === void 0 ? void 0 : selectedMembershipChain.loyalty_program_image_url,
4599
- alt: selectedMembershipChain.program_name,
4600
- onError: function onError(e) {
4601
- e.target.style.display = 'none';
4602
- var fallbackContainer = e.target.nextElementSibling;
4603
- if (fallbackContainer) fallbackContainer.style.display = 'block';
4604
- }
4605
- }) : /*#__PURE__*/React.createElement(FallbackIcon, null), /*#__PURE__*/React.createElement("p", null, isEdit ? 'Edit' : 'Add', ' ', (selectedMembershipChain === null || selectedMembershipChain === void 0 ? void 0 : selectedMembershipChain.loyalty_program_name) || (selectedMembershipChain === null || selectedMembershipChain === void 0 ? void 0 : selectedMembershipChain.program_name))), /*#__PURE__*/React.createElement(IUILabel, {
4606
- label: "Membership number",
4607
- required: true
4608
- }), /*#__PURE__*/React.createElement(IUISearch, {
4609
- placeholder: "",
4610
- value: membershipNumber,
4611
- onChangeHandler: function onChangeHandler(e) {
4612
- var value = e.target.value;
4613
- if (/^\d*$/.test(value)) {
4614
- setMembershipNumber(value);
4615
- }
4616
- },
4617
- iconComponent: null,
4634
+ var Loader = function Loader() {
4635
+ return /*#__PURE__*/React.createElement(IUICircularProgress, {
4636
+ color: "inherit",
4637
+ size: 25,
4618
4638
  style: {
4619
- width: '50%',
4620
- paddingLeft: 0
4639
+ color: '#EC5D25'
4621
4640
  }
4622
- }));
4641
+ });
4623
4642
  };
4624
-
4625
4643
  var RenderList = function RenderList(_ref) {
4626
4644
  var items = _ref.items,
4627
4645
  handleSelect = _ref.handleSelect,
@@ -4631,7 +4649,8 @@ var RenderList = function RenderList(_ref) {
4631
4649
  fetchItems = _ref.fetchItems,
4632
4650
  type = _ref.type,
4633
4651
  _ref$nextPageAvailabl = _ref.nextPageAvailable,
4634
- nextPageAvailable = _ref$nextPageAvailabl === void 0 ? false : _ref$nextPageAvailabl;
4652
+ nextPageAvailable = _ref$nextPageAvailabl === void 0 ? false : _ref$nextPageAvailabl,
4653
+ page = _ref.page;
4635
4654
  var observerRef = useRef(null);
4636
4655
  useEffect(function () {
4637
4656
  if (!nextPageAvailable || loading) return;
@@ -4661,7 +4680,7 @@ var RenderList = function RenderList(_ref) {
4661
4680
  };
4662
4681
  return /*#__PURE__*/React.createElement("div", {
4663
4682
  className: styles$3.list
4664
- }, items.map(function (item) {
4683
+ }, page === 1 && loading ? null : items.map(function (item) {
4665
4684
  var _item$associated_name;
4666
4685
  return /*#__PURE__*/React.createElement("div", {
4667
4686
  onClick: function onClick() {
@@ -4693,13 +4712,13 @@ var RenderList = function RenderList(_ref) {
4693
4712
  className: styles$3.title
4694
4713
  }, item === null || item === void 0 ? void 0 : item.program_name), /*#__PURE__*/React.createElement("div", {
4695
4714
  className: styles$3.subtitle
4696
- }, item.program_name === 'Other' ? 'Add new membership program' : item === null || item === void 0 ? void 0 : (_item$associated_name = item.associated_names) === null || _item$associated_name === void 0 ? void 0 : _item$associated_name.join(' '))));
4715
+ }, (item === null || item === void 0 ? void 0 : item.program_name) === 'Other' ? 'Add new membership program' : item === null || item === void 0 ? void 0 : (_item$associated_name = item.associated_names) === null || _item$associated_name === void 0 ? void 0 : _item$associated_name.join(' '))));
4697
4716
  }), loading && /*#__PURE__*/React.createElement("div", {
4698
4717
  className: styles$3.loading
4699
- }, "Loading..."), !loading && nextPageAvailable && /*#__PURE__*/React.createElement("div", {
4718
+ }, /*#__PURE__*/React.createElement(Loader, null)), !loading && nextPageAvailable && /*#__PURE__*/React.createElement("div", {
4700
4719
  ref: observerRef,
4701
4720
  className: styles$3.loading
4702
- }, /*#__PURE__*/React.createElement("div", null, "Loading...")));
4721
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Loader, null))));
4703
4722
  };
4704
4723
 
4705
4724
  var _excluded = ["ind"];
@@ -4813,6 +4832,14 @@ var SavedMemberships = function SavedMemberships(_ref) {
4813
4832
  type: type
4814
4833
  }));
4815
4834
  };
4835
+ var _ref3 = deleteItemData || {},
4836
+ _ref3$name = _ref3.name,
4837
+ name = _ref3$name === void 0 ? '' : _ref3$name,
4838
+ _ref3$program_name = _ref3.program_name,
4839
+ program_name = _ref3$program_name === void 0 ? '' : _ref3$program_name,
4840
+ _ref3$loyalty_program = _ref3.loyalty_program_name,
4841
+ loyalty_program_name = _ref3$loyalty_program === void 0 ? '' : _ref3$loyalty_program;
4842
+ var deleteMembershipName = loyalty_program_name === 'Other' ? name || loyalty_program_name || program_name : loyalty_program_name || program_name || name;
4816
4843
  return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(IUIModal, {
4817
4844
  isOpen: open,
4818
4845
  closeHandler: handleClose,
@@ -4825,39 +4852,51 @@ var SavedMemberships = function SavedMemberships(_ref) {
4825
4852
  borderBottom: '1px solid #E5E7EB'
4826
4853
  },
4827
4854
  isDisabledSubmitBtn: isDeleting,
4828
- headerText: "Delete " + ((deleteItemData === null || deleteItemData === void 0 ? void 0 : deleteItemData.loyalty_program_name) || (deleteItemData === null || deleteItemData === void 0 ? void 0 : deleteItemData.name)),
4855
+ headerText: "Delete " + deleteMembershipName,
4829
4856
  width: "640px"
4830
4857
  }, /*#__PURE__*/React.createElement("p", {
4831
4858
  style: {
4832
4859
  marginTop: 0,
4833
4860
  color: '#6B7280'
4834
4861
  }
4835
- }, "Are you sure you want to delete", ' ', (deleteItemData === null || deleteItemData === void 0 ? void 0 : deleteItemData.loyalty_program_name) || (deleteItemData === null || deleteItemData === void 0 ? void 0 : deleteItemData.name), "? This change is not reversible.")), list.map(function (mem, ind) {
4836
- var _ref3 = mem || {},
4837
- _ref3$name = _ref3.name,
4838
- name = _ref3$name === void 0 ? '' : _ref3$name,
4839
- _ref3$number = _ref3.number,
4840
- number = _ref3$number === void 0 ? '' : _ref3$number,
4841
- _ref3$program_name = _ref3.program_name,
4842
- program_name = _ref3$program_name === void 0 ? '' : _ref3$program_name,
4843
- _ref3$loyalty_program = _ref3.loyalty_program_image_url,
4844
- loyalty_program_image_url = _ref3$loyalty_program === void 0 ? null : _ref3$loyalty_program,
4845
- _ref3$loyalty_program2 = _ref3.loyalty_program_name,
4846
- loyalty_program_name = _ref3$loyalty_program2 === void 0 ? '' : _ref3$loyalty_program2;
4862
+ }, "Are you sure you want to delete ", deleteMembershipName, "? This change is not reversible.")), list.map(function (mem, ind) {
4863
+ var _ref4 = mem || {},
4864
+ _ref4$name = _ref4.name,
4865
+ name = _ref4$name === void 0 ? '' : _ref4$name,
4866
+ _ref4$number = _ref4.number,
4867
+ number = _ref4$number === void 0 ? '' : _ref4$number,
4868
+ _ref4$program_name = _ref4.program_name,
4869
+ program_name = _ref4$program_name === void 0 ? '' : _ref4$program_name,
4870
+ _ref4$loyalty_program = _ref4.loyalty_program_image_url,
4871
+ loyalty_program_image_url = _ref4$loyalty_program === void 0 ? null : _ref4$loyalty_program,
4872
+ _ref4$loyalty_program2 = _ref4.loyalty_program_name,
4873
+ loyalty_program_name = _ref4$loyalty_program2 === void 0 ? '' : _ref4$loyalty_program2;
4847
4874
  var isOther = !!name;
4848
4875
  return /*#__PURE__*/React.createElement("div", {
4849
4876
  className: styles$3.savedMembership,
4850
4877
  key: ind
4851
4878
  }, /*#__PURE__*/React.createElement("div", {
4852
4879
  className: styles$3.iconWrapper
4853
- }, loyalty_program_image_url ? /*#__PURE__*/React.createElement("div", {
4854
- className: styles$3.icon
4855
- }, /*#__PURE__*/React.createElement("img", {
4880
+ }, loyalty_program_image_url ? /*#__PURE__*/React.createElement("img", {
4856
4881
  src: loyalty_program_image_url,
4857
- alt: name
4858
- })) : /*#__PURE__*/React.createElement(FallbackIcon, {
4882
+ alt: name,
4883
+ className: styles$3.icon,
4884
+ onError: function onError(e) {
4885
+ e.target.style.display = 'none';
4886
+ var fallbackContainer = e.target.nextElementSibling;
4887
+ if (fallbackContainer) fallbackContainer.style.display = 'block';
4888
+ console.log(fallbackContainer, 'xxx4');
4889
+ }
4890
+ }) : /*#__PURE__*/React.createElement(FallbackIcon, {
4859
4891
  type: type
4860
- }), /*#__PURE__*/React.createElement("p", null, loyalty_program_name === 'Other' ? name || loyalty_program_name || program_name : loyalty_program_name || program_name || name)), /*#__PURE__*/React.createElement("div", {
4892
+ }), /*#__PURE__*/React.createElement("div", {
4893
+ className: styles$3.newMembershipIcon,
4894
+ style: {
4895
+ display: 'none'
4896
+ }
4897
+ }, /*#__PURE__*/React.createElement(FallbackIcon, {
4898
+ type: type
4899
+ })), /*#__PURE__*/React.createElement("p", null, loyalty_program_name === 'Other' ? name || loyalty_program_name || program_name : loyalty_program_name || program_name || name)), /*#__PURE__*/React.createElement("div", {
4861
4900
  className: styles$3.number
4862
4901
  }, number), /*#__PURE__*/React.createElement("div", {
4863
4902
  className: styles$3.actions
@@ -5027,11 +5066,15 @@ var Membership = function Membership(_ref) {
5027
5066
  reset = false;
5028
5067
  }
5029
5068
  try {
5069
+ var pageNo = reset ? 1 : page + 1;
5030
5070
  setLoading(true);
5031
- var url = 'api/v1/user-management/loyalty-program/' + ("?page=" + page + "&travel_type=" + type);
5071
+ var url = 'api/v1/user-management/loyalty-program/' + ("?page=" + pageNo + "&travel_type=" + type);
5032
5072
  if (query) {
5033
5073
  url += "&search_term=" + query;
5034
5074
  }
5075
+ if (reset) setPage(1);else setPage(function (prevPage) {
5076
+ return prevPage + 1;
5077
+ });
5035
5078
  var _temp = _finallyRethrows(function () {
5036
5079
  return _catch(function () {
5037
5080
  return Promise.resolve(api$7.get(url).then(function (res) {
@@ -5043,9 +5086,6 @@ var Membership = function Membership(_ref) {
5043
5086
  setItems(function (prevItems) {
5044
5087
  return reset ? list : [].concat(prevItems, list);
5045
5088
  });
5046
- if (reset) setPage(1);else setPage(function (prevPage) {
5047
- return prevPage + 1;
5048
- });
5049
5089
  });
5050
5090
  }, function (error) {
5051
5091
  console.error('Error fetching data:', error);
@@ -5087,8 +5127,16 @@ var Membership = function Membership(_ref) {
5087
5127
  };
5088
5128
  }, [searchQuery]);
5089
5129
  useEffect(function () {
5090
- if (isInputFocused) fetchItems(debouncedQuery, true);
5130
+ if (isInputFocused) fetchItems(debouncedQuery, true);else {
5131
+ setSearchQuery('');
5132
+ setItems([]);
5133
+ }
5091
5134
  }, [isInputFocused, debouncedQuery]);
5135
+ useEffect(function () {
5136
+ if (!(modalState !== null && modalState !== void 0 && modalState.open)) {
5137
+ setIsInputFocused(false);
5138
+ }
5139
+ }, [modalState]);
5092
5140
  var handleClose = function handleClose() {
5093
5141
  setIsUpdating(false);
5094
5142
  setIsOtherMembership(false);
@@ -5156,6 +5204,7 @@ var Membership = function Membership(_ref) {
5156
5204
  var _response$data3;
5157
5205
  var updatedResponse = response === null || response === void 0 ? void 0 : response.data;
5158
5206
  updatedResponse.program_name = selectedMembershipChain === null || selectedMembershipChain === void 0 ? void 0 : selectedMembershipChain.program_name;
5207
+ if (isOtherMembership) updatedResponse.loyalty_program_name = 'Other';
5159
5208
  updateList(response === null || response === void 0 ? void 0 : (_response$data3 = response.data) === null || _response$data3 === void 0 ? void 0 : _response$data3.membership_type, editIndex, updatedResponse);
5160
5209
  IUIToastMessageService$5.notify(editIndex ? "Membership updated." : "New membership added.");
5161
5210
  } else {
@@ -5226,9 +5275,16 @@ var Membership = function Membership(_ref) {
5226
5275
  onFocus: function onFocus() {
5227
5276
  return setIsInputFocused(true);
5228
5277
  },
5278
+ onClick: function onClick() {
5279
+ return setIsInputFocused(true);
5280
+ },
5229
5281
  onChange: function onChange(e) {
5230
- return setSearchQuery(e.target.value);
5231
- }
5282
+ if (!isInputFocused) {
5283
+ setIsInputFocused(true);
5284
+ }
5285
+ setSearchQuery(e.target.value);
5286
+ },
5287
+ value: searchQuery
5232
5288
  }), /*#__PURE__*/React.createElement("div", {
5233
5289
  className: styles$3.chevronIcon
5234
5290
  }, /*#__PURE__*/React.createElement(ChevronNext, null))), isInputFocused && /*#__PURE__*/React.createElement("div", {
@@ -5242,7 +5298,8 @@ var Membership = function Membership(_ref) {
5242
5298
  searchQuery: searchQuery,
5243
5299
  fetchItems: fetchItems,
5244
5300
  type: type,
5245
- nextPageAvailable: nextRef === null || nextRef === void 0 ? void 0 : nextRef.current
5301
+ nextPageAvailable: nextRef === null || nextRef === void 0 ? void 0 : nextRef.current,
5302
+ page: page
5246
5303
  })))))), /*#__PURE__*/React.createElement("div", {
5247
5304
  style: {
5248
5305
  width: '100%'