oa-componentbook 1.0.1-stage.35 → 1.0.1-stage.350

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.
Files changed (136) hide show
  1. package/build/components/oa-component-accordion/Accordion.js +16 -5
  2. package/build/components/oa-component-checkbox/CustomCheckBox.js +20 -17
  3. package/build/components/oa-component-checkbox/styles.js +1 -1
  4. package/build/components/oa-component-datepicker/CustomDatePicker.js +25 -22
  5. package/build/components/oa-component-drawer/CustomDrawer.js +2 -0
  6. package/build/components/oa-component-dropdown/CustomDropdown.js +16 -4
  7. package/build/components/oa-component-info/CustomInfo.js +9 -4
  8. package/build/components/oa-component-info/styles.js +3 -3
  9. package/build/components/oa-component-modal/styles.js +3 -2
  10. package/build/components/oa-component-pagination/CustomPagination.js +111 -0
  11. package/build/components/oa-component-pagination/styles.js +12 -0
  12. package/build/components/oa-component-select/CustomSelect.js +116 -56
  13. package/build/components/oa-component-steps/CustomSteps.js +117 -0
  14. package/build/components/oa-component-steps/styles.js +12 -0
  15. package/build/components/oa-component-table/CustomTable.js +28 -5
  16. package/build/components/oa-component-table/CustomTableV1.js +520 -0
  17. package/build/components/oa-component-table/styles.js +1 -1
  18. package/build/components/oa-component-table/stylesV1.js +19 -0
  19. package/build/components/oa-component-tabs/CustomTabs.js +1 -1
  20. package/build/components/oa-component-tag/CustomTag.js +17 -5
  21. package/build/components/oa-component-tag/styles.js +30 -3
  22. package/build/components/oa-component-textarea/{TextArea.js → CustomTextArea.js} +4 -4
  23. package/build/components/oa-component-tooltip/CustomTooltip.js +8 -4
  24. package/build/components/oa-component-upload/CustomUpload.js +120 -40
  25. package/build/components/oa-component-viewer/CustomViewer.js +3 -1
  26. package/build/dev/oa-component-document-viewer/CustomDocumentViewer.js +367 -0
  27. package/build/dev/oa-component-document-viewer/styles.js +12 -0
  28. package/build/dev/oa-component-upload/CustomUpload.js +3 -0
  29. package/build/dev/oa-widget-document-modal/DocumentSideModal.js +166 -0
  30. package/build/dev/oa-widget-document-modal/styles.js +12 -0
  31. package/build/dev/oa-widget-document-side-drawer/DocumentSideDrawer.js +196 -0
  32. package/build/dev/oa-widget-document-side-drawer/styles.js +12 -0
  33. package/build/global-css/GlobalCss.js +2 -1
  34. package/build/global-css/GridLayout.js +1 -1
  35. package/build/global-css/commonStyles.js +11 -0
  36. package/build/images/Car.png +0 -0
  37. package/build/images/TwoWheeler.png +0 -0
  38. package/build/images/astronaut_emptystate.png +0 -0
  39. package/build/images/exportGrp01.png +0 -0
  40. package/build/images/exportGrp02.png +0 -0
  41. package/build/images/exportGrp03.png +0 -0
  42. package/build/images/outOfStock.png +0 -0
  43. package/build/index.js +110 -5
  44. package/build/layout/DetailDataLayout/DetailDataLayout.js +20 -0
  45. package/build/layout/DetailDataLayout/components/Form.js +22 -0
  46. package/build/layout/DetailDataLayout/components/Header.js +32 -0
  47. package/build/layout/DetailDataLayout/style.css +9 -0
  48. package/build/layout/DetailDataLayout/styles.js +12 -0
  49. package/build/layout/GenricLayOut/GenricLayOut.js +2185 -0
  50. package/build/layout/GenricLayOut/components/AppliedFilters.js +84 -0
  51. package/build/layout/GenricLayOut/components/CardList.js +34 -0
  52. package/build/layout/GenricLayOut/components/DropdownSearch.js +48 -0
  53. package/build/layout/GenricLayOut/components/Header.js +74 -0
  54. package/build/layout/GenricLayOut/components/Modal.js +85 -0
  55. package/build/layout/GenricLayOut/components/Search.js +51 -0
  56. package/build/layout/GenricLayOut/components/StaticFilter.css +73 -0
  57. package/build/layout/GenricLayOut/components/StaticFilter.js +37 -0
  58. package/build/layout/GenricLayOut/reducer/layoutReducer.js +290 -0
  59. package/build/layout/GenricLayOut/resolver/staticConfigResolver.js +98 -0
  60. package/build/layout/GenricLayOut/styles.js +22 -0
  61. package/build/layout/paymentAndConsent/CancelScreen.js +46 -0
  62. package/build/layout/paymentAndConsent/ConsentCard.js +68 -0
  63. package/build/layout/paymentAndConsent/DetailsCard.js +75 -0
  64. package/build/layout/paymentAndConsent/DetailsList.js +38 -0
  65. package/build/layout/paymentAndConsent/Header.js +33 -0
  66. package/build/layout/paymentAndConsent/InProgressScreen.js +46 -0
  67. package/build/layout/paymentAndConsent/Loader.js +21 -0
  68. package/build/layout/paymentAndConsent/Modal.js +28 -0
  69. package/build/layout/paymentAndConsent/PaymentAndConsent.js +22 -0
  70. package/build/layout/paymentAndConsent/PaymentCard.js +83 -0
  71. package/build/layout/paymentAndConsent/Section.js +34 -0
  72. package/build/layout/paymentAndConsent/SuccessScreen.js +46 -0
  73. package/build/layout/paymentAndConsent/TimeLineCard.js +28 -0
  74. package/build/layout/paymentAndConsent/TncList.js +32 -0
  75. package/build/layout/paymentAndConsent/style.js +12 -0
  76. package/build/utils/download-file.js +23 -0
  77. package/build/widgets/oa-form-widget/FormWidget.js +476 -0
  78. package/build/widgets/oa-form-widget/FormWidgetStyle.js +18 -0
  79. package/build/widgets/oa-widget-add-spare-part/AddSparePartCollapseWidget.js +73 -12
  80. package/build/widgets/oa-widget-add-spare-part/AddSparePartWidget.js +51 -7
  81. package/build/widgets/oa-widget-address/AddressWidget.js +12 -17
  82. package/build/widgets/oa-widget-approval/ApprovalWidgetNew.js +481 -0
  83. package/build/widgets/oa-widget-approval/styles.js +2 -2
  84. package/build/widgets/oa-widget-chat/ChatWidget.js +5 -5
  85. package/build/widgets/oa-widget-close-claim/CloseClaimWidget.js +17 -5
  86. package/build/widgets/oa-widget-collapsible-key-value/CollapsibleKeyValueWidget.js +399 -0
  87. package/build/widgets/oa-widget-collapsible-key-value/styles.js +16 -0
  88. package/build/widgets/oa-widget-content-panel/ContentPanel.js +82 -0
  89. package/build/widgets/oa-widget-content-panel/styles.js +12 -0
  90. package/build/widgets/oa-widget-customer-rating-card/CustomerRatingCard.js +5 -5
  91. package/build/widgets/oa-widget-detailcard/styles.js +1 -1
  92. package/build/widgets/oa-widget-document-upload/DocUploadWidget.js +6 -9
  93. package/build/widgets/oa-widget-dropdown-search-input/DropdownSearchInput.js +56 -19
  94. package/build/widgets/oa-widget-dropdown-search-input/styles.js +1 -1
  95. package/build/widgets/oa-widget-guide/GuideWidget.js +70 -0
  96. package/build/widgets/oa-widget-guide/GuideWidgetStyle.js +12 -0
  97. package/build/widgets/oa-widget-hub-automation-modal/HubAutomationDeleteBiker.js +24 -0
  98. package/build/widgets/oa-widget-hub-automation-modal/HubAutomationModal.js +34 -0
  99. package/build/widgets/oa-widget-hub-automation-modal/HubAutomationModalStyle.js +13 -0
  100. package/build/widgets/oa-widget-image-carousel/ImageCarouselWidget.js +257 -0
  101. package/build/widgets/oa-widget-image-carousel/styles.js +23 -0
  102. package/build/widgets/oa-widget-image-gallery/FullscreenViewer.js +169 -0
  103. package/build/widgets/oa-widget-image-gallery/ImageGallery.js +87 -0
  104. package/build/widgets/oa-widget-image-gallery/ThumbnailGrid.js +146 -0
  105. package/build/widgets/oa-widget-image-gallery/imageCache.js +15 -0
  106. package/build/widgets/oa-widget-image-gallery/imageGalleryStyle.js +16 -0
  107. package/build/widgets/oa-widget-item-info-card/InfoCardListWidget.js +60 -0
  108. package/build/widgets/oa-widget-item-info-card/ItemInfoCardWidget.js +77 -0
  109. package/build/widgets/oa-widget-item-info-card/styles.css +50 -0
  110. package/build/widgets/oa-widget-item-info-card/styles.js +14 -0
  111. package/build/widgets/oa-widget-key-value/KeyValueWidget.js +37 -10
  112. package/build/widgets/oa-widget-kpi/KPICardWidget.js +86 -0
  113. package/build/widgets/oa-widget-kpi/styles.js +12 -0
  114. package/build/widgets/oa-widget-map-base-location/AddressDetails.js +21 -7
  115. package/build/widgets/oa-widget-map-base-location/AddressForm.js +32 -5
  116. package/build/widgets/oa-widget-map-base-location/MapBaseLocation.js +9 -3
  117. package/build/widgets/oa-widget-map-base-location/MapComponent.js +17 -2
  118. package/build/widgets/oa-widget-membershipcard/MembershipCard.js +14 -3
  119. package/build/widgets/oa-widget-membershipcard/styles.js +1 -1
  120. package/build/widgets/oa-widget-notes/NotesWidget.js +2 -1
  121. package/build/widgets/oa-widget-progressive-steps/ProgressiveStepsWidget.js +396 -0
  122. package/build/widgets/oa-widget-progressive-steps/styles.js +12 -0
  123. package/build/widgets/oa-widget-reimbursement-breakup/ReimbursementBreakupWidget.js +18 -9
  124. package/build/widgets/oa-widget-reimbursement-breakup/styles.js +1 -1
  125. package/build/widgets/oa-widget-reupload-drawer/ReUploadDrawer.js +164 -0
  126. package/build/widgets/oa-widget-sidebar/SidebarWidget.js +87 -0
  127. package/build/widgets/oa-widget-sidebar/components/Header.js +30 -0
  128. package/build/widgets/oa-widget-sidebar/sidebar.css +0 -0
  129. package/build/widgets/oa-widget-sidebar/styles.js +12 -0
  130. package/build/widgets/oa-widget-spare-part/SparePartsWidget.js +57 -29
  131. package/build/widgets/oa-widget-track-shipment/TrackShipmentWidget.js +28 -6
  132. package/build/widgets/oa-widget-track-shipment-list/TrackShipmentWidgetList.js +103 -0
  133. package/build/widgets/oa-widget-track-shipment-list/fn.js +81 -0
  134. package/package.json +4 -2
  135. package/build/dev/oa-widget-track-shipment/TrackShipmentWidget.js +0 -195
  136. /package/build/{dev/oa-widget-track-shipment → widgets/oa-widget-track-shipment-list}/styles.js +0 -0
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _fn = require("./fn");
10
+ var _TrackShipmentWidget = _interopRequireDefault(require("../oa-widget-track-shipment/TrackShipmentWidget"));
11
+ var _Accordion = _interopRequireDefault(require("../../components/oa-component-accordion/Accordion"));
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function TrackShipmentWidgetList(_ref) {
14
+ var _assignments$map;
15
+ let {
16
+ shipmentData,
17
+ onChange
18
+ } = _ref;
19
+ const assignments = (shipmentData === null || shipmentData === void 0 ? void 0 : shipmentData.assignments) || [];
20
+ if (assignments.length === 0) {
21
+ return /*#__PURE__*/_react.default.createElement(_TrackShipmentWidget.default, (0, _fn.getSingleShipmentHistory)(shipmentData));
22
+ }
23
+ if (assignments.length === 1) {
24
+ return /*#__PURE__*/_react.default.createElement(_TrackShipmentWidget.default, (0, _fn.getSingleShipmentHistory)(assignments[0]));
25
+ }
26
+ const lastReassignmentId = assignments && assignments.length > 0 ? assignments[assignments.length - 1].assignmentId || 0 : 0;
27
+ return assignments === null || assignments === void 0 || (_assignments$map = assignments.map) === null || _assignments$map === void 0 ? void 0 : _assignments$map.call(assignments, (item, index) => {
28
+ const {
29
+ assignmentId,
30
+ assignmentDate,
31
+ assignmentClosedTime,
32
+ status
33
+ } = item !== null && item !== void 0 ? item : {};
34
+ return /*#__PURE__*/_react.default.createElement("div", {
35
+ className: "margin-bottom-16",
36
+ key: assignmentId
37
+ }, /*#__PURE__*/_react.default.createElement(_Accordion.default, {
38
+ defaultActiveKey: lastReassignmentId,
39
+ activeKey: assignmentId,
40
+ body: /*#__PURE__*/_react.default.createElement(_TrackShipmentWidget.default, (0, _fn.getSingleShipmentHistory)(item)),
41
+ headerText: (0, _fn.headerText)(index, assignmentDate, assignmentClosedTime, status)
42
+ }));
43
+ });
44
+ }
45
+ const HistoryPropType = _propTypes.default.shape({
46
+ shipmentStatus: _propTypes.default.string.isRequired,
47
+ fromDate: _propTypes.default.string.isRequired,
48
+ toDate: _propTypes.default.string.isRequired,
49
+ partnerStatus: _propTypes.default.string,
50
+ customerDisplayStatus: _propTypes.default.string.isRequired,
51
+ oneassistDisplayStatus: _propTypes.default.string.isRequired,
52
+ stageConsistent: _propTypes.default.bool.isRequired
53
+ });
54
+ const AssignmentPropType = _propTypes.default.shape({
55
+ assignmentDate: _propTypes.default.number.isRequired,
56
+ assignmentClosedTime: _propTypes.default.number.isRequired,
57
+ logisticPartnerName: _propTypes.default.string.isRequired,
58
+ assignmentId: _propTypes.default.number.isRequired,
59
+ logisticPartnerRefNum: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
60
+ originAddressLine1: _propTypes.default.string.isRequired,
61
+ originDistrict: _propTypes.default.string.isRequired,
62
+ originPincode: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
63
+ destAddressLine1: _propTypes.default.string.isRequired,
64
+ destDistrict: _propTypes.default.string,
65
+ destPincode: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
66
+ history: _propTypes.default.arrayOf(HistoryPropType).isRequired,
67
+ origAddressFullName: _propTypes.default.string.isRequired,
68
+ destAddressFullName: _propTypes.default.string.isRequired,
69
+ assignments: _propTypes.default.arrayOf(_propTypes.default.shape({
70
+ logisticPartnerRefNum: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
71
+ originAddressLine1: _propTypes.default.string.isRequired,
72
+ originDistrict: _propTypes.default.string.isRequired,
73
+ originPincode: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
74
+ destAddressLine1: _propTypes.default.string.isRequired,
75
+ destDistrict: _propTypes.default.string,
76
+ destPincode: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
77
+ history: _propTypes.default.arrayOf(HistoryPropType).isRequired,
78
+ origAddressFullName: _propTypes.default.string.isRequired,
79
+ destAddressFullName: _propTypes.default.string.isRequired,
80
+ assignments: _propTypes.default.array // Placeholder to break recursion
81
+ }))
82
+ });
83
+ TrackShipmentWidgetList.propTypes = {
84
+ shipmentData: _propTypes.default.shape({
85
+ logisticPartnerRefNum: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
86
+ originAddressLine1: _propTypes.default.string.isRequired,
87
+ originDistrict: _propTypes.default.string.isRequired,
88
+ originPincode: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
89
+ destAddressLine1: _propTypes.default.string.isRequired,
90
+ destDistrict: _propTypes.default.string,
91
+ destPincode: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
92
+ history: _propTypes.default.arrayOf(HistoryPropType).isRequired,
93
+ origAddressFullName: _propTypes.default.string.isRequired,
94
+ destAddressFullName: _propTypes.default.string.isRequired,
95
+ assignments: _propTypes.default.arrayOf(AssignmentPropType)
96
+ }),
97
+ onChange: _propTypes.default.func
98
+ };
99
+ TrackShipmentWidgetList.defaultProps = {
100
+ shipmentData: {},
101
+ onChange: () => {}
102
+ };
103
+ var _default = exports.default = TrackShipmentWidgetList;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isActive = exports.headerText = exports.getSingleShipmentHistory = exports.getDateString = exports.getCurrentShipmentLabel = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function numberToOrdinal(number) {
10
+ const suffixes = ['th', 'st', 'nd', 'rd'];
11
+ const value = number % 100;
12
+ const suffix = value >= 11 && value <= 13 ? suffixes[0] // 11th, 12th, 13th
13
+ : suffixes[number % 10] || suffixes[0]; // 1st, 2nd, 3rd, others
14
+ return "".concat(number).concat(suffix); // Use template literal correctly
15
+ }
16
+ const getDateFromEpoch = date => {
17
+ if (!date) {
18
+ return '';
19
+ }
20
+ const dateObj = new Date(date);
21
+ const day = dateObj.getDate();
22
+ const month = dateObj.getMonth();
23
+ const year = dateObj.getFullYear();
24
+ const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
25
+ return "".concat(day, " ").concat(months[month], " ").concat(year);
26
+ };
27
+ const getDateString = (startTime, endTime) => {
28
+ const startDate = getDateFromEpoch(startTime);
29
+ const endDate = getDateFromEpoch(endTime);
30
+ if (startDate === '' && endDate === '') {
31
+ return '';
32
+ }
33
+ if (endDate === '') {
34
+ return startDate;
35
+ }
36
+ return "".concat(startDate, " - ").concat(endDate);
37
+ };
38
+ exports.getDateString = getDateString;
39
+ const getCurrentShipmentLabel = number => {
40
+ const ordinalNumber = numberToOrdinal(number);
41
+ return "".concat(ordinalNumber, " Shipment");
42
+ };
43
+ exports.getCurrentShipmentLabel = getCurrentShipmentLabel;
44
+ const showNewLineChar = addressDetail => {
45
+ var _splitedAddress$map;
46
+ const splitedAddress = addressDetail === null || addressDetail === void 0 ? void 0 : addressDetail.split('\n');
47
+ if ((splitedAddress === null || splitedAddress === void 0 ? void 0 : splitedAddress.length) === 1) return addressDetail;
48
+ return (_splitedAddress$map = splitedAddress.map((title, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, title, index === 0 && /*#__PURE__*/_react.default.createElement("br", null)))) !== null && _splitedAddress$map !== void 0 ? _splitedAddress$map : '';
49
+ };
50
+ const isActive = time => time === null;
51
+ exports.isActive = isActive;
52
+ const headerText = (index, reassignmentTime, modifiedTime, status) => "".concat(getCurrentShipmentLabel(index + 1), " | ").concat(getDateString(reassignmentTime, modifiedTime)).concat(isActive(modifiedTime) ? ' - Present' : '');
53
+ exports.headerText = headerText;
54
+ const getSingleShipmentHistory = item => {
55
+ var _item$history;
56
+ return {
57
+ partnerName: item === null || item === void 0 ? void 0 : item.logisticPartnerName,
58
+ errorReason: item === null || item === void 0 ? void 0 : item.failureReason,
59
+ awbNumber: item === null || item === void 0 ? void 0 : item.logisticPartnerRefNum,
60
+ fromAddress: {
61
+ heading: 'From Address:',
62
+ addressLine1: item === null || item === void 0 ? void 0 : item.origAddressFullName,
63
+ addressLine2: showNewLineChar(item === null || item === void 0 ? void 0 : item.originAddressLine1),
64
+ pincode: item === null || item === void 0 ? void 0 : item.originPincode,
65
+ city: item === null || item === void 0 ? void 0 : item.originDistrict,
66
+ landmark: item === null || item === void 0 ? void 0 : item.originLandmark,
67
+ state: item === null || item === void 0 ? void 0 : item.originState
68
+ },
69
+ toAddress: {
70
+ heading: 'To Address:',
71
+ addressLine1: item === null || item === void 0 ? void 0 : item.destAddressFullName,
72
+ addressLine2: showNewLineChar(item === null || item === void 0 ? void 0 : item.destAddressLine1),
73
+ pincode: item === null || item === void 0 ? void 0 : item.destPincode,
74
+ city: item === null || item === void 0 ? void 0 : item.destDistrict,
75
+ landmark: item === null || item === void 0 ? void 0 : item.destLandmark,
76
+ state: item === null || item === void 0 ? void 0 : item.destState
77
+ },
78
+ tableData: (_item$history = item === null || item === void 0 ? void 0 : item.history) !== null && _item$history !== void 0 ? _item$history : []
79
+ };
80
+ };
81
+ exports.getSingleShipmentHistory = getSingleShipmentHistory;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oa-componentbook",
3
- "version": "1.0.1-stage.35",
3
+ "version": "1.0.1-stage.350",
4
4
  "private": false,
