@os1-platform/dispatch-mobile 2.0.7 → 2.1.0

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 (567) hide show
  1. package/dispatch-mobile.podspec +35 -0
  2. package/ios/DispatchSdk-Bridging-Header.h +3 -0
  3. package/ios/DispatchSdk.m +9 -0
  4. package/ios/DispatchSdk.swift +8 -0
  5. package/ios/DispatchSdk.xcodeproj/project.pbxproj +317 -0
  6. package/ios/EventEmitter.swift +21 -0
  7. package/ios/EventsConstant.swift +13 -0
  8. package/ios/RNEventEmitter.m +15 -0
  9. package/ios/RNEventEmitter.swift +24 -0
  10. package/lib/commonjs/components/dispatch/DispatchExecNavigator.js +3 -4
  11. package/lib/commonjs/components/dispatch/DispatchExecNavigator.js.map +1 -1
  12. package/lib/commonjs/components/executiontasks/cancellation/CancelET.js +13 -8
  13. package/lib/commonjs/components/executiontasks/cancellation/CancelET.js.map +1 -1
  14. package/lib/commonjs/components/executiontasks/captureInput/CaptureText.js +3 -4
  15. package/lib/commonjs/components/executiontasks/captureInput/CaptureText.js.map +1 -1
  16. package/lib/commonjs/components/executiontasks/deliver/DeliverET.js +3 -4
  17. package/lib/commonjs/components/executiontasks/deliver/DeliverET.js.map +1 -1
  18. package/lib/commonjs/components/executiontasks/deliver/DeliverETInput.js.map +1 -1
  19. package/lib/commonjs/components/executiontasks/deliver/SLDeliverET.js +102 -24
  20. package/lib/commonjs/components/executiontasks/deliver/SLDeliverET.js.map +1 -1
  21. package/lib/commonjs/components/executiontasks/display/DisplayModalET.js +7 -8
  22. package/lib/commonjs/components/executiontasks/display/DisplayModalET.js.map +1 -1
  23. package/lib/commonjs/components/executiontasks/doodle/SignatureET.js +36 -13
  24. package/lib/commonjs/components/executiontasks/doodle/SignatureET.js.map +1 -1
  25. package/lib/commonjs/components/executiontasks/dropCash/DropCashET.js +3 -4
  26. package/lib/commonjs/components/executiontasks/dropCash/DropCashET.js.map +1 -1
  27. package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js +6 -7
  28. package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
  29. package/lib/commonjs/components/executiontasks/forms/FormGenerator.js +5 -6
  30. package/lib/commonjs/components/executiontasks/forms/FormGenerator.js.map +1 -1
  31. package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js +4 -5
  32. package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
  33. package/lib/commonjs/components/executiontasks/forms/widgets/DropdownWidget.js +3 -4
  34. package/lib/commonjs/components/executiontasks/forms/widgets/DropdownWidget.js.map +1 -1
  35. package/lib/commonjs/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js +3 -4
  36. package/lib/commonjs/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js.map +1 -1
  37. package/lib/commonjs/components/executiontasks/forms/widgets/TimeRangeSelector.js +3 -4
  38. package/lib/commonjs/components/executiontasks/forms/widgets/TimeRangeSelector.js.map +1 -1
  39. package/lib/commonjs/components/executiontasks/httpRequest/HttpRequestET.js +3 -4
  40. package/lib/commonjs/components/executiontasks/httpRequest/HttpRequestET.js.map +1 -1
  41. package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +136 -22
  42. package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
  43. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +8 -8
  44. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  45. package/lib/commonjs/components/executiontasks/payments/PaymentStyles.js +6 -7
  46. package/lib/commonjs/components/executiontasks/payments/PaymentStyles.js.map +1 -1
  47. package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentET.js +5 -6
  48. package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentET.js.map +1 -1
  49. package/lib/commonjs/components/executiontasks/payments/init/InitPaymentET.js +3 -4
  50. package/lib/commonjs/components/executiontasks/payments/init/InitPaymentET.js.map +1 -1
  51. package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentET.js +3 -4
  52. package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentET.js.map +1 -1
  53. package/lib/commonjs/components/executiontasks/pickup/PickupET.js +3 -4
  54. package/lib/commonjs/components/executiontasks/pickup/PickupET.js.map +1 -1
  55. package/lib/commonjs/components/executiontasks/pickup/SLPickupET.js +85 -15
  56. package/lib/commonjs/components/executiontasks/pickup/SLPickupET.js.map +1 -1
  57. package/lib/commonjs/components/executiontasks/scan/ScanET.js +14 -15
  58. package/lib/commonjs/components/executiontasks/scan/ScanET.js.map +1 -1
  59. package/lib/commonjs/components/executiontasks/scan/ScanSchema.js +1 -2
  60. package/lib/commonjs/components/executiontasks/scan/ScanSchema.js.map +1 -1
  61. package/lib/commonjs/components/executiontasks/scan/constants.js +6 -12
  62. package/lib/commonjs/components/executiontasks/scan/constants.js.map +1 -1
  63. package/lib/commonjs/components/executiontasks/scan/interfaces.js +4 -8
  64. package/lib/commonjs/components/executiontasks/scan/interfaces.js.map +1 -1
  65. package/lib/commonjs/components/executiontasks/scan/sub_components/CScanner.js +4 -5
  66. package/lib/commonjs/components/executiontasks/scan/sub_components/CScanner.js.map +1 -1
  67. package/lib/commonjs/components/executiontasks/scan/sub_components/ERDropDown.js +5 -6
  68. package/lib/commonjs/components/executiontasks/scan/sub_components/ERDropDown.js.map +1 -1
  69. package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js +8 -9
  70. package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
  71. package/lib/commonjs/components/executiontasks/scan/utils.js +2 -2
  72. package/lib/commonjs/components/executiontasks/scan/utils.js.map +1 -1
  73. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js +8 -9
  74. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
  75. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js +1 -2
  76. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js.map +1 -1
  77. package/lib/commonjs/components/executiontasks/validateOTP/constants.js +6 -12
  78. package/lib/commonjs/components/executiontasks/validateOTP/constants.js.map +1 -1
  79. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js +5 -6
  80. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
  81. package/lib/commonjs/components/executiontasks/validateOTP/utils.js +2 -2
  82. package/lib/commonjs/components/executiontasks/validateOTP/utils.js.map +1 -1
  83. package/lib/commonjs/components/executiontasks/verifyLocation/GeofenceUtils.js +2 -2
  84. package/lib/commonjs/components/executiontasks/verifyLocation/GeofenceUtils.js.map +1 -1
  85. package/lib/commonjs/components/executiontasks/verifyLocation/VerifyLocationET.js +3 -4
  86. package/lib/commonjs/components/executiontasks/verifyLocation/VerifyLocationET.js.map +1 -1
  87. package/lib/commonjs/components/executiontasks/verifyOtp/VerifyOtpET.js +3 -4
  88. package/lib/commonjs/components/executiontasks/verifyOtp/VerifyOtpET.js.map +1 -1
  89. package/lib/commonjs/components/widgets/AlertDisplay.js +14 -9
  90. package/lib/commonjs/components/widgets/AlertDisplay.js.map +1 -1
  91. package/lib/commonjs/components/widgets/CancelOrderDialog.js +5 -6
  92. package/lib/commonjs/components/widgets/CancelOrderDialog.js.map +1 -1
  93. package/lib/commonjs/components/widgets/Card.js +2 -3
  94. package/lib/commonjs/components/widgets/Card.js.map +1 -1
  95. package/lib/commonjs/components/widgets/GoBackModal.js +1 -2
  96. package/lib/commonjs/components/widgets/GoBackModal.js.map +1 -1
  97. package/lib/commonjs/components/widgets/IconButton.js +1 -2
  98. package/lib/commonjs/components/widgets/IconButton.js.map +1 -1
  99. package/lib/commonjs/components/widgets/ModalWidget.js +3 -4
  100. package/lib/commonjs/components/widgets/ModalWidget.js.map +1 -1
  101. package/lib/commonjs/components/widgets/ProgressDialog.js +2 -3
  102. package/lib/commonjs/components/widgets/ProgressDialog.js.map +1 -1
  103. package/lib/commonjs/components/widgets/SearchBar.js +1 -2
  104. package/lib/commonjs/components/widgets/SearchBar.js.map +1 -1
  105. package/lib/commonjs/components/widgets/SnackBarCustom.js +3 -5
  106. package/lib/commonjs/components/widgets/SnackBarCustom.js.map +1 -1
  107. package/lib/commonjs/components/widgets/SplitTextInput.js +3 -4
  108. package/lib/commonjs/components/widgets/SplitTextInput.js.map +1 -1
  109. package/lib/commonjs/components/widgets/TabsComponent.js +3 -4
  110. package/lib/commonjs/components/widgets/TabsComponent.js.map +1 -1
  111. package/lib/commonjs/config/DispatchSDKConfig.js +1 -2
  112. package/lib/commonjs/config/DispatchSDKConfig.js.map +1 -1
  113. package/lib/commonjs/constants/apiConstants.js +2 -4
  114. package/lib/commonjs/constants/apiConstants.js.map +1 -1
  115. package/lib/commonjs/constants/constants.js +11 -22
  116. package/lib/commonjs/constants/constants.js.map +1 -1
  117. package/lib/commonjs/constants/statuscode.js +1 -2
  118. package/lib/commonjs/constants/statuscode.js.map +1 -1
  119. package/lib/commonjs/errors/ErrorCodes.js +7 -14
  120. package/lib/commonjs/errors/ErrorCodes.js.map +1 -1
  121. package/lib/commonjs/events/EventDispatcher.js +5 -3
  122. package/lib/commonjs/events/EventDispatcher.js.map +1 -1
  123. package/lib/commonjs/events/EventListener.js +1 -2
  124. package/lib/commonjs/events/EventListener.js.map +1 -1
  125. package/lib/commonjs/events/constants.js +1 -2
  126. package/lib/commonjs/events/constants.js.map +1 -1
  127. package/lib/commonjs/events/index.js +1 -2
  128. package/lib/commonjs/events/index.js.map +1 -1
  129. package/lib/commonjs/icons/ScanIcon.js +1 -2
  130. package/lib/commonjs/icons/ScanIcon.js.map +1 -1
  131. package/lib/commonjs/icons/circleMark.svg +3 -0
  132. package/lib/commonjs/icons/file.js +1 -2
  133. package/lib/commonjs/icons/file.js.map +1 -1
  134. package/lib/commonjs/index.js +8 -2
  135. package/lib/commonjs/index.js.map +1 -1
  136. package/lib/commonjs/locale/Str.js +18 -0
  137. package/lib/commonjs/locale/Str.js.map +1 -0
  138. package/lib/commonjs/locale/en.json +6 -0
  139. package/lib/commonjs/locale/i18n.js +24 -0
  140. package/lib/commonjs/locale/i18n.js.map +1 -0
  141. package/lib/commonjs/locale/util.js +27 -0
  142. package/lib/commonjs/locale/util.js.map +1 -0
  143. package/lib/commonjs/manager/dispatch/DispatchStateContainer.js +5 -3
  144. package/lib/commonjs/manager/dispatch/DispatchStateContainer.js.map +1 -1
  145. package/lib/commonjs/manager/dispatchCodes/EventCodeContainer.js +2 -0
  146. package/lib/commonjs/manager/dispatchCodes/EventCodeContainer.js.map +1 -1
  147. package/lib/commonjs/manager/dispatchCodes/EventCodeRepo.js +4 -2
  148. package/lib/commonjs/manager/dispatchCodes/EventCodeRepo.js.map +1 -1
  149. package/lib/commonjs/manager/dispatchCodes/ReasonCodeContainer.js +4 -2
  150. package/lib/commonjs/manager/dispatchCodes/ReasonCodeContainer.js.map +1 -1
  151. package/lib/commonjs/manager/dispatchCodes/ReasonCodeRepo.js +4 -2
  152. package/lib/commonjs/manager/dispatchCodes/ReasonCodeRepo.js.map +1 -1
  153. package/lib/commonjs/manager/location/LocationManager.js +7 -4
  154. package/lib/commonjs/manager/location/LocationManager.js.map +1 -1
  155. package/lib/commonjs/manager/sdk/DispatchSDKManager.js +4 -2
  156. package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
  157. package/lib/commonjs/manager/sdk/DispatchSdkCache.js +2 -0
  158. package/lib/commonjs/manager/sdk/DispatchSdkCache.js.map +1 -1
  159. package/lib/commonjs/manager/sdk/callbacksHandler.js +1 -2
  160. package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
  161. package/lib/commonjs/manager/syncmanager/AppSyncManager.js +4 -2
  162. package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
  163. package/lib/commonjs/manager/syncmanager/DBConfig.js +14 -26
  164. package/lib/commonjs/manager/syncmanager/DBConfig.js.map +1 -1
  165. package/lib/commonjs/manager/syncmanager/NativeSyncManager.js +1 -2
  166. package/lib/commonjs/manager/syncmanager/NativeSyncManager.js.map +1 -1
  167. package/lib/commonjs/manager/syncmanager/constants.js +5 -10
  168. package/lib/commonjs/manager/syncmanager/constants.js.map +1 -1
  169. package/lib/commonjs/manager/syncmanager/database.js +2 -2
  170. package/lib/commonjs/manager/syncmanager/database.js.map +1 -1
  171. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +5 -4
  172. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  173. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +4 -2
  174. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
  175. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +4 -2
  176. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  177. package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js +4 -2
  178. package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js.map +1 -1
  179. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +4 -2
  180. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  181. package/lib/commonjs/models/DispatchModels.js +1 -2
  182. package/lib/commonjs/models/DispatchModels.js.map +1 -1
  183. package/lib/commonjs/models/execTasks/ETConfig.js +6 -12
  184. package/lib/commonjs/models/execTasks/ETConfig.js.map +1 -1
  185. package/lib/commonjs/models/fcm.js.map +1 -1
  186. package/lib/commonjs/models/sdk.js +1 -2
  187. package/lib/commonjs/models/sdk.js.map +1 -1
  188. package/lib/commonjs/native/signature/SignatureCapture.js +1 -2
  189. package/lib/commonjs/native/signature/SignatureCapture.js.map +1 -1
  190. package/lib/commonjs/network/GraphQLClient.js +48 -4
  191. package/lib/commonjs/network/GraphQLClient.js.map +1 -1
  192. package/lib/commonjs/network/Queries.js +5 -10
  193. package/lib/commonjs/network/Queries.js.map +1 -1
  194. package/lib/commonjs/res/strings.js +1 -2
  195. package/lib/commonjs/res/strings.js.map +1 -1
  196. package/lib/commonjs/resources/Login.js +1 -2
  197. package/lib/commonjs/resources/Login.js.map +1 -1
  198. package/lib/commonjs/resources/network.js +1 -2
  199. package/lib/commonjs/resources/network.js.map +1 -1
  200. package/lib/commonjs/styles/SdkColors.js +2 -4
  201. package/lib/commonjs/styles/SdkColors.js.map +1 -1
  202. package/lib/commonjs/styles/executionTasks/CommonStyles.js +6 -10
  203. package/lib/commonjs/styles/executionTasks/CommonStyles.js.map +1 -1
  204. package/lib/commonjs/ui/screens/CancellationScreen.js +3 -4
  205. package/lib/commonjs/ui/screens/CancellationScreen.js.map +1 -1
  206. package/lib/commonjs/ui/screens/CaptureInputScreen.js +5 -5
  207. package/lib/commonjs/ui/screens/CaptureInputScreen.js.map +1 -1
  208. package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js +3 -4
  209. package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js.map +1 -1
  210. package/lib/commonjs/ui/screens/DeliverScreen.js +9 -5
  211. package/lib/commonjs/ui/screens/DeliverScreen.js.map +1 -1
  212. package/lib/commonjs/ui/screens/DisplayScreen.js +3 -4
  213. package/lib/commonjs/ui/screens/DisplayScreen.js.map +1 -1
  214. package/lib/commonjs/ui/screens/DoodleScreen.js +5 -5
  215. package/lib/commonjs/ui/screens/DoodleScreen.js.map +1 -1
  216. package/lib/commonjs/ui/screens/DropCashScreen.js +5 -5
  217. package/lib/commonjs/ui/screens/DropCashScreen.js.map +1 -1
  218. package/lib/commonjs/ui/screens/FormsScreen.js +3 -4
  219. package/lib/commonjs/ui/screens/FormsScreen.js.map +1 -1
  220. package/lib/commonjs/ui/screens/GeofenceScreen.js +3 -4
  221. package/lib/commonjs/ui/screens/GeofenceScreen.js.map +1 -1
  222. package/lib/commonjs/ui/screens/HttpRequestScreen.js +1 -2
  223. package/lib/commonjs/ui/screens/HttpRequestScreen.js.map +1 -1
  224. package/lib/commonjs/ui/screens/ImageCaptureScreen.js +3 -4
  225. package/lib/commonjs/ui/screens/ImageCaptureScreen.js.map +1 -1
  226. package/lib/commonjs/ui/screens/PaymentScreen.js +6 -6
  227. package/lib/commonjs/ui/screens/PaymentScreen.js.map +1 -1
  228. package/lib/commonjs/ui/screens/PickupScreen.js +4 -5
  229. package/lib/commonjs/ui/screens/PickupScreen.js.map +1 -1
  230. package/lib/commonjs/ui/screens/ScanScreen.js +3 -4
  231. package/lib/commonjs/ui/screens/ScanScreen.js.map +1 -1
  232. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js +8 -7
  233. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js.map +1 -1
  234. package/lib/commonjs/ui/screens/ValidateOTPScreen.js +3 -4
  235. package/lib/commonjs/ui/screens/ValidateOTPScreen.js.map +1 -1
  236. package/lib/commonjs/ui/screens/WithBaseDispatchScreen.js +4 -4
  237. package/lib/commonjs/ui/screens/WithBaseDispatchScreen.js.map +1 -1
  238. package/lib/commonjs/ui/uiConfig/RouteParams.js +1 -2
  239. package/lib/commonjs/ui/uiConfig/RouteParams.js.map +1 -1
  240. package/lib/commonjs/utils/ApiUtils.js +2 -4
  241. package/lib/commonjs/utils/ApiUtils.js.map +1 -1
  242. package/lib/commonjs/utils/Logger.js +10 -9
  243. package/lib/commonjs/utils/Logger.js.map +1 -1
  244. package/lib/commonjs/utils/NetworkUtil.js +1 -2
  245. package/lib/commonjs/utils/NetworkUtil.js.map +1 -1
  246. package/lib/commonjs/utils/SdkUtils.js +12 -8
  247. package/lib/commonjs/utils/SdkUtils.js.map +1 -1
  248. package/lib/commonjs/utils/SyncManagerUtils.js +2 -2
  249. package/lib/commonjs/utils/SyncManagerUtils.js.map +1 -1
  250. package/lib/commonjs/utils/fcm/FCM.js +3 -4
  251. package/lib/commonjs/utils/fcm/FCM.js.map +1 -1
  252. package/lib/commonjs/utils/fcm/FcmUtils.js +14 -2
  253. package/lib/commonjs/utils/fcm/FcmUtils.js.map +1 -1
  254. package/lib/commonjs/utils/helper.js +1 -2
  255. package/lib/commonjs/utils/helper.js.map +1 -1
  256. package/lib/commonjs/utils/hooks/useModal.js +3 -4
  257. package/lib/commonjs/utils/hooks/useModal.js.map +1 -1
  258. package/lib/commonjs/utils/hooks/useTimer.js +1 -2
  259. package/lib/commonjs/utils/hooks/useTimer.js.map +1 -1
  260. package/lib/commonjs/utils/loginHelper.js +1 -2
  261. package/lib/commonjs/utils/loginHelper.js.map +1 -1
  262. package/lib/commonjs/utils/storage.js +71 -13
  263. package/lib/commonjs/utils/storage.js.map +1 -1
  264. package/lib/module/components/dispatch/DispatchExecNavigator.js.map +1 -1
  265. package/lib/module/components/executiontasks/cancellation/CancelET.js +11 -5
  266. package/lib/module/components/executiontasks/cancellation/CancelET.js.map +1 -1
  267. package/lib/module/components/executiontasks/deliver/DeliverETInput.js.map +1 -1
  268. package/lib/module/components/executiontasks/deliver/SLDeliverET.js +102 -22
  269. package/lib/module/components/executiontasks/deliver/SLDeliverET.js.map +1 -1
  270. package/lib/module/components/executiontasks/display/DisplayModalET.js +5 -5
  271. package/lib/module/components/executiontasks/display/DisplayModalET.js.map +1 -1
  272. package/lib/module/components/executiontasks/doodle/SignatureET.js +34 -10
  273. package/lib/module/components/executiontasks/doodle/SignatureET.js.map +1 -1
  274. package/lib/module/components/executiontasks/dropCash/SLDropCash.js +4 -4
  275. package/lib/module/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
  276. package/lib/module/components/executiontasks/forms/FormGenerator.js +3 -3
  277. package/lib/module/components/executiontasks/forms/FormGenerator.js.map +1 -1
  278. package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js +1 -1
  279. package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
  280. package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js +131 -18
  281. package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
  282. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +3 -3
  283. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  284. package/lib/module/components/executiontasks/payments/PaymentStyles.js +6 -6
  285. package/lib/module/components/executiontasks/payments/PaymentStyles.js.map +1 -1
  286. package/lib/module/components/executiontasks/payments/completePayment/CompletePaymentET.js +3 -3
  287. package/lib/module/components/executiontasks/payments/completePayment/CompletePaymentET.js.map +1 -1
  288. package/lib/module/components/executiontasks/pickup/SLPickupET.js +85 -14
  289. package/lib/module/components/executiontasks/pickup/SLPickupET.js.map +1 -1
  290. package/lib/module/components/executiontasks/scan/ScanET.js +12 -12
  291. package/lib/module/components/executiontasks/scan/ScanET.js.map +1 -1
  292. package/lib/module/components/executiontasks/scan/sub_components/CScanner.js +2 -2
  293. package/lib/module/components/executiontasks/scan/sub_components/CScanner.js.map +1 -1
  294. package/lib/module/components/executiontasks/scan/sub_components/ERDropDown.js +3 -3
  295. package/lib/module/components/executiontasks/scan/sub_components/ERDropDown.js.map +1 -1
  296. package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js +6 -6
  297. package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
  298. package/lib/module/components/executiontasks/scan/utils.js.map +1 -1
  299. package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js +6 -6
  300. package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
  301. package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js +3 -3
  302. package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
  303. package/lib/module/components/widgets/AlertDisplay.js +12 -7
  304. package/lib/module/components/widgets/AlertDisplay.js.map +1 -1
  305. package/lib/module/components/widgets/CancelOrderDialog.js +3 -3
  306. package/lib/module/components/widgets/CancelOrderDialog.js.map +1 -1
  307. package/lib/module/components/widgets/Card.js +1 -1
  308. package/lib/module/components/widgets/Card.js.map +1 -1
  309. package/lib/module/components/widgets/ModalWidget.js +3 -3
  310. package/lib/module/components/widgets/ModalWidget.js.map +1 -1
  311. package/lib/module/components/widgets/ProgressDialog.js +2 -2
  312. package/lib/module/components/widgets/ProgressDialog.js.map +1 -1
  313. package/lib/module/components/widgets/SnackBarCustom.js +2 -2
  314. package/lib/module/components/widgets/SnackBarCustom.js.map +1 -1
  315. package/lib/module/events/EventDispatcher.js +5 -2
  316. package/lib/module/events/EventDispatcher.js.map +1 -1
  317. package/lib/module/icons/circleMark.svg +3 -0
  318. package/lib/module/index.js +2 -2
  319. package/lib/module/index.js.map +1 -1
  320. package/lib/module/locale/Str.js +12 -0
  321. package/lib/module/locale/Str.js.map +1 -0
  322. package/lib/module/locale/en.json +6 -0
  323. package/lib/module/locale/i18n.js +17 -0
  324. package/lib/module/locale/i18n.js.map +1 -0
  325. package/lib/module/locale/util.js +18 -0
  326. package/lib/module/locale/util.js.map +1 -0
  327. package/lib/module/manager/dispatch/DispatchStateContainer.js +3 -1
  328. package/lib/module/manager/dispatch/DispatchStateContainer.js.map +1 -1
  329. package/lib/module/manager/dispatchCodes/EventCodeContainer.js +2 -0
  330. package/lib/module/manager/dispatchCodes/EventCodeContainer.js.map +1 -1
  331. package/lib/module/manager/dispatchCodes/EventCodeRepo.js +2 -0
  332. package/lib/module/manager/dispatchCodes/EventCodeRepo.js.map +1 -1
  333. package/lib/module/manager/dispatchCodes/ReasonCodeContainer.js +2 -0
  334. package/lib/module/manager/dispatchCodes/ReasonCodeContainer.js.map +1 -1
  335. package/lib/module/manager/dispatchCodes/ReasonCodeRepo.js +2 -0
  336. package/lib/module/manager/dispatchCodes/ReasonCodeRepo.js.map +1 -1
  337. package/lib/module/manager/location/LocationManager.js +2 -0
  338. package/lib/module/manager/location/LocationManager.js.map +1 -1
  339. package/lib/module/manager/sdk/DispatchSDKManager.js +2 -0
  340. package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
  341. package/lib/module/manager/sdk/DispatchSdkCache.js +2 -0
  342. package/lib/module/manager/sdk/DispatchSdkCache.js.map +1 -1
  343. package/lib/module/manager/syncmanager/AppSyncManager.js +2 -0
  344. package/lib/module/manager/syncmanager/AppSyncManager.js.map +1 -1
  345. package/lib/module/manager/syncmanager/document/DocumentManager.js +2 -0
  346. package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
  347. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +2 -0
  348. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  349. package/lib/module/manager/syncmanager/events/ETEventsManager.js +2 -0
  350. package/lib/module/manager/syncmanager/events/ETEventsManager.js.map +1 -1
  351. package/lib/module/manager/syncmanager/events/EventsSyncManager.js +2 -0
  352. package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  353. package/lib/module/models/fcm.js.map +1 -1
  354. package/lib/module/network/GraphQLClient.js +48 -3
  355. package/lib/module/network/GraphQLClient.js.map +1 -1
  356. package/lib/module/ui/screens/CaptureInputScreen.js +2 -1
  357. package/lib/module/ui/screens/CaptureInputScreen.js.map +1 -1
  358. package/lib/module/ui/screens/DeliverScreen.js +6 -1
  359. package/lib/module/ui/screens/DeliverScreen.js.map +1 -1
  360. package/lib/module/ui/screens/DoodleScreen.js +2 -1
  361. package/lib/module/ui/screens/DoodleScreen.js.map +1 -1
  362. package/lib/module/ui/screens/DropCashScreen.js +2 -2
  363. package/lib/module/ui/screens/DropCashScreen.js.map +1 -1
  364. package/lib/module/ui/screens/PaymentScreen.js +3 -2
  365. package/lib/module/ui/screens/PaymentScreen.js.map +1 -1
  366. package/lib/module/ui/screens/PickupScreen.js +1 -1
  367. package/lib/module/ui/screens/PickupScreen.js.map +1 -1
  368. package/lib/module/ui/screens/StartWorkFlowScreen.js +6 -4
  369. package/lib/module/ui/screens/StartWorkFlowScreen.js.map +1 -1
  370. package/lib/module/ui/screens/WithBaseDispatchScreen.js +1 -0
  371. package/lib/module/ui/screens/WithBaseDispatchScreen.js.map +1 -1
  372. package/lib/module/utils/Logger.js +2 -0
  373. package/lib/module/utils/Logger.js.map +1 -1
  374. package/lib/module/utils/SdkUtils.js +11 -7
  375. package/lib/module/utils/SdkUtils.js.map +1 -1
  376. package/lib/module/utils/fcm/FcmUtils.js +11 -0
  377. package/lib/module/utils/fcm/FcmUtils.js.map +1 -1
  378. package/lib/module/utils/storage.js +69 -10
  379. package/lib/module/utils/storage.js.map +1 -1
  380. package/lib/typescript/components/executiontasks/deliver/DeliverETInput.d.ts +3 -0
  381. package/lib/typescript/components/executiontasks/payments/PaymentStyles.d.ts +4 -5
  382. package/lib/typescript/components/widgets/SnackBarCustom.d.ts +1 -1
  383. package/lib/typescript/index.d.ts +2 -2
  384. package/lib/typescript/locale/Str.d.ts +10 -0
  385. package/lib/typescript/locale/i18n.d.ts +3 -0
  386. package/lib/typescript/locale/util.d.ts +2 -0
  387. package/lib/typescript/models/fcm.d.ts +3 -0
  388. package/lib/typescript/utils/fcm/FcmUtils.d.ts +2 -1
  389. package/lib/typescript/utils/storage.d.ts +3 -2
  390. package/package.json +25 -8
  391. package/src/@types/assets/index.d.ts +6 -0
  392. package/src/components/dispatch/DispatchExecNavigator.tsx +273 -0
  393. package/src/components/executiontasks/CompletedWFSchema.ts +24 -0
  394. package/src/components/executiontasks/ExecutionTasksIndex.ts +137 -0
  395. package/src/components/executiontasks/cancellation/CancelET.tsx +281 -0
  396. package/src/components/executiontasks/cancellation/CancellationSchema.ts +30 -0
  397. package/src/components/executiontasks/captureInput/CaptureInputSchema.ts +52 -0
  398. package/src/components/executiontasks/captureInput/CaptureText.tsx +172 -0
  399. package/src/components/executiontasks/captureInput/utils.ts +9 -0
  400. package/src/components/executiontasks/deliver/DeliverET.tsx +124 -0
  401. package/src/components/executiontasks/deliver/DeliverETInput.ts +50 -0
  402. package/src/components/executiontasks/deliver/SLDeliverET.tsx +512 -0
  403. package/src/components/executiontasks/display/DisplayModalET.tsx +174 -0
  404. package/src/components/executiontasks/display/DisplaySchema.ts +29 -0
  405. package/src/components/executiontasks/doodle/SignatureET.tsx +320 -0
  406. package/src/components/executiontasks/doodle/SignatureSchema.ts +51 -0
  407. package/src/components/executiontasks/dropCash/DropCashET.tsx +145 -0
  408. package/src/components/executiontasks/dropCash/DropCashSchema.ts +22 -0
  409. package/src/components/executiontasks/dropCash/SLDropCash.tsx +286 -0
  410. package/src/components/executiontasks/forms/FormGenerator.tsx +282 -0
  411. package/src/components/executiontasks/forms/FormSchema.ts +29 -0
  412. package/src/components/executiontasks/forms/widgets/DateTimeWidget.tsx +144 -0
  413. package/src/components/executiontasks/forms/widgets/DropdownWidget.tsx +52 -0
  414. package/src/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.tsx +158 -0
  415. package/src/components/executiontasks/forms/widgets/TimeRangeSelector.tsx +38 -0
  416. package/src/components/executiontasks/httpRequest/HttpEtUtils.ts +49 -0
  417. package/src/components/executiontasks/httpRequest/HttpRequestET.tsx +59 -0
  418. package/src/components/executiontasks/httpRequest/HttpRequestETSchema.ts +42 -0
  419. package/src/components/executiontasks/imageCapture/CaptureSchema.ts +93 -0
  420. package/src/components/executiontasks/imageCapture/CaptureUtils.ts +326 -0
  421. package/src/components/executiontasks/imageCapture/ImageCapture.tsx +363 -0
  422. package/src/components/executiontasks/payments/PaymentStyles.ts +93 -0
  423. package/src/components/executiontasks/payments/PaymentUtils.ts +7 -0
  424. package/src/components/executiontasks/payments/completePayment/CompletePaymentET.tsx +237 -0
  425. package/src/components/executiontasks/payments/completePayment/CompletePaymentSchema.ts +23 -0
  426. package/src/components/executiontasks/payments/init/InitPaymentET.tsx +247 -0
  427. package/src/components/executiontasks/payments/init/InitPaymentSchema.ts +37 -0
  428. package/src/components/executiontasks/payments/processPayment/ProcessPaymentET.tsx +272 -0
  429. package/src/components/executiontasks/payments/processPayment/ProcessPaymentSchema.ts +38 -0
  430. package/src/components/executiontasks/pickup/PickpSchema.ts +28 -0
  431. package/src/components/executiontasks/pickup/PickupET.tsx +126 -0
  432. package/src/components/executiontasks/pickup/SLPickupET.tsx +367 -0
  433. package/src/components/executiontasks/scan/ScanET.tsx +1059 -0
  434. package/src/components/executiontasks/scan/ScanSchema.ts +121 -0
  435. package/src/components/executiontasks/scan/constants.ts +6 -0
  436. package/src/components/executiontasks/scan/interfaces.ts +109 -0
  437. package/src/components/executiontasks/scan/modalConstant.ts +120 -0
  438. package/src/components/executiontasks/scan/sub_components/CScanner.tsx +107 -0
  439. package/src/components/executiontasks/scan/sub_components/DropDownUtils.ts +119 -0
  440. package/src/components/executiontasks/scan/sub_components/ERDropDown.tsx +134 -0
  441. package/src/components/executiontasks/scan/sub_components/SummaryPage.tsx +1296 -0
  442. package/src/components/executiontasks/scan/utils.ts +1108 -0
  443. package/src/components/executiontasks/validateOTP/ValidateOTPET.tsx +436 -0
  444. package/src/components/executiontasks/validateOTP/ValidateOTPSchema.ts +68 -0
  445. package/src/components/executiontasks/validateOTP/constants.ts +24 -0
  446. package/src/components/executiontasks/validateOTP/sub-components/OTPInput.tsx +83 -0
  447. package/src/components/executiontasks/validateOTP/utils.ts +180 -0
  448. package/src/components/executiontasks/verifyInput/VerifyInputSchema.ts +49 -0
  449. package/src/components/executiontasks/verifyLocation/GeofenceUtils.ts +55 -0
  450. package/src/components/executiontasks/verifyLocation/VerifyLocSchema.ts +56 -0
  451. package/src/components/executiontasks/verifyLocation/VerifyLocationET.tsx +69 -0
  452. package/src/components/executiontasks/verifyOtp/VerifyOtpET.tsx +96 -0
  453. package/src/components/executiontasks/verifyOtp/VerifyOtpSchema.ts +27 -0
  454. package/src/components/utils/index.ts +18 -0
  455. package/src/components/widgets/AlertDisplay.tsx +38 -0
  456. package/src/components/widgets/CancelOrderDialog.tsx +112 -0
  457. package/src/components/widgets/Card.tsx +99 -0
  458. package/src/components/widgets/GoBackModal.tsx +49 -0
  459. package/src/components/widgets/IconButton.tsx +32 -0
  460. package/src/components/widgets/ModalWidget.tsx +157 -0
  461. package/src/components/widgets/ProgressDialog.tsx +54 -0
  462. package/src/components/widgets/SearchBar.tsx +71 -0
  463. package/src/components/widgets/SnackBarCustom.tsx +212 -0
  464. package/src/components/widgets/SplitTextInput.tsx +116 -0
  465. package/src/components/widgets/TabsComponent.tsx +84 -0
  466. package/src/components/widgets/Toaster.ts +8 -0
  467. package/src/config/DispatchSDKConfig.ts +4 -0
  468. package/src/constants/apiConstants.ts +11 -0
  469. package/src/constants/constants.ts +12 -0
  470. package/src/constants/statuscode.ts +8 -0
  471. package/src/errors/BaseError.ts +16 -0
  472. package/src/errors/ErrorCodes.ts +38 -0
  473. package/src/events/EventDispatcher.ts +22 -0
  474. package/src/events/EventListener.ts +14 -0
  475. package/src/events/constants.ts +7 -0
  476. package/src/events/index.ts +3 -0
  477. package/src/events/interface.ts +1 -0
  478. package/src/icons/ScanIcon.tsx +24 -0
  479. package/src/icons/circleMark.svg +3 -0
  480. package/src/icons/file.tsx +24 -0
  481. package/src/icons/interface.ts +5 -0
  482. package/src/index.tsx +80 -0
  483. package/src/locale/Str.ts +12 -0
  484. package/src/locale/en.json +6 -0
  485. package/src/locale/i18n.ts +17 -0
  486. package/src/locale/util.ts +20 -0
  487. package/src/manager/dispatch/DispatchStateContainer.tsx +842 -0
  488. package/src/manager/dispatchCodes/EventCodeContainer.ts +75 -0
  489. package/src/manager/dispatchCodes/EventCodeRepo.ts +82 -0
  490. package/src/manager/dispatchCodes/ReasonCodeContainer.ts +121 -0
  491. package/src/manager/dispatchCodes/ReasonCodeRepo.ts +90 -0
  492. package/src/manager/dispatchCodes/reasonCodes.json +137 -0
  493. package/src/manager/jobRemoval/JobRemovalManager.ts +21 -0
  494. package/src/manager/location/LocationManager.ts +77 -0
  495. package/src/manager/sdk/DispatchSDKManager.ts +99 -0
  496. package/src/manager/sdk/DispatchSdkCache.ts +47 -0
  497. package/src/manager/sdk/callbacksHandler.ts +25 -0
  498. package/src/manager/syncmanager/AppSyncManager.ts +187 -0
  499. package/src/manager/syncmanager/DBConfig.ts +180 -0
  500. package/src/manager/syncmanager/NativeSyncManager.ts +14 -0
  501. package/src/manager/syncmanager/constants.ts +5 -0
  502. package/src/manager/syncmanager/database.ts +93 -0
  503. package/src/manager/syncmanager/document/DocumentHttpClient.ts +111 -0
  504. package/src/manager/syncmanager/document/DocumentManager.ts +143 -0
  505. package/src/manager/syncmanager/document/DocumentSyncManager.ts +233 -0
  506. package/src/manager/syncmanager/document/models.ts +4 -0
  507. package/src/manager/syncmanager/events/ETEventsManager.ts +633 -0
  508. package/src/manager/syncmanager/events/EventsGraphQLClient.ts +0 -0
  509. package/src/manager/syncmanager/events/EventsSyncManager.ts +490 -0
  510. package/src/manager/syncmanager/events/SyncHttpClient.ts +202 -0
  511. package/src/models/DispatchModels.ts +97 -0
  512. package/src/models/ReasonCodes.ts +12 -0
  513. package/src/models/auth.ts +43 -0
  514. package/src/models/execTasks/ETBaseModels.ts +113 -0
  515. package/src/models/execTasks/ETConfig.ts +94 -0
  516. package/src/models/execution.ts +9 -0
  517. package/src/models/fcm.ts +6 -0
  518. package/src/models/sdk.ts +35 -0
  519. package/src/native/signature/SignatureCapture.tsx +110 -0
  520. package/src/network/GraphQLClient.ts +147 -0
  521. package/src/network/NetworkClient.ts +58 -0
  522. package/src/network/NetworkUtils.ts +41 -0
  523. package/src/network/Queries.ts +46 -0
  524. package/src/network/client.ts +61 -0
  525. package/src/res/strings.ts +1 -0
  526. package/src/resources/Login.ts +36 -0
  527. package/src/resources/network.ts +13 -0
  528. package/src/styles/SdkColors.ts +24 -0
  529. package/src/styles/executionTasks/CommonStyles.ts +188 -0
  530. package/src/ui/screens/CancellationScreen.tsx +144 -0
  531. package/src/ui/screens/CaptureInputScreen.tsx +79 -0
  532. package/src/ui/screens/CompleteObjectiveScreen.tsx +72 -0
  533. package/src/ui/screens/DeliverScreen.tsx +114 -0
  534. package/src/ui/screens/DisplayScreen.tsx +52 -0
  535. package/src/ui/screens/DoodleScreen.tsx +84 -0
  536. package/src/ui/screens/DropCashScreen.tsx +113 -0
  537. package/src/ui/screens/ETScreensIndex.ts +35 -0
  538. package/src/ui/screens/FormsScreen.tsx +164 -0
  539. package/src/ui/screens/GeofenceScreen.tsx +54 -0
  540. package/src/ui/screens/HttpRequestScreen.tsx +47 -0
  541. package/src/ui/screens/ImageCaptureScreen.tsx +77 -0
  542. package/src/ui/screens/PaymentScreen.tsx +191 -0
  543. package/src/ui/screens/PickupScreen.tsx +82 -0
  544. package/src/ui/screens/ScanScreen.tsx +159 -0
  545. package/src/ui/screens/StartWorkFlowScreen.tsx +233 -0
  546. package/src/ui/screens/ValidateOTPScreen.tsx +62 -0
  547. package/src/ui/screens/WithBaseDispatchScreen.tsx +33 -0
  548. package/src/ui/uiConfig/RouteParams.ts +28 -0
  549. package/src/utils/ApiUtils.ts +157 -0
  550. package/src/utils/ExecTaskUtils.ts +214 -0
  551. package/src/utils/Logger.ts +110 -0
  552. package/src/utils/NetworkUtil.ts +50 -0
  553. package/src/utils/SdkUtils.ts +155 -0
  554. package/src/utils/SyncManagerUtils.ts +223 -0
  555. package/src/utils/fcm/FCM.ts +118 -0
  556. package/src/utils/fcm/FcmUtils.ts +130 -0
  557. package/src/utils/helper.ts +24 -0
  558. package/src/utils/hooks/useModal.tsx +67 -0
  559. package/src/utils/hooks/useTimer.ts +44 -0
  560. package/src/utils/loginHelper.ts +51 -0
  561. package/src/utils/storage.ts +292 -0
  562. package/src/utils/test.json +17 -0
  563. package/src/utils/utils.ts +30 -0
  564. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  565. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  566. package/android/gradlew +0 -185
  567. package/android/gradlew.bat +0 -89
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","Fonts","StyleSheet","Text","View","DropDownPicker","getDropDownItems","erItem","length","items","forEach","it","push","label","text","value","code","findERByCode","ercItems","i","ERDropDown","props","open","setOpen","selectedReason","setSelectedReason","_props$selectedReason","zIndex","title","toLowerCase","includes","createElement","style","styles","headerText","dropdownStyle","dropDownContainerStyle","dropdownContainerStyle","placeholder","onDropdownSelect","setValue","disabled","disabledStyle","opacity","backgroundColor","textStyle","labelStyle","onChangeValue","onItemChange","memo","create","fontSize","fontFamily","IBMPlexSans_600SemiBold","marginTop","marginBottom","IBMPlexSans_400Regular","color","borderColor","borderRadius"],"sources":["ERDropDown.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Fonts } from '../../../../styles/executionTasks/CommonStyles';\nimport { StyleSheet, Text, View } from 'react-native';\nimport DropDownPicker from 'react-native-dropdown-picker';\nimport FIcon from 'react-native-vector-icons/FontAwesome';\n\nfunction getDropDownItems(erItem: ercItem[]) {\n if (!erItem || erItem.length === 0) return [];\n let items: {\n label: string;\n value: string;\n // icon: () => JSX.Element;\n }[] = [];\n\n erItem.forEach((it) => {\n items.push({\n label: it.text,\n value: it.code,\n // icon: () => (\n // <FIcon\n // size={10}\n // name={'circle'}\n // color={it.success ? '#10B981' : '#A5A4A4'}\n // />\n // ),\n });\n });\n return items;\n}\n\nfunction findERByCode(code: string, ercItems: ercItem[]): ercItem | null {\n if (!ercItems || ercItems.length === 0) return null;\n for (let i = 0; i < ercItems.length; i++) {\n if (ercItems[i].code === code) {\n return ercItems[i];\n }\n }\n return ercItems[0];\n}\n\nconst ERDropDown = (props: DropDownPickerProps) => {\n const [open, setOpen] = useState(false);\n const [selectedReason, setSelectedReason] = useState('');\n\n useEffect(() => {\n setSelectedReason(props.selectedReason?.code || '');\n }, [props.selectedReason]);\n\n // Close dropdown if it's open and the content is changed\n useEffect(() => {\n if (!props.items.length) setOpen(false);\n }, [props.items]);\n\n const zIndex = props.title.toLowerCase().includes('event') ? 10 : 5;\n\n return (\n <View style={props.style}>\n <Text style={styles.headerText}>{props.title}</Text>\n <DropDownPicker\n style={styles.dropdownStyle}\n dropDownContainerStyle={[styles.dropdownContainerStyle, { zIndex }]}\n placeholder={selectedReason ?? ''}\n open={open}\n value={selectedReason ?? ''}\n items={getDropDownItems(props.items)}\n setOpen={() => {\n if (props.onDropdownSelect) props.onDropdownSelect();\n setOpen(!open);\n }}\n setValue={setSelectedReason}\n disabled={props.disabled || false}\n disabledStyle={{ opacity: 0.1, backgroundColor: '#ccc' }}\n textStyle={styles.labelStyle}\n labelStyle={styles.labelStyle}\n onChangeValue={(value) => {\n if (value) {\n props.onItemChange(findERByCode(value, props.items));\n } else {\n props.onItemChange(null);\n }\n }}\n zIndex={zIndex}\n />\n </View>\n );\n};\nexport default React.memo(ERDropDown);\n\nexport interface DropDownPickerProps {\n title: string;\n style: object;\n items: ercItem[];\n selectedReason?: ercItem;\n disabled?: boolean;\n onItemChange: (selectedReason: ercItem | null) => void;\n onDropdownSelect?: () => void;\n}\n\nexport interface ercItem {\n text: string;\n code: string;\n success: boolean;\n}\n\nconst styles = StyleSheet.create({\n headerText: {\n fontSize: 14,\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n marginTop: 10,\n marginBottom: 10,\n },\n labelStyle: {\n fontSize: 16,\n fontFamily: Fonts.IBMPlexSans_400Regular,\n color: '#525B7A',\n },\n dropdownStyle: {\n borderColor: '#E0E3EB',\n borderRadius: 6,\n // height: 50,\n },\n dropdownContainerStyle: {\n backgroundColor: '#ffffff',\n borderColor: '#E0E3EB',\n borderRadius: 6,\n // zIndex: 5,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useEffect","useState","Fonts","Platform","StyleSheet","Text","View","DropDownPicker","getDropDownItems","erItem","length","items","forEach","it","push","label","text","value","code","findERByCode","ercItems","i","ERDropDown","props","open","setOpen","selectedReason","setSelectedReason","_props$selectedReason","zIndex","title","toLowerCase","includes","createElement","style","styles","headerText","dropdownStyle","dropDownContainerStyle","dropdownContainerStyle","placeholder","onDropdownSelect","setValue","disabled","disabledStyle","opacity","backgroundColor","textStyle","labelStyle","onChangeValue","onItemChange","memo","create","fontSize","fontFamily","OS","IBMPlexSans_600SemiBold","marginTop","marginBottom","IBMPlexSans_400Regular","color","borderColor","borderRadius"],"sources":["ERDropDown.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Fonts } from '../../../../styles/executionTasks/CommonStyles';\nimport { Platform, StyleSheet, Text, View } from 'react-native';\nimport DropDownPicker from 'react-native-dropdown-picker';\nimport FIcon from 'react-native-vector-icons/FontAwesome';\n\nfunction getDropDownItems(erItem: ercItem[]) {\n if (!erItem || erItem.length === 0) return [];\n let items: {\n label: string;\n value: string;\n // icon: () => JSX.Element;\n }[] = [];\n\n erItem.forEach((it) => {\n items.push({\n label: it.text,\n value: it.code,\n // icon: () => (\n // <FIcon\n // size={10}\n // name={'circle'}\n // color={it.success ? '#10B981' : '#A5A4A4'}\n // />\n // ),\n });\n });\n return items;\n}\n\nfunction findERByCode(code: string, ercItems: ercItem[]): ercItem | null {\n if (!ercItems || ercItems.length === 0) return null;\n for (let i = 0; i < ercItems.length; i++) {\n if (ercItems[i].code === code) {\n return ercItems[i];\n }\n }\n return ercItems[0];\n}\n\nconst ERDropDown = (props: DropDownPickerProps) => {\n const [open, setOpen] = useState(false);\n const [selectedReason, setSelectedReason] = useState('');\n\n useEffect(() => {\n setSelectedReason(props.selectedReason?.code || '');\n }, [props.selectedReason]);\n\n // Close dropdown if it's open and the content is changed\n useEffect(() => {\n if (!props.items.length) setOpen(false);\n }, [props.items]);\n\n const zIndex = props.title.toLowerCase().includes('event') ? 10 : 5;\n\n return (\n <View style={props.style}>\n <Text style={styles.headerText}>{props.title}</Text>\n <DropDownPicker\n style={styles.dropdownStyle}\n dropDownContainerStyle={[styles.dropdownContainerStyle, { zIndex }]}\n placeholder={selectedReason ?? ''}\n open={open}\n value={selectedReason ?? ''}\n items={getDropDownItems(props.items)}\n setOpen={() => {\n if (props.onDropdownSelect) props.onDropdownSelect();\n setOpen(!open);\n }}\n setValue={setSelectedReason}\n disabled={props.disabled || false}\n disabledStyle={{ opacity: 0.1, backgroundColor: '#ccc' }}\n textStyle={styles.labelStyle}\n labelStyle={styles.labelStyle}\n onChangeValue={(value) => {\n if (value) {\n props.onItemChange(findERByCode(value, props.items));\n } else {\n props.onItemChange(null);\n }\n }}\n zIndex={zIndex}\n />\n </View>\n );\n};\nexport default React.memo(ERDropDown);\n\nexport interface DropDownPickerProps {\n title: string;\n style: object;\n items: ercItem[];\n selectedReason?: ercItem;\n disabled?: boolean;\n onItemChange: (selectedReason: ercItem | null) => void;\n onDropdownSelect?: () => void;\n}\n\nexport interface ercItem {\n text: string;\n code: string;\n success: boolean;\n}\n\nconst styles = StyleSheet.create({\n headerText: {\n fontSize: 14,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_600SemiBold\n : 'IBMPlexSans-SemiBold',\n marginTop: 10,\n marginBottom: 10,\n },\n labelStyle: {\n fontSize: 16,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n color: '#525B7A',\n },\n dropdownStyle: {\n borderColor: '#E0E3EB',\n borderRadius: 6,\n // height: 50,\n },\n dropdownContainerStyle: {\n backgroundColor: '#ffffff',\n borderColor: '#E0E3EB',\n borderRadius: 6,\n // zIndex: 5,\n },\n});\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { View, Text, Dimensions } from 'react-native';
1
+ import { View, Text, Dimensions, Platform } from 'react-native';
2
2
  import React, { useState, useEffect } from 'react';
3
3
  import { Button } from 'react-native-paper';
4
4
  import { Entypo } from '@expo/vector-icons';
@@ -828,7 +828,7 @@ const SummaryPage = props => {
828
828
  }, /*#__PURE__*/React.createElement(FileIcon, null), /*#__PURE__*/React.createElement(Text, {
829
829
  style: {
830
830
  color: '#3D445C',
831
- fontFamily: Fonts.IBMPlexSans_500Medium,
831
+ fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Medium',
832
832
  fontStyle: 'normal',
833
833
  fontWeight: '500',
834
834
  fontSize: 16,
@@ -837,7 +837,7 @@ const SummaryPage = props => {
837
837
  }, `You do not have any ${activeTab.toLowerCase()} shipments`), activeTab === SummaryPageTabs.PENDING ? /*#__PURE__*/React.createElement(Text, {
838
838
  style: {
839
839
  color: '#525B7A',
840
- fontFamily: Fonts.IBMPlexSans_400Regular,
840
+ fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans-Regular',
841
841
  fontStyle: 'normal',
842
842
  fontWeight: '400',
843
843
  fontSize: 14
@@ -965,7 +965,7 @@ const styles = StyleSheet.create({
965
965
  },
966
966
  titleText: {
967
967
  justifyContent: 'center',
968
- fontFamily: Fonts.IBMPlexSans_600SemiBold,
968
+ fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_600SemiBold : 'IBMPlexSans-SemiBold',
969
969
  fontStyle: 'normal',
970
970
  fontSize: 14,
971
971
  lineHeight: 20,
@@ -975,7 +975,7 @@ const styles = StyleSheet.create({
975
975
  },
976
976
  subText: {
977
977
  justifyContent: 'center',
978
- fontFamily: 'IBMPlexSans_400Regular',
978
+ fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans-Regular',
979
979
  fontStyle: 'normal',
980
980
  fontSize: 14,
981
981
  letterSpacing: 0.25,
@@ -991,7 +991,7 @@ const styles = StyleSheet.create({
991
991
  },
992
992
  unscannedShipmentModalSubText: {
993
993
  justifyContent: 'center',
994
- fontFamily: 'IBMPlexSans_400Regular',
994
+ fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans-Regular',
995
995
  fontStyle: 'normal',
996
996
  fontSize: 14,
997
997
  letterSpacing: 0.25,
@@ -1 +1 @@
1
- {"version":3,"names":["View","Text","Dimensions","React","useState","useEffect","Button","Entypo","CommonStyles","Fonts","PROCEED_STATUS","SummaryPageTabs","StyleSheet","TouchableOpacity","ERDropDown","getErcDropDownItems","DataProvider","LayoutProvider","RecyclerListView","SnackBarCustom","SnackBarType","TabsComponent","Card","addScans","filterERCItems","getScanData","getTabCount","removeScan","AntDesign","ModalWidget","SearchBar","debounce","RouteParams","IDispatchExecutor","FileIcon","dimensionsForScreen","get","createNewDataProvider","r1","r2","scanId","INITIAL_TABS","title","ALL","count","PENDING","DELIVERED","UNDELIVERED","INITIAL_SEARCH_PARAMS","hasNextPage","offset","limit","SummaryPage","props","snackBar","setSnackBar","show","type","SUCCESS","message","tabs","setTabs","showUnscannedShipmentModal","setShowUnscannedShipmentModal","showERCModal","setShowERCModal","showRemoveShipmentModal","setShowRemoveShipmentModal","selectedEventCode","setSelectedEventCode","selectedReason","setSelectedReason","reasonItems","setReasonItems","editedReasonItems","setEditedReasonItems","scannedCount","totalCount","shipmentCount","ercSelector","eventCodeItems","setEditedEventCode","code","response","length","undefined","renderActionButtons","createElement","style","borderTopWidth","borderTopColor","padding","labelStyle","nextButtonLabel","nextButton","uppercase","onPress","handleSubmitET","DELIVER_NOW","searchParams","setSearchParams","dataProvider","setDataProvider","_layoutProvider","index","dim","width","height","activeTab","setActiveTab","scanList","setScanList","isLoading","setIsLoading","isLoadingMore","setIsLoadingMore","showEditModal","setShowEditModal","selectedEditItem","setSelectedEditItem","editedEventCode","editedReason","setEditedReason","selectedItems","setSelectedItems","searchText","setSearchText","searchQuery","setSearchQuery","isSearchCleared","setIsSearchCleared","isRemoved","setIsRemoved","onChangeSearch","query","oldQuery","debouncedChangeSearch","updateScanList","arguments","data","result","scanProps","Boolean","updatedScanList","cloneWithRows","getAllData","concat","error","showProgress","onEndReached","renderEditERCModal","showModal","contentContainerStyle","marginStart","marginEnd","label","renderChildren","marginHorizontal","marginBottom","items","onItemChange","eventItem","marginVertical","disabled","reasonItem","buttonStyle","modalStyles","buttonStyles","primaryButton","styles","editERCButton","scan","status","scanResult","mergedScanETOutput","updateShipmentCount","orderId","clientName","eventCode","text","reasonCode","prefixedMergedObjectiveId","lastStatus","filter","scanItem","successEvent","success","FAILURE","secondaryButton","renderUnscannedShipmentModal","subTitle","textAlign","primaryButtonStyles","DELIVER_LATER","secondaryButtonStyles","renderERCModal","zIndex","ec","rc","renderRemoveShipmentModal","Object","keys","subTitleStyles","route","params","ROOT_META_DATA","taskName","itemsRemoved","forEach","item","ExecutionStatus","COMPLETED_FAILURE","push","indexes","map","value","includes","rowRenderer","_","key","renderAdditionalHeader","name","size","color","Fragment","Body","cardField","cardFieldSubText","editConfig","onEdit","selectConfig","isSelected","onSelect","_selectedItems","renderBody","currentTab","flex","searchBar","placeholder","onClear","layoutProvider","scanData","onEndReachedThreshold","renderFooter","fontWeight","justifyContent","alignItems","fontFamily","IBMPlexSans_500Medium","fontStyle","fontSize","marginTop","toLowerCase","IBMPlexSans_400Regular","renderTabItem","tab","tabItem","tabText","tabCount","backgroundColor","initialTab","onTabChange","visible","onDismiss","customBottom","bottomView","removeBtnContainer","flexDirection","marginLeft","removeSelection","mainExitButtonLabel","mainExitButton","removeBtn","canRemove","create","paddingBottom","modalContent","modalView","borderRadius","titleText","IBMPlexSans_600SemiBold","lineHeight","subText","letterSpacing","bottomButtons","unscannedShipmentModalSubText","paddingVertical","borderBottomWidth","borderBottomColor","marginRight","paddingHorizontal","scans"],"sources":["SummaryPage.tsx"],"sourcesContent":["import { View, Text, Dimensions } from 'react-native';\nimport React, { useState, useEffect } from 'react';\nimport { Button } from 'react-native-paper';\nimport { Entypo } from '@expo/vector-icons';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../../styles/executionTasks/CommonStyles';\nimport {\n DisplaySummary,\n ListItem,\n PROCEED_STATUS,\n SummaryPageTabs,\n} from '../interfaces';\nimport { StyleSheet } from 'react-native';\nimport { TouchableOpacity } from 'react-native';\nimport ERDropDown, { ercItem } from './ERDropDown';\nimport { getErcDropDownItems } from './DropDownUtils';\nimport { ERCode, ScannerInput, ScannerOutput } from '../ScanSchema';\nimport SdkColors, { ColorTheme } from '../../../../styles/SdkColors';\nimport {\n BaseDataProvider,\n DataProvider,\n LayoutProvider,\n RecyclerListView,\n} from 'recyclerlistview';\nimport SnackBarCustom, { SnackBarType } from '../../../widgets/SnackBarCustom';\nimport TabsComponent, { Tab } from '../../../widgets/TabsComponent';\nimport Card from '../../../widgets/Card';\nimport {\n addScans,\n filterERCItems,\n getScanData,\n getTabCount,\n removeScan,\n} from '../utils';\nimport { AntDesign } from '@expo/vector-icons';\nimport ModalWidget from '../../../widgets/ModalWidget';\nimport SearchBar from '../../../widgets/SearchBar';\nimport { debounce } from 'lodash';\nimport { RouteParams } from '../../../../ui/uiConfig/RouteParams';\nimport { IDispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport FileIcon from '../../../../icons/file';\n\nconst dimensionsForScreen = Dimensions.get('screen');\n\nconst createNewDataProvider = () => {\n return new DataProvider((r1, r2) => r1.scanId !== r2.scanId);\n};\n\ninterface SummaryPageProps {\n shipmentCount: { scannedCount: number; totalCount: number };\n updateShipmentCount: (\n scannedCountChanged: number,\n totalCountChanged: number,\n type?: 'SCAN' | 'REMOVE'\n ) => any;\n handleSubmitET: (\n status: PROCEED_STATUS,\n count: number,\n erc?: {\n ec: string;\n rc: string;\n }\n ) => void;\n ercSelector: ERCode[];\n eventCodeItems: ercItem[];\n scanProps: ScannerInput;\n mergedScanETOutput: ScannerOutput;\n}\n\nconst INITIAL_TABS = [\n { title: SummaryPageTabs.ALL, count: 0 },\n { title: SummaryPageTabs.PENDING, count: 0 },\n { title: SummaryPageTabs.DELIVERED, count: 0 },\n { title: SummaryPageTabs.UNDELIVERED, count: 0 },\n];\n\nconst INITIAL_SEARCH_PARAMS = {\n hasNextPage: true,\n offset: 0,\n limit: 10,\n};\n\nconst SummaryPage = (props: SummaryPageProps) => {\n const [snackBar, setSnackBar] = useState({\n show: false,\n type: SnackBarType.SUCCESS,\n message: '',\n });\n const [tabs, setTabs] = useState(INITIAL_TABS);\n\n // START: Modal Handling for Summary Page\n\n const [showUnscannedShipmentModal, setShowUnscannedShipmentModal] =\n useState(false);\n const [showERCModal, setShowERCModal] = useState(false);\n const [showRemoveShipmentModal, setShowRemoveShipmentModal] = useState(false);\n\n const [selectedEventCode, setSelectedEventCode] = useState<ercItem>();\n const [selectedReason, setSelectedReason] = useState<ercItem>(); // reason code from ercSelector\n const [reasonItems, setReasonItems] = useState<ercItem[]>(); // list of reason codes\n const [editedReasonItems, setEditedReasonItems] = useState<ercItem[]>(); // list of reason codes\n let { scannedCount, totalCount } = props.shipmentCount;\n useEffect(() => {\n props.ercSelector &&\n (async () => {\n setSelectedEventCode(props.eventCodeItems[0]);\n setEditedEventCode(props.eventCodeItems[0]);\n })();\n }, [props.eventCodeItems]);\n useEffect(() => {\n selectedEventCode?.code &&\n (async () => {\n let response = await getErcDropDownItems(\n 'REASON',\n props.ercSelector || [],\n selectedEventCode?.code\n );\n if (response.length) {\n setReasonItems(response);\n setSelectedReason(response[0]);\n } else {\n setReasonItems([]);\n setSelectedReason(undefined);\n }\n })();\n }, [selectedEventCode?.code]);\n\n const renderActionButtons = () => {\n return (\n <View\n style={{ borderTopWidth: 1, borderTopColor: '#E0E3EB', padding: 10 }}\n >\n <Button\n labelStyle={CommonStyles.nextButtonLabel}\n style={CommonStyles.nextButton}\n uppercase={false}\n onPress={() => {\n if (scannedCount < totalCount) {\n setShowUnscannedShipmentModal(true);\n } else {\n props.handleSubmitET(PROCEED_STATUS.DELIVER_NOW, tabs[1].count);\n }\n }}\n >\n {`Proceed`}\n </Button>\n </View>\n );\n };\n // END: Modal Handling for Summary Page\n\n // START: Summary List Handling\n const [searchParams, setSearchParams] = useState(INITIAL_SEARCH_PARAMS);\n const [dataProvider, setDataProvider] = React.useState<BaseDataProvider>(\n createNewDataProvider()\n );\n const _layoutProvider = new LayoutProvider(\n (index: any) => 0,\n (type: any, dim: any) => {\n dim.width = dimensionsForScreen.width / 1;\n dim.height = 180; //dimensionsForScreen.height / 1;\n }\n );\n const [activeTab, setActiveTab] = useState(SummaryPageTabs.PENDING);\n const [scanList, setScanList] = useState<DisplaySummary[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [isLoadingMore, setIsLoadingMore] = useState(false);\n const [showEditModal, setShowEditModal] = useState(false);\n const [selectedEditItem, setSelectedEditItem] = useState<ListItem>();\n const [editedEventCode, setEditedEventCode] = useState<ercItem>();\n const [editedReason, setEditedReason] = useState<ercItem>(); // reason code from ercSelector\n const [selectedItems, setSelectedItems] = useState<{\n [id: string]: ListItem;\n }>({});\n const [searchText, setSearchText] = useState('');\n const [searchQuery, setSearchQuery] = React.useState('');\n const [isSearchCleared, setIsSearchCleared] = React.useState<boolean>(false);\n const [isRemoved, setIsRemoved] = useState(false);\n const onChangeSearch = (query: string) => {\n setSearchQuery((oldQuery) => {\n if (oldQuery.length > 1 && query.length === 0) {\n setIsSearchCleared(true);\n }\n // RESET Search Params\n setSearchParams(INITIAL_SEARCH_PARAMS);\n return query;\n });\n };\n const debouncedChangeSearch = debounce(onChangeSearch, 500);\n\n const updateScanList = async (query: string = '') => {\n try {\n if (searchParams.hasNextPage) {\n const { data: result, totalCount } = await getScanData(\n activeTab,\n props.scanProps,\n searchParams.limit,\n searchParams.offset,\n query\n );\n\n if (query) {\n setSearchParams((searchParams) => ({\n hasNextPage: Boolean(\n totalCount - (searchParams.offset + searchParams.limit) > 0\n ),\n offset: searchParams.offset + result.length,\n limit: searchParams.limit,\n }));\n setScanList((scanList) => {\n const updatedScanList = result;\n setDataProvider((dataProvider) => {\n return createNewDataProvider().cloneWithRows(updatedScanList);\n });\n return updatedScanList;\n });\n } else {\n setSearchParams((searchParams) => ({\n hasNextPage: Boolean(\n totalCount - (searchParams.offset + searchParams.limit) > 0\n ),\n offset: searchParams.offset + result.length,\n limit: searchParams.limit,\n }));\n setScanList((scanList: DisplaySummary[]) => {\n let updatedScanList: DisplaySummary[] = [];\n if (isSearchCleared) updatedScanList = [...result];\n else updatedScanList = dataProvider.getAllData().concat(result);\n\n setIsSearchCleared(false);\n setDataProvider((dataProvider) => {\n if (dataProvider)\n return dataProvider.cloneWithRows(updatedScanList);\n else return dataProvider;\n });\n return updatedScanList;\n });\n }\n }\n } catch (error) {\n } finally {\n props.scanProps.showProgress(false);\n }\n };\n\n useEffect(() => {\n (async () => {\n const count = await getTabCount(props.scanProps);\n setTabs([\n { title: SummaryPageTabs.ALL, count: count[SummaryPageTabs.ALL] },\n {\n title: SummaryPageTabs.PENDING,\n count: count[SummaryPageTabs.PENDING],\n },\n {\n title: SummaryPageTabs.DELIVERED,\n count: count[SummaryPageTabs.DELIVERED],\n },\n {\n title: SummaryPageTabs.UNDELIVERED,\n count: count[SummaryPageTabs.UNDELIVERED],\n },\n ]);\n })();\n }, []);\n\n useEffect(() => {\n (async () => {\n props.scanProps.showProgress(true);\n\n setIsLoading(true);\n await updateScanList(searchQuery);\n setIsLoading(false);\n\n props.scanProps.showProgress(false);\n\n if (isRemoved) setIsRemoved(false);\n })();\n }, [isRemoved, activeTab, searchQuery]);\n\n useEffect(() => {\n editedEventCode?.code &&\n (async () => {\n let response = await getErcDropDownItems(\n 'REASON',\n props.ercSelector || [],\n editedEventCode?.code\n );\n if (response.length) {\n // setReasonItems(response);\n setEditedReasonItems(response);\n setEditedReason(response[0]);\n } else {\n // setReasonItems([]);\n setEditedReasonItems([]);\n setEditedReason(undefined);\n }\n })();\n }, [editedEventCode?.code]);\n\n // Triggered when the user reaches the end of the list\n const onEndReached = async () => {\n if (searchParams.hasNextPage === false || searchQuery.length > 0) return;\n\n // Fetch more data when the user reaches the end of the list\n setIsLoadingMore(true);\n await updateScanList();\n setIsLoadingMore(false);\n };\n\n const renderEditERCModal = () => {\n return (\n <ModalWidget\n showModal={showEditModal}\n contentContainerStyle={{ marginStart: 40, marginEnd: 40 }}\n title={{ label: 'Update' }}\n renderChildren={() => {\n return (\n <View style={{ marginHorizontal: 16, marginBottom: 20 }}>\n <View style={{ marginBottom: 16 }}>\n <ERDropDown\n title={'Event'}\n style={{ height: 50 }}\n selectedReason={editedEventCode}\n items={props.eventCodeItems}\n onItemChange={(eventItem: ercItem | null) => {\n if (eventItem !== null) setEditedEventCode(eventItem);\n }}\n />\n </View>\n <View style={{ marginVertical: 20 }}>\n <ERDropDown\n title={'Reason'}\n style={{ height: 50 }}\n selectedReason={editedReason}\n disabled={\n !editedReasonItems || !editedReasonItems?.length\n ? true\n : false\n }\n items={editedReasonItems ?? []}\n onItemChange={(reasonItem: ercItem | null) => {\n if (reasonItem !== null) setEditedReason(reasonItem);\n }}\n />\n </View>\n </View>\n );\n }}\n buttonStyle={modalStyles.buttonStyles}\n primaryButton={{\n label: 'Update',\n styles: { ...modalStyles.editERCButton, marginStart: 5 },\n onPress: async () => {\n const scan = selectedEditItem;\n\n props.scanProps.showProgress(true);\n if (scan && editedEventCode && editedEventCode.code) {\n // UPDATE OUTPUT\n\n try {\n const {\n status,\n message,\n type,\n data: scanResult,\n } = await addScans(\n scan.scanId,\n props.scanProps,\n props.mergedScanETOutput,\n props.eventCodeItems,\n editedEventCode,\n editedReason\n );\n if (status === true) {\n // UPDATE COUNT OF TABS\n const count = await getTabCount(props.scanProps);\n setTabs([\n {\n title: SummaryPageTabs.ALL,\n count: count[SummaryPageTabs.ALL],\n },\n {\n title: SummaryPageTabs.PENDING,\n count: count[SummaryPageTabs.PENDING],\n },\n {\n title: SummaryPageTabs.DELIVERED,\n count: count[SummaryPageTabs.DELIVERED],\n },\n {\n title: SummaryPageTabs.UNDELIVERED,\n count: count[SummaryPageTabs.UNDELIVERED],\n },\n ]);\n\n // UPDATE THE Count\n props.updateShipmentCount(\n scanResult.shipmentCount.scannedCount,\n scanResult.shipmentCount.totalCount\n );\n\n if (activeTab === SummaryPageTabs.ALL) {\n setScanList((scanList) => {\n const updatedScanList = [...scanList];\n updatedScanList[scan.index] = {\n scanId: scan.scanId,\n orderId: scan.orderId || '--',\n clientName: scan.clientName || '--',\n eventCode: editedEventCode.text,\n reasonCode: editedReason?.text || '--',\n prefixedMergedObjectiveId:\n scan.prefixedMergedObjectiveId,\n lastStatus: scan.lastStatus,\n };\n setDataProvider((dataProvider) => {\n if (dataProvider)\n return dataProvider.cloneWithRows(updatedScanList);\n else return dataProvider;\n });\n\n return updatedScanList;\n });\n } else if (activeTab === SummaryPageTabs.PENDING) {\n setSearchParams({\n ...searchParams,\n offset: searchParams.offset - 1,\n });\n\n setScanList((scanList) => {\n let updatedScanList = dataProvider.getAllData();\n updatedScanList = updatedScanList.filter(\n (scanItem) => scanItem.scanId !== scan.scanId\n );\n // updatedScanList.splice(scan.index, 1);\n\n setDataProvider((dataProvider) => {\n if (dataProvider)\n return dataProvider.cloneWithRows(updatedScanList);\n else return dataProvider;\n });\n\n return updatedScanList;\n });\n } else if (activeTab === SummaryPageTabs.DELIVERED) {\n setScanList((scanList) => {\n let updatedScanList = dataProvider.getAllData();\n const successEvent = Boolean(editedEventCode.success);\n if (successEvent) {\n updatedScanList[scan.index] = {\n scanId: scan.scanId,\n orderId: scan.orderId || '--',\n clientName: scan.clientName || '--',\n eventCode: editedEventCode.text,\n reasonCode: editedReason?.text || '--',\n prefixedMergedObjectiveId:\n scan.prefixedMergedObjectiveId,\n lastStatus: scan.lastStatus,\n };\n } else {\n setSearchParams({\n ...searchParams,\n offset: searchParams.offset - 1,\n });\n updatedScanList = updatedScanList.filter(\n (scanItem) => scanItem.scanId !== scan.scanId\n );\n }\n setDataProvider((dataProvider) => {\n if (dataProvider)\n return dataProvider.cloneWithRows(updatedScanList);\n else return dataProvider;\n });\n\n return updatedScanList;\n });\n } else if (activeTab === SummaryPageTabs.UNDELIVERED) {\n setScanList((scanList) => {\n let updatedScanList = dataProvider.getAllData();\n const successEvent = Boolean(editedEventCode.success);\n if (!successEvent) {\n updatedScanList[scan.index] = {\n scanId: scan.scanId,\n orderId: scan.orderId || '--',\n clientName: scan.clientName || '--',\n eventCode: editedEventCode.text,\n reasonCode: editedReason?.text || '--',\n prefixedMergedObjectiveId:\n scan.prefixedMergedObjectiveId,\n lastStatus: scan.lastStatus,\n };\n } else {\n setSearchParams({\n ...searchParams,\n offset: searchParams.offset - 1,\n });\n\n updatedScanList = updatedScanList.filter(\n (scanItem) => scanItem.scanId !== scan.scanId\n );\n }\n setDataProvider((dataProvider) => {\n if (dataProvider)\n return dataProvider.cloneWithRows(updatedScanList);\n else return dataProvider;\n });\n\n return updatedScanList;\n });\n }\n\n setSnackBar({\n show: true,\n message:\n scan.eventCode !== '--'\n ? `#${scan.scanId}\\nShipment updated successfully!`\n : message,\n type,\n });\n } else {\n setSnackBar({\n show: true,\n message,\n type,\n });\n }\n } catch (error) {\n setSnackBar({\n show: true,\n message: 'Some error occurred',\n type: SnackBarType.FAILURE,\n });\n }\n } else {\n setSnackBar({\n show: true,\n message: 'Some error occurred',\n type: SnackBarType.FAILURE,\n });\n }\n\n // RESET KEYS\n props.scanProps.showProgress(false);\n setSelectedEditItem(undefined);\n setShowEditModal(false);\n return;\n },\n }}\n secondaryButton={{\n label: 'Cancel',\n styles: { ...modalStyles.editERCButton, marginEnd: 5 },\n onPress: () => {\n setShowEditModal(false);\n setSelectedEditItem(undefined);\n },\n }}\n />\n );\n };\n\n const renderUnscannedShipmentModal = () => {\n return (\n <ModalWidget\n showModal={showUnscannedShipmentModal}\n title={{ label: 'Pending Shipments' }}\n subTitle={{\n label: `You still have ${tabs[1].count} unscanned shipment!`,\n styles: { textAlign: 'center' },\n }}\n primaryButton={{\n label: 'Continue without Scanning',\n styles: modalStyles.primaryButtonStyles,\n onPress: () => {\n props.handleSubmitET(PROCEED_STATUS.DELIVER_LATER, tabs[1].count);\n },\n }}\n secondaryButton={{\n label: `Keep Scanning`,\n styles: modalStyles.secondaryButtonStyles,\n onPress: () => setShowUnscannedShipmentModal(false),\n }}\n // OLD CODE: When you wanted to update Undelivered shipments with a particular ERC got removed after: https://dev.azure.com/DelhiveryPlatform/Solutions/_workitems/edit/15669\n // secondaryButton={{\n // label: `Mark as Undelivered`,\n // styles: modalStyles.secondaryButtonStyles,\n // onPress: () => {\n // setShowUnscannedShipmentModal(false);\n // setShowERCModal(true);\n // },\n // }}\n // renderAdditionalButtons={() => {\n // return (\n // <TouchableOpacity\n // style={{\n // marginBottom: 16,\n // height: 40,\n // borderRadius: 6,\n // justifyContent: 'center',\n // alignItems: 'center',\n // }}\n // onPress={() => setShowUnscannedShipmentModal(false)}\n // >\n // <Text\n // style={[\n // CommonStyles.cancelButtonLabel,\n // { color: SdkColors[ColorTheme.LIGHT].primaryButton },\n // ]}\n // >\n // Continue Scanning\n // </Text>\n // </TouchableOpacity>\n // );\n // }}\n />\n );\n };\n\n const renderERCModal = () => {\n return (\n <ModalWidget\n showModal={showERCModal}\n contentContainerStyle={{ marginStart: 40, marginEnd: 40 }}\n title={{ label: 'Mark as Undelivered' }}\n subTitle={{\n label: `The shipments shall be updated with the following:`,\n }}\n renderChildren={() => {\n return (\n <View style={{ marginHorizontal: 16, marginBottom: 20 }}>\n <View style={{ marginBottom: 16 }}>\n <ERDropDown\n title={'Event'}\n style={{ height: 50 }}\n selectedReason={selectedEventCode}\n items={filterERCItems(props.eventCodeItems, 'FAILURE')}\n onItemChange={(eventItem: ercItem | null) => {\n if (eventItem !== null) setSelectedEventCode(eventItem);\n }}\n />\n </View>\n <View style={{ marginVertical: 20 }}>\n <ERDropDown\n title={'Reason'}\n style={{ height: 50 }}\n selectedReason={selectedReason}\n disabled={!reasonItems || !reasonItems?.length ? true : false}\n items={reasonItems ?? []}\n onItemChange={(reasonItem: ercItem | null) => {\n if (reasonItem !== null) setSelectedReason(reasonItem);\n }}\n />\n </View>\n </View>\n );\n }}\n buttonStyle={{ zIndex: -1 }}\n primaryButton={{\n label: 'Proceed',\n styles: modalStyles.primaryButtonStyles,\n onPress: () => {\n props.handleSubmitET(PROCEED_STATUS.DELIVER_NOW, tabs[1].count, {\n ec: selectedEventCode?.code || '',\n rc: selectedReason?.code || '',\n });\n setShowERCModal(false);\n },\n }}\n secondaryButton={{\n label: `Cancel`,\n styles: modalStyles.secondaryButtonStyles,\n onPress: () => {\n setShowERCModal(false);\n },\n }}\n />\n );\n };\n\n const renderRemoveShipmentModal = () => {\n return (\n <ModalWidget\n showModal={showRemoveShipmentModal}\n contentContainerStyle={{ marginStart: 40, marginEnd: 40 }}\n title={{ label: 'Remove Shipment' }}\n subTitle={{\n label: `${\n Object.keys(selectedItems).length > 1\n ? `Are you sure you want to remove the ${\n Object.keys(selectedItems).length\n } shipments?`\n : 'Are you sure you want to remove this shipment?'\n }`,\n styles: modalStyles.subTitleStyles,\n }}\n primaryButton={{\n label: 'Proceed to Remove',\n styles: modalStyles.primaryButtonStyles,\n onPress: async () => {\n props.scanProps.showProgress(true);\n\n const prefixedMergedObjectiveId =\n props.scanProps.route.params[RouteParams.ROOT_META_DATA]\n .prefixedMergedObjectiveId;\n\n try {\n // REMOVE SCAN\n await removeScan(\n props.scanProps.taskName || '',\n Object.keys(selectedItems),\n props.scanProps.route,\n props.mergedScanETOutput\n );\n\n // UPDATE THE Count\n props.updateShipmentCount(\n -Object.keys(selectedItems).length,\n 0,\n 'REMOVE'\n );\n\n // UPDATE COUNT OF TABS\n const count = await getTabCount(props.scanProps);\n\n setSearchParams({\n ...searchParams,\n offset: searchParams.offset - Object.keys(selectedItems).length,\n });\n\n // RESET SCAN LIST\n setScanList((scanList: any) => {\n let updatedScanList: any;\n const itemsRemoved: string[] = [];\n\n if (activeTab === SummaryPageTabs.ALL) {\n updatedScanList = [...scanList];\n\n Object.keys(selectedItems).forEach((scanId) => {\n const item = selectedItems[scanId]; // returns Display Summary with Index\n\n if (\n item.prefixedMergedObjectiveId !==\n prefixedMergedObjectiveId ||\n item.lastStatus ===\n IDispatchExecutor.ExecutionStatus.COMPLETED_FAILURE\n ) {\n itemsRemoved.push(item.scanId);\n } else {\n updatedScanList[item.index] = {\n scanId: item.scanId,\n orderId: item.orderId || '--',\n clientName: item.clientName || '--',\n eventCode: '--',\n reasonCode: '--',\n };\n }\n });\n } else if (\n activeTab === SummaryPageTabs.DELIVERED ||\n activeTab === SummaryPageTabs.UNDELIVERED\n ) {\n const indexes = Object.keys(selectedItems).map((scanId) => {\n const item: any = selectedItems[scanId];\n return item.index;\n });\n updatedScanList = scanList.filter(\n (value: any, index: number) => !indexes.includes(index)\n );\n } else {\n updatedScanList = scanList;\n }\n setDataProvider((dataProvider: any) => {\n return dataProvider.cloneWithRows(updatedScanList);\n });\n\n setTabs([\n {\n title: SummaryPageTabs.ALL,\n count: count[SummaryPageTabs.ALL],\n },\n {\n title: SummaryPageTabs.PENDING,\n count: count[SummaryPageTabs.PENDING],\n },\n {\n title: SummaryPageTabs.DELIVERED,\n count: count[SummaryPageTabs.DELIVERED],\n },\n {\n title: SummaryPageTabs.UNDELIVERED,\n count: count[SummaryPageTabs.UNDELIVERED],\n },\n ]);\n\n // RESET MODAL\n setShowRemoveShipmentModal(false);\n\n // RESET SELECTED ITEMS\n setSelectedItems({});\n\n updatedScanList = updatedScanList.filter(\n (scan: DisplaySummary) => !itemsRemoved.includes(scan.scanId)\n );\n\n setDataProvider((dataProvider) => {\n if (dataProvider)\n return dataProvider.cloneWithRows(updatedScanList);\n else return dataProvider;\n });\n\n return updatedScanList;\n });\n\n // RESET MODAL\n setShowRemoveShipmentModal(false);\n\n // RESET SELECTED ITEMS\n setSelectedItems({});\n\n // RESET Loader\n props.scanProps.showProgress(false);\n\n // Show Success Message\n setSnackBar({\n show: true,\n message: 'Selected items removed successfully!',\n type: SnackBarType.SUCCESS,\n });\n } catch (error) {\n // RESET MODAL\n setShowRemoveShipmentModal(false);\n\n setSnackBar({\n show: true,\n message: 'Some error occurred',\n type: SnackBarType.FAILURE,\n });\n } finally {\n props.scanProps.showProgress(false);\n }\n },\n }}\n secondaryButton={{\n label: `Cancel`,\n styles: modalStyles.secondaryButtonStyles,\n onPress: () => {\n setShowRemoveShipmentModal(false);\n },\n }}\n />\n );\n };\n\n const rowRenderer = (_: any, scan: DisplaySummary, index: number) => {\n const prefixedMergedObjectiveId =\n props.scanProps.route.params[RouteParams.ROOT_META_DATA]\n .prefixedMergedObjectiveId;\n\n return (\n <Card\n key={scan.scanId}\n title={`#${scan.scanId}`}\n renderAdditionalHeader={() => {\n if (\n scan.prefixedMergedObjectiveId &&\n prefixedMergedObjectiveId !== scan.prefixedMergedObjectiveId\n )\n return (\n <AntDesign name=\"exclamationcircleo\" size={16} color=\"#EA580C\" />\n );\n else return <></>;\n }}\n Body={\n <View style={{ marginVertical: 10 }}>\n <Text style={styles.cardField}>\n <Text style={styles.cardFieldSubText}>Order ID:</Text>{' '}\n {scan.orderId}\n </Text>\n <Text style={styles.cardField}>\n <Text style={styles.cardFieldSubText}>Client Name:</Text>\n {scan.clientName}\n </Text>\n <Text style={styles.cardField}>\n <Text style={styles.cardFieldSubText}>Event:</Text>{' '}\n {scan.eventCode}\n </Text>\n <Text>\n <Text style={styles.cardFieldSubText}>Reason:</Text>\n {scan.reasonCode || ''}\n </Text>\n </View>\n }\n editConfig={{\n onEdit: (props: any) => {\n if (selectedItems && Object.keys(selectedItems).length > 1) {\n setSnackBar({\n show: true,\n message: 'Cannot Edit Multiple Items',\n type: SnackBarType.FAILURE,\n });\n } else {\n setSelectedItems({});\n setShowEditModal(true);\n setSelectedEditItem({ ...props, index });\n }\n },\n props: scan,\n }}\n selectConfig={{\n isSelected: selectedItems[scan.scanId] ? true : false,\n onSelect: (props: DisplaySummary) => {\n setSelectedItems((selectedItems) => {\n // Unselect\n if (selectedItems[props.scanId]) {\n const _selectedItems = { ...selectedItems };\n delete _selectedItems[props.scanId];\n return _selectedItems;\n } else {\n return {\n ...selectedItems,\n [props.scanId]: { ...props, index },\n };\n }\n });\n },\n props: scan,\n }}\n />\n );\n };\n\n const renderBody = (currentTab: string) => {\n return (\n <View style={{ flex: 1 }}>\n <View style={styles.searchBar}>\n <SearchBar\n searchText={searchText}\n setSearchText={setSearchText}\n placeholder=\"Shipment ID\"\n onChangeSearch={(searchText) => debouncedChangeSearch(searchText)}\n onClear={() => {\n setSearchQuery(() => {\n setIsSearchCleared(true);\n setSearchParams(INITIAL_SEARCH_PARAMS);\n return '';\n });\n }}\n />\n </View>\n {!isLoading && scanList && scanList.length > 0 ? (\n <RecyclerListView\n layoutProvider={_layoutProvider}\n dataProvider={dataProvider}\n rowRenderer={(type: any, scanData: any, index: number) =>\n rowRenderer(type, scanData, index)\n }\n onEndReached={async () => await onEndReached()}\n onEndReachedThreshold={0.5}\n renderFooter={() => {\n return (\n <>\n {isLoadingMore ? (\n <Text\n style={{\n padding: 10,\n fontWeight: 'bold',\n textAlign: 'center',\n }}\n >\n Loading\n </Text>\n ) : null}\n </>\n );\n }}\n />\n ) : null}\n {!isLoading && scanList.length === 0 ? (\n <View\n style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}\n >\n <FileIcon />\n <Text\n style={{\n color: '#3D445C',\n fontFamily: Fonts.IBMPlexSans_500Medium,\n fontStyle: 'normal',\n fontWeight: '500',\n fontSize: 16,\n marginTop: 24,\n }}\n >{`You do not have any ${activeTab.toLowerCase()} shipments`}</Text>\n {activeTab === SummaryPageTabs.PENDING ? (\n <Text\n style={{\n color: '#525B7A',\n fontFamily: Fonts.IBMPlexSans_400Regular,\n fontStyle: 'normal',\n fontWeight: '400',\n fontSize: 14,\n }}\n >\n You can proceed to the next step now\n </Text>\n ) : null}\n </View>\n ) : null}\n </View>\n );\n };\n\n const renderTabItem = (tab: Tab) => {\n return (\n <View style={styles.tabItem}>\n <View style={styles.tabText}>\n <Text\n style={activeTab === tab.title ? { color: '#5B80F7' } : {}}\n >{`${tab.title}`}</Text>\n </View>\n <View\n style={\n activeTab !== tab.title\n ? styles.tabCount\n : [styles.tabCount, { backgroundColor: '#ECF0FF' }]\n }\n >\n <Text>{`${tab.count}`}</Text>\n </View>\n </View>\n );\n };\n // END: Summary List Handling\n\n return (\n <>\n {renderERCModal()}\n {renderUnscannedShipmentModal()}\n {renderEditERCModal()}\n {renderRemoveShipmentModal()}\n <View style={{ flex: 1 }}>\n <TabsComponent\n tabs={tabs}\n initialTab={tabs[1]}\n onTabChange={(currentTab: string) => {\n if (activeTab === currentTab) {\n return;\n }\n // @ts-ignore\n setActiveTab((activeTab) => {\n // RESET Search TEXT\n setSearchText('');\n setSearchQuery('');\n\n // RESET SEARCH PARAMS\n setSearchParams(INITIAL_SEARCH_PARAMS);\n\n // RESET SCAN LIST\n setScanList((scanList: any) => {\n const updatedScanList: any = [];\n setDataProvider((dataProvider) => {\n if (dataProvider)\n return dataProvider.cloneWithRows(updatedScanList);\n else return dataProvider;\n });\n return updatedScanList;\n });\n\n // RESET SELECTED ITEMS\n setSelectedItems({});\n\n return currentTab;\n });\n }}\n renderTabItem={renderTabItem}\n renderBody={renderBody}\n />\n </View>\n <View style={{ justifyContent: 'flex-end' }}>\n <SnackBarCustom\n type={snackBar.type}\n message={`${snackBar.message}`}\n visible={snackBar.show}\n onDismiss={() => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n }}\n customBottom={20}\n />\n </View>\n {!selectedItems || Object.keys(selectedItems).length === 0 ? (\n <View style={styles.bottomView}>{renderActionButtons()}</View>\n ) : null}\n {selectedItems &&\n Object.keys(selectedItems).length &&\n activeTab !== SummaryPageTabs.PENDING ? (\n <View style={styles.removeBtnContainer}>\n <View\n style={{\n flexDirection: 'row',\n alignItems: 'center',\n marginLeft: 10,\n }}\n >\n <TouchableOpacity\n onPress={() => setSelectedItems({})}\n style={styles.removeSelection}\n >\n <Entypo name=\"cross\" size={24} color=\"#3D445C\" />\n </TouchableOpacity>\n <Text>{`${Object.keys(selectedItems).length} Selected`}</Text>\n </View>\n <Button\n labelStyle={CommonStyles.mainExitButtonLabel}\n style={[CommonStyles.mainExitButton, styles.removeBtn]}\n onPress={() => {\n if (canRemove(selectedItems)) setShowRemoveShipmentModal(true);\n else {\n setSnackBar({\n show: true,\n message: 'Cannot Remove unscanned shipment(s)',\n type: SnackBarType.FAILURE,\n });\n }\n }}\n >\n Remove\n </Button>\n </View>\n ) : null}\n </>\n );\n};\n\nexport default SummaryPage;\n\nconst styles = StyleSheet.create({\n bottomView: {\n paddingBottom: 16,\n justifyContent: 'flex-end',\n marginVertical: 10,\n marginHorizontal: 16,\n },\n modalContent: {\n marginStart: 60,\n marginEnd: 60,\n flex: 1,\n marginBottom: 60,\n },\n modalView: {\n backgroundColor: 'white',\n padding: 15,\n borderRadius: 9,\n },\n titleText: {\n justifyContent: 'center',\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n fontStyle: 'normal',\n fontSize: 14,\n lineHeight: 20,\n textAlign: 'center',\n color: '#111111',\n marginBottom: 10,\n },\n subText: {\n justifyContent: 'center',\n fontFamily: 'IBMPlexSans_400Regular',\n fontStyle: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n lineHeight: 20,\n textAlign: 'center',\n color: '#000000',\n marginBottom: 10,\n },\n bottomButtons: {\n justifyContent: 'space-between',\n flexDirection: 'row',\n marginTop: 8,\n },\n unscannedShipmentModalSubText: {\n justifyContent: 'center',\n fontFamily: 'IBMPlexSans_400Regular',\n fontStyle: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n lineHeight: 20,\n color: '#000000',\n marginBottom: 10,\n },\n tabItem: {\n // width: 200,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 5,\n marginHorizontal: 10,\n },\n activeTab: {\n borderBottomWidth: 2,\n borderBottomColor: 'blue',\n },\n tabText: {\n fontSize: 16,\n fontWeight: '400',\n color: '#3D445C',\n marginRight: 12,\n },\n tabCount: {\n borderRadius: 50,\n backgroundColor: '#E0E3EB',\n paddingHorizontal: 15,\n textAlign: 'center',\n },\n removeBtnContainer: {\n borderTopWidth: 1,\n borderTopColor: '#E0E3EB',\n padding: 10,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n removeSelection: {\n marginRight: 20,\n },\n removeBtn: {\n marginRight: 10,\n },\n searchBar: {\n marginTop: 16,\n },\n cardField: {\n marginBottom: 8,\n },\n cardFieldSubText: {\n color: '#A3AAC2',\n },\n});\n\nconst modalStyles = StyleSheet.create({\n primaryButtonStyles: {\n marginTop: 16,\n height: 40,\n borderRadius: 6,\n justifyContent: 'center',\n alignItems: 'center',\n },\n secondaryButtonStyles: {\n marginVertical: 16,\n height: 40,\n borderRadius: 6,\n justifyContent: 'center',\n alignItems: 'center',\n },\n subTitleStyles: { textAlign: 'center' },\n buttonStyles: {\n justifyContent: 'space-between',\n flexDirection: 'row-reverse',\n marginTop: 20,\n zIndex: -1,\n },\n editERCButton: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n height: 40,\n borderRadius: 6,\n },\n});\n\nfunction canRemove(scans: { [scanId: string]: DisplaySummary }): boolean {\n for (const scanId in scans) {\n const item = scans[scanId];\n if (item.eventCode && item.eventCode !== '--') continue;\n else return false;\n }\n return true;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["View","Text","Dimensions","Platform","React","useState","useEffect","Button","Entypo","CommonStyles","Fonts","PROCEED_STATUS","SummaryPageTabs","StyleSheet","TouchableOpacity","ERDropDown","getErcDropDownItems","DataProvider","LayoutProvider","RecyclerListView","SnackBarCustom","SnackBarType","TabsComponent","Card","addScans","filterERCItems","getScanData","getTabCount","removeScan","AntDesign","ModalWidget","SearchBar","debounce","RouteParams","IDispatchExecutor","FileIcon","dimensionsForScreen","get","createNewDataProvider","r1","r2","scanId","INITIAL_TABS","title","ALL","count","PENDING","DELIVERED","UNDELIVERED","INITIAL_SEARCH_PARAMS","hasNextPage","offset","limit","SummaryPage","props","snackBar","setSnackBar","show","type","SUCCESS","message","tabs","setTabs","showUnscannedShipmentModal","setShowUnscannedShipmentModal","showERCModal","setShowERCModal","showRemoveShipmentModal","setShowRemoveShipmentModal","selectedEventCode","setSelectedEventCode","selectedReason","setSelectedReason","reasonItems","setReasonItems","editedReasonItems","setEditedReasonItems","scannedCount","totalCount","shipmentCount","ercSelector","eventCodeItems","setEditedEventCode","code","response","length","undefined","renderActionButtons","createElement","style","borderTopWidth","borderTopColor","padding","labelStyle","nextButtonLabel","nextButton","uppercase","onPress","handleSubmitET","DELIVER_NOW","searchParams","setSearchParams","dataProvider","setDataProvider","_layoutProvider","index","dim","width","height","activeTab","setActiveTab","scanList","setScanList","isLoading","setIsLoading","isLoadingMore","setIsLoadingMore","showEditModal","setShowEditModal","selectedEditItem","setSelectedEditItem","editedEventCode","editedReason","setEditedReason","selectedItems","setSelectedItems","searchText","setSearchText","searchQuery","setSearchQuery","isSearchCleared","setIsSearchCleared","isRemoved","setIsRemoved","onChangeSearch","query","oldQuery","debouncedChangeSearch","updateScanList","arguments","data","result","scanProps","Boolean","updatedScanList","cloneWithRows","getAllData","concat","error","showProgress","onEndReached","renderEditERCModal","showModal","contentContainerStyle","marginStart","marginEnd","label","renderChildren","marginHorizontal","marginBottom","items","onItemChange","eventItem","marginVertical","disabled","reasonItem","buttonStyle","modalStyles","buttonStyles","primaryButton","styles","editERCButton","scan","status","scanResult","mergedScanETOutput","updateShipmentCount","orderId","clientName","eventCode","text","reasonCode","prefixedMergedObjectiveId","lastStatus","filter","scanItem","successEvent","success","FAILURE","secondaryButton","renderUnscannedShipmentModal","subTitle","textAlign","primaryButtonStyles","DELIVER_LATER","secondaryButtonStyles","renderERCModal","zIndex","ec","rc","renderRemoveShipmentModal","Object","keys","subTitleStyles","route","params","ROOT_META_DATA","taskName","itemsRemoved","forEach","item","ExecutionStatus","COMPLETED_FAILURE","push","indexes","map","value","includes","rowRenderer","_","key","renderAdditionalHeader","name","size","color","Fragment","Body","cardField","cardFieldSubText","editConfig","onEdit","selectConfig","isSelected","onSelect","_selectedItems","renderBody","currentTab","flex","searchBar","placeholder","onClear","layoutProvider","scanData","onEndReachedThreshold","renderFooter","fontWeight","justifyContent","alignItems","fontFamily","OS","IBMPlexSans_500Medium","fontStyle","fontSize","marginTop","toLowerCase","IBMPlexSans_400Regular","renderTabItem","tab","tabItem","tabText","tabCount","backgroundColor","initialTab","onTabChange","visible","onDismiss","customBottom","bottomView","removeBtnContainer","flexDirection","marginLeft","removeSelection","mainExitButtonLabel","mainExitButton","removeBtn","canRemove","create","paddingBottom","modalContent","modalView","borderRadius","titleText","IBMPlexSans_600SemiBold","lineHeight","subText","letterSpacing","bottomButtons","unscannedShipmentModalSubText","paddingVertical","borderBottomWidth","borderBottomColor","marginRight","paddingHorizontal","scans"],"sources":["SummaryPage.tsx"],"sourcesContent":["import { View, Text, Dimensions, Platform } from 'react-native';\nimport React, { useState, useEffect } from 'react';\nimport { Button } from 'react-native-paper';\nimport { Entypo } from '@expo/vector-icons';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../../styles/executionTasks/CommonStyles';\nimport {\n DisplaySummary,\n ListItem,\n PROCEED_STATUS,\n SummaryPageTabs,\n} from '../interfaces';\nimport { StyleSheet } from 'react-native';\nimport { TouchableOpacity } from 'react-native';\nimport ERDropDown, { ercItem } from './ERDropDown';\nimport { getErcDropDownItems } from './DropDownUtils';\nimport { ERCode, ScannerInput, ScannerOutput } from '../ScanSchema';\nimport SdkColors, { ColorTheme } from '../../../../styles/SdkColors';\nimport {\n BaseDataProvider,\n DataProvider,\n LayoutProvider,\n RecyclerListView,\n} from 'recyclerlistview';\nimport SnackBarCustom, { SnackBarType } from '../../../widgets/SnackBarCustom';\nimport TabsComponent, { Tab } from '../../../widgets/TabsComponent';\nimport Card from '../../../widgets/Card';\nimport {\n addScans,\n filterERCItems,\n getScanData,\n getTabCount,\n removeScan,\n} from '../utils';\nimport { AntDesign } from '@expo/vector-icons';\nimport ModalWidget from '../../../widgets/ModalWidget';\nimport SearchBar from '../../../widgets/SearchBar';\nimport { debounce } from 'lodash';\nimport { RouteParams } from '../../../../ui/uiConfig/RouteParams';\nimport { IDispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport FileIcon from '../../../../icons/file';\n\nconst dimensionsForScreen = Dimensions.get('screen');\n\nconst createNewDataProvider = () => {\n return new DataProvider((r1, r2) => r1.scanId !== r2.scanId);\n};\n\ninterface SummaryPageProps {\n shipmentCount: { scannedCount: number; totalCount: number };\n updateShipmentCount: (\n scannedCountChanged: number,\n totalCountChanged: number,\n type?: 'SCAN' | 'REMOVE'\n ) => any;\n handleSubmitET: (\n status: PROCEED_STATUS,\n count: number,\n erc?: {\n ec: string;\n rc: string;\n }\n ) => void;\n ercSelector: ERCode[];\n eventCodeItems: ercItem[];\n scanProps: ScannerInput;\n mergedScanETOutput: ScannerOutput;\n}\n\nconst INITIAL_TABS = [\n { title: SummaryPageTabs.ALL, count: 0 },\n { title: SummaryPageTabs.PENDING, count: 0 },\n { title: SummaryPageTabs.DELIVERED, count: 0 },\n { title: SummaryPageTabs.UNDELIVERED, count: 0 },\n];\n\nconst INITIAL_SEARCH_PARAMS = {\n hasNextPage: true,\n offset: 0,\n limit: 10,\n};\n\nconst SummaryPage = (props: SummaryPageProps) => {\n const [snackBar, setSnackBar] = useState({\n show: false,\n type: SnackBarType.SUCCESS,\n message: '',\n });\n const [tabs, setTabs] = useState(INITIAL_TABS);\n\n // START: Modal Handling for Summary Page\n\n const [showUnscannedShipmentModal, setShowUnscannedShipmentModal] =\n useState(false);\n const [showERCModal, setShowERCModal] = useState(false);\n const [showRemoveShipmentModal, setShowRemoveShipmentModal] = useState(false);\n\n const [selectedEventCode, setSelectedEventCode] = useState<ercItem>();\n const [selectedReason, setSelectedReason] = useState<ercItem>(); // reason code from ercSelector\n const [reasonItems, setReasonItems] = useState<ercItem[]>(); // list of reason codes\n const [editedReasonItems, setEditedReasonItems] = useState<ercItem[]>(); // list of reason codes\n let { scannedCount, totalCount } = props.shipmentCount;\n useEffect(() => {\n props.ercSelector &&\n (async () => {\n setSelectedEventCode(props.eventCodeItems[0]);\n setEditedEventCode(props.eventCodeItems[0]);\n })();\n }, [props.eventCodeItems]);\n useEffect(() => {\n selectedEventCode?.code &&\n (async () => {\n let response = await getErcDropDownItems(\n 'REASON',\n props.ercSelector || [],\n selectedEventCode?.code\n );\n if (response.length) {\n setReasonItems(response);\n setSelectedReason(response[0]);\n } else {\n setReasonItems([]);\n setSelectedReason(undefined);\n }\n })();\n }, [selectedEventCode?.code]);\n\n const renderActionButtons = () => {\n return (\n <View\n style={{ borderTopWidth: 1, borderTopColor: '#E0E3EB', padding: 10 }}\n >\n <Button\n labelStyle={CommonStyles.nextButtonLabel}\n style={CommonStyles.nextButton}\n uppercase={false}\n onPress={() => {\n if (scannedCount < totalCount) {\n setShowUnscannedShipmentModal(true);\n } else {\n props.handleSubmitET(PROCEED_STATUS.DELIVER_NOW, tabs[1].count);\n }\n }}\n >\n {`Proceed`}\n </Button>\n </View>\n );\n };\n // END: Modal Handling for Summary Page\n\n // START: Summary List Handling\n const [searchParams, setSearchParams] = useState(INITIAL_SEARCH_PARAMS);\n const [dataProvider, setDataProvider] = React.useState<BaseDataProvider>(\n createNewDataProvider()\n );\n const _layoutProvider = new LayoutProvider(\n (index: any) => 0,\n (type: any, dim: any) => {\n dim.width = dimensionsForScreen.width / 1;\n dim.height = 180; //dimensionsForScreen.height / 1;\n }\n );\n const [activeTab, setActiveTab] = useState(SummaryPageTabs.PENDING);\n const [scanList, setScanList] = useState<DisplaySummary[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [isLoadingMore, setIsLoadingMore] = useState(false);\n const [showEditModal, setShowEditModal] = useState(false);\n const [selectedEditItem, setSelectedEditItem] = useState<ListItem>();\n const [editedEventCode, setEditedEventCode] = useState<ercItem>();\n const [editedReason, setEditedReason] = useState<ercItem>(); // reason code from ercSelector\n const [selectedItems, setSelectedItems] = useState<{\n [id: string]: ListItem;\n }>({});\n const [searchText, setSearchText] = useState('');\n const [searchQuery, setSearchQuery] = React.useState('');\n const [isSearchCleared, setIsSearchCleared] = React.useState<boolean>(false);\n const [isRemoved, setIsRemoved] = useState(false);\n const onChangeSearch = (query: string) => {\n setSearchQuery((oldQuery) => {\n if (oldQuery.length > 1 && query.length === 0) {\n setIsSearchCleared(true);\n }\n // RESET Search Params\n setSearchParams(INITIAL_SEARCH_PARAMS);\n return query;\n });\n };\n const debouncedChangeSearch = debounce(onChangeSearch, 500);\n\n const updateScanList = async (query: string = '') => {\n try {\n if (searchParams.hasNextPage) {\n const { data: result, totalCount } = await getScanData(\n activeTab,\n props.scanProps,\n searchParams.limit,\n searchParams.offset,\n query\n );\n\n if (query) {\n setSearchParams((searchParams) => ({\n hasNextPage: Boolean(\n totalCount - (searchParams.offset + searchParams.limit) > 0\n ),\n offset: searchParams.offset + result.length,\n limit: searchParams.limit,\n }));\n setScanList((scanList) => {\n const updatedScanList = result;\n setDataProvider((dataProvider) => {\n return createNewDataProvider().cloneWithRows(updatedScanList);\n });\n return updatedScanList;\n });\n } else {\n setSearchParams((searchParams) => ({\n hasNextPage: Boolean(\n totalCount - (searchParams.offset + searchParams.limit) > 0\n ),\n offset: searchParams.offset + result.length,\n limit: searchParams.limit,\n }));\n setScanList((scanList: DisplaySummary[]) => {\n let updatedScanList: DisplaySummary[] = [];\n if (isSearchCleared) updatedScanList = [...result];\n else updatedScanList = dataProvider.getAllData().concat(result);\n\n setIsSearchCleared(false);\n setDataProvider((dataProvider) => {\n if (dataProvider)\n return dataProvider.cloneWithRows(updatedScanList);\n else return dataProvider;\n });\n return updatedScanList;\n });\n }\n }\n } catch (error) {\n } finally {\n props.scanProps.showProgress(false);\n }\n };\n\n useEffect(() => {\n (async () => {\n const count = await getTabCount(props.scanProps);\n setTabs([\n { title: SummaryPageTabs.ALL, count: count[SummaryPageTabs.ALL] },\n {\n title: SummaryPageTabs.PENDING,\n count: count[SummaryPageTabs.PENDING],\n },\n {\n title: SummaryPageTabs.DELIVERED,\n count: count[SummaryPageTabs.DELIVERED],\n },\n {\n title: SummaryPageTabs.UNDELIVERED,\n count: count[SummaryPageTabs.UNDELIVERED],\n },\n ]);\n })();\n }, []);\n\n useEffect(() => {\n (async () => {\n props.scanProps.showProgress(true);\n\n setIsLoading(true);\n await updateScanList(searchQuery);\n setIsLoading(false);\n\n props.scanProps.showProgress(false);\n\n if (isRemoved) setIsRemoved(false);\n })();\n }, [isRemoved, activeTab, searchQuery]);\n\n useEffect(() => {\n editedEventCode?.code &&\n (async () => {\n let response = await getErcDropDownItems(\n 'REASON',\n props.ercSelector || [],\n editedEventCode?.code\n );\n if (response.length) {\n // setReasonItems(response);\n setEditedReasonItems(response);\n setEditedReason(response[0]);\n } else {\n // setReasonItems([]);\n setEditedReasonItems([]);\n setEditedReason(undefined);\n }\n })();\n }, [editedEventCode?.code]);\n\n // Triggered when the user reaches the end of the list\n const onEndReached = async () => {\n if (searchParams.hasNextPage === false || searchQuery.length > 0) return;\n\n // Fetch more data when the user reaches the end of the list\n setIsLoadingMore(true);\n await updateScanList();\n setIsLoadingMore(false);\n };\n\n const renderEditERCModal = () => {\n return (\n <ModalWidget\n showModal={showEditModal}\n contentContainerStyle={{ marginStart: 40, marginEnd: 40 }}\n title={{ label: 'Update' }}\n renderChildren={() => {\n return (\n <View style={{ marginHorizontal: 16, marginBottom: 20 }}>\n <View style={{ marginBottom: 16 }}>\n <ERDropDown\n title={'Event'}\n style={{ height: 50 }}\n selectedReason={editedEventCode}\n items={props.eventCodeItems}\n onItemChange={(eventItem: ercItem | null) => {\n if (eventItem !== null) setEditedEventCode(eventItem);\n }}\n />\n </View>\n <View style={{ marginVertical: 20 }}>\n <ERDropDown\n title={'Reason'}\n style={{ height: 50 }}\n selectedReason={editedReason}\n disabled={\n !editedReasonItems || !editedReasonItems?.length\n ? true\n : false\n }\n items={editedReasonItems ?? []}\n onItemChange={(reasonItem: ercItem | null) => {\n if (reasonItem !== null) setEditedReason(reasonItem);\n }}\n />\n </View>\n </View>\n );\n }}\n buttonStyle={modalStyles.buttonStyles}\n primaryButton={{\n label: 'Update',\n styles: { ...modalStyles.editERCButton, marginStart: 5 },\n onPress: async () => {\n const scan = selectedEditItem;\n\n props.scanProps.showProgress(true);\n if (scan && editedEventCode && editedEventCode.code) {\n // UPDATE OUTPUT\n\n try {\n const {\n status,\n message,\n type,\n data: scanResult,\n } = await addScans(\n scan.scanId,\n props.scanProps,\n props.mergedScanETOutput,\n props.eventCodeItems,\n editedEventCode,\n editedReason\n );\n if (status === true) {\n // UPDATE COUNT OF TABS\n const count = await getTabCount(props.scanProps);\n setTabs([\n {\n title: SummaryPageTabs.ALL,\n count: count[SummaryPageTabs.ALL],\n },\n {\n title: SummaryPageTabs.PENDING,\n count: count[SummaryPageTabs.PENDING],\n },\n {\n title: SummaryPageTabs.DELIVERED,\n count: count[SummaryPageTabs.DELIVERED],\n },\n {\n title: SummaryPageTabs.UNDELIVERED,\n count: count[SummaryPageTabs.UNDELIVERED],\n },\n ]);\n\n // UPDATE THE Count\n props.updateShipmentCount(\n scanResult.shipmentCount.scannedCount,\n scanResult.shipmentCount.totalCount\n );\n\n if (activeTab === SummaryPageTabs.ALL) {\n setScanList((scanList) => {\n const updatedScanList = [...scanList];\n updatedScanList[scan.index] = {\n scanId: scan.scanId,\n orderId: scan.orderId || '--',\n clientName: scan.clientName || '--',\n eventCode: editedEventCode.text,\n reasonCode: editedReason?.text || '--',\n prefixedMergedObjectiveId:\n scan.prefixedMergedObjectiveId,\n lastStatus: scan.lastStatus,\n };\n setDataProvider((dataProvider) => {\n if (dataProvider)\n return dataProvider.cloneWithRows(updatedScanList);\n else return dataProvider;\n });\n\n return updatedScanList;\n });\n } else if (activeTab === SummaryPageTabs.PENDING) {\n setSearchParams({\n ...searchParams,\n offset: searchParams.offset - 1,\n });\n\n setScanList((scanList) => {\n let updatedScanList = dataProvider.getAllData();\n updatedScanList = updatedScanList.filter(\n (scanItem) => scanItem.scanId !== scan.scanId\n );\n // updatedScanList.splice(scan.index, 1);\n\n setDataProvider((dataProvider) => {\n if (dataProvider)\n return dataProvider.cloneWithRows(updatedScanList);\n else return dataProvider;\n });\n\n return updatedScanList;\n });\n } else if (activeTab === SummaryPageTabs.DELIVERED) {\n setScanList((scanList) => {\n let updatedScanList = dataProvider.getAllData();\n const successEvent = Boolean(editedEventCode.success);\n if (successEvent) {\n updatedScanList[scan.index] = {\n scanId: scan.scanId,\n orderId: scan.orderId || '--',\n clientName: scan.clientName || '--',\n eventCode: editedEventCode.text,\n reasonCode: editedReason?.text || '--',\n prefixedMergedObjectiveId:\n scan.prefixedMergedObjectiveId,\n lastStatus: scan.lastStatus,\n };\n } else {\n setSearchParams({\n ...searchParams,\n offset: searchParams.offset - 1,\n });\n updatedScanList = updatedScanList.filter(\n (scanItem) => scanItem.scanId !== scan.scanId\n );\n }\n setDataProvider((dataProvider) => {\n if (dataProvider)\n return dataProvider.cloneWithRows(updatedScanList);\n else return dataProvider;\n });\n\n return updatedScanList;\n });\n } else if (activeTab === SummaryPageTabs.UNDELIVERED) {\n setScanList((scanList) => {\n let updatedScanList = dataProvider.getAllData();\n const successEvent = Boolean(editedEventCode.success);\n if (!successEvent) {\n updatedScanList[scan.index] = {\n scanId: scan.scanId,\n orderId: scan.orderId || '--',\n clientName: scan.clientName || '--',\n eventCode: editedEventCode.text,\n reasonCode: editedReason?.text || '--',\n prefixedMergedObjectiveId:\n scan.prefixedMergedObjectiveId,\n lastStatus: scan.lastStatus,\n };\n } else {\n setSearchParams({\n ...searchParams,\n offset: searchParams.offset - 1,\n });\n\n updatedScanList = updatedScanList.filter(\n (scanItem) => scanItem.scanId !== scan.scanId\n );\n }\n setDataProvider((dataProvider) => {\n if (dataProvider)\n return dataProvider.cloneWithRows(updatedScanList);\n else return dataProvider;\n });\n\n return updatedScanList;\n });\n }\n\n setSnackBar({\n show: true,\n message:\n scan.eventCode !== '--'\n ? `#${scan.scanId}\\nShipment updated successfully!`\n : message,\n type,\n });\n } else {\n setSnackBar({\n show: true,\n message,\n type,\n });\n }\n } catch (error) {\n setSnackBar({\n show: true,\n message: 'Some error occurred',\n type: SnackBarType.FAILURE,\n });\n }\n } else {\n setSnackBar({\n show: true,\n message: 'Some error occurred',\n type: SnackBarType.FAILURE,\n });\n }\n\n // RESET KEYS\n props.scanProps.showProgress(false);\n setSelectedEditItem(undefined);\n setShowEditModal(false);\n return;\n },\n }}\n secondaryButton={{\n label: 'Cancel',\n styles: { ...modalStyles.editERCButton, marginEnd: 5 },\n onPress: () => {\n setShowEditModal(false);\n setSelectedEditItem(undefined);\n },\n }}\n />\n );\n };\n\n const renderUnscannedShipmentModal = () => {\n return (\n <ModalWidget\n showModal={showUnscannedShipmentModal}\n title={{ label: 'Pending Shipments' }}\n subTitle={{\n label: `You still have ${tabs[1].count} unscanned shipment!`,\n styles: { textAlign: 'center' },\n }}\n primaryButton={{\n label: 'Continue without Scanning',\n styles: modalStyles.primaryButtonStyles,\n onPress: () => {\n props.handleSubmitET(PROCEED_STATUS.DELIVER_LATER, tabs[1].count);\n },\n }}\n secondaryButton={{\n label: `Keep Scanning`,\n styles: modalStyles.secondaryButtonStyles,\n onPress: () => setShowUnscannedShipmentModal(false),\n }}\n // OLD CODE: When you wanted to update Undelivered shipments with a particular ERC got removed after: https://dev.azure.com/DelhiveryPlatform/Solutions/_workitems/edit/15669\n // secondaryButton={{\n // label: `Mark as Undelivered`,\n // styles: modalStyles.secondaryButtonStyles,\n // onPress: () => {\n // setShowUnscannedShipmentModal(false);\n // setShowERCModal(true);\n // },\n // }}\n // renderAdditionalButtons={() => {\n // return (\n // <TouchableOpacity\n // style={{\n // marginBottom: 16,\n // height: 40,\n // borderRadius: 6,\n // justifyContent: 'center',\n // alignItems: 'center',\n // }}\n // onPress={() => setShowUnscannedShipmentModal(false)}\n // >\n // <Text\n // style={[\n // CommonStyles.cancelButtonLabel,\n // { color: SdkColors[ColorTheme.LIGHT].primaryButton },\n // ]}\n // >\n // Continue Scanning\n // </Text>\n // </TouchableOpacity>\n // );\n // }}\n />\n );\n };\n\n const renderERCModal = () => {\n return (\n <ModalWidget\n showModal={showERCModal}\n contentContainerStyle={{ marginStart: 40, marginEnd: 40 }}\n title={{ label: 'Mark as Undelivered' }}\n subTitle={{\n label: `The shipments shall be updated with the following:`,\n }}\n renderChildren={() => {\n return (\n <View style={{ marginHorizontal: 16, marginBottom: 20 }}>\n <View style={{ marginBottom: 16 }}>\n <ERDropDown\n title={'Event'}\n style={{ height: 50 }}\n selectedReason={selectedEventCode}\n items={filterERCItems(props.eventCodeItems, 'FAILURE')}\n onItemChange={(eventItem: ercItem | null) => {\n if (eventItem !== null) setSelectedEventCode(eventItem);\n }}\n />\n </View>\n <View style={{ marginVertical: 20 }}>\n <ERDropDown\n title={'Reason'}\n style={{ height: 50 }}\n selectedReason={selectedReason}\n disabled={!reasonItems || !reasonItems?.length ? true : false}\n items={reasonItems ?? []}\n onItemChange={(reasonItem: ercItem | null) => {\n if (reasonItem !== null) setSelectedReason(reasonItem);\n }}\n />\n </View>\n </View>\n );\n }}\n buttonStyle={{ zIndex: -1 }}\n primaryButton={{\n label: 'Proceed',\n styles: modalStyles.primaryButtonStyles,\n onPress: () => {\n props.handleSubmitET(PROCEED_STATUS.DELIVER_NOW, tabs[1].count, {\n ec: selectedEventCode?.code || '',\n rc: selectedReason?.code || '',\n });\n setShowERCModal(false);\n },\n }}\n secondaryButton={{\n label: `Cancel`,\n styles: modalStyles.secondaryButtonStyles,\n onPress: () => {\n setShowERCModal(false);\n },\n }}\n />\n );\n };\n\n const renderRemoveShipmentModal = () => {\n return (\n <ModalWidget\n showModal={showRemoveShipmentModal}\n contentContainerStyle={{ marginStart: 40, marginEnd: 40 }}\n title={{ label: 'Remove Shipment' }}\n subTitle={{\n label: `${\n Object.keys(selectedItems).length > 1\n ? `Are you sure you want to remove the ${\n Object.keys(selectedItems).length\n } shipments?`\n : 'Are you sure you want to remove this shipment?'\n }`,\n styles: modalStyles.subTitleStyles,\n }}\n primaryButton={{\n label: 'Proceed to Remove',\n styles: modalStyles.primaryButtonStyles,\n onPress: async () => {\n props.scanProps.showProgress(true);\n\n const prefixedMergedObjectiveId =\n props.scanProps.route.params[RouteParams.ROOT_META_DATA]\n .prefixedMergedObjectiveId;\n\n try {\n // REMOVE SCAN\n await removeScan(\n props.scanProps.taskName || '',\n Object.keys(selectedItems),\n props.scanProps.route,\n props.mergedScanETOutput\n );\n\n // UPDATE THE Count\n props.updateShipmentCount(\n -Object.keys(selectedItems).length,\n 0,\n 'REMOVE'\n );\n\n // UPDATE COUNT OF TABS\n const count = await getTabCount(props.scanProps);\n\n setSearchParams({\n ...searchParams,\n offset: searchParams.offset - Object.keys(selectedItems).length,\n });\n\n // RESET SCAN LIST\n setScanList((scanList: any) => {\n let updatedScanList: any;\n const itemsRemoved: string[] = [];\n\n if (activeTab === SummaryPageTabs.ALL) {\n updatedScanList = [...scanList];\n\n Object.keys(selectedItems).forEach((scanId) => {\n const item = selectedItems[scanId]; // returns Display Summary with Index\n\n if (\n item.prefixedMergedObjectiveId !==\n prefixedMergedObjectiveId ||\n item.lastStatus ===\n IDispatchExecutor.ExecutionStatus.COMPLETED_FAILURE\n ) {\n itemsRemoved.push(item.scanId);\n } else {\n updatedScanList[item.index] = {\n scanId: item.scanId,\n orderId: item.orderId || '--',\n clientName: item.clientName || '--',\n eventCode: '--',\n reasonCode: '--',\n };\n }\n });\n } else if (\n activeTab === SummaryPageTabs.DELIVERED ||\n activeTab === SummaryPageTabs.UNDELIVERED\n ) {\n const indexes = Object.keys(selectedItems).map((scanId) => {\n const item: any = selectedItems[scanId];\n return item.index;\n });\n updatedScanList = scanList.filter(\n (value: any, index: number) => !indexes.includes(index)\n );\n } else {\n updatedScanList = scanList;\n }\n setDataProvider((dataProvider: any) => {\n return dataProvider.cloneWithRows(updatedScanList);\n });\n\n setTabs([\n {\n title: SummaryPageTabs.ALL,\n count: count[SummaryPageTabs.ALL],\n },\n {\n title: SummaryPageTabs.PENDING,\n count: count[SummaryPageTabs.PENDING],\n },\n {\n title: SummaryPageTabs.DELIVERED,\n count: count[SummaryPageTabs.DELIVERED],\n },\n {\n title: SummaryPageTabs.UNDELIVERED,\n count: count[SummaryPageTabs.UNDELIVERED],\n },\n ]);\n\n // RESET MODAL\n setShowRemoveShipmentModal(false);\n\n // RESET SELECTED ITEMS\n setSelectedItems({});\n\n updatedScanList = updatedScanList.filter(\n (scan: DisplaySummary) => !itemsRemoved.includes(scan.scanId)\n );\n\n setDataProvider((dataProvider) => {\n if (dataProvider)\n return dataProvider.cloneWithRows(updatedScanList);\n else return dataProvider;\n });\n\n return updatedScanList;\n });\n\n // RESET MODAL\n setShowRemoveShipmentModal(false);\n\n // RESET SELECTED ITEMS\n setSelectedItems({});\n\n // RESET Loader\n props.scanProps.showProgress(false);\n\n // Show Success Message\n setSnackBar({\n show: true,\n message: 'Selected items removed successfully!',\n type: SnackBarType.SUCCESS,\n });\n } catch (error) {\n // RESET MODAL\n setShowRemoveShipmentModal(false);\n\n setSnackBar({\n show: true,\n message: 'Some error occurred',\n type: SnackBarType.FAILURE,\n });\n } finally {\n props.scanProps.showProgress(false);\n }\n },\n }}\n secondaryButton={{\n label: `Cancel`,\n styles: modalStyles.secondaryButtonStyles,\n onPress: () => {\n setShowRemoveShipmentModal(false);\n },\n }}\n />\n );\n };\n\n const rowRenderer = (_: any, scan: DisplaySummary, index: number) => {\n const prefixedMergedObjectiveId =\n props.scanProps.route.params[RouteParams.ROOT_META_DATA]\n .prefixedMergedObjectiveId;\n\n return (\n <Card\n key={scan.scanId}\n title={`#${scan.scanId}`}\n renderAdditionalHeader={() => {\n if (\n scan.prefixedMergedObjectiveId &&\n prefixedMergedObjectiveId !== scan.prefixedMergedObjectiveId\n )\n return (\n <AntDesign name=\"exclamationcircleo\" size={16} color=\"#EA580C\" />\n );\n else return <></>;\n }}\n Body={\n <View style={{ marginVertical: 10 }}>\n <Text style={styles.cardField}>\n <Text style={styles.cardFieldSubText}>Order ID:</Text>{' '}\n {scan.orderId}\n </Text>\n <Text style={styles.cardField}>\n <Text style={styles.cardFieldSubText}>Client Name:</Text>\n {scan.clientName}\n </Text>\n <Text style={styles.cardField}>\n <Text style={styles.cardFieldSubText}>Event:</Text>{' '}\n {scan.eventCode}\n </Text>\n <Text>\n <Text style={styles.cardFieldSubText}>Reason:</Text>\n {scan.reasonCode || ''}\n </Text>\n </View>\n }\n editConfig={{\n onEdit: (props: any) => {\n if (selectedItems && Object.keys(selectedItems).length > 1) {\n setSnackBar({\n show: true,\n message: 'Cannot Edit Multiple Items',\n type: SnackBarType.FAILURE,\n });\n } else {\n setSelectedItems({});\n setShowEditModal(true);\n setSelectedEditItem({ ...props, index });\n }\n },\n props: scan,\n }}\n selectConfig={{\n isSelected: selectedItems[scan.scanId] ? true : false,\n onSelect: (props: DisplaySummary) => {\n setSelectedItems((selectedItems) => {\n // Unselect\n if (selectedItems[props.scanId]) {\n const _selectedItems = { ...selectedItems };\n delete _selectedItems[props.scanId];\n return _selectedItems;\n } else {\n return {\n ...selectedItems,\n [props.scanId]: { ...props, index },\n };\n }\n });\n },\n props: scan,\n }}\n />\n );\n };\n\n const renderBody = (currentTab: string) => {\n return (\n <View style={{ flex: 1 }}>\n <View style={styles.searchBar}>\n <SearchBar\n searchText={searchText}\n setSearchText={setSearchText}\n placeholder=\"Shipment ID\"\n onChangeSearch={(searchText) => debouncedChangeSearch(searchText)}\n onClear={() => {\n setSearchQuery(() => {\n setIsSearchCleared(true);\n setSearchParams(INITIAL_SEARCH_PARAMS);\n return '';\n });\n }}\n />\n </View>\n {!isLoading && scanList && scanList.length > 0 ? (\n <RecyclerListView\n layoutProvider={_layoutProvider}\n dataProvider={dataProvider}\n rowRenderer={(type: any, scanData: any, index: number) =>\n rowRenderer(type, scanData, index)\n }\n onEndReached={async () => await onEndReached()}\n onEndReachedThreshold={0.5}\n renderFooter={() => {\n return (\n <>\n {isLoadingMore ? (\n <Text\n style={{\n padding: 10,\n fontWeight: 'bold',\n textAlign: 'center',\n }}\n >\n Loading\n </Text>\n ) : null}\n </>\n );\n }}\n />\n ) : null}\n {!isLoading && scanList.length === 0 ? (\n <View\n style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}\n >\n <FileIcon />\n <Text\n style={{\n color: '#3D445C',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_500Medium\n : 'IBMPlexSans-Medium',\n fontStyle: 'normal',\n fontWeight: '500',\n fontSize: 16,\n marginTop: 24,\n }}\n >{`You do not have any ${activeTab.toLowerCase()} shipments`}</Text>\n {activeTab === SummaryPageTabs.PENDING ? (\n <Text\n style={{\n color: '#525B7A',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontWeight: '400',\n fontSize: 14,\n }}\n >\n You can proceed to the next step now\n </Text>\n ) : null}\n </View>\n ) : null}\n </View>\n );\n };\n\n const renderTabItem = (tab: Tab) => {\n return (\n <View style={styles.tabItem}>\n <View style={styles.tabText}>\n <Text\n style={activeTab === tab.title ? { color: '#5B80F7' } : {}}\n >{`${tab.title}`}</Text>\n </View>\n <View\n style={\n activeTab !== tab.title\n ? styles.tabCount\n : [styles.tabCount, { backgroundColor: '#ECF0FF' }]\n }\n >\n <Text>{`${tab.count}`}</Text>\n </View>\n </View>\n );\n };\n // END: Summary List Handling\n\n return (\n <>\n {renderERCModal()}\n {renderUnscannedShipmentModal()}\n {renderEditERCModal()}\n {renderRemoveShipmentModal()}\n <View style={{ flex: 1 }}>\n <TabsComponent\n tabs={tabs}\n initialTab={tabs[1]}\n onTabChange={(currentTab: string) => {\n if (activeTab === currentTab) {\n return;\n }\n // @ts-ignore\n setActiveTab((activeTab) => {\n // RESET Search TEXT\n setSearchText('');\n setSearchQuery('');\n\n // RESET SEARCH PARAMS\n setSearchParams(INITIAL_SEARCH_PARAMS);\n\n // RESET SCAN LIST\n setScanList((scanList: any) => {\n const updatedScanList: any = [];\n setDataProvider((dataProvider) => {\n if (dataProvider)\n return dataProvider.cloneWithRows(updatedScanList);\n else return dataProvider;\n });\n return updatedScanList;\n });\n\n // RESET SELECTED ITEMS\n setSelectedItems({});\n\n return currentTab;\n });\n }}\n renderTabItem={renderTabItem}\n renderBody={renderBody}\n />\n </View>\n <View style={{ justifyContent: 'flex-end' }}>\n <SnackBarCustom\n type={snackBar.type}\n message={`${snackBar.message}`}\n visible={snackBar.show}\n onDismiss={() => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n }}\n customBottom={20}\n />\n </View>\n {!selectedItems || Object.keys(selectedItems).length === 0 ? (\n <View style={styles.bottomView}>{renderActionButtons()}</View>\n ) : null}\n {selectedItems &&\n Object.keys(selectedItems).length &&\n activeTab !== SummaryPageTabs.PENDING ? (\n <View style={styles.removeBtnContainer}>\n <View\n style={{\n flexDirection: 'row',\n alignItems: 'center',\n marginLeft: 10,\n }}\n >\n <TouchableOpacity\n onPress={() => setSelectedItems({})}\n style={styles.removeSelection}\n >\n <Entypo name=\"cross\" size={24} color=\"#3D445C\" />\n </TouchableOpacity>\n <Text>{`${Object.keys(selectedItems).length} Selected`}</Text>\n </View>\n <Button\n labelStyle={CommonStyles.mainExitButtonLabel}\n style={[CommonStyles.mainExitButton, styles.removeBtn]}\n onPress={() => {\n if (canRemove(selectedItems)) setShowRemoveShipmentModal(true);\n else {\n setSnackBar({\n show: true,\n message: 'Cannot Remove unscanned shipment(s)',\n type: SnackBarType.FAILURE,\n });\n }\n }}\n >\n Remove\n </Button>\n </View>\n ) : null}\n </>\n );\n};\n\nexport default SummaryPage;\n\nconst styles = StyleSheet.create({\n bottomView: {\n paddingBottom: 16,\n justifyContent: 'flex-end',\n marginVertical: 10,\n marginHorizontal: 16,\n },\n modalContent: {\n marginStart: 60,\n marginEnd: 60,\n flex: 1,\n marginBottom: 60,\n },\n modalView: {\n backgroundColor: 'white',\n padding: 15,\n borderRadius: 9,\n },\n titleText: {\n justifyContent: 'center',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_600SemiBold\n : 'IBMPlexSans-SemiBold',\n fontStyle: 'normal',\n fontSize: 14,\n lineHeight: 20,\n textAlign: 'center',\n color: '#111111',\n marginBottom: 10,\n },\n subText: {\n justifyContent: 'center',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n lineHeight: 20,\n textAlign: 'center',\n color: '#000000',\n marginBottom: 10,\n },\n bottomButtons: {\n justifyContent: 'space-between',\n flexDirection: 'row',\n marginTop: 8,\n },\n unscannedShipmentModalSubText: {\n justifyContent: 'center',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n lineHeight: 20,\n color: '#000000',\n marginBottom: 10,\n },\n tabItem: {\n // width: 200,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 5,\n marginHorizontal: 10,\n },\n activeTab: {\n borderBottomWidth: 2,\n borderBottomColor: 'blue',\n },\n tabText: {\n fontSize: 16,\n fontWeight: '400',\n color: '#3D445C',\n marginRight: 12,\n },\n tabCount: {\n borderRadius: 50,\n backgroundColor: '#E0E3EB',\n paddingHorizontal: 15,\n textAlign: 'center',\n },\n removeBtnContainer: {\n borderTopWidth: 1,\n borderTopColor: '#E0E3EB',\n padding: 10,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n removeSelection: {\n marginRight: 20,\n },\n removeBtn: {\n marginRight: 10,\n },\n searchBar: {\n marginTop: 16,\n },\n cardField: {\n marginBottom: 8,\n },\n cardFieldSubText: {\n color: '#A3AAC2',\n },\n});\n\nconst modalStyles = StyleSheet.create({\n primaryButtonStyles: {\n marginTop: 16,\n height: 40,\n borderRadius: 6,\n justifyContent: 'center',\n alignItems: 'center',\n },\n secondaryButtonStyles: {\n marginVertical: 16,\n height: 40,\n borderRadius: 6,\n justifyContent: 'center',\n alignItems: 'center',\n },\n subTitleStyles: { textAlign: 'center' },\n buttonStyles: {\n justifyContent: 'space-between',\n flexDirection: 'row-reverse',\n marginTop: 20,\n zIndex: -1,\n },\n editERCButton: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n height: 40,\n borderRadius: 6,\n },\n});\n\nfunction canRemove(scans: { [scanId: string]: DisplaySummary }): boolean {\n for (const scanId in scans) {\n const item = scans[scanId];\n if (item.eventCode && item.eventCode !== '--') continue;\n else return false;\n }\n return true;\n}\n"],"mappings":"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"}