5
5
  "description": "Reusable components",
6
6
  "main": "build/index.js",
@@ -22,12 +22,14 @@
22
22
  "antd": "^5.11.4",
23
23
  "d3": "^7.8.5",
24
24
  "dayjs": "^1.11.10",
25
+ "immer": "^10.1.1",
25
26
  "pdfjs-dist": "^2.6.347",
26
27
  "react-google-maps": "^9.4.5",
28
+ "react-intersection-observer": "^8.32.5",
27
29
  "react-markdown": "^8.0.7",
28
30
  "react-pattern-lock": "^12.0.12",
29
31
  "react-pdf": "^5.3.0",
30
- "react-zoom-pan-pinch": "^3.4.4"
32
+ "react-zoom-pan-pinch": "^3.7.0"
31
33
  },
32
34
  "devDependencies": {
33
35
  "@babel/cli": "^7.22.9",
@@ -1,195 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.weak-map.js");
4
- require("core-js/modules/web.dom-collections.iterator.js");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _FileCopyOutlined = _interopRequireDefault(require("@material-ui/icons/FileCopyOutlined"));
12
- var _AddressWidget = _interopRequireDefault(require("../../widgets/oa-widget-address/AddressWidget"));
13
- var _CustomTable = _interopRequireDefault(require("../../components/oa-component-table/CustomTable"));
14
- var _CustomTimeline = _interopRequireDefault(require("../oa-component-timeline/CustomTimeline"));
15
- var _MaterialIcon = _interopRequireDefault(require("../../components/oa-component-icons/MaterialIcon"));
16
- var _styles = require("./styles");
17
- var _CustomNotification = _interopRequireDefault(require("../../components/oa-component-notification/CustomNotification"));
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
- function TrackShipmentWidget(_ref) {
22
- var _tableData, _tableData2;
23
- let {
24
- awbNumber,
25
- fromAddress,
26
- tableData,
27
- title,
28
- toAddress,
29
- heading
30
- } = _ref;
31
- // local variables
32
- const deilveryStageText = 'SHIPMENT DELIVERED to Customer';
33
-
34
- // show notification when user click on clipboard
35
- const notificationRef = (0, _react.useRef)(null);
36
- const openNotification = parameters => {
37
- var _notificationRef$curr;
38
- return notificationRef === null || notificationRef === void 0 || (_notificationRef$curr = notificationRef.current) === null || _notificationRef$curr === void 0 ? void 0 : _notificationRef$curr.openNotification(parameters);
39
- };
40
- const handleCopyToClipboard = () => {
41
- navigator.clipboard.writeText(awbNumber).then(() => {
42
- openNotification({
43
- description: 'Copy to clipboard',
44
- type: 'success'
45
- });
46
- }).catch(err => {
47
- openNotification({
48
- description: 'Failed to copy text',
49
- type: 'failure'
50
- });
51
- });
52
- };
53
-
54
- // return circle color depands on stageConsistent key coming from backend
55
- const getCircleClass = (row, isTimeLineStep) => {
56
- if (row.stageConsistent) {
57
- return isTimeLineStep ? 'finish' : 'greenBg';
58
- }
59
- if (row.toDate === null && row.oneassistDisplayStatus === deilveryStageText) {
60
- return isTimeLineStep ? 'process' : 'greenBr';
61
- }
62
- return isTimeLineStep ? 'error' : 'redBg';
63
- };
64
-
65
- // check if current stage is delivery stage or not
66
- const isOnDeliveryStage = Array.isArray(tableData) && tableData.length > 0 && ((_tableData = tableData[tableData.length - 1]) === null || _tableData === void 0 ? void 0 : _tableData.oneassistDisplayStatus) === deilveryStageText && ((_tableData2 = tableData[tableData.length - 1]) === null || _tableData2 === void 0 ? void 0 : _tableData2.toDate) === null;
67
-
68
- // remove duplicate consicutive objects only show single unique objects
69
- const stepsData = tableData.map(item => ({
70
- title: item.oneassistDisplayStatus,
71
- status: getCircleClass(item, true)
72
- })).filter((item, index) => {
73
- var _tableData3;
74
- return item.title !== ((_tableData3 = tableData[index - 1]) === null || _tableData3 === void 0 ? void 0 : _tableData3.oneassistDisplayStatus);
75
- });
76
- return /*#__PURE__*/_react.default.createElement(_styles.StyleTrackShipment, {
77
- className: "trackingDetails"
78
- }, /*#__PURE__*/_react.default.createElement(_CustomNotification.default, {
79
- ref: notificationRef
80
- }), title ? /*#__PURE__*/_react.default.createElement("h1", {
81
- className: "type-t1-500"
82
- }, title) : null, /*#__PURE__*/_react.default.createElement("h3", {
83
- className: "type-t1-500"
84
- }, heading), /*#__PURE__*/_react.default.createElement("p", {
85
- className: "type-b2-400 disFlex"
86
- }, "AWB Number:", awbNumber, awbNumber && /*#__PURE__*/_react.default.createElement(_MaterialIcon.default, {
87
- icon: _FileCopyOutlined.default,
88
- size: 20,
89
- onClick: handleCopyToClipboard,
90
- style: {
91
- cursor: 'pointer',
92
- color: '014FC5'
93
- }
94
- })), /*#__PURE__*/_react.default.createElement(_styles.AddressesContainer, null, /*#__PURE__*/_react.default.createElement(_AddressWidget.default, {
95
- address: fromAddress
96
- }), /*#__PURE__*/_react.default.createElement(_AddressWidget.default, {
97
- address: toAddress
98
- })), /*#__PURE__*/_react.default.createElement("div", {
99
- className: "cstScroll"
100
- }, /*#__PURE__*/_react.default.createElement(_CustomTimeline.default, {
101
- currentStep: isOnDeliveryStage ? stepsData.length : stepsData.length - 1,
102
- stepsData: stepsData
103
- })), /*#__PURE__*/_react.default.createElement(_CustomTable.default, {
104
- bordered: true,
105
- rowKey: "key",
106
- columns: [{
107
- title: 'Stage',
108
- dataIndex: 'oneassistDisplayStatus',
109
- key: 'oneassistDisplayStatus',
110
- render: (text, row, index) => {
111
- const obj = {
112
- children: /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("em", {
113
- className: "comIcon ".concat(getCircleClass(row))
114
- }), text),
115
- props: {}
116
- };
117
- if (index === 0 || tableData[index - 1].oneassistDisplayStatus !== text) {
118
- let rowSpanCount = 1;
119
- for (let i = index + 1; i < tableData.length; i += 1) {
120
- if (tableData[i].oneassistDisplayStatus === text) {
121
- rowSpanCount += 1;
122
- } else {
123
- break;
124
- }
125
- }
126
- obj.props.rowSpan = rowSpanCount;
127
- } else {
128
- obj.props.rowSpan = 0;
129
- }
130
- return obj;
131
- }
132
- }, {
133
- title: 'description from partner',
134
- dataIndex: 'partnerStatus',
135
- key: 'partnerStatus'
136
- }, {
137
- title: 'Time',
138
- dataIndex: 'toDate',
139
- key: 'toDate'
140
- }],
141
- dataSource: tableData
142
- }));
143
- }
144
- TrackShipmentWidget.propTypes = {
145
- awbNumber: _propTypes.default.string.isRequired,
146
- fromAddress: _propTypes.default.shape({
147
- heading: _propTypes.default.string,
148
- addressLine1: _propTypes.default.string,
149
- addressLine2: _propTypes.default.string,
150
- addressLine3: _propTypes.default.string,
151
- landmark: _propTypes.default.string,
152
- pincode: _propTypes.default.string || _propTypes.default.number,
153
- city: _propTypes.default.string,
154
- state: _propTypes.default.string,
155
- type: _propTypes.default.oneOf(['permanent', 'temporary']),
156
- additional_info: _propTypes.default.shape({
157
- lat: _propTypes.default.string,
158
- long: _propTypes.default.string
159
- })
160
- }),
161
- tableData: _propTypes.default.arrayOf(_propTypes.default.shape({
162
- key: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
163
- oneassistDisplayStatus: _propTypes.default.string,
164
- partnerStatus: _propTypes.default.string,
165
- toDate: _propTypes.default.string
166
- })).isRequired,
167
- title: _propTypes.default.string,
168
- heading: _propTypes.default.string,
169
- toAddress: _propTypes.default.shape({
170
- heading: _propTypes.default.string,
171
- addressLine1: _propTypes.default.string,
172
- addressLine2: _propTypes.default.string,
173
- addressLine3: _propTypes.default.string,
174
- landmark: _propTypes.default.string,
175
- pincode: _propTypes.default.string || _propTypes.default.number,
176
- city: _propTypes.default.string,
177
- state: _propTypes.default.string,
178
- type: _propTypes.default.oneOf(['permanent', 'temporary']),
179
- additional_info: _propTypes.default.shape({
180
- lat: _propTypes.default.string,
181
- long: _propTypes.default.string
182
- })
183
- })
184
- };
185
- TrackShipmentWidget.defaultProps = {
186
- fromAddress: {
187
- heading: ''
188
- },
189
- title: '',
190
- heading: 'Shipment tracking details',
191
- toAddress: {
192
- heading: ''
193
- }
194
- };
195
- var _default = exports.default = TrackShipmentWidget;